From b33fce1b1bbad04a2a6b4812e0fb438b8a52b8e5 Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期三, 12 六月 2024 11:55:35 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/propaganda/particty.vue | 356 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 285 insertions(+), 71 deletions(-) diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index d191f38..5f5352c 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -41,7 +41,7 @@ placeholder="璇疯緭鍏ヤ换鍔″悕绉�" /> </el-form-item ></el-col> - <el-col :span="12" + <el-col :span="8" ><el-form-item label="妯$増鍚嶇О"> <el-input style="width: 220px" @@ -50,6 +50,13 @@ placeholder="璇峰湪涓嬪垪閫夋嫨" /> </el-form-item ></el-col> + <el-col :span="4"> + <el-button + type="primary" + icon="el-icon-edit" + circle + ></el-button> + </el-col> </el-row> <el-form-item label="浠诲姟鎻忚堪"> @@ -62,7 +69,8 @@ <el-form-item label="鍙戦�佽缃細" v-if="currenttype != 2"> <el-radio-group v-model="form.sendType"> <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio> - <el-radio :label="3">鍗冲埢鍙戦��</el-radio> + <el-radio :label="3">鏃堕棿鐐瑰彂閫�</el-radio> + <el-radio :label="2">鍗冲埢鍙戦��</el-radio> </el-radio-group> </el-form-item> <el-form-item label="鍙戦�佹棩鏈燂細" v-if="form.sendType == 1"> @@ -77,11 +85,27 @@ > </el-date-picker> </el-form-item> + + <el-form-item label="鍙戦�佹椂闂寸偣锛�" v-if="form.sendType == 3"> + <div style="display: flex"> + <div style="margin-right: 10px"> + <el-date-picker + v-model="time4" + value-format="yyyy-MM-dd HH:mm:ss" + @change="Totaldate" + type="datetime" + placeholder="閫夋嫨鏃ユ湡鏃堕棿" + > + </el-date-picker> + </div> + </div> + </el-form-item> + <el-form-item label="鍙戦�佹椂闂存锛�" v-if="form.sendType == 1"> <div style="display: flex"> <div style="margin-right: 10px"> <span style="font-size: 18px; margin-right: 10px" - >涓婂崍</span + >鏃堕棿娈典竴</span > <el-time-picker is-range @@ -98,7 +122,7 @@ </div> <div style="margin-right: 10px"> <span style="font-size: 18px; margin-right: 10px" - >涓嬪崍</span + >鏃堕棿娈典簩</span > <el-time-picker is-range @@ -115,7 +139,7 @@ </div> <div style="margin-right: 10px"> <span style="font-size: 18px; margin-right: 10px" - >鏅氶棿</span + >鏃堕棿娈典笁</span > <el-time-picker is-range @@ -327,7 +351,7 @@ :total="total" :page.sync="topqueryParams.pageNum" :limit.sync="topqueryParams.pageSize" - @pagination="getList" + @pagination="Acquisitiontype" /> </el-row> </div> @@ -335,7 +359,7 @@ </div> </div> <el-button type="success" @click="nextstep('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏璁剧疆" + quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> @@ -524,10 +548,10 @@ <SFtable @details="detailhz" @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="form.patTaskRelevances" + :currentList="overallCase" :tableLabel="tableLabelhz" :serialnumber="false" + :multiplechoice="false" :controlxz="false" :typeinfo="2" /> @@ -544,9 +568,9 @@ </div> </div> <el-button type="primary" @click="laststep()">涓婁竴姝�</el-button> - <el-button type="success" @click="submitForm('ruleForm')" - >绔嬪嵆鍒涘缓</el-button - > + <el-button type="success" @click="submitForm('ruleForm')">{{ + quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" + }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> </div> @@ -556,6 +580,7 @@ :visible.sync="dialogVisiblepatient" width="70%" :before-close="handleClosehz" + :close-on-click-modal="false" > <div class="examine-jic"> <div class="jic-value"> @@ -612,6 +637,7 @@ </el-form> <!-- 閫夋嫨鎮h�呭垪琛� --> <SFtable + ref="multipleTable" @handleUpdate="handleUpdate" @handleSelectionChange="handleSelectionChange" :currentList="patientuserList" @@ -637,6 +663,43 @@ > </span> </el-dialog> + <el-dialog title="妯$増棰勮" :visible.sync="previewtf" width="60%"> + <div class="preview-left"> + <!-- 鍗曢�� --> + <div + class="topic-dev" + v-for="(item, index) in questionList" + :key="item.aaa" + > + <div class="dev-text"> + {{ index + 1 }}銆�<span>{{ item.questionText }}</span> + </div> + + <div class="dev-xx" v-if="item.valueType == 1"> + <el-radio-group v-model="item.radio"> + <el-radio + v-for="(items, index) in item.ivrLibaScriptTargetoptionList" + :key="items.id" + :label="items.id" + >{{ items.targetvalue }}</el-radio + > + </el-radio-group> + </div> + <div v-else> + <el-input + type="textarea" + placeholder="鏈幏鍙栧埌淇℃伅" + v-model.sync="item.questionResult" + :rows="2" + /> + </div> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="previewGo">鍓嶅線妯$増璇︽儏淇敼</el-button> + <el-button type="primary" @click="previewFn">纭浣跨敤</el-button> + </span> + </el-dialog> </div> </template> @@ -648,6 +711,7 @@ getlibrarylist, getFollowuplist, getQtemplatelist, + TaskTemplatecomit, getTaskInfo, gethetaskinfo, delhetaskinfo, @@ -664,15 +728,21 @@ return { title: "瀹f暀鍐呭鍒楄〃", currenttype: 1, //1瀹f暀2闂ㄨ瘖3鍑洪櫌4澶嶈瘖5浣撴6闂嵎 - id: "", + id: "", // + previewid: "", //浠诲姟妯$増浼犻�抜d + libName: "", + overallCase: [], //閫夋嫨鎮h�呮�� + allpids: [], + libId: null, //妯℃澘搴撴ā鐗坕d Editprogress: 1, //缂栬緫杩涘害 + previewtf: false, //棰勮 loading: false, // 閬僵灞� patientloading: false, // 閬僵灞� dialogVisiblepatient: false, //娣诲姞鎮h�呭脊妗� radio: 1, checkboxlist: [], tableLabel: [], - + questionList: [], // 鎮h�呰〃鍗� tableLabelhz: [ { label: "搴忓彿", width: "", prop: "patid" }, @@ -727,12 +797,24 @@ { label: "鍖归厤绗�", width: "", prop: "character" }, { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, ], + preachform: [ + { label: "澶氬獟浣�", value: 1 }, + { label: "绾歌川", value: 2 }, + { label: "鐢佃瘽", value: 3 }, + { label: "鐭俊", value: 4 }, + { label: "寰俊鍏紬鍙�", value: 5 }, + { label: "寰俊灏忕▼搴�", value: 6 }, + { label: "鏀粯瀹�", value: 7 }, + { label: "鏅鸿兘灏忕▼搴�", value: 8 }, + { label: "閽夐拤", value: 9 }, + ], // 鏃堕棿澶勭悊 daytime: [], //鏃ユ湡 applydaytime: [], //璁$畻鏃ユ湡 time1: "", //涓婂崍鏃堕棿娈� time2: "", //涓嬪崍鏃堕棿娈� time3: "", //鏅氫笂鏃堕棿娈� + time4: "", //鏅氫笂鏃堕棿娈� topqueryParams: { pageNum: 1, // pageSize: 10, @@ -806,11 +888,11 @@ tasktopic: null, //鏂板绫诲瀷 SelectPatientslist: [], form: { - serviceform: [], patTaskRelevances: [], sendType: 1, templatename: "", templateid: null, + libtemplateid: null, }, taskoptions: [ { @@ -871,8 +953,8 @@ // 鑾峰彇褰撳墠绫诲瀷 Acquisitiontype() { let queryParams = { - pageNum: 1, - pageSize: 10, + pageNum: this.topqueryParams.pageNum, + pageSize: this.topqueryParams.pageSize, isavailable: "", }; this.currenttype = this.$route.query.type; @@ -881,10 +963,7 @@ // 鍖绘妧瀹f暀锛屾櫘閫氬鏁� this.title = "瀹f暀鍐呭鍒楄〃"; this.tableLabel = this.tableLabelxj; - this.checkboxlist = [ - "绾夸笅锛堝彛澶村鏁欍�佺數瑙嗗鏁欍�佺焊璐級", - "绾夸笂锛堢煭淇�/閽夐拤鐨勬枃鏈�佸浘鏂囬摼鎺ワ級", - ]; + this.checkboxlist = ["澶氬獟浣�", "绾歌川"]; getlibrarylist(queryParams).then((response) => { this.userList = response.rows; this.total = response.total; @@ -897,7 +976,7 @@ // 鍑洪櫌銆侀棬璇娿�佷笓鐥呴殢璁� this.title = "闅忚鍐呭鍒楄〃"; this.tableLabel = this.tableLabelmz; - this.checkboxlist = ["绾夸笅", "AI璇煶澶栧懠", "浜哄伐鐢佃瘽"]; + this.checkboxlist = ["绾歌川", "澶氬獟浣�", "鐢佃瘽", "寰俊鍏紬鍙�"]; getFollowuplist(queryParams).then((response) => { this.userList = response.rows; this.total = response.total; @@ -931,7 +1010,8 @@ }, // 淇濆瓨 submitForm(formName) { - this.form.serviceform = this.checkList.join(","); + // this.form.preachform = this.checkList.join(","); + this.formatFn(1); this.form.hospType = this.currenttype; const filteredArray = this.variableList.filter( (item) => @@ -939,14 +1019,14 @@ ); console.log(filteredArray, "瀛樺墠鍙橀噺"); this.form.textParam = this.convertFormat2ToFormat1(filteredArray); - if (this.form.id) { + if (this.form.taskid) { this.form.isoperation = 2; } else { this.form.isoperation = 1; } Editsingletask(this.form).then((res) => { if (res.code == 200) { - if (this.form.id) { + if (this.form.taskid) { this.$modal.msgSuccess("鏂板鎴愬姛"); } else { this.$modal.msgSuccess("淇敼鎴愬姛"); @@ -956,7 +1036,7 @@ }); }, // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� - // 閫夋嫨妯$増 + // 纭閫夋嫨妯$増鏀惧叆浠诲姟妯$増 selectfn(row, type) { // 妯$増鎯呭喌涓嬭幏鍙栨ā鐗堜俊鎭� if (type == 1) { @@ -967,15 +1047,20 @@ currenttype == 5 || currenttype == 7 ) { - this.form.templatename = row.templateName; - this.form.templateid = row.id; + this.libName = row.templateName; + this.libId = row.id; } else if (this.currenttype == 1) { - this.form.templatename = row.preachname; - this.form.templateid = row.id; + this.libName = row.preachname; + this.libId = row.id; } getvFollowup({ id: row.id }).then((res) => { if (res.code == 200) { + this.Tasktemplate = res.data; const data = res.data; + this.questionList = data.ivrLibaTemplateScriptVOList; + this.previewtf = true; + this.previewid = data.id; + console.log(this.questionList, "questionList"); this.Variablehandling(data.ivrLibaTemplateScriptVOList, 1); } }); @@ -1014,29 +1099,88 @@ }, // 瀛愪换鍔′簩绾у脊妗� handleAddpatient(row) { + console.log(this.overallCase, "ssaaa"); + this.allpids = []; + this.overallCase.forEach((item) => { + this.allpids.push(item.patid); + }); + if (this.allpids[0]) { + this.patientqueryParams.pids = this.allpids; + console.log(this.patientqueryParams.pids); + } else { + this.patientqueryParams.pids = null; + } + getTaskpatient(this.patientqueryParams).then((response) => { console.log(response); this.patientuserList = response.rows; this.patienttotal = response.total; this.loading = false; + this.Restorecheck(); }); this.dialogVisiblepatient = true; }, handleUpdate() {}, handleDelete() {}, handleExport() {}, - // 澶氶�夋閫変腑鏁版嵁 + // 閫変腑鎮h�呰〃 + handlePitchionChange() {}, + // 閫夋嫨鎮h�呰〃鏁版嵁 handleSelectionChange(selection) { console.log("澶氶�夋偅鑰�"); this.SelectPatientslist = selection; - this.ids = null; - this.ids = selection.map((item) => item.patid).join(","); - // let result = this.ids.join(","); this.multiple = !selection.length; - console.log(this.ids); + + // 璧嬪�肩粰鏁翠綋閫変腑鏁扮粍 + this.SelectPatientslist.forEach((item) => { + const isExist = this.overallCase.find((obj) => obj.name == item.name); + if (!isExist) { + item.isoperation = 1; + this.overallCase.push(item); + this.form.patTaskRelevances.push(item); + } + }); + }, + // 鍒囨崲椤靛悗鎭㈠閫変腑 + Restorecheck() { + console.log(this.overallCase, "this.overallCase"); + const allid = this.overallCase.map((item) => item.patid); + const overlap = this.patientuserList.filter((value) => { + return allid.includes(value.patid); + }); + // 淇濇寔ids鍜屽綋鍓嶉〉闈㈢殑鍚屾鎬� + this.SelectPatientslist = overlap; + console.log(this.SelectPatientslist, "杩涘叆鍒嗛〉SelectPatientslist"); + + this.toggleSelection(overlap); + }, + // 鎸傝浇閫夋嫨鐘舵�� + toggleSelection(rows) { + if (rows) { + this.decision = true; + this.$nextTick(() => { + rows.forEach((row) => { + this.$refs.multipleTable.toggleRowSelection(row, true); + }); + this.decision = false; + }); + console.log(123); + } else { + this.$refs.multipleTable.clearSelection(); + } }, // 鍒犻櫎閫変腑鎮h�� - detailhz(row, info) {}, + detailhz(row, info) { + this.$modal + .confirm('鏄惁纭鍒犻櫎鎮h��"' + row.name + '"鐨勬湇鍔¢」锛�') + .then(() => { + let indexa = this.overallCase.indexOf(row); + let indexb = this.form.patTaskRelevances.indexOf(row); + this.overallCase.splice(indexa, 1); + this.form.patTaskRelevances[indexb].isoperation = 3; + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }); + }, getList() {}, handleQuery() { this.handleAddpatient(); @@ -1063,23 +1207,30 @@ if (this.id) { getTaskInfo({ taskid: this.id }).then((res) => { let filteredArray = ""; + console.log(2233); if (res.code == 200) { this.form = res.data; - this.checkList = this.form.serviceform.split(","); - this.daytime = this.form.sendlimitabegin.split(","); - if (this.form.sendlimitaend) - this.time1 = this.form.sendlimitaend.split(","); - if (this.form.sendlimitnbegin) - this.time2 = this.form.sendlimitaend.split(","); - if (this.form.sendlimitnend) - this.time3 = this.form.sendlimitaend.split(","); + this.overallCase = this.form.patTaskRelevances.concat(); + this.formatFn(2); + console.log(this.form.showDate, "this.form"); + this.daytime = this.form.showDate.split(","); + if (this.form.showTimeMorn) { + if (this.form.sendType == 3) { + this.time4 = this.form.showTimeMorn; + } else { + this.time1 = this.form.showTimeMorn.split(","); + } + } + if (this.form.showTimeNoon) + this.time2 = this.form.showTimeNoon.split(","); + if (this.form.showTimeNight) + this.time3 = this.form.showTimeNight.split(","); + console.log(1122); filteredArray = this.convertFormat1ToFormat2(this.form.textParam); - console.log(filteredArray, "filteredArray"); this.variableList = this.transitionList.concat(filteredArray); } else { this.$modal.msgError(res.code); } - console.log(res); }); } }, @@ -1092,30 +1243,14 @@ }, // 鏂板娲鹃�佹偅鑰� AddDispatchpatients() { - this.SelectPatientslist.forEach((item) => { - item.isoperation = 1; - }); - this.form.patTaskRelevances.push(...this.SelectPatientslist); + // this.SelectPatientslist.forEach((item) => { + // item.isoperation = 1; + // }); + // this.form.patTaskRelevances.push(...this.SelectPatientslist); + // this.overallCase.push(...this.SelectPatientslist); this.dialogVisiblepatient = false; - this.assignedVariable() - }, - // 鍙橀噺澶勭悊璧嬪�兼湇鍔� - assignedVariable() { - // 鑾峰彇鎮h�呭垪琛ㄤ俊鎭惊鐜� - console.log(this.variableList,'this.variableList'); - this.form.patTaskRelevances.forEach((item) => { - this.variableList.forEach((item1) => { - - }) - }) - // 鍙栨暟鎹~鍏呭彉閲忔暟缁� - // 鏁扮粍杞璞″瓨鍏� }, - // 鍙橀噺--------------- - // variableEdit(index, row) { - // console.log(index, row); - // }, variableDelete(index, row) { this.variableList.splice(index, 1); row.isoperation = 3; @@ -1126,6 +1261,12 @@ changeTime(row) { console.log(row, "鏃堕棿"); this.processingTime(); + }, + Totaldate(row) { + console.log(row, "鏃堕棿"); + this.form.sendTimeslot = [{ begantime: row, endtime: row, xh: 1 }]; + this.form.showTimeMorn = row; + console.log(this.form.sendTimeslot, "鏃堕棿"); }, changeTimeday(row) { const startDate = new Date(row[0]); @@ -1182,11 +1323,68 @@ this.form.sendTimeslot = combinedData; // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄 - this.form.sendlimitabegin = this.daytime.join(","); - if (this.time1) this.form.sendlimitaend = this.time1.join(","); - if (this.time2) this.form.sendlimitnbegin = this.time2.join(","); - if (this.time3) this.form.sendlimitnend = this.time3.join(","); + this.form.showDate = this.daytime.join(","); + if (this.time1) this.form.showTimeMorn = this.time1.join(","); + if (this.time2) this.form.showTimeNoon = this.time2.join(","); + if (this.time3) this.form.showTimeNight = this.time3.join(","); console.log(combinedData, "combinedData"); + }, + // 鏌ョ湅妯$増 + previewGo() { + this.$router.push({ + path: "/knowledge/templateku/configurat/", + query: { id: this.previewid, task: true, data: this.form }, + }); + }, + previewFn() { + let id = this.Tasktemplate.id; + this.Tasktemplate.id = null; + this.Tasktemplate.ivrLibaTemplateScriptVOList.ivrTaskScriptTargetoptionList = + this.Tasktemplate.ivrLibaTemplateScriptVOList.ivrLibaScriptTargetoptionList; + this.Tasktemplate.ivrTaskTemplateScriptVOList = + this.Tasktemplate.ivrLibaTemplateScriptVOList; + this.Tasktemplate.ivrLibaTemplateTagList = null; + this.Tasktemplate.tempDetpRelevances = null; + this.Tasktemplate.libtemplateid = id; + this.Tasktemplate.isoperation = 1; + this.Tasktemplate.libtemplatename = this.Tasktemplate.templateName; + TaskTemplatecomit(this.Tasktemplate).then((response) => { + console.log(response); + this.previewtf = false; + this.form.templateid = response.data; + this.form.libtemplateid = this.libId; + this.form.templatename = this.libName; + this.$modal.msgSuccess("閫夋嫨妯$増鎴愬姛"); + }); + }, + // 澶勭悊鏈嶅姟褰㈠紡 + formatFn(type) { + console.log(this.preachform, "preachform"); + console.log(this.checkList, "checklist"); + let list = []; + let formlist = []; + if (type == 1) { + this.preachform.forEach((item) => { + this.checkList.forEach((obj) => { + if (item.label == obj) { + list.push(item.value); + } + }); + }); + this.form.preachform = list.join(","); + } else { + console.log(this.form.preachform, "this.form.preachform"); + formlist = this.form.preachform.split(","); + console.log(11); + this.preachform.forEach((item) => { + formlist.forEach((obj) => { + if (item.value == obj) { + list.push(item.label); + } + }); + }); + this.checkList = list; + } }, }, }; @@ -1280,6 +1478,22 @@ // margin: 0 20px; // } // } +.preview-left { + margin: 20px; + // margin: 20px; + padding: 30px; + background: #ffff; + 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 { + margin-bottom: 25px; + font-size: 20px !important; + .dev-text { + margin-bottom: 10px; + } + } +} .jic-value { font-size: 20px; border-top: 1px solid #a7abac; -- Gitblit v1.9.3