From e15d032770157952bab8d9b15177ac03d736851c Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期六, 09 五月 2026 17:34:53 +0800
Subject: [PATCH] 医疗信息
---
src/views/business/appear/index.vue | 204 ++++++++++++++++++++++++++-------------------------
1 files changed, 104 insertions(+), 100 deletions(-)
diff --git a/src/views/business/appear/index.vue b/src/views/business/appear/index.vue
index 4c578c3..e4a0e19 100644
--- a/src/views/business/appear/index.vue
+++ b/src/views/business/appear/index.vue
@@ -16,10 +16,10 @@
style="width: 200px"
/>
</el-form-item>
- <el-form-item label="鎹愮尞鑰呭鍚�" prop="name">
+ <el-form-item label="鎮h�呭鍚�" prop="name">
<el-input
v-model="queryParams.name"
- placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+ placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
clearable
style="width: 200px"
/>
@@ -88,7 +88,26 @@
width="160"
/>
<el-table-column
- label="鎹愮尞鑰呭鍚�"
+ label="鐘舵��"
+ align="center"
+ prop="reportStatus"
+ width="100"
+ >
+ <template #default="scope">
+ <el-tag :type="scope.row.reportStatus | statusFilter">
+ {{ scope.row.reportStatus | statusTextFilter }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="杞繍鐘舵��" align="center" width="100">
+ <template #default="scope">
+ <el-tag :type="getTransportStatusTag(scope.row)">
+ {{ getTransportStatusText(scope.row) }}
+ </el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎮h�呭鍚�"
align="center"
prop="name"
width="100"
@@ -127,32 +146,8 @@
prop="treatmenthospitalname"
width="150"
/>
- <el-table-column
- label="鐘舵��"
- align="center"
- prop="reportStatus"
- width="100"
- >
- <template #default="scope">
- <el-tag :type="scope.row.reportStatus | statusFilter">
- {{ scope.row.reportStatus | statusTextFilter }}
- </el-tag>
- </template>
- </el-table-column>
- <el-table-column label="杞繍鐘舵��" align="center" width="100">
- <template #default="scope">
- <el-tag :type="getTransportStatusTag(scope.row)">
- {{ getTransportStatusText(scope.row) }}
- </el-tag>
- </template>
- </el-table-column>
- <el-table-column
- label="鎿嶄綔"
- align="center"
- fixed="right"
- class-name="small-padding fixed-width"
- width="350"
- >
+
+ <el-table-column label="鎿嶄綔" align="center" fixed="right" width="350">
<template #default="scope">
<el-button
size="mini"
@@ -179,13 +174,13 @@
icon="el-icon-check"
@click="handleApprove(scope.row)"
v-if="scope.row.reportStatus === '2' && scope.row.delFlag === 0"
- >瀹℃壒</el-button
+ >纭</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-truck"
- :type="shouldShowTransportButton(scope.row) ? 'primary' : 'text'"
+ :type="getTransportStatustype(scope.row)"
@click="handleTransport(scope.row)"
v-if="shouldShowTransportButton(scope.row)"
:disabled="!canGoToTransport(scope.row)"
@@ -216,9 +211,9 @@
<case-detail :caseData="currentCase" @close="detailOpen = false" />
</el-dialog>
- <!-- 瀹℃壒寮规 -->
+ <!-- 纭寮规 -->
<el-dialog
- title="妗堜緥瀹℃壒"
+ title="妗堜緥纭"
:visible.sync="approveOpen"
width="80vw"
append-to-body
@@ -236,7 +231,7 @@
</div>
</el-aside>
- <!-- 鍙充晶锛氬鎵硅〃鍗� -->
+ <!-- 鍙充晶锛氱‘璁よ〃鍗� -->
<el-main style="padding: 20px;">
<el-form
ref="approveForm"
@@ -244,17 +239,17 @@
:rules="approveRules"
label-width="100px"
>
- <el-form-item label="瀹℃壒缁撴灉" prop="approveResult">
+ <el-form-item label="纭缁撴灉" prop="approveResult">
<el-radio-group v-model="approveForm.approveResult">
<el-radio label="3">鍚屾剰</el-radio>
<el-radio label="4">椹冲洖</el-radio>
</el-radio-group>
</el-form-item>
- <el-form-item label="瀹℃壒鎰忚" prop="approveOpinion">
+ <el-form-item label="纭鎰忚" prop="approveOpinion">
<el-input
type="textarea"
v-model="approveForm.approveOpinion"
- placeholder="璇疯緭鍏ヨ缁嗙殑瀹℃壒鎰忚锛屽寘鎷�氳繃鎴栭┏鍥炵殑鐞嗙敱"
+ placeholder="璇疯緭鍏ヨ缁嗙殑纭鎰忚锛屽寘鎷�氳繃鎴栭┏鍥炵殑鐞嗙敱"
:rows="6"
maxlength="500"
show-word-limit
@@ -305,10 +300,10 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鎹愮尞鑰呭鍚�" prop="name">
+ <el-form-item label="鎮h�呭鍚�" prop="name">
<el-input
v-model="editForm.name"
- placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+ placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
/>
</el-form-item>
</el-col>
@@ -361,10 +356,10 @@
placeholder="璇烽�夋嫨琛�鍨�"
style="width: 100%"
>
- <el-option label="A鍨�" value="A" />
- <el-option label="B鍨�" value="B" />
- <el-option label="O鍨�" value="O" />
- <el-option label="AB鍨�" value="AB" />
+ <el-option label="A鍨�" :value="1" />
+ <el-option label="B鍨�" :value="2" />
+ <el-option label="O鍨�" :value="3" />
+ <el-option label="AB鍨�" :value="4" />
</el-select>
</el-form-item>
</el-col>
@@ -400,9 +395,11 @@
placeholder="璇烽�夋嫨璇佷欢绫诲瀷"
style="width: 100%"
>
- <el-option label="韬唤璇�" value="1" />
- <el-option label="鎶ょ収" value="2" />
- <el-option label="鍐涘畼璇�" value="3" />
+ <el-option
+ v-for="item in dict.type.sys_IDType"
+ :label="item.label"
+ :value="item.value"
+ />
</el-select>
</el-form-item>
</el-col>
@@ -632,10 +629,18 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="浼犳煋鐥呮儏鍐�" prop="infectious">
- <el-input
+ <el-checkbox-group v-model="editForm.infectious">
+ <el-checkbox
+ v-for="item in dict.type.sys_Infectious"
+ :label="item.value"
+ :value="item.value"
+ >{{ item.label }}</el-checkbox
+ >
+ </el-checkbox-group>
+ <!-- <el-input
v-model="editForm.infectious"
placeholder="璇疯緭鍏ヤ紶鏌撶梾鎯呭喌"
- />
+ /> -->
</el-form-item>
</el-col>
<el-col :span="12">
@@ -744,24 +749,16 @@
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鎶ュ憡鑰呯紪鍙�" prop="infoNo">
+ <el-form-item label="鎶ュ憡鑰呯數璇�" prop="reporterphone">
<el-input
- v-model="editForm.infoNo"
- placeholder="璇疯緭鍏ユ姤鍛婅�呯紪鍙�"
+ v-model="editForm.phone"
+ placeholder="璇疯緭鍏ユ姤鍛婅�呰仈绯荤數璇�"
/>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
- <el-col :span="12">
- <el-form-item label="鎶ュ憡鑰呯數璇�" prop="reporterphone">
- <el-input
- v-model="editForm.reporterphone"
- placeholder="璇疯緭鍏ユ姤鍛婅�呰仈绯荤數璇�"
- />
- </el-form-item>
- </el-col>
<el-col :span="12">
<el-form-item label="鍗忚皟鍛樺鍚�" prop="coordinatorName">
<el-input
@@ -770,23 +767,12 @@
/>
</el-form-item>
</el-col>
- </el-row>
-
- <el-row :gutter="20">
<el-col :span="12">
<el-form-item label="鍗忚皟鍛樼紪鍙�" prop="coordinatorNo">
<el-input
v-model="editForm.coordinatorNo"
placeholder="璇疯緭鍏ュ崗璋冨憳缂栧彿"
/>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鏄惁缁堟妗堜緥" prop="terminationCase">
- <el-radio-group v-model="editForm.terminationCase">
- <el-radio label="0">杩涜涓�</el-radio>
- <el-radio label="1">宸茬粓姝�</el-radio>
- </el-radio-group>
</el-form-item>
</el-col>
</el-row>
@@ -966,7 +952,7 @@
UploadAttachment,
FilePreviewDialog
},
- dicts: ["sys_user_sex", "sys_BloodType"],
+ dicts: ["sys_user_sex", "sys_BloodType", "sys_Infectious", "sys_IDType"],
data() {
return {
// 閬僵灞�
@@ -984,7 +970,7 @@
caseList: [],
// 璇︽儏寮规鏄惁鏄剧ず
detailOpen: false,
- // 瀹℃壒寮规鏄惁鏄剧ず
+ // 纭寮规鏄惁鏄剧ず
approveOpen: false,
// 缂栬緫寮规鏄惁鏄剧ず
editOpen: false,
@@ -1002,19 +988,19 @@
name: undefined,
reportStatus: undefined
},
- // 瀹℃壒琛ㄥ崟
+ // 纭琛ㄥ崟
approveForm: {
id: null,
approveResult: "3",
approveOpinion: ""
},
- // 瀹℃壒琛ㄥ崟楠岃瘉
+ // 纭琛ㄥ崟楠岃瘉
approveRules: {
approveResult: [
- { required: true, message: "璇烽�夋嫨瀹℃壒缁撴灉", trigger: "change" }
+ { required: true, message: "璇烽�夋嫨纭缁撴灉", trigger: "change" }
],
approveOpinion: [
- { required: true, message: "璇疯緭鍏ュ鎵规剰瑙�", trigger: "blur" }
+ { required: true, message: "璇疯緭鍏ョ‘璁ゆ剰瑙�", trigger: "blur" }
]
},
// 缂栬緫琛ㄥ崟
@@ -1024,9 +1010,7 @@
caseNo: [
{ required: true, message: "璇疯緭鍏ユ渚嬬紪鍙�", trigger: "blur" }
],
- name: [
- { required: true, message: "璇疯緭鍏ユ崘鐚�呭鍚�", trigger: "blur" }
- ],
+ name: [{ required: true, message: "璇疯緭鍏ユ偅鑰呭鍚�", trigger: "blur" }],
sex: [{ required: true, message: "璇烽�夋嫨鎬у埆", trigger: "change" }],
age: [{ required: true, message: "璇疯緭鍏ュ勾榫�", trigger: "blur" }],
diagnosisname: [
@@ -1052,7 +1036,7 @@
statusFilter(reportStatus) {
const statusMap = {
"1": "info", // 宸蹭笂鎶�
- "2": "warning", // 宸查槄璇伙紙寰呭鎵癸級
+ "2": "warning", // 宸查槄璇伙紙寰呯‘璁わ級
"3": "success", // 宸插悓鎰�
"4": "danger" // 宸查┏鍥�
};
@@ -1112,12 +1096,29 @@
) {
return "鏌ョ湅杞繍鍗�";
} else {
- return "鍓嶅線杞繍鍗�";
+ return "鍒涘缓杞繍鍗�";
}
}
- return "杞繍";
+ return "鏃犻渶杞繍";
},
-
+ getTransportStatustype(row) {
+ if (row.isTransport == "1") {
+ return "info"; // 涓嶉渶瑕佽浆杩�
+ }
+ if (
+ row.serviceTransport &&
+ Array.isArray(row.serviceTransport) &&
+ row.serviceTransport.length > 0
+ ) {
+ // 鏍规嵁杞繍鍗曠姸鎬佹樉绀轰笉鍚岄鑹�
+ const transport = row.serviceTransport[0];
+ if (transport.transitStatus) {
+ return "primary"; // 鏈夎浆杩愪俊鎭絾鏃犵姸鎬�
+ }
+ return "primary"; // 鏈夎浆杩愪俊鎭絾鏃犵姸鎬�
+ }
+ return "success"; // 闇�瑕佽浆杩愪絾鏃犺浆杩愪俊鎭�
+ },
/** 鑾峰彇杞繍鐘舵�佹爣绛炬牱寮� */
getTransportStatusTag(row) {
if (row.isTransport === "1") {
@@ -1148,7 +1149,7 @@
}
return "primary"; // 鏈夎浆杩愪俊鎭絾鏃犵姸鎬�
}
- return "danger"; // 闇�瑕佽浆杩愪絾鏃犺浆杩愪俊鎭�
+ return "success"; // 闇�瑕佽浆杩愪絾鏃犺浆杩愪俊鎭�
},
/** 鑾峰彇杞繍鐘舵�佹枃鏈� */
@@ -1197,7 +1198,7 @@
) {
// 宸叉湁杞繍鍗曪紝璺宠浆鍒拌浆杩愬崟璇︽儏椤�
const transport = caseData.serviceTransport[0];
- this.goToTransportDetail(transport.id, row.caseNo);
+ this.goToTransportDetail(transport.id, row.name);
} else {
// 娌℃湁杞繍鍗曪紝璺宠浆鍒板垱寤鸿浆杩愬崟椤甸潰
this.goToCreateTransport(row);
@@ -1213,12 +1214,11 @@
/** 璺宠浆鍒板垱寤鸿浆杩愬崟椤甸潰 */
goToCreateTransport(caseData) {
- // 杩欓噷鍙互璺宠浆鍒板垱寤鸿浆杩愬崟鐨勯〉闈�
// 鏂瑰紡1锛氬湪鏂伴〉闈㈡墦寮�
this.$router.push({
path: "/report/transfer",
query: {
- autoCreate: "true",
+ autoCreate: "true", //璺宠浆杞繍鏍囪瘑
caseId: caseData.id,
caseNo: caseData.caseNo,
patName: caseData.name,
@@ -1228,9 +1228,6 @@
treatmentHospitalName: caseData.treatmenthospitalname
}
});
-
- // 鏂瑰紡2锛氬湪褰撳墠椤甸潰鎵撳紑寮规锛堟帹鑽愶級
- // this.openTransportDialog(caseData);
},
/** 鎵撳紑杞繍鍗曞脊妗� */
@@ -1265,12 +1262,12 @@
},
/** 璺宠浆鍒拌浆杩愬崟璇︽儏椤� */
- goToTransportDetail(transportId, caseNo) {
+ goToTransportDetail(transportId, name) {
this.$router.push({
path: "/report/transfer",
query: {
- id: transportId,
- caseNo: caseNo
+ autoCreate: "true",
+ patName: name
}
});
},
@@ -1356,6 +1353,12 @@
this.currentCase = data;
this.editForm = { ...data };
+ this.editForm.idcardtype = this.editForm.idcardtype.toString();
+ console.log(this.editForm.idcardtype);
+ this.editForm.infectious = this.editForm.infectious
+ .split(",")
+ .filter(item => item.trim() !== "");
+
this.editOpen = true;
this.$nextTick(() => {
this.$refs.editForm && this.$refs.editForm.clearValidate();
@@ -1380,7 +1383,7 @@
});
},
- /** 瀹℃壒鎸夐挳鎿嶄綔 */
+ /** 纭鎸夐挳鎿嶄綔 */
async handleApprove(row) {
try {
const response = await donateInfo(row.id);
@@ -1404,11 +1407,11 @@
this.approveForm.approveResult = "3";
this.approveForm.approveOpinion = "";
this.approveOpen = true;
- this.$modal.msgError("鑾峰彇璇︽儏澶辫触锛屼絾宸叉墦寮�瀹℃壒绐楀彛");
+ this.$modal.msgError("鑾峰彇璇︽儏澶辫触锛屼絾宸叉墦寮�纭绐楀彛");
}
},
- /** 鎻愪氦瀹℃壒 */
+ /** 鎻愪氦纭 */
async submitApprove() {
try {
const valid = await this.$refs.approveForm.validate();
@@ -1424,14 +1427,14 @@
};
await donateEdit(approveData);
- this.$modal.msgSuccess("瀹℃壒鎴愬姛");
+ this.$modal.msgSuccess("纭鎴愬姛");
this.approveOpen = false;
this.getList();
}
} catch (error) {
- console.error("瀹℃壒澶辫触:", error);
+ console.error("纭澶辫触:", error);
if (error !== "cancel") {
- this.$modal.msgError("瀹℃壒澶辫触");
+ this.$modal.msgError("纭澶辫触");
}
}
},
@@ -1675,6 +1678,7 @@
this.saveLoading = true;
const requestData = { ...this.editForm };
+ requestData.infectious = requestData.infectious.join(",");
let response;
if (this.isEditing) {
@@ -1774,7 +1778,7 @@
white-space: nowrap;
}
-/* 瀹℃壒寮规鏍峰紡 */
+/* 纭寮规鏍峰紡 */
.approve-dialog >>> .el-dialog__body {
padding: 0;
}
--
Gitblit v1.9.3