From d84cde7ed98bf0c562a8631e660fd494de9a7d0b Mon Sep 17 00:00:00 2001 From: WXL <1785969728@qq.com> Date: 星期一, 25 三月 2024 10:11:33 +0800 Subject: [PATCH] 指标完成 --- src/main.js | 4 package.json | 1 src/views/patient/propaganda/particty.vue | 243 ++++++++++++++++++++++++++++++++++++------------ src/components/SFtable/index.vue | 2 4 files changed, 188 insertions(+), 62 deletions(-) diff --git a/package.json b/package.json index 22cce97..88fc09f 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ "js-cookie": "3.0.1", "jsencrypt": "3.0.0-rc.1", "lemon-imui": "^1.7.7", + "moment": "^2.30.1", "nprogress": "0.2.0", "quill": "1.3.7", "quill-image-drop-module": "^1.0.3", diff --git a/src/components/SFtable/index.vue b/src/components/SFtable/index.vue index f8eea2b..eb51795 100644 --- a/src/components/SFtable/index.vue +++ b/src/components/SFtable/index.vue @@ -150,7 +150,7 @@ }, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { - $emit("handleSelectionChange", selection); + this.$emit("handleSelectionChange", selection); }, }, }; diff --git a/src/main.js b/src/main.js index b6eff6f..532adf6 100644 --- a/src/main.js +++ b/src/main.js @@ -80,6 +80,9 @@ for (let key in filters) { Vue.filter(key, filters[key]); } +import moment from "moment" + +Vue.prototype.$moment = moment; // 鍏ㄥ眬鏂规硶鎸傝浇 @@ -131,3 +134,4 @@ store, render: (h) => h(App), }); + diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue index 0ec5f32..c60ded7 100644 --- a/src/views/patient/propaganda/particty.vue +++ b/src/views/patient/propaganda/particty.vue @@ -38,40 +38,86 @@ <el-form ref="form" :model="form" label-width="105px"> <el-form-item label="妯$増鍚嶇О锛�"> <el-input - :disabled="true" style="width: 220px" - v-model="form.preachname" - placeholder="璇峰湪涓嬫柟閫夋嫨" + v-model="form.templatename" + placeholder="璇峰湪涓嬪垪閫夋嫨" /> </el-form-item> <el-form-item label="鍙戦�佽缃細" v-if="currenttype != 2"> - <el-radio-group v-model="radio"> + <el-radio-group v-model="form.sendType"> <el-radio :label="1">鏃堕棿娈靛彂閫�</el-radio> - <el-radio :label="2">鏃堕棿鐐瑰彂閫�</el-radio> <el-radio :label="3">鍗冲埢鍙戦��</el-radio> </el-radio-group> </el-form-item> <el-form-item - label="鍙戦�佹椂闂寸偣锛�" - v-if="currenttype != 2 && radio == 2" + label="鍙戦�佹棩鏈燂細" + v-if="currenttype != 2 && form.sendType == 1" > <el-date-picker - v-model="form.sendTime" - type="datetime" - placeholder="閫夋嫨鏃ユ湡鏃堕棿" - default-time="13:00:00" + v-model="daytime" + @change="changeTimeday" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + value-format="yyyy-MM-dd" > </el-date-picker> </el-form-item> <el-form-item label="鍙戦�佹椂闂存锛�" - v-if="currenttype != 2 && radio == 1" + v-if="currenttype != 2 && form.sendType == 1" > - <el-checkbox-group v-model="checkList"> - <el-checkbox label="涓婂崍锛�8:30-11:30锛�"></el-checkbox> - <el-checkbox label="涓嬪崍锛�14:30-16:30锛�"></el-checkbox> - <el-checkbox label="澶滈棿锛�18:30-20:30锛�"></el-checkbox> - </el-checkbox-group> + <div style="display: flex"> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >涓婂崍</span + > + <el-time-picker + is-range + @change="changeTime" + v-model="time1" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >涓嬪崍</span + > + <el-time-picker + is-range + @change="changeTime" + v-model="time2" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + <div style="margin-right: 10px"> + <span style="font-size: 18px; margin-right: 10px" + >鏅氶棿</span + > + <el-time-picker + is-range + @change="changeTime" + v-model="time3" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + placeholder="閫夋嫨鏃堕棿鑼冨洿" + value-format="HH:mm:ss" + > + </el-time-picker> + </div> + </div> </el-form-item> <el-form-item label="鏈嶅姟褰㈠紡"> <el-checkbox-group v-model="checkList"> @@ -82,18 +128,6 @@ ></el-checkbox> </el-checkbox-group> </el-form-item> - <!-- <el-form-item label="缁勭粐褰㈠紡"> - <el-radio-group v-model="form.radio"> - <el-radio :label="3">鍗曚汉瀹f暀</el-radio> - <el-radio :label="6">澶氫汉闆嗕腑瀹f暀</el-radio> - </el-radio-group> - </el-form-item> --> - <!-- <el-form-item label="璇煶妯$増" prop="region"> - <el-select v-model="form.region" placeholder="璇烽�夋嫨妯$増"> - <el-option label="涓�鍙锋ā鐗�" value="shanghai"></el-option> - <el-option label="浜屽彿妯$増" value="beijing"></el-option> - </el-select> - </el-form-item> --> </el-form> </div> </div> @@ -259,10 +293,9 @@ </el-form-item> </el-form> <el-divider></el-divider> - <!-- 閫夋嫨浠诲姟鍒楄〃 --> + <!-- 閫夋嫨妯$増鍒楄〃 --> <SFtable - @handleUpdate="handleUpdate" - @handleSelectionChange="handleSelectionChange" + @selectfn="selectfn" :currentList="userList" :tableLabel="tableLabel" :controlsc="false" @@ -474,7 +507,7 @@ <SFtable @handleUpdate="handleUpdate" @handleSelectionChange="handleSelectionChange" - :currentList="sonuserList" + :currentList="form.patTaskRelevances" :tableLabel="tableLabelhz" :controlxz="false" :typeinfo="2" @@ -693,6 +726,12 @@ { label: "鍖归厤绗�", width: "", prop: "character" }, { label: "鏇挎崲鍊�", width: "", prop: "Replacementvalue" }, ], + // 鏃堕棿澶勭悊 + daytime: [], //鏃ユ湡 + applydaytime: [], //璁$畻鏃ユ湡 + time1: "", //涓婂崍鏃堕棿娈� + time2: "", //涓嬪崍鏃堕棿娈� + time3: "", //鏅氫笂鏃堕棿娈� topqueryParams: { pageNum: 1, // pageSize: 10, @@ -738,16 +777,15 @@ Replacementvalue: "鍏釜鍏�", }, ], //鍙橀噺鍒楄〃 + variableListTime: [], tasktopic: null, //鏂板绫诲瀷 + SelectPatientslist: [], form: { - name: "", - region: "", - date1: "", - date2: "", - delivery: false, - type: [], - resource: "", - desc: "", + serviceform: [], + patTaskRelevances: [], + sendType: 1, + templatename: "", + templateid: null, }, taskoptions: [ { @@ -782,7 +820,7 @@ // 鍦板潃: { "${dzz}": "榫欏" }, // 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, // } - // 瀵硅薄杞暟缁� + // 鍙橀噺杞崲瀵硅薄杞暟缁� convertFormat1ToFormat2(data) { let result = []; for (let key in data) { @@ -818,15 +856,15 @@ this.title = "瀹f暀鍐呭鍒楄〃"; this.tableLabel = this.tableLabelxj; this.checkboxlist = [ - "褰撻潰", - "澶氬獟浣�", + "绾夸笅", + "瑙嗛", "绾歌川", - "鐢佃瘽", + "璇煶", "鐭俊", "寰俊鍏紬鍙�", "寰俊灏忕▼搴�", "鏀粯瀹�", - "鏅鸿兘灏忕▼搴�", + "浜岀淮鐮�", "閽夐拤", ]; getlibrarylist(queryParams).then((response) => { @@ -836,7 +874,7 @@ } else if (this.currenttype == 2) { this.title = "闅忚鍐呭鍒楄〃"; this.tableLabel = this.tableLabelmz; - this.checkboxlist = ["褰撻潰", "绾歌川", "鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; + this.checkboxlist = ["绾夸笅", "绾歌川", "璇煶", "鐭俊", "寰俊鍏紬鍙�"]; getFollowuplist(queryParams).then((response) => { this.userList = response.rows; this.total = response.total; @@ -844,7 +882,7 @@ } else if (this.currenttype == 3) { this.title = "闅忚璁″垝鍒楄〃"; this.tableLabel = this.tableLabelcy; - this.checkboxlist = ["褰撻潰", "绾歌川", "鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; + this.checkboxlist = ["绾夸笅", "绾歌川", "璇煶", "鐭俊", "寰俊鍏紬鍙�"]; getFollowuplist(queryParams).then((response) => { this.userList = response.rows; this.total = response.total; @@ -852,7 +890,7 @@ } else if (this.currenttype == 4) { this.title = "閫氱煡鍐呭鍒楄〃"; this.tableLabel = this.tableLabelfz; - this.checkboxlist = ["鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; + this.checkboxlist = ["璇煶", "鐭俊", "寰俊鍏紬鍙�"]; getFollowuplist(queryParams).then((response) => { this.userList = response.rows; this.total = response.total; @@ -860,7 +898,7 @@ } else if (this.currenttype == 5) { this.title = "閫氱煡鍐呭鍒楄〃"; this.tableLabel = this.tableLabeltj; - this.checkboxlist = ["绾歌川", "鐢佃瘽", "鐭俊", "寰俊鍏紬鍙�"]; + this.checkboxlist = ["绾歌川", "璇煶", "鐭俊", "寰俊鍏紬鍙�"]; getFollowuplist(queryParams).then((response) => { this.userList = response.rows; this.total = response.total; @@ -869,10 +907,10 @@ this.title = "闂嵎鍐呭鍒楄〃"; this.tableLabel = this.tableLabelwj; this.checkboxlist = [ - "褰撻潰", - "澶氬獟浣�", + "绾夸笅", + "瑙嗛", "绾歌川", - "鐢佃瘽", + "璇煶", "鐭俊", "寰俊鍏紬鍙�", "寰俊灏忕▼搴�", @@ -891,12 +929,23 @@ }, // 淇濆瓨 submitForm(formName) { + this.form.serviceform = this.checkList.join(","); + this.form.textParam = { + 濮撳悕: { "${name}": "榫欏偛澶�" }, + 鍦板潃: { "${dzz}": "榫欏" }, + 鐢佃瘽: { "${dhh}": "鍏釜鍏�" }, + }; + if (this.form.id) { + this.form.isoperation = 2; + } else { + this.form.isoperation = 1; + } Editsingletask(this.form).then((response) => { if (res.code == 200) { if (this.form.id) { this.$modal.msgSuccess("鏂板鎴愬姛"); - }else{ - this.$modal.msgSuccess("淇敼鎴愬姛鎴愬姛"); + } else { + this.$modal.msgSuccess("淇敼鎴愬姛"); } this.$router.go(-1); } @@ -910,6 +959,18 @@ // return false; // } // }); + }, + // ----------------------琛ㄦ牸瀛愮粍浠朵簨浠� + // 閫夋嫨 + selectfn(row, type) { + console.log(row); + console.log(type); + if (type == 1) { + this.form.templatename = row.preachname; + this.form.templateid = row.templateid; + } else if (type == 2) { + } else if (type == 3) { + } }, // 瀛愪换鍔′簩绾у脊妗� handleAddpatient(row) { @@ -926,6 +987,8 @@ handleExport() {}, // 澶氶�夋閫変腑鏁版嵁 handleSelectionChange(selection) { + console.log("澶氶�夋偅鑰�"); + this.SelectPatientslist = selection; this.ids = null; this.ids = selection.map((item) => item.patid).join(","); // let result = this.ids.join(","); @@ -960,12 +1023,10 @@ }, // 鏂板娲鹃�佹偅鑰� AddDispatchpatients() { - let objictpint = {}; - objictpint.patientes = this.ids; - objictpint.pguid = 2; - // Addpatienttask(objictpint).then((res) => { - // console.log(res); - // }); + this.SelectPatientslist.forEach((item) => { + item.isoperation = 1; + }); + this.form.patTaskRelevances.push(...this.SelectPatientslist); this.dialogVisiblepatient = false; }, @@ -986,6 +1047,66 @@ variableDelete(index, row) { console.log(index, row); }, + // 鏃堕棿---------- + changeTime(row) { + console.log(row, "鏃堕棿"); + this.processingTime(); + }, + changeTimeday(row) { + const startDate = new Date(row[0]); + const endDate = new Date(row[1]); + this.applydaytime = this.getDates(startDate, endDate); + this.processingTime(); + }, + getDates(startDate, endDate) { + const dates = []; + let currentDate = new Date(startDate); + + while (currentDate <= endDate) { + dates.push(this.$moment(currentDate).format("YYYY-MM-DD")); + currentDate.setDate(currentDate.getDate() + 1); + } + + return dates; + }, + // 鏃堕棿鏈�缁堝鐞嗘柟娉� + processingTime() { + const combinedData = []; + let serialnumber = 1; + if (this.time3[0]) { + serialnumber = 3; + } else if (this.time2[0]) { + serialnumber = 2; + } else if (this.time1[0]) { + serialnumber = 1; + } else { + return; + } + + for (let i = 0; i < this.applydaytime.length; i++) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time1[0]}`, + endtime: `${this.applydaytime[i]} ${this.time1[1]}`, + xh: serialnumber * i + 1, + }); + if (serialnumber >= 2) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time2[0]}`, + endtime: `${this.applydaytime[i]} ${this.time2[1]}`, + xh: serialnumber * i + 2, + }); + } + if (serialnumber >= 3) { + combinedData.push({ + begantime: `${this.applydaytime[i]} ${this.time3[0]}`, + endtime: `${this.applydaytime[i]} ${this.time3[1]}`, + xh: serialnumber * i + 3, + }); + } + } + this.form.sendTimeslot = combinedData; + console.log(combinedData, "combinedData"); + }, }, }; </script> -- Gitblit v1.9.3