From b09476a8669551619c1f8b57158c064b13499437 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期四, 18 七月 2024 15:48:22 +0800 Subject: [PATCH] 测试完成 --- src/components/Regular/index.vue | 33 +++ src/views/knowledge/questionbank/particulars/index.vue | 116 +++++++----- src/views/outsideChainwt.vue | 6 src/views/knowledge/questionnaire/compilequer/index.vue | 37 +-- src/App.vue | 13 - src/api/AiCentre/external.js | 4 src/views/patient/propaganda/QuestionnaireTask.vue | 287 +++++++------------------------ 7 files changed, 190 insertions(+), 306 deletions(-) diff --git a/src/App.vue b/src/App.vue index 41fbbf5..1d2d256 100644 --- a/src/App.vue +++ b/src/App.vue @@ -17,20 +17,13 @@ }, data() { return { - routers: this.$route.path.split("/").pop(), + routers: window.location.href, routertf: true, }; }, created() { - this.routertf = this.$route.query.param5; - console.log(this.routertf, "12"); - // if ( - // this.routers == "outsideChainxj" || - // this.routers == "outsideChain" || - // this.routers == "outsideChainwt" - // ) { - // this.routertf = false; - // } + var startIndex = this.routers.indexOf("param5=") + "param5=".length; // 鎵惧埌绗竴涓瓧绗︾殑浣嶇疆 + this.routertf = JSON.parse(this.routers.substring(startIndex)); // 鎴彇浠� 'param5=' 涔嬪悗鐨勫唴瀹� }, metaInfo() { return { diff --git a/src/api/AiCentre/external.js b/src/api/AiCentre/external.js index 59a65d4..39afd8d 100644 --- a/src/api/AiCentre/external.js +++ b/src/api/AiCentre/external.js @@ -12,8 +12,8 @@ // 鎻愪氦闂嵎銆侀殢璁� export function SetsaveQuestionAnswer(data) { return request({ - url: "/smartor/ivrtaskcalldetail/saveQuestionAnswer", - // url: "/smartor/serviceSubtask/saveQuestionAnswer", + // url: "/smartor/ivrtaskcalldetail/saveQuestionAnswer", + url: "/smartor/serviceSubtask/saveQuestionAnswer", method: "post", data: data }); diff --git a/src/components/Regular/index.vue b/src/components/Regular/index.vue index e71b7be..091e957 100644 --- a/src/components/Regular/index.vue +++ b/src/components/Regular/index.vue @@ -150,6 +150,27 @@ > </div> </el-form-item> + <el-form-item label="閫夐」鏂囦欢" prop="sickness"> + <div style="width: 40vw"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :headers="headers" + :accept="'image/*,video/*'" + :on-success="handleChange.bind(this, item)" + > + <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> + </el-upload> + <div style="margin: 20px"> + <el-image + style="width: 100px; height: 100px" + :src="item.picturePath" + :preview-src-list="[...item.picturePath]" + > + </el-image> + </div> + </div> + </el-form-item> <el-row :gutter="10"> <el-col :span="16" v-if="intent"> @@ -205,6 +226,7 @@ <script> import store from "@/store"; +import { getToken } from "@/utils/auth"; export default { data() { @@ -217,6 +239,10 @@ url: "https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100", }, ], + headers: { + Authorization: "Bearer " + getToken(), + }, + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", whether: 1, //1涓哄叧閿瘝锛�2涓哄惁瀹氬叧閿瘝 inputValue: "", inputVisible: false, @@ -364,6 +390,13 @@ console.log(this.TargetoptionList); this.$emit("handleSelectionChange", selection); }, + // 閫夐」鏂囦欢涓婁紶 + handleChange(item, response, file, fileList) { + let index = this.TargetoptionList.findIndex( + (obj) => obj.id == item.id && obj.name == item.name + ); + this.TargetoptionList[index].picturePath = response.url; + }, }, }; </script> diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue index b8c97b5..4f19bb6 100644 --- a/src/views/knowledge/questionbank/particulars/index.vue +++ b/src/views/knowledge/questionbank/particulars/index.vue @@ -187,6 +187,28 @@ ></el-input> </el-form-item> + <el-form-item label="棰樺共鏂囦欢" prop="sickness"> + <div style="width: 40vw"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :headers="headers" + :accept="'image/*,video/*'" + :on-change="handleChangetg" + > + <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> + </el-upload> + <div style="margin: 20px"> + <el-image + style="width: 100px; height: 100px" + :src="url" + :preview-src-list="[...url]" + > + </el-image> + </div> + </div> + </el-form-item> + <el-row> <el-form-item label="鏍囩" prop="desc"> <div class="xinz-inf"> @@ -273,54 +295,6 @@ </div> </el-form-item> </el-row> - <!-- <el-form-item label="閫氱煡鍙橀噺" prop="name"> - <div style="margin-bottom: 5px" v-for="item in variablelist"> - <el-row> - <el-col :span="5"> - <el-input - v-model="item.variatename" - placeholder="璇疯緭鍏ュ彉閲忓悕" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-input - v-model="item.variate" - placeholder="璇疯緭鍏ュ彉閲忓唴瀹�" - ></el-input> - </el-col> - <el-col :span="8" :offset="1"> - <el-button - type="success" - icon="el-icon-plus" - circle - @click="addvariable(item)" - ></el-button> - <el-button - v-if="!item.default" - type="danger" - icon="el-icon-delete" - circle - @click="delvariable(item)" - ></el-button> - </el-col> - </el-row> - </div> - </el-form-item> - <el-row> - <el-col :span="24"> - <div - style="display: flex; margin-left: 66px; margin-bottom: 10px" - > - <div - v-for="item in variablelist" - class="tsgname" - @click="tsgnameto(item)" - > - {{ item.variatename }} - </div> - </div> - </el-col></el-row - > --> </div> <div v-if="topicobj.scriptType != 3"> <div class="headline"> @@ -399,6 +373,27 @@ </el-input ></el-form-item> </el-row> + <el-form-item label="閫夐」鏂囦欢" prop="sickness"> + <div style="width: 40vw"> + <el-upload + class="upload-demo" + :action="uploadImgUrl" + :headers="headers" + :accept="'image/*,video/*'" + :on-success="handleChange.bind(this, item)" + > + <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> + </el-upload> + <div style="margin: 20px"> + <el-image + style="width: 100px; height: 100px" + :src="item.picturePath" + :preview-src-list="[...item.picturePath]" + > + </el-image> + </div> + </div> + </el-form-item> </div> </div> </el-form> @@ -504,6 +499,7 @@ illnesslistget, getillness, } from "@/api/AiCentre/index"; +import { getToken } from "@/utils/auth"; export default { data() { @@ -511,6 +507,10 @@ topicobj: { svyLibScriptOptions: [], }, + headers: { + Authorization: "Bearer " + getToken(), + }, + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", inputVisible: false, inputValue: "", currentInputId: "", @@ -526,6 +526,11 @@ { variatename: "濮撳悕", variate: "${name}", default: 1 }, { variatename: "鐢佃瘽", variate: "${phone}", default: 1 }, { variatename: "鐥呮儏", variate: "${illness}", default: 1 }, + ], + url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg", + srcList: [ + "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg", + "https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg", ], // 鏌ヨ鍙傛暟 queryParams: { @@ -998,9 +1003,22 @@ // 绛涢�夐敊璇矾绾� screen(data) { const arraysGreaterThan10 = data.filter((arr) => this.sumArray(arr) > 21); - console.log(arraysGreaterThan10, "绛涢�夐敊璇矾绾垮ぇ浜�13鍒�"); }, + // 閫夐」鏂囦欢涓婁紶 + handleChange(item, response, file, fileList) { + let index = this.topicobj.svyLibScriptOptions.findIndex( + (obj) => obj.id == item.id && obj.name == item.name + ); + this.topicobj.svyLibScriptOptions[index].picturePath = response.url; + }, + // 棰樺共鏂囦欢涓婁紶 + handleChangetg(item, file, fileList) { + let index = this.topicobj.svyLibScriptOptions.findIndex( + (obj) => obj.id == item.id && obj.name == item.name + ); + this.topicobj.svyLibScriptOptions[index].picturePath = file.response.url; + }, }, }; </script> diff --git a/src/views/knowledge/questionnaire/compilequer/index.vue b/src/views/knowledge/questionnaire/compilequer/index.vue index 958a9ec..2170de2 100644 --- a/src/views/knowledge/questionnaire/compilequer/index.vue +++ b/src/views/knowledge/questionnaire/compilequer/index.vue @@ -97,21 +97,6 @@ </el-input ></el-form-item> - <el-form-item label="鏂囦欢" prop="sickness"> - <div style="width: 40%"> - <el-upload - class="upload-demo" - action="https://jsonplaceholder.typicode.com/posts/" - :on-change="handleChange" - :file-list="fileList" - > - <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button> - <div slot="tip" class="el-upload__tip"> - 鍙兘涓婁紶jpg/png/xsl鏂囦欢锛屼笖涓嶈秴杩�50mb - </div> - </el-upload> - </div> - </el-form-item> <el-row> <el-form-item label="鏍囩" prop="desc"> <div class="xinz-inf"> @@ -503,7 +488,6 @@ </el-col> --> </el-row> <el-row :gutter="10"> - <el-form-item label="閫変腑鎻愮ず"> <el-input style="width: 20vw" @@ -526,11 +510,20 @@ type="textarea" autosize placeholder="姝ゅ鏀剧疆鎮h�呭洖绛�" - v-model="radioas" + v-model="topicobj.reply" > </el-input ></el-form-item> </el-row> + <el-form-item label="鍒嗗��"> + <el-input + type="text" + placeholder="璇疯緭鍏ラ�夐」鍒嗗��" + v-model="topicobj.score" + show-word-limit + > + </el-input> + </el-form-item> </div> </div> </el-form> @@ -719,10 +712,15 @@ illnesslistget, getillness, } from "@/api/AiCentre/index"; +import { getToken } from "@/utils/auth"; export default { data() { return { + headers: { + Authorization: "Bearer " + getToken(), + }, + uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort", sidecolumnrabs: "left", //鏂瑰悜 Editprogress: 1, //缂栬緫杩涘害 currentVersion: "1.2.3", //褰撳墠鐗堟湰 @@ -1067,10 +1065,7 @@ console.log("鏈壘鍒拌瀵硅薄"); } }, - // 鎺у埗鏂囦欢 - handleChange(file, fileList) { - this.fileList = fileList.slice(-3); - }, + // 鏍囩----------------- gettabList() { const tagqueryParams = { diff --git a/src/views/outsideChainwt.vue b/src/views/outsideChainwt.vue index 32a050b..9b0897b 100644 --- a/src/views/outsideChainwt.vue +++ b/src/views/outsideChainwt.vue @@ -113,7 +113,7 @@ let form = { param1: this.encrypt(this.taskid), param2: this.encrypt(this.patid), - ivrTaskcalldetailList: [], + svyTasksingledetailList: [], }; this.questionList.forEach((item) => { let optionarr = []; @@ -123,10 +123,12 @@ let ivrTaskcalldetail = { asrtext: item.asrtext, valueType: item.valueType, + questiontext: item.questiontext, + questionvoice: item.questionvoice, scriptContent: item.scriptContent, targetoptions: optionarr.join(","), }; - form.ivrTaskcalldetailList.push(ivrTaskcalldetail); + form.svyTasksingledetailList.push(ivrTaskcalldetail); }); console.log(form, "form"); diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue index f92b03b..a5de586 100644 --- a/src/views/patient/propaganda/QuestionnaireTask.vue +++ b/src/views/patient/propaganda/QuestionnaireTask.vue @@ -169,196 +169,6 @@ </el-form> </div> </div> - <div class="examine-jic"> - <div class="headline"> - <div>{{ title }}</div> - </div> - <div class="examine-jic"> - <div class="jic-value"> - <el-row :gutter="20"> - <!--鐢ㄦ埛鏁版嵁--> - - <el-form - :model="topqueryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="98px" - > - <el-form-item - label="瀹f暀涓婚" - v-if="currenttype == 1 || currenttype == 8" - > - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item - label="闅忚鍚嶇О" - v-if=" - currenttype == 2 || currenttype == 3 || currenttype == 7 - " - > - <el-input - v-model="topqueryParams.name" - ></el-input> </el-form-item - ><el-form-item - label="閫氱煡鍚嶇О" - v-if="currenttype == 4 || currenttype == 5" - > - <el-input - v-model="topqueryParams.name" - ></el-input> </el-form-item - ><el-form-item label="浣撴濂楅" v-if="currenttype == 5"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="闂嵎涓婚" v-if="currenttype == 6"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - <el-form-item label="閫傜敤鐤剧梾" v-if="currenttype != 5"> - <el-input v-model="topqueryParams.name"></el-input> - </el-form-item> - - <el-form-item - label="瀹f暀绫诲瀷" - prop="status" - v-if="currenttype == 1 || currenttype == 8" - > - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item - label="閫氱煡绫诲瀷" - prop="status" - v-if="currenttype == 4 || currenttype == 5" - > - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item - label="闅忚绫诲瀷" - prop="status" - v-if=" - currenttype == 2 || currenttype == 3 || currenttype == 7 - " - > - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item - label="闂嵎绫诲瀷" - prop="status" - v-if="currenttype == 6" - > - <el-select - v-model="topqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="閫傜敤褰㈠紡" prop="status"> - <el-select - v-model="topqueryParams.topica" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in taskoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - - <el-form-item label="閫傜敤绉戝" prop="status"> - <el-select - v-model="topqueryParams.topicd" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </el-form-item> - <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="medium" - @click="handleQuery" - >鎼滅储</el-button - > - <el-button - icon="el-icon-refresh" - size="medium" - @click="resetQuery" - >閲嶇疆</el-button - > - </el-form-item> - </el-form> - <el-divider></el-divider> - <!-- 閫夋嫨妯$増鍒楄〃 --> - <SFtable - @selectfn="selectfn" - :currentList="userList" - :tableLabel="tableLabel" - :serialnumber="false" - :controlsc="false" - :multiplechoice="false" - :typeinfo="1" - /> - <pagination - v-show="total > 0" - :total="total" - :page.sync="topqueryParams.pageNum" - :limit.sync="topqueryParams.pageSize" - @pagination="Acquisitiontype" - /> - </el-row> - </div> - </div> - </div> </div> <el-button type="success" @click="nextstep('ruleForm')">{{ quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" @@ -465,7 +275,7 @@ </el-option> </el-select> </el-form-item> - <el-form-item label="闅忚缁撴灉" prop="status"> + <el-form-item label="闂嵎缁撴灉" prop="status"> <el-select v-model="topqueryParams.topic" placeholder="璇烽�夋嫨" @@ -669,31 +479,59 @@ <div class="preview-left"> <!-- 鍗曢�� --> <div - class="topic-dev" - v-for="(item, index) in questionList" - :key="item.id" + class="scriptTopic-dev" + v-for="item in questionList" + :key="item.sort" + v-if="item.scriptType == 1" > <div class="dev-text"> - {{ index + 1 }}銆�<span>{{ item.script }}</span> + {{ item.sort }}銆乕鍗曢�塢<span>{{ item.scriptContent }}</span> </div> - - <div class="dev-xx" v-if="item.scripttype != 3"> - <el-radio-group v-model="item.radio"> + <div class="dev-xx"> + <el-radio-group v-model="item.remark"> <el-radio v-for="(items, index) in item.svyLibTemplateTargetoptions" - :key="items.id" - :label="items.id" - >{{ items.optioncontent }} - </el-radio> + :key="index" + :label="index" + >{{ items.optioncontent }}</el-radio + > </el-radio-group> </div> - <div v-else> - <el-input - type="textarea" - placeholder="鏈幏鍙栧埌淇℃伅" - v-model.sync="item.questionResult" - :rows="2" - /> + </div> + <!-- 澶氶�� --> + <div + class="scriptTopic-dev" + v-for="item in questionList" + v-if="item.scriptType == 2" + > + <div class="dev-text"> + {{ item.sort }}銆乕澶氶�塢<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-checkbox-group v-model="multiplechoice"> + <el-checkbox + v-for="items in item.svyLibTemplateTargetoptions" + :key="items.optioncontent" + :label="items.optioncontent" + > + {{ items.optioncontent }} + </el-checkbox> + </el-checkbox-group> + </div> + </div> + <!-- 濉┖ --> + <div + class="scriptTopic-dev" + v-for="item in questionList" + :key="item.sort" + v-if="item.scriptType == 3" + > + <div class="dev-text"> + {{ item.sort }}銆乕濉┖]<span>{{ item.scriptContent }}</span> + </div> + <div class="dev-xx"> + <el-input placeholder="璇疯緭鍏ョ瓟妗�" v-model="item.radioas" clearable> + </el-input> </div> </div> </div> @@ -703,7 +541,7 @@ </span> </el-dialog> <el-drawer - title="闅忚鍐呭鍒楄〃" + title="闂嵎鍐呭鍒楄〃" :visible.sync="drawermb" direction="rtl" size="50%" @@ -729,7 +567,7 @@ <el-input v-model="topqueryParams.name"></el-input> </el-form-item> <el-form-item - label="闅忚鍚嶇О" + label="闂嵎鍚嶇О" v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" > <el-input @@ -783,7 +621,7 @@ </el-select> </el-form-item> <el-form-item - label="闅忚绫诲瀷" + label="闂嵎绫诲瀷" prop="status" v-if="currenttype == 2 || currenttype == 3 || currenttype == 7" > @@ -986,6 +824,7 @@ multiple: true, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 userList: [], //妯$増鍒楄〃 + multiplechoice: [], //澶氶�夌粨鏋� patientuserList: [], //閫夋嫨鎮h�呭垪琛� sonuserList: [], //閫変腑鎮h�呭垪琛� delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 @@ -1106,7 +945,11 @@ this.currenttype = this.$route.query.type; this.title = "闂嵎鍐呭鍒楄〃"; this.tableLabel = this.tableLabelwj; - this.checkboxlist = ["绾夸笅锛堢焊璐級", "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�侀棶鍗烽摼鎺ワ級"]; + this.checkboxlist = [ + "绾夸笅锛堢焊璐級", + "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�侀棶鍗烽摼鎺ワ級", + "寰俊鍏紬鍙�", + ]; getQtemplatelist(queryParams).then((response) => { this.userList = response.rows; this.total = response.total; @@ -1159,11 +1002,10 @@ this.libId = row.svyid; console.log(row, "row"); this.Tasktemplate = row; - this.questionList = row.svyLibScripts; + this.questionList = row.svyTemplateLibScripts; this.previewtf = true; this.previewid = row.svyid; - console.log(this.questionList, "questionList"); - this.Variablehandling(row.svyLibScripts, 1); + this.Variablehandling(row.svyTemplateLibScripts, 1); } else if (type == 2) { } else if (type == 3) { } @@ -1172,10 +1014,8 @@ Variablehandling(arr, type) { let Variablist = []; if (type == 1) { - console.log(arr); // 寰幆闂 arr.forEach((res) => { - console.log(JSON.parse(res.otherdata), "ss"); // 寰幆閫夐」 JSON.parse(res.otherdata).forEach((item) => { if (item.default != 1) { @@ -1193,6 +1033,7 @@ index === self.findIndex((t) => t.name === obj.name && t.value === obj.value) ); + this.variableList = this.transitionList.concat(Aarr); // this.form.textParam = this.convertFormat2ToFormat1(this.variableList); } @@ -1443,10 +1284,11 @@ previewFn() { let id = this.Tasktemplate.id; this.Tasktemplate.id = null; - this.Tasktemplate.svyLibScripts.svyTaskTemplateTargetoptions = - this.Tasktemplate.svyLibScripts.svyLibTemplateTargetoptions; + console.log(this.Tasktemplate); + this.Tasktemplate.svyTemplateLibScripts.svyTaskTemplateTargetoptions = + this.Tasktemplate.svyTemplateLibScripts.svyLibTemplateTargetoptions; this.Tasktemplate.svyTaskTemplateScriptVOS = - this.Tasktemplate.svyLibScripts; + this.Tasktemplate.svyTemplateLibScripts; this.Tasktemplate.templateid = id; this.Tasktemplate.isoperation = 1; TaskQuestioncomit(this.Tasktemplate).then((response) => { @@ -1522,6 +1364,7 @@ 0 0 6px 0 rgba(0, 0, 0, 0.04); } .examine-jic { + margin: 20px; .headline { font-size: 24px; border-left: 5px solid #41a1be; @@ -1588,7 +1431,7 @@ border: 1px solid #dcdfe6; -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12), 0 0 6px 0 rgba(0, 0, 0, 0.04); - .topic-dev { + .scriptTopic-dev { margin-bottom: 25px; font-size: 20px !important; .dev-text { -- Gitblit v1.9.3