From fedb183d1123ecceed5d0237f44b7df9a8f5700e Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期三, 18 三月 2026 17:05:40 +0800
Subject: [PATCH] 能耗成本核算
---
src/views/costAccounting/energyCosts/index.vue | 74 ++++++++++++++++++++-----------------
1 files changed, 40 insertions(+), 34 deletions(-)
diff --git a/src/views/costAccounting/energyCosts/index.vue b/src/views/costAccounting/energyCosts/index.vue
index f74f16e..88a9937 100644
--- a/src/views/costAccounting/energyCosts/index.vue
+++ b/src/views/costAccounting/energyCosts/index.vue
@@ -465,23 +465,23 @@
</div>
</el-card>
</el-col>
- <!-- <el-col :xs="24" :lg="12">
+ <el-col :xs="24" :lg="12">
<el-card class="chart-card" shadow="never">
<template #header>
<div class="chart-head">
- <span class="chart-title">鑳借�楀崟浠峰姣�</span>
+ <span class="chart-title">鑳借�楃敤閲忓姣�</span>
<div class="chart-tools" @click.stop>
<button
class="chart-tool"
type="button"
- @click="downloadChart('price', '鑳借�楀崟浠峰姣�')"
+ @click="downloadChart('consumption', '鑳借�楃敤閲忓姣�')"
>
涓嬭浇
</button>
<button
class="chart-tool"
type="button"
- @click="openBigChart('price', '鑳借�楀崟浠峰姣�')"
+ @click="openBigChart('consumption', '鑳借�楃敤閲忓姣�')"
>
澶у浘
</button>
@@ -489,12 +489,12 @@
</div>
</template>
<div
- ref="priceChartWrap"
+ ref="consumptionChartWrap"
class="chart-wrap"
v-loading="tableLoading"
>
<div
- ref="priceChart"
+ ref="consumptionChart"
class="chart-content"
v-show="hasTableData"
></div>
@@ -503,7 +503,7 @@
</div>
</div>
</el-card>
- </el-col> -->
+ </el-col>
</el-row>
</div>
</transition>
@@ -875,13 +875,13 @@
if (key === "cost") return costChartInstance;
if (key === "type") return typeChartInstance;
if (key === "purpose") return purposeChartInstance;
- if (key === "price") return priceChartInstance;
+ if (key === "consumption") return consumptionChartInstance;
return null;
};
const ensurePanelForChart = (key) => {
if (key === "cost" || key === "type") chartPanel.value = "core";
- if (key === "purpose" || key === "price") chartPanel.value = "advanced";
+ if (key === "purpose" || key === "consumption") chartPanel.value = "advanced";
};
const downloadChart = (key, title) => {
@@ -1011,12 +1011,12 @@
const costChart = ref(null);
const typeChart = ref(null);
const purposeChart = ref(null);
-const priceChart = ref(null);
+const consumptionChart = ref(null);
const costChartWrap = ref(null);
const typeChartWrap = ref(null);
const purposeChartWrap = ref(null);
-const priceChartWrap = ref(null);
+const consumptionChartWrap = ref(null);
const tableAnchor = ref(null);
@@ -1044,7 +1044,7 @@
let costChartInstance = null;
let typeChartInstance = null;
let purposeChartInstance = null;
-let priceChartInstance = null;
+let consumptionChartInstance = null;
// 鍥捐〃鍖哄垏鎹細core | advanced | none锛堢偣鍑诲綋鍓嶉�変腑鍙敹璧凤級
const chartPanel = ref("core");
@@ -1062,10 +1062,10 @@
if (panel === "advanced") {
if (purposeChart.value && !purposeChartInstance)
purposeChartInstance = echarts.init(purposeChart.value);
- if (priceChart.value && !priceChartInstance)
- priceChartInstance = echarts.init(priceChart.value);
+ if (consumptionChart.value && !consumptionChartInstance)
+ consumptionChartInstance = echarts.init(consumptionChart.value);
if (purposeChartInstance) updatePurposeChart();
- if (priceChartInstance) updatePriceChart();
+ if (consumptionChartInstance) updateConsumptionChart();
}
};
@@ -1331,26 +1331,32 @@
purposeChartInstance.setOption(option);
};
-// 鏇存柊鑳借�楀崟浠峰姣斿浘
-const updatePriceChart = () => {
+// 鏇存柊鑳借�楃敤閲忓姣斿浘
+const updateConsumptionChart = () => {
const data = tableData.value;
- const priceData = {};
+ const consumptionData = {};
data.forEach((item) => {
- if (!priceData[item.energyType]) {
- priceData[item.energyType] = {
+ if (!consumptionData[item.energyType]) {
+ consumptionData[item.energyType] = {
鐢熶骇: 0,
鍔炲叕: 0,
};
}
- if (priceData[item.energyType].hasOwnProperty(item.type)) {
- priceData[item.energyType][item.type] = parseFloat(item.price);
+ if (consumptionData[item.energyType].hasOwnProperty(item.type)) {
+ consumptionData[item.energyType][item.type] = parseFloat(
+ item.consumption
+ );
}
});
- const energyTypes = Object.keys(priceData);
- const productionPrices = energyTypes.map((type) => priceData[type].鐢熶骇);
- const officePrices = energyTypes.map((type) => priceData[type].鍔炲叕);
+ const energyTypes = Object.keys(consumptionData);
+ const productionConsumptions = energyTypes.map(
+ (type) => consumptionData[type].鐢熶骇
+ );
+ const officeConsumptions = energyTypes.map(
+ (type) => consumptionData[type].鍔炲叕
+ );
const option = {
tooltip: {
@@ -1364,7 +1370,7 @@
"box-shadow: 0 14px 40px rgba(15,23,42,.14); border-radius: 12px;",
},
legend: {
- data: ["鐢熶骇鑳借�楀崟浠�", "鍔炲叕鑳借�楀崟浠�"],
+ data: ["鐢熶骇鑳借�楃敤閲�", "鍔炲叕鑳借�楃敤閲�"],
top: 0,
right: 10,
textStyle: { color: "rgba(15, 23, 42, 0.62)" },
@@ -1385,7 +1391,7 @@
},
yAxis: {
type: "value",
- name: "鍗曚环(鍏�)",
+ name: "鐢ㄩ噺",
nameTextStyle: { color: "rgba(15, 23, 42, 0.58)" },
axisLabel: { color: "rgba(15, 23, 42, 0.58)" },
axisLine: { show: false },
@@ -1393,9 +1399,9 @@
},
series: [
{
- name: "鐢熶骇鑳借�楀崟浠�",
+ name: "鐢熶骇鑳借�楃敤閲�",
type: "bar",
- data: productionPrices,
+ data: productionConsumptions,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: "#2f6fed" },
@@ -1405,9 +1411,9 @@
},
},
{
- name: "鍔炲叕鑳借�楀崟浠�",
+ name: "鍔炲叕鑳借�楃敤閲�",
type: "bar",
- data: officePrices,
+ data: officeConsumptions,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 0, color: "#16a34a" },
@@ -1418,7 +1424,7 @@
},
],
};
- priceChartInstance.setOption(option);
+ consumptionChartInstance.setOption(option);
};
// 缁熻缁村害鍒囨崲
@@ -1548,7 +1554,7 @@
if (costChartInstance) updateCostChart();
if (typeChartInstance) updateTypeChart();
if (purposeChartInstance) updatePurposeChart();
- if (priceChartInstance) updatePriceChart();
+ if (consumptionChartInstance) updateConsumptionChart();
});
};
@@ -1600,7 +1606,7 @@
costChartInstance && costChartInstance.resize();
typeChartInstance && typeChartInstance.resize();
purposeChartInstance && purposeChartInstance.resize();
- priceChartInstance && priceChartInstance.resize();
+ consumptionChartInstance && consumptionChartInstance.resize();
};
onMounted(() => {
--
Gitblit v1.9.3