From 9c59a7e7156245ec28f5800a5743ec5c599ec194 Mon Sep 17 00:00:00 2001
From: juzi <819872918@qq.com>
Date: Tue, 5 Sep 2023 15:45:59 +0800
Subject: [PATCH] =?UTF-8?q?=E8=83=BD=E6=BA=90=E5=88=86=E6=9E=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
package.json | 1 +
src/api/analysis/energyAnalysis.js | 37 ++
src/api/monitoring/energyReport.js | 6 +-
src/utils/chartMixins/resize.js | 64 +++
src/utils/debounce.js | 40 ++
src/utils/dict.js | 3 +-
.../contrastAnalysis/components/barChart.vue | 77 ++++
.../contrastAnalysis/components/lineChart.vue | 78 ++++
.../components/searchArea.vue | 363 +++++++++++++++++
.../analysis/contrastAnalysis/index.vue | 64 +++
.../qoqAnalysis/components/lineChart.vue | 109 ++++++
.../qoqAnalysis/components/searchArea.vue | 181 +++++++++
.../energy/analysis/qoqAnalysis/index.vue | 109 ++++++
.../trendAnalysis/components/barChart.vue | 77 ++++
.../trendAnalysis/components/lineChart.vue | 78 ++++
.../trendAnalysis/components/searchArea.vue | 364 ++++++++++++++++++
.../energy/analysis/trendAnalysis/index.vue | 64 +++
.../yoyAnalysis/components/lineChart.vue | 104 +++++
.../yoyAnalysis/components/searchArea.vue | 156 ++++++++
.../energy/analysis/yoyAnalysis/index.vue | 116 ++++++
.../energy/base/energyPlcConnect/index.vue | 10 +-
.../base/energyQuantityRealtime/index.vue | 1 +
.../energyLimit/components/energyLimitAdd.vue | 51 ++-
.../energy/monitoring/energyLimit/index.vue | 2 +-
.../energy/monitoring/energyReport/index.vue | 56 +--
.../monitoring/energyReportSearch/index.vue | 76 ++--
.../components/energyStatisticsDet.vue | 4 +
.../components/energyStatisticsDetAdd.vue | 4 +
src/views/group/base/groupTeam/index.vue | 8 +-
29 files changed, 2203 insertions(+), 100 deletions(-)
create mode 100644 src/api/analysis/energyAnalysis.js
create mode 100644 src/utils/chartMixins/resize.js
create mode 100644 src/utils/debounce.js
create mode 100644 src/views/energy/analysis/contrastAnalysis/components/barChart.vue
create mode 100644 src/views/energy/analysis/contrastAnalysis/components/lineChart.vue
create mode 100644 src/views/energy/analysis/contrastAnalysis/components/searchArea.vue
create mode 100644 src/views/energy/analysis/contrastAnalysis/index.vue
create mode 100644 src/views/energy/analysis/qoqAnalysis/components/lineChart.vue
create mode 100644 src/views/energy/analysis/qoqAnalysis/components/searchArea.vue
create mode 100644 src/views/energy/analysis/qoqAnalysis/index.vue
create mode 100644 src/views/energy/analysis/trendAnalysis/components/barChart.vue
create mode 100644 src/views/energy/analysis/trendAnalysis/components/lineChart.vue
create mode 100644 src/views/energy/analysis/trendAnalysis/components/searchArea.vue
create mode 100644 src/views/energy/analysis/trendAnalysis/index.vue
create mode 100644 src/views/energy/analysis/yoyAnalysis/components/lineChart.vue
create mode 100644 src/views/energy/analysis/yoyAnalysis/components/searchArea.vue
create mode 100644 src/views/energy/analysis/yoyAnalysis/index.vue
diff --git a/package.json b/package.json
index b7ef11cc..5bb88d64 100644
--- a/package.json
+++ b/package.json
@@ -74,6 +74,7 @@
"vue-video-player": "^5.0.2",
"vuedraggable": "2.24.3",
"vuex": "3.6.2",
+ "xlsx": "^0.18.5",
"xml-js": "1.6.11"
},
"devDependencies": {
diff --git a/src/api/analysis/energyAnalysis.js b/src/api/analysis/energyAnalysis.js
new file mode 100644
index 00000000..16e466bd
--- /dev/null
+++ b/src/api/analysis/energyAnalysis.js
@@ -0,0 +1,37 @@
+import request from '@/utils/request'
+
+// 获取走势分析数据
+export function getEnergyTrend(data) {
+ return request({
+ url: '/analysis/energy-analysis/getTrend',
+ method: 'post',
+ data: data
+ })
+}
+
+// 获取对比分析数据
+export function getCompare(data) {
+ return request({
+ url: '/analysis/energy-analysis/getCompare',
+ method: 'post',
+ data: data
+ })
+}
+
+// 获取同比分析数据(1:季度,2:月;3:日)
+export function getYoy(data) {
+ return request({
+ url: '/analysis/energy-analysis/getYoy',
+ method: 'post',
+ data: data
+ })
+}
+
+// 获取环比分析数据(1:月,2:周,3:日)
+export function getQoq(data) {
+ return request({
+ url: '/analysis/energy-analysis/getChain',
+ method: 'post',
+ data: data
+ })
+}
\ No newline at end of file
diff --git a/src/api/monitoring/energyReport.js b/src/api/monitoring/energyReport.js
index 89dde91f..1e585b22 100644
--- a/src/api/monitoring/energyReport.js
+++ b/src/api/monitoring/energyReport.js
@@ -23,7 +23,8 @@ export function energyReportPageExport(data) {
return request({
url: '/monitoring/energy-report/export',
method: 'post',
- data: data
+ data: data,
+ responseType: 'blob'
})
}
@@ -32,6 +33,7 @@ export function energyReportPageExportAuto(data) {
return request({
url: '/monitoring/energy-report/exportAuto',
method: 'post',
- data: data
+ data: data,
+ responseType: 'blob'
})
}
\ No newline at end of file
diff --git a/src/utils/chartMixins/resize.js b/src/utils/chartMixins/resize.js
new file mode 100644
index 00000000..e77f0a4f
--- /dev/null
+++ b/src/utils/chartMixins/resize.js
@@ -0,0 +1,64 @@
+import { debounce } from '@/utils/debounce'
+
+export default {
+ data() {
+ return {
+ $_sidebarElm: null,
+ $_resizeHandler: null
+ }
+ },
+ mounted() {
+ this.$_resizeHandler = debounce(() => {
+ if (this.chart) {
+ this.chart.resize()
+ }
+ }, 100)
+ this.$_initResizeEvent()
+ this.$_initSidebarResizeEvent()
+ },
+ beforeDestroy() {
+ this.$_destroyResizeEvent()
+ this.$_destroySidebarResizeEvent()
+ },
+ // to fixed bug when cached by keep-alive
+ // https://github.com/PanJiaChen/vue-element-admin/issues/2116
+ activated() {
+ this.$_initResizeEvent()
+ this.$_initSidebarResizeEvent()
+ },
+ deactivated() {
+ this.$_destroyResizeEvent()
+ this.$_destroySidebarResizeEvent()
+ },
+ methods: {
+ // use $_ for mixins properties
+ // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
+ $_initResizeEvent() {
+ window.addEventListener('resize', this.$_resizeHandler)
+ },
+ $_destroyResizeEvent() {
+ window.removeEventListener('resize', this.$_resizeHandler)
+ },
+ $_sidebarResizeHandler(e) {
+ if (e.propertyName === 'width') {
+ this.$_resizeHandler()
+ }
+ },
+ $_initSidebarResizeEvent() {
+ this.$_sidebarElm =
+ document.getElementsByClassName('sidebar-container')[0]
+ this.$_sidebarElm &&
+ this.$_sidebarElm.addEventListener(
+ 'transitionend',
+ this.$_sidebarResizeHandler
+ )
+ },
+ $_destroySidebarResizeEvent() {
+ this.$_sidebarElm &&
+ this.$_sidebarElm.removeEventListener(
+ 'transitionend',
+ this.$_sidebarResizeHandler
+ )
+ }
+ }
+}
diff --git a/src/utils/debounce.js b/src/utils/debounce.js
new file mode 100644
index 00000000..7d325fc1
--- /dev/null
+++ b/src/utils/debounce.js
@@ -0,0 +1,40 @@
+/**
+ * @param {Function} func
+ * @param {number} wait
+ * @param {boolean} immediate
+ * @return {*}
+ */
+export function debounce(func, wait, immediate) {
+ let timeout, args, context, timestamp, result
+
+ const later = function () {
+ // 据上一次触发时间间隔
+ const last = +new Date() - timestamp
+
+ // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait
+ if (last < wait && last > 0) {
+ timeout = setTimeout(later, wait - last)
+ } else {
+ timeout = null
+ // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用
+ if (!immediate) {
+ result = func.apply(context, args)
+ if (!timeout) context = args = null
+ }
+ }
+ }
+
+ return function (...args) {
+ context = this
+ timestamp = +new Date()
+ const callNow = immediate && !timeout
+ // 如果延时不存在,重新设定延时
+ if (!timeout) timeout = setTimeout(later, wait)
+ if (callNow) {
+ result = func.apply(context, args)
+ context = args = null
+ }
+
+ return result
+ }
+}
diff --git a/src/utils/dict.js b/src/utils/dict.js
index cd20bbbd..efd89ef3 100644
--- a/src/utils/dict.js
+++ b/src/utils/dict.js
@@ -91,7 +91,8 @@ export const DICT_TYPE = {
ENERGY_UNIT: 'energy_unit',
MONITOR_INDEX_TYPE: 'monitor_index_type',
OBJECT_TYPE: 'object_type',
- STATISTIC_TYPE: 'statistic_type'
+ STATISTIC_TYPE: 'statistic_type',
+ TIME_DIM: 'time_dim'
}
/**
diff --git a/src/views/energy/analysis/contrastAnalysis/components/barChart.vue b/src/views/energy/analysis/contrastAnalysis/components/barChart.vue
new file mode 100644
index 00000000..ecb26ae1
--- /dev/null
+++ b/src/views/energy/analysis/contrastAnalysis/components/barChart.vue
@@ -0,0 +1,77 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/contrastAnalysis/components/lineChart.vue b/src/views/energy/analysis/contrastAnalysis/components/lineChart.vue
new file mode 100644
index 00000000..593017aa
--- /dev/null
+++ b/src/views/energy/analysis/contrastAnalysis/components/lineChart.vue
@@ -0,0 +1,78 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/contrastAnalysis/components/searchArea.vue b/src/views/energy/analysis/contrastAnalysis/components/searchArea.vue
new file mode 100644
index 00000000..bfe7af22
--- /dev/null
+++ b/src/views/energy/analysis/contrastAnalysis/components/searchArea.vue
@@ -0,0 +1,363 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/contrastAnalysis/index.vue b/src/views/energy/analysis/contrastAnalysis/index.vue
new file mode 100644
index 00000000..69bf6c49
--- /dev/null
+++ b/src/views/energy/analysis/contrastAnalysis/index.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/qoqAnalysis/components/lineChart.vue b/src/views/energy/analysis/qoqAnalysis/components/lineChart.vue
new file mode 100644
index 00000000..64968301
--- /dev/null
+++ b/src/views/energy/analysis/qoqAnalysis/components/lineChart.vue
@@ -0,0 +1,109 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/qoqAnalysis/components/searchArea.vue b/src/views/energy/analysis/qoqAnalysis/components/searchArea.vue
new file mode 100644
index 00000000..9eea64d3
--- /dev/null
+++ b/src/views/energy/analysis/qoqAnalysis/components/searchArea.vue
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+ 导出
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/qoqAnalysis/index.vue b/src/views/energy/analysis/qoqAnalysis/index.vue
new file mode 100644
index 00000000..0a76dd41
--- /dev/null
+++ b/src/views/energy/analysis/qoqAnalysis/index.vue
@@ -0,0 +1,109 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/trendAnalysis/components/barChart.vue b/src/views/energy/analysis/trendAnalysis/components/barChart.vue
new file mode 100644
index 00000000..ecb26ae1
--- /dev/null
+++ b/src/views/energy/analysis/trendAnalysis/components/barChart.vue
@@ -0,0 +1,77 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/trendAnalysis/components/lineChart.vue b/src/views/energy/analysis/trendAnalysis/components/lineChart.vue
new file mode 100644
index 00000000..593017aa
--- /dev/null
+++ b/src/views/energy/analysis/trendAnalysis/components/lineChart.vue
@@ -0,0 +1,78 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/trendAnalysis/components/searchArea.vue b/src/views/energy/analysis/trendAnalysis/components/searchArea.vue
new file mode 100644
index 00000000..fa75aea6
--- /dev/null
+++ b/src/views/energy/analysis/trendAnalysis/components/searchArea.vue
@@ -0,0 +1,364 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+
+
+
+
+ -
+
+
+
+
+
+ 查询
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/trendAnalysis/index.vue b/src/views/energy/analysis/trendAnalysis/index.vue
new file mode 100644
index 00000000..059ecfed
--- /dev/null
+++ b/src/views/energy/analysis/trendAnalysis/index.vue
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/yoyAnalysis/components/lineChart.vue b/src/views/energy/analysis/yoyAnalysis/components/lineChart.vue
new file mode 100644
index 00000000..6d80bd0e
--- /dev/null
+++ b/src/views/energy/analysis/yoyAnalysis/components/lineChart.vue
@@ -0,0 +1,104 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/yoyAnalysis/components/searchArea.vue b/src/views/energy/analysis/yoyAnalysis/components/searchArea.vue
new file mode 100644
index 00000000..2b2a74be
--- /dev/null
+++ b/src/views/energy/analysis/yoyAnalysis/components/searchArea.vue
@@ -0,0 +1,156 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+
+
+
+
+ 导出
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/analysis/yoyAnalysis/index.vue b/src/views/energy/analysis/yoyAnalysis/index.vue
new file mode 100644
index 00000000..2a697c6a
--- /dev/null
+++ b/src/views/energy/analysis/yoyAnalysis/index.vue
@@ -0,0 +1,116 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/energy/base/energyPlcConnect/index.vue b/src/views/energy/base/energyPlcConnect/index.vue
index 10d90aec..539e7436 100644
--- a/src/views/energy/base/energyPlcConnect/index.vue
+++ b/src/views/energy/base/energyPlcConnect/index.vue
@@ -50,7 +50,7 @@ import { getEnergyPlcConnectPage, deleteEnergyPlcConnect } from "@/api/base/ener
// import { publicFormatter } from '@/utils/dict'
import { getTree } from '@/api/base/factory'
import { getEnergyTypeListAll } from '@/api/base/energyType'
-import EnergyPlcConnectAdd from './components/energyPlcConnectAdd.vue'
+import EnergyPlcConnectAdd from './components/energyPlcConnectAdd'
import EnergyPlcParam from './components/energyPlcParam'
const tableProps = [
{
@@ -61,6 +61,10 @@ const tableProps = [
prop: 'objCode',
label: '对象编码'
},
+ {
+ prop: 'remark',
+ label: '对象备注'
+ },
{
prop: 'plcTableName',
label: '关联表名'
@@ -76,10 +80,6 @@ const tableProps = [
{
prop: 'varNum',
label: '绑定参数数量'
- },
- {
- prop: 'remark',
- label: '备注'
}
]
export default {
diff --git a/src/views/energy/base/energyQuantityRealtime/index.vue b/src/views/energy/base/energyQuantityRealtime/index.vue
index 835fc656..d642fa61 100644
--- a/src/views/energy/base/energyQuantityRealtime/index.vue
+++ b/src/views/energy/base/energyQuantityRealtime/index.vue
@@ -137,6 +137,7 @@ export default {
this.$modal.confirm('是否确认导出').then(() => {
return exportEnergyQuantityRealtimeExcel({...this.queryParams});
}).then(response => {
+ console.log(response)
this.$download.excel(response, '能源抄表.xls');
}).catch(() => {})
}
diff --git a/src/views/energy/monitoring/energyLimit/components/energyLimitAdd.vue b/src/views/energy/monitoring/energyLimit/components/energyLimitAdd.vue
index aff1a102..0ee81797 100644
--- a/src/views/energy/monitoring/energyLimit/components/energyLimitAdd.vue
+++ b/src/views/energy/monitoring/energyLimit/components/energyLimitAdd.vue
@@ -27,12 +27,12 @@
-
+
+ v-for="item in detailList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
@@ -52,7 +52,7 @@