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