From b22b937bf902dcfbbf6d2cc6dc95ca47d160e199 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期日, 17 五月 2026 21:40:00 +0800
Subject: [PATCH] 统计维护
---
src/views/business/appear/index.vue | 617 +++++++++++++++++++++++++++++++------------------------
1 files changed, 345 insertions(+), 272 deletions(-)
diff --git a/src/views/business/appear/index.vue b/src/views/business/appear/index.vue
index 4c578c3..a1ee5cc 100644
--- a/src/views/business/appear/index.vue
+++ b/src/views/business/appear/index.vue
@@ -8,23 +8,23 @@
:inline="true"
class="demo-form-inline"
>
- <el-form-item label="妗堜緥缂栧彿" prop="caseNo">
- <el-input
- v-model="queryParams.caseNo"
- placeholder="璇疯緭鍏ユ渚嬬紪鍙�"
- clearable
- style="width: 200px"
- />
- </el-form-item>
- <el-form-item label="鎹愮尞鑰呭鍚�" prop="name">
+ <el-form-item label="濮撳悕" prop="name">
<el-input
v-model="queryParams.name"
- placeholder="璇疯緭鍏ユ崘鐚�呭鍚�"
+ placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
clearable
style="width: 200px"
/>
</el-form-item>
- <el-form-item label="妗堜緥鐘舵��" prop="reportStatus">
+ <el-form-item label="涓婃姤鍖婚櫌" prop="caseNo">
+ <el-input
+ v-model="queryParams.caseNo"
+ placeholder="璇疯緭鍏ヤ笂鎶ユ渚嬬紪鍙�"
+ clearable
+ style="width: 200px"
+ />
+ </el-form-item>
+ <el-form-item label="涓婃姤鐘舵��" prop="reportStatus">
<el-select
v-model="queryParams.reportStatus"
placeholder="璇烽�夋嫨鐘舵��"
@@ -48,12 +48,6 @@
<!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
<el-row :gutter="10" class="mb8">
- <!-- <el-col :span="1.5">
- <el-button type="primary" plain icon="el-icon-plus" @click="handleAdd"
- >鏂板妗堜緥</el-button
- >
- </el-col> -->
-
<el-col :span="1.5">
<el-button
type="danger"
@@ -67,32 +61,46 @@
</el-row>
<!-- 鏁版嵁琛ㄦ牸 -->
- <!-- 鏁版嵁琛ㄦ牸 -->
<el-table
v-loading="loading"
:data="caseList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" />
+
<el-table-column
- label="妗堜緥缂栧彿"
+ label="缂栧彿"
align="center"
prop="caseNo"
width="150"
fixed
/>
<el-table-column
- label="涓婃姤鏃堕棿"
- align="center"
- prop="reporttime"
- width="160"
- />
- <el-table-column
- label="鎹愮尞鑰呭鍚�"
+ label="濮撳悕"
align="center"
prop="name"
width="100"
+ fixed
/>
+ <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" prop="sex" width="80">
<template #default="scope">
<dict-tag :options="dict.type.sys_user_sex" :value="scope.row.sex" />
@@ -108,13 +116,6 @@
</template>
</el-table-column>
<el-table-column
- label="GCS璇勫垎"
- align="center"
- prop="gcsScore"
- width="80"
- show-overflow-tooltip
- />
- <el-table-column
label="鐤剧梾璇婃柇"
align="center"
prop="diagnosisname"
@@ -122,37 +123,25 @@
show-overflow-tooltip
/>
<el-table-column
- label="娌荤枟鍖婚櫌"
+ label="GCS璇勫垎"
+ align="center"
+ prop="gcsScore"
+ width="80"
+ show-overflow-tooltip
+ />
+ <el-table-column
+ label="涓婃姤鍖婚櫌"
align="center"
prop="treatmenthospitalname"
width="150"
/>
<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="鎿嶄綔"
- align="center"
- fixed="right"
- class-name="small-padding fixed-width"
- width="350"
- >
+ prop="reporttime"
+ width="160"
+ />
+ <el-table-column label="鎿嶄綔" align="center" fixed="right" width="300">
<template #default="scope">
<el-button
size="mini"
@@ -169,7 +158,7 @@
v-if="
scope.row.reportStatus !== '3' &&
scope.row.reportStatus !== '4' &&
- scope.row.delFlag === 0
+ scope.row.delFlag == 0
"
>缂栬緫</el-button
>
@@ -178,20 +167,28 @@
type="text"
icon="el-icon-check"
@click="handleApprove(scope.row)"
- v-if="scope.row.reportStatus === '2' && scope.row.delFlag === 0"
- >瀹℃壒</el-button
+ v-if="scope.row.reportStatus == '2' && scope.row.delFlag == 0"
+ >纭</el-button
+ >
+ <!-- 绉婚櫎杞繍鎸夐挳 -->
+ <el-button
+ v-if="scope.row.serviceTransport.length"
+ size="mini"
+ type="primary"
+ @click="goToTransportDetail(scope.row.name)"
+ >鏌ョ湅杞繍鍗�</el-button
>
<el-button
+ v-if="
+ scope.row.reportStatus == 3 &&
+ !scope.row.serviceTransport.length &&
+ scope.row.isTransport == 2
+ "
size="mini"
- type="text"
- icon="el-icon-truck"
- :type="shouldShowTransportButton(scope.row) ? 'primary' : 'text'"
- @click="handleTransport(scope.row)"
- v-if="shouldShowTransportButton(scope.row)"
- :disabled="!canGoToTransport(scope.row)"
+ type="success"
+ @click="Createatransferorder(scope.row)"
+ >鍒涘缓杞繍鍗�</el-button
>
- {{ getTransportButtonText(scope.row) }}
- </el-button>
</template>
</el-table-column>
</el-table>
@@ -216,53 +213,96 @@
<case-detail :caseData="currentCase" @close="detailOpen = false" />
</el-dialog>
- <!-- 瀹℃壒寮规 -->
+ <!-- 纭寮规 -->
<el-dialog
- title="妗堜緥瀹℃壒"
+ title="妗堜緥纭"
:visible.sync="approveOpen"
width="80vw"
append-to-body
class="approve-dialog"
>
- <el-container style="height: 800px;">
+ <!-- 浣跨敤 div 甯冨眬鏇夸唬 el-container -->
+ <div class="approve-dialog-content">
<!-- 宸︿晶锛氭渚嬭鎯� -->
- <el-aside
- width="50vw"
- style="background: #f8f9fa; padding: 20px; overflow-y: auto;"
- >
+ <div class="approve-detail-left">
<div class="approve-detail-preview">
<h3 style="margin-bottom: 15px; color: #303133;">妗堜緥璇︽儏棰勮</h3>
<case-detail :caseData="currentCase" :showtitle="false" />
</div>
- </el-aside>
+ </div>
- <!-- 鍙充晶锛氬鎵硅〃鍗� -->
- <el-main style="padding: 20px;">
+ <!-- 鍙充晶锛氱‘璁よ〃鍗� -->
+ <div class="approve-form-right">
<el-form
ref="approveForm"
:model="approveForm"
:rules="approveRules"
label-width="100px"
>
- <el-form-item label="瀹℃壒缁撴灉" prop="approveResult">
- <el-radio-group v-model="approveForm.approveResult">
+ <el-form-item label="纭缁撴灉" prop="approveResult">
+ <el-radio-group
+ v-model="approveForm.approveResult"
+ @change="handleApproveResultChange"
+ >
<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
+ v-if="approveForm.approveResult == '3'"
+ label="鏄惁闇�瑕佽浆杩�"
+ prop="isTransport"
+ >
+ <el-radio-group v-model="approveForm.isTransport">
+ <el-radio label="1">涓嶉渶瑕�</el-radio>
+ <el-radio label="2">闇�瑕�</el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <!-- 褰撻�夋嫨"椹冲洖"鏃舵樉绀洪┏鍥炲師鍥� -->
+ <div v-if="approveForm.approveResult == '4'">
+ <el-form-item label="椹冲洖鍘熷洜" prop="rejectType">
+ <el-radio-group v-model="approveForm.rejectType">
+ <el-radio label="1">濂借浆</el-radio>
+ <el-radio label="2">姝讳骸</el-radio>
+ <el-radio label="3">涓嶇鍚堟崘鐚爣鍑�</el-radio>
+ <el-radio label="4">瀹跺睘鏀惧純鎹愮尞</el-radio>
+ <el-radio label="5">鍏朵粬</el-radio>
+ </el-radio-group>
+ </el-form-item>
+
+ <el-form-item label="椹冲洖鎰忚" prop="confirmResult">
+ <el-input
+ type="textarea"
+ v-model="approveForm.confirmResult"
+ placeholder="璇疯緭鍏ヨ缁嗙殑椹冲洖鎰忚"
+ :rows="6"
+ maxlength="500"
+ show-word-limit
+ />
+ </el-form-item>
+ </div>
+
+ <!-- 褰撻�夋嫨"鍚屾剰"鏃舵樉绀虹‘璁ゆ剰瑙� -->
+ <el-form-item
+ v-if="approveForm.approveResult == '3'"
+ label="纭鎰忚"
+ prop="confirmResult"
+ >
<el-input
type="textarea"
- v-model="approveForm.approveOpinion"
- placeholder="璇疯緭鍏ヨ缁嗙殑瀹℃壒鎰忚锛屽寘鎷�氳繃鎴栭┏鍥炵殑鐞嗙敱"
+ v-model="approveForm.confirmResult"
+ placeholder="璇疯緭鍏ョ‘璁ゆ剰瑙�"
:rows="6"
maxlength="500"
show-word-limit
/>
</el-form-item>
</el-form>
- </el-main>
- </el-container>
+ </div>
+ </div>
<div slot="footer" class="dialog-footer">
<el-button @click="approveOpen = false">鍙栨秷</el-button>
@@ -305,10 +345,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 +401,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 +440,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 +674,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 +794,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 +812,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 +997,7 @@
UploadAttachment,
FilePreviewDialog
},
- dicts: ["sys_user_sex", "sys_BloodType"],
+ dicts: ["sys_user_sex", "sys_BloodType", "sys_Infectious", "sys_IDType"],
data() {
return {
// 閬僵灞�
@@ -984,7 +1015,7 @@
caseList: [],
// 璇︽儏寮规鏄惁鏄剧ず
detailOpen: false,
- // 瀹℃壒寮规鏄惁鏄剧ず
+ // 纭寮规鏄惁鏄剧ず
approveOpen: false,
// 缂栬緫寮规鏄惁鏄剧ず
editOpen: false,
@@ -1002,19 +1033,37 @@
name: undefined,
reportStatus: undefined
},
- // 瀹℃壒琛ㄥ崟
+ // 纭琛ㄥ崟
approveForm: {
id: null,
approveResult: "3",
- approveOpinion: ""
+ confirmResult: "",
+ rejectType: "", // 椹冲洖鍘熷洜
+ isTransport: "1", // 鏄惁闇�瑕佽浆杩�
+ createTransport: false, // 鏄惁闇�瑕佸垱寤鸿浆杩愬崟
+ isDonate: "0" // 鏄惁鎹愮尞锛�0-鏈崘鐚紝1-宸叉崘鐚�
},
- // 瀹℃壒琛ㄥ崟楠岃瘉
+ // 纭琛ㄥ崟楠岃瘉
approveRules: {
approveResult: [
- { required: true, message: "璇烽�夋嫨瀹℃壒缁撴灉", trigger: "change" }
+ { required: true, message: "璇烽�夋嫨纭缁撴灉", trigger: "change" }
],
- approveOpinion: [
- { required: true, message: "璇疯緭鍏ュ鎵规剰瑙�", trigger: "blur" }
+ confirmResult: [
+ { required: true, message: "璇疯緭鍏ョ‘璁ゆ剰瑙�", trigger: "blur" }
+ ],
+ rejectType: {
+ required: false,
+ validator: (rule, value, callback) => {
+ if (this.approveForm.approveResult == "4" && !value) {
+ callback(new Error("璇烽�夋嫨椹冲洖鍘熷洜"));
+ } else {
+ callback();
+ }
+ },
+ trigger: "change"
+ },
+ isTransport: [
+ { required: true, message: "璇烽�夋嫨鏄惁闇�瑕佽浆杩�", trigger: "change" }
]
},
// 缂栬緫琛ㄥ崟
@@ -1024,9 +1073,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 +1099,7 @@
statusFilter(reportStatus) {
const statusMap = {
"1": "info", // 宸蹭笂鎶�
- "2": "warning", // 宸查槄璇伙紙寰呭鎵癸級
+ "2": "warning", // 宸查槄璇伙紙寰呯‘璁わ級
"3": "success", // 宸插悓鎰�
"4": "danger" // 宸查┏鍥�
};
@@ -1088,39 +1135,31 @@
this.loading = false;
}
},
- // 杞繍------------------
- /** 鍒ゆ柇鏄惁闇�瑕佹樉绀鸿浆杩愭寜閽� */
- shouldShowTransportButton(row) {
- // 鍙湁宸插悓鎰忕殑妗堜緥鎵嶈兘杩涜杞繍鎿嶄綔
- // return row.reportStatus == "3" && row.delFlag == 0;
- return row.reportStatus != "4";
- },
- /** 鍒ゆ柇鏄惁鍙互璺宠浆鍒拌浆杩愬崟 */
- canGoToTransport(row) {
- // 闇�瑕佽浆杩愶紙isTransport === "2"锛変笖娌℃湁杞繍淇℃伅锛坰erviceTransport涓嶅瓨鍦ㄦ垨涓虹┖鏁扮粍锛�
- return row.isTransport == "2" && row.serviceTransport;
- },
-
- /** 鑾峰彇杞繍鎸夐挳鏂囨湰 */
- getTransportButtonText(row) {
- if (row.isTransport == "2") {
- if (
- row.serviceTransport &&
- Array.isArray(row.serviceTransport) &&
- row.serviceTransport.length > 0
- ) {
- return "鏌ョ湅杞繍鍗�";
- } else {
- return "鍓嶅線杞繍鍗�";
- }
+ /** 纭缁撴灉鍙樺寲澶勭悊 */
+ handleApproveResultChange(value) {
+ if (value == "3") {
+ // 閫夋嫨鍚屾剰鏃讹紝閲嶇疆椹冲洖鍘熷洜
+ this.approveForm.rejectType = "";
+ this.approveForm.isDonate = "0"; // 閲嶇疆涓烘湭鎹愮尞
+ } else if (value == "4") {
+ // 閫夋嫨椹冲洖鏃讹紝閲嶇疆杞繍閫夐」
+ this.approveForm.isTransport = "1";
+ this.approveForm.createTransport = false;
}
- return "杞繍";
+
+ // 娓呴櫎楠岃瘉
+ this.$nextTick(() => {
+ if (this.$refs.approveForm) {
+ this.$refs.approveForm.clearValidate();
+ }
+ });
},
+ // 杞繍鐩稿叧鏂规硶
/** 鑾峰彇杞繍鐘舵�佹爣绛炬牱寮� */
getTransportStatusTag(row) {
- if (row.isTransport === "1") {
+ if (row.isTransport == "1") {
return "info"; // 涓嶉渶瑕佽浆杩�
}
if (
@@ -1148,12 +1187,12 @@
}
return "primary"; // 鏈夎浆杩愪俊鎭絾鏃犵姸鎬�
}
- return "danger"; // 闇�瑕佽浆杩愪絾鏃犺浆杩愪俊鎭�
+ return "success"; // 闇�瑕佽浆杩愪絾鏃犺浆杩愪俊鎭�
},
/** 鑾峰彇杞繍鐘舵�佹枃鏈� */
getTransportStatusText(row) {
- if (row.isTransport === "1") {
+ if (row.isTransport == "1") {
return "鏃犻渶杞繍";
}
if (
@@ -1183,99 +1222,26 @@
return "闇�杞繍";
},
- /** 澶勭悊杞繍鎿嶄綔 */
- async handleTransport(row) {
- try {
- // 鍏堣幏鍙栨渶鏂扮殑妗堜緥淇℃伅
- const caseData = row;
-
- if (caseData.isTransport == "2") {
- if (
- caseData.serviceTransport &&
- Array.isArray(caseData.serviceTransport) &&
- caseData.serviceTransport.length > 0
- ) {
- // 宸叉湁杞繍鍗曪紝璺宠浆鍒拌浆杩愬崟璇︽儏椤�
- const transport = caseData.serviceTransport[0];
- this.goToTransportDetail(transport.id, row.caseNo);
- } else {
- // 娌℃湁杞繍鍗曪紝璺宠浆鍒板垱寤鸿浆杩愬崟椤甸潰
- this.goToCreateTransport(row);
- }
- } else {
- this.$message.warning("璇ユ渚嬩笉闇�瑕佽浆杩�");
- }
- } catch (error) {
- console.error("鑾峰彇妗堜緥淇℃伅澶辫触:", error);
- this.$message.error("鑾峰彇妗堜緥淇℃伅澶辫触");
- }
- },
-
/** 璺宠浆鍒板垱寤鸿浆杩愬崟椤甸潰 */
- goToCreateTransport(caseData) {
- // 杩欓噷鍙互璺宠浆鍒板垱寤鸿浆杩愬崟鐨勯〉闈�
- // 鏂瑰紡1锛氬湪鏂伴〉闈㈡墦寮�
+ Createatransferorder(res) {
+ console.log(res);
+
this.$router.push({
path: "/report/transfer",
query: {
autoCreate: "true",
- caseId: caseData.id,
- caseNo: caseData.caseNo,
- patName: caseData.name,
- age: caseData.age,
- sex: caseData.sex,
- diagnosisname: caseData.diagnosisname,
- treatmentHospitalName: caseData.treatmenthospitalname
- }
- });
-
- // 鏂瑰紡2锛氬湪褰撳墠椤甸潰鎵撳紑寮规锛堟帹鑽愶級
- // this.openTransportDialog(caseData);
- },
-
- /** 鎵撳紑杞繍鍗曞脊妗� */
- openTransportDialog(caseData) {
- this.$modal.confirm({
- title: "鍒涘缓杞繍鍗�",
- message: `鎮ㄥ皢鍒涘缓妗堜緥銆�${caseData.caseNo} - ${caseData.name}銆戠殑杞繍鍗曪紝鏄惁缁х画锛焋,
- confirmButtonText: "鍓嶅線鍒涘缓",
- cancelButtonText: "鍙栨秷",
- type: "warning",
- beforeClose: (action, instance, done) => {
- if (action === "confirm") {
- // 璺宠浆鍒拌浆杩愬崟鍒涘缓椤甸潰
- this.$router.push({
- path: "/report/transfer",
- query: {
- caseId: caseData.id,
- caseNo: caseData.caseNo,
- patName: caseData.name,
- age: caseData.age,
- sex: caseData.sex,
- diagnosisname: caseData.diagnosisname,
- treatmentHospitalName: caseData.treatmenthospitalname
- }
- });
- done();
- } else {
- done();
- }
+ caseId: res.id,
+ caseNo: res.caseNo,
+ patName: res.name,
+ age: res.age,
+ sex: res.sex,
+ diagnosisname: res.diagnosisname,
+ treatmentHospitalName: res.treatmenthospitalname
}
});
},
- /** 璺宠浆鍒拌浆杩愬崟璇︽儏椤� */
- goToTransportDetail(transportId, caseNo) {
- this.$router.push({
- path: "/report/transfer",
- query: {
- id: transportId,
- caseNo: caseNo
- }
- });
- },
- // ---------------------------------end
- // 澶氶�夋閫変腑鏁版嵁
+ /** 澶氶�夋閫変腑鏁版嵁 */
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id);
this.single = selection.length !== 1;
@@ -1306,7 +1272,7 @@
this.currentCase = row;
// 濡傛灉鐘舵�佹槸"宸蹭笂鎶�"(1)锛屽垯鏇存柊涓�"宸查槄璇�"(2)
- if (this.currentCase.reportStatus === "1") {
+ if (this.currentCase.reportStatus == "1") {
try {
const updateData = {
...this.currentCase,
@@ -1341,7 +1307,7 @@
async handleEdit(row) {
try {
const response = await donateInfo(row.id);
- if (response.code === 200 || response.data) {
+ if (response.code == 200 || response.data) {
this.isEditing = true;
const data = response.data || response;
@@ -1356,6 +1322,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 +1352,7 @@
});
},
- /** 瀹℃壒鎸夐挳鎿嶄綔 */
+ /** 纭鎸夐挳鎿嶄綔 */
async handleApprove(row) {
try {
const response = await donateInfo(row.id);
@@ -1388,7 +1360,10 @@
this.approveForm.id = row.id;
this.approveForm.approveResult = "3";
- this.approveForm.approveOpinion = "";
+ this.approveForm.confirmResult = "";
+ this.approveForm.rejectType = "";
+ this.approveForm.isTransport = row.isTransport || "1";
+ this.approveForm.isDonate = "0";
this.$nextTick(() => {
if (this.$refs.approveForm) {
@@ -1402,36 +1377,81 @@
this.currentCase = row;
this.approveForm.id = row.id;
this.approveForm.approveResult = "3";
- this.approveForm.approveOpinion = "";
+ this.approveForm.confirmResult = "";
this.approveOpen = true;
- this.$modal.msgError("鑾峰彇璇︽儏澶辫触锛屼絾宸叉墦寮�瀹℃壒绐楀彛");
+ this.$modal.msgError("鑾峰彇璇︽儏澶辫触锛屼絾宸叉墦寮�纭绐楀彛");
}
},
- /** 鎻愪氦瀹℃壒 */
+ /** 鎻愪氦纭 */
async submitApprove() {
try {
const valid = await this.$refs.approveForm.validate();
- if (valid) {
- const approveData = {
- ...this.currentCase,
- reportStatus: this.approveForm.approveResult,
- remark: this.approveForm.approveOpinion,
- approvername: this.$store.state.user?.name || "褰撳墠鐢ㄦ埛",
- approvetime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
- updateTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
- updateBy: this.$store.state.user?.name || "褰撳墠鐢ㄦ埛"
- };
+ if (!valid) return;
- await donateEdit(approveData);
- this.$modal.msgSuccess("瀹℃壒鎴愬姛");
- this.approveOpen = false;
- this.getList();
+ // 鍑嗗纭鏁版嵁
+ const approveData = {
+ ...this.currentCase,
+ reportStatus: this.approveForm.approveResult,
+ confirmResult: this.approveForm.confirmResult,
+ approvername: this.$store.state.user?.name || "褰撳墠鐢ㄦ埛",
+ approvetime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
+ updateTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
+ updateBy: this.$store.state.user?.name || "褰撳墠鐢ㄦ埛"
+ };
+
+ // 澶勭悊纭缁撴灉
+ if (this.approveForm.approveResult == "3") {
+ // 鍚屾剰
+ approveData.isTransport = this.approveForm.isTransport;
+
+ // 濡傛灉涓嶉渶瑕佽浆杩愶紝璁剧疆isDonate涓�1
+ if (this.approveForm.isTransport == "1") {
+ approveData.isDonate = "1";
+ } else {
+ approveData.isDonate = "0";
+ }
+ } else if (this.approveForm.approveResult == "4") {
+ // 椹冲洖
+ approveData.rejectType = this.approveForm.rejectType;
+ approveData.isTransport = "1"; // 椹冲洖鐨勬渚嬩笉闇�瑕佽浆杩�
+ approveData.isDonate = "1"; // 椹冲洖鐨勬渚嬫爣璁颁负宸叉崘鐚�
+ }
+
+ // 淇濆瓨妗堜緥纭淇℃伅
+ await donateEdit(approveData);
+
+ this.$modal.msgSuccess("纭鎴愬姛");
+
+ // 鍏抽棴纭瀵硅瘽妗�
+ this.approveOpen = false;
+
+ // 鍒锋柊鍒楄〃
+ this.getList();
+
+ // 濡傛灉鍚屾剰涓旈渶瑕佽浆杩愶紝璺宠浆鍒拌浆杩愬崟鍒涘缓椤甸潰
+ if (
+ this.approveForm.approveResult == "3" &&
+ this.approveForm.isTransport == "2"
+ ) {
+ this.$router.push({
+ path: "/report/transfer",
+ query: {
+ autoCreate: "true",
+ caseId: this.currentCase.id,
+ caseNo: this.currentCase.caseNo,
+ patName: this.currentCase.name,
+ age: this.currentCase.age,
+ sex: this.currentCase.sex,
+ diagnosisname: this.currentCase.diagnosisname,
+ treatmentHospitalName: this.currentCase.treatmenthospitalname
+ }
+ });
}
} catch (error) {
- console.error("瀹℃壒澶辫触:", error);
+ console.error("纭澶辫触:", error);
if (error !== "cancel") {
- this.$modal.msgError("瀹℃壒澶辫触");
+ this.$modal.msgError("纭澶辫触");
}
}
},
@@ -1494,6 +1514,8 @@
infectious: undefined,
infectiousOther: undefined,
isTransport: "1",
+ isDonate: "0", // 鏂板锛氭槸鍚︽崘鐚�
+ rejectType: undefined, // 鏂板锛氶┏鍥炲師鍥�
// 鍖婚櫌淇℃伅
treatmenthospitalname: undefined,
treatmentdeptname: undefined,
@@ -1540,7 +1562,7 @@
/** 闄勪欢涓婁紶鎴愬姛澶勭悊 */
handleUploadSuccess({ file, fileList, response }) {
- if (response && response.code === 200) {
+ if (response && response.code == 200) {
if (!this.editForm.annexfilesList) {
this.editForm.annexfilesList = [];
}
@@ -1569,7 +1591,7 @@
handleAttachmentRemove(file) {
if (file.url && this.editForm.annexfilesList) {
const index = this.editForm.annexfilesList.findIndex(
- item => item.path === file.url || item.fileUrl === file.url
+ item => item.path == file.url || item.fileUrl == file.url
);
if (index > -1) {
this.editForm.annexfilesList.splice(index, 1);
@@ -1655,7 +1677,15 @@
this.$refs.editForm && this.$refs.editForm.clearValidate();
});
},
-
+ goToTransportDetail(name) {
+ this.$router.push({
+ path: "/report/transfer",
+ query: {
+ autoCreate: "true",
+ patName: name
+ }
+ });
+ },
/** 淇濆瓨琛ㄥ崟 */
async handleSave() {
try {
@@ -1675,6 +1705,7 @@
this.saveLoading = true;
const requestData = { ...this.editForm };
+ requestData.infectious = requestData.infectious.join(",");
let response;
if (this.isEditing) {
@@ -1686,7 +1717,7 @@
response = await donateAdd(requestData);
}
- if (response.code === 200) {
+ if (response.code == 200) {
this.$message.success(this.isEditing ? "淇敼鎴愬姛" : "鏂板鎴愬姛");
this.handleEditClose();
this.getList();
@@ -1774,7 +1805,7 @@
white-space: nowrap;
}
-/* 瀹℃壒寮规鏍峰紡 */
+/* 纭寮规鏍峰紡 */
.approve-dialog >>> .el-dialog__body {
padding: 0;
}
@@ -1782,7 +1813,49 @@
.approve-detail-preview {
height: 100%;
}
+.approve-dialog-content {
+ display: flex;
+ height: 600px; /* 鍙互璋冩暣楂樺害 */
+ overflow: hidden;
+}
+.approve-detail-left {
+ width: 50%;
+ background: #f8f9fa;
+ padding: 20px;
+ overflow-y: auto;
+ border-right: 1px solid #e4e7ed;
+}
+
+.approve-form-right {
+ width: 50%;
+ padding: 20px;
+ overflow-y: auto;
+}
+
+.approve-detail-preview {
+ height: 100%;
+}
+
+/* 鍝嶅簲寮忚皟鏁� */
+@media (max-width: 1200px) {
+ .approve-dialog-content {
+ flex-direction: column;
+ height: auto;
+ max-height: 80vh;
+ }
+
+ .approve-detail-left,
+ .approve-form-right {
+ width: 100%;
+ height: auto;
+ }
+
+ .approve-detail-left {
+ border-right: none;
+ border-bottom: 1px solid #e4e7ed;
+ }
+}
/* 鍝嶅簲寮忚璁� */
@media (max-width: 1200px) {
.approve-dialog {
--
Gitblit v1.9.3