From d54ac083e2992a5613f5cb22849db9742dbe9a9b Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期三, 22 十月 2025 11:06:14 +0800
Subject: [PATCH] 问卷联调
---
src/views/patient/propaganda/particty.vue | 298 +++++++++++++++++++++++++++++++++++++----------------------
1 files changed, 186 insertions(+), 112 deletions(-)
diff --git a/src/views/patient/propaganda/particty.vue b/src/views/patient/propaganda/particty.vue
index e9d753d..cdb2d0d 100644
--- a/src/views/patient/propaganda/particty.vue
+++ b/src/views/patient/propaganda/particty.vue
@@ -69,7 +69,7 @@
placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
/>
</el-form-item>
- <el-form-item label="鏈嶅姟褰㈠紡">
+ <!-- <el-form-item label="鏈嶅姟褰㈠紡">
<el-radio-group
v-model="checkList"
@change="handleCheckedCitiesChange"
@@ -78,11 +78,20 @@
v-for="(item, index) in checkboxlist"
:key="index"
:label="item.value"
- @change="checkboxChange($event, item.value)"
>
{{ item.label }}</el-radio
>
</el-radio-group>
+ </el-form-item> -->
+ <el-form-item label="鏈嶅姟褰㈠紡">
+ <SortCheckbox
+ v-model="checkList"
+ :options="checkboxlist"
+ :initialselectedOrder="selectedOrder"
+ value-key="value"
+ label-key="label"
+ @change="checkSelectionChange"
+ />
</el-form-item>
<!-- <div class="xinz-infs">
<el-form-item label="鏈嶅姟鎵ц椤哄簭" prop="daytime">
@@ -433,7 +442,7 @@
<el-button type="success" @click="nextstep('ruleForm')">{{
quote ? "绔嬪嵆鍒涘缓" : "浠诲姟璇︽儏閰嶇疆"
}}</el-button>
- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+ <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
</div>
<!-- 浠诲姟璇︽儏 -->
<div v-if="Editprogress == 2">
@@ -471,7 +480,7 @@
size="medium"
:disabled="!patientqueryParams.allhosp"
@click="handleQuery"
- >鏂板</el-button
+ >娣诲姞鎮h��</el-button
>
</el-col>
@@ -514,10 +523,13 @@
</div>
</div>
<el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
- <el-button type="success" @click="submitForm('11')">{{
- quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆"
- }}</el-button>
- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+ <el-button
+ :loading="submitLoading"
+ type="success"
+ @click="submitForm('11')"
+ >{{ quote ? "绔嬪嵆鍒涘缓" : "纭浠诲姟閰嶇疆" }}</el-button
+ >
+ <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
</div>
</div>
<!-- 娣诲姞鎮h�� -->
@@ -887,7 +899,7 @@
import { messagelistpatient } from "@/api/patient/homepage";
import store from "@/store";
import {
- getTaskpatient,
+ getTaskpatientQC,
getillnesslist,
getbaseopera,
getFollowuplist,
@@ -909,6 +921,7 @@
} from "@/api/AiCentre/index";
import { deptTreeSelect } from "@/api/system/user";
import OptionalForm from "@/components/OptionalForm";
+import SortCheckbox from "@/components/SortCheckbox"; //琛ㄦ牸缁勪欢
import { MessageBox } from "element-ui";
import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
@@ -924,6 +937,7 @@
libName: "",
username: "",
templateor: false,
+ submitLoading: false, // 鎺у埗鎸夐挳鍔犺浇鐘舵��
objyl: {},
overallCase: [], //閫夋嫨鎮h�呮��
allpids: [],
@@ -951,6 +965,8 @@
skip: false,
donorchargeList: [],
baseoperaList: [],
+ selectedOrder: [],
+
usable: [
{ value: "0", label: "鍙敤" },
{ value: "1", label: "鍋滅敤" },
@@ -969,6 +985,7 @@
{ label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
{ label: "鎬у埆", width: "", prop: "sex" },
{ label: "骞撮緞", width: "", prop: "age" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
{ label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
{ label: "涓绘不鍖荤敓", width: "", prop: "drname" },
{ label: "绉戝", width: "240", prop: "dept" },
@@ -982,6 +999,7 @@
{ label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
{ label: "鎬у埆", width: "", prop: "sex" },
{ label: "骞撮緞", width: "", prop: "age" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
{ label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
{ label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
{ label: "涓绘不鍖荤敓", width: "", prop: "drname" },
@@ -1025,7 +1043,7 @@
pageNum: 1, //
pageSize: 10,
},
- checkList: "",
+ checkList: [],
foncheckList: [],
formatvalue: {
format1: "",
@@ -1122,11 +1140,11 @@
},
taskoptions: [
{
- value: "1",
+ value: "4",
label: "鍑洪櫌鐥呬汉",
},
{
- value: "4",
+ value: "1",
label: "鍦ㄩ櫌鐥呬汉",
},
{
@@ -1198,7 +1216,7 @@
serviceType: null,
};
},
- components: { SFtable, OptionalForm },
+ components: { SFtable, OptionalForm, SortCheckbox },
created() {
this.appraiselist = store.getters.appraiselist;
@@ -1423,102 +1441,120 @@
},
// 淇濆瓨
submitForm(type) {
- if (this.templateor && type) this.templateor = false;
- if (this.time4 && this.form.sendType == 3)
- this.form.showTimeMorn = this.time4;
- this.form.sendTimeslot = [
- {
- begantime: this.time4,
- endtime: "",
- xh: 1,
- },
- ];
- if (this.form.appltype == 1) {
- this.leavehospitaldistrictcodes = [];
- this.operationcodes = [];
- this.illnesscodes = [];
- } else if (this.form.appltype == 2) {
- this.deptcodesWards = [];
- this.operationcodes = [];
- this.illnesscodes = [];
- } else if (this.form.appltype == 3) {
- this.deptcodesWards = [];
- this.leavehospitaldistrictcodes = [];
- this.operationcodes = [];
- } else if (this.form.appltype == 4) {
- this.deptcodesWards = [];
- this.illnesscodes = [];
- this.leavehospitaldistrictcodes = [];
- }
- if (this.checkList) {
- this.form.preachform = this.checkList;
- } else {
- this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+ if (this.submitLoading) {
return;
}
-
- if (
- this.deptcodesWards[0] ||
- this.leavehospitaldistrictcodes[0] ||
- this.diagglist[0] ||
- this.operationcodes[0]
- ) {
- } else {
- this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
- return;
- }
- if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
- this.$modal.msgError("璇烽�夋嫨鐥呬汉");
- return;
- }
-
- if (!this.form.templatename && !this.templateor) {
- this.$modal.msgError("鏈�夋嫨妯℃澘");
- return;
- }
-
- if ((this.form.sendType == 1 && this.time1) || this.form.sendType == 2) {
- } else if (
- (this.form.sendType == 3 && this.time4) ||
- this.form.longTask
- ) {
- } else {
- return this.$modal.msgError("鏃堕棿淇℃伅缂哄け");
- }
- const filteredArray = this.variableList.filter(
- (item) =>
- item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
- );
- this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
- if (this.form.taskid) {
- this.form.isoperation = 2;
- } else {
- this.form.isoperation = 1;
- }
- if (!this.form.type) {
- this.form.type = this.$route.query.type;
- }
- this.form.serviceType = this.serviceType;
- this.form.deptcode = this.deptcodesWards.join(",");
- this.form.leavehospitaldistrictcode =
- this.leavehospitaldistrictcodes.join(",");
- this.form.opcode = this.operationcodes.join(",");
- this.form.icd10code = this.diagglist
- .map((item) => item.icdcode)
- .join(",");
- Editsingletask(this.form).then((res) => {
- if (res.code == 200) {
- if (this.form.taskid) {
- this.$modal.msgSuccess("淇敼鎴愬姛");
- } else {
- this.$modal.msgSuccess("鏂板鎴愬姛");
- }
- this.$router.push({
- path: "/followvisit/tasklist",
- query: { tasktopic: this.form.serviceType },
- });
+ // 绗簩姝ワ細寮�鍚姞杞界姸鎬侊紝绂佺敤鎸夐挳
+ this.submitLoading = true;
+ try {
+ if (this.templateor && type) this.templateor = false;
+ if (this.time4 && this.form.sendType == 3)
+ this.form.showTimeMorn = this.time4;
+ this.form.sendTimeslot = [
+ {
+ begantime: this.time4,
+ endtime: "",
+ xh: 1,
+ },
+ ];
+ if (this.form.appltype == 1) {
+ this.leavehospitaldistrictcodes = [];
+ this.operationcodes = [];
+ this.illnesscodes = [];
+ } else if (this.form.appltype == 2) {
+ this.deptcodesWards = [];
+ this.operationcodes = [];
+ this.illnesscodes = [];
+ } else if (this.form.appltype == 3) {
+ this.deptcodesWards = [];
+ this.leavehospitaldistrictcodes = [];
+ this.operationcodes = [];
+ } else if (this.form.appltype == 4) {
+ this.deptcodesWards = [];
+ this.illnesscodes = [];
+ this.leavehospitaldistrictcodes = [];
}
- });
+ if (this.checkList) {
+ this.form.preachform = this.checkList.join(",");
+ this.form.preachformList = this.selectedOrder;
+ } else {
+ this.$modal.msgError("璇烽�夋嫨鏈嶅姟绫诲瀷");
+ return;
+ }
+
+ if (
+ this.deptcodesWards[0] ||
+ this.leavehospitaldistrictcodes[0] ||
+ this.diagglist[0] ||
+ this.operationcodes[0] ||
+ this.form.longTask == 2 ||
+ this.serviceType == 3
+ ) {
+ } else {
+ this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
+ return;
+ }
+ // if (!this.form.patTaskRelevances[0] && !this.form.longTask) {
+ // this.$modal.msgError("璇烽�夋嫨鐥呬汉");
+ // return;
+ // }
+
+ if (!this.form.templatename && !this.templateor) {
+ this.$modal.msgError("鏈�夋嫨妯℃澘");
+ return;
+ }
+
+ if (
+ (this.form.sendType == 1 && this.time1) ||
+ this.form.sendType == 2
+ ) {
+ } else if (
+ (this.form.sendType == 3 && this.time4) ||
+ this.form.longTask
+ ) {
+ } else {
+ return this.$modal.msgError("鏃堕棿淇℃伅缂哄け");
+ }
+ const filteredArray = this.variableList.filter(
+ (item) =>
+ item.name !== "濮撳悕" && item.name !== "鐢佃瘽" && item.name !== "鍦板潃"
+ );
+ this.form.textParam = this.convertFormat2ToFormat1(filteredArray);
+ if (this.form.taskid) {
+ this.form.isoperation = 2;
+ } else {
+ this.form.isoperation = 1;
+ }
+ if (!this.form.type) {
+ this.form.type = this.$route.query.type;
+ }
+ this.form.serviceType = this.serviceType;
+ this.form.deptcode = this.deptcodesWards.join(",");
+ this.form.leavehospitaldistrictcode =
+ this.leavehospitaldistrictcodes.join(",");
+ this.form.opcode = this.operationcodes.join(",");
+ this.form.icd10code = this.diagglist
+ .map((item) => item.icdcode)
+ .join(",");
+ Editsingletask(this.form).then((res) => {
+ if (res.code == 200) {
+ if (this.form.taskid) {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ } else {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ }
+ this.submitLoading = false;
+ this.$router.push({
+ path: "/followvisit/tasklist",
+ query: { tasktopic: this.form.serviceType },
+ });
+ }
+ });
+ } catch (error) {
+ this.submitLoading = false;
+ } finally {
+ // 绗洓姝ワ細鏃犺鎴愬姛鎴栧け璐ワ紝鏈�缁堥兘鍏抽棴鍔犺浇鐘舵��
+ }
},
// ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
@@ -1630,6 +1666,7 @@
{ label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
{ label: "鎬у埆", width: "", prop: "sex" },
{ label: "骞撮緞", width: "", prop: "age" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
{ label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
{ label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
{ label: "鍖荤敓", width: "", prop: "drname" },
@@ -1644,6 +1681,22 @@
{ label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
{ label: "鎬у埆", width: "", prop: "sex" },
{ label: "骞撮緞", width: "", prop: "age" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
+ { label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
+ { label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
+ { label: "鍖荤敓", width: "", prop: "drname" },
+ { label: "绉戝", width: "180", prop: "dept" },
+ { label: "鐥呭尯", width: "150", prop: "leavehospitaldistrictname" },
+ ];
+ } else if (this.patientqueryParams.allhosp == 2) {
+ this.tableLabelhz = [
+ { label: "灏辫瘖鏃ユ湡", width: "150", prop: "admitdate" },
+ { label: "鎮h��", width: "", prop: "name" },
+ { label: "韬唤璇�", width: "200", prop: "idcardno" },
+ { label: "鐢佃瘽鍙风爜", width: "180", prop: "telcode" },
+ { label: "鎬у埆", width: "", prop: "sex" },
+ { label: "骞撮緞", width: "", prop: "age" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
{ label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
{ label: "璐d换鎶ゅ+", width: "", prop: "nurseName" },
{ label: "鍖荤敓", width: "", prop: "drname" },
@@ -1656,12 +1709,11 @@
} else {
this.patientqueryParams.pids = null;
}
- // 绫诲瀷鍒ゆ柇
if (this.patientqueryParams.allhosp == 1) {
this.patientqueryParams.cry = 1;
} else if (this.patientqueryParams.allhosp == 4) {
- this.patientqueryParams.cry = 0;
- this.patientqueryParams.allhosp = "1";
+ // this.patientqueryParams.cry = 0;
+ // this.patientqueryParams.allhosp = "1";
}
// 鏉ユ簮鍒ゆ柇
@@ -1681,7 +1733,7 @@
this.patientqueryParams.leavehospitaldistrictcodes =
store.getters.belongWards.map((obj) => obj.districtCode);
}
- getTaskpatient(this.patientqueryParams).then((response) => {
+ getTaskpatientQC(this.patientqueryParams).then((response) => {
this.patientuserList = response.rows;
this.patientuserList.forEach((item) => {
if (item.endtime) {
@@ -1716,6 +1768,13 @@
item.sfzh = item.idcardno;
if (this.patientqueryParams.allhosp == 6) {
item.patfrom = 1;
+ }
+ if (this.patientqueryParams.allhosp == 1) {
+ item.visittime = item.endtime;
+ } else if (this.patientqueryParams.allhosp == 4) {
+ item.visittime = item.starttime;
+ } else if (this.patientqueryParams.allhosp == 2) {
+ item.visittime = item.admitdate;
}
this.overallCase.push(item);
this.form.patTaskRelevances.push(item);
@@ -1764,6 +1823,10 @@
},
getList() {},
handleQuery() {
+ console.log(
+ "this.patientqueryParams.allhosp",
+ this.patientqueryParams.allhosp
+ );
if (this.patientqueryParams.topica == 0) {
this.patientqueryParams.leavehospitaldistrictcodes =
store.getters.leavehospitaldistrictcodes;
@@ -1787,7 +1850,13 @@
)
this.patientqueryParams.leaveldeptcodes = null;
this.handleAddpatient();
+
+ console.log(
+ "this.patientqueryParams.allhosp",
+ this.patientqueryParams.allhosp
+ );
},
+
resetQuerymb() {
this.topqueryParams = { svyname: "" };
this.handleQuerymb();
@@ -1851,7 +1920,8 @@
? this.form.patTaskRelevances
: [];
this.overallCase = this.form.patTaskRelevances.concat();
- this.checkList = this.form.preachform;
+ this.checkList = this.form.preachform.split(",");
+ this.selectedOrder = this.form.preachformList;
this.overallCase.forEach((item) => {
if (item.endtime) {
@@ -2195,7 +2265,11 @@
}
});
},
- checkboxChange(checked, value) {},
+ checkSelectionChange(selectedValues, selectedOrder) {
+ this.selectedOrder = selectedValues;
+ console.log("褰撳墠閫変腑:", selectedValues);
+ console.log("閫変腑椤哄簭:", selectedOrder);
+ },
// 鏈嶅姟褰㈠紡閫夊彇
handleCheckedCitiesChange(row) {
console.log(row, "鏈嶅姟");
--
Gitblit v1.9.3