From 75f043dfa6660716364e66ee0b3cf99f44255686 Mon Sep 17 00:00:00 2001 From: DYL0109 <dn18191638832@163.com> Date: 星期三, 16 四月 2025 19:20:36 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/develop1.0' into dyl_dev --- zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue | 331 +++++++++++++++--------------------------------------- 1 files changed, 94 insertions(+), 237 deletions(-) diff --git a/zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue b/zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue index 7acba9e..80012c8 100644 --- a/zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue +++ b/zhitan-vue/src/views/peakvalley/timeSharing/timeSharing.vue @@ -17,24 +17,16 @@ /> </el-form-item> <el-form-item> - <el-button type="primary" icon="Search" @click="handleQuery"> - 鎼滅储 - </el-button> + <el-button type="primary" icon="Search" @click="handleQuery"> 鎼滅储 </el-button> <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button> </el-form-item> <el-form-item> - <el-button type="primary" icon="Download" @click="handleExport"> - 瀵煎嚭 - </el-button> + <el-button type="primary" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button> </el-form-item> </el-form> </div> <div - style=" - height: calc(100vh - 205px) !important; - max-height: calc(100vh - 205px) !important; - overflow-y: auto; - " + style="height: calc(100vh - 205px) !important; max-height: calc(100vh - 205px) !important; overflow-y: auto" v-loading="loading" > <el-row> @@ -55,16 +47,8 @@ <el-col :span="24"> <BaseCard :title="queryParams.nodeName + '-宄板钩璋峰垎鏃剁粺璁�'"> <div class="table-box"> - <el-table - :data="timeSharingList" - style="width: 100%" - show-summary - > - <el-table-column - label="鏃堕棿" - align="center" - show-overflow-tooltip - > + <el-table :data="timeSharingList" style="width: 100%" show-summary> + <el-table-column label="鏃堕棿" align="center" show-overflow-tooltip> <template #default="scope"> {{ proxy.dayjs(scope.row.time).format("HH鏃�") }} </template> @@ -77,12 +61,7 @@ show-overflow-tooltip width="120" /> - <el-table-column - prop="sharpFee" - label="鐢佃垂(鍏�)" - align="center" - show-overflow-tooltip - /> + <el-table-column prop="sharpFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip /> </el-table-column> <el-table-column label="宄�" align="center"> <el-table-column @@ -92,12 +71,7 @@ show-overflow-tooltip width="120" /> - <el-table-column - prop="peakFee" - label="鐢佃垂(鍏�)" - align="center" - show-overflow-tooltip - /> + <el-table-column prop="peakFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip /> </el-table-column> <el-table-column label="骞�" align="center"> <el-table-column @@ -107,12 +81,7 @@ show-overflow-tooltip width="120" /> - <el-table-column - prop="flatFee" - label="鐢佃垂(鍏�)" - align="center" - show-overflow-tooltip - /> + <el-table-column prop="flatFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip /> </el-table-column> <el-table-column label="璋�" align="center"> <el-table-column @@ -122,12 +91,7 @@ show-overflow-tooltip width="120" /> - <el-table-column - prop="valleyFee" - label="鐢佃垂(鍏�)" - align="center" - show-overflow-tooltip - /> + <el-table-column prop="valleyFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip /> </el-table-column> <el-table-column label="鍚堣" align="center"> <el-table-column @@ -137,12 +101,7 @@ show-overflow-tooltip width="120" /> - <el-table-column - prop="totalFee" - label="鎬荤數璐�(鍏�)" - align="center" - show-overflow-tooltip - /> + <el-table-column prop="totalFee" label="鎬荤數璐�(鍏�)" align="center" show-overflow-tooltip /> </el-table-column> <!-- <el-table-column label="鎿嶄綔" align="center"> <template #default="scope"> @@ -159,84 +118,27 @@ </div> </div> </div> - <el-dialog - v-model="timeSharingDialogTableVisible" - title="鏌ョ湅鍒嗘椂缁熻璇︽儏" - width="1300" - > + <el-dialog v-model="timeSharingDialogTableVisible" title="鏌ョ湅鍒嗘椂缁熻璇︽儏" width="1300"> <div class="table-box"> - <el-table :data="viewTimeSharingList" style="width: 100%" height="420"> - <el-table-column - label="鏃堕棿" - align="center" - show-overflow-tooltip - width="200" - > + <el-table :data="viewTimeSharingList" style="width: 100%" height="420" border> + <el-table-column label="鏃堕棿" align="center" show-overflow-tooltip width="200"> <template #default="scope"> {{ scope.row.time }}鏃� </template> </el-table-column> <el-table-column label="灏�" align="center"> - <el-table-column - prop="sharpPower" - label="鑰楃數閲�(kWh)" - align="center" - show-overflow-tooltip - width="120" - /> - <el-table-column - prop="sharpFee" - label="鐢佃垂(鍏�)" - align="center" - show-overflow-tooltip - width="90" - /> + <el-table-column prop="sharpPower" label="鑰楃數閲�(kWh)" align="center" show-overflow-tooltip width="120" /> + <el-table-column prop="sharpFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip width="90" /> </el-table-column> <el-table-column label="宄�" align="center"> - <el-table-column - prop="peakPower" - label="鑰楃數閲�(kWh)" - align="center" - show-overflow-tooltip - width="120" - /> - <el-table-column - prop="peakFee" - label="鐢佃垂(鍏�)" - align="center" - show-overflow-tooltip - width="90" - /> + <el-table-column prop="peakPower" label="鑰楃數閲�(kWh)" align="center" show-overflow-tooltip width="120" /> + <el-table-column prop="peakFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip width="90" /> </el-table-column> <el-table-column label="骞�" align="center"> - <el-table-column - prop="flatPower" - label="鑰楃數閲�(kWh)" - align="center" - show-overflow-tooltip - width="120" - /> - <el-table-column - prop="flatFee" - label="鐢佃垂(鍏�)" - align="center" - show-overflow-tooltip - width="90" - /> + <el-table-column prop="flatPower" label="鑰楃數閲�(kWh)" align="center" show-overflow-tooltip width="120" /> + <el-table-column prop="flatFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip width="90" /> </el-table-column> <el-table-column label="璋�" align="center"> - <el-table-column - prop="valleyPower" - label="鑰楃數閲�(kWh)" - align="center" - show-overflow-tooltip - width="120" - /> - <el-table-column - prop="valleyFee" - label="鐢佃垂(鍏�)" - align="center" - show-overflow-tooltip - width="90" - /> + <el-table-column prop="valleyPower" label="鑰楃數閲�(kWh)" align="center" show-overflow-tooltip width="120" /> + <el-table-column prop="valleyFee" label="鐢佃垂(鍏�)" align="center" show-overflow-tooltip width="90" /> </el-table-column> <el-table-column label="鍚堣" align="center"> <el-table-column @@ -247,38 +149,16 @@ width="120" > <template #default="scope"> - {{ - scope.row.sharpPower + - scope.row.peakPower + - scope.row.flatPower + - scope.row.valleyPower - }} + {{ scope.row.sharpPower + scope.row.peakPower + scope.row.flatPower + scope.row.valleyPower }} </template> </el-table-column> - <el-table-column - prop="totalCost" - label="鎬荤數璐�(鍏�)" - align="center" - show-overflow-tooltip - width="100" - > + <el-table-column prop="totalCost" label="鎬荤數璐�(鍏�)" align="center" show-overflow-tooltip width="100"> <template #default="scope"> - {{ - scope.row.sharpFee + - scope.row.peakFee + - scope.row.flatFee + - scope.row.valleyFee - }} + {{ scope.row.sharpFee + scope.row.peakFee + scope.row.flatFee + scope.row.valleyFee }} </template> </el-table-column> </el-table-column> - <el-table-column - prop="nodeName" - label="鐢ㄨ兘鍗曞厓" - align="center" - show-overflow-tooltip - width="200" - /> + <el-table-column prop="nodeName" label="鐢ㄨ兘鍗曞厓" align="center" show-overflow-tooltip width="200" /> </el-table> </div> </el-dialog> @@ -286,23 +166,23 @@ </template> <script setup name="timeSharing"> -import { listTimeSharing } from "@/api/peakValley/timeSharing"; -import * as echarts from "echarts"; -const { proxy } = getCurrentInstance(); -import { useRoute } from "vue-router"; -import useSettingsStore from "@/store/modules/settings"; -const settingsStore = useSettingsStore(); +import { listTimeSharing } from "@/api/peakValley/timeSharing" +import * as echarts from "echarts" +const { proxy } = getCurrentInstance() +import { useRoute } from "vue-router" +import useSettingsStore from "@/store/modules/settings" +const settingsStore = useSettingsStore() watch( () => settingsStore.sideTheme, (val) => { - getList(); + getList() } -); -const loading = ref(false); -const timeSharingList = ref([]); -const timeSharingDialogTableVisible = ref(false); -const viewTimeSharingList = ref([]); -const nodeOptions = ref(undefined); +) +const loading = ref(false) +const timeSharingList = ref([]) +const timeSharingDialogTableVisible = ref(false) +const viewTimeSharingList = ref([]) +const nodeOptions = ref(undefined) const data = reactive({ queryParams: { nodeId: null, @@ -311,52 +191,52 @@ queryTime: null, }, query: { ...useRoute().query }, -}); -const { queryParams, query } = toRefs(data); +}) +const { queryParams, query } = toRefs(data) /** 閫氳繃鏉′欢杩囨护鑺傜偣 */ const filterNode = (value, data) => { - if (!value) return true; - return data.label.indexOf(value) !== -1; -}; + if (!value) return true + return data.label.indexOf(value) !== -1 +} function handleNodeClick(data) { - queryParams.value.nodeId = data.id; - queryParams.value.nodeName = data.label; - queryParams.value.queryTime = proxy.dayjs(new Date()).format("YYYY-MM-DD"); - handleQuery(); + queryParams.value.nodeId = data.id + queryParams.value.nodeName = data.label + queryParams.value.queryTime = proxy.dayjs(new Date()).format("YYYY-MM-DD") + handleQuery() } // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-鍒楄〃 function getList() { - loading.value = true; + loading.value = true listTimeSharing( proxy.addDateRange({ ...queryParams.value, ...query.value, }) ).then((res) => { - loading.value = false; + loading.value = false if (!!res.code && res.code == 200) { // 鍦ㄥ垵濮嬪寲涔嬪墠锛屽厛dispose鏃х殑瀹炰緥 if (echarts.getInstanceByDom(document.getElementById("Chart1"))) { - echarts.dispose(document.getElementById("Chart1")); + echarts.dispose(document.getElementById("Chart1")) } if (echarts.getInstanceByDom(document.getElementById("Chart2"))) { - echarts.dispose(document.getElementById("Chart2")); + echarts.dispose(document.getElementById("Chart2")) } - const myChart1 = echarts.init(document.getElementById("Chart1")); - const myChart2 = echarts.init(document.getElementById("Chart2")); + const myChart1 = echarts.init(document.getElementById("Chart1")) + const myChart2 = echarts.init(document.getElementById("Chart2")) if (!!res.data.lineChat) { - let xdata = []; - let ytip = []; - let ypeak = []; - let yflat = []; - let ytrough = []; + let xdata = [] + let ytip = [] + let ypeak = [] + let yflat = [] + let ytrough = [] res.data.lineChat.map((item) => { - xdata.push(Number(item.xdata.slice(-8).substring(0, 2)) + "鏃�"); - ytip.push(!!item.ytip ? item.ytip : 0); - ypeak.push(!!item.ypeak ? item.ypeak : 0); - yflat.push(!!item.yflat ? item.yflat : 0); - ytrough.push(!!item.ytrough ? item.ytrough : 0); - }); + xdata.push(Number(item.xdata.slice(-8).substring(0, 2)) + "鏃�") + ytip.push(!!item.ytip ? item.ytip : 0) + ypeak.push(!!item.ypeak ? item.ypeak : 0) + yflat.push(!!item.yflat ? item.yflat : 0) + ytrough.push(!!item.ytrough ? item.ytrough : 0) + }) myChart1.setOption({ color: ["#f52528", "#ff6200", "#ffce0c", "#78e801"], grid: { @@ -378,8 +258,7 @@ itemHeight: 10, // right: 0, textStyle: { - color: - settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", }, // data: ['灏�', '宄�', '骞�', '璋�'] }, @@ -388,10 +267,7 @@ axisLine: { show: true, lineStyle: { - color: - settingsStore.sideTheme == "theme-dark" - ? "#FFFFFF" - : "#222222", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", }, }, axisTick: { @@ -404,8 +280,7 @@ show: false, }, axisLabel: { - color: - settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", fontSize: 14, padding: [5, 0, 0, 0], // formatter: '{value} ml' @@ -416,8 +291,7 @@ name: "鑰楃數閲�(KWH)", type: "value", nameTextStyle: { - color: - settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", fontSize: 14, padding: [0, 0, 5, 0], }, @@ -428,10 +302,7 @@ show: true, lineStyle: { type: "dashed", - color: - settingsStore.sideTheme == "theme-dark" - ? "#FFFFFF" - : "#222222", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", }, }, axisTick: { @@ -441,8 +312,7 @@ show: false, }, axisLabel: { - color: - settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", fontSize: 14, // formatter: '{value} ml' }, @@ -451,33 +321,33 @@ { name: "灏�", // ytip type: "bar", - barWidth: "27", + barWidth: "12", stack: "total", data: ytip, }, { name: "宄�", // ypeak type: "bar", - barWidth: "27", + barWidth: "12", stack: "total", data: ypeak, }, { name: "骞�", // yflat type: "bar", - barWidth: "27", + barWidth: "12", stack: "total", data: yflat, }, { name: "璋�", // ytrough type: "bar", - barWidth: "27", + barWidth: "12", stack: "total", data: ytrough, }, ], - }); + }) } if (!!res.data.pieChat) { myChart2.setOption({ @@ -492,8 +362,7 @@ itemGap: 10, // right: 0, textStyle: { - color: - settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", }, }, series: [ @@ -505,70 +374,58 @@ label: { overflow: "none", formatter: "{b} {c}% ", - color: - settingsStore.sideTheme == "theme-dark" - ? "#FFFFFF" - : "#222222", + color: settingsStore.sideTheme == "theme-dark" ? "#FFFFFF" : "#222222", }, data: [ { - value: !!res.data.pieChat.tip - ? Number(res.data.pieChat.tip) - : 0, + value: !!res.data.pieChat.tip ? Number(res.data.pieChat.tip) : 0, name: "灏�", }, { - value: !!res.data.pieChat.peak - ? Number(res.data.pieChat.peak) - : 0, + value: !!res.data.pieChat.peak ? Number(res.data.pieChat.peak) : 0, name: "宄�", }, { - value: !!res.data.pieChat.flat - ? Number(res.data.pieChat.flat) - : 0, + value: !!res.data.pieChat.flat ? Number(res.data.pieChat.flat) : 0, name: "骞�", }, { - value: !!res.data.pieChat.trough - ? Number(res.data.pieChat.trough) - : 0, + value: !!res.data.pieChat.trough ? Number(res.data.pieChat.trough) : 0, name: "璋�", }, ], }, ], - }); + }) } if (!!res.data.dataList) { - timeSharingList.value = !!res.data.dataList ? res.data.dataList : []; + timeSharingList.value = !!res.data.dataList ? res.data.dataList : [] } window.addEventListener( "resize", () => { - myChart1.resize(); - myChart2.resize(); + myChart1.resize() + myChart2.resize() }, { passive: true } - ); + ) } - }); + }) } // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-鏌ョ湅 function handleView(row) { - queryParams.value.key = row.timeStr; - timeSharingDialogTableVisible.value = true; - viewTimeSharingList.value = [row]; + queryParams.value.key = row.timeStr + timeSharingDialogTableVisible.value = true + viewTimeSharingList.value = [row] } // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-鎼滅储 function handleQuery() { - getList(); + getList() } // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-閲嶇疆 function resetQuery() { - proxy.resetForm("queryRef"); - (queryParams.value.queryTime = proxy.dayjs(new Date()).format("YYYY-MM-DD")), - handleQuery(); + proxy.resetForm("queryRef") + ;(queryParams.value.queryTime = proxy.dayjs(new Date()).format("YYYY-MM-DD")), handleQuery() } // 宄板钩璋疯兘鑰楀垎鏋�-宄板钩璋峰垎鏃剁粺璁�-瀵煎嚭 function handleExport() { @@ -579,7 +436,7 @@ ...query.value, }, `${queryParams.value.nodeName}_宄板钩璋峰垎鏃剁粺璁${new Date().getTime()}.xlsx` - ); + ) } </script> <style scoped lang="scss"> -- Gitblit v1.9.3