From d27e3ada8f1e9c005747988e9bf2519fcd6da21a Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 09 九月 2024 12:45:44 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionnaire/compilequer/index.vue |  219 +++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 165 insertions(+), 54 deletions(-)

diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue
index 0eb6d7e..7d0fc22 100644
--- a/src/views/knowledge/questionnaire/compilequer/index.vue
+++ b/src/views/knowledge/questionnaire/compilequer/index.vue
@@ -41,7 +41,7 @@
         >
           <el-row :gutter="10">
             <el-col :span="10">
-              <el-form-item label="闂嵎鍒嗙被" prop="region">
+              <el-form-item label="闂嵎鍒嗙被" prop="categoryid">
                 <el-select
                   v-model="ruleForm.categoryid"
                   size="medium"
@@ -65,7 +65,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="10">
-              <el-form-item label="璇勪环绫诲瀷">
+              <el-form-item label="璇勪环绫诲瀷" prop="scoreType">
                 <el-select
                   v-model="ruleForm.scoreType"
                   placeholder="璇烽�夋嫨鍒嗙被"
@@ -81,12 +81,12 @@
               </el-form-item>
             </el-col>
           </el-row>
-          <el-form-item label="闂嵎鏍囬" prop="name">
+          <el-form-item label="闂嵎鏍囬" prop="svyname">
             <div style="width: 30%">
               <el-input v-model="ruleForm.svyname"></el-input>
             </div>
           </el-form-item>
-          <el-form-item label="闂嵎鎻忚堪">
+          <el-form-item label="闂嵎鎻忚堪" prop="description">
             <el-input
               style="width: 40vw"
               type="textarea"
@@ -98,7 +98,19 @@
           ></el-form-item>
 
           <el-row>
-            <el-form-item label="鏍囩" prop="desc">
+            <el-form-item  prop="dynamicTags" >
+              <template #label>
+                    鏍囩
+                    <el-tooltip
+                      class="item"
+                      effect="light"
+                      content="鍑嗙‘銆佹壖瑕併�佸閲嶇殑鏍囩锛屽彲浠ヨ鎮ㄥ湪绯荤粺浣跨敤涓柟渚跨殑鏌ユ壘鍒拌妯$増銆�"
+                      placement="top-start"
+                    >
+                      <i class="el-icon-warning-outline"></i>
+                    </el-tooltip>
+                    <!-- 鍦ㄦ爣绛惧悗鎻掑叆绾㈣壊鏄熷彿 -->
+                  </template>
               <div class="xinz-inf">
                 <el-tag
                   :key="tag.tagname"
@@ -142,7 +154,18 @@
             </el-form-item>
           </el-row>
           <div class="xinz-infs">
-            <el-form-item label="閫傜敤鐤剧梾" prop="region">
+            <el-form-item >
+              <template #label>
+                閫傜敤鐤剧梾
+                <el-tooltip
+                  class="item"
+                  effect="light"
+                  content="閫夋嫨濂介�傜敤鐤剧梾鍚庯紝鍙互鏂逛究鎮ㄩ�氳繃鐤剧梾璇婃柇鏌ユ壘鍒板搴旂殑鐥呬汉!"
+                  placement="top-start"
+                >
+                  <i class="el-icon-warning-outline"></i>
+                </el-tooltip>
+              </template>
               <el-tag
                 v-for="tag in displayedTags"
                 :key="tag.icdid"
@@ -168,7 +191,7 @@
                 ></el-input> </el-form-item
             ></el-col>
             <el-col :span="9">
-              <el-form-item label="鍙敤鐘舵��" prop="region">
+              <el-form-item label="鍙敤鐘舵��" prop="isAvailable">
                 <el-radio-group v-model="ruleForm.isAvailable">
                   <el-radio
                     v-for="(item, index) in usable"
@@ -179,7 +202,7 @@
               </el-form-item></el-col
             >
           </el-row>
-          <el-form-item label="闂嵎鏂瑰紡" prop="region">
+          <el-form-item label="闂嵎鏂瑰紡" prop="suitway">
             <el-select
               v-model="ruleForm.suitway"
               size="medium"
@@ -198,37 +221,56 @@
             </el-select>
           </el-form-item>
 
