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