From 4c9fdc87987140e8b2c3f0dfc2f6608cdb6be774 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期三, 21 十月 2026 17:39:24 +0800
Subject: [PATCH] 青岛维护

---
 src/views/statistics/components/OrganDetail.vue |   90 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 64 insertions(+), 26 deletions(-)

diff --git a/src/views/statistics/components/OrganDetail.vue b/src/views/statistics/components/OrganDetail.vue
index 6dfdb21..193b62d 100644
--- a/src/views/statistics/components/OrganDetail.vue
+++ b/src/views/statistics/components/OrganDetail.vue
@@ -8,36 +8,40 @@
       border
       stripe
     >
-      <el-table-column label="鍣ㄥ畼缂栧彿" prop="organNo" align="center"  />
-      <el-table-column label="鍣ㄥ畼鍚嶇О" prop="organName" align="center"  />
-      <el-table-column label="鎹愮尞鑰�" prop="donorName" align="center"  />
-      <el-table-column label="鍦板尯" prop="region" align="center"  />
-      <el-table-column label="骞翠唤" prop="year" align="center"  />
-      <el-table-column label="鍣ㄥ畼鐘舵��" prop="status" align="center" >
+      <el-table-column label="妗堜緥缂栧彿" prop="caseNo" align="center" />
+      <el-table-column label="鍣ㄥ畼鍚嶇О" prop="organName" align="center" />
+      <el-table-column label="鎹愮尞鑰�" prop="name" align="center" />
+      <el-table-column label="鍦板尯" prop="registerCountyName" align="center" />
+      <el-table-column label="骞翠唤" prop="donateYear" align="center" />
+      <el-table-column label="鍣ㄥ畼鐘舵��" align="center">
         <template slot-scope="{ row }">
-          <el-tag :type="getStatusTag(row.status)" size="small">
-            {{ getStatusText(row.status) }}
+          <el-tag :type="getStatusTag(row.transplantstate)" size="small">
+            {{ getStatusText(row.transplantstate) }}
           </el-tag>
         </template>
       </el-table-column>
-      <el-table-column label="鑾峰彇鏃堕棿" prop="acquisitionTime" align="center"  />
-      <el-table-column label="绉绘鏃堕棿" prop="transplantTime" align="center" >
+      <el-table-column label="鑾峰彇鏃堕棿" align="center">
         <template slot-scope="{ row }">
-          {{ row.transplantTime || '-' }}
+          {{ fmtTime(row.organGetTime || row.OrganGetTime) || '-' }}
         </template>
       </el-table-column>
-      <el-table-column label="寮冪敤鍘熷洜" prop="abandonReason" align="center" >
+      <el-table-column label="绉绘鏃堕棿" align="center">
         <template slot-scope="{ row }">
-          {{ row.abandonReason || '-' }}
+          {{ fmtTime(row.transplantTime || row.TransplantTime) || '-' }}
         </template>
       </el-table-column>
-      <el-table-column label="鍙椾綋濮撳悕" prop="recipientName" align="center" >
+      <el-table-column label="寮冪敤鍘熷洜" align="center">
         <template slot-scope="{ row }">
-          {{ row.recipientName || '-' }}
+          {{ row.notgetreason || '-' }}
         </template>
       </el-table-column>
-      <el-table-column label="绉绘鍖婚櫌" prop="hospital" align="center" />
-      <el-table-column label="鎿嶄綔鍖荤敓" prop="doctor" align="center"  />
+      <el-table-column label="鍙椾綋濮撳悕" align="center">
+        <template slot-scope="{ row }">
+          {{ row.transplantName || '-' }}
+        </template>
+      </el-table-column>
+      <el-table-column label="绉绘鍖婚櫌" prop="hospitalName" align="center" />
+      <el-table-column label="鎿嶄綔鍖荤敓" prop="transplantDoct" align="center" />
     </el-table>
 
     <div style="text-align: center; margin-top: 20px;">
@@ -47,9 +51,14 @@
 </template>
 
 <script>
