From de50dae9558f8872b05b1a05b2d88461683189c4 Mon Sep 17 00:00:00 2001
From: 潘晓明 <hahagongzi2006@163.com>
Date: 星期四, 13 二月 2025 18:37:57 +0800
Subject: [PATCH] Merge remote-tracking branch 'refs/remotes/origin/develop1.0' into pxm_from_develop1.0
---
zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue | 3
zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue | 2
zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue | 231 +++++++------
zhitan-vue/src/views/realtimemonitor/realtimemonitor/realtimemonitor.vue | 126 ++++---
zhitan-vue/src/views/energyefficiency/benchmarkmanage/benchmarkmanage.vue | 198 ++++++-----
zhitan-vue/src/views/dataMonitoring/historyDataTrend/index.vue | 11
zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue | 161 +++++----
zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java | 6
zhitan-vue/src/views/businessconfiguration/gatewayledger/gatewayLedger.vue | 199 ++++++-----
zhitan-vue/src/views/peakvalley/period/period.vue | 9
10 files changed, 504 insertions(+), 442 deletions(-)
diff --git a/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java b/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java
index 69c3440..a26fef2 100644
--- a/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java
+++ b/zhitan-admin/src/main/java/com/zhitan/web/controller/saving/EnergySavingProgramController.java
@@ -36,7 +36,7 @@
* 鍒楄〃
*/
@GetMapping("/page")
- @PreAuthorize("@ss.hasPermi('energySavingProject:list')")
+ @PreAuthorize("@ss.hasPermi('energySavingProject:Project:list')")
@ApiOperation(value = "鍒嗛〉鍒楄〃")
public TableDataInfo list(EnergySavingProgram energySavingProgram) {
Page<EnergySavingProgramVO> list = energySavingProgramService.selectEnergySavingProgramList(energySavingProgram);
@@ -50,7 +50,6 @@
* 璇︾粏淇℃伅
*/
@ApiOperation(value = "鏌ヨ璇︽儏")
- @PreAuthorize("@ss.hasPermi('energySavingProject')")
@GetMapping(value = "getById")
public AjaxResult getInfo(@RequestParam("id") Long id) {
return success(energySavingProgramService.selectEnergySavingProgramById(id));
@@ -61,6 +60,7 @@
* 鑺傝兘椤圭洰绠$悊
*/
@ApiOperation(value = "鏂板")
+ @PreAuthorize("@ss.hasPermi('energySavingProject:Project:add')")
@PostMapping("add")
public AjaxResult add( @RequestBody EnergySavingProgramDTO dto) {
return energySavingProgramService.insertEnergySavingProgram(dto);
@@ -71,6 +71,7 @@
* 鑺傝兘椤圭洰绠$悊
*/
@ApiOperation(value = "鏇存柊")
+ @PreAuthorize("@ss.hasPermi('energySavingProject:Project:edit')")
@PostMapping("edit")
public AjaxResult edit(@RequestBody EnergySavingProgramDTO dto) {
return energySavingProgramService.updateEnergySavingProgram(dto);
@@ -81,6 +82,7 @@
* 鑺傝兘椤圭洰绠$悊
*/
@DeleteMapping("del/{id}")
+ @PreAuthorize("@ss.hasPermi('energySavingProject:Project:del')")
@ApiOperation(value = "鍒犻櫎")
public AjaxResult remove(@PathVariable Long id) {
return energySavingProgramService.deleteEnergySavingProgramById(id);
diff --git a/zhitan-vue/src/views/businessconfiguration/gatewayledger/gatewayLedger.vue b/zhitan-vue/src/views/businessconfiguration/gatewayledger/gatewayLedger.vue
index 1cdeb7f..a7f3304 100644
--- a/zhitan-vue/src/views/businessconfiguration/gatewayledger/gatewayLedger.vue
+++ b/zhitan-vue/src/views/businessconfiguration/gatewayledger/gatewayLedger.vue
@@ -1,131 +1,140 @@
<template>
- <div class="page">
- <div class="form-card">
- <el-form :inline="true">
- <el-form-item label="缃戝叧鏁伴噺:" class="header-box">
- {{ total }}
- </el-form-item>
- <el-form-item label="璁¢噺鍣ㄥ叿鏁伴噺:" class="header-box">
- {{ statistics.deviceNum }}
- </el-form-item>
- <el-form-item label="娴嬬偣鏁伴噺:" class="header-box">
- {{ statistics.ptNum }}
- </el-form-item>
- </el-form>
- </div>
- <div class="table-box">
- <div class="mt20 mb20">
- <el-button type="primary" icon="plus" @click="handleAdd">鏂板</el-button>
- <el-button type="primary" icon="Download" @click="handleExport">瀵煎嚭</el-button>
- </div>
- <el-table :data="tableData" v-loading="loading">
- <el-table-column prop="gatewayNum" label="缃戝叧缂栧彿" show-overflow-tooltip align="center" />
- <el-table-column prop="gatewayName" label="缃戝叧鍚嶇О" show-overflow-tooltip align="center" />
- <el-table-column prop="specsModel" label="瑙勬牸鍨嬪彿" show-overflow-tooltip align="center" />
- <el-table-column prop="installLocation" label="瀹夎浣嶇疆" show-overflow-tooltip align="center" />
- <el-table-column prop="ipAdd" label="IP鍦板潃" show-overflow-tooltip align="center" />
- <el-table-column prop="runStatus" label="杩愯鐘舵��" show-overflow-tooltip align="center" />
- <el-table-column prop="deviceNum" label="璁¢噺鍣ㄥ叿鏁伴噺" show-overflow-tooltip align="center" />
- <el-table-column prop="ptNum" label="閲囬泦娴嬬偣鏁伴噺" show-overflow-tooltip align="center" />
- <el-table-column label="鎿嶄綔" width="300" align="center">
- <template #default="scope">
- <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)">
- 淇敼
- </el-button>
- <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)">
- 鍒犻櫎
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
- v-model:limit="queryParams.pageSize" @pagination="getList" />
- </div>
- <edit-modal ref="EditModalRef" @getList="getList(1)" />
+ <div class="page">
+ <div class="form-card">
+ <el-form :inline="true">
+ <el-form-item label="缃戝叧鏁伴噺:" class="header-box">
+ <span class="count">{{ total || 0 }}</span>
+ </el-form-item>
+ <el-form-item label="璁¢噺鍣ㄥ叿鏁伴噺:" class="header-box">
+ <span class="count">{{ deviceNum || 0 }}</span>
+ </el-form-item>
+ <el-form-item label="娴嬬偣鏁伴噺:" class="header-box">
+ <span class="count">{{ ptNum || 0 }}</span>
+ </el-form-item>
+ </el-form>
</div>
+ <div class="table-bg-style">
+ <div class="theme-dark-mt20 mb20 ml20">
+ <el-button type="primary" icon="plus" @click="handleAdd">鏂板</el-button>
+ <el-button type="primary" icon="Download" @click="handleExport">瀵煎嚭</el-button>
+ </div>
+
+ <div class="table-box">
+ <el-table :data="tableData" v-loading="loading">
+ <el-table-column prop="gatewayNum" label="缃戝叧缂栧彿" show-overflow-tooltip align="center" />
+ <el-table-column prop="gatewayName" label="缃戝叧鍚嶇О" show-overflow-tooltip align="center" />
+ <el-table-column prop="specsModel" label="瑙勬牸鍨嬪彿" show-overflow-tooltip align="center" />
+ <el-table-column prop="installLocation" label="瀹夎浣嶇疆" show-overflow-tooltip align="center" />
+ <el-table-column prop="ipAdd" label="IP鍦板潃" show-overflow-tooltip align="center" />
+ <el-table-column prop="runStatus" label="杩愯鐘舵��" show-overflow-tooltip align="center" />
+ <el-table-column prop="deviceNum" label="璁¢噺鍣ㄥ叿鏁伴噺" show-overflow-tooltip align="center" />
+ <el-table-column prop="ptNum" label="閲囬泦娴嬬偣鏁伴噺" show-overflow-tooltip align="center" />
+ <el-table-column label="鎿嶄綔" width="300" align="center">
+ <template #default="scope">
+ <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)"> 淇敼 </el-button>
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"> 鍒犻櫎 </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ v-model:page="queryParams.pageNum"
+ v-model:limit="queryParams.pageSize"
+ @pagination="getList"
+ />
+ </div>
+ </div>
+
+ <edit-modal ref="EditModalRef" @getList="getList(1)" />
+ </div>
</template>
<script setup>
-import EditModal from './components/EditModal.vue'
-import { gatewayStatistics, gatewayList, gatewayDel } from "@/api/businessConfiguration/gatewayLedger";
+import EditModal from "./components/EditModal.vue"
+import { gatewayStatistics, gatewayList, gatewayDel } from "@/api/businessConfiguration/gatewayLedger"
let { proxy } = getCurrentInstance()
let statistics = ref({
- deviceNum: 0,
- ptNum: 0
+ deviceNum: 0,
+ ptNum: 0,
})
function getGatewayStatisticsFun() {
- gatewayStatistics().then(res => {
- if (res.code == 200) {
- if (res.data) {
- statistics.value = res.data
- }
- }
- })
+ gatewayStatistics().then((res) => {
+ if (res.code == 200) {
+ if (res.data) {
+ statistics.value = res.data
+ }
+ }
+ })
}
getGatewayStatisticsFun()
-
-let loading = ref(false);
-let total = ref(0);
+let loading = ref(false)
+let total = ref(0)
let tableData = ref([])
let queryParams = ref({
- pageNum: 1,
- pageSize: 10,
+ pageNum: 1,
+ pageSize: 10,
})
function getList(arg) {
- if (arg == 1) {
- queryParams.value.pageNum = 1
- }
- loading.value = true
- gatewayList(queryParams.value).then(res => {
- tableData.value = res.rows
- total.value = res.total
- loading.value = false
- })
+ if (arg == 1) {
+ queryParams.value.pageNum = 1
+ }
+ loading.value = true
+ gatewayList(queryParams.value).then((res) => {
+ tableData.value = res.rows
+ total.value = res.total
+ loading.value = false
+ })
}
getList()
function handleExport() {
- proxy.download(
- "gatewaySetting/export",
- queryParams.value,
- `缃戝叧鍙拌处${new Date().getTime()}.xlsx`
- );
+ proxy.download("gatewaySetting/export", queryParams.value, `缃戝叧鍙拌处${new Date().getTime()}.xlsx`)
}
-let EditModalRef = ref('')
+let EditModalRef = ref("")
function handleAdd(row) {
- if (EditModalRef.value) {
- EditModalRef.value.handleOpen(row)
- }
-
+ if (EditModalRef.value) {
+ EditModalRef.value.handleOpen(row)
+ }
}
function handleDelete(row) {
- proxy.$modal
- .confirm('鏄惁纭鍒犻櫎缃戝叧涓�"' + row.gatewayName + '"鐨勬暟鎹」锛�')
- .then(function () {
- return gatewayDel(row.id);
- })
- .then(() => {
- getList(1);
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- })
- .catch(() => { });
+ proxy.$modal
+ .confirm('鏄惁纭鍒犻櫎缃戝叧涓�"' + row.gatewayName + '"鐨勬暟鎹」锛�')
+ .then(function () {
+ return gatewayDel(row.id)
+ })
+ .then(() => {
+ getList(1)
+ proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
+ })
+ .catch(() => {})
}
</script>
<style lang="scss" scoped>
@import "@/assets/styles/page.scss";
-
.header-box {
- :deep .el-form-item__content {
- color: #fff;
- font-size: 16px;
- }
-
+ :deep .el-form-item__content {
+ color: #fff;
+ font-size: 16px;
+ }
}
-</style>
\ No newline at end of file
+
+.themeDark {
+ .count {
+ color: #fff;
+ }
+}
+
+.themeLight {
+ .count {
+ color: #333;
+ }
+}
+</style>
diff --git a/zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue b/zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue
index c63c0fe..588b94d 100644
--- a/zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue
+++ b/zhitan-vue/src/views/comprehensive/monthlyComprehensive/index.vue
@@ -69,10 +69,9 @@
</template>
</el-table-column>
<el-table-column v-for="index in 31" :key="index" :label="index + '鏃�'" align="center" min-width="100">
- <template #default="scope">{{ numFilter(scope.row[`value${index - 1}`]) }}</template>
+ <template #default="scope">{{ numFilter(scope.row[`value${index}`]) }}</template>
</el-table-column>
</el-table>
-
<div>
<line-chart ref="LineChartRef" :chartData="lineChartData" />
</div>
diff --git a/zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue b/zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue
index 494e37a..1b4eb04 100644
--- a/zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue
+++ b/zhitan-vue/src/views/comprehensive/yearComprehensive/index.vue
@@ -69,7 +69,7 @@
</template>
</el-table-column>
<el-table-column v-for="index in 12" :key="index" :label="index + '鏈�'" align="center" min-width="100">
- <template #default="scope">{{ numFilter(scope.row[`value${index - 1}`]) }}</template>
+ <template #default="scope">{{ numFilter(scope.row[`value${index}`]) }}</template>
</el-table-column>
</el-table>
diff --git a/zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue b/zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue
index 3ef3d1c..d3dc582 100644
--- a/zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue
+++ b/zhitan-vue/src/views/costAnalysis/cost-trend-analysis.vue
@@ -1,114 +1,110 @@
<template>
<div class="page">
- <div class="page-container">
- <div class="page-container-right">
- <div>
- <div class="form-card">
- <el-form :model="queryParams" ref="queryRef" :inline="true">
- <el-form-item label="鏈熼棿" prop="timeType">
- <el-select
- v-model="queryParams.timeType"
- placeholder="鏈熼棿"
- clearable
- style="width: 120px"
- @change="handleTimeType"
- >
- <el-option v-for="dict in period" :key="dict.value" :label="dict.label" :value="dict.value" />
- </el-select>
- </el-form-item>
- <el-form-item label="鏃堕棿" prop="dataTime">
- <el-date-picker
- v-model="queryParams.dataTime"
- :type="queryParams.timeType == 'YEAR' ? 'year' : queryParams.timeType == 'MONTH' ? 'month' : 'date'"
- :format="
- queryParams.timeType == 'YEAR' ? 'YYYY' : queryParams.timeType == 'MONTH' ? 'YYYY-MM' : 'YYYY-MM-DD'
- "
- value-format="YYYY-MM-DD"
- placeholder="鏃堕棿"
- style="width: 100%"
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="Search" @click="handleQuery"> 鎼滅储 </el-button>
- </el-form-item>
- <!-- <el-form-item>
+ <div>
+ <div class="form-card">
+ <el-form :model="queryParams" ref="queryRef" :inline="true">
+ <el-form-item label="鏈熼棿" prop="timeType">
+ <el-select
+ v-model="queryParams.timeType"
+ placeholder="鏈熼棿"
+ clearable
+ style="width: 120px"
+ @change="handleTimeType"
+ >
+ <el-option v-for="dict in period" :key="dict.value" :label="dict.label" :value="dict.value" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鏃堕棿" prop="dataTime">
+ <el-date-picker
+ v-model="queryParams.dataTime"
+ :type="queryParams.timeType == 'YEAR' ? 'year' : queryParams.timeType == 'MONTH' ? 'month' : 'date'"
+ :format="
+ queryParams.timeType == 'YEAR' ? 'YYYY' : queryParams.timeType == 'MONTH' ? 'YYYY-MM' : 'YYYY-MM-DD'
+ "
+ value-format="YYYY-MM-DD"
+ placeholder="鏃堕棿"
+ style="width: 100%"
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="Search" @click="handleQuery"> 鎼滅储 </el-button>
+ </el-form-item>
+ <!-- <el-form-item>
<el-button type="primary" icon="Download" @click="handleExport"> 瀵煎嚭 </el-button>
</el-form-item> -->
- </el-form>
- </div>
- <div style="margin-top: 16px">
- <div class="" style="padding: 0 16px">
- <el-table :data="tableData" v-loading="loading">
- <el-table-column label="鏃堕棿" prop="dateCode" align="center" width="120" />
- <el-table-column label="鎬昏垂鐢�(鍏�)" prop="total" align="center" width="120" />
- <el-table-column :label="col.energyName" v-for="(col, index) in columns" :key="index" align="center">
- <el-table-column :prop="'energyTotal' + col.energyType" label="娑堣�楅噺" width="120" align="center" />
- <el-table-column :prop="'costTotal' + col.energyType" label="璐圭敤锛堝厓锛�" width="120" align="center" />
- </el-table-column>
- </el-table>
- </div>
- </div>
- <div class="charts-view" v-loading="loading">
- <el-row :gutter="2" class="" v-for="item in chartDataList" :key="item.energyType">
- <el-col :span="12">
- <BaseCard :title="item.costLabel + '(鍏�)'">
- <div class="">
- <LineChart
- :ref="'LineChartCostRef' + item.energyType"
- :domId="'costDom_' + item.energyType"
- :chartData="{
- title: item.costLabel,
- chartType: 'line',
- xAxis: item.costKeyList,
- series: [
- {
- name: item.costLabel,
- data: item.costValueList,
- markPoint: {
- data: [
- { type: 'max', name: 'Max' },
- { type: 'min', name: 'Min' },
- ],
- },
- },
- ],
- }"
- />
- </div>
- </BaseCard>
- </el-col>
- <el-col :span="12">
- <BaseCard :title="item.accumulationLabel + '(' + item.energyUnit + ')'">
- <div class="">
- <LineChart
- :ref="'LineChartaccumulationRef' + item.energyType"
- :domId="'accumulationDom_' + item.energyType"
- :chartType="'bar'"
- :chartData="{
- title: item.accumulationLabel,
- chartType: 'bar',
- xAxis: item.accumulationKeyList,
- series: [
- {
- name: item.accumulationLabel,
- color: '#19be6b',
- data: item.accumulationValueList,
- markPoint: {
- data: [
- { type: 'max', name: 'Max' },
- { type: 'min', name: 'Min' },
- ],
- },
- },
- ],
- }"
- />
- </div>
- </BaseCard>
- </el-col>
- </el-row>
- </div>
+ </el-form>
+ </div>
+ <div class="table-bg-style">
+ <div class="table-box theme-dark-mt20" style="">
+ <el-table :data="tableData" v-loading="loading">
+ <el-table-column label="鏃堕棿" prop="dateCode" align="center" width="160" />
+ <el-table-column label="鎬昏垂鐢�(鍏�)" prop="total" align="center" width="120" />
+ <el-table-column :label="col.energyName" v-for="(col, index) in columns" :key="index" align="center">
+ <el-table-column :prop="'energyTotal' + col.energyType" label="娑堣�楅噺" min-width="120" align="center" />
+ <el-table-column :prop="'costTotal' + col.energyType" label="璐圭敤锛堝厓锛�" min-width="120" align="center" />
+ </el-table-column>
+ </el-table>
</div>
+ </div>
+ <div class="charts-view" v-loading="loading">
+ <el-row :gutter="2" class="" v-for="item in chartDataList" :key="item.energyType">
+ <el-col :span="12">
+ <BaseCard :title="item.costLabel + '(鍏�)'">
+ <div class="">
+ <LineChart
+ :ref="'LineChartCostRef' + item.energyType"
+ :domId="'costDom_' + item.energyType"
+ :chartData="{
+ title: item.costLabel,
+ chartType: 'line',
+ xAxis: item.costKeyList,
+ series: [
+ {
+ name: item.costLabel,
+ data: item.costValueList,
+ markPoint: {
+ data: [
+ { type: 'max', name: 'Max' },
+ { type: 'min', name: 'Min' },
+ ],
+ },
+ },
+ ],
+ }"
+ />
+ </div>
+ </BaseCard>
+ </el-col>
+ <el-col :span="12">
+ <BaseCard :title="item.accumulationLabel + '(' + item.energyUnit + ')'">
+ <div class="">
+ <LineChart
+ :ref="'LineChartaccumulationRef' + item.energyType"
+ :domId="'accumulationDom_' + item.energyType"
+ :chartType="'bar'"
+ :chartData="{
+ title: item.accumulationLabel,
+ chartType: 'bar',
+ xAxis: item.accumulationKeyList,
+ series: [
+ {
+ name: item.accumulationLabel,
+ color: '#19be6b',
+ data: item.accumulationValueList,
+ markPoint: {
+ data: [
+ { type: 'max', name: 'Max' },
+ { type: 'min', name: 'Min' },
+ ],
+ },
+ },
+ ],
+ }"
+ />
+ </div>
+ </BaseCard>
+ </el-col>
+ </el-row>
</div>
</div>
</div>
@@ -260,10 +256,27 @@
<style scoped lang="scss">
@import "@/assets/styles/page.scss";
-.themeDark {
-}
+.table-box {
+ margin-top: 0;
+ :deep .el-table--border .el-table__inner-wrapper:after {
+ height: 0;
+ }
-.themeLight {
+ :deep .el-table--border:after {
+ width: 0;
+ }
+
+ :deep .el-table--border:before {
+ width: 0;
+ }
+
+ :deep .el-table__border-left-patch {
+ background: transparent;
+ }
+
+ :deep .el-table--border .el-table__cell {
+ border-right: none;
+ }
}
.charts-view {
diff --git a/zhitan-vue/src/views/dataMonitoring/historyDataTrend/index.vue b/zhitan-vue/src/views/dataMonitoring/historyDataTrend/index.vue
index a78185b..1f64bec 100644
--- a/zhitan-vue/src/views/dataMonitoring/historyDataTrend/index.vue
+++ b/zhitan-vue/src/views/dataMonitoring/historyDataTrend/index.vue
@@ -19,8 +19,8 @@
<el-date-picker
v-model="queryParams.dataTime"
:type="queryParams.timeType == 'DAY' ? 'date' : 'datetime'"
- :format="queryParams.timeType == 'DAY' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss'"
- :value-format="queryParams.timeType == 'DAY' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss'"
+ :format="queryParams.timeType == 'DAY' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:00:00'"
+ :value-format="queryParams.timeType == 'DAY' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:00:00'"
placeholder="鏃堕棿"
style="width: 100%"
/>
@@ -118,18 +118,18 @@
queryParams.value.nodeId = data.id
queryParams.value.nodeName = data.label
setTimeout(() => {
- handleTimeType(period.value[0].value)
+ handleTimeType(queryParams.value.timeType)
}, 200)
}
function handleTimeType(e) {
queryParams.value.timeType = e
- queryParams.value.dataTime = proxy.dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss")
+ queryParams.value.dataTime = proxy.dayjs(new Date()).format("YYYY-MM-DD HH:00:00")
getElectricityMeter({ modelId: queryParams.value.nodeId })
}
function changeTimeType(e) {
console.log(e)
- queryParams.value.dataTime = proxy.dayjs(new Date()).format("YYYY-MM-DD HH:mm:ss")
+ queryParams.value.dataTime = proxy.dayjs(new Date()).format("YYYY-MM-DD HH:00:00")
getElectricityMeter({ modelId: queryParams.value.nodeId })
}
const LineChartRef = ref()
@@ -185,7 +185,6 @@
proxy.resetForm("queryRef")
queryParams.value.timeType = null
queryParams.value.dataTime = null
- handleTimeType(period.value[0].value)
handleQuery()
}
// 纰虫帓鏀剧鐞�-纰虫帓鏀鹃噺鏍哥畻-瀵煎嚭
diff --git a/zhitan-vue/src/views/energyefficiency/benchmarkmanage/benchmarkmanage.vue b/zhitan-vue/src/views/energyefficiency/benchmarkmanage/benchmarkmanage.vue
index aee4ffb..1e43c29 100644
--- a/zhitan-vue/src/views/energyefficiency/benchmarkmanage/benchmarkmanage.vue
+++ b/zhitan-vue/src/views/energyefficiency/benchmarkmanage/benchmarkmanage.vue
@@ -1,122 +1,136 @@
<template>
- <div class="page">
- <div class="form-card">
- <el-form :model="form" ref="queryRef" :inline="true" label-width="85px">
- <el-form-item label="鏍囨潌缂栧彿" prop="code">
- <el-input v-model="form.code" placeholder="璇疯緭鍏ユ爣鏉嗙紪鍙�" />
- </el-form-item>
- <el-form-item label="鏍囨潌绫诲瀷" prop="type">
- <el-select v-model="form.type" clearable>
- <el-option v-for="dict in benchmark_type" :key="dict.value" :label="dict.label"
- :value="dict.value" />
- </el-select>
- </el-form-item>
- <el-form-item label="鏍囨潌绛夌骇" prop="grade">
- <el-select v-model="form.grade" clearable>
- <el-option v-for="dict in benchmark_grade" :key="dict.value" :label="dict.label"
- :value="dict.value" />
- </el-select>
- </el-form-item>
- <el-form-item>
- <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
- <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
- </el-form-item>
- </el-form>
- </div>
- <div class="table-box">
- <div class=" mt20 mb20">
- <el-button type="primary" icon="Plus" @click="handleAdd">鏂板</el-button>
- </div>
- <el-table :data="tableData" v-loading="loading">
- <el-table-column prop="code" label="鏍囨潌缂栧彿" show-overflow-tooltip align="center" />
- <el-table-column prop="type" label="鏍囨潌绫诲瀷" show-overflow-tooltip align="center"
- :formatter="(row, c) => proxy.selectDictLabel(benchmark_type, row.type)" />
- <el-table-column prop="grade" label="鏍囨潌绛夌骇" show-overflow-tooltip align="center"
- :formatter="(row, c) => proxy.selectDictLabel(benchmark_grade, row.grade)" />
- <el-table-column prop="value" label="鏍囨潌鍊�" show-overflow-tooltip align="center" />
- <el-table-column prop="nationalNum" label="鍥芥爣缂栧彿" show-overflow-tooltip align="center" />
- <el-table-column prop="createBy" label="褰曞叆浜�" show-overflow-tooltip align="center" />
- <el-table-column prop="createTime" label="褰曞叆鏃堕棿" show-overflow-tooltip align="center" />
- <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip align="center" />
- <el-table-column prop="active" label="鎿嶄綔" width="150" align="center">
- <template #default="scope">
- <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)">
- 淇敼
- </el-button>
- <el-button link type="primary" icon="Delete" @click="handleDel(scope.row)">
- 鍒犻櫎
- </el-button>
- </template>
- </el-table-column>
- </el-table>
- <pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum"
- v-model:limit="queryParams.pageSize" @pagination="getList" />
- </div>
- <EditModal ref="EditModalRef" :benchmark_grade="benchmark_grade" :benchmark_type="benchmark_type"
- @getList="getList" />
-
+ <div class="page">
+ <div class="form-card">
+ <el-form :model="form" ref="queryRef" :inline="true" label-width="85px">
+ <el-form-item label="鏍囨潌缂栧彿" prop="code">
+ <el-input v-model="form.code" placeholder="璇疯緭鍏ユ爣鏉嗙紪鍙�" />
+ </el-form-item>
+ <el-form-item label="鏍囨潌绫诲瀷" prop="type">
+ <el-select v-model="form.type" clearable>
+ <el-option v-for="dict in benchmark_type" :key="dict.value" :label="dict.label" :value="dict.value" />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鏍囨潌绛夌骇" prop="grade">
+ <el-select v-model="form.grade" clearable>
+ <el-option v-for="dict in benchmark_grade" :key="dict.value" :label="dict.label" :value="dict.value" />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="Search" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="Refresh" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
</div>
+ <div class="table-bg-style">
+ <div class="theme-dark-mt20 mb20 ml20">
+ <el-button type="primary" icon="Plus" @click="handleAdd">鏂板</el-button>
+ </div>
+ <div class="table-box">
+ <el-table :data="tableData" v-loading="loading">
+ <el-table-column prop="code" label="鏍囨潌缂栧彿" show-overflow-tooltip align="center" />
+ <el-table-column
+ prop="type"
+ label="鏍囨潌绫诲瀷"
+ show-overflow-tooltip
+ align="center"
+ :formatter="(row, c) => proxy.selectDictLabel(benchmark_type, row.type)"
+ />
+ <el-table-column
+ prop="grade"
+ label="鏍囨潌绛夌骇"
+ show-overflow-tooltip
+ align="center"
+ :formatter="(row, c) => proxy.selectDictLabel(benchmark_grade, row.grade)"
+ />
+ <el-table-column prop="value" label="鏍囨潌鍊�" show-overflow-tooltip align="center" />
+ <el-table-column prop="nationalNum" label="鍥芥爣缂栧彿" show-overflow-tooltip align="center" />
+ <el-table-column prop="createBy" label="褰曞叆浜�" show-overflow-tooltip align="center" />
+ <el-table-column prop="createTime" label="褰曞叆鏃堕棿" show-overflow-tooltip align="center" />
+ <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip align="center" />
+ <el-table-column prop="active" label="鎿嶄綔" width="150" align="center">
+ <template #default="scope">
+ <el-button link type="primary" icon="Edit" @click="handleAdd(scope.row)"> 淇敼 </el-button>
+ <el-button link type="primary" icon="Delete" @click="handleDel(scope.row)"> 鍒犻櫎 </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <pagination
+ v-show="total > 0"
+ :total="total"
+ v-model:page="queryParams.pageNum"
+ v-model:limit="queryParams.pageSize"
+ @pagination="getList"
+ />
+ </div>
+ </div>
+
+ <EditModal
+ ref="EditModalRef"
+ :benchmark_grade="benchmark_grade"
+ :benchmark_type="benchmark_type"
+ @getList="getList"
+ />
+ </div>
</template>
<script setup>
-import EditModal from './components/EditModal.vue'
-import { valueManageList, valueManageDel } from '@/api/benchmarkManage'
+import EditModal from "./components/EditModal.vue"
+import { valueManageList, valueManageDel } from "@/api/benchmarkManage"
let proxy = getCurrentInstance().proxy
-let { benchmark_grade, benchmark_type } = proxy.useDict("benchmark_grade", 'benchmark_type')
+let { benchmark_grade, benchmark_type } = proxy.useDict("benchmark_grade", "benchmark_type")
let form = ref({
- code: null,
- type: null,
- grade: null,
+ code: null,
+ type: null,
+ grade: null,
})
function handleQuery() {
- queryParams.value.pageNum = 1
- getList()
+ queryParams.value.pageNum = 1
+ getList()
}
function resetQuery() {
- queryParams.value.pageNum = 1
- form.value = {}
- handleQuery();
+ queryParams.value.pageNum = 1
+ form.value = {}
+ handleQuery()
}
-
-let loading = ref(false);
-let total = ref(0);
+let loading = ref(false)
+let total = ref(0)
let tableData = ref([])
let queryParams = ref({
- pageNum: 1,
- pageSize: 10,
+ pageNum: 1,
+ pageSize: 10,
})
function getList(flag) {
- loading.value = true
- valueManageList({ ...queryParams.value, ...form.value }).then(res => {
- tableData.value = res.rows
- total.value = res.total
- loading.value = false
- })
-
+ loading.value = true
+ valueManageList({ ...queryParams.value, ...form.value }).then((res) => {
+ tableData.value = res.rows
+ total.value = res.total
+ loading.value = false
+ })
}
getList()
-let EditModalRef = ref('')
+let EditModalRef = ref("")
function handleAdd(row) {
- if (EditModalRef.value) {
- EditModalRef.value.handleOpen(row)
- }
-
+ if (EditModalRef.value) {
+ EditModalRef.value.handleOpen(row)
+ }
}
function handleDel(row) {
- proxy.$modal.confirm('鏄惁纭鍒犻櫎鏁版嵁椤�?').then(function () {
- return valueManageDel(row.id);
- }).then(() => {
- getList();
- proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(() => { });
+ proxy.$modal
+ .confirm("鏄惁纭鍒犻櫎鏁版嵁椤�?")
+ .then(function () {
+ return valueManageDel(row.id)
+ })
+ .then(() => {
+ getList()
+ proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
+ })
+ .catch(() => {})
}
-
</script>
-
<style lang="scss" scoped>
@import "@/assets/styles/page.scss";
diff --git a/zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue b/zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue
index a42b60d..82f3ef3 100644
--- a/zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue
+++ b/zhitan-vue/src/views/modelconfiguration/indexwarehouse/indexWarehouse.vue
@@ -5,38 +5,44 @@
<div class="tree page-box">
<!-- <CardHeader class="mb20">鐢ㄨ兘鍗曞厓缁撴瀯</CardHeader> -->
<!-- <el-input v-model="filterText" style="width: 240px" placeholder="杈撳叆鍏抽敭瀛楄繘琛岃繃婊�" class="mb10" /> -->
- <el-tree ref="treeRef" :props="defaultProps" :data="treeData" node-key="id" highlight-current
- :filter-node-method="filterNode" :default-expanded-keys="treeExpandData" :expand-on-click-node="false"
- @node-click="changeNode" accordion>
+ <el-tree
+ ref="treeRef"
+ :props="defaultProps"
+ :data="treeData"
+ node-key="id"
+ highlight-current
+ :filter-node-method="filterNode"
+ :default-expanded-keys="treeExpandData"
+ :expand-on-click-node="false"
+ @node-click="changeNode"
+ accordion
+ >
<template #default="{ node, data }">
<span>
- <el-tooltip v-if="node.label.length > 6" class="item" effect="dark" :content="node.label"
- placement="top-end">
+ <el-tooltip
+ v-if="node.label.length > 6"
+ class="item"
+ effect="dark"
+ :content="node.label"
+ placement="top-end"
+ >
<span>{{ node.label.slice(0, 6) + "..." }}</span>
</el-tooltip>
<span v-else id="b">{{ node.label }}</span>
</span>
<span class="node-opt">
- <el-link title="鏂板涓嬬骇鑺傜偣" icon="Plus" @click="() => addNode(node, data)">
- </el-link>
- <el-link title="淇敼鑺傜偣" icon="EditPen" @click="() => editNode(node, data)">
- </el-link>
- <el-link title="鍒犻櫎鑺傜偣" icon="Delete" @click="() => delNode(node, data)">
- </el-link>
+ <el-link title="鏂板涓嬬骇鑺傜偣" icon="Plus" @click="() => addNode(node, data)"> </el-link>
+ <el-link title="淇敼鑺傜偣" icon="EditPen" @click="() => editNode(node, data)"> </el-link>
+ <el-link title="鍒犻櫎鑺傜偣" icon="Delete" @click="() => delNode(node, data)"> </el-link>
</span>
</template>
</el-tree>
</div>
</div>
<div class="page-container-right">
-
<div class="mb20 mt20 ml20 tab-box">
- <div class="tab-li" :class="tab == 1 ? 'is-tab' : ''" @click="handleTab('1')">
- 璁¢噺鍣ㄥ叿閰嶇疆淇℃伅
- </div>
- <div class="tab-li" :class="tab == 2 ? 'is-tab' : ''" @click="handleTab('2')">
- 缁熻鎸囨爣
- </div>
+ <div class="tab-li" :class="tab == 1 ? 'is-tab' : ''" @click="handleTab('1')">璁¢噺鍣ㄥ叿閰嶇疆淇℃伅</div>
+ <div class="tab-li" :class="tab == 2 ? 'is-tab' : ''" @click="handleTab('2')">缁熻鎸囨爣</div>
<!-- <el-radio-group v-model="tab">
<el-radio-button label="1" @click="handleTab('1')"> 璁惧閰嶇疆</el-radio-button>
<el-radio-button label="2" @click="handleTab('2')"> 閲囬泦鎸囨爣</el-radio-button>
@@ -45,10 +51,10 @@
<BaseCard :title="currentNode ? currentNode.label + '--鑺傜偣閰嶇疆' : '鏆傛棤鑺傜偣閰嶇疆'">
<div>
<div class="content-box" v-if="tab == '1'">
- <deviceConfig ref='deviceConfigRef' />
+ <deviceConfig ref="deviceConfigRef" />
</div>
<div class="content-box1" v-if="tab == '2'">
- <statisticalIndicatorManagement ref='statisticalIndicatorManagementRef' :indexType='"STATISTIC"' />
+ <statisticalIndicatorManagement ref="statisticalIndicatorManagementRef" :indexType="'STATISTIC'" />
</div>
</div>
</BaseCard>
@@ -56,18 +62,22 @@
<!-- <statisticalIndicatorManagement ref="statisticalIndicatorManagementRef" :indexType='"STATISTIC"' /> -->
</div>
</div>
- <treeNodeModal ref="treeNodeModalRef" @getList="getTreeList" modelCode="JCZBK_CODE" @addTreeList="addTreeList"
- @addTreeSelectList="addTreeSelectList" />
+ <treeNodeModal
+ ref="treeNodeModalRef"
+ @getList="getTreeList"
+ modelCode="JCZBK_CODE"
+ @addTreeList="addTreeList"
+ @addTreeSelectList="addTreeSelectList"
+ />
</div>
-
</template>
<script setup>
-import treeNodeModal from './components/TreeNodeModal.vue'
-import deviceConfig from './components/deviceConfig/DeviceConfig.vue'
-import statisticalIndicatorManagement from './components/statisticalIndicatorManagement/statisticalIndicatorManagement.vue';
-import { treeList, delModelNode, hasEnergyIndex, } from '@/api/modelConfiguration/indexWarehouse'
-const { proxy } = getCurrentInstance();
+import treeNodeModal from "./components/TreeNodeModal.vue"
+import deviceConfig from "./components/deviceConfig/DeviceConfig.vue"
+import statisticalIndicatorManagement from "./components/statisticalIndicatorManagement/statisticalIndicatorManagement.vue"
+import { treeList, delModelNode, hasEnergyIndex } from "@/api/modelConfiguration/indexWarehouse"
+const { proxy } = getCurrentInstance()
let currentNode = ref()
let treeRef = ref()
@@ -75,12 +85,12 @@
let treeData = ref([])
const defaultProps = ref({
- children: 'children',
- label: 'label',
+ children: "children",
+ label: "label",
})
//妫�绱㈡爲
-let filterText = ref('')
+let filterText = ref("")
const filterNode = (value, data) => {
if (!value) return true
@@ -88,14 +98,14 @@
}
watch(filterText, (val) => {
// 妫�鏌reeRef.value鏄惁鏄竴涓湁鏁堢殑ElTree瀹炰緥
- if (treeRef.value && typeof treeRef.value.filter === 'function') {
+ if (treeRef.value && typeof treeRef.value.filter === "function") {
// 璋冪敤filter鏂规硶
- treeRef.value.filter(val);
+ treeRef.value.filter(val)
} else {
// treeRef.value鏃犳晥锛屽鐞嗛敊璇�
- console.error('error');
+ console.error("error")
}
-});
+})
let treeExpandData = ref([])
let isFirstLeafNode = ref(false)
@@ -103,32 +113,31 @@
let statisticalIndicatorManagementRef = ref(null)
//鑾峰彇鏍戝垪琛�
function getTreeList() {
- treeList({ modelCode: 'JCZBK_CODE' }).then(res => {
+ treeList({ modelCode: "JCZBK_CODE" }).then((res) => {
let { data } = res
- treeData.value = data;
- let chooseNode = null;
+ treeData.value = data
+ let chooseNode = null
if (data.length > 0) {
if (data[0].children && data[0].children.length !== 0 && isFirstLeafNode.value) {
if (data[0].children[0].children && data[0].children[0].children.length !== 0) {
- chooseNode = data[0].children[0].children[0];
+ chooseNode = data[0].children[0].children[0]
} else {
- chooseNode = data[0].children[0];
+ chooseNode = data[0].children[0]
}
} else {
- chooseNode = data[0];
+ chooseNode = data[0]
}
- currentNode.value = chooseNode;
- treeExpandData.value.push(chooseNode.id);
+ currentNode.value = chooseNode
+ treeExpandData.value.push(chooseNode.id)
nextTick(() => {
- treeRef.value.setCurrentKey(chooseNode.id);
+ treeRef.value.setCurrentKey(chooseNode.id)
if (tab.value == 1 && deviceConfigRef.value) {
deviceConfigRef.value.getList(chooseNode)
}
if (tab.value == 2 && statisticalIndicatorManagementRef.value) {
statisticalIndicatorManagementRef.value.getList(chooseNode)
}
-
- });
+ })
}
})
}
@@ -143,7 +152,7 @@
treeExpandData.value.push(addedNode.nodeId)
nextTick(() => {
treeRef.value.setCurrentNode(newChild)
- currentNode.value = newChild;
+ currentNode.value = newChild
if (tab.value == 1) {
if (deviceConfigRef.value) {
deviceConfigRef.value.getList(newChild)
@@ -155,11 +164,10 @@
}
}
})
-
}
//鏍戠偣鍑�
function changeNode(data, node, ev) {
- currentNode.value = data;
+ currentNode.value = data
if (tab.value == 1) {
if (deviceConfigRef.value) {
deviceConfigRef.value.getList(data)
@@ -171,7 +179,6 @@
}
}
}
-
let treeNodeModalRef = ref(null)
@@ -188,26 +195,27 @@
function delNode(node, data) {
if (data.children && data.children.length > 0) {
- proxy.$modal.msgWarning('鍖呭惈瀛愯妭鐐癸紝涓嶈兘杩涜鍒犻櫎锛�')
+ proxy.$modal.msgWarning("鍖呭惈瀛愯妭鐐癸紝涓嶈兘杩涜鍒犻櫎锛�")
return
}
- hasEnergyIndex(data.id).then(response => {
+ hasEnergyIndex(data.id).then((response) => {
if (response.data) {
- proxy.$modal.msgWarning('褰撳墠鑺傜偣涓嬪瓨鍦ㄦ寚鏍囷紝涓嶈兘杩涜鍒犻櫎锛�')
+ proxy.$modal.msgWarning("褰撳墠鑺傜偣涓嬪瓨鍦ㄦ寚鏍囷紝涓嶈兘杩涜鍒犻櫎锛�")
} else {
- proxy.$modal.confirm('鏄惁纭鍒犻櫎鍚嶄负"' + data.label + '"鐨勮妭鐐�?', '璀﹀憡', {
- confirmButtonText: '纭畾',
- cancelButtonText: '鍙栨秷',
- type: 'warning'
- })
+ proxy.$modal
+ .confirm('鏄惁纭鍒犻櫎鍚嶄负"' + data.label + '"鐨勮妭鐐�?', "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
.then(function () {
return delModelNode(data.id)
})
.then(() => {
let parent = node.parent
let children = parent.data.children || parent.data
- let index = children.findIndex(d => d.id === data.id)
+ let index = children.findIndex((d) => d.id === data.id)
children.splice(index, 1)
nextTick(() => {
@@ -217,10 +225,9 @@
changeNode(null)
}
})
- proxy.$modal.msgSuccess('鍒犻櫎鎴愬姛')
+ proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛")
})
- .catch(function () {
- })
+ .catch(function () {})
}
})
}
@@ -234,15 +241,12 @@
if (value == 2 && statisticalIndicatorManagementRef.value) {
statisticalIndicatorManagementRef.value.getList(currentNode.value)
}
-
- });
-
+ })
}
</script>
<style lang="scss" scoped>
@import "@/assets/styles/page.scss";
-
.page-box {
height: calc(100vh - 145px);
@@ -276,8 +280,6 @@
margin-right: 5px;
}
}
-
-
}
:deep .el-tabs__nav-wrap:after {
@@ -298,29 +300,40 @@
.tab-box {
display: flex;
align-items: center;
- color: #fff;
- border-bottom: 1px solid #3371EB;
+ color: #333;
+ border-bottom: 1px solid #3371eb;
margin-right: 20px;
.tab-li {
cursor: pointer;
- border: 1px solid #3371EB;
+ border: 1px solid #3371eb;
padding: 10px 25px;
border-radius: 5px 5px 0 0;
}
.is-tab {
- background: #3371EB;
+ background: #3371eb;
+ color: #fff;
+ }
+}
+
+.themeDark {
+ .tab-box {
+ color: #fff;
+ }
+}
+
+.themeLight {
+ .tab-box {
+ color: #333;
}
}
.content-box {
height: calc(100vh - 310px) !important;
-
}
.content-box1 {
height: calc(100vh - 290px) !important;
-
}
</style>
diff --git a/zhitan-vue/src/views/peakvalley/period/period.vue b/zhitan-vue/src/views/peakvalley/period/period.vue
index 749fa2e..a9551c6 100644
--- a/zhitan-vue/src/views/peakvalley/period/period.vue
+++ b/zhitan-vue/src/views/peakvalley/period/period.vue
@@ -555,16 +555,21 @@
display: flex;
justify-content: space-between;
padding: 18px;
+ width: 100%;
+ overflow: hidden;
+ overflow-x: auto;
.card-list-item {
- width: 19%;
- height: 187px;
+ flex-shrink: 0;
+ width: 230px;
+ height: 188px;
background: #223386;
border-radius: 5px 5px 5px 5px;
border: 1px solid #4868b7;
background-size: 100% 100%;
box-sizing: border-box;
padding: 10px 18px 13px 16px;
+ margin-right: 12px;
.item-top {
display: flex;
diff --git a/zhitan-vue/src/views/realtimemonitor/realtimemonitor/realtimemonitor.vue b/zhitan-vue/src/views/realtimemonitor/realtimemonitor/realtimemonitor.vue
index bab0dc2..23b7d46 100644
--- a/zhitan-vue/src/views/realtimemonitor/realtimemonitor/realtimemonitor.vue
+++ b/zhitan-vue/src/views/realtimemonitor/realtimemonitor/realtimemonitor.vue
@@ -9,13 +9,16 @@
<el-form :model="queryParams" ref="queryRef" :inline="true">
<el-form-item label="鑳芥簮绫诲瀷" prop="energyType">
<el-select v-model="queryParams.energyType" placeholder="鑳芥簮绫诲瀷" @change="handleQuery">
- <el-option :label="item.enername" :value="item.enersno" v-for="item in energyTypeList" :key="item.enersno" />
+ <el-option
+ :label="item.enername"
+ :value="item.enersno"
+ v-for="item in energyTypeList"
+ :key="item.enersno"
+ />
</el-select>
</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>
@@ -23,20 +26,24 @@
</el-form-item>
</el-form>
</div>
- <div style="
- height: calc(100vh - 220px) !important;
- max-height: calc(100vh - 220px) !important;
- overflow-y: auto;
- " v-loading="loading">
+ <div
+ style="height: calc(100vh - 220px) !important; max-height: calc(100vh - 220px) !important; overflow-y: auto"
+ v-loading="loading"
+ >
<div v-for="(item, index) in energyRealTimeMonitorList" :key="index" v-show="!!item.deviceArray">
<BaseCard :title="queryParams.nodeName + '-' + item.energyTypeName" v-if="item.deviceArray.length > 0">
<el-scrollbar>
<div class="scrollbar-flex-content">
<p></p>
- <div class="scrollbar-demo-item item-tag" @click="handleClick(item, index1)" v-for="item1,index1 in item.deviceArray" :key="index1" :style="{
- backgroundColor:
- index1 == item.activeIndex ? '#5EC894' : '#9841FC',
- }">
+ <div
+ class="scrollbar-demo-item item-tag"
+ @click="handleClick(item, index1)"
+ v-for="(item1, index1) in item.deviceArray"
+ :key="index1"
+ :style="{
+ backgroundColor: index1 == item.activeIndex ? '#5EC894' : '#9841FC',
+ }"
+ >
{{ item1.deviceName }}
</div>
</div>
@@ -71,18 +78,18 @@
{{ item.deviceArray[item.activeIndex].energyTypeName }}
</div>
<div class="card-box-ul">
- <div class="card-box-li" v-for="(item2, index2) in item.deviceArray[item.activeIndex]
- .energyIndexArray">
+ <div
+ class="card-box-li"
+ v-for="(item2, index2) in item.deviceArray[item.activeIndex].energyIndexArray"
+ >
<el-tooltip class="box-item" effect="dark" content="鏌ョ湅鍘嗗彶鏁版嵁" placement="top">
<dl @click="handleChartModal(item2)">
<dd class="title">
{{ item2.name }}
- <template v-if="!!item2.unit">
- ({{ item2.unit }})
- </template>
+ <template v-if="!!item2.unit"> ({{ item2.unit }}) </template>
</dd>
<dd class="num">
- {{ item2.value!=null ? item2.value.toFixed(2) : '--' }}
+ {{ item2.value != null ? item2.value.toFixed(2) : "--" }}
</dd>
<dd class="time">
<el-icon>
@@ -105,22 +112,22 @@
</div>
</template>
<script setup name="energy-real-time-monitor">
-import chartModal from "./components/chart-modal.vue";
-import { listEnergyRealTimeMonitor } from "@/api/realTimeMonitor/realTimeMonitor";
-import { listEnergyTypeList } from "@/api/modelConfiguration/energyType";
-const { proxy } = getCurrentInstance();
-import { useRoute } from "vue-router";
-import useSettingsStore from "@/store/modules/settings";
-const settingsStore = useSettingsStore();
+import chartModal from "./components/chart-modal.vue"
+import { listEnergyRealTimeMonitor } from "@/api/realTimeMonitor/realTimeMonitor"
+import { listEnergyTypeList } from "@/api/modelConfiguration/energyType"
+const { proxy } = getCurrentInstance()
+import { useRoute } from "vue-router"
+import useSettingsStore from "@/store/modules/settings"
+const settingsStore = useSettingsStore()
watch(
() => settingsStore.sideTheme,
(val) => {
- getList();
+ getList()
}
-);
-const energyTypeList = ref(undefined);
-let energyRealTimeMonitorList = ref([]);
-const loading = ref(false);
+)
+const energyTypeList = ref(undefined)
+let energyRealTimeMonitorList = ref([])
+const loading = ref(false)
const data = reactive({
queryParams: {
nodeId: null,
@@ -128,24 +135,24 @@
energyType: null,
},
query: { ...useRoute().query },
-});
-const { queryParams, query } = toRefs(data);
+})
+const { queryParams, query } = toRefs(data)
/** 鑺傜偣鍗曞嚮浜嬩欢 */
function handleNodeClick(data) {
- queryParams.value.nodeId = data.id;
- queryParams.value.nodeName = data.label;
+ queryParams.value.nodeId = data.id
+ queryParams.value.nodeName = data.label
listEnergyTypeList().then((res) => {
- energyTypeList.value = res.data;
- queryParams.value.energyType = energyTypeList.value[0].enersno;
- handleQuery();
- });
+ energyTypeList.value = res.data
+ queryParams.value.energyType = energyTypeList.value[0].enersno
+ handleQuery()
+ })
}
function handleClick(item, index) {
- item.activeIndex = index;
+ item.activeIndex = index
}
// 鑳芥簮瀹炴椂鐩戞帶-鑳芥簮瀹炴椂鐩戞帶-鍒楄〃
function getList() {
- loading.value = true;
+ loading.value = true
listEnergyRealTimeMonitor(
proxy.addDateRange({
...queryParams.value,
@@ -154,31 +161,31 @@
).then((res) => {
if (!!res.code && res.code == 200) {
res.data.map((item) => {
- item.activeIndex = 0;
- });
- loading.value = false;
- energyRealTimeMonitorList.value = res.data;
+ item.activeIndex = 0
+ })
+ loading.value = false
+ energyRealTimeMonitorList.value = res.data
}
- });
+ })
}
// 鑳芥簮瀹炴椂鐩戞帶-鑳芥簮瀹炴椂鐩戞帶-鎼滅储
function handleQuery() {
- energyRealTimeMonitorList.value = [];
- getList();
+ energyRealTimeMonitorList.value = []
+ getList()
}
// 鑳芥簮瀹炴椂鐩戞帶-鑳芥簮瀹炴椂鐩戞帶-閲嶇疆
function resetQuery() {
- proxy.resetForm("queryRef");
- queryParams.value.energyType = null;
- energyRealTimeMonitorList.value = [];
- handleQuery();
+ proxy.resetForm("queryRef")
+ queryParams.value.energyType = null
+ energyRealTimeMonitorList.value = []
+ handleQuery()
}
-let chartRef = ref();
+let chartRef = ref()
function handleChartModal(row) {
if (chartRef.value) {
row.nodeName = queryParams.value.nodeName
- chartRef.value.handleOpen(row);
+ chartRef.value.handleOpen(row)
}
}
</script>
@@ -213,6 +220,7 @@
&-li {
width: 18%;
+ min-width: 190px;
margin: 1%;
border-radius: 5px;
border: 1px solid #22408c;
@@ -235,11 +243,10 @@
}
.num {
- font-size: 22px;
+ font-size: 24px;
color: #36d3ff;
font-family: OPPOSans, OPPOSans;
font-weight: 800;
- font-size: 32px;
text-align: left;
font-style: normal;
text-transform: none;
@@ -252,6 +259,7 @@
text-align: left;
font-style: normal;
text-transform: none;
+ font-size: 14px;
}
}
@@ -423,12 +431,12 @@
.item-tag {
// width: 13%;
text-align: center;
- margin: 5px 8px;
+ margin: 2px 6px;
border-radius: 8px;
- padding: 7px 10px;
+ padding: 5px 10px;
font-family: OPPOSans, OPPOSans;
font-weight: 500;
- font-size: 16px;
+ font-size: 14px;
color: #ffffff;
cursor: pointer;
}
--
Gitblit v1.9.3