diff --git a/src/api/event-boot/monitor.ts b/src/api/event-boot/monitor.ts
index a04c2094..46cc4b42 100644
--- a/src/api/event-boot/monitor.ts
+++ b/src/api/event-boot/monitor.ts
@@ -61,4 +61,32 @@ export function getStatistic(data: any) {
method: 'post',
data
})
+}
+
+// 暂降分布统计 右 获取数据
+export function getProbabilityDistribution(data: any) {
+ return request({
+ url: '/event-boot/monitor/getProbabilityDistribution',
+ method: 'post',
+ data
+ })
+}
+
+// 事件分析 获取数据
+export function getMonitorEventAnalyseQuery(data: any) {
+ return request({
+ url: '/event-boot/monitor/getMonitorEventAnalyseQuery',
+ method: 'post',
+ data
+ })
+}
+
+// 事件分析 下载
+export function downloadMonitorEventWaveFile(data: any) {
+ return request({
+ url: '/event-boot/monitor/downloadMonitorEventWaveFile',
+ method: 'post',
+ data: data.lineId,
+ responseType: 'blob'
+ })
}
\ No newline at end of file
diff --git a/src/views/pms/voltageSags/monitoringPoint/online/eventStatistics/zanjiangfuzhigailvfenbu/index.vue b/src/views/pms/voltageSags/monitoringPoint/online/eventStatistics/zanjiangfuzhigailvfenbu/index.vue
index e8a462ba..689bbec6 100644
--- a/src/views/pms/voltageSags/monitoringPoint/online/eventStatistics/zanjiangfuzhigailvfenbu/index.vue
+++ b/src/views/pms/voltageSags/monitoringPoint/online/eventStatistics/zanjiangfuzhigailvfenbu/index.vue
@@ -8,17 +8,6 @@
查询
-
- {{ data.name }}
- {{ data.gs }}
- {{ data.krr }}
- {{ data.bkrr }}
-
@@ -29,7 +18,7 @@ import { nextTick, onMounted, reactive, ref } from 'vue'
import DatePicker from '@/components/form/datePicker/index.vue'
import MyEchart from '@/components/echarts/MyEchart.vue'
import { useMonitoringPoint } from '@/views/pms/voltageSags/monitoringPoint/online/store'
-import { getPlot } from '@/api/event-boot/monitor'
+import { getProbabilityDistribution } from '@/api/event-boot/monitor'
const datePickerRef = ref()
const monitoringPoint = useMonitoringPoint()
@@ -39,37 +28,43 @@ const formData = reactive({
startTime: '',
endTime: ''
})
-const data = reactive({
- name: '事件个数',
- gs: 0,
- krr: 0,
- bkrr: 0
-})
const options = ref({})
const init = () => {
loading.value = true
formData.startTime = datePickerRef.value.timeValue[0]
formData.endTime = datePickerRef.value.timeValue[1]
- getPlot(formData).then(
+ getProbabilityDistribution(formData).then(
(res: any) => {
- const gongData = gongfunction(res.data.voltageToleranceCurveDataList)
- data.gs = res.data.voltageToleranceCurveDataList.length
- data.krr = gongData.pointI.length
- data.bkrr = gongData.pointIun.length
- console.log(gongData)
+ let data = res.data
+ let eventValue = data.eventvalue
+ let pereventValue = data.pereventvalue
options.value = {
- // backgroundColor: "#f9f9f9", //地图背景色深蓝
+ backgroundColor: '#fff', //背景色,
title: {
- text: `SEMI F47曲线`
+ text: '暂降幅值的概率分布函数',
+ x: 'center'
},
legend: {
- data: ['上限', '下限', '可容忍事件', '不可容忍事件'],
- x: 'left'
- },
- tooltip: {
- trigger: 'item',
show: true,
+ left: 10,
+ data: ['概率分布', '占比'],
+
+ textStyle: {
+ rich: {
+ a: {
+ verticalAlign: 'middle'
+ }
+ },
+
+ padding: [2, 0, 0, 0] //[上、右、下、左]
+ }
+ },
+
+ tooltip: {
+ //提示框组件
+ trigger: 'axis',
+
axisPointer: {
type: 'shadow',
label: {
@@ -84,83 +79,93 @@ const init = () => {
fontSize: 14
},
backgroundColor: 'rgba(0,0,0,0.35)',
- borderWidth: 0,
- formatter: function(a: any) {
- var relVal = ''
- relVal =
- '发生时间:' +
- a.value[2] +
- '
'
- relVal +=
- '持续时间:' +
- a.value[0] +
- 's
'
- relVal +=
- '特征幅值:' +
- a.value[1].toFixed(2) +
- '%'
- return relVal
- }
+ borderWidth: 0
},
+ calculable: true,
xAxis: [
{
- type: 'log',
- min: 0.001,
- max: 1000,
- splitLine: {
- show: false
+ type: 'category',
+ name: '暂降幅值',
+ nameGap: 10,
+ nameTextStyle: {
+ fontSize: 12
},
- name: 's'
+ data: [
+ '0',
+ '10%',
+ '20%',
+ '30%',
+ '40%',
+ '50%',
+ '60%',
+ '70%',
+ '80%',
+ '90%',
+ '100%'
+ ]
}
],
yAxis: [
{
type: 'value',
- max: function(value: any) {
- return value.max + 20
+ name: '概率分布',
+ nameTextStyle: {
+ fontSize: 15
},
- splitNumber: 10,
- minInterval: 0.1,
- name: '%'
+ axisLabel: {
+ formatter: '{value}%'
+ },
+ axisLine: {
+ show: true
+ },
+ splitLine: {
+ lineStyle: {
+ // 使用深浅的间隔色
+ type: 'dashed',
+ opacity: 0.5
+ }
+ }
+ },
+ {
+ type: 'value',
+ name: '占比',
+
+ nameTextStyle: {
+ fontSize: 15
+ },
+ axisLine: {
+ show: true
+ },
+
+ splitLine: {
+ lineStyle: {
+ type: 'dashed',
+ opacity: 0.5
+ }
+ }
}
],
- options: {
- dataZoom: null,
- series: [
- {
- name: '边界线',
- type: 'line',
- data: [
- [0.05, 0],
- [0.05, 50],
- [0.2, 50],
- [0.2, 70],
- [0.5, 70],
- [0.5, 80],
- [10, 80],
- [1000, 80]
- ],
- showSymbol: false,
- tooltips: {
- show: false
- }
- },
- {
- name: '可容忍事件',
- type: 'scatter',
- symbol: 'circle',
- data: gongData.pointI
- },
- {
- name: '不可容忍事件',
- type: 'scatter',
- symbol: 'circle',
- data: gongData.pointIun
+ series: [
+ {
+ name: '概率分布',
+ type: 'line',
+ data: eventValue,
+ itemStyle: {
+ normal: { show: true }
}
- ]
+ },
+ {
+ name: '占比',
+ type: 'bar',
+ data: pereventValue,
+ barWidth: 30,
+ itemStyle: {
+ normal: { show: true }
+ }
+ }
+ ],
+ options:{
+ dataZoom: null,
}
}
nextTick(() => {
@@ -170,164 +175,6 @@ const init = () => {
)
}
-function gongfunction(arr: any) {
- let standI = 0
- let unstandI = 0
- let standF = 0
- let unstandF = 0
- let total = 0
- let pointIun = []
- let pointI = []
- let pointF = []
- let pointFun = []
- total = arr.length
- if (total == 0) {
- } else {
- for (let i = 0; i < arr.length; i++) {
- let point = []
- let xx = arr[i].persistTime
- let yy = arr[i].eventValue
- let time = arr[i].time
- let eventId = arr[i].eventId
- // let index =arr[i].eventDetailIndex;
- point = [xx, yy, time, eventId]
-
- if (xx <= 0.003) {
- let line = 0
- line = 250 - 30000 * xx
- if (yy > line) {
- unstandI++
- pointIun.push({
- value: point,
- itemStyle: { normal: { color: 'red' } }
- })
- } else {
- standI++
- pointI.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- }
- } else if (xx <= 0.02) {
- if (yy > 120) {
- unstandI++
- pointIun.push({
- value: point,
- itemStyle: { normal: { color: 'red' } }
- })
- } else {
- standI++
- pointI.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- }
- } else if (xx <= 0.5) {
- if (yy > 120 || yy < 70) {
- unstandI++
- pointIun.push({
- value: point,
- itemStyle: { normal: { color: 'red' } }
- })
- } else {
- standI++
- pointI.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- }
- } else if (xx <= 10) {
- if (yy > 110 || yy < 80) {
- unstandI++
- pointIun.push({
- value: point,
- itemStyle: { normal: { color: 'red' } }
- })
- } else {
- standI++
- pointI.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- }
- } else {
- if (yy > 110 || yy < 90) {
- unstandI++
- pointIun.push({
- value: point,
- itemStyle: { normal: { color: 'red' } }
- })
- } else {
- standI++
- pointI.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- }
- }
-
- if (xx < 0.05) {
- standF++
- pointF.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- } else if (xx < 0.2) {
- if (yy > 50) {
- standF++
- pointF.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- } else {
- unstandF++
- pointFun.push({
- value: point,
- itemStyle: { normal: { color: 'red' } }
- })
- }
- } else if (xx < 0.5) {
- if (yy > 70) {
- standF++
- pointF.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- } else {
- unstandF++
- pointFun.push({
- value: point,
- itemStyle: { normal: { color: 'red' } }
- })
- }
- } else {
- if (yy > 80) {
- standF++
- pointF.push({
- value: point,
- itemStyle: { normal: { color: 'green' } }
- })
- } else {
- unstandF++
- pointFun.push({
- value: point,
- itemStyle: { normal: { color: 'red' } }
- })
- }
- }
- }
- }
- return {
- standI,
- unstandI,
- pointI,
- pointIun,
- standF,
- unstandF,
- pointF,
- pointFun
- }
-}
onMounted(() => {
init()