-          <el-form-item label="閫傜敤闄㈠尯" prop="region">
-            <el-select
-              v-model="ruleForm.campus"
-              size="medium"
-              filterable
-              placeholder="璇烽�夋嫨鍒嗙被"
+          <el-row>
+            <el-col :span="10"
+              ><el-form-item label="閫傜敤闄㈠尯" prop="region">
+                <el-select
+                  v-model="ruleForm.campus"
+                  size="medium"
+                  filterable
+                  placeholder="璇烽�夋嫨鍒嗙被"
+                >
+                  <el-option
+                    class="ruleFormaa"
+                    v-for="item in courtyardlist"
+                    :key="item.label"
+                    :label="item.label"
+                    :value="item.label"
+                  >
+                  </el-option>
+                </el-select> </el-form-item
+            ></el-col>
+            <el-col :span="12"
+              ><el-form-item label="閫傜敤绉戝" prop="region">
+                <el-cascader
+                style="width: 400px;"
+                  v-model="tempDetpRelevanceslist"
+                  :options="deptList"
+                  :props="props"
+                  :show-all-levels="false"
+                  clearable
+                >
+                  <template slot-scope="{ node, data }">
+                    <span>{{ data.deptName }}</span>
+                    <span v-if="!node.isLeaf">
+                      ({{ data.children.length }})
+                    </span>
+                  </template>
+                </el-cascader>
+              </el-form-item></el-col
             >
-              <el-option
-                class="ruleFormaa"
-                v-for="item in courtyardlist"
-                :key="item.label"
-                :label="item.label"
-                :value="item.label"
-              >
-              </el-option>
-            </el-select>
-          </el-form-item>
-          <el-form-item label="閫傜敤绉戝" prop="region">
-            <el-cascader
-              v-model="tempDetpRelevanceslist"
-              :options="deptList"
-              :props="props"
-              :show-all-levels="false"
-              clearable
+          </el-row>
+          <el-form-item label="闂嵎缁撴潫璇�" prop="conclusion">
+            <el-input
+              style="width: 40vw"
+              type="textarea"
+              autosize
+              placeholder="璇疯緭鍏ュ唴瀹�"
+              v-model="ruleForm.conclusion"
             >
-              <template slot-scope="{ node, data }">
-                <span>{{ data.deptName }}</span>
-                <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
-              </template>
-            </el-cascader>
-          </el-form-item>
+            </el-input
+          ></el-form-item>
+
           <el-form-item>
             <el-button type="success" @click="nextstep('ruleForm')"
               >涓嬩竴姝�</el-button
@@ -497,6 +539,16 @@
                     <el-radio :label="0">鍚�</el-radio>
                   </el-radio-group>
                 </el-form-item>
+                <el-form-item label="閫変腑鎻愮ず" v-if="topicobj.scriptType != 1">
+                  <el-input
+                    style="width: 24vw"
+                    type="textarea"
+                    autosize
+                    placeholder="璇疯緭鍏ュ唴瀹�"
+                    v-model="topicobj.prompt"
+                  >
+                  </el-input
+                ></el-form-item>
                 <div
                   v-if="topicobj.scriptType == 1 || topicobj.scriptType == 2"
                 >
@@ -565,10 +617,10 @@
                           </el-input> </el-form-item
                       ></el-col>
                     </el-row>
-                    <el-row :gutter="10">
+                    <el-row :gutter="10" v-if="topicobj.scriptType == 1">
                       <el-form-item label="閫変腑鎻愮ず">
                         <el-input
-                          style="width: 20vw"
+                          style="width: 24vw"
                           type="textarea"
                           autosize
                           placeholder="璇疯緭鍏ュ唴瀹�"
@@ -695,7 +747,7 @@
             <div
               class="scriptTopic-dev"
               :key="item.sort"
-              v-if="item.scriptType == 3"
+              v-if="item.scriptType == 4"
             >
               <div class="dev-text">
                 {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span>
@@ -1069,7 +1121,7 @@
                         </el-radio-group>
                       </el-form-item>
                     </el-row>
-                    <el-row :gutter="10">
+                    <el-row :gutter="10" v-if="item.scriptType == 1">
                       <el-form-item label="閫変腑鎻愮ず">
                         <el-input
                           style="width: 400px"
@@ -1179,11 +1231,42 @@
         svyTemplateLibScripts: [],
         tempDetpRelevances: [],
         svyLibTemplateTagList: [],
+        scoreType:'4',
+        isAvailable:'0'
       },
       indexform: {
         svyLibTemplateTargetoptions: [],
       },
