From b3f2fb5aef5945a5b7790d41cdb9504d1650c1e5 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 18 三月 2026 17:04:40 +0800
Subject: [PATCH] 能耗成本核算---按日月汇总统计页面对接
---
src/api/energyManagement/energyType.js | 11 +++++
src/views/costAccounting/energyCosts/index.vue | 98 ++++++++++++++++++++++++------------------------
2 files changed, 59 insertions(+), 50 deletions(-)
diff --git a/src/api/energyManagement/energyType.js b/src/api/energyManagement/energyType.js
index f2986fa..1dd798a 100644
--- a/src/api/energyManagement/energyType.js
+++ b/src/api/energyManagement/energyType.js
@@ -77,7 +77,7 @@
})
}
-// 鑳借�楁妱琛ㄦ槑缁�-缁熻鏌ヨ
+// 鑳借�楃粺璁�---鎸夋棩鏈堝勾姹囨�荤粺璁�
export function energyConsumptionDetailStatistics(query) {
return request({
url: "/energyConsumptionDetail/statistics",
@@ -85,3 +85,12 @@
params: query,
});
}
+
+// 鑳借�楁垚鏈牳绠�---鎸夋棩鏈堟眹鎬荤粺璁�
+export function energyConsumptionDetailAccount(query) {
+ return request({
+ url: "/energyConsumptionDetail/account",
+ method: "get",
+ params: query,
+ });
+}
diff --git a/src/views/costAccounting/energyCosts/index.vue b/src/views/costAccounting/energyCosts/index.vue
index f74f16e..63a1b48 100644
--- a/src/views/costAccounting/energyCosts/index.vue
+++ b/src/views/costAccounting/energyCosts/index.vue
@@ -112,7 +112,7 @@
<div class="kpi-left">
<div class="kpi-label">鎬昏兘鑰楁垚鏈�</div>
<div class="kpi-value">
- 楼{{ formatMoney(animatedOverview.totalCost) }}
+ 楼{{ formatMoney(animatedOverview.totalEnergyCost) }}
</div>
<div class="kpi-meta">
<span
@@ -143,7 +143,7 @@
<button
class="kpi-action"
type="button"
- @click="copyKpi('totalCost')"
+ @click="copyKpi('totalEnergyCost')"
>
澶嶅埗
</button>
@@ -165,7 +165,7 @@
<div class="kpi-left">
<div class="kpi-label">鐢熶骇鑳借�楁垚鏈�</div>
<div class="kpi-value">
- 楼{{ formatMoney(animatedOverview.productionCost) }}
+ 楼{{ formatMoney(animatedOverview.productEnergyCost) }}
</div>
<div class="kpi-meta">
<span
@@ -196,7 +196,7 @@
<button
class="kpi-action"
type="button"
- @click="copyKpi('productionCost')"
+ @click="copyKpi('productEnergyCost')"
>
澶嶅埗
</button>
@@ -218,7 +218,7 @@
<div class="kpi-left">
<div class="kpi-label">鍔炲叕鑳借�楁垚鏈�</div>
<div class="kpi-value">
- 楼{{ formatMoney(animatedOverview.officeCost) }}
+ 楼{{ formatMoney(animatedOverview.officeEnergyCost) }}
</div>
<div class="kpi-meta">
<span
@@ -249,7 +249,7 @@
<button
class="kpi-action"
type="button"
- @click="copyKpi('officeCost')"
+ @click="copyKpi('officeEnergyCost')"
>
澶嶅埗
</button>
@@ -270,7 +270,7 @@
<div class="kpi-left">
<div class="kpi-label">骞冲潎鎴愭湰</div>
<div class="kpi-value">
- 楼{{ formatMoney(animatedOverview.avgCost) }}
+ 楼{{ formatMoney(animatedOverview.averageEnergyCost) }}
<span class="kpi-unit"
>/{{ statisticsType === "day" ? "鏃�" : "鏈�" }}</span
>
@@ -286,7 +286,7 @@
<button
class="kpi-action"
type="button"
- @click="copyKpi('avgCost')"
+ @click="copyKpi('averageEnergyCost')"
>
澶嶅埗
</button>
@@ -574,7 +574,7 @@
sortable="custom"
/>
<el-table-column
- prop="energyType"
+ prop="energyTyep"
label="鑳借�楃被鍨�"
width="100"
align="center"
@@ -583,8 +583,8 @@
filter-placement="bottom-end"
>
<template #default="scope">
- <el-tag :type="getEnergyTypeType(scope.row.energyType)">
- {{ scope.row.energyType }}
+ <el-tag :type="getEnergyTypeType(scope.row.energyTyep)">
+ {{ scope.row.energyTyep }}
</el-tag>
</template>
</el-table-column>
@@ -598,28 +598,28 @@
filter-placement="bottom-end"
>
<template #default="scope">
- <el-tag :type="scope.row.type === '鐢熶骇' ? 'primary' : 'info'">
+ <el-tag :type="scope.row.type === '鐢熶骇' ? 'primary' : 'warning'">
{{ scope.row.type }}
</el-tag>
</template>
</el-table-column>
- <el-table-column prop="consumption" label="鐢ㄩ噺" align="right">
+ <el-table-column prop="dosage" label="鐢ㄩ噺" align="right">
<template #default="scope">
<span class="consumption-value">{{
- formatNumber(scope.row.consumption, 2)
+ formatNumber(scope.row.dosage, 2)
}}</span>
<span class="consumption-unit">{{ scope.row.unit }}</span>
</template>
</el-table-column>
<el-table-column
- prop="price"
+ prop="unitPrice"
label="鍗曚环(鍏�)"
align="right"
sortable="custom"
>
<template #default="scope">
<span class="price-value">{{
- formatNumber(scope.row.price, 2)
+ formatNumber(scope.row.unitPrice, 2)
}}</span>
</template>
</el-table-column>
@@ -674,7 +674,7 @@
} from "@element-plus/icons-vue";
import * as echarts from "echarts";
// import { energyCostStatistics } from "@/api/costAccounting/energyCosts";
-import { energyConsumptionDetailStatistics } from "@/api/energyManagement/energyType";
+import { energyConsumptionDetailAccount } from "@/api/energyManagement/energyType";
// 缁熻缁村害锛歞ay-鎸夋棩锛宮onth-鎸夋湀
const statisticsType = ref("day");
@@ -705,18 +705,18 @@
// 缁熻姒傝
const overview = reactive({
- totalCost: "0.00",
- productionCost: "0.00",
- officeCost: "0.00",
- avgCost: "0.00",
+ totalEnergyCost: "0.00",
+ productEnergyCost: "0.00",
+ officeEnergyCost: "0.00",
+ averageEnergyCost: "0.00",
});
const selectedKpi = ref("all"); // all | production | office
const animatedOverview = reactive({
- totalCost: 0,
- productionCost: 0,
- officeCost: 0,
- avgCost: 0,
+ totalEnergyCost: 0,
+ productEnergyCost: 0,
+ officeEnergyCost: 0,
+ averageEnergyCost: 0,
});
const formatMoney = (v) => {
@@ -754,10 +754,10 @@
watch(
() => ({ ...overview }),
(val) => {
- animateNumber("totalCost", Number.parseFloat(val.totalCost));
- animateNumber("productionCost", Number.parseFloat(val.productionCost));
- animateNumber("officeCost", Number.parseFloat(val.officeCost));
- animateNumber("avgCost", Number.parseFloat(val.avgCost));
+ animateNumber("totalEnergyCost", Number.parseFloat(val.totalEnergyCost));
+ animateNumber("productEnergyCost", Number.parseFloat(val.productEnergyCost));
+ animateNumber("officeEnergyCost", Number.parseFloat(val.officeEnergyCost));
+ animateNumber("averageEnergyCost", Number.parseFloat(val.averageEnergyCost));
},
{ deep: true, immediate: true }
);
@@ -846,10 +846,10 @@
const copyKpi = async (field) => {
const map = {
- totalCost: animatedOverview.totalCost,
- productionCost: animatedOverview.productionCost,
- officeCost: animatedOverview.officeCost,
- avgCost: animatedOverview.avgCost,
+ totalEnergyCost: animatedOverview.totalEnergyCost,
+ productEnergyCost: animatedOverview.productEnergyCost,
+ officeEnergyCost: animatedOverview.officeEnergyCost,
+ averageEnergyCost: animatedOverview.averageEnergyCost,
};
const raw = map[field];
const text = `楼${formatMoney(raw)}`;
@@ -997,7 +997,7 @@
{ text: "鍔炲叕", value: "鍔炲叕" },
];
-const filterEnergyType = (value, row) => row.energyType === value;
+const filterEnergyType = (value, row) => row.energyTyep === value;
const filterEnergyPurpose = (value, row) => row.type === value;
// 鍒嗛〉
@@ -1505,36 +1505,36 @@
}
// 璋冪敤鎺ュ彛鑾峰彇鏁版嵁
- energyConsumptionDetailStatistics(params)
+ energyConsumptionDetailAccount(params)
.then((res) => {
if (res.code === 200) {
const data = res.data;
- overview.totalCost = data.totalEnergyConsumption || "0";
- overview.productionCost = data.totalEnergyCost || "0";
- overview.avgCost = data.averageConsumption || "0";
- overview.officeCost = data.changeVite || 0;
+ overview.totalEnergyCost = data.totalEnergyCost || "0";
+ overview.productEnergyCost = data.productEnergyCost || "0";
+ overview.officeEnergyCost = data.officeEnergyCost || "0";
+ overview.averageEnergyCost = data.averageEnergyCost || "0";
// 澶勭悊琛ㄦ牸鏁版嵁
- tableData.value = data.energyCostDtos || [];
+ tableData.value = data.energyConsumptionDetailDtoList || [];
page.total = tableData.value.length || 0;
} else {
ElMessage.error(res.message || "鑾峰彇鏁版嵁澶辫触");
tableData.value = [];
page.total = 0;
- overview.totalCost = "0.00";
- overview.productionCost = "0.00";
- overview.officeCost = "0.00";
- overview.avgCost = "0.00";
+ overview.totalEnergyCost = "0.00";
+ overview.productEnergyCost = "0.00";
+ overview.officeEnergyCost = "0.00";
+ overview.averageEnergyCost = "0.00";
}
})
.catch((err) => {
ElMessage.error("鑾峰彇鏁版嵁寮傚父");
tableData.value = [];
page.total = 0;
- overview.totalCost = "0.00";
- overview.productionCost = "0.00";
- overview.officeCost = "0.00";
- overview.avgCost = "0.00";
+ overview.totalEnergyCost = "0.00";
+ overview.productEnergyCost = "0.00";
+ overview.officeEnergyCost = "0.00";
+ overview.averageEnergyCost = "0.00";
})
.finally(() => {
tableLoading.value = false;
@@ -2739,4 +2739,4 @@
max-height: 600px;
opacity: 1;
}
-</style>
\ No newline at end of file
+</style>
--
Gitblit v1.9.3