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/QuestionnaireTask.vue | 278 +++++++++++++++++++++++++++++++++----------------------
1 files changed, 167 insertions(+), 111 deletions(-)
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 7ca9eae..f708fc3 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -69,7 +69,7 @@
placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"
/>
</el-form-item>
- <el-form-item label="鏈嶅姟褰㈠紡">
+ <!-- <el-form-item label="鏈嶅姟褰㈠紡">
<el-radio-group v-model="checkList">
<el-radio
v-for="(item, index) in checkboxlist"
@@ -79,16 +79,17 @@
{{ item.label }}</el-radio
>
</el-radio-group>
- </el-form-item>
- <!-- <el-form-item label="鏈嶅姟褰㈠紡">
+ </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> -->
+ </el-form-item>
<el-form-item label="鎵ц鍛ㄦ湡" prop="longTask">
<el-radio-group v-model="form.longTask">
<el-radio :label="0">鑷畾涔夊懆鏈�</el-radio>
@@ -444,10 +445,13 @@
<el-button type="primary" @click="nextstep('ruleForm')">{{
quote ? "绔嬪嵆鍒涘缓" : "娲惧彂鎮h�呴厤缃�"
}}</el-button>
- <el-button type="success" @click="submitForm('ruleForm')">{{
- quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆"
- }}</el-button>
- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+ <el-button
+ :loading="submitLoading"
+ type="success"
+ @click="submitForm('ruleForm')"
+ >{{ quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button
+ >
+ <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
</div>
<!-- 浠诲姟璇︽儏 -->
<div v-if="Editprogress == 2">
@@ -528,10 +532,13 @@
</div>
</div>
<el-button type="primary" @click="laststep()">涓婁竴姝�</el-button>
- <el-button type="success" @click="submitForm('ruleForm')">{{
- quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆"
- }}</el-button>
- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button>
+ <el-button
+ :loading="submitLoading"
+ type="success"
+ @click="submitForm('ruleForm')"
+ >{{ quote ? "绔嬪嵆鍒涘缓" : "纭鏈嶅姟閰嶇疆" }}</el-button
+ >
+ <!-- <el-button @click="resetForm('ruleForm')">閲嶇疆</el-button> -->
</div>
</div>
<!-- 娣诲姞鎮h�� -->
@@ -926,6 +933,7 @@
import OptionalForm from "@/components/OptionalForm"; //鐤剧梾娣诲姞缁勪欢
import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
import SortCheckbox from "@/components/SortCheckbox"; //琛ㄦ牸缁勪欢
+
import { MessageBox } from "element-ui";
export default {
@@ -938,6 +946,7 @@
previewid: "", //浠诲姟妯℃澘浼犻�抜d
libName: "",
templateor: false,
+ submitLoading: false, // 鎺у埗鎸夐挳鍔犺浇鐘舵��
objyl: {},
overallCase: [], //閫夋嫨鎮h�呮��
allpids: [],
@@ -982,6 +991,7 @@
{ label: "韬唤璇�", width: "200", prop: "idcardno" },
{ 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" },
@@ -995,6 +1005,7 @@
{ label: "韬唤璇�", width: "200", prop: "sfzh" },
{ 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" },
@@ -1420,105 +1431,126 @@
},
// 淇濆瓨
submitForm(formName) {
- 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("璇烽�夋嫨鏈嶅姟绫诲瀷");
+ console.log(this.submitLoading);
+
+ if (this.submitLoading) {
return;
}
- console.log(this.operationcodes[0]);
- console.log(this.operationcodes);
+ // 绗簩姝ワ細寮�鍚姞杞界姸鎬侊紝绂佺敤鎸夐挳
+ this.submitLoading = true;
+ console.log(this.submitLoading);
- if (
- this.deptcodesWards[0] ||
- this.leavehospitaldistrictcodes[0] ||
- this.diagglist[0] ||
- this.operationcodes[0] ||
- this.form.longTask == 2||this.serviceType==14
- ) {
- } else {
- this.$modal.msgError("璇烽�夋嫨浠诲姟鍏宠仈鏉′欢");
- return;
- }
- //鏆傚仠浠诲姟鎮h�呴檺鍒�
- // 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 },
- });
+ try {
+ 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;
+ }
+ console.log(this.operationcodes[0]);
+ console.log(this.operationcodes);
+
+ 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;
+ }
+ //鏆傚仠浠诲姟鎮h�呴檺鍒�
+ // 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 = false;
+ }
+ });
+ } catch (error) {
+ this.submitLoading = false;
+ } finally {
+ // 绗洓姝ワ細鏃犺鎴愬姛鎴栧け璐ワ紝鏈�缁堥兘鍏抽棴鍔犺浇鐘舵��
+ }
},
// ----------------------琛ㄦ牸瀛愮粍浠朵簨浠�
@@ -1580,9 +1612,25 @@
});
},
checkSelectionChange(selectedValues, selectedOrder) {
- this.selectedOrder = selectedOrder;
+ this.selectedOrder = selectedValues;
console.log("褰撳墠閫変腑:", selectedValues);
console.log("閫変腑椤哄簭:", selectedOrder);
+ },
+ // 鏈嶅姟褰㈠紡閫夊彇
+ handleCheckedCitiesChange(row) {
+ console.log(row, "鏈嶅姟");
+ this.foncheckList = this.checkboxlist.filter((obj) =>
+ row.includes(obj.value)
+ );
+ },
+ // 鏈嶅姟褰㈠紡鍒犻櫎
+ handleClosetag(tag) {
+ console.log(tag, "tag");
+ console.log(this.foncheckList, "foncheckList");
+ this.checkList = this.checkList.filter((item) => item != tag.value);
+ this.foncheckList = this.foncheckList.filter(
+ (obj) => obj.value !== tag.value
+ );
},
getillness(id) {
if (id) {
@@ -1674,6 +1722,7 @@
{ label: "韬唤璇�", width: "200", prop: "idcardno" },
{ 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" },
@@ -1688,6 +1737,7 @@
{ label: "韬唤璇�", width: "200", prop: "idcardno" },
{ 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" },
@@ -1702,6 +1752,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" },
@@ -1861,6 +1912,7 @@
{ label: "韬唤璇�", width: "200", prop: "idcardno" },
{ label: "鎬у埆", width: "", prop: "sex" },
{ label: "骞撮緞", width: "", prop: "age" },
+ { label: "鐢佃瘽", width: "180", prop: "telcode" },
{ label: "鍑洪櫌澶╂暟", width: "", prop: "endDay" },
];
this.patientqueryParams.pageSize = 1000;
@@ -1941,8 +1993,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) {
item.endDay = this.daysBetween(item.endtime);
@@ -2268,9 +2320,13 @@
this.objyl.isoperation = 1;
this.objyl.svyTaskTemplateScriptVOS =
this.objyl.svyTemplateLibScripts;
+ this.objyl.svyTaskTemplateScriptVOS.forEach((item) => {
+ item.svyTaskTemplateTargetoptions =
+ item.svyLibTemplateTargetoptions;
+ });
this.form.svyTaskTemplateVO = this.objyl;
this.form.templatename = this.objyl.svyname;
- this.$modal.msgSuccess("鏆傚瓨鎴愬姛淇濆瓨浠诲姟鍚庢ā鏉垮け鏁�");
+ this.$modal.msgSuccess("鏆傚瓨鎴愬姛淇濆瓨浠诲姟鍚庢ā鏉跨敓鏁�");
this.drawermb = false;
this.previewtf = false;
})
--
Gitblit v1.9.3