-      rules: {},
+       // 琛ㄥ崟鏍¢獙
+       rules: {
+        categoryid: [
+          { required: true, message: "闂嵎鍒嗙被涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        scoreType: [
+          { required: true, message: "璇勪环绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        svyname: [
+          { required: true, message: "闂嵎鏍囬涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        isAvailable: [
+          { required: true, message: "鍙敤鐘舵�佷笉鑳戒负绌�", trigger: "blur" },
+        ],
+        scriptTopic: [
+          { required: true, message: "棰樼洰鏍囬涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        ismandatory: [
+          { required: true, message: "鏄惁蹇呭~涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        scriptType: [
+          { required: true, message: "棰樼洰绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        suitway: [
+          { required: true, message: "闂嵎鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        conclusion: [
+          { required: true, message: "闂嵎缁撴潫璇笉鑳戒负绌�", trigger: "blur" },
+        ],
+      },
       rulesa: {},
       optionsclass: [], //鍒嗙被鍒楄〃
       optionlist: [
@@ -1277,14 +1360,28 @@
     };
   },
   activated() {
+    console.log(this.id);
+
     if (this.id != this.$route.query.id) {
-      this.gettabList();
       this.getissueinfo();
+      this.gettabList();
+    } else {
+      this.ruleForm.svyTemplateLibScripts =
+        this.ruleForm.svyTemplateLibScripts.filter(
+          (item) => item.isoperation != 3
+        );
+      this.ruleForm.svyLibTemplateTagList =
+        this.ruleForm.svyLibTemplateTagList.filter(
+          (item) => item.isoperation != 3
+        );
+      this.delScriptVOList = [];
+      this.$forceUpdate();
+      console.log(this.ruleForm.svyTemplateLibScripts);
     }
   },
   created() {
-    this.gettabList();
     this.getissueinfo();
+    this.gettabList();
     this.mode = store.getters.Askmode;
     this.languagelist = store.getters.languagelist;
     this.usable = store.getters.usable;
@@ -1337,6 +1434,15 @@
     // 鑾峰彇鏁版嵁
     getissueinfo() {
       this.id = this.$route.query.id;
+     this.ruleForm= {
+        svyTemplateLibScripts: [],
+        tempDetpRelevances: [],
+        svyLibTemplateTagList: [],
+        scoreType:'4',
+        isAvailable:'0'
+      },
+      this.topicobj = {};
+
       if (this.id) {
         getQtemplateobj({ svyid: this.id }).then((res) => {
           this.ruleForm = res.rows[0];
@@ -1365,9 +1471,13 @@
       });
     },
     submitForm(formName) {
-      this.$modal.loading("姝e湪涓婁紶鏁版嵁锛岃绋嶅��...");
-      this.ruleForm.suitway = this.ruleForm.suitway.join(",");
-
+      this.$modal.loading("姝e湪淇淇濆瓨鏁版嵁锛岃绋嶅��...");
+      if (Array.isArray(this.ruleForm.suitway)) {
+        this.ruleForm.suitway = this.ruleForm.suitway.join(",");
+      }
+      if (!this.ruleForm.categoryid) {
+        this.ruleForm.categoryid = -1;
+      }
       if (this.id) {
         this.ruleForm.isoperation = 2;
         compileQtemplate(this.ruleForm).then((res) => {
@@ -1463,7 +1573,6 @@
     // 鏂板棰樼洰
     addtopic(row) {
       row.isoperation = 1;
-      console.log(row, "row");
       row.svyLibScriptOptions.forEach((item) => {
         item.isoperation = 1;
       });
@@ -1482,7 +1591,6 @@
     handleUpdate(row) {
       this.topicobj = row;
       this.radioas = "";
-      console.log(this.topicobj, "鐪嬫暟鎹�");
       // getissuelist({ svyid: row.svyid }).then((res) => {
       // });
     },
@@ -1537,7 +1645,7 @@
           this.drawer = false;
 
           this.sortFn();
-          this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鐗堝け鏁�");
+          this.$modal.msgSuccess("棰樼洰鏂板鎴愬姛锛屼繚瀛樻ā鏉垮け鏁�");
         });
     },
     // 鏂板鍙橀噺
@@ -1791,7 +1899,7 @@
     sumArray(arr) {
       // const arrsum = arr;
       // arrsum.forEach((item) => {
-      //   // 鍒ゆ柇棰樼洰鍜屾ā鐗堝眰绾�
+      //   // 鍒ゆ柇棰樼洰鍜屾ā鏉垮眰绾�
       //   console.log(item, "涓�鏉¢摼璺�");
 
       //   const totalScore = item.reduce((accumulator, current) => {
@@ -1808,14 +1916,17 @@
 
       const allGreaterThanTen = arr.every((array) => {
         const totalScore = array.reduce((accumulator, current) => {
-          return accumulator + current.score;
+          return accumulator + Number(current.score);
         }, 0);
+        console.log(totalScore);
+        console.log(this.ruleForm.scriptScore);
+
         return totalScore == this.ruleForm.scriptScore;
       });
       if (allGreaterThanTen) {
-        this.$modal.msgSuccess("棰樼洰鍒嗗�肩疮鍔犲拰妯$増鎬诲垎鐩哥");
+        this.$modal.msgSuccess("鍒嗗�兼牎楠屾垚鍔�");
       } else {
-        this.$modal.msgError("棰樼洰鍒嗗�肩疮鍔犲拰妯$増鍒嗗�间笉绗�");
+        this.$modal.msgError("棰樼洰鍒嗗�肩疮鍔犲拰妯℃澘鍒嗗�间笉绗�");
       }
     },
 

--
Gitblit v1.9.3