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