From dc082351978a1e9f75d7a1471a0ca7ebeac552a5 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期一, 01 六月 2026 11:07:50 +0800
Subject: [PATCH] opo维护

---
 src/views/business/transfer/index.vue |  129 ++++++++++++++++++++++++++++--------------
 1 files changed, 86 insertions(+), 43 deletions(-)

diff --git a/src/views/business/transfer/index.vue b/src/views/business/transfer/index.vue
index f36d0c5..cb73d73 100644
--- a/src/views/business/transfer/index.vue
+++ b/src/views/business/transfer/index.vue
@@ -8,7 +8,7 @@
         :inline="true"
         label-width="80px"
       >
-        <el-form-item label="妗堜緥缂栧彿" prop="caseNo">
+        <el-form-item label="涓婃姤鍖婚櫌" prop="caseNo">
           <el-input
             v-model="queryParams.caseNo"
             placeholder="璇疯緭鍏ユ渚嬬紪鍙�"
@@ -17,7 +17,7 @@
             @keyup.enter.native="handleQuery"
           />
         </el-form-item>
-        <el-form-item label="鎮h�呭鍚�" prop="patName">
+        <el-form-item label="濮撳悕" prop="patName">
           <el-input
             v-model="queryParams.patName"
             placeholder="璇疯緭鍏ユ偅鑰呭鍚�"
@@ -41,7 +41,7 @@
             <el-option label="鏆傚瓨" :value="5" />
           </el-select>
         </el-form-item>
-        <el-form-item label="鍒涘缓鏃堕棿">
+        <el-form-item label="杞繍鏃堕棿">
           <el-date-picker
             v-model="dateRange"
             style="width: 240px"
@@ -149,24 +149,7 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="搴忓彿" type="index" width="60" align="center" />
 
-      <el-table-column
-        label="妗堜緥缂栧彿"
-        align="center"
-        prop="caseNo"
-        width="140"
-      />
-      <el-table-column
-        label="杞繍鐘舵��"
-        align="center"
-        prop="transitStatus"
-        width="100"
-      >
-        <template slot-scope="scope">
-          <el-tag :type="getStatusTagType(scope.row.transitStatus)">
-            {{ getStatusText(scope.row.transitStatus) }}
-          </el-tag>
-        </template>
-      </el-table-column>
+      <el-table-column label="缂栧彿" align="center" prop="caseNo" width="140" />
       <el-table-column label="鎮h�呬俊鎭�" align="center" width="260">
         <template slot-scope="scope">
           <div class="donor-info">
@@ -189,11 +172,17 @@
         show-overflow-tooltip
       />
       <el-table-column
-        label="娌荤枟鍖婚櫌"
+        label="杞繍鐘舵��"
         align="center"
-        prop="treatmentHospitalName"
-        width="150"
-      />
+        prop="transitStatus"
+        width="100"
+      >
+        <template slot-scope="scope">
+          <el-tag :type="getStatusTagType(scope.row.transitStatus)">
+            {{ getStatusText(scope.row.transitStatus) }}
+          </el-tag>
+        </template>
+      </el-table-column>
       <el-table-column
         label="璁″垝杞繍鏃堕棿"
         align="center"
@@ -201,12 +190,18 @@
         width="160"
       />
       <el-table-column
-        label="璐熻矗鍗忚皟鍛�"
+        label="鍗忚皟鍛�"
         align="center"
         prop="contactPerson"
         width="100"
       />
 
+      <el-table-column
+        label="涓婃姤鍖婚櫌"
+        align="center"
+        prop="treatmentHospitalName"
+        width="150"
+      />
       <el-table-column
         label="鍒涘缓鏃堕棿"
         align="center"
@@ -222,34 +217,49 @@
       >
         <template slot-scope="scope">
           <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-view"
+            size="small"
+            type="primary"
             @click="handleDetail(scope.row)"
             >璇︽儏</el-button
           >
           <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-edit"
+            size="small"
+            type="primary"
+            style="margin-bottom: 10px;"
+            plain
             @click="handleUpdate(scope.row)"
             >缂栬緫</el-button
           >
           <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-video-play"
+            size="small"
+            type="primary"
+            plain
             @click="handleStartTransport(scope.row)"
             v-if="scope.row.transitStatus === 1"
             >寮�濮嬭浆杩�</el-button
           >
           <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-check"
