From 7eaee92ee52e1501480adbbe8a1af9ddecc04275 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 04 九月 2024 11:05:23 +0800 Subject: [PATCH] 测试完成 --- src/views/outsideChainwt.vue | 92 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 69 insertions(+), 23 deletions(-) diff --git a/src/views/outsideChainwt.vue b/src/views/outsideChainwt.vue index 2215dc2..483c35e 100644 --- a/src/views/outsideChainwt.vue +++ b/src/views/outsideChainwt.vue @@ -14,7 +14,10 @@ {{ index + 1 }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> - <el-radio-group v-model="item.scriptResult" @change="handleOptionChange($event, index, item)"> + <el-radio-group + v-model="item.scriptResult" + @change="handleOptionChange($event, index, item)" + > <el-radio v-for="(items, index) in item.svyLibTemplateTargetoptions" :key="index" @@ -23,6 +26,9 @@ > </el-radio-group> </div> + <div v-show="item.prompt"> + <el-alert :title="item.prompt" type="warning"> </el-alert> + </div> </div> <!-- 澶氶�� --> <div class="scriptTopic-dev" :key="index" v-if="item.scriptType == 2"> @@ -30,7 +36,10 @@ {{ index + 1 }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> </div> <div class="dev-xx"> - <el-checkbox-group v-model="item.scriptResult"> + <el-checkbox-group + v-model="item.scriptResult" + @change="updateScore($event, index, item)" + > <el-checkbox @change="$forceUpdate()" v-for="(items, indexs) in item.svyLibTemplateTargetoptions" @@ -40,6 +49,9 @@ {{ items.optioncontent }} </el-checkbox> </el-checkbox-group> + </div> + <div v-show="item.prompt && item.scriptResult[0]"> + <el-alert :title="item.prompt" type="warning"> </el-alert> </div> </div> <!-- 濉┖ --> @@ -63,10 +75,18 @@ <el-form :model="formData" label-width="80px"> <el-form-item> <el-button type="primary" @click="cache(true)">鎻愪氦闂嵎</el-button> - <el-button type="primary" @click="cache">缂撳瓨闂嵎</el-button> + <!-- <el-button type="primary" @click="cache">缂撳瓨闂嵎</el-button> --> </el-form-item> </el-form> </div> + <el-dialog + :visible.sync="dialogVisible" + width="50%" + > + <div> + <el-alert :title="revisitAfter" type="success"> </el-alert> + </div> + </el-dialog> </div> </template> @@ -84,6 +104,8 @@ taskid: 355, patid: 265823, questionList: null, + revisitAfter: null, + dialogVisible:false, // 鍓嶇鍏挜 publicKey: "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKR0yHv0rbJWQE+Sc7/FwpW66qMd9qX2k6z+SDgkSdxWh/1GbBoAP7bDQQRF6vXmoKsD2ya42H6XRLSDXAoayuMCAwEAAQ== ", @@ -97,7 +119,12 @@ }, }; }, - + mounted() { + window.addEventListener("beforeunload", this.cache); + }, + beforeDestroy() { + window.removeEventListener("beforeunload", this.cache); + }, created() { this.getQuestionnaire(); }, @@ -113,13 +140,8 @@ // "CVk0j8O86AeCqhV5WPsBBYDg9fec0wDoDlP9imYK4wDBNIkxywZzMJEGlPagOxnq6qr2WYZo0U8MUGWRGnq8ZA=="; // 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); - console.log(this.$route.query.param1); - console.log(this.$route.query.param2); // 鍏堝彇缂撳瓨 getCachequestionnaire({ param1: this.taskid, param2: this.patid }).then( (res) => { @@ -127,8 +149,10 @@ this.questionList = res.data; if (this.questionList[0]) { this.questionList.forEach((item) => { - if (item.scriptResult) { + if (item.scriptResult && item.scriptType != 2) { item.scriptResult = JSON.parse(item.scriptResult); + } else if (item.scriptResult && item.scriptType == 2) { + item.scriptResult = item.scriptResult.split("&"); } }); return; @@ -146,7 +170,8 @@ getExternalfollowup({ param1: this.taskid, param2: this.patid }).then( (res) => { if (res.code == 200) { - this.questionList = res.rows; + this.questionList = res.data.script; + this.revisitAfter = res.data.revisitAfter; // 澶勭悊棰樼洰鏀堕泦缁撴灉鏍煎紡 this.questionList.forEach((item) => { item.nextScriptno = Number(item.nextScriptno); @@ -158,14 +183,12 @@ } ); }, - // 鍔犲瘑鍑芥暟 encrypt(txt) { const encryptor = new JSEncrypt(); encryptor.setPublicKey(this.publicKey); // 璁剧疆鍏挜 return encryptor.encrypt(txt); // 瀵规暟鎹繘琛屽姞瀵� }, - // 瑙e瘑鍑芥暟 decrypt(txt) { const encryptor = new JSEncrypt(); @@ -181,22 +204,25 @@ serviceSubtaskDetailList: [], }; const arr = structuredClone(this.questionList); - arr.forEach((item) => { - item.asrtext = JSON.stringify(item.scriptResult); - if (item.scriptType == 2 && item.scriptResult[0]) { - item.asrtext = item.scriptResult.join("&"); - } - }); + // arr.forEach((item) => { + // item.asrtext = JSON.stringify(item.scriptResult); + // if (item.scriptType == 2 && item.scriptResult[0]) { + // item.scriptResult = item.scriptResult.join("&"); + // } + // }); form.serviceSubtaskDetailList = arr; Submitaquestionnaire(form).then((res) => { if (res.code == 200) { + if (this.revisitAfter) { + this.dialogVisible=true + } this.$modal.msgSuccess("鎻愪氦鎴愬姛"); } }); - // 鍙互灏嗘暟鎹彁浜ゅ埌鍚庣鎴栬�呰繘琛屽叾浠栧鐞� }, // 缂撳瓨 cache(subm) { + console.log("杩涘叆缂撳瓨"); let form = { param1: this.taskid, param2: this.patid, @@ -204,7 +230,11 @@ }; const arr = structuredClone(this.questionList); arr.forEach((item) => { - item.scriptResult = JSON.stringify(item.scriptResult); + if (item.scriptType == 2 && item.scriptResult[0]) { + item.scriptResult = item.scriptResult.join("&"); + } else if (item.scriptType != 2 && item.scriptResult) { + item.scriptResult = JSON.stringify(item.scriptResult); + } }); form.svyLibTemplateScriptVOS = arr; Cachequestionnaire(form).then((res) => { @@ -216,8 +246,8 @@ } }); }, - // 澶勭悊閫夐」 - handleOptionChange(selectedvalue, index,arr) { + // 澶勭悊鍗曢�夐�夐」 + handleOptionChange(selectedvalue, index, arr) { // 鏌ユ壘閫変腑鐨勯�夐」瀵硅薄 const selectedOption = arr.svyLibTemplateTargetoptions.find( (option) => option.optioncontent == selectedvalue @@ -225,8 +255,24 @@ if (selectedOption) { // 灏嗛�変腑鐨勯�夐」瀵硅薄鐨� id 璧嬪�肩粰 obj.sonId this.questionList[index].nextScriptno = selectedOption.nextQuestion; + this.questionList[index].score = selectedOption.score; + this.questionList[index].prompt = selectedOption.prompt; } }, + // 澶勭悊澶氶�夐�夐」 + updateScore(selectedvalues, index, arr) { + // 锟斤拷鍔犲垎鏁� + let score = 0; + selectedvalues.forEach((value) => { + const selectedOption = arr.svyLibTemplateTargetoptions.find( + (option) => option.optioncontent == value + ); + if (selectedOption) { + score += Number(selectedOption.score); + } + }); + this.questionList[index].score = score; + }, }, }; </script> -- Gitblit v1.9.3