From ee56d420df75e3284a1fe4756363fa3c924b9190 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 03 十一月 2025 15:34:52 +0800
Subject: [PATCH] 能耗管理-添加导出功能
---
src/views/energyManagement/energyPeriodTime/index.vue | 181 +++++++++++++++++++++++++++++---------------
1 files changed, 118 insertions(+), 63 deletions(-)
diff --git a/src/views/energyManagement/energyPeriodTime/index.vue b/src/views/energyManagement/energyPeriodTime/index.vue
index bd84308..446ac87 100644
--- a/src/views/energyManagement/energyPeriodTime/index.vue
+++ b/src/views/energyManagement/energyPeriodTime/index.vue
@@ -2,8 +2,8 @@
<div class="app-container">
<div class="search_form">
<div>
- <span class="search_title">鏃堕棿鑼冨洿锛�</span>
- <el-time-picker
+ <span class="search_title">鏃ユ湡锛�</span>
+ <!-- <el-time-picker
style="width: 240px;margin-right: 10px"
v-model="searchForm.startTime"
value-format="HH:mm:ss"
@@ -11,15 +11,13 @@
type="time"
placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
clearable
- />
- <el-time-picker
- style="width: 240px;margin-right: 10px"
- v-model="searchForm.endTime"
- value-format="HH:mm:ss"
- format="HH:mm:ss"
- type="time"
- placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
- clearable
+ /> -->
+ <el-date-picker
+ v-model="searchForm.date"
+ type="date"
+ placeholder="璇烽�夋嫨鏃ユ湡"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
/>
<!-- <el-time-picker
v-model="searchForm.timeRange"
@@ -44,6 +42,7 @@
</div>
<div>
<el-button type="primary" @click="openForm('add')">鏂板</el-button>
+ <el-button @click="handleOut">瀵煎嚭</el-button>
<el-button type="danger" plain @click="handleDelete">鍒犻櫎</el-button>
</div>
</div>
@@ -74,48 +73,75 @@
>
<el-row :gutter="30">
<el-col :span="12">
- <el-form-item label="寮�濮嬫椂闂达細" prop="startTime">
- <el-time-picker
+ <el-form-item label="鏃ユ湡锛�" prop="date">
+ <el-date-picker
style="width: 100%"
- v-model="form.startTime"
- value-format="HH:mm:ss"
- format="HH:mm:ss"
- type="time"
- placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
+ v-model="form.date"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
+ type="date"
+ placeholder="璇烽�夋嫨鏃ユ湡"
clearable
/>
</el-form-item>
</el-col>
- <el-col :span="12">
- <el-form-item label="缁撴潫鏃堕棿锛�" prop="endTime">
- <el-time-picker
- style="width: 100%"
- v-model="form.endTime"
- value-format="HH:mm:ss"
- format="HH:mm:ss"
- type="time"
- placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
- clearable
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="30">
-<!-- <el-col :span="12">-->
-<!-- <el-form-item label="鏃舵鍚嶇О锛�" prop="timeName">-->
-<!-- <el-input-->
-<!-- v-model="form.timeName"-->
-<!-- placeholder="璇疯緭鍏ユ椂娈靛悕绉�"-->
-<!-- clearable-->
-<!-- :disabled="operationType !== 'add'"-->
-<!-- />-->
-<!-- </el-form-item>-->
-<!-- </el-col>-->
<el-col :span="12">
<el-form-item label="鐢典环锛堝厓/搴︼級锛�" prop="price">
<el-input
v-model="form.price"
placeholder="璇疯緭鍏ョ數浠�"
+ clearable
+ type="number"
+ step="0.01"
+ min="0"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="宄版锛�" prop="peak">
+ <el-input
+ v-model="form.peak"
+ placeholder="璇疯緭鍏ュ嘲娈�"
+ clearable
+ type="number"
+ step="0.01"
+ min="0"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="璋锋锛�" prop="valley">
+ <el-input
+ v-model="form.valley"
+ placeholder="璇疯緭鍏ヨ胺娈�"
+ clearable
+ type="number"
+ step="0.01"
+ min="0"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="骞虫锛�" prop="flat">
+ <el-input
+ v-model="form.flat"
+ placeholder="璇疯緭鍏ュ钩娈�"
+ clearable
+ type="number"
+ step="0.01"
+ min="0"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="灏栨锛�" prop="sharp">
+ <el-input
+ v-model="form.sharp"
+ placeholder="璇疯緭鍏ュ皷娈�"
clearable
type="number"
step="0.01"
@@ -136,7 +162,7 @@
</template>
<script setup>
import {Search} from "@element-plus/icons-vue";
-import {onMounted, ref} from "vue";
+import {onMounted, ref, getCurrentInstance} from "vue";
import {ElMessageBox} from "element-plus";
import {getToken} from "@/utils/auth.js";
import {periodListPage,periodDelete,periodAdd,periodUpdate} from "@/api/energyManagement/index.js";
@@ -144,15 +170,16 @@
const data = reactive({
searchForm: {
- startTime: "",
- endTime: "",
+ date: "",
price: ""
},
form: {
- // timeName: "",
- startTime: "",
- endTime: "",
- price: ""
+ date: "",
+ price: "",
+ peak: "",
+ valley: "",
+ flat: "",
+ sharp: ""
}
});
const { searchForm,form } = toRefs(data);
@@ -174,18 +201,31 @@
// width: 200,
// },
{
- label: "寮�濮嬫椂闂�",
- prop: "startTime",
+ label: "鏃ユ湡",
+ prop: "date",
+ width: 200,
},
{
- label: "缁撴潫鏃堕棿",
- prop: "endTime",
+ label: "鐢典环锛堝厓/搴︼級",
+ prop: "price",
+ width: 200,
},
- {
- label: "鐢典环锛堝厓/搴︼級",
- prop: "price",
- width: 200,
- },
+ {
+ label: "宄版",
+ prop: "peak",
+ },
+ {
+ label: "璋锋",
+ prop: "valley",
+ },
+ {
+ label: "骞虫",
+ prop: "flat",
+ },
+ {
+ label: "灏栨",
+ prop: "sharp",
+ },
{
dataType: "action",
label: "鎿嶄綔",
@@ -265,10 +305,9 @@
//閲嶇疆
const resetFilters = () => {
searchForm.value = {
- startTime: "",
- endTime: "",
- price: ""
- };
+ date: "",
+ price: ""
+ };
getList();
};
@@ -397,6 +436,22 @@
proxy.$modal.msg("宸插彇娑�");
});
};
+
+// 瀵煎嚭
+const handleOut = () => {
+ ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚鍑猴紝鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+ confirmButtonText: "纭",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(() => {
+ proxy.download("/energyPeriod/export", {}, "鐢ㄧ數鏃舵绠$悊.xlsx");
+ })
+ .catch(() => {
+ proxy.$modal.msg("宸插彇娑�");
+ });
+};
+
onMounted(() => {
getList();
});
--
Gitblit v1.9.3