From 51461f369f0b0ad1da96346afee5637302f1525b Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 18 八月 2026 16:38:47 +0800
Subject: [PATCH] 提交
---
src/views/patient/propaganda/QuestionnaireTask.vue | 170 +++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 125 insertions(+), 45 deletions(-)
diff --git a/src/views/patient/propaganda/QuestionnaireTask.vue b/src/views/patient/propaganda/QuestionnaireTask.vue
index 763a462..43ed363 100644
--- a/src/views/patient/propaganda/QuestionnaireTask.vue
+++ b/src/views/patient/propaganda/QuestionnaireTask.vue
@@ -214,32 +214,98 @@
<!-- 鑽搧鍏宠仈 -->
<el-row v-if="form.appltype == 6">
- <el-col :span="20">
- <el-form-item label="鍏宠仈鑽搧" prop="region">
- <el-select
- v-model="medicalCodes"
- @remove-tag="removeMedical"
- style="width: 400px"
- size="medium"
- multiple
- filterable
- remote
- reserve-keyword
- :remote-method="remoteSearchMedical"
- placeholder="璇疯緭鍏ヨ嵂鍝佸悕绉版悳绱�"
- loading-text="鎼滅储涓�..."
- >
- <el-option
- v-for="item in medicalOptions"
- :key="item.id"
- :label="
- item.itemName + ' (' + item.manufacturerName + ')'
- "
- :value="item.itemCode"
- />
- </el-select>
- </el-form-item>
- </el-col>
+ <el-form-item label="鍏宠仈鑽搧" prop="region">
+ <el-select
+ v-model="medicalCodes"
+ @remove-tag="removeMedical"
+ style="width: 400px"
+ size="medium"
+ multiple
+ filterable
+ remote
+ reserve-keyword
+ :remote-method="remoteSearchMedical"
+ placeholder="璇疯緭鍏ヨ嵂鍝佸悕绉版悳绱�"
+ loading-text="鎼滅储涓�..."
+ >
+ <el-option
+ v-for="item in medicalOptions"
+ :key="item.itemCode"
+ :label="
+ item.itemName + ' (' + item.manufacturerName + ')'
+ "
+ :value="item.itemCode"
+ />
+ </el-select>
+ </el-form-item>
+ <div
+ style="
+ margin-bottom: 20px;
+ padding: 8px 12px;
+ background-color: #f0f9ff;
+ border-left: 4px solid #409eff;
+ "
+ >
+ <p style="margin: 0; color: #606266; font-size: 13px">
+ <i
+ class="el-icon-info"
+ style="color: #409eff; margin-right: 6px"
+ ></i>
+ 閽堝鍚屼竴鑽搧鍦ㄥ绉戝/鐥呭尯涓嬪瓨鍦ㄧ殑鎯呭喌锛屽彲閫夋嫨鎬ч厤缃浐瀹氱瀹�/鐥呭尯
+ </p>
+ </div>
+ <el-row :gutter="20" style="margin-top: 20px">
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈绉戝" prop="diseaseDept">
+ <el-select
+ v-model="diseaseDept"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨绉戝锛堝彲閫夛級"
+ value-key="deptCode"
+ @change="handleDiseaseDeptChange"
+ >
+ <el-option
+ v-for="item in belongDepts"
+ :key="item.deptCode"
+ :label="item.deptName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseDept" class="selected-info">
+ 宸查�夋嫨: {{ diseaseDept.deptName }} ({{
+ diseaseDept.deptCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍏宠仈鐥呭尯" prop="diseaseWard">
+ <el-select
+ v-model="diseaseWard"
+ style="width: 100%"
+ clearable
+ filterable
+ placeholder="璇烽�夋嫨鐥呭尯锛堝彲閫夛級"
+ value-key="districtCode"
+ @change="handleDiseaseWardChange"
+ >
+ <el-option
+ v-for="item in belongWards"
+ :key="item.districtCode"
+ :label="item.districtName"
+ :value="item"
+ ></el-option>
+ </el-select>
+ <div v-if="diseaseWard" class="selected-info">
+ 宸查�夋嫨: {{ diseaseWard.districtName }} ({{
+ diseaseWard.districtCode
+ }})
+ </div>
+ </el-form-item>
+ </el-col>
+ </el-row>
</el-row>
<!-- 绉戝鍏宠仈 -->
@@ -1280,6 +1346,7 @@
getTaskpatientQC,
taskoperhospgetsondel,
taskdiaghospgetsondel,
+ taskmedicaldel,
getillnesslist,
getbaseopera,
Externallist,
@@ -1296,6 +1363,7 @@
getQtemplateclassify,
taskdepthospgetsondel,
taskdepthospgetsonlist,
+ taskmedicallist,
taskdiaggetlist,
rwztaskdepthospgetsonlist,
rwztaskdiaggetlist,
@@ -1813,21 +1881,6 @@
districtCode: this.form.leavehospitaldistrictcode,
districtName: this.form.leavehospitaldistrictname,
};
- // 鑽搧鍏宠仈鍥炴樉
- if (this.form.medicalCode) {
- this.medicalCodes = this.form.medicalCode
- .split(",")
- .filter(Boolean);
- // 鍔犺浇宸查�夎嵂鍝佺殑閫夐」鍒楄〃锛堢敤浜庡睍绀� label锛�
- const codes = this.form.medicalCode;
- listMedication({
- itemCode: codes,
- pageNum: 1,
- pageSize: 200,
- }).then((res) => {
- this.medicalOptions = res.rows || [];
- });
- }
this.overallCase = this.form.patTaskRelevances.concat();
this.checkList = this.form.preachform
? this.form.preachform.split(",")
@@ -2057,6 +2110,8 @@
listDept() {
this.leavehospitaldistrictcodes = [];
this.deptcodesWards = [];
+ this.medicalCodes = [];
+ this.medicalOptions = [];
// this.queryParamsdept.taskId = this.form.taskid;
this.queryParamsdept.taskId = this.form.taskid;
@@ -2101,6 +2156,22 @@
this.hosplist.push(item);
this.leavehospitaldistrictcodes.push(item.deptCode);
}
+ });
+ }
+ });
+ // 鑾峰彇鍏宠仈鑽搧
+ taskmedicallist(this.queryParamsdept).then((res) => {
+ if (res.code == 200) {
+ let arr = res.rows || [];
+ arr.forEach((item) => {
+ const code = item.itemCode || item.medicalCode;
+ this.medicalCodes.push(code);
+ this.medicalOptions.push({
+ ...item,
+ itemCode: code,
+ itemName: item.itemName || item.medicalName,
+ manufacturerName: item.manufacturerName || item.medicalCompany
+ });
});
}
});
@@ -2199,9 +2270,14 @@
}
);
},
- // 鍒犻櫎宸查�夎嵂鍝�
+ // 鍒犻櫎宸查�夎嵂鍝侊紙鍗曠嫭鎺ュ彛锛�
removeMedical(code) {
- this.medicalCodes = this.medicalCodes.filter((c) => c !== code);
+ taskmedicaldel({ medicalCode: code, taskId: this.form.taskid }).then((res) => {
+ if (res.code == 200) {
+ this.medicalCodes = this.medicalCodes.filter((c) => c !== code);
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }
+ });
},
// ---------- 鎮h�呴�夋嫨 ----------
@@ -2761,8 +2837,12 @@
this.form.icd10name = this.diagglist
.map((item) => item.icdname)
.join(",");
- // 鐤剧梾/鎵嬫湳鍏宠仈鐨勭瀹�/鐥呭尯鏍¢獙
- if (this.form.appltype == 3 || this.form.appltype == 4) {
+ // 鐤剧梾/鎵嬫湳/鑽搧鍏宠仈鐨勭瀹�/鐥呭尯鏍¢獙
+ if (
+ this.form.appltype == 3 ||
+ this.form.appltype == 4 ||
+ this.form.appltype == 6
+ ) {
const hasDept = this.diseaseDept?.deptCode;
const hasWard = this.diseaseWard?.districtCode;
if (!hasDept && !hasWard) {
--
Gitblit v1.9.3