+import { organList as getOrganList } from '@/api/businessApi';
+import { toTotalsList } from '@/utils/totals';
+import statisticsMode from '@/utils/statisticsMode';
+
 export default {
   name: 'OrganDetail',
   props: {
+    // 浼犲叆 opo缁熻 鏌ヨ瀵硅薄锛歿 area, startTime, endTime, organName }锛屾椂闂磋寖鍥寸簿纭埌澶�(yyyy-MM-dd)
     query: {
       type: Object,
       default: () => ({})
@@ -58,23 +67,52 @@
   data() {
     return {
       loading: false,
-      organList: [
-        { organNo: 'O202401001', organName: '鍏ㄨ倽', donorName: '寮犱笁', region: '闈掑矝鍦板尯', year: '2024', status: 'transplanted', acquisitionTime: '2024-01-15 10:30', transplantTime: '2024-01-15 12:45', abandonReason: '', recipientName: '鐜嬫槑', hospital: '闈掑矝澶у闄勫睘鍖婚櫌', doctor: '鏉庡尰鐢�' },
-        { organNo: 'O202401002', organName: '宸﹁偩', donorName: '寮犱笁', region: '闈掑矝鍦板尯', year: '2024', status: 'transplanted', acquisitionTime: '2024-01-15 10:30', transplantTime: '2024-01-15 13:20', abandonReason: '', recipientName: '闄堝己', hospital: '闈掑矝甯傜珛鍖婚櫌', doctor: '寮犲尰鐢�' },
-        { organNo: 'O202401003', organName: '鍙宠偩', donorName: '寮犱笁', region: '闈掑矝鍦板尯', year: '2024', status: 'transplanted', acquisitionTime: '2024-01-15 10:30', transplantTime: '2024-01-15 13:50', abandonReason: '', recipientName: '鍒樹紵', hospital: '闈掑矝甯備腑蹇冨尰闄�', doctor: '鐜嬪尰鐢�' },
-        { organNo: 'O202401004', organName: '鍏ㄨ倽', donorName: '鏉庡洓', region: '闈掑矝鍦板尯', year: '2024', status: 'abandoned', acquisitionTime: '2024-01-20 14:20', transplantTime: null, abandonReason: '鍣ㄥ畼璐ㄩ噺涓嶅悎鏍�', recipientName: '', hospital: '闈掑矝甯傜珛鍖婚櫌', doctor: '寮犲尰鐢�' },
-        { organNo: 'O202401005', organName: '蹇冭剰', donorName: '鏉庡洓', region: '闈掑矝鍦板尯', year: '2024', status: 'transplanted', acquisitionTime: '2024-01-20 14:20', transplantTime: '2024-01-20 15:30', abandonReason: '', recipientName: '璧靛垰', hospital: '闈掑矝甯傜珛鍖婚櫌', doctor: '寮犲尰鐢�' }
-      ]
+      organList: []
     };
   },
+  watch: {
+    query: {
+      immediate: true,
+      deep: true,
+      handler() {
+        this.load();
+      }
+    }
+  },
+  created() {
+    // 鏁版嵁婧�(mock/鐪熷疄鎺ュ彛)鍒囨崲鏃堕噸鏂板姞杞�
+    this.$watch(() => statisticsMode.useMock, () => this.load());
+  },
   methods: {
+    load() {
+      this.loading = true;
+      getOrganList(this.query || {})
+        .then((res) => {
+          this.organList = toTotalsList(res);
+        })
+        .catch(() => {
+          this.organList = [];
+        })
+        .finally(() => {
+          this.loading = false;
+        });
+    },
+
+    // 鍣ㄥ畼鐘舵�侊細1宸茬Щ妞� 2搴撳瓨 3寮冪敤
     getStatusTag(status) {
-      const map = { transplanted: 'success', abandoned: 'danger', pending: 'warning' };
+      const map = { 1: 'success', 2: 'warning', 3: 'danger' };
       return map[status] || 'info';
     },
     getStatusText(status) {
-      const map = { transplanted: '宸茬Щ妞�', abandoned: '宸插純鐢�', pending: '寰呯Щ妞�' };
+      const map = { 1: '宸茬Щ妞�', 2: '搴撳瓨', 3: '寮冪敤' };
       return map[status] || '鏈煡';
+    },
+
+    // 鏃堕棿瀛楃涓茬粺涓�鎴� yyyy-MM-dd HH:mm
+    fmtTime(value) {
+      if (!value) return '';
+      const s = String(value).replace('T', ' ');
+      return s.length > 16 ? s.substring(0, 16) : s.substring(0, 10);
     }
   }
 };

--
Gitblit v1.9.3