From 3d50e2c6d8cd86ee10b4353ad6365c59f588dbc4 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 31 七月 2024 17:22:02 +0800 Subject: [PATCH] 测试完成 --- src/views/repositoryai/templateku/configurat/index.vue | 500 ++++++++++++++++++++++++------------------------------- 1 files changed, 219 insertions(+), 281 deletions(-) diff --git a/src/views/repositoryai/templateku/configurat/index.vue b/src/views/repositoryai/templateku/configurat/index.vue index 53d590a..8aedee9 100644 --- a/src/views/repositoryai/templateku/configurat/index.vue +++ b/src/views/repositoryai/templateku/configurat/index.vue @@ -188,6 +188,7 @@ @change="handleInputConfirm" filterable remote + allow-create reserve-keyword default-first-option :remote-method="remoteMethodtag" @@ -213,45 +214,9 @@ </el-form-item> <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-button type="warning" @click="$refs.child.handleAddpatient()" + >娣诲姞鐤剧梾</el-button + > </el-form-item> <el-form-item label="閫傜敤闄㈠尯" prop="region"> <el-select @@ -311,7 +276,6 @@ <el-form-item label="闅忚鍓嶅鐞�" prop="name"> <el-input type="textarea" - maxlength="66" show-word-limit v-model="ruleForm.revisitBefore" ></el-input></el-form-item @@ -320,7 +284,6 @@ <el-form-item label="闅忚鍚庡鐞�" prop="region"> <el-input type="textarea" - maxlength="66" show-word-limit v-model="ruleForm.revisitAfter" ></el-input> </el-form-item @@ -353,8 +316,10 @@ >涓嬩竴姝�</el-button > <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button type="success" @click="Departmenttreatment('ruleForm')" - >淇濆瓨闅忚妯$増鍩虹淇℃伅</el-button + <el-button + type="success" + @click="Departmenttreatment('ruleForm')" + >{{ task ? "淇濆瓨鍒颁换鍔℃ā鐗�" : "淇濆瓨闅忚妯$増鍩虹淇℃伅" }}</el-button > </el-form-item> </el-form> @@ -388,15 +353,15 @@ <el-table-column label="鏍囬" align="center" - key="questiontitle" - prop="questiontitle" + key="scriptTopic" + prop="scriptTopic" :show-overflow-tooltip="true" /> <el-table-column label="闂璇濇湳" align="center" - key="questionText" - prop="questionText" + key="scriptContent" + prop="scriptContent" :show-overflow-tooltip="true" /> @@ -453,9 +418,8 @@ </div> <el-form-item label="棰樼洰鏍囬"> <el-input - v-model="topicobj.questiontitle" + v-model="topicobj.scriptTopic" placeholder="璇蜂粠宸︿晶鍒楄〃閫夋嫨" - :disabled="true" ></el-input> </el-form-item> <el-form-item label="闂鑺傜偣"> @@ -498,6 +462,10 @@ </el-select> </el-form-item ></el-col> </el-row> + <el-form-item label="闂璇煶" v-if="topicobj.scriptVoice"> + <mini-audio :audio-source="topicobj.scriptVoice"></mini-audio> + </el-form-item> + <div class="topicxq" v-if="topicobj.valueType == 2 || topicobj.valueType == 3" @@ -536,72 +504,39 @@ <!-- 鏃犲尮閰嶇被鍨� --> <div class="topicxq"> <el-row :gutter="10"> - <el-col :span="12" + <el-col :span="20" ><el-form-item label="鏃犲尮閰嶈瘽鏈�"> <el-input - type="text" + type="textarea" + style="width: 400px" placeholder="璇疯緭鍏�" - v-model="topicobj.nomatchtext" + v-model="topicobj.noMatchText" show-word-limit > </el-input> </el-form-item ></el-col> </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="澶勭悊"> - <el-input - type="text" - placeholder="(榛樿)鏃犲0" - v-model="topicobj.text" - maxlength="10" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> <el-col :span="16"> - <el-form-item label="璇煶鏂囦欢"> - <el-upload - class="upload-demo" - style="display: flex" - action="https://jsonplaceholder.typicode.com/posts/" - :on-change="handleChange" - :file-list="fileList" - :limit="1" - :on-exceed="handleExceed" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item></el-col - > + <el-form-item + label="鏃犲尮閰嶈闊�" + v-if="topicobj.nomatchvoice" + > + <mini-audio + :audio-source="topicobj.nomatchvoice" + ></mini-audio> </el-form-item + ></el-col> </el-row> </div> <div class="topicxq"> <el-row :gutter="10"> - <el-col :span="12" + <el-col :span="20" ><el-form-item label="鍚笉娓呰瘽鏈�"> <el-input - type="text" + style="width: 400px" + type="textarea" placeholder="璇疯緭鍏�" - v-model="topicobj.noclearlytext" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="澶勭悊"> - <el-input - type="text" - placeholder="(榛樿)鏃犲0" - v-model="topicobj.text" - maxlength="10" + v-model="topicobj.noClearlyText" show-word-limit > </el-input> </el-form-item @@ -610,45 +545,29 @@ <el-row :gutter="10"> <el-col :span="16"> - <el-form-item label="璇煶鏂囦欢"> - <el-upload - class="upload-demo" - style="display: flex" - action="https://jsonplaceholder.typicode.com/posts/" - :on-change="handleChange" - :file-list="fileList" - :limit="1" - :on-exceed="handleExceed" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item></el-col - > + <el-form-item + label="璇煶鏂囦欢" + v-if="topicobj.noclearlyvoice" + > + <mini-audio + :audio-source=" + topicobj.noclearlyvoice + ? topicobj.noclearlyvoice + : 'https://example.com/example.mp3' + " + ></mini-audio> </el-form-item + ></el-col> </el-row> </div> <div class="topicxq"> <el-row :gutter="10"> - <el-col :span="12" + <el-col :span="20" ><el-form-item label="闈欓粯璇濇湳"> <el-input - type="text" + type="textarea" + style="width: 400px" placeholder="璇疯緭鍏�" - v-model="topicobj.sliencetext" - show-word-limit - > - </el-input> </el-form-item - ></el-col> - </el-row> - <el-row :gutter="10"> - <el-col :span="12" - ><el-form-item label="澶勭悊"> - <el-input - type="text" - placeholder="(榛樿)鏃犲0" - v-model="topicobj.text" - maxlength="10" + v-model="topicobj.slienceText" show-word-limit > </el-input> </el-form-item @@ -657,22 +576,18 @@ <el-row :gutter="10"> <el-col :span="16"> - <el-form-item label="璇煶鏂囦欢"> - <el-upload - class="upload-demo" - style="display: flex" - action="https://jsonplaceholder.typicode.com/posts/" - :on-change="handleChange" - :file-list="fileList" - :limit="1" - :on-exceed="handleExceed" - > - <el-button size="small" type="primary" - >鐐瑰嚮涓婁紶</el-button - > - </el-upload> - </el-form-item></el-col - > + <el-form-item + label="璇煶鏂囦欢" + v-if="topicobj.sliencevoice" + > + <mini-audio + :audio-source=" + topicobj.sliencevoice + ? topicobj.sliencevoice + : 'https://example.com/example.mp3' + " + ></mini-audio> </el-form-item + ></el-col> </el-row> </div> </div> @@ -681,9 +596,9 @@ </div> </div> - <el-button type="success" @click="Departmenttreatment('ruleForm')" - >淇濆瓨棰樼洰鏁版嵁</el-button - > + <el-button type="success" @click="Departmenttreatment('ruleForm')">{{ + task ? "淇濆瓨鍒颁换鍔℃ā鐗�" : "淇濆瓨棰樼洰鏁版嵁" + }}</el-button> <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> <el-button type="success" plain @click="preview('ruleForm')" >鏌ョ湅棰勮</el-button @@ -694,18 +609,20 @@ <div v-if="Editprogress == 3"> <div class="leftvlue-jbxx">闅忚妯$増闂棰勮</div> <el-divider></el-divider> + <div class="preview-left"> <!-- 鍗曢�� --> <div - class="topic-dev" - v-for="(item, index) in valssu" - :key="item.aaa" + class="scriptTopic-dev" + v-for="item in valssu" + :key="item.targetid" + v-if="item.valueType == 1" > <div class="dev-text"> - {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.questionText }}</span> + {{ item.targetid }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> - <el-radio-group v-model="radio"> + <el-radio-group v-model="item.remark"> <el-radio v-for="(items, index) in item.ivrLibaScriptTargetoptionList" :key="index" @@ -717,35 +634,41 @@ </div> <!-- 澶氶�� --> <div - class="topic-dev" - v-for="(item, index) in valssu" - :key="item.aaa" + class="scriptTopic-dev" + v-for="item in valssu" + :key="item.targetid" + v-if="item.valueType == 2" > <div class="dev-text"> - {{ index + 1 }}銆乕澶氶�塢<span>{{ item.questionText }}</span> + {{ item.targetid }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> - <el-checkbox-group v-model="radios"> + <el-checkbox-group v-model="item.remark"> <el-checkbox - v-for="(items, indexs) in item.ivrLibaScriptTargetoptionList" - :key="indexs" - :label="indexs" + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="index" + :label="index" > {{ items.targetvalue }} </el-checkbox> </el-checkbox-group> </div> </div> - <!-- 濉┖ - <div class="topic-dev" v-for="item in valssu" :key="item.aaa"> + <!-- 濉┖ --> + <div + class="scriptTopic-dev" + v-for="item in valssu" + :key="item.targetid" + v-if="item.valueType == 3" + > <div class="dev-text"> - {{ item.idd }}銆乕濉┖]<span>{{ item.wssd }}</span> + {{ item.targetid }}銆乕濉┖]<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="radioas" clearable> </el-input> </div> - </div> --> + </div> </div> <el-button type="primary" plain @click="laststep()">涓婁竴姝�</el-button> <el-button type="warning" @click="measurement()">鍓嶅線娴嬭瘯</el-button> @@ -757,7 +680,7 @@ title="娣诲姞棰樼洰" :visible.sync="drawer" custom-class="demo-drawer" - width="50%" + size="50%" > <div class="preview-left"> <el-form @@ -769,7 +692,7 @@ > <el-form-item label="鏍囬" prop="userName"> <el-input - v-model="queryParams.questiontitle" + v-model="queryParams.scriptTopic" placeholder="璇疯緭鍏�" clearable style="width: 200px" @@ -794,15 +717,23 @@ <el-table-column label="鏍囬" align="center" - key="questiontitle" - prop="questiontitle" + key="scriptTopic" + prop="scriptTopic" width="100" /> <el-table-column label="闂璇濇湳" align="center" - key="questionText" - prop="questionText" + key="scriptContent" + prop="scriptContent" + width="200" + :show-overflow-tooltip="true" + /> + <el-table-column + label="閫夐」鍐呭" + align="center" + key="targetoptions" + prop="targetoptions" width="200" :show-overflow-tooltip="true" /> @@ -821,8 +752,22 @@ </template> </el-table-column> </el-table> + <pagination + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getaddtopiclist" + /> </div> </el-drawer> + <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 --> + <Optional-Form + ref="child" + :dialogVisiblepatient="dialogVisiblepatient" + :overallCase="illnesslist" + @addoption="dialogVisiblepatient = false" + @kkoption="dialogVisiblepatient = true" + /> </div> </template> @@ -849,10 +794,11 @@ getillness, getgenerallist, } from "@/api/AiCentre/index"; +import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 export default { name: "SpeechTemplates", - components: { Regular }, + components: { Regular, OptionalForm }, data() { return { Editprogress: 1, //缂栬緫杩涘害 @@ -860,16 +806,28 @@ drawer: false, //鎺у埗灞曞紑 radios: [], //澶氶�夐閫変腑 radioas: "", //濉┖棰樼瓟妗� + task: null, //鏄惁鏉ヨ嚜浠诲姟 + taskform: null, //浠诲姟淇℃伅 labelInfovalue: [], //鏍囩涓存椂瀛樺偍 deptNamesvalue: [], //绉戝涓存椂瀛樺偍 + dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛 dynamicTags: [], indexAssortlist: [], inputValue: "", inputValueillness: "", - topicobj: {}, + topicobj: { + noMatchText: "", + noClearlyText: "", + slienceText: "", + }, total: 1, id: "", - ruleForm: {}, + ruleForm: { + templateName: "", + ivrLibaTemplateTagList: [], + ivrLibaTemplateScriptVOList: [], + tempDetpRelevances: [], + }, rules: {}, optionstag: [], prefollowuplist: [], @@ -927,38 +885,11 @@ }, ], - valssu: [ - { - idd: 1, - wssd: "浣犳渶杩戞�庝箞鏍�", - sdadd: ["sss", "ssccss", "ssaas", "ss"], - }, - ], + valssu: [], radio: "", addvalue: "娣诲姞棰樼洰", // 棰樼洰琛ㄦ牸鏁版嵁 - userList: [ - { - userid: "1", - userName: "涓�鍙烽殢璁挎ā鐗�", - verbaltrick: "涓�鍙烽殢璁挎ā鐗�", - }, - { - userid: "2", - userName: "浜屽彿闅忚妯$増", - verbaltrick: "涓�鍙烽殢璁挎ā鐗�", - }, - { - userid: "3", - userName: "涓夊彿闅忚妯$増", - verbaltrick: "涓�鍙烽殢璁挎ā鐗�", - }, - { - userid: "4", - userName: "鍥涘彿闅忚妯$増", - verbaltrick: "涓�鍙烽殢璁挎ā鐗�", - }, - ], + userList: [], // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, @@ -973,6 +904,7 @@ }, created() { + this.RoutingDataProcessing(); this.gettabList(); this.getvFollowup(); this.auxiliary(); @@ -984,6 +916,7 @@ this.courtyardlist = store.getters.courtyardlist; this.precedencetype = store.getters.precedencetype; }, + mounted() {}, methods: { //鍏叡鏂规硶-------------------- @@ -993,37 +926,50 @@ processElement(element) { return { ...element, isoperation: 0 }; }, + // 璺敱鏁版嵁澶勭悊 + RoutingDataProcessing() { + this.id = this.$route.query.id; + this.task = this.$route.query.task; + + // console.log(this.task, "task"); + // if (this.task) { + // this.id = this.$route.query.id; + // } + }, // 鑾峰彇琛ㄥ崟鏁版嵁 getvFollowup() { - this.id = this.$route.query.id; + if (this.id) { + getvFollowup({ id: this.id }).then((res) => { + if (res.code == 200) { + console.log(2211); + this.ruleForm = res.data; + this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); + this.ruleForm.suitway = this.ruleForm.suitway.split(","); + this.ruleForm.campus = this.ruleForm.campus.split(","); + this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(","); + this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { + return Number(res); + }); + console.log( + this.ruleForm.submoduleID, + "this.ruleForm.submoduleID鍙�" + ); + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; - getvFollowup({ id: this.id }).then((res) => { - this.ruleForm = res.data; - - this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames); - this.ruleForm.suitway = this.ruleForm.suitway.split(","); - this.ruleForm.campus = this.ruleForm.campus.split(","); - this.ruleForm.submoduleID = this.ruleForm.submoduleID.split(","); - this.ruleForm.submoduleID = this.ruleForm.submoduleID.map((res) => { - return Number(res); + this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( + this.processElement + ); + console.log(this.ruleForm.suitway); + } }); - console.log(this.ruleForm.submoduleID, "this.ruleForm.submoduleID鍙�"); - this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList; + getillness({ outid: this.id, type: 3 }).then((res) => { + this.illnesslist = res.rows; + this.illnesslist.forEach((item) => { + item.icdname = item.icd10name; + }); + }); + } - this.dynamicTags = this.ruleForm.ivrLibaTemplateTagList.map( - this.processElement - ); - console.log(this.ruleForm.suitway); - }); - getillnesslist({ - pageNum: 1, - pageSize: 100, - }).then((response) => { - this.optionsillness = response.rows; - }); - getillness({ outid: this.id, type: 3 }).then((res) => { - this.illnesslist = res.rows; - }); listDept(this.queryParams).then((response) => { this.deptList = this.handleTree(response.data, "deptId"); }); @@ -1033,6 +979,20 @@ // 鍒嗙被 getFollowupclassify({}).then((res) => { this.indexAssortlist = res.rows; + if (this.$route.query.assortid) { + this.ruleForm.assortid = Number(this.$route.query.assortid); + } + }); + // 绉戝 + listDept(this.queryParams).then((response) => { + this.deptList = this.handleTree(response.data, "deptId"); + }); + // 鐤剧梾 + getillnesslist({ + pageNum: 1, + pageSize: 100, + }).then((response) => { + this.optionsillness = response.rows; }); getgenerallist({ pageNum: 1, @@ -1068,19 +1028,29 @@ return item; }); }); - + compileFollowup(this.ruleForm).then((res) => { + this.$modal.msgSuccess("缂栬緫鎴愬姛"); + this.confirmillness(res.data); + this.$router.go(-1); + }); + }, + 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 = 3; if (!item.id) { addtargetillness(item).then((res) => {}); } }); - if (this.illnesslistapi.length) { - deltargetillness(this.illnesslistapi.join(",")).then((res) => {}); - } - compileFollowup(this.ruleForm).then((res) => { - this.$modal.msgSuccess("缂栬緫鎴愬姛"); - this.$router.go(-1); - }); + this.illnessVisible = false; + this.$modal.msgSuccess("缂栬緫鎴愬姛"); }, // 绉戝澶勭悊 Departmenttreatment() { @@ -1235,6 +1205,14 @@ }, addtopic(row) { console.log(row); + if ( + this.ruleForm.ivrLibaTemplateScriptVOList.some( + (obj) => obj.scriptTopic == row.scriptTopic + ) + ) { + this.$modal.msgError("璇ラ鐩凡瀛樺湪"); + return; + } getverbaltrick({ id: row.id }).then((res) => { console.log(res, "璇︽儏"); res.data.isoperation = 1; @@ -1244,11 +1222,12 @@ }); this.ruleForm.ivrLibaTemplateScriptVOList.push(res.data); this.sortFn(); + this.$modal.msgSuccess("娣诲姞鎴愬姛"); }); }, handleDelete(row) { this.$modal - .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.questiontitle + '"锛�') + .confirm('鏄惁纭鍒犻櫎闂锛�"' + row.scriptTopic + '"锛�') .then(() => { this.ruleForm.ivrLibaTemplateScriptVOList.splice( this.ruleForm.ivrLibaTemplateScriptVOList.indexOf(row), @@ -1332,47 +1311,6 @@ this.$refs[formName].resetFields(); }, - // 鐤剧梾----------------------- - - 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 = 3; - 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 = ""; - }, // 棰勮--------------- preview() { console.log(this.ruleForm); @@ -1445,7 +1383,7 @@ 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 { + .scriptTopic-dev { margin-bottom: 25px; font-size: 20px !important; .dev-text { -- Gitblit v1.9.3