From 46c02089d1efddc8f2cd5443028a9cdf3b2d4c0f Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 19 六月 2024 15:30:11 +0800
Subject: [PATCH] 测试完成

---
 src/api/AiCentre/questionnaire.js                      |    2 
 src/views/knowledge/questionbank/particulars/index.vue |  175 +++++++++++++++++++++++++++++++------------
 src/views/knowledge/questionbank/index.vue             |   18 ++--
 src/store/getters.js                                   |    6 
 4 files changed, 138 insertions(+), 63 deletions(-)

diff --git a/src/api/AiCentre/questionnaire.js b/src/api/AiCentre/questionnaire.js
index c513ad9..01520b7 100644
--- a/src/api/AiCentre/questionnaire.js
+++ b/src/api/AiCentre/questionnaire.js
@@ -25,7 +25,7 @@
 // 鏂板鎴栦慨鏀归棶鍗烽棶棰樿鎯�
 export function compileissue(data) {
     return request({
-      url: "/smartor/svyscript/saveOrUpdateTopic",
+      url: "/smartor/svyscript/saveOrUpdateScript",
       method: "post",
       data: data,
     });
diff --git a/src/store/getters.js b/src/store/getters.js
index a27a028..cb8425e 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -182,7 +182,7 @@
    // 鍊肩被鍨嬶紙闂嵎锛�
    askvaluetype: (state) => [
     {
-      value: 1,
+      value: '1',
       label: "鍗曢��",
       raw: {
         cssClass: "",
@@ -190,7 +190,7 @@
       },
     },
     {
-      value: 2,
+      value: '2',
       label: "澶氶��",
       raw: {
         cssClass: "",
@@ -198,7 +198,7 @@
       },
     },
     {
-      value: 3,
+      value: '3',
       label: "鏂囨湰鏀堕泦",
       raw: {
         cssClass: "",
diff --git a/src/views/knowledge/questionbank/index.vue b/src/views/knowledge/questionbank/index.vue
index d3ff84f..573f072 100644
--- a/src/views/knowledge/questionbank/index.vue
+++ b/src/views/knowledge/questionbank/index.vue
@@ -173,23 +173,23 @@
                 label="搴忓彿"
                 fixed
                 align="center"
-                key="topicid"
-                prop="topicid"
+                key="id"
+                prop="id"
               />
               <el-table-column
                 label="棰樼洰鏍囬"
                 fixed
                 align="center"
-                key="topic"
-                prop="topic"
+                key="script"
+                prop="script"
                 width="200"
                 :show-overflow-tooltip="true"
               />
               <el-table-column
                 label="棰樼洰鍐呭"
                 align="center"
-                key="topicContent"
-                prop="topicContent"
+                key="scriptContent"
+                prop="scriptContent"
                 width="200"
                 :show-overflow-tooltip="true"
               />
@@ -392,13 +392,13 @@
     <el-dialog title="棰樼洰棰勮" :visible.sync="topicVisible" width="50%">
       <div class="preview-left">
         <div class="dev-text">
-          <span>{{ topicform.topicContent }}</span>
+          <span>{{ topicform.scriptContent }}</span>
         </div>
 
         <div class="dev-xx" v-if="topicform.valueType == 1">
           <el-radio-group v-model="topicform.asrtext">
             <el-radio
-              v-for="(topicforms, index) in topicform.svyLibTopicoptions"
+              v-for="(topicforms, index) in topicform.svyLibScriptOptions"
               :key="topicforms.optioncontent"
               :label="topicforms.optioncontent"
               >{{ topicforms.optioncontent }}</el-radio
@@ -543,7 +543,7 @@
     compileUpdate(row) {
       this.$router.push({
         path: "/knowledge/questionbank/particulars/",
-        query: { id: row.topicid },
+        query: { id: row.id },
       });
     },
     // 鐤剧梾-----------------------
diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index 71d52f4..407fbb6 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -31,7 +31,7 @@
                       :label="group.name"
                     >
                       <el-option
-                        v-for="item in group.svyLibTopicCategoryList"
+                        v-for="item in group.svyLibScriptCategoryList"
                         :key="item.id"
                         :label="item.name"
                         :value="item.id"
@@ -44,7 +44,7 @@
               <el-col :span="10">
                 <el-form-item label="璇勪环绫诲瀷">
                   <el-select
-                    v-model="topicobj.evaluateid"
+                    v-model="topicobj.scoretype"
                     placeholder="璇烽�夋嫨鍒嗙被"
                   >
                     <el-option
@@ -60,14 +60,14 @@
             </el-row>
 
             <el-row :gutter="10">
-              <el-col :span="6"
+              <el-col :span="8"
                 ><el-form-item label="棰樼洰鏍囬">
                   <el-input
-                    v-model="topicobj.topic"
+                    v-model="topicobj.script"
                     placeholder="璇疯緭鍏ユ爣棰�"
                   ></el-input> </el-form-item
               ></el-col>
-              <el-col :span="6"
+              <el-col :span="8"
                 ><el-form-item label="鏄惁鍙敤">
                   <el-select
                     v-model="topicobj.isavailable"
@@ -105,7 +105,7 @@
               ></el-col>
             </el-row>
             <el-row :gutter="10">
-              <el-col :span="6"
+              <el-col :span="8"
                 ><el-form-item label="鏄惁蹇呭~">
                   <el-select
                     v-model="topicobj.ismandatory"
@@ -123,10 +123,10 @@
                     </el-option>
                   </el-select> </el-form-item
               ></el-col>
-              <el-col :span="6"
+              <el-col :span="8"
                 ><el-form-item label="棰樼洰绫诲瀷">
                   <el-select
-                    v-model="topicobj.valueType"
+                    v-model="topicobj.scripttype"
                     size="medium"
                     filterable
                     placeholder="璇烽�夋嫨鍒嗙被"
@@ -144,9 +144,10 @@
               <el-col :span="8"
                 ><el-form-item label="閫傜敤鏂瑰紡">
                   <el-select
-                    v-model="topicobj.suitway"
+                    v-model="suitwaylist"
                     size="medium"
                     filterable
+                    multiple
                     placeholder="璇烽�夋嫨鍒嗙被"
                   >
                     <el-option
@@ -163,9 +164,9 @@
               <el-input
                 style="width: 40vw"
                 type="textarea"
-                id="topicContent"
-                v-model="topicobj.topicContent"
-                @focus="handleInput('topicContent')"
+                id="scriptContent"
+                v-model="topicobj.scriptContent"
+                @focus="handleInput('scriptContent')"
                 placeholder="璇疯緭鍏ユ爣棰�"
               ></el-input>
             </el-form-item>
@@ -315,7 +316,7 @@
             </div>
             <div
               class="topicxq"
-              v-for="item in topicobj.svyLibTopicoptions"
+              v-for="item in topicobj.svyLibScriptOptions"
               v-if="item.isoperation != 3"
             >
               <el-row :gutter="10">
@@ -329,16 +330,37 @@
                     >
                     </el-input> </el-form-item
                 ></el-col>
-                <el-col :span="11"
-                  ><el-form-item label="鍒嗗��">
+                <el-col :span="11">
+                  <el-form-item v-if="topicobj.scoretype == 1" label="鍒嗗��">
                     <el-input
                       type="text"
-                      placeholder="璇疯緭鍏�"
+                      placeholder="璇疯緭鍏ラ�夐」鍒嗗��"
                       v-model="item.score"
                       show-word-limit
                     >
-                    </el-input> </el-form-item
-                ></el-col>
+                    </el-input>
+                  </el-form-item>
+                  <el-form-item
+                    v-else-if="topicobj.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-group>
+                  </el-form-item>
+                  <el-form-item
+                    v-else-if="topicobj.scoretype == 3"
+                    label="浼樿壇绛夌骇"
+                  >
+                    <el-radio-group v-model="item.score">
+                      <el-radio label="浼�">浼�</el-radio>
+                      <el-radio label="鑹�">鑹�</el-radio>
+                      <el-radio label="宸�">宸�</el-radio>
+                    </el-radio-group>
+                  </el-form-item>
+                </el-col>
                 <el-col :span="2">
                   <el-button
                     type="danger"
@@ -370,7 +392,7 @@
       title="娣诲姞閫夐」"
       :visible.sync="drawer"
       custom-class="demo-drawer"
-      width="66%"
+      size="50%"
     >
       <div class="preview-left">
         <el-form
@@ -471,7 +493,7 @@
   data() {
     return {
       topicobj: {
-        svyLibTopicoptions: [],
+        svyLibScriptOptions: [],
       },
       inputVisible: false,
       inputValue: "",
@@ -480,6 +502,7 @@
       drawer: false,
       loading: false,
       id: [],
+      suitwaylist: [],
       targetList: [],
       dynamicTags: [],
       optionsclass: [],
@@ -514,9 +537,9 @@
       illnesslist: [],
       classifylist: [],
       appraiselist: [
-        { label: "鍒嗘暟", value: 1 },
-        { label: "ABC绛夌骇", value: 2 },
-        { label: "浼樿壇绛夌骇", value: 3 },
+        { label: "鍒嗘暟", value: "1" },
+        { label: "ABC绛夌骇", value: "2" },
+        { label: "浼樿壇绛夌骇", value: "3" },
       ],
       optionstag: [],
       valuetype: [],
@@ -528,6 +551,7 @@
   created() {
     this.gettabList();
     this.getissueinfo();
+    this.test();
     this.gettargetInfo();
     this.mode = store.getters.mode;
     this.languagelist = store.getters.languagelist;
@@ -563,13 +587,15 @@
       // 鍒嗙被
       getissueclassify({}).then((res) => {
         this.classifylist = res.rows;
+        console.log(this.classifylist, "鍒嗙被");
       });
       if (!this.id) {
         return;
       }
-      getissuelist({ topicid: this.id }).then((res) => {
+      getissuelist({ id: this.id }).then((res) => {
         this.topicobj = res.rows[0];
         this.dynamicTags = this.topicobj.tag.split(",");
+        this.suitwaylist = this.topicobj.suitway.split(",");
         this.variablelist = JSON.parse(this.topicobj.otherdata)
           ? JSON.parse(this.topicobj.otherdata)
           : this.variablelist;
@@ -592,7 +618,8 @@
     },
     // 鏂板鎴栦慨鏀硅鎯�
     compileissue() {
-      this.topicobj.svyLibTopicoptions = this.topicobj.svyLibTopicoptions.map(
+      console.log(11223);
+      this.topicobj.svyLibScriptOptions = this.topicobj.svyLibScriptOptions.map(
         (item) => {
           if (item.isoperation != 1 && item.isoperation != 3) {
             item.isoperation = 2;
@@ -602,6 +629,7 @@
       );
       this.topicobj.otherdata = JSON.stringify(this.variablelist);
       this.topicobj.tag = this.dynamicTags.join(",");
+      this.topicobj.suitway = this.suitwaylist.join(",");
       if (this.id) {
         this.topicobj.isoperation = 2;
         compileissue(this.topicobj).then((res) => {
@@ -646,16 +674,20 @@
     },
     // 鍒犻櫎閫夐」
     deletexuanx(row) {
-      const index = this.getIndexInArray(this.topicobj.svyLibTopicoptions, row);
-      if (this.topicobj.svyLibTopicoptions[index].topicid) {
-        this.topicobj.svyLibTopicoptions[index].isoperation = 3;
+      const index = this.getIndexInArray(
+        this.topicobj.svyLibScriptOptions,
+        row
+      );
+      if (this.topicobj.svyLibScriptOptions[index].id) {
+        this.topicobj.svyLibScriptOptions[index].isoperation = 3;
       } else {
-        this.topicobj.svyLibTopicoptions.splice(index, 1);
+        this.topicobj.svyLibScriptOptions.splice(index, 1);
       }
     },
     // 鏂板閫夐」
     addoption() {
-      this.topicobj.svyLibTopicoptions.push({
+      console.log(this.topicobj, "obj");
+      this.topicobj.svyLibScriptOptions.push({
         score: "",
         isoperation: 1,
       });
@@ -671,13 +703,13 @@
           console.log(this.topicobj);
           this.topicobj.topic = row.targetname;
           this.topicobj.valueType = row.valueType;
-          this.topicobj.topicContent = row.targetdesc;
+          this.topicobj.scriptContent = row.targetdesc;
           this.topicobj.isavailable = "0";
           this.topicobj.language = "鏅�氳瘽";
-          this.topicobj.svyLibTopicoptions = [];
+          this.topicobj.svyLibScriptOptions = [];
           const labellist = row.targetoptionList;
           labellist.forEach((item) => {
-            this.topicobj.svyLibTopicoptions.push({
+            this.topicobj.svyLibScriptOptions.push({
               optioncontent: item.targetvalue,
               isoperation: 1,
             });
@@ -787,27 +819,27 @@
       this.inputVisibleillness = false;
       this.inputValueillness = "";
     },
-    // 淇濆瓨
-    confirmillness() {
-      this.illnesslist.forEach((item, index) => {
-        if (!item.id) {
-          addtargetillness(item).then((res) => {});
-        }
-      });
-      if (this.illnesslistapi.length) {
-        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
-      }
-      this.illnessVisible = false;
-      this.$modal.msgSuccess("缂栬緫鎴愬姛");
-    },
+    // // 淇濆瓨
+    // confirmillness() {
+    //   this.illnesslist.forEach((item, index) => {
+    //     if (!item.id) {
+    //       addtargetillness(item).then((res) => {});
+    //     }
+    //   });
+    //   if (this.illnesslistapi.length) {
+    //     deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
+    //   }
+    //   this.illnessVisible = false;
+    //   this.$modal.msgSuccess("缂栬緫鎴愬姛");
+    // },
     resetQuery() {},
     // 渚挎嵎鏍囩
     tsgnameto(row) {
       let inputValueArr = "";
       let el = document.querySelector("#" + this.currentInputId);
       //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛�
-      if (this.currentInputId == "topicContent") {
-        inputValueArr = this.topicobj.topicContent.split("");
+      if (this.currentInputId == "scriptContent") {
+        inputValueArr = this.topicobj.scriptContent.split("");
         console.log(123);
       } else if (this.currentInputId == "nomatchtext") {
         inputValueArr = this.topicobj.nomatchtext.split("");
@@ -829,8 +861,8 @@
       // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪��
       inputValueArr = inputValueArr.join("");
       console.log(inputValueArr);
-      if (this.currentInputId == "topicContent") {
-        this.topicobj.topicContent = inputValueArr;
+      if (this.currentInputId == "scriptContent") {
+        this.topicobj.scriptContent = inputValueArr;
       } else if (this.currentInputId == "nomatchtext") {
         this.topicobj.nomatchtext = inputValueArr;
       } else if (this.currentInputId == "sliencetext") {
@@ -866,6 +898,49 @@
       console.log("杈撳叆妗嗙殑鍊煎凡鏇存柊:", this.currentInputId);
       // 鍦ㄨ繖閲屾墽琛屾洿鏂版暟鎹殑閫昏緫
     },
+    // 娣峰悎璺嚎
+    generateCombinations(arrays, currentIndex = 0, currentCombination = []) {
+      if (currentIndex === arrays.length) {
+        return [currentCombination];
+      }
+
+      const currentArray = arrays[currentIndex];
+      const newCombinations = [];
+
+      for (const item of currentArray) {
+        const newCombination = [...currentCombination, item];
+        const combinations = this.generateCombinations(
+          arrays,
+          currentIndex + 1,
+          newCombination
+        );
+        newCombinations.push(...combinations);
+      }
+      return newCombinations;
+    },
+    // 鎵ц
+    test() {
+      const arrays = [
+        ["2", "3", "4"],
+        ["1", "2"],
+        ["3", "4", "5"],
+        ["3", "2", "5"],
+      ];
+
+      const newMixArray = this.generateCombinations(arrays);
+      console.log(newMixArray,'鍏ㄩ儴璺嚎');
+      this.screen(newMixArray);
+    },
+    // 鏁扮粍姹傚拰
+    sumArray(arr) {
+      return arr.reduce((acc, curr) => acc + parseInt(curr), 0);
+    },
+    // 绛涢�夐敊璇矾绾�
+    screen(data) {
+      const arraysGreaterThan10 = data.filter((arr) => this.sumArray(arr) > 13);
+
+      console.log(arraysGreaterThan10,'绛涢�夐敊璇矾绾垮ぇ浜�13鍒�');
+    },
   },
 };
 </script>

--
Gitblit v1.9.3