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