From a346cfbcb03a303dca252d910d2181f00e7adc20 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 03 九月 2024 10:39:10 +0800
Subject: [PATCH] 测试完成

---
 src/views/outsideChainwt.vue |  180 ++++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 126 insertions(+), 54 deletions(-)

diff --git a/src/views/outsideChainwt.vue b/src/views/outsideChainwt.vue
index ccb3669..9bbe27d 100644
--- a/src/views/outsideChainwt.vue
+++ b/src/views/outsideChainwt.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="questionnaire">
     <div class="CONTENT">
-      <div class="title">浜屾湡闂嵎璋冩煡琛�</div>
+      <div class="title">{{ taskname ? taskname : "闂嵎" }}</div>
       <div class="preview-left">
         <!-- 鍗曢�� -->
         <div
@@ -9,33 +9,61 @@
           v-for="(item, index) in questionList"
           :key="item.aaa"
         >
-          <div class="dev-text">
-            {{ index + 1 }}銆�<span>{{ item.scriptContent }}</span>
+          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 1">
+            <div class="dev-text">
+              {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span>
+            </div>
+            <div class="dev-xx">
+              <el-radio-group v-model="item.scriptResult">
+                <el-radio
+                  v-for="(items, index) in item.svyLibTemplateTargetoptions"
+                  :key="index"
+                  :label="index"
+                  >{{ items.optioncontent }}</el-radio
+                >
+              </el-radio-group>
+            </div>
           </div>
-
-          <div class="dev-xx" v-if="item.valueType == 1">
-            <el-radio-group v-model="item.asrtext">
-              <el-radio
-                v-for="(items, index) in item.ivrLibaScriptTargetoptionList"
-                :key="items.id"
-                :label="items.targetvalue"
-                >{{ items.targetvalue }}</el-radio
+          <!-- 澶氶�� -->
+          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2">
+            <div class="dev-text">
+              {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span>
+            </div>
+            <div class="dev-xx">
+              <el-checkbox-group v-model="item.scriptResult">
+                <el-checkbox
+                  @change="$forceUpdate()"
+                  v-for="(items, indexs) in item.svyLibTemplateTargetoptions"
+                  :key="indexs"
+                  :label="items.optioncontent"
+                >
+                  {{ items.optioncontent }}
+                </el-checkbox>
+              </el-checkbox-group>
+            </div>
+          </div>
+          <!-- 濉┖ -->
+          <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 4">
+            <div class="dev-text">
+              {{ index + 1 }}銆乕闂瓟]<span>{{ item.scriptContent }}</span>
+            </div>
+            <div class="dev-xx">
+              <el-input
+                type="textarea"
+                :rows="2"
+                placeholder="璇疯緭鍏ョ瓟妗�"
+                v-model="item.scriptResult"
+                clearable
               >
-            </el-radio-group>
-          </div>
-          <div v-else>
-            <el-input
-              type="textarea"
-              placeholder="璇疯緭鍏ュ唴瀹�"
-              v-model.sync="item.asrtext"
-              :rows="2"
-            />
+              </el-input>
+            </div>
           </div>
         </div>
       </div>
       <el-form :model="formData" label-width="80px">
         <el-form-item>
-          <el-button type="primary" @click="submitForm">鎻愪氦闂嵎</el-button>
+          <el-button type="primary" @click="cache(true)">鎻愪氦闂嵎</el-button>
+          <el-button type="primary" @click="cache">缂撳瓨闂嵎</el-button>
         </el-form-item>
       </el-form>
     </div>
@@ -45,7 +73,9 @@
 <script>
 import {
   getExternalfollowup,
-  SetsaveQuestionAnswer,
+  getCachequestionnaire,
+  Cachequestionnaire,
+  Submitaquestionnaire,
 } from "@/api/AiCentre/index";
 import JSEncrypt from "jsencrypt";
 export default {
@@ -74,25 +104,60 @@
   methods: {
     // 鑾峰彇鏁版嵁
     getQuestionnaire() {
-      let taskid = this.$route.query.param1;
-      let patid = this.$route.query.param2;
+      this.taskid = decodeURIComponent(this.$route.query.param1);
+      this.patid = decodeURIComponent(this.$route.query.param2);
+      this.taskname = this.$route.query.param3;
       // let taskid =
       //   "OFp7tn/B6x7IzKJetvGWHdSWBj7msRlnlj6am9dyuHTH6sEt4uBbVCUXs5kcF/e4O2W6vqHf2Bz9K3/evbYDmw==";
       // let patid =
       //   "CVk0j8O86AeCqhV5WPsBBYDg9fec0wDoDlP9imYK4wDBNIkxywZzMJEGlPagOxnq6qr2WYZo0U8MUGWRGnq8ZA==";
-      this.taskid = this.decrypt(taskid);
-      this.patid = this.decrypt(patid);
+      // this.taskid = this.decrypt(taskid);
+      // this.patid = this.decrypt(patid);
 
       // this.$modal.msgSuccess("鐢ㄦ埛id涓�" + this.patid);
       // this.$modal.msgSuccess("浠诲姟id涓�" + this.taskid);
-      let taskids = this.encrypt(this.taskid);
-      let patids = this.encrypt(this.patid);
-      getExternalfollowup({ param1: taskids, param2: patids }).then((res) => {
-        if (res.code == 200) {
-          this.questionList = res.rows;
+      // let taskids = this.encrypt(this.taskid);
+      // let patids = this.encrypt(this.patid);
+      console.log(this.$route.query.param1);
+      console.log(this.$route.query.param2);
+      // 鍏堝彇缂撳瓨
+      getCachequestionnaire({ param1: this.taskid, param2: this.patid }).then(
+        (res) => {
+          if (res.code == 200) {
+            this.questionList = res.data;
+            if (this.questionList[0]) {
+              this.questionList.forEach((item) => {
+                if (item.scriptResult) {
+                  item.scriptResult = JSON.parse(item.scriptResult);
+                }
+              });
+              return;
+            } else {
+              this.getExternalfollowup();
+            }
+          } else {
+            this.getExternalfollowup();
+          }
         }
-      });
+      );
     },
+    getExternalfollowup() {
+      getExternalfollowup({ param1: this.taskid, param2: this.patid }).then(
+        (res) => {
+          if (res.code == 200) {
+            this.questionList = res.rows;
+            // 澶勭悊棰樼洰鏀堕泦缁撴灉鏍煎紡
+            this.questionList.forEach((item) => {
+              item.nextScriptno = Number(item.nextScriptno);
+              if (item.scriptType == 2) {
+                item.scriptResult = [];
+              }
+            });
+          }
+        }
+      );
+    },
+
     // 鍔犲瘑鍑芥暟
     encrypt(txt) {
       const encryptor = new JSEncrypt();
@@ -109,37 +174,44 @@
     // 鎻愪氦
     submitForm() {
       // 鎻愪氦琛ㄥ崟閫昏緫
-      console.log(this.questionList);
       let form = {
-        param1: this.encrypt(this.taskid),
-        param2: this.encrypt(this.patid),
-        svyTasksingledetailList: [],
+        param1: this.taskid,
+        param2: this.patid,
+        serviceSubtaskDetailList: [],
       };
-      this.questionList.forEach((item) => {
-        let optionarr = [];
-        item.ivrLibaScriptTargetoptionList.forEach((option) => {
-          optionarr.push(option.targetvalue);
-        });
-        let ivrTaskcalldetail = {
-          asrtext: item.asrtext,
-          valueType: item.valueType,
-          scriptType: item.scriptType,
-          questiontext: item.questiontext,
-          questionvoice: item.questionvoice,
-          scriptContent: item.scriptContent,
-          targetoptions: optionarr.join(","),
-        };
-        form.svyTasksingledetailList.push(ivrTaskcalldetail);
+      const arr = structuredClone(this.questionList);
+      arr.forEach((item) => {
+        item.asrtext = JSON.stringify(item.scriptResult);
       });
-      console.log(form, "form");
-
-      SetsaveQuestionAnswer(form).then((res) => {
+      form.serviceSubtaskDetailList = arr;
+      Submitaquestionnaire(form).then((res) => {
         if (res.code == 200) {
           this.$modal.msgSuccess("鎻愪氦鎴愬姛");
         }
       });
       // 鍙互灏嗘暟鎹彁浜ゅ埌鍚庣鎴栬�呰繘琛屽叾浠栧鐞�
     },
+    // 缂撳瓨
+    cache(subm) {
+      let form = {
+        param1: this.taskid,
+        param2: this.patid,
+        svyLibTemplateScriptVOS: [],
+      };
+      const arr = structuredClone(this.questionList);
+      arr.forEach((item) => {
+        item.scriptResult = JSON.stringify(item.scriptResult);
+      });
+      form.svyLibTemplateScriptVOS = arr;
+      Cachequestionnaire(form).then((res) => {
+        if (res.code == 200) {
+          this.$modal.msgSuccess("鎻愪氦鎴愬姛");
+          if (subm) {
+            this.submitForm();
+          }
+        }
+      });
+    },
   },
 };
 </script>

--
Gitblit v1.9.3