From 6be49398a90a339a6c72ac9ea7a09fc368acda87 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 30 四月 2025 15:48:08 +0800 Subject: [PATCH] 测试完成 --- src/views/knowledge/questionnaire/compilequer/index.vue | 173 +++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 124 insertions(+), 49 deletions(-) diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue index e30f06e..5a12bb0 100644 --- a/src/views/knowledge/questionnaire/compilequer/index.vue +++ b/src/views/knowledge/questionnaire/compilequer/index.vue @@ -261,9 +261,9 @@ > <el-option class="ruleFormaa" - v-for="item in belongDepts" + v-for="item in flatArray" :key="item.deptCode" - :label="item.deptName" + :label="item.label" :value="item.deptCode" > </el-option> @@ -284,10 +284,10 @@ > <el-option class="ruleFormaa" - v-for="item in belongWards" - :key="item.districtCode" - :label="item.districtName" - :value="item.districtCode" + v-for="item in flatArray" + :key="item.deptCode" + :label="item.label" + :value="item.deptCode" > </el-option> </el-select> </el-form-item @@ -310,7 +310,7 @@ >涓嬩竴姝�</el-button > <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button @click="Departmenttreatment('ruleForm')" + <el-button @click="toExamine('ruleForm')" >淇濆瓨闂嵎鍩虹淇℃伅</el-button > </el-form-item> @@ -435,7 +435,6 @@ align="center" key="nextScriptno" prop="nextScriptno" - :show-overflow-tooltip="true" > <template slot-scope="scope"> <span>{{ @@ -544,7 +543,7 @@ <el-col :span="12"> <el-form-item label="闂鍒嗗��" - v-if="topicobj.scoretype == 1" + v-if="ruleForm.scoreType == 1" > <el-input v-model="topicobj.score" @@ -606,7 +605,7 @@ v-for="item in topicobj.svyLibTemplateTargetoptions" > <el-row :gutter="5"> - <el-col :span="16" + <el-col :span="12" ><el-form-item label="閫夐」鍚嶇О"> <el-input type="text" @@ -616,9 +615,9 @@ > </el-input> </el-form-item ></el-col> - <el-col :span="8"> + <el-col :span="12"> <el-form-item - v-if="topicobj.scoretype == 1" + v-if="ruleForm.scoreType == 1" label="閫夐」鍒嗗��" > <el-input @@ -631,17 +630,17 @@ </el-input> </el-form-item> <el-form-item - v-else-if="topicobj.scoretype == 2" + v-else-if="ruleForm.scoreType == 2" label="ABC绛夌骇" > <el-radio-group v-model="item.score"> - <el-radio label="A">A</el-radio> - <el-radio label="B">B</el-radio> - <el-radio label="C">C</el-radio> + <el-radio :label="1">A</el-radio> + <el-radio :label="2">B</el-radio> + <el-radio :label="3">C</el-radio> </el-radio-group> </el-form-item> <el-form-item - v-else-if="topicobj.scoretype == 3" + v-else-if="ruleForm.scoreType == 3" label="浼樿壇绛夌骇" > <el-radio-group v-model="item.score"> @@ -748,7 +747,7 @@ > <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> <el-button type="info" @click="closeFm('ruleForm')">鍏抽棴</el-button> - <el-button @click="Departmenttreatment('ruleForm')" + <el-button @click="toExamine('ruleForm')" >淇濆瓨闂鏁版嵁</el-button > </div> @@ -982,7 +981,7 @@ <el-col :span="12"> <el-form-item label="璇勪环绫诲瀷"> <el-select - v-model="indexform.scoretype" + v-model="indexform.scoreType" placeholder="璇烽�夋嫨鍒嗙被" > <el-option @@ -1131,7 +1130,7 @@ ></el-col> <el-col :span="11"> <el-form-item - v-if="indexform.scoretype == 1" + v-if="indexform.scoreType == 1" label="鍒嗗��" > <el-input @@ -1143,17 +1142,17 @@ </el-input> </el-form-item> <el-form-item - v-else-if="indexform.scoretype == 2" + v-else-if="indexform.scoreType == 2" label="ABC绛夌骇" > <el-radio-group v-model="item.score"> - <el-radio label="A">A</el-radio> - <el-radio label="B">B</el-radio> - <el-radio label="C">C</el-radio> + <el-radio :label="1">A</el-radio> + <el-radio :label="2">B</el-radio> + <el-radio :label="3">C</el-radio> </el-radio-group> </el-form-item> <el-form-item - v-else-if="indexform.scoretype == 3" + v-else-if="indexform.scoreType == 3" label="浼樿壇绛夌骇" > <el-radio-group v-model="item.score"> @@ -1166,7 +1165,7 @@ <el-col :span="2" - :offsset="indexform.scoretype == 4 ? 11 : 0" + :offsset="indexform.scoreType == 4 ? 11 : 0" > <el-button type="danger" @@ -1263,6 +1262,7 @@ } from "@/api/AiCentre/index"; import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢 import { getToken } from "@/utils/auth"; +import { deptTreeSelect } from "@/api/system/user"; export default { name: "Questionnaireinfo", @@ -1383,6 +1383,7 @@ illnessVisible: false, //鎸囨爣鐤剧梾寮规 Operateit: true, deptOptions: [], + flatArray: [], optionsillness: [], delScriptVOList: [], illnesslistapi: [], @@ -1446,6 +1447,7 @@ created() { this.getissueinfo(); this.gettabList(); + this.getDeptTree(); this.mode = store.getters.Askmode; this.languagelist = store.getters.languagelist; this.usable = store.getters.usable; @@ -1537,21 +1539,49 @@ }); this.tempDetpRelevanceslist = []; this.tempbelongWards = []; - - depthospgetsonlist(this.queryParamsdept).then((res) => { - if (res.code == 200) { - let arr = res.rows; - arr.forEach((item) => { - if (item.deptType == 1) { - this.deptlist.push(item); - this.tempDetpRelevanceslist.push(item.deptCode); - } else if (item.deptType == 2) { - this.hosplist.push(item); - this.tempbelongWards.push(item.deptCode); - } - }); - } + if (this.queryParamsdept.tempid) { + depthospgetsonlist(this.queryParamsdept).then((res) => { + if (res.code == 200) { + let arr = res.rows; + arr.forEach((item) => { + if (item.deptType == 1) { + this.deptlist.push(item); + this.tempDetpRelevanceslist.push(item.deptCode); + } else if (item.deptType == 2) { + this.hosplist.push(item); + this.tempbelongWards.push(item.deptCode); + } + }); + } + }); + } + }, + // 鑾峰彇绉戝鏍� + getDeptTree() { + // 绉戝鍒楄〃 + deptTreeSelect().then((response) => { + this.deptOptions = response.data; + this.flatArray = this.flattenArray(response.data); }); + }, + flattenArray(multiArray) { + let result = []; + + // 閫掑綊鍑芥暟锛岀敤浜庡皢澶氱骇鏁扮粍杞崲涓轰竴缁存暟缁勶紝鍙寘鍚渶搴曞眰鐨勫厓绱� + function flatten(element) { + // 濡傛灉褰撳墠鍏冪礌鏈夊瓙鍏冪礌锛岀户缁�掑綊 + if (element.children && element.children.length > 0) { + element.children.forEach((child) => flatten(child)); + } else { + // 鍏嬮殕鍏冪礌浠ラ伩鍏嶄慨鏀瑰師濮嬫暟鎹� + let item = JSON.parse(JSON.stringify(element)); + result.push(item); // 灏嗘渶搴曞眰鐨勫厓绱犳坊鍔犲埌缁撴灉鏁扮粍 + } + } + + // 浠庨《灞傚厓绱犲紑濮嬮�掑綊 + multiArray.forEach((element) => flatten(element)); + return result; // 杩斿洖鍙寘鍚渶搴曞眰鍏冪礌鐨勪竴缁存暟缁� }, submitForm(formName) { this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��..."); @@ -1562,23 +1592,24 @@ this.ruleForm.categoryid = -1; } // 棰樼洰淇濆瓨澶勭悊 - // 鎻愪氦 - this.ruleForm.svyTemplateLibScripts.forEach((res) => { + // 鎻愪氦 + this.ruleForm.svyTemplateLibScripts.forEach((res) => { if (!res.isoperation) { res.isoperation = 2; } - res.ivrLibaScriptTargetoptionList = - res.svyLibTemplateTargetoptions.map((item) => { + res.ivrLibaScriptTargetoptionList = res.svyLibTemplateTargetoptions.map( + (item) => { if (!item.isoperation) { item.isoperation = 2; item.templateID = this.ruleForm.id; } return item; - }); + } + ); }); - this.delScriptVOList.forEach((item)=>{ - this.ruleForm.svyTemplateLibScripts.push(item) - }) + this.delScriptVOList.forEach((item) => { + this.ruleForm.svyTemplateLibScripts.push(item); + }); if (this.id) { this.ruleForm.isoperation = 2; this.ruleForm.tempDetpRelevances = null; @@ -1605,6 +1636,44 @@ }); } }, + // 棰樼洰鏍¢獙 + toExamine() { + // 閬嶅巻棰樼洰闆嗗悎 + for (let i = 0; i < this.ruleForm.svyTemplateLibScripts.length; i++) { + const question = this.ruleForm.svyTemplateLibScripts[i]; + + // 濡傛灉 scriptType 涓� 4锛屽垯璺宠繃褰撳墠棰樼洰 + if (question.scriptType === 4) { + continue; + } + // 鑾峰彇褰撳墠棰樼洰鐨勯�夐」闆嗗悎 + const options = question.svyLibTemplateTargetoptions; + + // 鍒涘缓涓�涓� Set 鏉ュ瓨鍌ㄩ�夐」鍚嶇О锛岀敤浜庢娴嬮噸澶� + const optionNames = new Set(); + + // 閬嶅巻閫夐」闆嗗悎 + for (let j = 0; j < options.length; j++) { + const option = options[j]; + const optionContent = option.optioncontent; + + // 濡傛灉閫夐」鍚嶇О宸茬粡瀛樺湪浜� Set 涓紝璇存槑閲嶅 + if (optionNames.has(optionContent)) { + this.$message.error( + `棰樼洰 ${question.id} 鐨勯�夐」鍚嶇О "${optionContent}" 閲嶅` + ); + return false; // 杩斿洖 false 琛ㄧず鏍¢獙澶辫触 + } + // 灏嗛�夐」鍚嶇О娣诲姞鍒� Set 涓� + optionNames.add(optionContent); + } + } + + // 濡傛灉鎵�鏈夐鐩兘鏍¢獙閫氳繃锛岃繑鍥� true + console.log("鎵�鏈夐鐩牎楠岄�氳繃锛岄�夐」鍚嶇О鏃犻噸澶�"); + this.Departmenttreatment(); + }, + // 绉戝/闄㈠尯澶勭悊 Departmenttreatment() { this.tempDetpRelevanceslist.forEach((item) => { @@ -1695,7 +1764,7 @@ // 鑾峰彇闂鍒楄〃 getaddtopiclist() { this.drawer = true; - this.queryParams.scoretype = this.ruleForm.scoreType; + this.queryParams.scoreType = this.ruleForm.scoreType; getissuelist(this.queryParams).then((res) => { this.loading = false; this.userList = res.rows; @@ -1884,6 +1953,12 @@ }, // 淇濆瓨绉戝/鐥呭尯 putbelongDepts(id) { + this.tempDetpRelevanceslistform.forEach((item) => { + if (!item.tempid) item.tempid = id; + }); + this.tempbelongWardsform.forEach((item) => { + if (!item.tempid) item.tempid = id; + }); if (this.tempDetpRelevanceslistform.length > 0) { depthospgetson(this.tempDetpRelevanceslistform).then((res) => { if (res.code == 200) { -- Gitblit v1.9.3