diff --git a/src/api/device-boot/panorama.ts b/src/api/device-boot/panorama.ts
index d87b01cb..e44611cf 100644
--- a/src/api/device-boot/panorama.ts
+++ b/src/api/device-boot/panorama.ts
@@ -49,3 +49,39 @@ export function getGridDiagramMonitor(data: any) {
export function getHalfReport(data: any) {
return request({ url: '/device-boot/line/getHalfReport', method: 'post', data })
}
+// 综合评估概览数据
+export function getAssessOverview(data: any) {
+ return request({ url: '/harmonic-boot/grid/getAssessOverview', method: 'post', data })
+}
+// 稳态电能质量水平评价概览数据
+export function getEvaluationOverview(data: any) {
+ return request({ url: '/harmonic-boot/grid/getEvaluationOverview', method: 'post', data })
+}
+// 综合评估详细数据
+export function getAssessDetail(data: any) {
+ return request({ url: '/harmonic-boot/grid/getAssessDetail', method: 'post', data })
+}
+// 稳态电能质量水平平均值、标准差
+export function getEvaluationData(data: any) {
+ return request({ url: '/harmonic-boot/grid/getEvaluationData', method: 'post', data })
+}
+// 稳态指标超标详情
+export function evaluationDetail(data: any) {
+ return request({ url: '/harmonic-boot/grid/evaluationDetail', method: 'post', data })
+}
+// 各稳态指标的环比
+export function evaluationRatio(data: any) {
+ return request({ url: '/harmonic-boot/grid/evaluationRatio', method: 'post', data })
+}
+// 暂态统计评价
+export function getEventLevelEvaluation(data: any) {
+ return request({ url: '/event-boot/gridDiagram/getEventLevelEvaluation', method: 'post', data })
+}
+// 暂态统计详情
+export function getEventStatisticsList(data: any) {
+ return request({ url: '/event-boot/gridDiagram/getEventStatisticsList', method: 'post', data })
+}
+// 获取监测点暂降事件分析
+export function getEventReason(data: any) {
+ return request({ url: '/event-boot/areaAnalysis/getEventReason', method: 'post', data })
+}
diff --git a/src/assets/img/DYPC.png b/src/assets/img/DYPC.png
new file mode 100644
index 00000000..3a993a90
Binary files /dev/null and b/src/assets/img/DYPC.png differ
diff --git a/src/assets/img/JBL.png b/src/assets/img/JBL.png
new file mode 100644
index 00000000..cecfabed
Binary files /dev/null and b/src/assets/img/JBL.png differ
diff --git a/src/assets/img/PLPC.png b/src/assets/img/PLPC.png
new file mode 100644
index 00000000..6ea1701e
Binary files /dev/null and b/src/assets/img/PLPC.png differ
diff --git a/src/assets/img/SB.png b/src/assets/img/SB.png
new file mode 100644
index 00000000..5c663a33
Binary files /dev/null and b/src/assets/img/SB.png differ
diff --git a/src/assets/img/SXDY.png b/src/assets/img/SXDY.png
new file mode 100644
index 00000000..6d553fa1
Binary files /dev/null and b/src/assets/img/SXDY.png differ
diff --git a/src/views/pqs/qualityInspeection/panorama/components/details/evaluate.vue b/src/views/pqs/qualityInspeection/panorama/components/details/evaluate.vue
index 62a12ab3..fcc4dfc3 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/details/evaluate.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/details/evaluate.vue
@@ -3,29 +3,29 @@
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -39,42 +39,63 @@
import { ref } from 'vue'
import MyEChart from '@/components/echarts/MyEchart.vue'
import { defaultAttribute } from '@/components/table/defaultAttribute'
-
+import { getAssessDetail } from '@/api/device-boot/panorama'
const dialogVisible: any = ref(false)
-const tableData: any = ref([
- {
- devName: 123
- }
-])
+const tableData: any = ref([])
-const picEChart = ref({
- title: {
- text: ''
- },
- xAxis: {
- name: '(区域)',
- data: ['承德', '承德', '承德', '承德', '承德', '承德', '承德']
- },
- yAxis: {
- name: '',
- min: 0,
- max: 100
- },
- options: {
- series: [
- {
- name: '评估得分',
- type: 'bar',
-
- data: [12, 12, 12, 12, 12, 12, 12]
- }
- ]
- }
-})
+const picEChart = ref()
const open = async (row: any) => {
+ getAssessDetail(row).then(res => {
+ tableData.value = res.data
+ picEChart.value = {
+ tooltip: {
+ formatter: function (params: any) {
+ let tips = ''
+
+ if (params[0].value == 3.14159) {
+ tips += params[0].name + ':暂无数据
'
+ } else {
+ tips += params[0].name + ':' + params[0].value + '%
'
+ }
+
+ return tips
+ }
+ },
+ title: {
+ text: ''
+ },
+ xAxis: {
+ name: '(区域)',
+ data: res.data.map((item: any) => item.deptName)
+ },
+ yAxis: {
+ name: '',
+ min: 0,
+ max: 100
+ },
+ options: {
+ series: [
+ {
+ name: '评估得分',
+ type: 'bar',
+
+ data: res.data.map((item: any) => item.assessData)
+ }
+ ]
+ }
+ }
+ })
+
dialogVisible.value = true
}
+const formatter = (row: any) => {
+ if (row.cellValue == 3.14159) {
+ return '暂无数据'
+ } else {
+ return row.cellValue
+ }
+}
defineExpose({ open })
diff --git a/src/views/pqs/qualityInspeection/panorama/components/details/point.vue b/src/views/pqs/qualityInspeection/panorama/components/details/point.vue
index 61f310ff..cd6368b0 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/details/point.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/details/point.vue
@@ -15,8 +15,13 @@
分布统计
-
-
+
+
@@ -54,10 +59,12 @@ import { useDictData } from '@/stores/dictData'
import { getGridDiagramLineTendency, getGridDiagramLineData, getHalfReport } from '@/api/device-boot/panorama'
const dictData = useDictData()
const dialogVisible: any = ref(false)
-const time = ref('1')
+
const Voltage = dictData.getBasicData('Dev_Voltage_Stand')
const tableData: any = ref([])
const options = dictData.getBasicData('Statistical_Type', ['Report_Type'])
+const time = ref('1')
+const statisticalType = ref(options[0])
const loadTypeArr = dictData.getBasicData('Interference_Source')
const rowList: any = ref({})
@@ -132,13 +139,13 @@ const analysis = (e: any) => {
}
// 统计
const statiStics = () => {
- getGridDiagramLineData(rowList.value).then(res => {
+ getGridDiagramLineData({ ...rowList.value, statisticalType: statisticalType.value }).then(res => {
picEChart.value = {
title: {
text: ''
},
xAxis: {
- name: '(区域)',
+
data: res.data.map((item: any) => item.orgName)
},
yAxis: {
diff --git a/src/views/pqs/qualityInspeection/panorama/components/details/steadyState.vue b/src/views/pqs/qualityInspeection/panorama/components/details/steadyState.vue
index 0953b22b..a38d5ec6 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/details/steadyState.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/details/steadyState.vue
@@ -2,43 +2,47 @@
-
-
+
+
稳态电能质量水平评估
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.targetName }}
+
+
+
+ 均值:
+ {{ item.avg == 3.14159 ? '--' : item.avg }}
+
+
+ 标准差:
+ {{ item.avg == 3.14159 ? '--' : item.avg }}
+
+
+
+
-
+
稳态电能质量水平评估环比变化
@@ -47,153 +51,97 @@
稳态电能质量水平评估详细列表
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ scope.row.list[i].overDay }}
+
+
+
+
+ {{ scope.row.list[i].overNum }}
+
+
+
-
+
diff --git a/src/views/pqs/qualityInspeection/panorama/components/details/terminal.vue b/src/views/pqs/qualityInspeection/panorama/components/details/terminal.vue
index 8a0cbad8..a2ed8b08 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/details/terminal.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/details/terminal.vue
@@ -17,8 +17,8 @@
分布统计
-
-
+
+
@@ -113,7 +113,7 @@ const open = async (row: any) => {
res.data.forEach((item: any) => {
picData.push({
value: item.devCount,
- name: `${item.orgName}:${item.devCount}台`,
+ name: `${item.orgName}`,
itemStyle: {
color: item.onlineEvaluate < 60 ? 'red' : item.onlineEvaluate < 90 ? 'orange' : 'green'
}
@@ -136,13 +136,21 @@ const open = async (row: any) => {
{
type: 'pie',
startAngle: 360,
- center: ['50%', '50%'],
- radius: ['25%', '35%'],
+ center: ['50%', '55%'],
+ radius: ['40%', '60%'],
endAngle: 0,
-
+ labelLine: {
+ length: 8,
+ length2: 50,
+ show: true
+ },
+ label: {
+ padding: [0, -50],
+ formatter: '{b}:{c}台\n\n'
+ },
itemStyle: {
borderColor: '#fff',
- borderWidth: 5
+ borderWidth: 1
},
data: picData
diff --git a/src/views/pqs/qualityInspeection/panorama/components/mapL.vue b/src/views/pqs/qualityInspeection/panorama/components/mapL.vue
index 9de2bd17..18757504 100644
--- a/src/views/pqs/qualityInspeection/panorama/components/mapL.vue
+++ b/src/views/pqs/qualityInspeection/panorama/components/mapL.vue
@@ -1,7 +1,6 @@
-
-
-
+
+
{{ item.title }}
@@ -45,8 +44,8 @@
{{ item.titleT[1] }}
- {{item.list[4].numOne}}
- {{item.list[4].numTwo}}
+ {{ item.list[4].numOne }}
+ {{ item.list[4].numTwo }}
@@ -56,8 +55,8 @@
- {{item.list[0].numOne}}
- {{item.list[0].numTwo}}
+ {{ item.list[0].numOne }}
+ {{ item.list[0].numTwo }}
@@ -67,8 +66,8 @@
- {{item.list[1].numOne}}
- {{item.list[1].numTwo}}
+ {{ item.list[1].numOne }}
+ {{ item.list[1].numTwo }}
@@ -78,8 +77,8 @@
- {{item.list[2].numOne}}
- {{item.list[2].numTwo}}
+ {{ item.list[2].numOne }}
+ {{ item.list[2].numTwo }}
@@ -89,8 +88,8 @@
- {{item.list[3].numOne}}
- {{item.list[3].numTwo}}
+ {{ item.list[3].numOne }}
+ {{ item.list[3].numTwo }}
@@ -258,7 +257,6 @@
@@ -316,8 +378,8 @@ defineExpose({ info })
diff --git a/src/views/pqs/qualityInspeection/panorama/index.vue b/src/views/pqs/qualityInspeection/panorama/index.vue
index 92b003e2..14422a8e 100644
--- a/src/views/pqs/qualityInspeection/panorama/index.vue
+++ b/src/views/pqs/qualityInspeection/panorama/index.vue
@@ -1,6 +1,7 @@
+
@@ -49,11 +50,12 @@ import { mainHeight } from '@/utils/layout'
import { Search, Refresh } from '@element-plus/icons-vue'
import mapL from './components/mapL.vue'
import mapR from './components/mapR.vue'
+import DatePicker from '@/components/form/datePicker/index.vue'
const dictData = useDictData()
defineOptions({
name: '/panorama'
})
-
+const datePickerRef = ref()
const areaRef = ref()
const mapLRef = ref()
const mapRRef = ref()
@@ -67,7 +69,7 @@ const options: any = ref([
id: 1
}
])
-const form = ref({
+const form: any = ref({
name: '',
orgNo: dictData.state.area[0].id,
isUpToGrid: 0
@@ -88,6 +90,16 @@ const reset = () => {
info()
}
const info = () => {
+ // form.value.startTime = datePickerRef.value.timeValue[0]
+ // form.value.searchBeginTime = datePickerRef.value.timeValue[0]
+ // form.value.endTime = datePickerRef.value.timeValue[1]
+ // form.value.searchEndTime = datePickerRef.value.timeValue[1]
+ form.value.startTime = `2023-01-01`
+ form.value.searchBeginTime = `2023-01-01`
+ form.value.endTime = `2024-07-30`
+ form.value.searchEndTime = `2024-07-30`
+ form.value.type = datePickerRef.value.interval
+
mapLRef.value.info(form.value)
mapRRef.value.info(form.value)
}