From 40382035e2e87b5c6813efd7e669b17a6a27be17 Mon Sep 17 00:00:00 2001 From: WXL (wul) <wl_5968728@163.com> Date: 星期一, 18 八月 2025 16:29:36 +0800 Subject: [PATCH] 你的提交信息 --- src/views/index.vue | 127 ++++++++++++++++++++++++++++++------------ 1 files changed, 91 insertions(+), 36 deletions(-) diff --git a/src/views/index.vue b/src/views/index.vue index 90b71a1..8b63e39 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -94,15 +94,30 @@ style="margin-left: 390px" @change="changes" > - <el-radio-button label="鍛�" @click="dyat = 7"></el-radio-button> <el-radio-button - label="鏈�" - @click="dyat = 30" + label="杩戜竴鍛�" + @click="dyat = 7" ></el-radio-button> <el-radio-button - label="骞�" - @click="dyat = 360" + label="杩戜竴鏈�" + @click="dyat = 31" ></el-radio-button> + <el-radio-button + label="杩戜竴骞�" + @click="dyat = 365" + ></el-radio-button> + <el-radio-button label="鑷畾涔�"> + <el-date-picker + v-if="radio1 === '鑷畾涔�'" + v-model="customDateRange" + type="daterange" + range-separator="鑷�" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" + value-format="yyyy-MM-dd" + @change="handleCustomDateChange" + ></el-date-picker> + </el-radio-button> </el-radio-group> </div> <!-- 涓儴绾挎�ф煴鐘跺浘 --> @@ -306,7 +321,7 @@ mypPieCharts: null, lastWidth: window.innerWidth, lastHeight: window.innerHeight, - radio1: "鍛�", + radio1: "杩戜竴鍛�", ticketStatistics: {}, timeTypeMap: { 鍛�: "day", @@ -330,6 +345,7 @@ SkuTop: [], cylinderSeries: [], cylinderXAxis: [], + customDateRange: [], // 鑷畾涔夋棩鏈熻寖鍥� dyat: 6, intervalId: null, }; @@ -343,17 +359,23 @@ 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]; + } return dayjs().format("YYYY-MM-DD"); }, endatd() { + if (this.radio1 === "鑷畾涔�" && this.customDateRange.length > 0) { + return this.customDateRange[0]; + } return dayjs().subtract(this.dyat, "day").format("YYYY-MM-DD"); }, }, created() { this.getTopdata(); this.getgraphdata(); - this.getranking(); + // this.getranking(); this.$nextTick(function () { this.myEcharts2(); this.getnodeCollect(); @@ -372,15 +394,35 @@ methods: { // 鏀瑰彉鏃堕棿浜嬩欢 changes() { - if (this.radio1 == "鍛�") { - this.dyat = 6; - } else if (this.radio1 == "鏈�") { - this.dyat = 30; - } else { - this.dyat = 364; + switch (this.radio1) { + case "杩戜竴鍛�": + this.dyat = 7; + break; + case "杩戜竴鏈�": + this.dyat = 30; + break; + case "杩戜竴骞�": + this.dyat = 365; + break; + case "鑷畾涔�": + // 鑷畾涔夋棩鏈熷鐞嗗湪handleCustomDateChange鏂规硶涓� + return; } + this.refreshData(); + }, + + // 澶勭悊鑷畾涔夋棩鏈熷彉鍖� + handleCustomDateChange(range) { + if (!range || range.length !== 2) return; + + this.customDateRange = range; + this.refreshData(); + }, + + // 缁熶竴鍒锋柊鏁版嵁鐨勬柟娉� + refreshData() { this.getgraphdata(); - this.getranking(); + // this.getranking(); this.getTopdata(); this.myEcharts2(); this.getnodeCollect(); @@ -461,12 +503,7 @@ let params = { startDate: this.endatd, endDate: this.statd, - timeType: - this.radio1 === "鍛�" - ? "day" - : this.radio1 === "鏈�" - ? "month" - : "year", + timeType: this.getTimeType() }; try { @@ -477,6 +514,28 @@ } catch (error) { console.error("鑾峰彇鍥捐〃鏁版嵁澶辫触:", error); } + }, + + // 鑾峰彇鏃堕棿绫诲瀷 + getTimeType() { + if (this.radio1 === "杩戜竴鍛�" || this.radio1 === "杩戜竴鏈�") { + return "day"; + } + + if (this.radio1 === "杩戜竴骞�") { + return "month"; + } + + // 鑷畾涔夋棩鏈熻寖鍥� + 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'); + + return diffDays > 60 ? "month" : "day"; + } + + return "day"; // 榛樿杩斿洖day绫诲瀷 }, processChartData(data) { // 鎸夋椂闂存帓搴忕‘淇濇暟鎹『搴忔纭� @@ -491,22 +550,18 @@ const pmoData = []; sortedData.forEach((item) => { - // 鏍规嵁鏃堕棿绫诲瀷鏍煎紡鍖栨樉绀� - let timeLabel = item.timePeriod; - if (this.radio1 === "鍛�") { - timeLabel = dayjs(item.timePeriod).format("MM-DD"); - } else if (this.radio1 === "鏈�") { - timeLabel = item.timePeriod.split("-")[1] + "鏈�"; - } else { - timeLabel = item.timePeriod.split("-")[0] + "骞�"; - } + // 鏍规嵁鏃堕棿绫诲瀷鏍煎紡鍖栨樉绀� + 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( -- Gitblit v1.9.3