From c8e9849cb5f24848df0174c13bfbbff37bb08a5a Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期二, 21 七月 2026 15:45:30 +0800
Subject: [PATCH] 维护
---
src/views/business/appear/index.vue | 1423 +++++++++++++++++++++++++++--------------------------------
1 files changed, 654 insertions(+), 769 deletions(-)
diff --git a/src/views/business/appear/index.vue b/src/views/business/appear/index.vue
index 39581d2..58e7a2e 100644
--- a/src/views/business/appear/index.vue
+++ b/src/views/business/appear/index.vue
@@ -2,35 +2,15 @@
<div class="app-container">
<!-- 鎼滅储绛涢�夊尯鍩� -->
<el-card class="filter-card">
- <el-form
- :model="queryParams"
- ref="queryForm"
- :inline="true"
- class="demo-form-inline"
- >
+ <el-form :model="queryParams" ref="queryForm" :inline="true" class="demo-form-inline">
<el-form-item label="濮撳悕" prop="name">
- <el-input
- v-model="queryParams.name"
- placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
- clearable
- style="width: 200px"
- />
+ <el-input v-model="queryParams.name" placeholder="璇疯緭鍏ユ偅鑰呭鍚�" clearable style="width: 200px" />
</el-form-item>
<el-form-item label="涓婃姤鍖婚櫌" prop="caseNo">
- <el-input
- v-model="queryParams.caseNo"
- placeholder="璇疯緭鍏ヤ笂鎶ユ渚嬬紪鍙�"
- clearable
- style="width: 200px"
- />
+ <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="璇烽�夋嫨鐘舵��"
- clearable
- style="width: 200px"
- >
+ <el-select v-model="queryParams.reportStatus" placeholder="璇烽�夋嫨鐘舵��" clearable style="width: 200px">
<el-option label="鍏ㄩ儴" value="" />
<el-option label="宸查槄璇�" value="2" />
<el-option label="宸插悓鎰�" value="3" />
@@ -38,63 +18,29 @@
</el-select>
</el-form-item>
<el-form-item>
- <el-button type="primary" icon="el-icon-search" @click="handleQuery"
- >鎼滅储</el-button
- >
+ <el-button type="primary" icon="el-icon-search" @click="handleQuery">鎼滅储</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">閲嶇疆</el-button>
</el-form-item>
</el-form>
</el-card>
- <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+ <!-- 鎿嶄綔鎸夐挳鍖哄煙 - 淇敼鍒犻櫎鎸夐挳鐨勭鐢ㄦ潯浠� -->
<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"
- plain
- icon="el-icon-delete"
- :disabled="multiple"
- @click="handleDelete"
- >鍒犻櫎</el-button
- >
+ <el-button type="danger" plain icon="el-icon-delete" :disabled="multiple || hasApprovedSelected()"
+ @click="handleDelete">
+ 鍒犻櫎
+ </el-button>
</el-col>
</el-row>
<!-- 鏁版嵁琛ㄦ牸 -->
- <!-- 鏁版嵁琛ㄦ牸 -->
- <el-table
- v-loading="loading"
- :data="caseList"
- @selection-change="handleSelectionChange"
- >
+ <el-table v-loading="loading" :data="caseList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
-
- <el-table-column
- label="缂栧彿"
- align="center"
- prop="caseNo"
- width="150"
- fixed
- />
- <el-table-column
- label="濮撳悕"
- align="center"
- prop="name"
- width="100"
- fixed
- />
- <el-table-column
- label="涓婃姤鐘舵��"
- align="center"
- prop="reportStatus"
- width="100"
- >
+
+ <el-table-column label="缂栧彿" align="center" prop="caseNo" width="150" fixed />
+ <el-table-column 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 }}
@@ -116,149 +62,97 @@
<el-table-column label="骞撮緞" align="center" prop="age" width="80" />
<el-table-column label="琛�鍨�" align="center" prop="bloodType" width="80">
<template #default="scope">
- <dict-tag
- :options="dict.type.sys_BloodType"
- :value="scope.row.bloodType"
- />
+ <dict-tag :options="dict.type.sys_BloodType" :value="scope.row.bloodType" />
</template>
</el-table-column>
- <el-table-column
- label="鐤剧梾璇婃柇"
- align="center"
- prop="diagnosisname"
- min-width="200"
- show-overflow-tooltip
- />
- <el-table-column
- 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="涓婃姤鏃堕棿"
- align="center"
- prop="reporttime"
- width="160"
- />
+ <el-table-column label="鐤剧梾璇婃柇" align="center" prop="diagnosisname" min-width="200" show-overflow-tooltip />
+ <el-table-column 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="涓婃姤鏃堕棿" align="center" prop="reporttime" width="160" />
<el-table-column label="鎿嶄綔" align="center" fixed="right" width="300">
<template #default="scope">
- <el-button
- size="mini"
- type="text"
- icon="el-icon-view"
- @click="handleDetail(scope.row)"
- >璇︽儏</el-button
- >
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
- @click="handleEdit(scope.row)"
- v-if="
- scope.row.reportStatus !== '3' &&
- scope.row.reportStatus !== '4' &&
- scope.row.delFlag === 0
- "
- >缂栬緫</el-button
- >
- <el-button
- size="mini"
- type="text"
- icon="el-icon-check"
- @click="handleApprove(scope.row)"
- v-if="scope.row.reportStatus === '2' && scope.row.delFlag === 0"
- >纭</el-button
- >
- <el-button
- size="mini"
- type="text"
- icon="el-icon-truck"
- :type="getTransportStatustype(scope.row)"
- @click="handleTransport(scope.row)"
- v-if="shouldShowTransportButton(scope.row)"
- :disabled="!canGoToTransport(scope.row)"
- >
- {{ getTransportButtonText(scope.row) }}
- </el-button>
+ <el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">璇︽儏</el-button>
+ <el-button size="mini" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">缂栬緫</el-button>
+ <el-button size="mini" type="text" icon="el-icon-check" @click="handleApprove(scope.row)"
+ 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="success" @click="Createatransferorder(scope.row)">鍒涘缓杞繍鍗�</el-button>
</template>
</el-table-column>
</el-table>
<!-- 鍒嗛〉 -->
- <pagination
- v-show="total > 0"
- :total="total"
- :page.sync="queryParams.pageNum"
- :limit.sync="queryParams.pageSize"
- @pagination="getList"
- />
+ <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+ @pagination="getList" />
<!-- 妗堜緥璇︽儏寮规 -->
- <el-dialog
- :title="detailTitle"
- :visible.sync="detailOpen"
- width="900px"
- append-to-body
- :close-on-click-modal="false"
- >
+ <el-dialog :title="detailTitle" :visible.sync="detailOpen" width="900px" append-to-body
+ :close-on-click-modal="false">
<case-detail :caseData="currentCase" @close="detailOpen = false" />
</el-dialog>
<!-- 纭寮规 -->
- <el-dialog
- title="妗堜緥纭"
- :visible.sync="approveOpen"
- width="80vw"
- append-to-body
- class="approve-dialog"
- >
- <el-container style="height: 800px;">
+ <el-dialog title="妗堜緥纭" :visible.sync="approveOpen" width="80vw" append-to-body class="approve-dialog">
+ <!-- 浣跨敤 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;">
- <el-form
- ref="approveForm"
- :model="approveForm"
- :rules="approveRules"
- label-width="100px"
- >
+ <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-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-input
- type="textarea"
- v-model="approveForm.approveOpinion"
- placeholder="璇疯緭鍏ヨ缁嗙殑纭鎰忚锛屽寘鎷�氳繃鎴栭┏鍥炵殑鐞嗙敱"
- :rows="6"
- maxlength="500"
- show-word-limit
- />
+
+ <!-- 褰撻�夋嫨"鍚屾剰"鏃舵樉绀鸿浆杩愰�夐」 -->
+ <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.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>
@@ -267,45 +161,25 @@
</el-dialog>
<!-- 鏂板/缂栬緫妗堜緥寮规 -->
- <el-dialog
- :title="`${isEditing ? '缂栬緫' : '鏂板'}妗堜緥`"
- :visible.sync="editOpen"
- width="68%"
- append-to-body
- :close-on-click-modal="false"
- @close="handleEditClose"
- >
- <el-form
- ref="editForm"
- :model="editForm"
- :rules="editRules"
- label-width="120px"
- >
+ <el-dialog :title="`${isEditing ? '缂栬緫' : '鏂板'}妗堜緥`" :visible.sync="editOpen" width="68%" append-to-body
+ :close-on-click-modal="false" @close="handleEditClose">
+ <el-form ref="editForm" :model="editForm" :rules="editRules" label-width="120px">
<!-- 鍩烘湰淇℃伅 -->
<el-card class="form-section" shadow="never">
<div slot="header" class="section-header">
- <i
- class="el-icon-user"
- style="color: #409EFF; margin-right: 8px;"
- ></i>
+ <i class="el-icon-user" style="color: #409EFF; margin-right: 8px;"></i>
<span>鍩烘湰淇℃伅</span>
</div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="妗堜緥缂栧彿" prop="caseNo">
- <el-input
- v-model="editForm.caseNo"
- placeholder="璇疯緭鍏ユ渚嬬紪鍙�"
- />
+ <el-input v-model="editForm.caseNo" placeholder="璇疯緭鍏ユ渚嬬紪鍙�" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鎮h�呭鍚�" prop="name">
- <el-input
- v-model="editForm.name"
- placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
- />
+ <el-input v-model="editForm.name" placeholder="璇疯緭鍏ユ偅鑰呭鍚�" />
</el-form-item>
</el-col>
</el-row>
@@ -313,25 +187,15 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="鎬у埆" prop="sex">
- <el-select
- v-model="editForm.sex"
- placeholder="璇烽�夋嫨鎬у埆"
- style="width: 100%"
- >
- <el-option label="鐢�" value="0" />
- <el-option label="濂�" value="1" />
+ <el-select v-model="editForm.sex" placeholder="璇烽�夋嫨鎬у埆" style="width: 100%">
+ <el-option label="鐢�" value="1" />
+ <el-option label="濂�" value="2" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="骞撮緞" prop="age">
- <el-input-number
- v-model="editForm.age"
- :min="0"
- :max="120"
- placeholder="璇疯緭鍏ュ勾榫�"
- style="width: 100%"
- />
+ <el-input-number v-model="editForm.age" :min="0" :max="120" placeholder="璇疯緭鍏ュ勾榫�" style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
@@ -339,11 +203,7 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="骞撮緞鍗曚綅" prop="ageunit">
- <el-select
- v-model="editForm.ageunit"
- placeholder="璇烽�夋嫨骞撮緞鍗曚綅"
- style="width: 100%"
- >
+ <el-select v-model="editForm.ageunit" placeholder="璇烽�夋嫨骞撮緞鍗曚綅" style="width: 100%">
<el-option label="宀�" value="year" />
<el-option label="鏈�" value="month" />
<el-option label="澶�" value="day" />
@@ -352,15 +212,11 @@
</el-col>
<el-col :span="12">
<el-form-item label="琛�鍨�" prop="bloodType">
- <el-select
- v-model="editForm.bloodType"
- placeholder="璇烽�夋嫨琛�鍨�"
- style="width: 100%"
- >
- <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 v-model="editForm.bloodType" 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-select>
</el-form-item>
</el-col>
@@ -377,13 +233,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="鍑虹敓鏃ユ湡" prop="birthday">
- <el-date-picker
- v-model="editForm.birthday"
- type="date"
- placeholder="閫夋嫨鍑虹敓鏃ユ湡"
- value-format="yyyy-MM-dd"
- style="width: 100%"
- />
+ <el-date-picker v-model="editForm.birthday" type="date" placeholder="閫夋嫨鍑虹敓鏃ユ湡" value-format="yyyy-MM-dd"
+ style="width: 100%" />
</el-form-item>
</el-col>
</el-row>
@@ -391,25 +242,14 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="璇佷欢绫诲瀷" prop="idcardtype">
- <el-select
- v-model="editForm.idcardtype"
- placeholder="璇烽�夋嫨璇佷欢绫诲瀷"
- style="width: 100%"
- >
- <el-option
- v-for="item in dict.type.sys_IDType"
- :label="item.label"
- :value="item.value"
- />
+ <el-select v-model="editForm.idcardtype" placeholder="璇烽�夋嫨璇佷欢绫诲瀷" style="width: 100%">
+ <el-option v-for="item in dict.type.sys_IDType" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="璇佷欢鍙风爜" prop="idcardno">
- <el-input
- v-model="editForm.idcardno"
- placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�"
- />
+ <el-input v-model="editForm.idcardno" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" />
</el-form-item>
</el-col>
</el-row>
@@ -422,10 +262,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="鍥界睄" prop="nationality">
- <el-input
- v-model="editForm.nationality"
- placeholder="璇疯緭鍏ュ浗绫�"
- />
+ <el-input v-model="editForm.nationality" placeholder="璇疯緭鍏ュ浗绫�" />
</el-form-item>
</el-col>
</el-row>
@@ -433,18 +270,15 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="绫嶈疮" prop="nativeplace">
- <el-input
- v-model="editForm.nativeplace"
- placeholder="璇疯緭鍏ョ睄璐�"
- />
+ <el-input v-model="editForm.nativeplace" placeholder="璇疯緭鍏ョ睄璐�" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="瀛﹀巻" prop="education">
- <el-input
- v-model="editForm.education"
- placeholder="璇疯緭鍏ュ鍘�"
- />
+ <!-- <el-input v-model="editForm.education" placeholder="璇疯緭鍏ュ鍘�" /> -->
+ <el-select v-model="editForm.education" placeholder="璇烽�夋嫨瀛﹀巻绫诲瀷" style="width: 100%">
+ <el-option v-for="item in dict.type.sys_education" :label="item.label" :value="item.value" />
+ </el-select>
</el-form-item>
</el-col>
</el-row>
@@ -452,18 +286,15 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="鑱屼笟" prop="occupation">
- <el-input
- v-model="editForm.occupation"
- placeholder="璇疯緭鍏ヨ亴涓�"
- />
+ <!-- <el-input v-model="editForm.occupation" placeholder="璇疯緭鍏ヨ亴涓�" /> -->
+ <el-select v-model="editForm.occupation" placeholder="璇烽�夋嫨鑱屼笟绫诲瀷" style="width: 100%">
+ <el-option v-for="item in dict.type.sys_occupation" :label="item.label" :value="item.value" />
+ </el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鑱旂郴鐢佃瘽" prop="phone">
- <el-input
- v-model="editForm.phone"
- placeholder="璇疯緭鍏ヨ仈绯荤數璇�"
- />
+ <el-input v-model="editForm.phone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
</el-form-item>
</el-col>
</el-row>
@@ -472,171 +303,63 @@
<!-- 鍦板潃淇℃伅 -->
<el-card class="form-section" shadow="never">
<div slot="header" class="section-header">
- <i
- class="el-icon-location-information"
- style="color: #67C23A; margin-right: 8px;"
- ></i>
+ <i class="el-icon-location-information" style="color: #67C23A; margin-right: 8px;"></i>
<span>鍦板潃淇℃伅</span>
</div>
<el-row :gutter="20">
<el-col :span="12">
- <el-form-item label="鎴风睄鍦板潃鐪�">
- <el-input
- v-model="editForm.registerprovincename"
- placeholder="璇疯緭鍏ユ埛绫嶅湴鍧�鐪�"
- />
+ <el-form-item label="鐜颁綇鍦板潃" prop="residenceaddress">
+ <li-area-select ref="residenceSelect" v-model="residenceAddress"
+ @change="handleResidenceAddressChange" />
+ <el-input v-model="editForm.residenceaddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" style="margin-top: 8px" />
</el-form-item>
</el-col>
<el-col :span="12">
- <el-form-item label="鎴风睄鍦板潃甯�">
- <el-input
- v-model="editForm.registercityname"
- placeholder="璇疯緭鍏ユ埛绫嶅湴鍧�甯�"
- />
+ <el-form-item label="鎴风睄鍦板潃" prop="registeraddress">
+ <li-area-select ref="registerSelect" v-model="registerAddress" @change="handleRegisterAddressChange" />
+ <el-input v-model="editForm.registeraddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" style="margin-top: 8px" />
</el-form-item>
</el-col>
</el-row>
-
- <el-row :gutter="20">
- <el-col :span="12">
- <el-form-item label="鎴风睄琛楅亾">
- <el-input
- v-model="editForm.registertownname"
- placeholder="璇疯緭鍏ユ埛绫嶈閬�"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鎴风睄绀惧尯">
- <el-input
- v-model="editForm.registercommunityname"
- placeholder="璇疯緭鍏ユ埛绫嶇ぞ鍖�"
- />
- </el-form-item>
- </el-col>
- </el-row>
-
- <el-form-item label="鎴风睄璇︾粏鍦板潃" prop="registeraddress">
- <el-input
- v-model="editForm.registeraddress"
- type="textarea"
- :rows="2"
- placeholder="璇疯緭鍏ヨ缁嗙殑鎴风睄鍦板潃"
- />
- </el-form-item>
-
- <el-divider>鐜颁綇鍦板潃</el-divider>
-
- <el-row :gutter="20">
- <el-col :span="12">
- <el-form-item label="鐜颁綇鍦板潃鐪�">
- <el-input
- v-model="editForm.residenceprovincename"
- placeholder="璇疯緭鍏ョ幇浣忓湴鍧�鐪�"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鐜颁綇鍦板潃甯�/鍖�">
- <el-input
- v-model="editForm.residencecountyname"
- placeholder="璇疯緭鍏ョ幇浣忓湴鍧�甯�/鍖�"
- />
- </el-form-item>
- </el-col>
- </el-row>
-
- <el-row :gutter="20">
- <el-col :span="12">
- <el-form-item label="鐜颁綇鍦板潃琛楅亾">
- <el-input
- v-model="editForm.residencetownname"
- placeholder="璇疯緭鍏ョ幇浣忓湴鍧�琛楅亾"
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鐜颁綇鍦板潃绀惧尯">
- <el-input
- v-model="editForm.residencecommunityname"
- placeholder="璇疯緭鍏ョ幇浣忓湴鍧�绀惧尯"
- />
- </el-form-item>
- </el-col>
- </el-row>
-
- <el-form-item label="鐜颁綇璇︾粏鍦板潃" prop="residenceaddress">
- <el-input
- v-model="editForm.residenceaddress"
- type="textarea"
- :rows="2"
- placeholder="璇疯緭鍏ヨ缁嗙殑鐜颁綇鍦板潃"
- />
- </el-form-item>
</el-card>
<!-- 鍖荤枟淇℃伅 -->
<el-card class="form-section" shadow="never">
<div slot="header" class="section-header">
- <i
- class="el-icon-first-aid-kit"
- style="color: #E6A23C; margin-right: 8px;"
- ></i>
+ <i class="el-icon-first-aid-kit" style="color: #E6A23C; margin-right: 8px;"></i>
<span>鍖荤枟淇℃伅</span>
</div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="鐤剧梾璇婃柇" prop="diagnosisname">
- <el-input
- v-model="editForm.diagnosisname"
- placeholder="璇疯緭鍏ョ柧鐥呰瘖鏂悕绉�"
- />
+ <el-input v-model="editForm.diagnosisname" placeholder="璇疯緭鍏ョ柧鐥呰瘖鏂悕绉�" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="GCS璇勫垎" prop="gcsScore">
- <el-input
- v-model="editForm.gcsScore"
- placeholder="璇疯緭鍏CS璇勫垎"
- />
+ <el-input v-model="editForm.gcsScore" placeholder="璇疯緭鍏CS璇勫垎" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="鐥呮儏姒傚喌" prop="illnessoverview">
- <el-input
- v-model="editForm.illnessoverview"
- type="textarea"
- :rows="3"
- placeholder="璇疯緭鍏ョ梾鎯呮鍐�"
- maxlength="500"
- show-word-limit
- />
+ <el-input v-model="editForm.illnessoverview" type="textarea" :rows="3" placeholder="璇疯緭鍏ョ梾鎯呮鍐�" maxlength="500"
+ show-word-limit />
</el-form-item>
<el-form-item label="鐥呬汉鐘跺喌" prop="patientstate">
- <el-input
- v-model="editForm.patientstate"
- type="textarea"
- :rows="2"
- placeholder="璇疯緭鍏ョ梾浜虹姸鍐�"
- maxlength="200"
- show-word-limit
- />
+ <el-input v-model="editForm.patientstate" type="textarea" :rows="2" placeholder="璇疯緭鍏ョ梾浜虹姸鍐�" maxlength="200"
+ show-word-limit />
</el-form-item>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="浼犳煋鐥呮儏鍐�" prop="infectious">
<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 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"
@@ -646,10 +369,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="浼犳煋鐥呭叾浠栬鏄�">
- <el-input
- v-model="editForm.infectiousOther"
- placeholder="璇疯緭鍏ヤ紶鏌撶梾鍏朵粬璇存槑"
- />
+ <el-input v-model="editForm.infectiousOther" placeholder="璇疯緭鍏ヤ紶鏌撶梾鍏朵粬璇存槑" />
</el-form-item>
</el-col>
</el-row>
@@ -665,28 +385,30 @@
<!-- 鍖婚櫌淇℃伅 -->
<el-card class="form-section" shadow="never">
<div slot="header" class="section-header">
- <i
- class="el-icon-office-building"
- style="color: #909399; margin-right: 8px;"
- ></i>
+ <i class="el-icon-office-building" style="color: #909399; margin-right: 8px;"></i>
<span>鍖婚櫌淇℃伅</span>
</div>
-
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <el-form-item label="ICU璇勪及鍖荤敓" prop="icuDoctor">
+ <el-input v-model="editForm.icuDoctor" placeholder="璇疯緭鍏CU璇勪及鍖荤敓" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="ICU鍖荤敓鐢佃瘽" prop="icuDoctorPhone">
+ <el-input v-model="editForm.icuDoctorPhone" placeholder="璇疯緭鍏CU鍖荤敓鎵嬫満鍙�" />
+ </el-form-item>
+ </el-col>
+ </el-row>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="娌荤枟鍖婚櫌" prop="treatmenthospitalname">
- <el-input
- v-model="editForm.treatmenthospitalname"
- placeholder="璇疯緭鍏ユ不鐤楀尰闄㈠悕绉�"
- />
+ <el-input v-model="editForm.treatmenthospitalname" placeholder="璇疯緭鍏ユ不鐤楀尰闄㈠悕绉�" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="娌荤枟绉戝" prop="treatmentdeptname">
- <el-input
- v-model="editForm.treatmentdeptname"
- placeholder="璇疯緭鍏ユ不鐤楃瀹ゅ悕绉�"
- />
+ <el-input v-model="editForm.treatmentdeptname" placeholder="璇疯緭鍏ユ不鐤楃瀹ゅ悕绉�" />
</el-form-item>
</el-col>
</el-row>
@@ -694,18 +416,12 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="浣忛櫌鍙�" prop="inpatientno">
- <el-input
- v-model="editForm.inpatientno"
- placeholder="璇疯緭鍏ヤ綇闄㈠彿"
- />
+ <el-input v-model="editForm.inpatientno" placeholder="璇疯緭鍏ヤ綇闄㈠彿" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="閮ㄩ棬鍚嶇О" prop="deptName">
- <el-input
- v-model="editForm.deptName"
- placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
- />
+ <el-input v-model="editForm.deptName" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�" />
</el-form-item>
</el-col>
</el-row>
@@ -713,18 +429,12 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="閮ㄩ棬缂栧彿" prop="deptNo">
- <el-input
- v-model="editForm.deptNo"
- placeholder="璇疯緭鍏ラ儴闂ㄧ紪鍙�"
- />
+ <el-input v-model="editForm.deptNo" placeholder="璇疯緭鍏ラ儴闂ㄧ紪鍙�" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="涓婃姤鍖婚櫌" prop="toHospital">
- <el-input
- v-model="editForm.toHospital"
- placeholder="璇疯緭鍏ヤ笂鎶ョ殑鍖婚櫌"
- />
+ <el-input v-model="editForm.toHospital" placeholder="璇疯緭鍏ヤ笂鎶ョ殑鍖婚櫌" />
</el-form-item>
</el-col>
</el-row>
@@ -733,28 +443,19 @@
<!-- 涓婃姤淇℃伅 -->
<el-card class="form-section" shadow="never">
<div slot="header" class="section-header">
- <i
- class="el-icon-s-data"
- style="color: #F56C6C; margin-right: 8px;"
- ></i>
+ <i class="el-icon-s-data" style="color: #F56C6C; margin-right: 8px;"></i>
<span>涓婃姤淇℃伅</span>
</div>
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="鎶ュ憡鑰呭鍚�" prop="infoName">
- <el-input
- v-model="editForm.infoName"
- placeholder="璇疯緭鍏ユ姤鍛婅�呭鍚�"
- />
+ <el-input v-model="editForm.infoName" placeholder="璇疯緭鍏ユ姤鍛婅�呭鍚�" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="鎶ュ憡鑰呯數璇�" prop="reporterphone">
- <el-input
- v-model="editForm.phone"
- placeholder="璇疯緭鍏ユ姤鍛婅�呰仈绯荤數璇�"
- />
+ <el-input v-model="editForm.phone" placeholder="璇疯緭鍏ユ姤鍛婅�呰仈绯荤數璇�" />
</el-form-item>
</el-col>
</el-row>
@@ -762,29 +463,21 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="鍗忚皟鍛樺鍚�" prop="coordinatorName">
- <el-input
- v-model="editForm.coordinatorName"
- placeholder="璇疯緭鍏ュ崗璋冨憳濮撳悕"
- />
+ <el-input v-model="editForm.coordinatorName" placeholder="璇疯緭鍏ュ崗璋冨憳濮撳悕" />
</el-form-item>
</el-col>
- <el-col :span="12">
+ <!-- <el-col :span="12">
<el-form-item label="鍗忚皟鍛樼紪鍙�" prop="coordinatorNo">
<el-input
v-model="editForm.coordinatorNo"
placeholder="璇疯緭鍏ュ崗璋冨憳缂栧彿"
/>
</el-form-item>
- </el-col>
+ </el-col> -->
</el-row>
<el-form-item label="涓婃姤鐘舵��" prop="reportStatus">
- <el-select
- v-model="editForm.reportStatus"
- placeholder="璇烽�夋嫨涓婃姤鐘舵��"
- style="width: 100%"
- :disabled="isEditing"
- >
+ <el-select v-model="editForm.reportStatus" placeholder="璇烽�夋嫨涓婃姤鐘舵��" style="width: 100%" :disabled="isEditing">
<el-option label="宸蹭笂鎶�" value="1" />
<el-option label="宸查槄璇�" value="2" />
<el-option label="宸插悓鎰�" value="3" />
@@ -794,142 +487,111 @@
</el-card>
<!-- 闄勪欢淇℃伅 -->
- <el-card class="form-section" shadow="never">
- <div slot="header" class="section-header">
- <i
- class="el-icon-folder"
- style="color: #409EFF; margin-right: 8px;"
- ></i>
- <span>闄勪欢淇℃伅</span>
- </div>
+<el-card class="form-section" shadow="never">
+ <div slot="header" class="section-header">
+ <i class="el-icon-folder" style="color: #409EFF; margin-right: 8px;"></i>
+ <span>闄勪欢淇℃伅</span>
+ </div>
- <div class="attachment-section">
- <div class="attachment-header">
- <i class="el-icon-paperclip"></i>
- <span class="attachment-title">闄勪欢涓婁紶</span>
- <span class="attachment-tip"
- >鏀寔涓婁紶鐥呭巻銆佹楠屾姤鍛婄瓑鏂囦欢 (鏈�澶歿{
- attachmentLimit
- }}涓�)</span
+ <!-- 涓婁紶缁勪欢锛堢洿鎺ユ斁缃紝鏃犲垎绫婚�夋嫨锛� -->
+ <div class="upload-wrapper">
+ <UploadAttachment
+ ref="uploadAttachment"
+ :file-list="attachmentFileList"
+ :limit="attachmentLimit"
+ :accept="attachmentAccept"
+ @change="handleAttachmentChange"
+ @upload-success="handleUploadSuccess"
+ @upload-error="handleUploadError"
+ @remove="handleAttachmentRemove"
+ />
+ <div style="font-size:12px; color:#909399; margin-top:4px;">
+ 褰撳墠涓婁紶鍒嗙被锛�<el-tag size="small" type="info">{{ activeTab === '鏈垎绫�' ? '鏈垎绫�' : activeTab }}</el-tag>
+ 锛堝垏鎹� Tab 鍙敼鍙樹笂浼犲垎绫伙級
+ </div>
+ </div>
+
+ <!-- 闄勪欢鍒楄〃 - 鍒嗙被Tab灞曠ず锛屾敮鎸佷慨鏀瑰垎绫� -->
+ <div class="attachment-list" v-if="editForm.annexfilesList && editForm.annexfilesList.length > 0">
+ <el-tabs v-model="activeTab" type="border-card">
+ <el-tab-pane
+ v-for="category in categories"
+ :key="category"
+ :label="category + '(' + getCategoryCount(category) + ')'"
+ :name="category"
+ >
+ <el-table :data="getCategoryFiles(category)" style="width: 100%" size="small" border>
+ <el-table-column label="鏂囦欢鍚�" min-width="180">
+ <template #default="scope">
+ <i class="el-icon-document" style="margin-right: 8px; color: #409EFF;"></i>
+ <span class="file-name">{{ scope.row.fileName }}</span>
+ </template>
+ </el-table-column>
+ <!-- 鍙紪杈戝垎绫讳笅鎷� -->
+ <el-table-column label="鍒嗙被" width="150">
+ <template #default="scope">
+ <el-select
+ v-model="scope.row.fileType"
+ size="small"
+ @change="updateAttachmentCategory(scope.row, $event)"
+ placeholder="閫夋嫨鍒嗙被"
>
- </div>
-
- <!-- 浣跨敤 UploadAttachment 缁勪欢 -->
- <UploadAttachment
- ref="uploadAttachment"
- :file-list="attachmentFileList"
- :limit="attachmentLimit"
- :accept="attachmentAccept"
- @change="handleAttachmentChange"
- @upload-success="handleUploadSuccess"
- @upload-error="handleUploadError"
- @remove="handleAttachmentRemove"
- />
- </div>
-
- <!-- 闄勪欢鍒楄〃 -->
- <div
- class="attachment-list"
- v-if="editForm.annexfilesList && editForm.annexfilesList.length > 0"
- >
- <div class="list-title">
- 宸蹭笂浼犻檮浠� ({{ editForm.annexfilesList.length }})
- </div>
- <el-table
- :data="editForm.annexfilesList"
- style="width: 100%"
- size="small"
- border
- >
- <el-table-column label="鏂囦欢鍚�" min-width="200">
- <template #default="scope">
- <i
- class="el-icon-document"
- style="margin-right: 8px; color: #409EFF;"
- ></i>
- <span class="file-name">{{ scope.row.fileName }}</span>
- </template>
- </el-table-column>
- <el-table-column label="鏂囦欢绫诲瀷" width="100">
- <template #default="scope">
- <el-tag size="small">{{
- getFileType(scope.row.fileName)
- }}</el-tag>
- </template>
- </el-table-column>
- <el-table-column label="鍒涘缓鏃堕棿" width="160">
- <template #default="scope">
- <span>{{ formatDateTime(scope.row.createTime) }}</span>
- </template>
- </el-table-column>
- <el-table-column
- label="澶囨敞"
- min-width="150"
- show-overflow-tooltip
- >
- <template #default="scope">
- <span>{{ scope.row.remart || "鏃�" }}</span>
- </template>
- </el-table-column>
- <el-table-column label="鎿嶄綔" width="200" fixed="right">
- <template #default="scope">
- <el-button
- size="mini"
- type="primary"
- @click="handlePreview(scope.row)"
- >
- 棰勮
- </el-button>
- <el-button
- size="mini"
- type="danger"
- @click="handleRemoveAttachment(scope.$index)"
- >
- 鍒犻櫎
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- </div>
- </el-card>
+ <el-option label="鐧昏琛ㄩ檮浠�" value="鐧昏琛ㄩ檮浠�" />
+ <el-option label="璇佷欢鐓�" value="璇佷欢鐓�" />
+ <el-option label="鐤剧梾璇婃柇娌荤枟" value="鐤剧梾璇婃柇娌荤枟" />
+ <el-option label="鏈垎绫�" value="" />
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏂囦欢绫诲瀷" width="100">
+ <template #default="scope">
+ <el-tag size="small">{{ getFileType(scope.row.fileName) }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒涘缓鏃堕棿" width="160">
+ <template #default="scope">
+ <span>{{ formatDateTime(scope.row.createTime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="澶囨敞" min-width="130" show-overflow-tooltip>
+ <template #default="scope">
+ <span>{{ scope.row.remart || "鏃�" }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="180" fixed="right">
+ <template #default="scope">
+ <el-button size="mini" type="primary" @click="handlePreview(scope.row)">棰勮</el-button>
+ <el-button size="mini" type="danger" @click="handleRemoveAttachmentByFile(scope.row)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ </el-tabs>
+ </div>
+</el-card>
<!-- 澶囨敞淇℃伅 -->
<el-card class="form-section" shadow="never">
<div slot="header" class="section-header">
- <i
- class="el-icon-edit"
- style="color: #67C23A; margin-right: 8px;"
- ></i>
+ <i class="el-icon-edit" style="color: #67C23A; margin-right: 8px;"></i>
<span>澶囨敞淇℃伅</span>
</div>
<el-form-item prop="remark">
- <el-input
- v-model="editForm.remark"
- type="textarea"
- :rows="4"
- placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�"
- maxlength="500"
- show-word-limit
- />
+ <el-input v-model="editForm.remark" type="textarea" :rows="4" placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�" maxlength="500"
+ show-word-limit />
</el-form-item>
</el-card>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="handleEditClose">鍙栨秷</el-button>
- <el-button type="primary" :loading="saveLoading" @click="handleSave"
- >淇濆瓨</el-button
- >
+ <el-button type="primary" :loading="saveLoading" @click="handleSave">淇濆瓨</el-button>
</div>
</el-dialog>
<!-- 鏂囦欢棰勮寮圭獥 -->
- <FilePreviewDialog
- :visible="previewVisible"
- :file="currentPreviewFile"
- @close="previewVisible = false"
- @download="handleDownload"
- />
+ <FilePreviewDialog :visible="previewVisible" :file="currentPreviewFile" @close="previewVisible = false"
+ @download="handleDownload" />
</div>
</template>
@@ -944,27 +606,50 @@
donateEdit,
donateAdd
} from "@/api/businessApi/index";
+import LiAreaSelect from "@/components/Address";
+
import dayjs from "dayjs";
export default {
name: "CaseList",
components: {
CaseDetail,
+ LiAreaSelect,
UploadAttachment,
FilePreviewDialog
},
- dicts: ["sys_user_sex", "sys_BloodType", "sys_Infectious", "sys_IDType"],
+ dicts: [
+ "sys_user_sex",
+ "sys_BloodType",
+ "sys_Infectious",
+ "sys_IDType",
+ "sys_education",
+ "sys_occupation"
+ ],
+
data() {
+ const validateConfirmResult = (rule, value, callback) => {
+ if (this.approveForm.approveResult === "4" && !value) {
+ callback(new Error("椹冲洖鏃跺繀椤诲~鍐欓┏鍥炴剰瑙�"));
+ } else {
+ callback();
+ }
+ };
return {
// 閬僵灞�
loading: false,
saveLoading: false,
// 閫変腑鏁扮粍
ids: [],
+ residenceAddress: {},
+ registerAddress: {},
// 闈炲崟涓鐢�
single: true,
// 闈炲涓鐢�
multiple: true,
+ currentCategory: "鐧昏琛ㄩ檮浠�", // 褰撳墠涓婁紶鍒嗙被
+ activeTab: "鐧昏琛ㄩ檮浠�", // 褰撳墠婵�娲荤殑Tab
+ presetCategories: ["鐧昏琛ㄩ檮浠�", "璇佷欢鐓�", "鐤剧梾璇婃柇娌荤枟"], // 棰勮鍒嗙被鍒楄〃
// 鎬绘潯鏁�
total: 0,
// 妗堜緥琛ㄦ牸鏁版嵁
@@ -993,15 +678,31 @@
approveForm: {
id: null,
approveResult: "3",
- approveOpinion: ""
+ confirmResult: "",
+ rejectType: "", // 椹冲洖鍘熷洜
+ isTransport: "", // 鏄惁闇�瑕佽浆杩�
+ createTransport: false, // 鏄惁闇�瑕佸垱寤鸿浆杩愬崟
+ isDonate: "0" // 鏄惁鎹愮尞锛�0-鏈崘鐚紝1-宸叉崘鐚�
},
// 纭琛ㄥ崟楠岃瘉
approveRules: {
approveResult: [
{ required: true, message: "璇烽�夋嫨纭缁撴灉", trigger: "change" }
],
- approveOpinion: [
- { required: true, message: "璇疯緭鍏ョ‘璁ゆ剰瑙�", trigger: "blur" }
+ confirmResult: [{ validator: validateConfirmResult, 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" }
]
},
// 缂栬緫琛ㄥ崟
@@ -1056,6 +757,13 @@
created() {
this.getList();
},
+ computed: {
+ // 鑾峰彇鎵�鏈夊瓨鍦ㄧ殑鍒嗙被锛堟寜鍥哄畾椤哄簭锛夛紝鍖呭惈鈥滄湭鍒嗙被鈥�
+ categories() {
+ // 鍥哄畾杩斿洖鎵�鏈夐璁惧垎绫� + 鏈垎绫伙紝鏃犺鏄惁鏈夋枃浠�
+ return ['鐧昏琛ㄩ檮浠�', '璇佷欢鐓�', '鐤剧梾璇婃柇娌荤枟', '鏈垎绫�'];
+ }
+ },
methods: {
/** 鏌ヨ妗堜緥鍒楄〃 */
async getList() {
@@ -1073,56 +781,43 @@
this.loading = false;
}
},
- // 杞繍------------------
- /** 鍒ゆ柇鏄惁闇�瑕佹樉绀鸿浆杩愭寜閽� */
- shouldShowTransportButton(row) {
- // 鍙湁宸插悓鎰忕殑妗堜緥鎵嶈兘杩涜杞繍鎿嶄綔
- // return row.reportStatus == "3" && row.delFlag == 0;
- return row.reportStatus != "4";
+ handleResidenceAddressChange(address) {
+ this.editForm.residenceprovince = address.sheng;
+ this.editForm.residencecity = address.shi;
+ this.editForm.residencetown = address.qu;
},
- /** 鍒ゆ柇鏄惁鍙互璺宠浆鍒拌浆杩愬崟 */
- canGoToTransport(row) {
- // 闇�瑕佽浆杩愶紙isTransport === "2"锛変笖娌℃湁杞繍淇℃伅锛坰erviceTransport涓嶅瓨鍦ㄦ垨涓虹┖鏁扮粍锛�
- return row.isTransport == "2" && row.serviceTransport;
+ handleRegisterAddressChange(address) {
+ console.log(this.registerAddress, "registerAddress11");
+
+ this.editForm.registerprovince = address.sheng;
+ this.editForm.registercity = address.shi;
+ this.editForm.registertown = address.qu;
+ },
+ /** 纭缁撴灉鍙樺寲澶勭悊 */
+ handleApproveResultChange(value) {
+ if (value == "3") {
+ // 閫夋嫨鍚屾剰鏃讹紝閲嶇疆椹冲洖鍘熷洜
+ this.approveForm.rejectType = "";
+ this.approveForm.isDonate = "0"; // 閲嶇疆涓烘湭鎹愮尞
+ } else if (value == "4") {
+ // 閫夋嫨椹冲洖鏃讹紝閲嶇疆杞繍閫夐」
+ this.approveForm.isTransport = "1";
+ this.approveForm.createTransport = false;
+ }
+
+ // 娓呴櫎楠岃瘉
+ this.$nextTick(() => {
+ if (this.$refs.approveForm) {
+ this.$refs.approveForm.clearValidate();
+ }
+ });
},
- /** 鑾峰彇杞繍鎸夐挳鏂囨湰 */
- getTransportButtonText(row) {
- if (row.isTransport == "2") {
- if (
- row.serviceTransport &&
- Array.isArray(row.serviceTransport) &&
- row.serviceTransport.length > 0
- ) {
- return "鏌ョ湅杞繍鍗�";
- } else {
- 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") {
+ if (row.isTransport == "1") {
return "info"; // 涓嶉渶瑕佽浆杩�
}
if (
@@ -1155,7 +850,7 @@
/** 鑾峰彇杞繍鐘舵�佹枃鏈� */
getTransportStatusText(row) {
- if (row.isTransport === "1") {
+ if (row.isTransport == "1") {
return "鏃犻渶杞繍";
}
if (
@@ -1182,100 +877,35 @@
}
return "鏈夎浆杩愬崟";
}
- 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.name);
- } else {
- // 娌℃湁杞繍鍗曪紝璺宠浆鍒板垱寤鸿浆杩愬崟椤甸潰
- this.goToCreateTransport(row);
- }
- } else {
- this.$message.warning("璇ユ渚嬩笉闇�瑕佽浆杩�");
- }
- } catch (error) {
- console.error("鑾峰彇妗堜緥淇℃伅澶辫触:", error);
- this.$message.error("鑾峰彇妗堜緥淇℃伅澶辫触");
- }
+ return "鏈煡";
},
/** 璺宠浆鍒板垱寤鸿浆杩愬崟椤甸潰 */
- goToCreateTransport(caseData) {
- // 鏂瑰紡1锛氬湪鏂伴〉闈㈡墦寮�
- 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
- }
- });
- },
+ Createatransferorder(res) {
+ console.log(res);
- /** 鎵撳紑杞繍鍗曞脊妗� */
- 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();
- }
- }
- });
- },
-
- /** 璺宠浆鍒拌浆杩愬崟璇︽儏椤� */
- goToTransportDetail(transportId, name) {
this.$router.push({
path: "/report/transfer",
query: {
autoCreate: "true",
- patName: name
+ caseId: res.id,
+ caseNo: res.caseNo,
+ patName: res.name,
+ age: res.age,
+ sex: res.sex,
+ diagnosisname: res.diagnosisname,
+ treatmentHospitalName: res.treatmenthospitalname
}
});
},
- // ---------------------------------end
- // 澶氶�夋閫変腑鏁版嵁
+
+ /** 澶氶�夋閫変腑鏁版嵁 */
handleSelectionChange(selection) {
+ console.log(selection, "22");
+
this.ids = selection.map(item => item.id);
+ console.log(this.ids, "33");
+
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
@@ -1302,9 +932,23 @@
async handleDetail(row) {
try {
this.currentCase = row;
-
+ if (this.currentCase.registerprovincename) {
+ this.residenceAddress = {
+ sheng: this.currentCase.registerprovincename,
+ shi: this.currentCase.registercityname,
+ qu: this.currentCase.registertownname
+ };
+ }
+ // 鎴风睄鍦板潃
+ if (this.currentCase.residenceprovincename) {
+ this.registerAddress = {
+ sheng: this.currentCase.residenceprovincename,
+ shi: this.currentCase.residencecountyname,
+ qu: this.currentCase.residencetownname
+ };
+ }
// 濡傛灉鐘舵�佹槸"宸蹭笂鎶�"(1)锛屽垯鏇存柊涓�"宸查槄璇�"(2)
- if (this.currentCase.reportStatus === "1") {
+ if (this.currentCase.reportStatus == "1") {
try {
const updateData = {
...this.currentCase,
@@ -1334,27 +978,100 @@
this.detailOpen = true;
}
},
-
+ // 鑾峰彇鏌愬垎绫荤殑鏂囦欢鏁伴噺
+ getCategoryCount(category) {
+ return this.editForm.annexfilesList.filter(item => {
+ const type = item.fileType || "";
+ if (category === "鏈垎绫�") {
+ return !this.presetCategories.includes(type);
+ }
+ return type === category;
+ }).length;
+ },
+ // 鑾峰彇鏌愬垎绫荤殑鏂囦欢鍒楄〃
+ getCategoryFiles(category) {
+ return this.editForm.annexfilesList.filter(item => {
+ const type = item.fileType || "";
+ if (category === "鏈垎绫�") {
+ return !this.presetCategories.includes(type);
+ }
+ return type === category;
+ });
+ },
+ // 鏇存柊闄勪欢鍒嗙被锛堜笅鎷変慨鏀规椂瑙﹀彂锛�
+ updateAttachmentCategory(row, newVal) {
+ const target = this.editForm.annexfilesList.find(item => item === row);
+ if (target) {
+ target.fileType = newVal; // 鍙兘涓虹┖瀛楃涓�
+ // 鍚屾鏇存柊 attachmentFileList
+ const fileItem = this.attachmentFileList.find(f => f.raw === row);
+ if (fileItem) {
+ fileItem.raw.fileType = newVal;
+ fileItem.fileType = newVal || "鏈垎绫�";
+ }
+ // 鍙�夛細濡傛灉褰撳墠婵�娲荤殑tab娌℃湁鏂囦欢浜嗭紝鑷姩鍒囨崲鍒扮涓�涓湁鏂囦欢鐨則ab
+ const currentTabHasFiles =
+ this.getCategoryFiles(this.activeTab).length > 0;
+ if (!currentTabHasFiles) {
+ const firstCategory = this.categories[0];
+ if (firstCategory) this.activeTab = firstCategory;
+ }
+ }
+ },
+ // 鎸夋枃浠跺璞″垹闄わ紙鐢ㄤ簬琛ㄦ牸涓殑鍒犻櫎鎸夐挳锛�
+ handleRemoveAttachmentByFile(file) {
+ const index = this.editForm.annexfilesList.findIndex(
+ item => item === file
+ );
+ if (index > -1) {
+ this.editForm.annexfilesList.splice(index, 1);
+ // 鍚屾鍒犻櫎 attachmentFileList
+ const fileIndex = this.attachmentFileList.findIndex(
+ f => f.raw === file || f.url === file.fileUrl
+ );
+ if (fileIndex > -1) {
+ this.attachmentFileList.splice(fileIndex, 1);
+ }
+ this.$message.success("闄勪欢鍒犻櫎鎴愬姛");
+ }
+ },
/** 缂栬緫鎸夐挳鎿嶄綔 */
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;
-
- // 澶勭悊闄勪欢
+ // 纭繚闄勪欢閮芥湁 fileType 瀛楁锛岄粯璁や负绌哄瓧绗︿覆
if (data.annexfilesList) {
+ data.annexfilesList = data.annexfilesList.map(item => ({
+ ...item,
+ fileType: item.fileType || ""
+ }));
this.attachmentFileList = this.parseAttachmentToFileList(
data.annexfilesList
);
} else {
this.attachmentFileList = [];
}
-
+ if (data.registerprovincename) {
+ this.residenceAddress = {
+ sheng: data.residenceprovincename,
+ shi: data.residencecountyname,
+ qu: data.residencetownname
+ };
+ }
+ // 鎴风睄鍦板潃
+ if (data.residenceprovincename) {
+ this.registerAddress = {
+ sheng: data.registerprovincename,
+ shi: data.registercityname,
+ qu: data.registertownname
+ };
+ }
this.currentCase = data;
this.editForm = { ...data };
- this.editForm.idcardtype = this.editForm.idcardtype.toString();
+ this.editForm.idcardtype = this.editForm.idcardtype?.toString() ?? "";
console.log(this.editForm.idcardtype);
this.editForm.infectious = this.editForm.infectious
.split(",")
@@ -1372,7 +1089,12 @@
this.$modal.msgError("鑾峰彇璁板綍澶辫触");
}
},
-
+ hasApprovedSelected() {
+ if (!this.ids || this.ids.length === 0) return false;
+ return this.caseList.some(
+ item => this.ids.includes(item.id) && item.reportStatus === "3"
+ );
+ },
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
this.isEditing = false;
@@ -1392,7 +1114,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) {
@@ -1406,7 +1131,7 @@
this.currentCase = row;
this.approveForm.id = row.id;
this.approveForm.approveResult = "3";
- this.approveForm.approveOpinion = "";
+ this.approveForm.confirmResult = "";
this.approveOpen = true;
this.$modal.msgError("鑾峰彇璇︽儏澶辫触锛屼絾宸叉墦寮�纭绐楀彛");
}
@@ -1416,21 +1141,66 @@
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 = "0"; // 椹冲洖鐨勬渚嬫爣璁颁负宸叉崘鐚�
+ }
+
+ // 淇濆瓨妗堜緥纭淇℃伅
+ 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);
@@ -1440,19 +1210,62 @@
}
},
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 - 淇敼锛屽鍔犲凡鍚屾剰鏍¢獙 */
async handleDelete(row) {
- const ids = row.id || this.ids;
+ console.log(this.ids, "1");
+ console.log(row, "2");
+
+ let ids = this.ids;
+ console.log(ids);
+
+ const deleteItems = this.caseList.filter(item => ids.includes(item.id));
+
+ // 妫�鏌ユ槸鍚︽湁宸插悓鎰忕殑妗堜緥
+ const approvedItems = deleteItems.filter(
+ item => item.reportStatus === "3"
+ );
+ if (approvedItems.length > 0) {
+ const names = approvedItems.map(item => item.caseNo).join(",");
+ this.$modal.msgWarning(`宸插悓鎰忕殑妗堜緥涓嶅彲鍒犻櫎锛�${names}`);
+ return;
+ }
+
try {
await this.$modal.confirm(
- '鏄惁纭鍒犻櫎妗堜緥缂栧彿涓�"' + ids + '"鐨勬暟鎹」锛�'
+ '鏄惁纭鍒犻櫎娼滃湪鎹愮尞鑰呬负"' + ids.join(",") + '"鐨勬暟鎹」锛�'
);
- await donateDel(ids);
- this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+
+ // 閫愪釜鍒犻櫎锛屼竴涓渚嬭皟鐢ㄤ竴娆″垹闄ゆ帴鍙�
+ let successCount = 0;
+ let failCount = 0;
+ let failIds = [];
+
+ for (const id of ids) {
+ try {
+ await donateDel(id);
+ successCount++;
+ } catch (error) {
+ console.error(`鍒犻櫎ID ${id} 澶辫触:`, error);
+ failCount++;
+ failIds.push(id);
+ }
+ }
+
+ // 鏄剧ず鍒犻櫎缁撴灉
+ if (failCount === 0) {
+ this.$modal.msgSuccess(`鎴愬姛鍒犻櫎 ${successCount} 涓渚媊);
+ } else {
+ this.$modal.msgWarning(
+ `鎴愬姛鍒犻櫎 ${successCount} 涓渚嬶紝${failCount} 涓渚嬪垹闄ゅけ璐ワ紙ID: ${failIds.join(
+ ","
+ )}锛塦
+ );
+ }
+
this.getList();
} catch (error) {
if (error !== "cancel") {
- console.error("鍒犻櫎澶辫触:", error);
+ console.error("鍒犻櫎鎿嶄綔鍙栨秷鎴栧け璐�:", error);
this.$modal.msgError("鍒犻櫎澶辫触");
}
}
@@ -1498,6 +1311,8 @@
infectious: undefined,
infectiousOther: undefined,
isTransport: "1",
+ isDonate: "0", // 鏂板锛氭槸鍚︽崘鐚�
+ rejectType: undefined, // 鏂板锛氶┏鍥炲師鍥�
// 鍖婚櫌淇℃伅
treatmenthospitalname: undefined,
treatmentdeptname: undefined,
@@ -1527,15 +1342,17 @@
/** 闄勪欢杞崲 */
parseAttachmentToFileList(attachments) {
- if (!attachments || !Array.isArray(attachments)) return [];
- return attachments.map((item, index) => ({
- uid: item.id || `attachment-${index}-${Date.now()}`,
- name: item.fileName,
- url: item.path || item.fileUrl,
- status: "success",
- raw: item
- }));
- },
+ if (!attachments || !Array.isArray(attachments)) return [];
+ return attachments.map((item, index) => ({
+ uid: item.id || `attachment-${index}-${Date.now()}`,
+ name: item.fileName,
+ url: item.path || item.fileUrl,
+ status: 'success',
+ raw: item,
+ fileType: item.fileType || '' // 绌哄瓧绗︿覆琛ㄧず鏈垎绫�
+ }));
+}
+,
/** 闄勪欢鍙樺寲澶勭悊 */
handleAttachmentChange(fileList) {
@@ -1544,24 +1361,35 @@
/** 闄勪欢涓婁紶鎴愬姛澶勭悊 */
handleUploadSuccess({ file, fileList, response }) {
- if (response && response.code === 200) {
- if (!this.editForm.annexfilesList) {
- this.editForm.annexfilesList = [];
- }
- const attachmentObj = {
- fileName: file.name,
- path: response.data || file.url,
- fileUrl: response.data || file.url,
- type: this.getFileExtension(file.name),
- createTime: dayjs().format("YYYY-MM-DD HH:mm:ss"),
- remart: file.raw?.remart || "",
- caseNo: this.editForm.caseNo
- };
-
- this.editForm.annexfilesList.push(attachmentObj);
- this.$message.success("鏂囦欢涓婁紶鎴愬姛");
- }
- },
+ if (response && response.code == 200) {
+ if (!this.editForm.annexfilesList) {
+ this.editForm.annexfilesList = [];
+ }
+ // 鏍规嵁褰撳墠婵�娲荤殑 Tab 鍐冲畾鍒嗙被锛堟湭鍒嗙被 Tab 瀵瑰簲绌哄瓧绗︿覆锛�
+ const category = this.activeTab === '鏈垎绫�' ? '' : this.activeTab;
+ const attachmentObj = {
+ fileName: file.name,
+ path: response.data || file.url,
+ fileUrl: response.data || file.url,
+ type: this.getFileExtension(file.name),
+ createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
+ remart: file.raw?.remart || '',
+ caseNo: this.editForm.caseNo,
+ fileType: category // 浣跨敤 activeTab 鍐冲畾
+ };
+ this.editForm.annexfilesList.push(attachmentObj);
+ // 鍚屾鏇存柊 attachmentFileList
+ this.attachmentFileList.push({
+ uid: attachmentObj.path,
+ name: attachmentObj.fileName,
+ url: attachmentObj.path,
+ status: 'success',
+ raw: attachmentObj,
+ fileType: category
+ });
+ this.$message.success('鏂囦欢涓婁紶鎴愬姛');
+ }
+},
/** 闄勪欢涓婁紶閿欒澶勭悊 */
handleUploadError({ file, fileList, error }) {
@@ -1573,7 +1401,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);
@@ -1659,7 +1487,15 @@
this.$refs.editForm && this.$refs.editForm.clearValidate();
});
},
-
+ goToTransportDetail(name) {
+ this.$router.push({
+ path: "/report/transfer",
+ query: {
+ autoCreate: "true",
+ patName: name
+ }
+ });
+ },
/** 淇濆瓨琛ㄥ崟 */
async handleSave() {
try {
@@ -1682,6 +1518,10 @@
requestData.infectious = requestData.infectious.join(",");
let response;
+ requestData.isDonate = requestData.isDonate
+ ? requestData.isDonate
+ : "0";
+
if (this.isEditing) {
response = await donateEdit(requestData);
} else {
@@ -1691,7 +1531,7 @@
response = await donateAdd(requestData);
}
- if (response.code === 200) {
+ if (response.code == 200) {
this.$message.success(this.isEditing ? "淇敼鎴愬姛" : "鏂板鎴愬姛");
this.handleEditClose();
this.getList();
@@ -1780,7 +1620,7 @@
}
/* 纭寮规鏍峰紡 */
-.approve-dialog >>> .el-dialog__body {
+.approve-dialog>>>.el-dialog__body {
padding: 0;
}
@@ -1788,6 +1628,51 @@
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