From 31cbe57809438eb27c4ee8e6b432efef706c7bd8 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 16 六月 2025 14:48:50 +0800
Subject: [PATCH] 测试完成
---
src/views/knowledge/education/compilequer/index.vue | 818 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 550 insertions(+), 268 deletions(-)
diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index 8ec30df..be12c5b 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -2,12 +2,22 @@
<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">
@@ -23,54 +33,80 @@
>
<el-form-item label="瀹f暀鍒嗙被" prop="region">
<el-select
- v-model="ruleForm.groupID"
+ v-model="ruleForm.assortid"
size="medium"
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
- <el-option
- class="ruleFormaa"
- v-for="item in sortlist"
- :key="item.id"
- :label="item.assortname"
- :value="item.id"
+ <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="extName">
+ <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.extName"></el-input>
+ <el-input
+ v-model="ruleForm.preachname"
+ placeholder="璇疯緭鍏ユ爣棰�"
+ ></el-input>
</div>
</el-form-item>
- <el-form-item label="瀹f暀鎻忚堪" prop="extName">
- <div style="width: 30%">
- <el-input v-model="ruleForm.note"></el-input>
+ <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">
@@ -106,6 +142,7 @@
@change="handleInputConfirm"
filterable
remote
+ allow-create
reserve-keyword
default-first-option
:remote-method="remoteMethodtag"
@@ -132,31 +169,26 @@
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="鐗堟湰鍙�" prop="name">
- <el-input v-model="ruleForm.version"></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.isEnable"
- size="medium"
- multiple
- filterable
- placeholder="璇烽�夋嫨鍒嗙被"
- >
- <el-option
- class="ruleFormaa"
- v-for="item in usable"
- :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
@@ -164,59 +196,24 @@
>
<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">
- <div class="xinz-infs">
- <el-tag
- :key="item.icd10name"
- type="warning"
- v-for="item in illnesslist"
- closable
- :disable-transitions="false"
- @close="handleCloseillness(item)"
- >
- {{ item.icd10name }}
- </el-tag>
- <el-select
- v-model="inputValue"
- v-if="illnessVisible"
- @change="illnessConfirm"
- :remote-method="remoteMethod"
- filterable
- remote
- allow-create
- default-first-option
- placeholder="璇烽�夋嫨/鏌ヨ"
- :loading="loading"
- >
- <el-option
- v-for="item in optionsillness"
- :key="item.icdid"
- :label="item.icdname"
- :value="item.icdid"
- >
- </el-option>
- </el-select>
- <el-button
- v-else
- class="button-new-tag"
- size="small"
- @click="illnessshowInput"
- >+ 鏂板鐤剧梾</el-button
- >
- </div>
+ <el-button type="warning" @click="$refs.child.handleAddpatient()"
+ >娣诲姞鐤剧梾</el-button
+ >
</el-form-item>
<el-form-item label="閫傜敤闄㈠尯" prop="region">
<el-select
- v-model="ruleForm.courtyard"
+ v-model="ruleForm.campus"
size="medium"
+ multiple
filterable
placeholder="璇烽�夋嫨鍒嗙被"
>
@@ -231,28 +228,26 @@
</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="success" @click="Departmenttreatment('ruleForm')"
+ >淇濆瓨</el-button
+ >
<el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button>
</el-form-item>
</el-form>
@@ -260,21 +255,9 @@
<!-- 瀹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>
@@ -285,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
@@ -318,17 +336,30 @@
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,
@@ -336,12 +367,17 @@
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";
@@ -374,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: [
@@ -392,10 +431,12 @@
url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100",
},
],
- content: "", //鏈�缁堜繚瀛樼殑鍐呭
+ 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: {
@@ -445,7 +486,14 @@
radioas: "", //濉┖棰樼瓟妗�
// 鎬绘潯鏁�
total: 1,
- ruleForm: {},
+ hetype: "",
+ id: null,
+ ruleForm: {
+ campus: [],
+ heLibraryTagList: [],
+ tempDetpRelevances: [],
+ version: "1.0.1",
+ },
rules: {},
rulesa: {},
mode: [],
@@ -459,6 +507,16 @@
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",
@@ -483,10 +541,9 @@
addvalue: "娣诲姞棰樼洰",
variablelist: [
- {
- variable: "paitent",
- value: "琛ㄧず鎮h�呯殑鏍囪瘑",
- },
+ { variatename: "濮撳悕", variate: "${name}", default: 1 },
+ { variatename: "鐢佃瘽", variate: "${phone}", default: 1 },
+ { variatename: "鐥呮儏", variate: "${illness}", default: 1 },
],
// 鏌ヨ鍙傛暟
queryParams: {
@@ -494,6 +551,13 @@
pageSize: 10,
},
};
+ },
+ activated() {
+ if (this.id != this.$route.query.id) {
+ this.gettabList();
+ this.getList();
+ this.illnessUpdate();
+ }
},
created() {
@@ -509,46 +573,180 @@
watch: {
content(newVal, oldVal) {
//this.$emit('input', newVal);
- console.log(newVal);
- console.log(oldVal);
+ console.log(newVal, "A");
+ console.log(oldVal, "B");
},
},
methods: {
+ processElement(element) {
+ return { ...element, isoperation: null };
+ },
+ // 鑾峰彇椤甸潰鏁版嵁
getList() {
this.loading = true;
- getlibraryinfo({ id: this.$route.query.id }).then((res) => {
- this.ruleForm = res.data;
- });
+ 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(res);
+ console.log(this.sortlist);
});
- },
- /** 鏌ヨ鏍囩鍒楄〃 */
- gettabList() {
- const tagqueryParams = {
- pageNum: 1,
- pageSize: 1000,
- tagcategoryid: "0",
- };
- listtag(tagqueryParams).then((response) => {
- console.log(response);
- this.optionstag = response.rows;
+ // 閮ㄩ棬
+ 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;
},
- // 瀹屾垚
- submitForm(formName) {
- this.rules = this.rulesa;
- // 鎻愪氦
- this.$refs[formName].validate((valid) => {
- if (valid) {
- alert("submit!");
- } else {
- console.log("error submit!!");
- return 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() {
@@ -577,6 +775,38 @@
});
});
},
+ // 绉戝澶勭悊
+ 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() {},
/** 鏌ヨ棰樼洰鍒楄〃 */
@@ -584,8 +814,8 @@
// 鏂板鍙橀噺
addvariable() {
this.variablelist.push({
- variable: "",
- value: "",
+ variatename: "",
+ variate: "",
});
},
// 鍒犻櫎鍙橀噺
@@ -609,16 +839,17 @@
tagcategoryid: "0",
};
listtag(tagqueryParams).then((response) => {
- console.log(response);
this.optionstag = response.rows;
});
},
handleClosetag(tag) {
console.log(tag);
- console.log(this.dynamicTags.indexOf(tag));
- const lindex = this.dynamicTags.indexOf(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.ivrLibaTemplateTargetList[lindex].isoperation = 3;
+ this.ruleForm.heLibraryTagList[lindex].isoperation = 3;
},
handleInputConfirm() {
let tagvalue = {};
@@ -639,7 +870,7 @@
isoperation: 1,
};
}
- this.ruleForm.ivrLibaTemplateTargetList.push(tagvalue);
+ this.ruleForm.heLibraryTagList.push(tagvalue);
this.dynamicTags.push(tagvalue);
});
}
@@ -664,77 +895,19 @@
},
// 鐤剧梾-----------------------
illnessUpdate() {
- this.illnesslistapi = [];
- const illnessqueryParams = {
- pageNum: 1,
- pageSize: 100,
- };
- getillnesslist(illnessqueryParams).then((response) => {
- console.log(response);
- this.optionsillness = response.rows;
- });
- getillness({ outid: this.$route.query.id, type: 6 }).then((res) => {
- this.illnesslist = res.rows;
- console.log(res);
- });
- },
- handleCloseillness(tag) {
- this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
- if (tag.id) {
- this.illnesslistapi.push(tag.id);
- }
- },
- remoteMethod(value) {
- console.log(value);
- const illnessqueryParams = {
- pageNum: 1,
- pageSize: 100,
- icdname: value,
- };
- this.loading = true;
- setTimeout(() => {
- this.loading = false;
- getillnesslist(illnessqueryParams).then((response) => {
- this.optionsillness = response.rows;
+ 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;
+ });
});
- }, 200);
- },
- illnessConfirm(item) {
- let opeavalue = {};
- let tagname = this.inputValue;
- illnesslistget(item).then((res) => {
- opeavalue = res.data;
- opeavalue.outid = this.indexid;
- opeavalue.type = 6;
- opeavalue.icd10id = opeavalue.icdid;
- opeavalue.icd10name = opeavalue.icdname;
- opeavalue.icd10code = opeavalue.icdcode;
- if (tagname) {
- this.illnesslist.push(opeavalue);
- }
- });
- console.log(this.illnesslist);
- this.inputVisible = false;
- this.inputValue = "";
- },
- confirmillness() {
- this.illnesslist.forEach((item, index) => {
- if (!item.id) {
- addtargetillness(item).then((res) => {});
- }
- });
- if (this.illnesslistapi.length) {
- deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
}
- this.illnessVisible = false;
- this.$modal.msgSuccess("缂栬緫鎴愬姛");
},
- illnessshowInput() {
- this.illnessVisible = true;
- },
+
// --------------------------
- // 棰勮妯$増
+ // 棰勮妯℃澘
PreviewTemplate() {
this.drawer = true;
},
@@ -755,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 {
@@ -777,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("涓婁紶鍥剧墖澶辫触");
//鍙栨秷涓婁紶鍔ㄧ敾
@@ -790,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;
@@ -844,6 +1090,7 @@
margin: 0 20px;
}
}
+
.xinz-inf {
font-size: 18px;
white-space: nowrap;
@@ -855,6 +1102,7 @@
.el-tag + .el-tag {
margin-left: 10px;
}
+
.button-new-tag {
margin-left: 10px;
height: 32px;
@@ -862,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;
@@ -876,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;
@@ -919,6 +1179,7 @@
}
}
}
+
::v-deep .addtopic-input {
input {
background: #02a7f0;
@@ -926,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;
// }
@@ -953,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: "淇濆瓨";
@@ -980,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";
@@ -997,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";
@@ -1026,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