diff --git a/web/src/components/Home/Charge.vue b/web/src/components/Home/Charge.vue
index a40f1e1..8975c67 100644
--- a/web/src/components/Home/Charge.vue
+++ b/web/src/components/Home/Charge.vue
@@ -40,7 +40,7 @@ export default {
colorStart: ' rgba(10, 250, 106, 0.15)',
colorEnd: ' rgba(171, 255, 249, 0.3)',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
{
name: '充电次数',
@@ -60,7 +60,7 @@ export default {
colorStart: ' rgba(10, 250, 106, 0.15)',
colorEnd: ' rgba(171, 255, 249, 0.3)',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
{
name: '充电收益',
diff --git a/web/src/components/Home/Energy.vue b/web/src/components/Home/Energy.vue
index f650b15..cc9fa4b 100644
--- a/web/src/components/Home/Energy.vue
+++ b/web/src/components/Home/Energy.vue
@@ -37,14 +37,14 @@ export default {
key: 'storage_elect_in',
lineColor: '#22E4FF',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
{
name: '放电电量',
key: 'storage_elect_out',
lineColor: '#0E68E4',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
}
],
energyChart: null,
@@ -164,7 +164,7 @@ export default {
}
},
yAxis: {
- name: '电量(kW·h)',
+ name: '电量(kWh)',
nameTextStyle: { color: '#fff' },
type: 'value',
splitNumber: 2,
diff --git a/web/src/components/Home/Modal/DisCharge.vue b/web/src/components/Home/Modal/DisCharge.vue
index 0ea11bf..c7fc429 100644
--- a/web/src/components/Home/Modal/DisCharge.vue
+++ b/web/src/components/Home/Modal/DisCharge.vue
@@ -23,14 +23,14 @@ export default {
key: 'storage_elect_in',
lineColor: '#9BD801',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
{
name: '放电电量',
key: 'storage_elect_out',
lineColor: '#3DFEFA',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
}
],
diff --git a/web/src/components/Home/Modal/Revenue.vue b/web/src/components/Home/Modal/Revenue.vue
index 3b66b91..f69f5f8 100644
--- a/web/src/components/Home/Modal/Revenue.vue
+++ b/web/src/components/Home/Modal/Revenue.vue
@@ -26,7 +26,7 @@ export default {
colorStart: ' rgba(10, 250, 106, 0.15)',
colorEnd: ' rgba(171, 255, 249, 0.3)',
value:0,
- d:'kW·h'
+ d:'kWh'
},
],
diff --git a/web/src/components/Home/Modal/StationCurrent.vue b/web/src/components/Home/Modal/StationCurrent.vue
index 61a5492..e29c569 100644
--- a/web/src/components/Home/Modal/StationCurrent.vue
+++ b/web/src/components/Home/Modal/StationCurrent.vue
@@ -23,14 +23,14 @@ export default {
key: 'storage_elect_in',
lineColor: '#9BD801',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
{
name: '充电设备',
key: 'storage_elect_out',
lineColor: '#3DFEFA',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
}
],
diff --git a/web/src/components/Home/Modal/StationPower.vue b/web/src/components/Home/Modal/StationPower.vue
index 6ca2d8a..fa16a68 100644
--- a/web/src/components/Home/Modal/StationPower.vue
+++ b/web/src/components/Home/Modal/StationPower.vue
@@ -23,29 +23,29 @@ export default {
key: 'storage_elect_in',
lineColor: '#9BD801',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
{
name: '充电设备',
key: 'storage_elect_out',
lineColor: '#3DFEFA',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
- {
- name: '光伏设备',
- key: 'storage_elect_out',
- lineColor: '#3DFEFA',
- value: 0,
- d: 'kW·h'
- },
- {
- name: '电网侧',
- key: 'storage_elect_out',
- lineColor: '#3DFEFA',
- value: 0,
- d: 'kW·h'
- }
+ // {
+ // name: '光伏设备',
+ // key: 'storage_elect_out',
+ // lineColor: '#3DFEFA',
+ // value: 0,
+ // d: 'kWh'
+ // },
+ // {
+ // name: '电网侧',
+ // key: 'storage_elect_out',
+ // lineColor: '#3DFEFA',
+ // value: 0,
+ // d: 'kWh'
+ // }
],
myChart: null,
diff --git a/web/src/components/Home/Modal/StationVoltage.vue b/web/src/components/Home/Modal/StationVoltage.vue
index 953fc3a..ce4ed09 100644
--- a/web/src/components/Home/Modal/StationVoltage.vue
+++ b/web/src/components/Home/Modal/StationVoltage.vue
@@ -23,14 +23,14 @@ export default {
key: 'storage_elect_in',
lineColor: '#9BD801',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
{
name: '充电设备',
key: 'storage_elect_out',
lineColor: '#3DFEFA',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
}
],
diff --git a/web/src/components/Home/Modal/Utilization.vue b/web/src/components/Home/Modal/Utilization.vue
index 22e30ca..251cd0d 100644
--- a/web/src/components/Home/Modal/Utilization.vue
+++ b/web/src/components/Home/Modal/Utilization.vue
@@ -23,7 +23,7 @@ export default {
key: 'usage_rate',
lineColor: '#F69B52',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
}
],
diff --git a/web/src/components/Home/Pv.vue b/web/src/components/Home/Pv.vue
index 8be8fc2..c13a657 100644
--- a/web/src/components/Home/Pv.vue
+++ b/web/src/components/Home/Pv.vue
@@ -35,14 +35,14 @@ export default {
key: 'solar_elect_gen',
lineColor: '#22E4FF',
value: 0,
- d: 'kW·h'
+ d: 'kWh'
},
// {
// name: '入网电量',
// key: 'solar_elect_grid',
// lineColor: '#0E68E4',
// value: 0,
- // d: 'kW·h'
+ // d: 'kWh'
// }
],
pvChart: null,
@@ -161,7 +161,7 @@ export default {
}
},
yAxis: {
- name: '电量(kW·h)',
+ name: '电量(kWh)',
nameTextStyle: { color: '#fff' },
type: 'value',
splitNumber: 2,
diff --git a/web/src/views/statisticalAnalysis.vue b/web/src/views/statisticalAnalysis.vue
index 66014c6..4a621a6 100644
--- a/web/src/views/statisticalAnalysis.vue
+++ b/web/src/views/statisticalAnalysis.vue
@@ -41,7 +41,7 @@
-
@@ -108,16 +119,15 @@ export default {
{ key: 'storage_elect_in', label: '日充电电量', lineColor: '#2A82E4' },
{ key: 'storage_elect_out', label: '日放电电量', lineColor: '#5AABF2' }
],
- yAxisOption:[
+ yAxisOption: [
{
- name: '电量(kW·h)',
+ name: '电量(kWh)',
type: 'value',
nameTextStyle: { color: '#fff' },
splitLine: { lineStyle: { type: 'dashed', color: '#435463' } },
- axisLabel: { interval: 4, color: '#fff', fontSize:12 },
+ axisLabel: { interval: 4, color: '#fff', fontSize: 12 },
}
]
-
},
{
title: '运行状态分析',
@@ -125,20 +135,11 @@ export default {
dataKey: 'users',
yAxisOption:[
{
- name: '日故障次数(V)',
+ name: '日故障次数',
type: 'value',
- nameTextStyle: {
- color: '#fff'
- },
- splitLine: {
- lineStyle: { type: 'dashed', color: '#435463' }
- },
- axisLabel: {
- interval: 4,
- color: '#fff',
- fontSize:12
-
- },
+ nameTextStyle: { color: '#fff' },
+ splitLine: { lineStyle: { type: 'dashed', color: '#435463' } },
+ axisLabel: { interval: 4, color: '#fff', fontSize:12 },
},
// {
// name: '工作时长(h)',
@@ -220,6 +221,24 @@ export default {
title: '今日功率分析',
type: 'line',
dataKey: 'yearly',
+ yAxisOption:[
+ {
+ name: '功率(kW)',
+ type: 'value',
+ nameTextStyle: {
+ color: '#fff'
+ },
+ splitLine: {
+ lineStyle: { type: 'dashed', color: '#435463' }
+ },
+ axisLabel: {
+ interval: 4,
+ color: '#fff',
+ fontSize:12
+
+ },
+ },
+ ],
infoKeys: [
{
key: 'P',
@@ -240,16 +259,34 @@ export default {
title: '充电分析',
type: 'bar',
dataKey: 'sales',
- infoKeys: [{ key: 'storage_elect_in', label: '日充电电量', lineColor: '#2A82E4' }]
+ infoKeys: [{ key: 'charge_elect', label: '日充电电量', lineColor: '#2A82E4' }],
+ yAxisOption:[
+ {
+ name: '电量(kWh)',
+ type: 'value',
+ nameTextStyle: { color: '#fff' },
+ splitLine: { lineStyle: { type: 'dashed', color: '#435463' } },
+ axisLabel: { interval: 4, color: '#fff', fontSize:12 },
+ }
+ ]
},
{
title: '运行状态分析',
type: 'bar',
dataKey: 'users',
infoKeys: [
- { key: 'storage_num_err', label: '日充电次数', lineColor: '#0CDAF5' },
- { key: 'key3', label: '日故障次数', lineColor: '#5AABF2' },
+ { key: 'charge_num', label: '日充电次数', lineColor: '#0CDAF5' },
+ { key: 'charge_num_err', label: '日故障次数', lineColor: '#5AABF2' },
// { key: 'key3', label: '日充电时长', lineColor: '#5AABF2' }
+ ],
+ yAxisOption:[
+ {
+ name: '次数',
+ type: 'value',
+ nameTextStyle: { color: '#fff' },
+ splitLine: { lineStyle: { type: 'dashed', color: '#435463' } },
+ axisLabel: { interval: 4, color: '#fff', fontSize:12 },
+ }
]
},
{
@@ -311,12 +348,15 @@ export default {
type: 'line',
dataKey: 'yearly',
infoKeys: [
+ { key: 'P', label: '功率', lineColor: '#00FFFB', colorStart: ' rgba(10, 250, 106, 0.15)', colorEnd: ' rgba(171, 255, 249, 0.3)' }
+ ],
+ yAxisOption:[
{
- key: 'P',
- label: '功率',
- lineColor: '#00FFFB',
- colorStart: ' rgba(10, 250, 106, 0.15)',
- colorEnd: ' rgba(171, 255, 249, 0.3)'
+ name: '功率(kW)',
+ type: 'value',
+ nameTextStyle: { color: '#fff' },
+ splitLine: { lineStyle: { type: 'dashed', color: '#435463' } },
+ axisLabel: { interval: 4, color: '#fff', fontSize:12 },
}
]
}
@@ -329,14 +369,23 @@ export default {
title: '发电电量分析',
type: 'bar',
dataKey: 'sales',
- infoKeys: [{ key: 'storage_elect_in', label: '日发电电量', lineColor: '#2A82E4' }]
+ infoKeys: [{ key: 'solar_elect_gen', label: '日发电电量', lineColor: '#2A82E4' }],
+ yAxisOption:[
+ {
+ name: '电量(kWh)',
+ type: 'value',
+ nameTextStyle: { color: '#fff' },
+ splitLine: { lineStyle: { type: 'dashed', color: '#435463' } },
+ axisLabel: { interval: 4, color: '#fff', fontSize:12 },
+ }
+ ]
},
{
title: '运行状态分析',
type: 'bar',
dataKey: 'users',
infoKeys: [
- { key: 'storage_num_err', label: '日故障次数', lineColor: '#0CDAF5' },
+ { key: 'solar_num_err', label: '日故障次数', lineColor: '#0CDAF5' },
// { key: 'key3', label: '日发电时长', lineColor: '#5AABF2' }
]
},
@@ -348,33 +397,16 @@ export default {
{
name: '电压(V)',
type: 'value',
- nameTextStyle: {
- color: '#fff'
- },
- splitLine: {
- lineStyle: { type: 'dashed', color: '#435463' }
- },
- axisLabel: {
- interval: 4,
- color: '#fff',
- fontSize:12
-
- },
+ nameTextStyle: { color: '#fff' },
+ splitLine: { lineStyle: { type: 'dashed', color: '#435463' } },
+ axisLabel: { interval: 4, color: '#fff', fontSize:12 },
},
{
name: '电流(A)',
type: 'value',
- splitLine: {
- lineStyle: { type: 'dashed', color: '#435463' }
- },
- nameTextStyle: {
- color: '#fff'
- },
- axisLabel: {
- interval: 4,
- color: '#fff',
- fontSize:12
- },
+ splitLine: {lineStyle: { type: 'dashed', color: '#435463' } },
+ nameTextStyle: { color: '#fff' },
+ axisLabel: { interval: 4, color: '#fff', fontSize:12 },
},
],
infoKeys: [
@@ -406,6 +438,15 @@ export default {
colorStart: ' rgba(10, 250, 106, 0.15)',
colorEnd: ' rgba(171, 255, 249, 0.3)'
}
+ ],
+ yAxisOption:[
+ {
+ name: '功率(kW)',
+ type: 'value',
+ nameTextStyle: { color: '#fff' },
+ splitLine: { lineStyle: { type: 'dashed', color: '#435463' } },
+ axisLabel: { interval: 4, color: '#fff', fontSize:12 },
+ }
]
}
],
@@ -427,6 +468,10 @@ export default {
{
key: 3,
name: '光伏设备'
+ },
+ {
+ key: 4,
+ name: '策略运行效益'
}
],
tableList: {
@@ -612,32 +657,58 @@ export default {
count: 1
}
}
- }
+ },
+ columns: [
+ { title: '日期', dataIndex: 'dt', key: 'dt' },
+ { title: '时段', dataIndex: 'period', key: 'period', ellipsis: true}, // fixed: 'left', // filterable: true
+ { title: '储能充电电量(kWh)', dataIndex: 'E_in', key: 'E_in' },
+ { title: '储能放电电量(kWh)', dataIndex: 'E_out', key: 'E_out' },
+ { title: '电网价格(元/kWh)', dataIndex: 'grid_price', key: 'gridPrice' },
+ { title: '充电价格(元/kWh)', dataIndex: 'charge_price', key: 'chargePrice' },
+ { title: '收益(元)', dataIndex: 'income', key: 'income' },
+ { title: '操作', dataIndex: 'operate', key: 'operate', scopedSlots: { customRender: 'action' } }
+ ],
+
+ tableData: [
+ // {period: "谷", E_in: 30, E_out: 25, gridPrice: "0.32", chargePrice: "0.32", income: 0.00},
+ // {period: "平", gridPrice: "0.8", chargePrice: "0.6", income: "0.2", elect: "35", incomeTotal: "100"},
+ // {period: "峰", gridPrice: "0.8", chargePrice: "0.6", income: "0.2", elect: "35", incomeTotal: "100"},
+ // {period: "尖", gridPrice: "0.8", chargePrice: "0.6", income: "0.2", elect: "35", incomeTotal: "100"},
+ // {period: "总计", gridPrice: "0.8", chargePrice: "0.6", income: "0.2", elect: "35", incomeTotal: "100"}
+
+ ]
}
},
watch: {
activeKey: {
handler(newVal) {
if (!newVal) return
-
// 清除之前的数据
this.resetDataForInactiveKey()
- // 并行加载新数据
- Promise.all([
- this.getStationList(),
- this.getEchartsListForActiveKey(),
- this.getTableListForActiveKey()
- ]).then(() => {
- this.$nextTick(() => {
- this.getStatCharts()
+ if (newVal !== 4) {
+ // 并行加载新数据
+ Promise.all([
+ this.getStationList(),
+ this.getEchartsListForActiveKey(),
+ this.getTableListForActiveKey()
+ ]).then(() => {
+ this.$nextTick(() => {
+ this.getStatCharts()
+ })
})
- })
+ }
+ else {
+ this.$nextTick(() => {
+ this.getEGridPeriod()
+ })
+ }
},
// immediate: true // 添加立即执行
}
},
mounted() {
+ //this.operateList = this.$getBtns(['修改'])
console.log('mounted')
// 优先加载第一个页面(activeKey=1)所需的数据
// this.btnOptionList = this.$getBtns(['导出'])
@@ -689,6 +760,8 @@ export default {
this.renderKey += 1
},
resetDataForInactiveKey() {
+ if (this.activeKey == 4) return
+
// 重置非当前激活页面的数据
Object.keys(this.echartsInfo).forEach((key) => {
if (key != this.activeKey) {
@@ -721,11 +794,14 @@ export default {
try {
const res = await getReq('/queryStatDayList', query)
- if (res.errcode === 0) {
- this.echartsInfo[this.activeKey].chartData = res.data
- this.loading.chart = false
- } else {
- throw res
+ let chartInfo = this.echartsInfo[this.activeKey]
+ if (chartInfo) {
+ if (res.errcode === 0) {
+ chartInfo.chartData = res.data
+ this.loading.chart = false
+ } else {
+ throw res
+ }
}
} catch (error) {
this.loading.chart = false
@@ -749,15 +825,19 @@ export default {
try {
const res = await getReq('/queryStatDetailList', query)
- if (res.errcode === 0) {
- this.tableList[this.activeKey].tableData = res.data.list || res.data
- this.tableList[this.activeKey].pageOption.count = res.count || 0
- this.tableList[this.activeKey].pageOption.page = res.page || 0
- this.tableList[this.activeKey].pageOption.pageSize = res.page_size || 0
- this.loading.table = false
- } else {
- throw res
+ let tableInfo = this.tableList[this.activeKey]
+ if (tableInfo) {
+ if (res.errcode === 0) {
+ tableInfo.tableData = res.data.list || res.data
+ tableInfo.pageOption.count = res.count || 0
+ tableInfo.pageOption.page = res.page || 0
+ tableInfo.pageOption.pageSize = res.page_size || 0
+ this.loading.table = false
+ } else {
+ throw res
+ }
}
+
} catch (error) {
this.tableList[this.activeKey].tableData = []
this.tableList[this.activeKey].pageOption.count = 0
@@ -811,16 +891,28 @@ export default {
onSearch(data) {
this.paramsDate.start_date = data.time ? data.time[0] : ''
this.paramsDate.end_date = data.time ? data.time[1] : ''
- this.tableList[this.activeKey].pageOption.page = 1
- this.getStationList(), this.getStatCharts(),this.getEchartsListForActiveKey(), this.getTableListForActiveKey()
+
+ if (this.activeKey !== 4) {
+ this.tableList[this.activeKey].pageOption.page = 1
+ this.getStationList(), this.getStatCharts(),this.getEchartsListForActiveKey(), this.getTableListForActiveKey()
+ } else {
+ this.getEGridPeriod()
+ }
},
changeStation() {
- this.getStatCharts()
- this.getEchartsListForActiveKey()
- this.getTableListForActiveKey()
+ if (this.activeKey != 4) {
+ this.getStatCharts()
+ this.getEchartsListForActiveKey()
+ this.getTableListForActiveKey()
+ } else {
+ this.getEGridPeriod()
+ }
+
},
async getStatCharts() {
+ if (this.activeKey == 4) return
+
const query = {
dt: this.paramsDate.end_date,
station_id: this.stationId,
@@ -828,20 +920,49 @@ export default {
}
try {
const res = await getReq('/queryStatCharts', query)
+ let chartInfo = this.echartsInfo[this.activeKey]
+ if (chartInfo) {
+ if (res.errcode === 0) {
+ chartInfo.chartDatav = res.data
+ } else {
+ throw res
+ }
+ }
+ } catch (error) {
+ this.echartsInfo[this.activeKey].chartDatav = {}
+ }
+ },
+
+ async getEGridPeriod() {
+ const query = {
+ dt: this.paramsDate.end_date,
+ station_id: this.stationId,
+ }
+
+ if (!query.dt) {
+ const today = new Date();
+ const year = today.getFullYear();
+ const month = String(today.getMonth() + 1).padStart(2, '0'); // 处理月份:先+1(因为getMonth返回0-11),再补零到2位
+ const day = String(today.getDate()).padStart(2, '0'); // 处理日期:直接补零到2位
+ query.dt = `${year}-${month}-${day}`; // 拼接成指定格式
+ }
+
+ try {
+ const res = await getReq('/queryEGridPeriod', query)
if (res.errcode === 0) {
- this.echartsInfo[this.activeKey].chartDatav = res.data
+ this.tableData = res.data
} else {
throw res
}
} catch (error) {
- this.echartsInfo[this.activeKey].chartDatav = {}
+ this.tableData = []
}
}
}
}
-