From 245a9200ddaa5c2a9ab9f6a68969527bb121ec2f Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 04 七月 2024 13:34:37 +0800 Subject: [PATCH] 测试完成 --- src/views/knowledge/education/compilequer/index.vue | 318 +++++++++++++++++++++++++++++++++++----------------- 1 files changed, 211 insertions(+), 107 deletions(-) diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue index fb07522..e46e97d 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"> @@ -28,24 +38,41 @@ 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-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.preachname"></el-input> + <el-input + v-model="ruleForm.preachname" + placeholder="璇疯緭鍏ユ爣棰�" + ></el-input> </div> </el-form-item> - <el-form-item label="瀹f暀鎻忚堪" prop="preachdescription"> - <div style="width: 30%"> - <el-input v-model="ruleForm.preachdescription"></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"> @@ -141,7 +168,10 @@ <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"> @@ -181,7 +211,7 @@ </el-select> </el-form-item> <el-form-item label="閫傜敤鐤剧梾" prop="region"> - <div class="xinz-infs"> + <div class="xinz-inf"> <el-tag :key="item.icd10name" type="warning" @@ -225,6 +255,7 @@ <el-select v-model="ruleForm.campus" size="medium" + multiple filterable placeholder="璇烽�夋嫨鍒嗙被" > @@ -256,7 +287,9 @@ <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> @@ -280,19 +313,6 @@ </div></el-col > </el-row> - <el-row> - <el-col :span="24"> - <div style="display: flex; margin-left: 66px; margin-bottom: 10px"> - <div - v-for="item in variablelist" - class="tsgname" - @click="tsgnameto(item)" - > - {{ item.variatename }} - </div> - </div> - </el-col></el-row - > <div> <el-form @@ -316,6 +336,16 @@ </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 @@ -335,6 +365,9 @@ v-model="content" ref="customQuillEditor" :options="editorOption" + @blur="onEditorBlur" + @focus="onEditorFocus" + @change="onEditorChange" > </quill-editor> </div> @@ -346,6 +379,8 @@ <script> import { quillEditor } from "vue-quill-editor"; +import axios from "axios"; + import { getheLibraryAssort, delheLibraryAssort, @@ -353,6 +388,7 @@ addtargetillness, getlibrarylist, dellibraryinfo, + deltargetillness, compilelibrary, getlibraryinfo, getillnesslist, @@ -397,7 +433,8 @@ headers: { Authorization: "Bearer " + getToken(), }, - uploadImgUrl: "/v1/admin/common/upload", + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", + uploadImgUrlword: process.env.VUE_APP_BASE_API + "/common/uploadShow", uploadUrlPath: "娌℃湁鏂囦欢涓婁紶", quillUpdateImg: false, fileList: [ @@ -463,7 +500,12 @@ radioas: "", //濉┖棰樼瓟妗� // 鎬绘潯鏁� total: 1, - ruleForm: {}, + ruleForm: { + campus: [], + heLibraryTagList: [], + tempDetpRelevances: [], + version: "1.0.1", + }, rules: {}, rulesa: {}, mode: [], @@ -529,42 +571,48 @@ 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.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); - this.ruleForm.suitway = this.ruleForm.suitway.split(","); - this.variablelist = JSON.parse(this.ruleForm.otherdata) - ? JSON.parse(this.ruleForm.otherdata) - : this.variablelist; - }); + this.id = this.$route.query.id; + if (this.id) { + getlibraryinfo({ id: this.id }).then((res) => { + this.ruleForm = res.data[0]; + this.content = this.ruleForm.richText; + this.ruleForm.campus = this.ruleForm.campus.split(","); + this.dynamicTags = res.data[0].heLibraryTagList.map( + this.processElement + ); + + 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); }); + // 閮ㄩ棬 listDept(this.queryParams).then((response) => { this.deptList = this.handleTree(response.data, "deptId"); }); this.loading = false; - }, - /** 鏌ヨ鏍囩鍒楄〃 */ - gettabList() { - const tagqueryParams = { - pageNum: 1, - pageSize: 1000, - tagcategoryid: "0", - }; - listtag(tagqueryParams).then((response) => { - console.log(response); - this.optionstag = response.rows; - }); }, submitForm(formName) { @@ -572,22 +620,32 @@ this.dynamicTags.forEach((item) => { tgs.push(item.tagname); }); - this.ruleForm.labelInfo = tgs.join(","); + this.ruleForm.campus = this.ruleForm.campus.join(","); + this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : ""; this.ruleForm.otherdata = JSON.stringify(this.variablelist); - this.ruleForm.suitway = this.ruleForm.suitway.join(","); + console.log(22); + this.ruleForm.suitway = + this.ruleForm.suitway.length != 0 + ? this.ruleForm.suitway.join(",") + : ""; if (this.id) { this.ruleForm.isoperation = 2; - compilelibrary(this.ruleForm).then((response) => { - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.$router.go(-1); - }); } else { this.ruleForm.isoperation = 1; - compilelibrary(this.ruleForm).then((response) => { - this.$modal.msgSuccess("鏂板鎴愬姛"); - this.$router.go(-1); - }); } + this.illnesslist.forEach((item, index) => { + if (!item.id) { + addtargetillness(item).then((res) => {}); + } + }); + if (this.illnesslistapi.length) { + deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); + } + this.ruleForm.richText = this.content; + compilelibrary(this.ruleForm).then((res) => { + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + this.$router.go(-1); + }); }, // 涓嬩竴姝� nextstep() { @@ -619,11 +677,9 @@ // 绉戝澶勭悊 Departmenttreatment() { this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); - console.log(this.tempDetpRelevanceslist); const result = this.tempDetpRelevanceslist.map( (subArr) => subArr[subArr.length - 1] ); - console.log(result); // id鏁扮粍鏌ユ暟缁勫璞� result.forEach((item) => { const condition = this.ruleForm.tempDetpRelevances.some( @@ -631,13 +687,12 @@ ); if (!condition) { listDept({ deptId: item }).then((res) => { - console.log(res.data[0]); + console.log("dept"); res.data[0].type = 2; this.ruleForm.tempDetpRelevances.push(res.data[0]); }); } }); - console.log(this.ruleForm.tempDetpRelevances); // 鏁扮粍瀵硅薄鏌d鏁扮粍 this.ruleForm.tempDetpRelevances.forEach((item) => { const condition = result.some((obj) => obj === item.deptId); @@ -646,7 +701,6 @@ this.ruleForm.tempDetpRelevances[index].delFlag = 1; } }); - console.log(this.ruleForm.tempDetpRelevances); setTimeout(() => { this.submitForm(); }, 1000); @@ -684,14 +738,15 @@ 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.heLibraryTagList[lindex].isoperation = 3; }, @@ -745,12 +800,10 @@ 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) { @@ -760,7 +813,6 @@ } }, remoteMethod(value) { - console.log(value); const illnessqueryParams = { pageNum: 1, pageSize: 100, @@ -779,7 +831,7 @@ let tagname = this.inputValue; illnesslistget(item).then((res) => { opeavalue = res.data; - opeavalue.outid = this.indexid; + opeavalue.outid = this.id; opeavalue.type = 6; opeavalue.icd10id = opeavalue.icdid; opeavalue.icd10name = opeavalue.icdname; @@ -788,22 +840,10 @@ this.illnesslist.push(opeavalue); } }); - console.log(this.illnesslist); - this.inputVisible = false; + this.illnessVisible = 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; }, @@ -833,7 +873,7 @@ // this.$emit('upload',res, file) console.log(res, file); //鎷兼帴鍑轰笂浼犵殑鍥剧墖鍦ㄦ湇鍔″櫒鐨勫畬鏁村湴鍧� - let imgUrl = res.data.url; + let imgUrl = res.url; let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1); console.log(type); // 鑾峰彇瀵屾枃鏈粍浠跺疄渚� @@ -852,10 +892,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("涓婁紶鍥剧墖澶辫触"); //鍙栨秷涓婁紶鍔ㄧ敾 @@ -865,23 +917,77 @@ 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); + }, + // 涓婁紶鍥剧墖鎴愬姛 + uploadEditorSuccessword(res, file) { + console.log("涓婁紶鎴愬姛"); + const data = null; + console.log(res, file, "word"); + axios + .get("http://localhost:8089/profile/upload/show/娴嬭瘯/娴嬭瘯.html") + .then((response) => { + console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭 + this.content = response.data; + }) + .catch((error) => { + console.error("Failed to fetch file:", error); + }); + console.log(data, "鏁版嵁"); + //鎷兼帴鍑轰笂浼犵殑鍥剧墖鍦ㄦ湇鍔″櫒鐨勫畬鏁村湴鍧� + let imgUrl = res.url; + let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1); + console.log(type); + // 鑾峰彇瀵屾枃鏈粍浠跺疄渚� + let quill = this.$refs.customQuillEditor.quill; + // 鑾峰彇鍏夋爣鎵�鍦ㄤ綅缃� + let length = quill.getSelection().index; + // 鎻掑叆鍥剧墖||瑙嗛 res.info涓烘湇鍔″櫒杩斿洖鐨勫浘鐗囧湴鍧� + if (type == "mp4" || type == "MP4") { + window.jsValue = imgUrl; + quill.insertEmbed(length, "video", imgUrl); + } else { + quill.insertEmbed(length, "image", imgUrl); + } + // 璋冩暣鍏夋爣鍒版渶鍚� + quill.setSelection(length + 1); + //鍙栨秷涓婁紶鍔ㄧ敾 + this.quillUpdateImg = false; + }, }, }; </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), @@ -890,9 +996,7 @@ .leftvlue { // display: flex; // flex: 1; - width: 80%; - margin-top: 20px; - // margin: 20px; + margin: 20px; padding: 30px; background: #ffff; border: 1px solid #dcdfe6; @@ -1035,8 +1139,8 @@ } .editor { line-height: normal !important; - height: 400px; - margin-bottom: 50px; + height: 600px; + margin-bottom: 80px; } .ql-snow .ql-tooltip[data-mode="link"]::before { content: "璇疯緭鍏ラ摼鎺ュ湴鍧�:"; -- Gitblit v1.9.3