+            size="small"
+            type="success"
+            plain
             @click="handleCompleteTransport(scope.row)"
             v-if="scope.row.transitStatus === 2"
             >瀹屾垚杞繍</el-button
+          ><el-button
+            size="small"
+            type="danger"
+            plain
+            @click="cancelTransport(scope.row)"
+            v-if="scope.row.transitStatus === 2"
+            >鍙栨秷杞繍</el-button
+          >
+          <el-button
+            size="small"
+            type="warning"
+            plain
+            @click="recoverTransport(scope.row)"
+            v-if="scope.row.transitStatus === 4"
+            >鎭㈠杞繍</el-button
           >
         </template>
       </el-table-column>
@@ -430,7 +440,9 @@
       append-to-body
     >
       <div class="action-confirm">
-        <p>纭畾瑕亄{ actionText }}杞繍鍗� "{{ currentTransport.id }}" 鍚楋紵</p>
+        <p>
+          纭畾瑕亄{ actionText }}杞繍鍗� "{{ currentTransport.patName }}" 鍚楋紵
+        </p>
       </div>
       <div slot="footer" class="dialog-footer">
         <el-button @click="actionOpen = false">鍙� 娑�</el-button>
@@ -447,7 +459,9 @@
   transportEdit,
   transportDel,
   transportInfo,
-  donateList
+  donateInfo,
+  donateList,
+  donateEdit
 } from "@/api/businessApi/index";
 import TransportDetail from "./transportDetail";
 import TransportEdit from "./TransportEdit";
@@ -665,6 +679,8 @@
         // 鍏朵粬瀛楁鍙互鏍规嵁闇�瑕佷粠妗堜緥涓幏鍙�
         transportStartPlace: caseData.treatmenthospitalname || "",
         contactPerson: caseData.coordinatorName || "",
+        icuDoctor: caseData.icuDoctor,
+        icuDoctorPhone: caseData.icuDoctorPhone,
         transitStatus: 1, // 榛樿寰呰浆杩�
         // 娓呯┖鍏朵粬瀛楁
         id: undefined,
@@ -794,25 +810,52 @@
       this.actionTitle = "瀹屾垚杞繍";
       this.actionText = "瀹屾垚";
       this.actionOpen = true;
+    } /** 瀹屾垚杞繍鎿嶄綔 */,
+    async cancelTransport(row) {
+      this.currentTransport = row;
+      this.actionTitle = "鍙栨秷杞繍";
+      this.actionText = "鍙栨秷";
+      this.actionOpen = true;
+    } /** 瀹屾垚杞繍鎿嶄綔 */,
+    async recoverTransport(row) {
+      this.currentTransport = row;
+      this.actionTitle = "鎭㈠杞繍";
+      this.actionText = "鎭㈠";
+      this.actionOpen = true;
     },
 
     /** 纭鎿嶄綔 */
     async confirmAction() {
       try {
         let requestData = {
-          id: this.currentTransport.id
+          ...this.currentTransport
         };
 
         if (this.actionText === "寮�濮�") {
           requestData.transitStatus = 2; // 璁剧疆涓鸿浆杩愪腑
         } else if (this.actionText === "瀹屾垚") {
           requestData.transitStatus = 3; // 璁剧疆涓鸿浆杩愬畬鎴�
+        } else if (this.actionText === "鍙栨秷") {
+          requestData.transitStatus = 4; // 璁剧疆涓鸿浆杩愬彇娑�
+        } else if (this.actionText === "鎭㈠") {
+          requestData.transitStatus = 2; // 璁剧疆涓鸿浆杩愪腑
         }
-
+        requestData.annexfilesList.forEach(item => {
+          item.id = null;
+        });
         const response = await transportEdit(requestData);
 
-        if (response.code === 200) {
+        if (response.code == 200) {
           this.$modal.msgSuccess(`${this.actionText}杞繍鎴愬姛`);
+          if (requestData.transitStatus == 3) {
+            const resappear = await donateInfo(requestData.reportId);
+            if (resappear.code) {
+              let obj = resappear.data;
+              obj.isDonate = 1;
+              await donateEdit(obj);
+              this.$modal.msgSuccess(`瀵瑰簲涓婃姤妗堜緥宸茶繘鍏ユ寮忔渚嬫祦绋媊);
+            }
+          }
           this.getList();
         } else {
           this.$modal.msgError(response.msg || `${this.actionText}杞繍澶辫触`);

--
Gitblit v1.9.3