From 510b43356f18aa5be351a0990c7cdc1d4478b5e7 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 09 七月 2025 14:27:00 +0800
Subject: [PATCH] 测试完成
---
src/views/knowledge/education/compilequer/index.vue | 991 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 676 insertions(+), 315 deletions(-)
diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index b48ef43..be12c5b 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -2,20 +2,28 @@
<div class="Questionnairemanagement">
<!-- 宸︿晶鏍� -->
<div class="sidecolumn">
- <div style="height: 200px">
- <el-steps direction="vertical" :active="Editprogress">
- <el-step title="鍩虹淇℃伅璁剧疆"></el-step>
- <el-step title="瀹f暀鍐呭"></el-step>
- </el-steps>
- </div>
+ <el-steps finish-status="success" :active="Editprogress" simple>
+ <el-step>
+ <template slot="title">
+ <span style="cursor: pointer" @click="Editprogress = 1"
+ >鍩虹淇℃伅璁剧疆</span
+ >
+ </template>
+ </el-step>
+ <el-step>
+ <template slot="title">
+ <span style="cursor: pointer" @click="Editprogress = 2"
+ >瀹f暀鍐呭</span
+ >
+ </template>
+ </el-step>
+ </el-steps>
</div>
<!-- 鍙充晶鏁版嵁 -->
<div class="leftvlue">
<!-- 鍩烘湰淇℃伅 -->
<div v-if="Editprogress == 1">
- <div class="leftvlue-jbxx">
- 鍩烘湰淇℃伅<span>褰撳墠鐗堟湰:{{ currentVersion }}</span>
- </div>
+ <div class="leftvlue-jbxx">鍩烘湰淇℃伅</div>
<el-form
:model="ruleForm"
:rules="rules"
@@ -25,50 +33,80 @@
>
<el-form-item label="瀹f暀鍒嗙被" prop="region">
<el-select
- v-model="ruleForm.classify"
+ v-model="ruleForm.assortid"
size="medium"
- multiple
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
- <el-option
- class="ruleFormaa"
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ <el-option-group
+ v-for="group in sortlist"
+ :key="group.id"
+ :label="group.assortname"
>
- </el-option>
+ <el-option
+ v-for="item in group.heLibraryAssortList"
+ :key="item.id"
+ :label="item.assortname"
+ :value="item.id"
+ >
+ </el-option>
+ </el-option-group>
</el-select>
</el-form-item>
- <el-form-item label="瀹f暀鏍囬" prop="name">
+ <el-row>
+ <el-col :span="12"> </el-col>
+ <el-col :span="12"> </el-col>
+ </el-row>
+ <el-form-item label="瀹f暀鏍囬" prop="preachname">
<div style="width: 30%">
- <el-input v-model="ruleForm.name"></el-input>
+ <el-input
+ v-model="ruleForm.preachname"
+ placeholder="璇疯緭鍏ユ爣棰�"
+ ></el-input>
+ </div>
+ </el-form-item>
+ <el-form-item label="瀹f暀鎻忚堪" prop="preachcontent">
+ <div style="width: 60%">
+ <el-input
+ type="textarea"
+ :rows="2"
+ v-model="ruleForm.preachcontent"
+ placeholder="璇疯緭鍏ユ弿杩�"
+ ></el-input>
</div>
</el-form-item>
<el-form-item label="閫氱煡鍙橀噺" prop="name">
- <el-row v-for="item in variablelist">
- <el-col :span="4">
- <el-input v-model="item.variable"></el-input>
- </el-col>
- <el-col :span="8" :offset="1">
- <el-input v-model="item.value"></el-input>
- </el-col>
- <el-col :span="4" :offset="1">
- <el-button
- type="success"
- icon="el-icon-plus"
- circle
- @click="addvariable(item)"
- ></el-button>
- <el-button
- type="danger"
- icon="el-icon-delete"
- circle
- @click="delvariable(item)"
- ></el-button>
- </el-col>
- </el-row>
+ <div style="margin-bottom: 5px" v-for="item in variablelist">
+ <el-row>
+ <el-col :span="5">
+ <el-input
+ v-model="item.variatename"
+ placeholder="璇疯緭鍏ュ彉閲忓悕"
+ ></el-input>
+ </el-col>
+ <el-col :span="8" :offset="1">
+ <el-input
+ v-model="item.variate"
+ placeholder="璇疯緭鍏ュ彉閲忓唴瀹�"
+ ></el-input>
+ </el-col>
+ <el-col :span="8" :offset="1">
+ <el-button
+ type="success"
+ icon="el-icon-plus"
+ circle
+ @click="addvariable(item)"
+ ></el-button>
+ <el-button
+ v-if="!item.default"
+ type="danger"
+ icon="el-icon-delete"
+ circle
+ @click="delvariable(item)"
+ ></el-button>
+ </el-col>
+ </el-row>
+ </div>
</el-form-item>
<el-form-item label="鏂囦欢" prop="sickness">
@@ -89,29 +127,33 @@
<el-form-item label="鏍囩" prop="desc">
<div class="xinz-inf">
<el-tag
- :key="tag"
+ :key="tag.tagname"
type="success"
v-for="tag in dynamicTags"
closable
:disable-transitions="false"
- @close="handleClose(tag)"
+ @close="handleClosetag(tag)"
>
- {{ tag }}
+ {{ tag.tagname }}
</el-tag>
<el-select
v-model="inputValue"
v-if="inputVisible"
@change="handleInputConfirm"
filterable
- allow-create
- default-first-option
+ remote
+ allow-create
+ reserve-keyword
+ default-first-option
+ :remote-method="remoteMethodtag"
+ :loading="loading"
placeholder="璇烽�夋嫨"
>
<el-option
v-for="item in optionstag"
- :key="item.tagname"
- :label="item.tagname"
- :value="item.tagname"
+ :key="item.tagid"
+ :label="item.tagname"
+ :value="item.tagname"
>
</el-option>
</el-select>
@@ -127,31 +169,26 @@
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="鐗堟湰鍙�" prop="name">
- <el-input v-model="currentVersion"></el-input> </el-form-item
+ <el-input
+ v-model="ruleForm.version"
+ placeholder="榛樿1.0.1"
+ ></el-input> </el-form-item
></el-col>
<el-col :span="9">
<el-form-item label="鍙敤鐘舵��" prop="region">
- <el-select
- v-model="ruleForm.classify"
- size="medium"
- multiple
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
- >
- <el-option
- class="ruleFormaa"
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
+ <el-radio-group v-model="ruleForm.isAvailable">
+ <el-radio
+ v-for="(item, index) in usable"
+ :label="item.value"
+ >{{ item.label }}</el-radio
>
- </el-option>
- </el-select> </el-form-item
- ></el-col>
+ </el-radio-group>
+ </el-form-item></el-col
+ >
</el-row>
<el-form-item label="瀹f暀鏂瑰紡" prop="region">
<el-select
- v-model="ruleForm.way"
+ v-model="ruleForm.suitway"
size="medium"
multiple
filterable
@@ -159,17 +196,22 @@
>
<el-option
class="ruleFormaa"
- v-for="item in xjxsoptions"
- :key="item.value"
+ v-for="item in mode"
+ :key="item.label"
:label="item.label"
- :value="item.value"
+ :value="item.label"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="閫傜敤鐤剧梾" prop="region">
+ <el-button type="warning" @click="$refs.child.handleAddpatient()"
+ >娣诲姞鐤剧梾</el-button
+ >
+ </el-form-item>
+ <el-form-item label="閫傜敤闄㈠尯" prop="region">
<el-select
- v-model="ruleForm.illness"
+ v-model="ruleForm.campus"
size="medium"
multiple
filterable
@@ -177,24 +219,7 @@
>
<el-option
class="ruleFormaa"
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
- <el-form-item label="浣跨敤闄㈠尯" prop="region">
- <el-select
- v-model="ruleForm.courtyard"
- size="medium"
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
- >
- <el-option
- class="ruleFormaa"
- v-for="item in options"
+ v-for="item in courtyardlist"
:key="item.value"
:label="item.label"
:value="item.value"
@@ -203,52 +228,36 @@
</el-select>
</el-form-item>
<el-form-item label="閫傜敤绉戝" prop="region">
- <el-select
- v-model="ruleForm.administrative"
- size="medium"
- multiple
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
+ <el-cascader
+ v-model="tempDetpRelevanceslist"
+ :options="deptList"
+ :props="props"
+ :show-all-levels="false"
+ clearable
>
- <el-option
- class="ruleFormaa"
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
+ <template slot-scope="{ node, data }">
+ <span>{{ data.deptName }}</span>
+ <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
+ </template>
+ </el-cascader>
</el-form-item>
<el-form-item>
<el-button type="success" @click="nextstep('ruleForm')"
>涓嬩竴姝�</el-button
>
- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
- <el-button type="info" @click="closeFm('ruleForm')"
- >鍏抽棴</el-button
- >
+ <el-button type="success" @click="Departmenttreatment('ruleForm')"
+ >淇濆瓨</el-button
+ >
+ <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
</el-form-item>
</el-form>
</div>
<!-- 瀹f暀鍐呭 -->
<div v-if="Editprogress == 2">
<el-row :gutter="20">
- <el-col :span="4"><div class="leftvlue-jbxx">瀹f暀鍐呭</div></el-col>
- <el-col :span="12">
- <div>
- <el-button @click="laststep('ruleForm')">涓婁竴姝�</el-button>
- <el-button type="success" @click="submitForm('ruleForm')"
- >淇濆瓨</el-button
- >
- <el-button type="warning" @click="submitForm('ruleForm')"
- >鍙﹀瓨鏂扮増鏈�</el-button
- >
- <el-button type="info" @click="closeFm('ruleForm')"
- >鍏抽棴</el-button
- >
- </div></el-col
- >
+ <el-col :span="4">
+ <div class="leftvlue-jbxx">瀹f暀鍐呭</div>
+ </el-col>
</el-row>
<div>
@@ -259,20 +268,55 @@
label-width="100px"
class="demo-ruleForm"
>
- <el-form-item label="璧勬枡褰㈠紡" prop="region">
- <el-select v-model="ruleForm.shape" placeholder="璇烽�夋嫨鍐呭褰㈠紡">
- <el-option
- v-for="item in xjxsoptions"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- >
- </el-option>
- </el-select>
- </el-form-item>
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <el-form-item label="璧勬枡褰㈠紡" prop="region">
+ <el-select
+ v-model="ruleForm.shape"
+ placeholder="璇烽�夋嫨鍐呭褰㈠紡"
+ >
+ <el-option
+ v-for="item in xjxsoptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <div>
+ <el-button @click="laststep('ruleForm')">涓婁竴姝�</el-button>
+ <el-button
+ type="success"
+ @click="Departmenttreatment('ruleForm')"
+ >淇濆瓨</el-button
+ >
+ <el-button
+ type="warning"
+ @click="Departmenttreatment('ruleForm')"
+ >鍙﹀瓨鏂扮増鏈�</el-button
+ >
+ <el-button type="info" @click="closeFm('ruleForm')"
+ >鍏抽棴</el-button
+ >
+ </div>
+ </el-col>
+ </el-row>
</el-form>
</div>
<div>
+ <el-upload
+ class="upload-demo"
+ :action="uploadImgUrlword"
+ :on-success="uploadEditorSuccessword"
+ :on-error="uploadEditorErrorword"
+ :before-upload="beforeEditorUploadword"
+ :headers="headers"
+ >
+ <el-button size="small" type="primary">word鏂囦欢涓婁紶</el-button>
+ </el-upload>
<div id="quillEditorQiniu">
<!-- 鍩轰簬elementUi鐨勪笂浼犵粍浠� el-upload begin-->
<el-upload
@@ -292,21 +336,52 @@
v-model="content"
ref="customQuillEditor"
:options="editorOption"
+ @blur="onEditorBlur"
+ @focus="onEditorFocus"
+ @change="onEditorChange"
>
</quill-editor>
</div>
</div>
</div>
</div>
+ <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 -->
+ <Optional-Form
+ ref="child"
+ :dialogVisiblepatient="dialogVisiblepatient"
+ :overallCase="illnesslist"
+ @addoption="dialogVisiblepatient = false"
+ @kkoption="dialogVisiblepatient = true"
+ />
</div>
</template>
<script>
import { quillEditor } from "vue-quill-editor";
+import axios from "axios";
+
+import {
+ getheLibraryAssort,
+ delheLibraryAssort,
+ addheLibraryAssort,
+ addtargetillness,
+ getlibrarylist,
+ dellibraryinfo,
+ deltargetillness,
+ compilelibrary,
+ addrichText,
+ getlibraryinfo,
+ getillnesslist,
+ illnesslistget,
+ getillness,
+} from "@/api/AiCentre/index";
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
+
+import { listDept } from "@/api/system/dept";
// import * as Quill from "quill";
import Quill from "quill";
import { listtag } from "@/api/system/label";
-
+import store from "@/store";
// 杩欓噷寮曞叆淇敼杩囩殑video妯″潡骞舵敞鍐�
import Video from "./video";
@@ -335,12 +410,15 @@
];
export default {
+ name: "aEducationinfo",
+ components: { OptionalForm },
data() {
return {
headers: {
Authorization: "Bearer " + getToken(),
},
- uploadImgUrl: "/v1/admin/common/upload",
+ uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort",
+ uploadImgUrlword: process.env.VUE_APP_BASE_API + "/common/uploadShow",
uploadUrlPath: "娌℃湁鏂囦欢涓婁紶",
quillUpdateImg: false,
fileList: [
@@ -353,9 +431,12 @@
url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
},
],
- content: "", //鏈�缁堜繚瀛樼殑鍐呭
- dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"],
+ content: `<p>娴嬭瘯</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://218.108.11.22:8093/profile-api/upload/vadio/钀ュ吇娉垫搷浣滆鑼�.mp4"></video><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://218.108.11.22:8093/profile-api/upload/vadio/娉ㄥ皠鍣ㄦ帹娉�.mp4"></video><p>321</p>"`, //鏈�缁堜繚瀛樼殑鍐呭
+ fileName: "", //鏂囦欢鍚�
+ dynamicTags: [],
inputVisible: false,
+ illnessVisible: false,
+ dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛
inputValue: "",
// 瀵屾枃鏈�
editorOption: {
@@ -405,88 +486,48 @@
radioas: "", //濉┖棰樼瓟妗�
// 鎬绘潯鏁�
total: 1,
+ hetype: "",
+ id: null,
ruleForm: {
- name: "",
- shape: "",
- classify: "",
- region: "",
- date1: "",
- date2: "",
- delivery: false,
- type: [],
- resource: "",
- desc: "",
- templatevalue: "",
- data2: "",
+ campus: [],
+ heLibraryTagList: [],
+ tempDetpRelevances: [],
+ version: "1.0.1",
},
rules: {},
- rulesa: {
- name: [
- { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" },
- { min: 3, max: 5, message: "闀垮害鍦� 3 鍒� 5 涓瓧绗�", trigger: "blur" },
- ],
- region: [
- { required: true, message: "璇烽�夋嫨娲诲姩鍖哄煙", trigger: "change" },
- ],
- date1: [
- {
- type: "date",
- required: true,
- message: "璇烽�夋嫨鏃ユ湡",
- trigger: "change",
- },
- ],
- date2: [
- {
- type: "date",
- required: true,
- message: "璇烽�夋嫨鏃堕棿",
- trigger: "change",
- },
- ],
- type: [
- {
- type: "array",
- required: true,
- message: "璇疯嚦灏戦�夋嫨涓�涓椿鍔ㄦ�ц川",
- trigger: "change",
- },
- ],
- resource: [
- { required: true, message: "璇烽�夋嫨娲诲姩璧勬簮", trigger: "change" },
- ],
- desc: [{ required: true, message: "璇峰~鍐欐椿鍔ㄥ舰寮�", trigger: "blur" }],
- },
- options: [
- {
- value: "閫夐」1",
- label: "鐤剧梾瀹f暀",
- },
- {
- value: "閫夐」2",
- label: "鍏ラ櫌瀹f暀",
- },
- {
- value: "閫夐」3",
- label: "鎵嬫湳瀹f暀",
- },
- {
- value: "閫夐」4",
- label: "鎶ょ悊瀹f暀",
- },
- ],
- optionstag:[],
+ rulesa: {},
+ mode: [],
+ editableTabs: [],
+ sortlist: [],
+ usable: [],
+ courtyardlist: [],
+ precedencetype: [],
+ optionsillness: [],
+ illnesslistapi: [],
+ illnesslist: [],
+ options: [],
+ optionstag: [],
+ deptList: [],
+ tempDetpRelevanceslist: [],
+ props: { multiple: true, value: "deptId", label: "deptName" },
+ // 鍐呯綉鐨勯儴鍒嗭紙鏂囦欢锛�
+ oldPattern: "http://192.168.191.181:8095/profile/upload",
+ // 鍐呯綉鐨勯儴鍒嗭紙鏂囦欢锛�
+ oldPatternhtml: "/http:\/\/192\.168\.191\.181:8095\/profile\/upload\//g",
+ // 澶栫綉閮ㄥ垎锛堟枃浠讹級
+ newPattern: "http://218.108.11.22:8093/profile-api/upload",
+
xjxsoptions: [
{
- value: "閫夐」1",
+ value: "1",
label: "鍥炬枃",
},
{
- value: "閫夐」2",
+ value: "2",
label: "瑙嗛",
},
{
- value: "閫夐」3",
+ value: "3",
label: "闊抽",
},
],
@@ -498,68 +539,214 @@
},
],
addvalue: "娣诲姞棰樼洰",
- // 棰樼洰琛ㄦ牸鏁版嵁
- userList: [
- {
- userid: "1",
- userName: "涓�鍙峰鏁�",
- },
- {
- userid: "2",
- userName: "浜屽彿瀹f暀",
- },
- {
- userid: "3",
- userName: "涓夊彿瀹f暀",
- },
- {
- userid: "4",
- userName: "鍥涘彿瀹f暀",
- },
- ],
+
variablelist: [
- {
- variable: "paitent",
- value: "琛ㄧず鎮h�呯殑鏍囪瘑",
- },
+ { variatename: "濮撳悕", variate: "${name}", default: 1 },
+ { variatename: "鐢佃瘽", variate: "${phone}", default: 1 },
+ { variatename: "鐥呮儏", variate: "${illness}", default: 1 },
],
// 鏌ヨ鍙傛暟
queryParams: {
pageNum: 1,
pageSize: 10,
- userName: undefined,
- phonenumber: undefined,
- status: undefined,
- deptId: undefined,
- IDnumber: undefined,
},
};
+ },
+ activated() {
+ if (this.id != this.$route.query.id) {
+ this.gettabList();
+ this.getList();
+ this.illnessUpdate();
+ }
},
created() {
this.gettabList();
+ this.getList();
+ this.illnessUpdate();
+ this.mode = store.getters.mode;
+ this.editableTabs = store.getters.editableTabs;
+ this.usable = store.getters.usable;
+ this.precedencetype = store.getters.precedencetype;
+ this.courtyardlist = store.getters.courtyardlist;
},
watch: {
content(newVal, oldVal) {
//this.$emit('input', newVal);
- console.log(newVal);
- console.log(oldVal);
+ console.log(newVal, "A");
+ console.log(oldVal, "B");
},
},
methods: {
- // 瀹屾垚
- submitForm(formName) {
- this.rules = this.rulesa;
- // 鎻愪氦
- this.$refs[formName].validate((valid) => {
- if (valid) {
- alert("submit!");
- } else {
- console.log("error submit!!");
- return false;
+ processElement(element) {
+ return { ...element, isoperation: null };
+ },
+ // 鑾峰彇椤甸潰鏁版嵁
+ getList() {
+ this.loading = true;
+ this.id = this.$route.query.id;
+ this.hetype = this.$route.query.hetype;
+ if (this.id) {
+ getlibraryinfo({ id: this.id }).then((res) => {
+ this.ruleForm = res.data[0];
+ if (this.ruleForm.campus)
+ this.ruleForm.campus = this.ruleForm.campus.split(",");
+ this.dynamicTags = res.data[0].heLibraryTagList.map(
+ this.processElement
+ );
+ if (this.ruleForm.htmlRichText) {
+ this.Getmissioncontent(this.ruleForm.htmlRichText);
+ }
+ if (this.ruleForm.deptNames) {
+ this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
+ }
+ if (this.ruleForm.suitway) {
+ this.ruleForm.suitway = this.ruleForm.suitway.split(",");
+ }
+ this.variablelist = this.ruleForm.otherdata
+ ? JSON.parse(this.ruleForm.otherdata)
+ : this.variablelist;
+ });
+ }
+ // 瀹f暀鍒嗙被
+ getheLibraryAssort({}).then((res) => {
+ this.sortlist = res.rows;
+ console.log(this.sortlist);
+ });
+ // 閮ㄩ棬
+ listDept(this.queryParams).then((response) => {
+ this.deptList = this.handleTree(response.data, "deptId");
+ });
+
+ // ------------------
+
+ // let html =
+ // '<p>娴嬭瘯</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://192.168.191.181:8095/profile/upload/vadio/钀ュ吇娉典粙缁�.mp4"></video><p>娴嬭瘯111</p><video class="ql-video" controls="controls" controlslist="nofullscreen" type="video/mp4" style="object-fit:fill;width: 100%;" preload="auto" playsinline="true" x-webkit-airplay="allow" x5-video-orientation="portraint" x5-playsinline="true" x5-video-player-fullscreen="true" src="http://192.168.191.181:8095/profile/upload/vadio/娉ㄥ皠鍣ㄦ帹娉�.mp4"></video><p><br></p>';
+ // // html = html.parserdom(this.oldPattern, this.newPattern);
+ // html = this.parserdom(html);
+ // console.log(html, "html");
+
+ // this.loading = false;
+ },
+ // parser
+ parserdom(html) {
+ // 鍒涘缓涓�涓柊鐨凞OM瑙f瀽鍣�
+ var parser = new DOMParser();
+ // 灏嗗瓧绗︿覆瑙f瀽涓烘枃妗e璞�
+ var doc = parser.parseFromString(html, "text/html");
+
+ // 瀹氫箟瑕佹浛鎹㈢殑鏂版棫URL
+ var oldUrlBase = "http://192.168.191.181:8095/profile/upload";
+ var newUrlBase = "http://218.108.11.22:8093/profile-api/upload";
+
+ // 鑾峰彇鎵�鏈夌殑video鍏冪礌
+ var videos = doc.querySelectorAll("video");
+
+ // 閬嶅巻鎵�鏈夌殑video鍏冪礌骞舵浛鎹rc灞炴��
+ videos.forEach(function (video) {
+ var src = video.getAttribute("src");
+ if (src.startsWith(oldUrlBase)) {
+ video.setAttribute("src", src.replace(oldUrlBase, newUrlBase));
}
});
+
+ // 灏嗕慨鏀瑰悗鐨勬枃妗h浆鎹㈠洖瀛楃涓�
+ var newContent = doc.body.innerHTML;
+ return newContent;
+ },
+ submitForm(formName) {
+ let tgs = [];
+ this.dynamicTags.forEach((item) => {
+ tgs.push(item.tagname);
+ });
+ if (this.ruleForm.campus) {
+ this.ruleForm.campus = this.ruleForm.campus.join(",");
+ }
+ this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : "";
+ this.ruleForm.otherdata = JSON.stringify(this.variablelist);
+ this.ruleForm.hetype = 1;
+ console.log(22);
+ this.ruleForm.suitway =
+ this.ruleForm.suitway.length != 0
+ ? this.ruleForm.suitway.join(",")
+ : "";
+
+ addrichText({
+ content: this.parserdom(this.content),
+ fileName: this.generateRandomHtmlFilename(),
+ }).then((res) => {
+ this.ruleForm.richText = res.msg;
+ console.log(this.ruleForm.richText, "this.ruleForm.richText");
+ // 澶勭悊鍐呯綉html
+ addrichText({
+ content: this.content,
+ fileName: this.generateRandomHtmlFilename(),
+ }).then((resf) => {
+ this.ruleForm.htmlRichText = resf.msg.replace(
+ this.newPattern,
+ this.oldPattern
+ );
+ console.log(this.ruleForm.htmlRichText, "this.ruleForm.htmlRichText");
+
+ if (this.id) {
+ this.ruleForm.isoperation = 2;
+ compilelibrary(this.ruleForm).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("缂栬緫鎴愬姛");
+ this.confirmillness();
+ this.$router.go(-1);
+ }
+ });
+ } else {
+ this.ruleForm.isoperation = 1;
+ compilelibrary(this.ruleForm).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.confirmillness(res.data);
+ this.$router.go(-1);
+ }
+ });
+ }
+ });
+ });
+ },
+
+ generateRandomHtmlFilename() {
+ // 鐢熸垚涓�涓�0鍒�1涔嬮棿鐨勯殢鏈烘暟锛屽苟灏嗗叾杞崲涓哄瓧绗︿覆
+ let randomNumber = Math.random().toString();
+ // 绉婚櫎鍓嶉潰鐨�0鍜屽皬鏁扮偣
+ randomNumber = randomNumber.substring(6);
+ // 纭繚鐢熸垚鐨勯殢鏈烘暟鏄竴瀹氶暱搴︾殑锛屼緥濡�8浣�
+ while (randomNumber.length < 8) {
+ randomNumber = "0" + randomNumber;
+ }
+ // 鎷兼帴涓�.html鍚庣紑
+ return randomNumber + ".html";
+ },
+
+ // 淇濆瓨鐤剧梾
+ confirmillness(guid) {
+ this.illnesslist.forEach((item, index) => {
+ if (guid) {
+ item.outid = guid;
+ } else {
+ console.log(this.ruleForm);
+ item.outid = this.ruleForm.id;
+ }
+ item.icd10name = item.icdname;
+ item.icd10code = item.icdcode;
+ item.type = 6;
+ if (!item.id) {
+ addtargetillness(item).then((res) => {});
+ }
+ });
+ this.illnessVisible = false;
+ this.$modal.msgSuccess("缂栬緫鎴愬姛");
+ },
+ getFileNameFromPath(path) {
+ const parts = path.split("/");
+ return parts[parts.length - 1];
},
// 涓嬩竴姝�
nextstep() {
@@ -572,53 +759,63 @@
this.Editprogress = this.Editprogress - 1;
},
// 鍏抽棴
- closeFm(){
- this.$confirm('閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?', '鎻愮ず', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- }).then(() => {
- this.$router.go(-1)
- }).catch(() => {
+ closeFm() {
+ this.$confirm("閫�鍑轰笉浼氫繚鐣欓〉闈㈠唴瀹规洿鏀�, 鏄惁缁х画?", "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ this.$router.go(-1);
+ })
+ .catch(() => {
this.$message({
- type: 'info',
- message: '宸插彇娑�'
- });
+ type: "info",
+ message: "宸插彇娑�",
+ });
});
},
+ // 绉戝澶勭悊
+ Departmenttreatment() {
+ this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist);
+ const result = this.tempDetpRelevanceslist.map(
+ (subArr) => subArr[subArr.length - 1]
+ );
+ // id鏁扮粍鏌ユ暟缁勫璞�
+ result.forEach((item) => {
+ const condition = this.ruleForm.tempDetpRelevances.some(
+ (obj) => obj.deptId === item
+ );
+ if (!condition) {
+ listDept({ deptId: item }).then((res) => {
+ console.log("dept");
+ res.data[0].type = 2;
+ this.ruleForm.tempDetpRelevances.push(res.data[0]);
+ });
+ }
+ });
+ // 鏁扮粍瀵硅薄鏌d鏁扮粍
+ this.ruleForm.tempDetpRelevances.forEach((item) => {
+ const condition = result.some((obj) => obj === item.deptId);
+ if (!condition) {
+ const index = this.ruleForm.tempDetpRelevances.indexOf(item);
+ this.ruleForm.tempDetpRelevances[index].delFlag = 1;
+ }
+ });
+ setTimeout(() => {
+ this.submitForm();
+ }, 1000);
+ // this.submitForm();
+ },
// 淇濆瓨棰樼洰淇℃伅
- Saveproblem(){},
+ Saveproblem() {},
/** 鏌ヨ棰樼洰鍒楄〃 */
- getList() {
- // this.loading = true;
- listUser().then((response) => {
- console.log(response);
- // this.userList = response.data;
- // this.total = response.total;
- // this.loading = false;
- console.log(this.userList);
- });
- // const { rows } = await listUser();
- // console.log(rows);
- // this.list = rows;
- },
- /** 鏌ヨ鏍囩鍒楄〃 */
- gettabList() {
- const tagqueryParams = {
- pageNum: 1,
- pageSize: 1000,
- tagcategoryid: "0",
- };
- listtag(tagqueryParams).then((response) => {
- console.log(response);
- this.optionstag = response.rows;
- });
- },
+
// 鏂板鍙橀噺
addvariable() {
this.variablelist.push({
- variable: "",
- value: "",
+ variatename: "",
+ variate: "",
});
},
// 鍒犻櫎鍙橀噺
@@ -635,27 +832,82 @@
this.fileList = fileList.slice(-3);
},
// 鏍囩-----------------
- handleClose(tag) {
+ gettabList() {
+ const tagqueryParams = {
+ pageNum: 1,
+ pageSize: 1000,
+ tagcategoryid: "0",
+ };
+ listtag(tagqueryParams).then((response) => {
+ this.optionstag = response.rows;
+ });
+ },
+ handleClosetag(tag) {
+ console.log(tag);
+ const lindex = this.ruleForm.heLibraryTagList.findIndex(
+ (item) => item.tagname == tag.tagname
+ );
+ console.log(lindex);
this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+ this.ruleForm.heLibraryTagList[lindex].isoperation = 3;
},
handleInputConfirm() {
- let inputValue = this.inputValue;
- if (inputValue) {
- this.dynamicTags.push(inputValue);
+ let tagvalue = {};
+ let tagname = this.inputValue;
+ if (tagname) {
+ listtag({
+ pageNum: 1,
+ pageSize: 1000,
+ tagcategoryid: "0",
+ tagname: tagname,
+ }).then((res) => {
+ if (res.rows[0]) {
+ tagvalue = res.rows[0];
+ tagvalue.isoperation = 1;
+ } else {
+ tagvalue = {
+ tagname: tagname,
+ isoperation: 1,
+ };
+ }
+ this.ruleForm.heLibraryTagList.push(tagvalue);
+ this.dynamicTags.push(tagvalue);
+ });
}
this.inputVisible = false;
this.inputValue = "";
},
+ remoteMethodtag(query) {
+ if (query !== "") {
+ this.loading = true;
+ setTimeout(() => {
+ this.loading = false;
+ listtag({ tagname: query, tagcategoryid: "0" }).then((res) => {
+ this.optionstag = res.rows;
+ });
+ }, 200);
+ } else {
+ this.optionstag = [];
+ }
+ },
showInput() {
this.inputVisible = true;
- // 鑷姩鑾峰彇鐒︾偣
- // this.$nextTick((_) => {
- // this.$refs.saveTagInput.$refs.input.focus();
- // });
},
+ // 鐤剧梾-----------------------
+ illnessUpdate() {
+ if (this.id) {
+ getillness({ outid: this.$route.query.id, type: 6 }).then((res) => {
+ this.illnesslist = res.rows;
+ this.illnesslist.forEach((item) => {
+ item.icdname = item.icd10name;
+ });
+ });
+ }
+ },
+
// --------------------------
- // 棰勮妯$増
+ // 棰勮妯℃澘
PreviewTemplate() {
this.drawer = true;
},
@@ -676,18 +928,22 @@
// 涓婁紶鍥剧墖鎴愬姛
uploadEditorSuccess(res, file) {
console.log("涓婁紶鎴愬姛");
- // this.$emit('upload',res, file)
- console.log(res, file);
//鎷兼帴鍑轰笂浼犵殑鍥剧墖鍦ㄦ湇鍔″櫒鐨勫畬鏁村湴鍧�
- let imgUrl = res.data.url;
+ let imgUrl = res.url;
+ console.log(res.url);
+
+ imgUrl = imgUrl.replace(this.newPattern, this.oldPattern);
+ console.log(imgUrl, "imgUrl");
+
let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1);
- console.log(type);
+ this.fileName = this.getFileNameFromPath(res.url);
+
// 鑾峰彇瀵屾枃鏈粍浠跺疄渚�
let quill = this.$refs.customQuillEditor.quill;
// 鑾峰彇鍏夋爣鎵�鍦ㄤ綅缃�
let length = quill.getSelection().index;
// 鎻掑叆鍥剧墖||瑙嗛 res.info涓烘湇鍔″櫒杩斿洖鐨勫浘鐗囧湴鍧�
- if (type == "mp4" || type == "MP4") {
+ if (type == "mp4" || type == "MP4"|| type == "avi"|| type == "AVI") {
window.jsValue = imgUrl;
quill.insertEmbed(length, "video", imgUrl);
} else {
@@ -698,10 +954,22 @@
//鍙栨秷涓婁紶鍔ㄧ敾
this.quillUpdateImg = false;
},
+ // 澶卞幓鐒︾偣浜嬩欢
+ onEditorBlur(e) {
+ console.log("onEditorBlur: ", e);
+ },
+ // 鑾峰緱鐒︾偣浜嬩欢
+ onEditorFocus(e) {
+ console.log("onEditorFocus: ", e);
+ },
+ // 鍐呭鏀瑰彉浜嬩欢
+ onEditorChange(e) {
+ console.log("onEditorChange: ", e);
+ },
// 涓婁紶(鏂囦欢)鍥剧墖澶辫触
uploadEditorError(res, file) {
- console.log(res);
- console.log(file);
+ console.log(res, "word");
+ console.log(file, "word");
//椤甸潰鎻愮ず
this.$message.error("涓婁紶鍥剧墖澶辫触");
//鍙栨秷涓婁紶鍔ㄧ敾
@@ -711,53 +979,110 @@
uploadResult: function (res) {
this.uploadUrlPath = res;
},
+ // 涓婁紶(鏂囦欢)鍥剧墖澶辫触
+ uploadEditorErrorword(res, file) {
+ console.log(res);
+ console.log(file);
+ //椤甸潰鎻愮ず
+ this.$message.error("涓婁紶鍥剧墖澶辫触");
+ //鍙栨秷涓婁紶鍔ㄧ敾
+ this.quillUpdateImg = false;
+ },
+ //涓婁紶鍥剧墖涔嬪墠async
+ beforeEditorUploadword(res, file) {
+ //鏄剧ず涓婁紶鍔ㄧ敾
+ this.quillUpdateImg = true;
+ // const res1 = await uploadImage()
+ // console.log(res1,'=====');
+ // this.$emit('before',res, file)
+ console.log(res);
+ console.log(file);
+ },
+ // 涓婁紶word鎴愬姛
+ uploadEditorSuccessword(res, file) {
+ console.log("涓婁紶word鏂囦欢鎴愬姛");
+ console.log(res, file, "word");
+ let fileurl = res.url.replace(this.newPattern, this.oldPattern);
+ axios
+ .get(fileurl)
+ .then((response) => {
+ console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭
+ this.$nextTick(() => {
+ this.content = response.data;
+ });
+ this.fileName = this.getFileNameFromPath(response.url);
+ console.log(this.fileName, "this.fileName");
+ })
+ .catch((error) => {
+ console.error("Failed to fetch file:", error);
+ });
+ },
+ Getmissioncontent(url) {
+ axios
+ .get(url)
+ .then((response) => {
+ console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭
+ this.content = response.data;
+ this.fileName = this.getFileNameFromPath(response.url);
+ console.log(this.fileName, "this.fileName");
+ })
+ .catch((error) => {
+ console.error("Failed to fetch file:", error);
+ });
+ },
+ // 澶勭悊url
},
};
</script>
<style lang="scss" scoped>
.Questionnairemanagement {
- display: flex;
+ // display: flex;
}
+
.sidecolumn {
- width: 300px;
- min-height: 100vh;
- text-align: center;
+ // width: 300px;
+ // min-height: 100vh;
+ // text-align: center;
// display: flex;
// margin-top: 20px;
margin: 20px;
margin-bottom: 0;
- padding: 30px;
+ padding: 20px;
background: #edf1f7;
border: 1px solid #dcdfe6;
-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
0 0 6px 0 rgba(0, 0, 0, 0.04);
}
+
.leftvlue {
// display: flex;
// flex: 1;
- width: 80%;
- margin-top: 20px;
- // margin: 20px;
+ margin: 20px;
padding: 30px;
background: #ffff;
border: 1px solid #dcdfe6;
-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
0 0 6px 0 rgba(0, 0, 0, 0.04);
+
.mulsz {
font-size: 20px;
}
+
.leftvlue-jbxx {
margin-bottom: 50px;
font-size: 20px;
+
span {
position: absolute;
right: 80px;
}
}
+
.demo-cascader {
margin-right: 20px;
}
+
.PreviewTemplate {
color: #02a7f0;
cursor: pointer;
@@ -765,6 +1090,7 @@
margin: 0 20px;
}
}
+
.xinz-inf {
font-size: 18px;
white-space: nowrap;
@@ -776,6 +1102,7 @@
.el-tag + .el-tag {
margin-left: 10px;
}
+
.button-new-tag {
margin-left: 10px;
height: 32px;
@@ -783,12 +1110,14 @@
padding-top: 0;
padding-bottom: 0;
}
+
.input-new-tag {
width: 90px;
margin-left: 10px;
vertical-align: bottom;
}
}
+
.preview-left {
margin: 20px;
// margin: 20px;
@@ -797,41 +1126,51 @@
border: 1px solid #dcdfe6;
-webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
0 0 6px 0 rgba(0, 0, 0, 0.04);
+
.topic-dev {
margin-bottom: 25px;
font-size: 20px !important;
+
.dev-text {
margin-bottom: 10px;
}
}
}
+
.addtopic {
margin-top: 30px;
}
+
.presentation {
margin: 20px 0;
display: flex;
+
.presentation-left {
width: 50%;
height: 500px;
+
.button-textxg {
color: #024df0;
}
+
.button-textsc {
color: #f52727;
}
}
+
.presentation-right {
width: 50%;
height: 500px;
padding: 20px;
font-size: 18px;
border: 1px solid #909091;
+
span {
padding: 0 35px;
margin-right: 10px;
border-bottom: 1px solid #909091;
}
+
.headline {
font-size: 20px;
border-left: 3px solid #41a1be;
@@ -840,6 +1179,7 @@
}
}
}
+
::v-deep .addtopic-input {
input {
background: #02a7f0;
@@ -847,25 +1187,31 @@
width: 150px;
}
}
+
::v-deep.el-step.is-vertical .el-step__title {
font-size: 25px;
}
+
::v-deep.el-input--medium {
font-size: 18px !important;
}
+
::v-deep.ruleFormaa.el-select {
display: inline-block;
position: relative;
width: 700px;
}
+
.el-select__tags {
font-size: 20px;
max-width: 888px !important;
}
+
::v-deep.el-radio__inner {
width: 22px;
height: 22px;
}
+
// ::v-deep.topic-dev.el-radio__label {
// font-size: 24px;
// }
@@ -874,19 +1220,23 @@
font-size: 24px;
}
}
+
::v-deep.el-checkbox-group {
span {
font-size: 24px;
}
}
+
.editor {
line-height: normal !important;
- height: 400px;
- margin-bottom: 50px;
+ height: 600px;
+ margin-bottom: 80px;
}
+
.ql-snow .ql-tooltip[data-mode="link"]::before {
content: "璇疯緭鍏ラ摼鎺ュ湴鍧�:";
}
+
.ql-snow .ql-tooltip.ql-editing a.ql-action::after {
border-right: 0px;
content: "淇濆瓨";
@@ -901,14 +1251,17 @@
.ql-snow .ql-picker.ql-size .ql-picker-item::before {
content: "14px";
}
+
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before {
content: "10px";
}
+
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before {
content: "18px";
}
+
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before {
content: "32px";
@@ -918,26 +1271,32 @@
.ql-snow .ql-picker.ql-header .ql-picker-item::before {
content: "鏂囨湰";
}
+
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before {
content: "鏍囬1";
}
+
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before {
content: "鏍囬2";
}
+
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before {
content: "鏍囬3";
}
+
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before {
content: "鏍囬4";
}
+
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before {
content: "鏍囬5";
}
+
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before {
content: "鏍囬6";
@@ -947,10 +1306,12 @@
.ql-snow .ql-picker.ql-font .ql-picker-item::before {
content: "鏍囧噯瀛椾綋";
}
+
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before {
content: "琛嚎瀛椾綋";
}
+
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before {
content: "绛夊瀛椾綋";
--
Gitblit v1.9.3