From 5e3f064530fe71987e2a5920fe59967ef348cbd7 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期二, 19 八月 2025 14:14:28 +0800
Subject: [PATCH] 统计页面展示优化

---
 src/views/index.vue |   77 ++++++++++++++++++++++++++------------
 1 files changed, 53 insertions(+), 24 deletions(-)

diff --git a/src/views/index.vue b/src/views/index.vue
index 9bc65bb..ac2876e 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -21,7 +21,6 @@
               <el-col :span="10">
                 <div class="home-user-task-stats">
                   <p>{{ OutpatientData.rc }}</p>
-                  <p>{{ OutpatientData.rc }}</p>
                   <div class="text-color2">
                     <p>闂ㄨ瘖灏辫瘖閲忥紙浜烘锛�</p>
                   </div>
@@ -129,13 +128,18 @@
         </el-col>
         <!-- 鍙宠竟鍒楄〃 -->
         <el-col :span="4" class="aside">
-          <div class="grid-content bg-purple" style="margin-top: -180px">
+          <div class="grid-contentsa bg-purple" style="margin-top: -180px">
             <div class="title">
               绉戝鏈嶅姟閲�
               <span>{{ endatd }} ~ {{ statd }}</span>
             </div>
-            <div style="max-height: 690px; width: 100%; overflow: auto">
-              <el-table style="width: 100%" :data="SkuTop">
+            <div class="dept-table-container">
+              <el-table
+                v-if="SkuTop.length > 0"
+                style="width: 100%"
+                :data="SkuTop"
+                :height="tableHeight"
+              >
                 <template v-for="(item, index) in SkuTop"></template>
                 <el-table-column
                   prop="order"
@@ -145,7 +149,7 @@
                 ></el-table-column>
                 <el-table-column
                   prop="deptname"
-                  width="88"
+                  width="120"
                   class-name="name"
                 ></el-table-column>
 
@@ -153,24 +157,26 @@
                   <template slot-scope="scope"> {{ scope.row.rc }}娆� </template>
                 </el-table-column>
               </el-table>
+              <div v-else class="empty-tip">
+                <el-empty description="鏆傛棤绉戝鏈嶅姟鏁版嵁"></el-empty>
+              </div>
             </div>
           </div>
         </el-col>
       </el-row>
       <!-- 搴曢儴涓�涓� -->
       <el-row :gutter="20" style="margin-bottom: 20px">
-        <el-col :span="24">
+        <!-- <el-col :span="24">
           <div class="grid-content bg-purple" style="min-height: 300px">
             <div class="title">
               瀹f暀缁熻
               <span class="el-icon-s-unfold moreIcon"></span>
             </div>
             <div class="cooperate">
-              <!-- 鍚堜綔鍖哄煙 -->
               <div class="pieChart" id="pieCharts"></div>
             </div>
           </div>
-        </el-col>
+        </el-col> -->
         <!-- <el-col :span="9">
           <div class="grid-content bg-purple" style="min-height: 300px">
             <div class="title">
@@ -322,7 +328,7 @@
       mypPieCharts: null,
       lastWidth: window.innerWidth,
       lastHeight: window.innerHeight,
-      radio1: "杩戜竴鍛�",
+      radio1: "杩戜竴骞�",
       ticketStatistics: {},
       timeTypeMap: {
         鍛�: "day",
@@ -347,7 +353,7 @@
       cylinderSeries: [],
       cylinderXAxis: [],
       customDateRange: [], // 鑷畾涔夋棩鏈熻寖鍥�
-      dyat: 6,
+      dyat: 365,
       intervalId: null,
     };
   },
@@ -360,7 +366,7 @@
     atd() {
       return dayjs().subtract(this.dyat, "day").format("YYYY-MM-DD HH:mm:ss");
     },
-   statd() {
+    statd() {
       if (this.radio1 === "鑷畾涔�" && this.customDateRange.length > 0) {
         return this.customDateRange[1];
       }
@@ -371,6 +377,16 @@
         return this.customDateRange[0];
       }
       return dayjs().subtract(this.dyat, "day").format("YYYY-MM-DD");
+    },
+    tableHeight() {
+      // 鏍规嵁鏁版嵁閲忓姩鎬佽绠楅珮搴�
+      const rowHeight = 40; // 姣忚澶х害楂樺害
+      const headerHeight = 40; // 琛ㄥご楂樺害
+      const minHeight = 500; // 鏈�灏忛珮搴�
+      const maxHeight = 600; // 鏈�澶ч珮搴�
+
+      const calculatedHeight = this.SkuTop.length * rowHeight + headerHeight;
+      return Math.min(Math.max(calculatedHeight, minHeight), maxHeight);
     },
   },
   created() {
@@ -504,7 +520,7 @@
       let params = {
         startDate: this.endatd,
         endDate: this.statd,
-        timeType: this.getTimeType()
+        timeType: this.getTimeType(),
       };
 
       try {
@@ -531,7 +547,7 @@
       if (this.radio1 === "鑷畾涔�" && this.customDateRange.length === 2) {
         const start = dayjs(this.customDateRange[0]);
         const end = dayjs(this.customDateRange[1]);
-        const diffDays = end.diff(start, 'day');
+        const diffDays = end.diff(start, "day");
 
         return diffDays > 60 ? "month" : "day";
       }
@@ -551,18 +567,19 @@
       const pmoData = [];
 
       sortedData.forEach((item) => {
-  // 鏍规嵁鏃堕棿绫诲瀷鏍煎紡鍖栨樉绀�
-  const timeType = this.getTimeType();
-  const timeLabel = timeType === "day"
-    ? dayjs(item.timePeriod).format("MM-DD")
-    : dayjs(item.timePeriod).format("YYYY-MM");
+        // 鏍规嵁鏃堕棿绫诲瀷鏍煎紡鍖栨樉绀�
+        const timeType = this.getTimeType();
+        const timeLabel =
+          timeType === "day"
+            ? dayjs(item.timePeriod).format("MM-DD")
+            : dayjs(item.timePeriod).format("YYYY-MM");
 
-  xAxisData.push(timeLabel);
-  dischargeFollowData.push(item.dischargeFollowCount);
-  outpatientFollowData.push(item.outpatientFollowCount);
-  pmiData.push(item.pmiCount);
-  pmoData.push(item.pmoCount);
-});
+        xAxisData.push(timeLabel);
+        dischargeFollowData.push(item.dischargeFollowCount);
+        outpatientFollowData.push(item.outpatientFollowCount);
+        pmiData.push(item.pmiCount);
+        pmoData.push(item.pmoCount);
+      });
 
       // 鏇存柊鍥捐〃
       this.updateChart(
@@ -893,6 +910,12 @@
     flex: 1;
   }
 }
+.dept-table-container {
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  min-height: 0; /* 閲嶈锛氬厑璁稿唴瀹规敹缂� */
+}
 ::v-deep .el-table {
   td:first-child {
     .cell {
@@ -1150,6 +1173,12 @@
   padding: 0 10px;
   text-align: center;
 }
+.grid-contentsa {
+  min-height: 600px;
+  border-radius: 20px;
+  padding: 0 10px;
+  text-align: center;
+}
 
 .grid-contents {
   min-height: 36px;

--
Gitblit v1.9.3