From 0529f319b668d11a0479ae3b615ad8418442a10e Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 27 五月 2025 16:19:57 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue |  145 ++++++++++++++++++++++++++++++-----------------
 1 files changed, 92 insertions(+), 53 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index ce30b40..5a12bb0 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -259,7 +259,7 @@
                   filterable
                   placeholder="璇烽�夋嫨绉戝"
                 >
-                <el-option
+                  <el-option
                     class="ruleFormaa"
                     v-for="item in flatArray"
                     :key="item.deptCode"
@@ -282,7 +282,7 @@
                   filterable
                   placeholder="璇烽�夋嫨鐥呭尯"
                 >
-                <el-option
+                  <el-option
                     class="ruleFormaa"
                     v-for="item in flatArray"
                     :key="item.deptCode"
@@ -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>
@@ -543,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"
@@ -605,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"
@@ -615,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
@@ -630,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">
@@ -747,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>
@@ -981,7 +981,7 @@
                     <el-col :span="12">
                       <el-form-item label="璇勪环绫诲瀷">
                         <el-select
-                          v-model="indexform.scoretype"
+                          v-model="indexform.scoreType"
                           placeholder="璇烽�夋嫨鍒嗙被"
                         >
                           <el-option
@@ -1130,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
@@ -1142,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">
@@ -1165,7 +1165,7 @@
 
                       <el-col
                         :span="2"
-                        :offsset="indexform.scoretype == 4 ? 11 : 0"
+                        :offsset="indexform.scoreType == 4 ? 11 : 0"
                       >
                         <el-button
                           type="danger"
@@ -1263,7 +1263,6 @@
 import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
 import { getToken } from "@/utils/auth";
 import { deptTreeSelect } from "@/api/system/user";
-
 
 export default {
   name: "Questionnaireinfo",
@@ -1384,7 +1383,7 @@
       illnessVisible: false, //鎸囨爣鐤剧梾寮规
       Operateit: true,
       deptOptions: [],
-      flatArray:[],
+      flatArray: [],
       optionsillness: [],
       delScriptVOList: [],
       illnesslistapi: [],
@@ -1540,21 +1539,22 @@
       });
       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() {
@@ -1592,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;
@@ -1635,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) => {
@@ -1725,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;
@@ -1914,12 +1953,12 @@
     },
     // 淇濆瓨绉戝/鐥呭尯
     putbelongDepts(id) {
-      this.tempDetpRelevanceslistform.forEach(item=>{
-        if (!item.tempid) item.tempid=id;
-      })
-      this.tempbelongWardsform.forEach(item=>{
-        if (!item.tempid) item.tempid=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