From 628fd01beea81bac2f0299472d528860ae07cf3f Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期日, 02 六月 2024 10:52:30 +0800 Subject: [PATCH] 测试完成 --- src/views/patient/propaganda/particty.vue | 352 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 256 insertions(+), 96 deletions(-) diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index db07b76..8f06dbc 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -7,11 +7,11 @@ <el-step icon="el-icon-edit" title="鍩虹淇℃伅" - description="閫夋嫨瀹f暀妯$増銆佸舰寮忕瓑鍩虹淇℃伅" + description="閫夋嫨妯$増銆佸舰寮忕瓑鍩虹淇℃伅" ></el-step> <el-step icon="el-icon-user" - title="浠讳富浣�" + title="浠诲姟涓讳綋" description="鍦ㄦ湰閮ㄩ�夋嫨鏈嶅姟鎮h��" ></el-step> <el-step icon="el-icon-user" title="妯$増纭"></el-step> @@ -22,11 +22,7 @@ <div class="leftvlue" style="margin: 0 20px"> <!-- 鍩烘湰淇℃伅 --> <div v-if="Editprogress == 1"> - <el-alert - title="閫夋嫨瀹f暀妯$増銆佸舰寮忕瓑鍩虹淇℃伅" - type="success" - effect="dark" - > + <el-alert title="閫夋嫨妯$増銆佸舰寮忕瓑鍩虹淇℃伅" type="success" effect="dark"> </el-alert> <div class="leftvlue-jbxx"> <!-- 鍩虹淇℃伅 --> @@ -45,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" @@ -54,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="浠诲姟鎻忚堪"> @@ -85,7 +88,7 @@ <div style="display: flex"> <div style="margin-right: 10px"> <span style="font-size: 18px; margin-right: 10px" - >涓婂崍</span + >鏃堕棿娈典竴</span > <el-time-picker is-range @@ -102,7 +105,7 @@ </div> <div style="margin-right: 10px"> <span style="font-size: 18px; margin-right: 10px" - >涓嬪崍</span + >鏃堕棿娈典簩</span > <el-time-picker is-range @@ -119,7 +122,7 @@ </div> <div style="margin-right: 10px"> <span style="font-size: 18px; margin-right: 10px" - >鏅氶棿</span + >鏃堕棿娈典笁</span > <el-time-picker is-range @@ -331,7 +334,7 @@ :total="total" :page.sync="topqueryParams.pageNum" :limit.sync="topqueryParams.pageSize" - @pagination="getList" + @pagination="Acquisitiontype" /> </el-row> </div> @@ -339,7 +342,7 @@ </div> </div> <el-button type="success" @click="nextstep('ruleForm')">{{ - quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏璁剧疆" + quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆" }}</el-button> <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> </div> @@ -376,11 +379,11 @@ </el-table-column> <el-table-column label="鎿嶄綔" align="center"> <template slot-scope="scope"> - <el-button + <!-- <el-button size="mini" @click="variableEdit(scope.$index, scope.row)" >缂栬緫</el-button - > + > --> <el-button size="mini" type="danger" @@ -526,10 +529,12 @@ </el-row> <!-- 閫変腑鎮h�呭垪琛� --> <SFtable + @details="detailhz" @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" - :currentList="form.patTaskRelevances" + :currentList="overallCase" :tableLabel="tableLabelhz" + :serialnumber="false" + :multiplechoice="false" :controlxz="false" :typeinfo="2" /> @@ -546,9 +551,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> @@ -558,6 +563,7 @@ :visible.sync="dialogVisiblepatient" width="70%" :before-close="handleClosehz" + :close-on-click-modal="false" > <div class="examine-jic"> <div class="jic-value"> @@ -574,49 +580,28 @@ <el-form-item label="鎮h�呭悕绉帮細"> <el-input v-model="patientqueryParams.name"></el-input> </el-form-item> - <el-form-item label="鎮h�呮潵婧�" prop="status"> + + <el-form-item label="灏辫瘖绉戝" prop="status"> <el-select v-model="patientqueryParams.topic" placeholder="璇烽�夋嫨" > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" + <el-option-group + v-for="group in topicoptions[0].children" + :key="group.deptName" + :label="group.deptName" > - </el-option> - </el-select> - </el-form-item> - <el-form-item label="鍑洪櫌绉戝" prop="status"> - <el-select - v-model="patientqueryParams.topic" - placeholder="璇烽�夋嫨" - > - <el-option - v-for="item in topicoptions" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> + <el-option + v-for="item in group.children" + :key="item.deptId" + :label="item.deptName" + :value="item.deptId" + > + </el-option> + </el-option-group> </el-select> </el-form-item> - <el-form-item label="鍑洪櫌鐥呭尯" prop="status"> - <el-select - v-model="patientqueryParams.topic" - 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" @@ -635,12 +620,13 @@ </el-form> <!-- 閫夋嫨鎮h�呭垪琛� --> <SFtable + ref="multipleTable" @handleUpdate="handleUpdate" @handleSelectionChange="handleSelectionChange" :currentList="patientuserList" :tableLabel="tableLabelhz" :serialnumber="false" - :controlsc="false" + :center="false" :typeinfo="3" /> </el-row> @@ -660,6 +646,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> @@ -671,13 +694,15 @@ getlibrarylist, getFollowuplist, getQtemplatelist, + TaskTemplatecomit, getTaskInfo, - addhetask, gethetaskinfo, delhetaskinfo, Editsingletask, getvFollowup, } from "@/api/AiCentre/index"; +import { listDept } from "@/api/system/dept"; + import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢 export default { @@ -686,22 +711,29 @@ 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" }, { label: "鎮h�呭悕绉�", width: "", prop: "name" }, { label: "鎬у埆", width: "", prop: "sex" }, { label: "骞撮緞", width: "", prop: "age" }, - { label: "灏辫瘖绉戝", width: "", prop: "impTemplate" }, - { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "uploadTime" }, + { label: "灏辫瘖绉戝", width: "", prop: "deptName" }, + { label: "鍏ラ櫌鏃ユ湡", width: "", prop: "inhosptime" }, { label: "鍒涘缓浜猴紙缂猴級", width: "", prop: "update_by" }, ], tableLabelxj: [ @@ -767,7 +799,7 @@ pageNum: 1, // pageSize: 10, }, - topicoptions: [], + topicoptions: [{ children: [{ children: [] }] }], showSearch: true, // total: 0, // sontotal: 0, // @@ -782,6 +814,7 @@ userList: [], //妯$増鍒楄〃 patientuserList: [], //閫夋嫨鎮h�呭垪琛� sonuserList: [], //閫変腑鎮h�呭垪琛� + delvariableList: [], //鍒犻櫎鍙橀噺涓存椂瀛樺偍 variableList: [ { name: "濮撳悕", @@ -831,6 +864,7 @@ sendType: 1, templatename: "", templateid: null, + libtemplateid: null, }, taskoptions: [ { @@ -853,9 +887,10 @@ created() { this.id = this.$route.query.id; - this.form.type = this.$route.query.type; - this.Getdetails(); + this.form.hospType = this.$route.query.type; + this.listDept(); this.Acquisitiontype(); + this.Getdetails(); }, methods: { @@ -890,8 +925,8 @@ // 鑾峰彇褰撳墠绫诲瀷 Acquisitiontype() { let queryParams = { - pageNum: 1, - pageSize: 10, + pageNum: this.topqueryParams.pageNum, + pageSize: this.topqueryParams.pageSize, isavailable: "", }; this.currenttype = this.$route.query.type; @@ -951,22 +986,21 @@ // 淇濆瓨 submitForm(formName) { this.form.serviceform = this.checkList.join(","); - this.form.type = this.currenttype; + this.form.hospType = this.currenttype; const filteredArray = this.variableList.filter( (item) => item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃" ); 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("淇敼鎴愬姛"); @@ -976,7 +1010,7 @@ }); }, // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� - // 閫夋嫨妯$増 + // 纭閫夋嫨妯$増鏀惧叆浠诲姟妯$増 selectfn(row, type) { // 妯$増鎯呭喌涓嬭幏鍙栨ā鐗堜俊鎭� if (type == 1) { @@ -987,15 +1021,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); } }); @@ -1034,29 +1073,92 @@ }, // 瀛愪换鍔′簩绾у脊妗� 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) { + 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() {}, + handleQuery() { + this.handleAddpatient(); + }, resetQuery() {}, handleClosehz() { this.dialogVisiblepatient = false; @@ -1078,33 +1180,48 @@ Getdetails() { if (this.id) { getTaskInfo({ taskid: this.id }).then((res) => { - const filteredArray = ""; + let filteredArray = ""; if (res.code == 200) { this.form = res.data; + this.overallCase = this.form.patTaskRelevances.concat(); this.checkList = this.form.serviceform.split(","); + this.daytime = this.form.showDate.split(","); + if (this.form.showTimeMorn) + 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(","); 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); }); } }, + // 鑾峰彇绉戝鍒楄〃 + listDept() { + listDept().then((res) => { + this.topicoptions = this.handleTree(res.data, "deptId"); + console.log(this.topicoptions, "topicoptions"); + }); + }, // 鏂板娲鹃�佹偅鑰� 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; }, - // 鍙橀噺--------------- - variableEdit(index, row) { - console.log(index, row); - }, variableDelete(index, row) { + this.variableList.splice(index, 1); + row.isoperation = 3; + this.delvariableList.push(row); console.log(index, row); }, // 鏃堕棿---------- @@ -1166,13 +1283,40 @@ } this.form.sendTimeslot = combinedData; // 灞曠ず鏁版嵁涓存椂瀛樺偍鏃ユ湡銆佹棭銆佷腑銆佹櫄 - console.log(11); - console.log(this.time2, "this.time2"); - 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("閫夋嫨妯$増鎴愬姛"); + }); }, }, }; @@ -1266,6 +1410,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