From 9b2c74ee4f08fad01c2a16bc6e36df073bfa1dd5 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 24 四月 2026 09:12:13 +0800
Subject: [PATCH] 推送

---
 src/views/business/appear/index.vue |  148 ++++++++++++++++++++++++++-----------------------
 1 files changed, 78 insertions(+), 70 deletions(-)

diff --git a/src/views/business/appear/index.vue b/src/views/business/appear/index.vue
index 4c578c3..18fc743 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>
@@ -984,7 +979,7 @@
       caseList: [],
       // 璇︽儏寮规鏄惁鏄剧ず
       detailOpen: false,
-      // 瀹℃壒寮规鏄惁鏄剧ず
+      // 纭寮规鏄惁鏄剧ず
       approveOpen: false,
       // 缂栬緫寮规鏄惁鏄剧ず
       editOpen: false,
@@ -1002,19 +997,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" }
         ]
       },
       // 缂栬緫琛ㄥ崟
@@ -1025,7 +1020,7 @@
           { required: true, message: "璇疯緭鍏ユ渚嬬紪鍙�", trigger: "blur" }
         ],
         name: [
-          { required: true, message: "璇疯緭鍏ユ崘鐚�呭鍚�", trigger: "blur" }
+          { required: true, message: "璇疯緭鍏ユ偅鑰呭鍚�", trigger: "blur" }
         ],
         sex: [{ required: true, message: "璇烽�夋嫨鎬у埆", trigger: "change" }],
         age: [{ required: true, message: "璇疯緭鍏ュ勾榫�", trigger: "blur" }],
@@ -1052,7 +1047,7 @@
     statusFilter(reportStatus) {
       const statusMap = {
         "1": "info", // 宸蹭笂鎶�
-        "2": "warning", // 宸查槄璇伙紙寰呭鎵癸級
+        "2": "warning", // 宸查槄璇伙紙寰呯‘璁わ級
         "3": "success", // 宸插悓鎰�
         "4": "danger" // 宸查┏鍥�
       };
@@ -1112,12 +1107,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 +1160,7 @@
         }
         return "primary"; // 鏈夎浆杩愪俊鎭絾鏃犵姸鎬�
       }
-      return "danger"; // 闇�瑕佽浆杩愪絾鏃犺浆杩愪俊鎭�
+      return "success"; // 闇�瑕佽浆杩愪絾鏃犺浆杩愪俊鎭�
     },
 
     /** 鑾峰彇杞繍鐘舵�佹枃鏈� */
@@ -1197,7 +1209,7 @@
           ) {
             // 宸叉湁杞繍鍗曪紝璺宠浆鍒拌浆杩愬崟璇︽儏椤�
             const transport = caseData.serviceTransport[0];
-            this.goToTransportDetail(transport.id, row.caseNo);
+            this.goToTransportDetail(transport.id, row.name);
           } else {
             // 娌℃湁杞繍鍗曪紝璺宠浆鍒板垱寤鸿浆杩愬崟椤甸潰
             this.goToCreateTransport(row);
@@ -1213,12 +1225,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 +1239,6 @@
           treatmentHospitalName: caseData.treatmenthospitalname
         }
       });
-
-      // 鏂瑰紡2锛氬湪褰撳墠椤甸潰鎵撳紑寮规锛堟帹鑽愶級
-      // this.openTransportDialog(caseData);
     },
 
     /** 鎵撳紑杞繍鍗曞脊妗� */
@@ -1265,12 +1273,12 @@
     },
 
     /** 璺宠浆鍒拌浆杩愬崟璇︽儏椤� */
-    goToTransportDetail(transportId, caseNo) {
+    goToTransportDetail(transportId, name) {
       this.$router.push({
         path: "/report/transfer",
         query: {
-          id: transportId,
-          caseNo: caseNo
+          autoCreate: "true",
+          patName: name
         }
       });
     },
@@ -1380,7 +1388,7 @@
       });
     },
 
-    /** 瀹℃壒鎸夐挳鎿嶄綔 */
+    /** 纭鎸夐挳鎿嶄綔 */
     async handleApprove(row) {
       try {
         const response = await donateInfo(row.id);
@@ -1404,11 +1412,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 +1432,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("纭澶辫触");
         }
       }
     },
@@ -1774,7 +1782,7 @@
   white-space: nowrap;
 }
 
-/* 瀹℃壒寮规鏍峰紡 */
+/* 纭寮规鏍峰紡 */
 .approve-dialog >>> .el-dialog__body {
   padding: 0;
 }

--
Gitblit v1.9.3