From 720f7c4ce56ae4b9fc3884d0ed9393d79130b01c Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期五, 16 八月 2024 18:07:46 +0800 Subject: [PATCH] 测试完成 --- src/views/knowledge/questionnaire/compilequer/index.vue | 375 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 228 insertions(+), 147 deletions(-) diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue index d41b78a..8100549 100644 --- a/src/views/knowledge/questionnaire/compilequer/index.vue +++ b/src/views/knowledge/questionnaire/compilequer/index.vue @@ -141,72 +141,43 @@ </div> </el-form-item> </el-row> - <el-row> + <div class="xinz-infs"> <el-form-item label="閫傜敤鐤剧梾" prop="region"> - <div class="xinz-inf"> - <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="inputValueillness" - v-if="inputVisibleillness" - @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="inputVisibleillness = true" - >+ 鏂板鐤剧梾</el-button - > - </div> + <el-tag + v-for="tag in displayedTags" + :key="tag.icdid" + type="warning" + :disable-transitions="false" + > + {{ tag.icdname }} + </el-tag> + <el-tag v-if="hasMore" type="info">+{{ remaining }} more</el-tag> </el-form-item> - </el-row> + </div> + <div style="margin-left: 120px; margin-bottom: 10px"> + <el-button type="warning" @click="$refs.child.handleAddpatient()" + >鐤剧梾璇︽儏</el-button + > + </div> <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" + ></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" - 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="闂嵎鏂瑰紡" prop="region"> <el-select @@ -282,6 +253,13 @@ @click="getaddtopiclist" >娣诲姞棰樼洰</el-button > + <el-button + type="success" + icon="el-icon-edit-outline" + round + @click="Operateit = !Operateit" + >{{ !Operateit ? "缂栬緫棰樼洰" : "瀹屾暣淇℃伅灞曠ず" }}</el-button + > </div> <div style="display: flex"> <span @@ -300,7 +278,7 @@ </div> </div> <div class="presentation"> - <div class="presentation-left"> + <div :class="Operateit ? 'presentation-left' : 'spresentation-left'"> <el-card class="box-card" style="min-height: 688px"> <el-table v-loading="loading" @@ -311,6 +289,7 @@ align="center" key="sort" prop="sort" + width="50" /> <el-table-column label="棰樼洰鏍囬" @@ -320,14 +299,60 @@ :show-overflow-tooltip="true" /> <el-table-column + label="棰樺瀷" + align="center" + key="scriptType" + prop="scriptType" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <dict-tag + :options="askvaluetype" + :value="scope.row.scriptType" + /> + </template> + </el-table-column> + <el-table-column + v-if="!Operateit" label="棰樼洰鍐呭" align="center" key="scriptContent" prop="scriptContent" :show-overflow-tooltip="true" /> + <el-table-column + v-if="!Operateit" + label="鎸囨爣鍚嶇О" + align="center" + key="targetname" + prop="targetname" + :show-overflow-tooltip="true" + /> + <el-table-column + v-if="!Operateit" + label="鏄惁蹇呭~" + align="center" + key="ismandatory" + prop="ismandatory" + :show-overflow-tooltip="true" + > + <template slot-scope="scope"> + <dict-tag + :options="required" + :value="scope.row.ismandatory" + /> + </template> + </el-table-column> + <el-table-column + label="涓嬮璺宠浆" + align="center" + key="nextScriptno" + prop="nextScriptno" + :show-overflow-tooltip="true" + /> <el-table-column + v-if="Operateit" label="鎿嶄綔" align="center" width="250" @@ -363,27 +388,32 @@ </el-table> </el-card> </div> - <div class="presentation-right"> + <div class="presentation-right" v-if="Operateit"> <el-card class="box-card"> <el-form :inline="true" :model="topicobj" class="demo-form-inline" > - <div class="headline"> - 棰樼洰璁剧疆璇︽儏 - <span style="margin-left: 30px" - ><el-button type="primary" @click="Submittopicobj" - >淇濆瓨</el-button - ></span - > - </div> - <el-form-item label="棰樼洰鏍囬"> - <el-input - v-model="topicobj.scriptTopic" - placeholder="璇疯緭鍏ユ爣棰�" - ></el-input> - </el-form-item> + <div class="headline">棰樼洰璁剧疆璇︽儏</div> + <el-row :gutter="10"> + <el-col :span="12"> + <el-form-item label="棰樼洰鏍囬"> + <el-input + v-model="topicobj.scriptTopic" + placeholder="璇疯緭鍏ユ爣棰�" + ></el-input> </el-form-item + ></el-col> + <el-col :span="12"> + <el-form-item label="涓嬮璺宠浆" v-if="!topicobj.branchFlag"> + <el-input + v-model="topicobj.nextScriptno" + placeholder="璇疯緭鍏ラ鍙�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row :gutter="10"> <el-col :span="12" ><el-form-item label="鏄惁蹇呭~"> @@ -416,6 +446,25 @@ </el-select> </el-form-item ></el-col> </el-row> + <el-row> + <el-col :span="12"> + <el-form-item + label="棰樼洰鍒嗗��" + v-if="topicobj.scoretype == 1" + > + <el-input + v-model="topicobj.score" + placeholder="璇疯緭鍏ラ鍙�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-form-item label="鏄惁鐢遍�夐」閰嶇疆璺宠浆"> + <el-radio-group v-model="topicobj.branchFlag"> + <el-radio :label="1">鏄�</el-radio> + <el-radio :label="0">鍚�</el-radio> + </el-radio-group> + </el-form-item> <div v-if="topicobj.scriptType != 3"> <div class="headline">閫夐」璁剧疆</div> <div @@ -617,7 +666,7 @@ <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> </div> </div> - <!-- 棰勮妯$増寮圭獥 --> + <!-- 娣诲姞棰樼洰寮圭獥 --> <el-drawer title="娣诲姞棰樼洰" :visible.sync="drawer" @@ -671,6 +720,14 @@ width="200" :show-overflow-tooltip="true" /> + <el-table-column + label="閫夐」鍐呭" + align="center" + key="targetoptions" + prop="targetoptions" + width="200" + :show-overflow-tooltip="true" + /> <el-table-column label="鎿嶄綔" @@ -695,6 +752,14 @@ /> </div> </el-drawer> + <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 --> + <Optional-Form + ref="child" + :dialogVisiblepatient="dialogVisiblepatient" + :overallCase="illnesslist" + @addoption="dialogVisiblepatient = false" + @kkoption="dialogVisiblepatient = true" + /> </div> </template> @@ -706,7 +771,7 @@ getQtemplateclassify, delQtemplateclassify, addQtemplateclassify, - getQtemplatelist, + getQtemplateobj, compileQtemplate, Qtemplateinfo, compileissue, @@ -720,9 +785,14 @@ illnesslistget, getillness, } from "@/api/AiCentre/index"; +import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 import { getToken } from "@/utils/auth"; export default { + name: "Qcompilequer", + + components: { OptionalForm }, + data() { return { headers: { @@ -739,6 +809,7 @@ radioas: "", //濉┖棰樼瓟妗� dynamicTags: [], inputVisible: false, + dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛 inputValue: "", topicobj: {}, // 鎬绘潯鏁� @@ -756,11 +827,7 @@ { value: "scriptTopic", table: "scriptTopic" }, ], - appraiselist: [ - { label: "鍒嗘暟", value: "1" }, - { label: "ABC绛夌骇", value: "2" }, - { label: "浼樿壇绛夌骇", value: "3" }, - ], + appraiselist: [], fileList: [ { @@ -795,11 +862,13 @@ themelist: [], languagelist: [], courtyardlist: [], + askvaluetype: [], precedencetype: [], inputValueillness: "", inputVisible: false, inputVisibleillness: false, illnessVisible: false, //鎸囨爣鐤剧梾寮规 + Operateit: true, deptOptions: [], optionsillness: [], delScriptVOList: [], @@ -853,7 +922,24 @@ this.required = store.getters.required; this.valuetype = store.getters.valuetype; this.courtyardlist = store.getters.courtyardlist; + this.askvaluetype = store.getters.askvaluetype; + this.appraiselist = store.getters.appraiselist; + // this.test(); + }, + computed: { + displayedTags() { + // 杩斿洖鍓�10涓猼ag + return this.illnesslist.slice(0, 10); + }, + hasMore() { + // 鍒ゆ柇鏄惁鏈夋洿澶氱殑tag + return this.illnesslist.length > 10; + }, + remaining() { + // 璁$畻鍓╀綑鐨則ag鏁伴噺 + return this.illnesslist.length - 10; + }, }, methods: { @@ -883,50 +969,48 @@ getissueinfo() { this.id = this.$route.query.id; if (this.id) { - getQtemplatelist({ svyid: this.id }).then((res) => { + getQtemplateobj({ svyid: this.id }).then((res) => { this.ruleForm = res.rows[0]; this.dynamicTags = this.ruleForm.svyLibTemplateTagList.map( this.processElement ); this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); this.ruleForm.suitway = this.ruleForm.suitway.split(","); - console.log(this.tempDetpRelevanceslist); }); getillness({ outid: this.id, type: 5 }).then((res) => { this.illnesslist = res.rows; + this.illnesslist.forEach((item) => { + item.icdname = item.icd10name; + }); }); + } else { + this.ruleForm.isenable = "1"; } - getillnesslist({ - pageNum: 1, - pageSize: 100, - }).then((response) => { - this.optionsillness = response.rows; - }); + listDept(this.queryParams).then((response) => { this.deptList = this.handleTree(response.data, "deptId"); }); // 鍒嗙被 getQtemplateclassify({}).then((res) => { - // this.optionsclass = this.flattenArray(res.rows); this.optionsclass = res.rows; }); }, submitForm(formName) { this.$modal.loading("姝e湪涓婁紶鏁版嵁锛岃绋嶅��..."); - this.ruleForm.suitway = this.ruleForm.suitway.join(","); - + if (condition) { + } if (this.id) { this.ruleForm.isoperation = 2; compileQtemplate(this.ruleForm).then((res) => { this.$modal.msgSuccess("淇敼鎴愬姛"); this.confirmillness(); this.$modal.closeLoading(); - this.$router.go(-1); }); } else { this.ruleForm.isoperation = 1; + this.ruleForm.version = this.ruleForm.version ? ruleForm : "1.0"; compileQtemplate(this.ruleForm).then((res) => { this.$modal.msgSuccess("鏂板鎴愬姛"); this.confirmillness(res.data); @@ -940,10 +1024,8 @@ // 绉戝澶勭悊 Departmenttreatment() { this.ruleForm.deptNames = JSON.stringify(this.tempDetpRelevanceslist); - console.log(this.tempDetpRelevanceslist); this.ruleForm.svyTemplateLibScripts = this.ruleForm.svyTemplateLibScripts.concat(this.delScriptVOList); - console.log(this.tempDetpRelevanceslist, "this.tempDetpRelevanceslist"); const result = this.tempDetpRelevanceslist.map( (subArr) => subArr[subArr.length - 1] ); @@ -1014,6 +1096,7 @@ // 鏂板棰樼洰 addtopic(row) { row.isoperation = 1; + console.log(row, "row"); row.svyLibScriptOptions.forEach((item) => { item.isoperation = 1; }); @@ -1055,11 +1138,21 @@ this.sortFn(); }, sortFn() { + console.log(this.ruleForm.svyTemplateLibScripts, "搴忓墠鍊�"); this.ruleForm.svyTemplateLibScripts.forEach((item, index) => { - item.sort = index + 1; - item.svyLibTemplateTargetoptions.forEach((items) => { - items.nextQuestion = Number(item.sort) + 1; - }); + item.sort = Number(index) + 1; + console.log(this.ruleForm.svyTemplateLibScripts.length, "length"); + + if (item.sort == this.ruleForm.svyTemplateLibScripts.length) { + item.nextScriptno = "宸叉槸鏈�鍚庝竴棰�"; + } else { + item.nextScriptno = item.sort + 1; + } + if (item.svyLibTemplateTargetoptions) { + item.svyLibTemplateTargetoptions.forEach((items) => { + items.nextQuestion = Number(item.sort) + 1; + }); + } }); console.log(this.ruleForm.svyTemplateLibScripts); }, @@ -1148,60 +1241,22 @@ showInput() { this.inputVisible = true; }, - // 鐤剧梾----------------------- - - 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; - }); - }, 200); - }, - illnessConfirm(item) { - let opeavalue = {}; - let tagname = this.inputValueillness; - illnesslistget(item).then((res) => { - opeavalue = res.data; - opeavalue.outid = this.id; - opeavalue.type = 5; - opeavalue.icd10id = opeavalue.icdid; - opeavalue.icd10name = opeavalue.icdname; - opeavalue.icd10code = opeavalue.icdcode; - if (tagname) { - this.illnesslist.push(opeavalue); - } - }); - console.log(this.illnesslist); - this.inputVisibleillness = false; - this.inputValueillness = ""; - }, - // 淇濆瓨 + // 淇濆瓨鐤剧梾 confirmillness(guid) { this.illnesslist.forEach((item, index) => { if (guid) { item.outid = guid; + } else { + console.log(this.ruleForm); + item.outid = this.ruleForm.svyid; } + item.icd10name = item.icdname; + item.icd10code = item.icdcode; + item.type = 5; if (!item.id) { addtargetillness(item).then((res) => {}); } }); - if (this.illnesslistapi.length) { - deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); - } this.illnessVisible = false; this.$modal.msgSuccess("缂栬緫鎴愬姛"); }, @@ -1345,8 +1400,7 @@ // display: flex; } .sidecolumn { - margin: 20px; - margin-bottom: 0; + margin: 10px 20px 0 20px; padding: 20px; background: #edf1f7; border: 1px solid #dcdfe6; @@ -1360,6 +1414,8 @@ // margin-top: 20px; margin: 20px; padding: 30px; + padding-top: 5px; + margin-top: 10px; background: #ffff; border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), @@ -1423,6 +1479,14 @@ vertical-align: bottom; } } +.xinz-infs { + font-size: 18px; + line-height: 48px; + + .el-tag + .el-tag { + margin-left: 10px; + } +} .addtopic { margin-top: 30px; } @@ -1430,7 +1494,17 @@ margin: 20px 0; display: flex; .presentation-left { - width: 50%; + width: 45%; + // height: 500px; + .button-textxg { + color: #024df0; + } + .button-textsc { + color: #f52727; + } + } + .spresentation-left { + width: 100%; // height: 500px; .button-textxg { color: #024df0; @@ -1440,7 +1514,7 @@ } } .presentation-right { - width: 50%; + width: 55%; max-height: 688px; padding: 0 20px; font-size: 18px; @@ -1463,6 +1537,13 @@ .custom-width { width: 100px; /* 璁剧疆瀹藉害鏍峰紡 */ } +.el-select { + width: 40%; +} + +.el-cascader { + width: 40%; +} ::v-deep .addtopic-input { input { background: #02a7f0; -- Gitblit v1.9.3