src/App.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/AiCentre/external.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/Regular/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/knowledge/questionbank/particulars/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/knowledge/questionnaire/compilequer/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/outsideChainwt.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/patient/propaganda/QuestionnaireTask.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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 { 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 }); 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> 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> 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="此处放置患者回答" 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 = { 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"); 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="宣教主题" 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="宣教类型" 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: [], //选择患者列表 sonuserList: [], //选中患者列表 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 {