修改测试bug
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<div v-loading="loading" style="position: relative">
|
||||
<div id="boxr">
|
||||
<div id="rmsp" :style="`height:${vh};overflow: hidden;`">
|
||||
<div class="bx" id="rms"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <el-button
|
||||
<div v-loading="loading" style="position: relative">
|
||||
<div id="boxr">
|
||||
<div id="rmsp" :style="`height:${vh};overflow: hidden;`">
|
||||
<div class="bx" id="rms"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <el-button
|
||||
style="position: absolute; right: 10px; top: 0px; z-index: 20000"
|
||||
type="primary"
|
||||
link
|
||||
@@ -15,7 +15,7 @@
|
||||
>
|
||||
下载
|
||||
</el-button> -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="js">
|
||||
import html2canvas from "html2canvas";
|
||||
@@ -47,7 +47,7 @@ export default {
|
||||
type: [Object, Array],
|
||||
},
|
||||
height: {
|
||||
type: [String,Number],
|
||||
type: [String, Number],
|
||||
default: false,
|
||||
},
|
||||
|
||||
@@ -57,7 +57,6 @@ export default {
|
||||
zoom: "",
|
||||
loading: true,
|
||||
tabvalue: this.value,
|
||||
|
||||
valA: 0,
|
||||
valB: 0,
|
||||
isOpen: false,
|
||||
@@ -82,6 +81,7 @@ export default {
|
||||
titles: "",
|
||||
vh: null,
|
||||
vw: null,
|
||||
echartlist: null
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
@@ -97,13 +97,13 @@ export default {
|
||||
},
|
||||
created() {
|
||||
if (this.flag == 1) {
|
||||
this.vh = mainHeight(165).height
|
||||
}else if( this.height != false){
|
||||
this.vh = this.height
|
||||
} else {
|
||||
this.vh = mainHeight(165,2).height
|
||||
}
|
||||
this.vw = '100%'
|
||||
this.vh = mainHeight(165).height
|
||||
} else if (this.height != false) {
|
||||
this.vh = this.height
|
||||
} else {
|
||||
this.vh = mainHeight(165, 2).height
|
||||
}
|
||||
this.vw = '100%'
|
||||
},
|
||||
mounted() {
|
||||
// this.$wave = $("#wave").eq(0);
|
||||
@@ -115,13 +115,27 @@ export default {
|
||||
this.query();
|
||||
},
|
||||
methods: {
|
||||
backbxlb() {
|
||||
|
||||
if (this.echartlist.length > 0) {
|
||||
|
||||
this.waveDatas = []
|
||||
this.echartlist.forEach(item => {
|
||||
item.dispose(); // 销毁echarts实例
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
download() {
|
||||
// 转换成canvas
|
||||
html2canvas(document.getElementById("boxr"), {
|
||||
scale: 2,
|
||||
}).then(function (canvas) {
|
||||
// 创建a标签,实现下载
|
||||
var creatIMg = document.createElement("a");
|
||||
let creatIMg = document.createElement("a");
|
||||
creatIMg.download = "rms波形.png"; // 设置下载的文件名,
|
||||
creatIMg.href = canvas.toDataURL(); // 下载url
|
||||
creatIMg.click();
|
||||
@@ -195,7 +209,7 @@ export default {
|
||||
"% 持续时间:" +
|
||||
this.boxoList.duration +
|
||||
"s";
|
||||
} else if(this.boxoList.systemType == "ZL"){
|
||||
} else if (this.boxoList.systemType == "ZL") {
|
||||
this.titles =
|
||||
// "变电站名称:" +
|
||||
// this.boxoList.equipmentName +
|
||||
@@ -204,11 +218,11 @@ export default {
|
||||
" 发生时刻:" +
|
||||
this.boxoList.startTime +
|
||||
" 暂降(骤升)幅值:" +
|
||||
this.boxoList.evtParamVVaDepth +
|
||||
this.boxoList.evtParamVVaDepth +
|
||||
" 持续时间:" +
|
||||
this.boxoList.evtParamTm +
|
||||
"s";
|
||||
}else {
|
||||
} else {
|
||||
this.titles =
|
||||
"变电站名称:" +
|
||||
this.boxoList.subName +
|
||||
@@ -234,24 +248,24 @@ export default {
|
||||
if (this.iphasic === 0) {
|
||||
this.iphasic = 1;
|
||||
}
|
||||
var picCounts = (this.wp.waveTitle.length - 1) / this.iphasic;
|
||||
let picCounts = (this.wp.waveTitle.length - 1) / this.iphasic;
|
||||
this.waveDatas = [];
|
||||
//循环筛选需求的数据
|
||||
for (var i = 0; i < picCounts; i++) {
|
||||
for (let i = 0; i < picCounts; i++) {
|
||||
this.fliteWaveData(this.wp, i)
|
||||
this.waveDatas.push({
|
||||
instantF :this.instantF,
|
||||
instantS :this.instantS,
|
||||
RMSF :this.RMSF,
|
||||
RMSS :this.RMSS,
|
||||
RMSFMinDetail :this.RMSFMinDetail,
|
||||
RMSSMinDetail :this.RMSSMinDetail,
|
||||
shunshiF :this.shunshiF,
|
||||
shunshiS :this.shunshiS,
|
||||
RMSFWave :this.RMSFWave,
|
||||
RMSSWave :this.RMSSWave,
|
||||
title :this.title,
|
||||
unit :this.unit
|
||||
instantF: this.instantF,
|
||||
instantS: this.instantS,
|
||||
RMSF: this.RMSF,
|
||||
RMSS: this.RMSS,
|
||||
RMSFMinDetail: this.RMSFMinDetail,
|
||||
RMSSMinDetail: this.RMSSMinDetail,
|
||||
shunshiF: this.shunshiF,
|
||||
shunshiS: this.shunshiS,
|
||||
RMSFWave: this.RMSFWave,
|
||||
RMSSWave: this.RMSSWave,
|
||||
title: this.title,
|
||||
unit: this.unit
|
||||
|
||||
});
|
||||
}
|
||||
@@ -276,31 +290,31 @@ export default {
|
||||
},
|
||||
//获取横向一个波形的全部数据,包括瞬时波形的一次、二次值,RMS波形的一次、二次值,如果是电压的话,还需要计算出对应的最大最小值
|
||||
fliteWaveData(wp, step) {
|
||||
var shunData = wp.listWaveData;
|
||||
var rmsData = wp.listRmsData;
|
||||
let shunData = wp.listWaveData;
|
||||
let rmsData = wp.listRmsData;
|
||||
// console.log(
|
||||
// rmsData
|
||||
// );
|
||||
var pt = Number(wp.pt) / 1000;
|
||||
var ct = Number(wp.ct);
|
||||
var titleList = wp.waveTitle;
|
||||
let pt = Number(wp.pt) / 1000;
|
||||
let ct = Number(wp.ct);
|
||||
let titleList = wp.waveTitle;
|
||||
//首先判断当前绘制的是电压还是电流
|
||||
var xishu = pt; //默认电压,二次值转一次值乘以pt
|
||||
let xishu = pt; //默认电压,二次值转一次值乘以pt
|
||||
//三相名称
|
||||
var aTitle = "",
|
||||
let aTitle = "",
|
||||
bTitle = "",
|
||||
cTitle = "",
|
||||
unit = "电压";
|
||||
//RMS最小值横、纵坐标、相别名称
|
||||
var rmsvFirstX = 0,
|
||||
let rmsvFirstX = 0,
|
||||
rmsvFirstY = 0,
|
||||
rmsvSecondX = 0,
|
||||
rmsvSecondY = 0,
|
||||
firstZhou = "a",
|
||||
secondeZhou = "a";
|
||||
//每个波形对应的最大最小值
|
||||
var ifmax, ifmin, ismax, ismin, rfmax, rfmin, rsmax, rsmin;
|
||||
var shunshiFA = [],
|
||||
let ifmax, ifmin, ismax, ismin, rfmax, rfmin, rsmax, rsmin;
|
||||
let shunshiFA = [],
|
||||
shunshiFB = [],
|
||||
shunshiFC = [],
|
||||
shunshiSA = [],
|
||||
@@ -318,7 +332,7 @@ export default {
|
||||
xishu = ct;
|
||||
unit = "电流";
|
||||
}
|
||||
for (var i = 1; i <= this.iphasic; i++) {
|
||||
for (let i = 1; i <= this.iphasic; i++) {
|
||||
switch (i) {
|
||||
case 1:
|
||||
aTitle = titleList[this.iphasic * step + i].substring(1);
|
||||
@@ -349,43 +363,49 @@ export default {
|
||||
rmsvSecondX = rmsData[0][0];
|
||||
}
|
||||
//瞬时值--同时还需要获取出瞬时值的一次、二次的最大最小值
|
||||
for (var shun = 0; shun < shunData.length; shun++) {
|
||||
for (let shun = 0; shun < shunData.length; shun++) {
|
||||
if (shunData[shun][this.iphasic * step + 1] === undefined) {
|
||||
break;
|
||||
}
|
||||
let shunFirstA = []
|
||||
let shunFirstB = []
|
||||
let shunFirstC = []
|
||||
let shunSecondA = []
|
||||
let shunSecondB = []
|
||||
let shunSecondC = []
|
||||
//根据波形数据相的数量来筛选数据
|
||||
switch (this.iphasic) {
|
||||
case 1:
|
||||
var shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu;
|
||||
shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu;
|
||||
shunshiFA.push([shunData[shun][0], shunFirstA]);
|
||||
ifmax = ifmax > shunFirstA ? ifmax : shunFirstA;
|
||||
ifmin = ifmin < shunFirstA ? ifmin : shunFirstA;
|
||||
|
||||
var shunSecondA = shunData[shun][this.iphasic * step + 1];
|
||||
shunSecondA = shunData[shun][this.iphasic * step + 1];
|
||||
shunshiSA.push([shunData[shun][0], shunSecondA]);
|
||||
ismax = ismax > shunSecondA ? ismax : shunSecondA;
|
||||
ismin = ismin < shunSecondA ? ismin : shunSecondA;
|
||||
break;
|
||||
case 2:
|
||||
var shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu;
|
||||
var shunFirstB = shunData[shun][this.iphasic * step + 2] * xishu;
|
||||
shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu;
|
||||
shunFirstB = shunData[shun][this.iphasic * step + 2] * xishu;
|
||||
shunshiFA.push([shunData[shun][0], shunFirstA]);
|
||||
shunshiFB.push([shunData[shun][0], shunFirstB]);
|
||||
ifmax = this.getMaxTwo(ifmax, shunFirstA, shunFirstB);
|
||||
ifmin = this.getMinOpen(ifmin, shunFirstA, shunFirstB);
|
||||
|
||||
var shunSecondA = shunData[shun][this.iphasic * step + 1];
|
||||
var shunSecondB = shunData[shun][this.iphasic * step + 2];
|
||||
shunSecondA = shunData[shun][this.iphasic * step + 1];
|
||||
shunSecondB = shunData[shun][this.iphasic * step + 2];
|
||||
shunshiSA.push([shunData[shun][0], shunSecondA]);
|
||||
shunshiSB.push([shunData[shun][0], shunSecondB]);
|
||||
ismax = this.getMaxTwo(ismax, shunSecondA, shunSecondB);
|
||||
ismin = this.getMinOpen(ismin, shunSecondA, shunSecondB);
|
||||
break;
|
||||
case 3:
|
||||
var shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu;
|
||||
shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu;
|
||||
|
||||
var shunFirstB = shunData[shun][this.iphasic * step + 2] * xishu;
|
||||
var shunFirstC = shunData[shun][this.iphasic * step + 3] * xishu;
|
||||
shunFirstB = shunData[shun][this.iphasic * step + 2] * xishu;
|
||||
shunFirstC = shunData[shun][this.iphasic * step + 3] * xishu;
|
||||
shunshiFA.push([shunData[shun][0], shunFirstA]);
|
||||
shunshiFB.push([shunData[shun][0], shunFirstB]);
|
||||
shunshiFC.push([shunData[shun][0], shunFirstC]);
|
||||
@@ -397,9 +417,9 @@ export default {
|
||||
ifmin = this.getMin(ifmin, shunFirstA, shunFirstB, shunFirstC);
|
||||
}
|
||||
|
||||
var shunSecondA = shunData[shun][this.iphasic * step + 1];
|
||||
var shunSecondB = shunData[shun][this.iphasic * step + 2];
|
||||
var shunSecondC = shunData[shun][this.iphasic * step + 3];
|
||||
shunSecondA = shunData[shun][this.iphasic * step + 1];
|
||||
shunSecondB = shunData[shun][this.iphasic * step + 2];
|
||||
shunSecondC = shunData[shun][this.iphasic * step + 3];
|
||||
shunshiSA.push([shunData[shun][0], shunSecondA]);
|
||||
shunshiSB.push([shunData[shun][0], shunSecondB]);
|
||||
shunshiSC.push([shunData[shun][0], shunSecondC]);
|
||||
@@ -420,14 +440,20 @@ export default {
|
||||
}
|
||||
|
||||
//RMS值--同时还需要获取出RMS值的一次、二次的最大最小值
|
||||
for (var rms = 0; rms < rmsData.length; rms++) {
|
||||
for (let rms = 0; rms < rmsData.length; rms++) {
|
||||
if (rmsData[rms][this.iphasic * step + 1] === undefined) {
|
||||
break;
|
||||
}
|
||||
let rmsFirstA = []
|
||||
let rmsFirstB = []
|
||||
let rmsFirstC = []
|
||||
let rmsSecondA = []
|
||||
let rmsSecondB = []
|
||||
let rmsSecondC = []
|
||||
//根据波形数据相的数量来筛选数据
|
||||
switch (this.iphasic) {
|
||||
case 1:
|
||||
var rmsFirstA = rmsData[rms][this.iphasic * step + 1] * xishu;
|
||||
rmsFirstA = rmsData[rms][this.iphasic * step + 1] * xishu;
|
||||
rmsFA.push([rmsData[rms][0], rmsFirstA]);
|
||||
rfmax = rfmax > rmsFirstA ? rfmax : rmsFirstA;
|
||||
rfmin = rfmin < rmsFirstA ? rfmin : rmsFirstA;
|
||||
@@ -437,7 +463,7 @@ export default {
|
||||
rmsvFirstX = rmsData[rms][0];
|
||||
}
|
||||
|
||||
var rmsSecondA = rmsData[rms][this.iphasic * step + 1];
|
||||
rmsSecondA = rmsData[rms][this.iphasic * step + 1];
|
||||
rmsSA.push([rmsData[rms][0], rmsSecondA]);
|
||||
rsmax = rsmax > rmsSecondA ? rsmax : rmsSecondA;
|
||||
rsmin = rsmin < rmsSecondA ? rsmin : rmsSecondA;
|
||||
@@ -448,8 +474,8 @@ export default {
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
var rmsFirstA = rmsData[rms][this.iphasic * step + 1] * xishu;
|
||||
var rmsFirstB = rmsData[rms][this.iphasic * step + 2] * xishu;
|
||||
rmsFirstA = rmsData[rms][this.iphasic * step + 1] * xishu;
|
||||
rmsFirstB = rmsData[rms][this.iphasic * step + 2] * xishu;
|
||||
rmsFA.push([rmsData[rms][0], rmsFirstA]);
|
||||
rsmFB.push([rmsData[rms][0], rmsFirstB]);
|
||||
rfmax = this.getMaxTwo(rfmax, rmsFirstA, rmsFirstB);
|
||||
@@ -464,8 +490,8 @@ export default {
|
||||
rmsvFirstX = rmsData[rms][0];
|
||||
}
|
||||
|
||||
var rmsSecondA = rmsData[rms][this.iphasic * step + 1];
|
||||
var rmsSecondB = rmsData[rms][this.iphasic * step + 2];
|
||||
rmsSecondA = rmsData[rms][this.iphasic * step + 1];
|
||||
rmsSecondB = rmsData[rms][this.iphasic * step + 2];
|
||||
rmsSA.push([rmsData[rms][0], rmsSecondA]);
|
||||
rsmSB.push([rmsData[rms][0], rmsSecondB]);
|
||||
rsmax = this.getMaxTwo(rsmax, rmsSecondA, rmsSecondB);
|
||||
@@ -481,9 +507,9 @@ export default {
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
var rmsFirstA = rmsData[rms][this.iphasic * step + 1] * xishu;
|
||||
var rmsFirstB = rmsData[rms][this.iphasic * step + 2] * xishu;
|
||||
var rmsFirstC = rmsData[rms][this.iphasic * step + 3] * xishu;
|
||||
rmsFirstA = rmsData[rms][this.iphasic * step + 1] * xishu;
|
||||
rmsFirstB = rmsData[rms][this.iphasic * step + 2] * xishu;
|
||||
rmsFirstC = rmsData[rms][this.iphasic * step + 3] * xishu;
|
||||
rmsFA.push([rmsData[rms][0], rmsFirstA]);
|
||||
rsmFB.push([rmsData[rms][0], rmsFirstB]);
|
||||
rmsFC.push([rmsData[rms][0], rmsFirstC]);
|
||||
@@ -505,9 +531,9 @@ export default {
|
||||
rmsvFirstX = rmsData[rms][0];
|
||||
}
|
||||
|
||||
var rmsSecondA = rmsData[rms][this.iphasic * step + 1];
|
||||
var rmsSecondB = rmsData[rms][this.iphasic * step + 2];
|
||||
var rmsSecondC = rmsData[rms][this.iphasic * step + 3];
|
||||
rmsSecondA = rmsData[rms][this.iphasic * step + 1];
|
||||
rmsSecondB = rmsData[rms][this.iphasic * step + 2];
|
||||
rmsSecondC = rmsData[rms][this.iphasic * step + 3];
|
||||
rmsSA.push([rmsData[rms][0], rmsSecondA]);
|
||||
rsmSB.push([rmsData[rms][0], rmsSecondB]);
|
||||
rmsSC.push([rmsData[rms][0], rmsSecondC]);
|
||||
@@ -533,21 +559,21 @@ export default {
|
||||
}
|
||||
}
|
||||
//瞬时一次值最大最小值
|
||||
var instantFAn = {};
|
||||
var instantSAn = {};
|
||||
//var color;
|
||||
let instantFAn = {};
|
||||
let instantSAn = {};
|
||||
//let color;
|
||||
|
||||
var instantF = {};
|
||||
var instantS = {};
|
||||
var RMSF = {};
|
||||
var RMSS = {};
|
||||
var RMSFMinDetail = {};
|
||||
var RMSSMinDetail = {};
|
||||
var shunshiF = {};
|
||||
var shunshiS = {};
|
||||
var RMSFWave = {};
|
||||
var RMSSWave = {};
|
||||
var title = {};
|
||||
let instantF = {};
|
||||
let instantS = {};
|
||||
let RMSF = {};
|
||||
let RMSS = {};
|
||||
let RMSFMinDetail = {};
|
||||
let RMSSMinDetail = {};
|
||||
let shunshiF = {};
|
||||
let shunshiS = {};
|
||||
let RMSFWave = {};
|
||||
let RMSSWave = {};
|
||||
let title = {};
|
||||
|
||||
//三相名称
|
||||
title.aTitle = aTitle;
|
||||
@@ -613,7 +639,7 @@ export default {
|
||||
RMSSMinDetail.rmsvSecondX = rmsvSecondX;
|
||||
RMSSMinDetail.rmsvSecondY = rmsvSecondY;
|
||||
RMSSMinDetail.secondeZhou = secondeZhou;
|
||||
return this.waveData(
|
||||
return this.waveData(
|
||||
instantF,
|
||||
instantS,
|
||||
RMSF,
|
||||
@@ -632,33 +658,34 @@ export default {
|
||||
initWave(waveDatas, time, type, severity, isOpen) {
|
||||
//清除之前增加的div
|
||||
// $("#wave ~ .bx").remove();
|
||||
this.echartlist = []
|
||||
$("#rms ~ .bx").remove();
|
||||
//设置暂降触发点的位置 一次值与二次值Y轴不同(不是计算出来的)
|
||||
// var height = $(window).height() - 90;
|
||||
var picHeight;
|
||||
var show = true;
|
||||
// let height = $(window).height() - 90;
|
||||
let picHeight;
|
||||
let show = true;
|
||||
if (isOpen) {
|
||||
show = false;
|
||||
}
|
||||
//var v = $("#interval").val();
|
||||
var isvisible = false;
|
||||
var cu = [],
|
||||
rmscu = [],
|
||||
rmscm = [],
|
||||
title,
|
||||
unit,
|
||||
max,
|
||||
min;
|
||||
var a = "",
|
||||
//let v = $("#interval").val();
|
||||
let isvisible = false;
|
||||
let cu = null,
|
||||
rmscu = null,
|
||||
rmscm = null,
|
||||
title =null,
|
||||
unit =null,
|
||||
max =null,
|
||||
min=null;
|
||||
let a = null,
|
||||
b = "",
|
||||
c = "";
|
||||
var adata = [],
|
||||
bdata = [],
|
||||
cdata = [];
|
||||
var radata = [],
|
||||
rbdata = [],
|
||||
rcdata = [];
|
||||
var rmsvX = 0,
|
||||
let adata = null,
|
||||
bdata = null,
|
||||
cdata = null;
|
||||
let radata = null,
|
||||
rbdata = null,
|
||||
rcdata = null;
|
||||
let rmsvX = 0,
|
||||
rmsvY = 0,
|
||||
zhou = 0;
|
||||
// if (null == waveDatas || waveDatas.length === 1) {
|
||||
@@ -675,7 +702,7 @@ export default {
|
||||
// this.rmsHeight = picHeight
|
||||
// $wave.css("height", picHeight);
|
||||
// $rms.css("height", picHeight);
|
||||
var colors = [];
|
||||
let colors = [];
|
||||
if (null == waveDatas) {
|
||||
cu = [];
|
||||
rmscu = [];
|
||||
@@ -801,7 +828,7 @@ export default {
|
||||
break;
|
||||
}
|
||||
if (waveDatas[0].unit === "电压") {
|
||||
var xdata = this.wp.listRmsData[0][0];
|
||||
let xdata = this.wp.listRmsData[0][0];
|
||||
if (this.value === 1) {
|
||||
this.fz = [
|
||||
this.wp.listRmsMinData[0][0],
|
||||
@@ -823,11 +850,10 @@ export default {
|
||||
unit = "A";
|
||||
}
|
||||
//把剩余的DIV先拼接好
|
||||
for (var step = 1; step < waveDatas.length; step++) {
|
||||
var rmsId = "rms" + step;
|
||||
var newDivRms = $(
|
||||
` <div style="height:${
|
||||
this.vh
|
||||
for (let step = 1; step < waveDatas.length; step++) {
|
||||
let rmsId = "rms" + step;
|
||||
let newDivRms = $(
|
||||
` <div style="height:${this.vh
|
||||
};overflow: hidden;"><div class='bx' id='${rmsId}' ></div></div>`
|
||||
);
|
||||
newDivRms.insertAfter($("#rmsp"));
|
||||
@@ -855,27 +881,27 @@ export default {
|
||||
// 绘制RMS波形图
|
||||
let _this = this;
|
||||
|
||||
var myChartes = echarts.init(document.getElementById("rms"));
|
||||
let myChartes = echarts.init(document.getElementById("rms"));
|
||||
// console.log("==========", radata);
|
||||
let echartsColor = {WordColor:"#000",thread:"#000000",FigureColor:["#07CCCA ","#00BFF5","#FFBF00","#77DA63","#D5FF6B","#Ff6600","#FF9100","#5B6E96","#66FFCC","#B3B3B3","#FF00FF","#CC00FF","#FF9999"]}
|
||||
let echartsColor = { WordColor: "#000", thread: "#000000", FigureColor: ["#07CCCA ", "#00BFF5", "#FFBF00", "#77DA63", "#D5FF6B", "#Ff6600", "#FF9100", "#5B6E96", "#66FFCC", "#B3B3B3", "#FF00FF", "#CC00FF", "#FF9999"] }
|
||||
setTimeout(() => {
|
||||
document.getElementById("rms").style.width ='100%';
|
||||
document.getElementById("rms").style.height =_this.vh;
|
||||
}, 0);
|
||||
var option = {
|
||||
document.getElementById("rms").style.width = '100%';
|
||||
document.getElementById("rms").style.height = _this.vh;
|
||||
}, 0);
|
||||
let option = {
|
||||
tooltip: {
|
||||
top: "10px",
|
||||
trigger: "axis",
|
||||
borderColor: "grey",
|
||||
formatter: function (params) {
|
||||
var tips = "";
|
||||
let tips = "";
|
||||
tips += "时刻:" + params[0].data[0] + "</br/>";
|
||||
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
if (params[i].seriesName != "暂降触发点") {
|
||||
|
||||
tips +=
|
||||
params[i].seriesName + ":" + (params[i].value[1]-0).toFixed(2) + "<br/>";
|
||||
params[i].seriesName + ":" + (params[i].value[1] - 0).toFixed(2) + "<br/>";
|
||||
}
|
||||
}
|
||||
return tips;
|
||||
@@ -899,7 +925,7 @@ export default {
|
||||
},
|
||||
title: {
|
||||
left: "center",
|
||||
text: "电网侧-电压 "+title,
|
||||
text: "电网侧-电压 " + title,
|
||||
subtitle: {
|
||||
text: "电压",
|
||||
align: "left",
|
||||
@@ -1137,40 +1163,41 @@ export default {
|
||||
],
|
||||
};
|
||||
myChartes.setOption(option)
|
||||
// window.echartsArr.push(myChartes);
|
||||
// window.echartsArr.push(myChartes);
|
||||
setTimeout(() => {
|
||||
myChartes.resize();
|
||||
this.loading = false;
|
||||
}, 500);
|
||||
this.echartlist.push(myChartes)
|
||||
//第一个波形图数据绘制完毕后,绘制后续的波形图
|
||||
if (waveDatas !== null && waveDatas.length > 1) {
|
||||
var waveDatasTemp = waveDatas.slice(1);
|
||||
let waveDatasTemp = waveDatas.slice(1);
|
||||
waveDatasTemp.reverse();
|
||||
for (var step = 0; step < waveDatasTemp.length; step++) {
|
||||
var waveDataTemp = waveDatasTemp[step];
|
||||
for (let step = 0; step < waveDatasTemp.length; step++) {
|
||||
let waveDataTemp = waveDatasTemp[step];
|
||||
|
||||
this.drawPics(waveDataTemp, picHeight, step, show, myChartes,rmscm,rmscu,title);
|
||||
this.drawPics(waveDataTemp, picHeight, step, show, myChartes, rmscm, rmscu, title);
|
||||
}
|
||||
}
|
||||
},
|
||||
//绘制剩余横向的波形图
|
||||
drawPics(waveDataTemp, picHeight, step, show, myChartes1,rmscm,rmscu,title) {
|
||||
drawPics(waveDataTemp, picHeight, step, show, myChartes1, rmscm, rmscu, title) {
|
||||
step = step + 1;
|
||||
//新建瞬时DIV和RMS波形DIV
|
||||
// var waveId = 'wave' + step;
|
||||
var rmsId = "rms" + step;
|
||||
// var v = $("#interval").val();
|
||||
var a = "",
|
||||
// let waveId = 'wave' + step;
|
||||
let rmsId = "rms" + step;
|
||||
// let v = $("#interval").val();
|
||||
let a = "",
|
||||
b = "",
|
||||
c = "";
|
||||
var max, min, unit;
|
||||
var adata = [],
|
||||
bdata = [],
|
||||
cdata = [];
|
||||
var radata = [],
|
||||
rbdata = [],
|
||||
rcdata = [];
|
||||
var colors = [];
|
||||
let max, min, unit;
|
||||
let adata =null,
|
||||
bdata =null,
|
||||
cdata =null;
|
||||
let radata =null,
|
||||
rbdata =null,
|
||||
rcdata =null;
|
||||
let colors =[];
|
||||
switch (this.iphasic) {
|
||||
case 1:
|
||||
a = waveDataTemp.title.aTitle;
|
||||
@@ -1226,58 +1253,59 @@ export default {
|
||||
//绘制rms波形
|
||||
let _this = this;
|
||||
|
||||
var myChartes = echarts.init(document.getElementById(rmsId));
|
||||
let myChartes = echarts.init(document.getElementById(rmsId));
|
||||
//debugger
|
||||
if(this.boxoList.systemType == "ZL"){
|
||||
let str =[]
|
||||
str = rmsId.split('s')
|
||||
let str1 = Number(str[1])
|
||||
var titlename =''
|
||||
this.wp.channelNames.forEach((element,i) => {
|
||||
if(i==4 || i==7 || i==10){
|
||||
if(str1==1 && i==4){
|
||||
let s =[]
|
||||
let s1 =''
|
||||
s=element.split('A')
|
||||
if(s[0]=='LI'){
|
||||
s1 ='电网侧-电流'
|
||||
}else{
|
||||
s1= s[0]+'侧'+s[1]
|
||||
}
|
||||
let titlename = ''
|
||||
if (this.boxoList.systemType == "ZL") {
|
||||
let str = []
|
||||
str = rmsId.split('s')
|
||||
let str1 = Number(str[1])
|
||||
|
||||
this.wp.channelNames.forEach((element, i) => {
|
||||
if (i == 4 || i == 7 || i == 10) {
|
||||
if (str1 == 1 && i == 4) {
|
||||
let s = []
|
||||
let s1 = ''
|
||||
s = element.split('A')
|
||||
if (s[0] == 'LI') {
|
||||
s1 = '电网侧-电流'
|
||||
} else {
|
||||
s1 = s[0] + '侧' + s[1]
|
||||
}
|
||||
|
||||
titlename = s1+' '+title
|
||||
}
|
||||
if(str1==2 && i==7){
|
||||
let s =[]
|
||||
let s1 =''
|
||||
s=element.split('A')
|
||||
if(s[0]=='SU'){
|
||||
s1 ='负载侧-电压'
|
||||
}else{
|
||||
s1= s[0]+'侧'+s[1]
|
||||
titlename = s1 + ' ' + title
|
||||
}
|
||||
if (str1 == 2 && i == 7) {
|
||||
let s = []
|
||||
let s1 = ''
|
||||
s = element.split('A')
|
||||
if (s[0] == 'SU') {
|
||||
s1 = '负载侧-电压'
|
||||
} else {
|
||||
s1 = s[0] + '侧' + s[1]
|
||||
}
|
||||
|
||||
titlename = s1+' '+title
|
||||
}
|
||||
if(str1==3 && i==10){
|
||||
let s =[]
|
||||
let s1 =''
|
||||
s=element.split('A')
|
||||
|
||||
if(s[0]=='SI'){
|
||||
s1 ='负载侧-电流'
|
||||
}else{
|
||||
s1= s[0]+'侧'+s[1]
|
||||
titlename = s1 + ' ' + title
|
||||
}
|
||||
if (str1 == 3 && i == 10) {
|
||||
let s = []
|
||||
let s1 = ''
|
||||
s = element.split('A')
|
||||
|
||||
titlename = s1+' '+title
|
||||
if (s[0] == 'SI') {
|
||||
s1 = '负载侧-电流'
|
||||
} else {
|
||||
s1 = s[0] + '侧' + s[1]
|
||||
}
|
||||
|
||||
titlename = s1 + ' ' + title
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
let echartsColor = {WordColor:"#000",thread:"#000000",FigureColor:["#07CCCA ","#00BFF5","#FFBF00","#77DA63","#D5FF6B","#Ff6600","#FF9100","#5B6E96","#66FFCC","#B3B3B3","#FF00FF","#CC00FF","#FF9999"]}
|
||||
var option = {
|
||||
});
|
||||
}
|
||||
let echartsColor = { WordColor: "#000", thread: "#000000", FigureColor: ["#07CCCA ", "#00BFF5", "#FFBF00", "#77DA63", "#D5FF6B", "#Ff6600", "#FF9100", "#5B6E96", "#66FFCC", "#B3B3B3", "#FF00FF", "#CC00FF", "#FF9999"] }
|
||||
let option = {
|
||||
tooltip: {
|
||||
trigger: "axis",
|
||||
borderColor: "grey",
|
||||
@@ -1289,13 +1317,13 @@ export default {
|
||||
},
|
||||
formatter: function (params) {
|
||||
// console.log(params)
|
||||
var tips = "";
|
||||
let tips = "";
|
||||
tips += "时刻:" + params[0].data[0] + "</br/>";
|
||||
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
if (params[i].seriesName != "暂降触发点") {
|
||||
tips +=
|
||||
params[i].seriesName + ":" + (params[i].value[1]-0).toFixed(2) + "<br/>";
|
||||
params[i].seriesName + ":" + (params[i].value[1] - 0).toFixed(2) + "<br/>";
|
||||
}
|
||||
}
|
||||
return tips;
|
||||
@@ -1510,11 +1538,12 @@ export default {
|
||||
],
|
||||
};
|
||||
myChartes.setOption(option)
|
||||
// window.echartsArr.push(myChartes);
|
||||
// window.echartsArr.push(myChartes);
|
||||
setTimeout(() => {
|
||||
myChartes.resize();
|
||||
this.loading = false;
|
||||
}, 500);
|
||||
this.echartlist.push(myChartes)
|
||||
echarts.connect([myChartes1, myChartes]);
|
||||
},
|
||||
//根据多个值的比较返回其中最大值
|
||||
|
||||
@@ -5,14 +5,8 @@
|
||||
<div class="bx" id="wave"></div>
|
||||
</div>
|
||||
</div>
|
||||
<el-button
|
||||
style="position: absolute; right: 10px; top: 0px; z-index: 20000"
|
||||
type="primary"
|
||||
link
|
||||
icon="el-icon-Download"
|
||||
title="生成图片"
|
||||
@click="download"
|
||||
>
|
||||
<el-button style="position: absolute; right: 10px; top: 0px; z-index: 20000" type="primary" link
|
||||
icon="el-icon-Download" title="生成图片" @click="download">
|
||||
下载
|
||||
</el-button>
|
||||
</div>
|
||||
@@ -23,6 +17,8 @@ import $ from 'jquery'
|
||||
import * as echarts from 'echarts'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
import url from '@/assets/img/point.png'
|
||||
import { t } from 'vxe-table'
|
||||
import { set } from '@vueuse/core'
|
||||
export default {
|
||||
props: {
|
||||
value: {
|
||||
@@ -72,15 +68,16 @@ export default {
|
||||
titles: '',
|
||||
vh: null,
|
||||
vw: null,
|
||||
zoom: ''
|
||||
zoom: '',
|
||||
echartlist: null
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
||||
if (this.flag == 1) {
|
||||
this.vh = mainHeight(165).height
|
||||
} else {
|
||||
this.vh = mainHeight(165,2).height
|
||||
} else {
|
||||
this.vh = mainHeight(165, 2).height
|
||||
}
|
||||
this.vw = '100%'
|
||||
},
|
||||
@@ -96,7 +93,7 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// console.log(`123123`,this.boxoList,this.wp);
|
||||
// console.log(`123123`,this.boxoList,this.wp);
|
||||
this.zoom = 1 / document.body.style.zoom
|
||||
window.addEventListener('resize', () => {
|
||||
this.zoom = 1 / document.body.style.zoom
|
||||
@@ -107,13 +104,27 @@ export default {
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
download() {
|
||||
backbxlb() {
|
||||
|
||||
if (this.echartlist.length>0) {
|
||||
console.log(123111);
|
||||
this.waveDatas = []
|
||||
this.echartlist.forEach(item => {
|
||||
item.dispose(); // 销毁echarts实例
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
download() {
|
||||
// 转换成canvas
|
||||
html2canvas(document.getElementById('boxsj'), {
|
||||
scale: 2
|
||||
}).then(function (canvas) {
|
||||
// 创建a标签,实现下载
|
||||
var creatIMg = document.createElement('a')
|
||||
let creatIMg = document.createElement('a')
|
||||
creatIMg.download = '瞬间波形.png' // 设置下载的文件名,
|
||||
creatIMg.href = canvas.toDataURL() // 下载url
|
||||
creatIMg.click()
|
||||
@@ -190,18 +201,18 @@ export default {
|
||||
if (this.iphasic === 0) {
|
||||
this.iphasic = 1
|
||||
}
|
||||
var picCounts = (this.wp.waveTitle.length - 1) / this.iphasic
|
||||
let picCounts = (this.wp.waveTitle.length - 1) / this.iphasic
|
||||
this.waveDatas = []
|
||||
//循环筛选需求的数据
|
||||
for (var i = 0; i < picCounts; i++) {
|
||||
for (let i = 0; i < picCounts; i++) {
|
||||
this.fliteWaveData(this.wp, i)
|
||||
this.waveDatas.push({
|
||||
instantF :this.instantF,
|
||||
instantS :this.instantS,
|
||||
shunshiF :this.shunshiF,
|
||||
shunshiS :this.shunshiS,
|
||||
title :this.title,
|
||||
unit :this.unit,
|
||||
instantF: this.instantF,
|
||||
instantS: this.instantS,
|
||||
shunshiF: this.shunshiF,
|
||||
shunshiS: this.shunshiS,
|
||||
title: this.title,
|
||||
unit: this.unit,
|
||||
|
||||
})
|
||||
|
||||
@@ -224,21 +235,21 @@ export default {
|
||||
//获取横向一个波形的全部数据,包括瞬时波形的一次、二次值,如果是电压的话,还需要计算出对应的最大最小值
|
||||
fliteWaveData(wp, step) {
|
||||
|
||||
var shunData = wp.listWaveData
|
||||
var pt = Number(wp.pt) / 1000
|
||||
var ct = Number(wp.ct)
|
||||
var titleList = wp.waveTitle
|
||||
let shunData = wp.listWaveData
|
||||
let pt = Number(wp.pt) / 1000
|
||||
let ct = Number(wp.ct)
|
||||
let titleList = wp.waveTitle
|
||||
//首先判断当前绘制的是电压还是电流
|
||||
var xishu = pt //默认电压,二次值转一次值乘以pt
|
||||
let xishu = pt //默认电压,二次值转一次值乘以pt
|
||||
//三相名称
|
||||
var aTitle = '',
|
||||
let aTitle = '',
|
||||
bTitle = '',
|
||||
cTitle = '',
|
||||
unit = '电压'
|
||||
//每个波形对应的最大最小值
|
||||
var ifmax, ifmin, ismax, ismin
|
||||
let ifmax, ifmin, ismax, ismin
|
||||
|
||||
var shunshiFA = [],
|
||||
let shunshiFA = [],
|
||||
shunshiFB = [],
|
||||
shunshiFC = [],
|
||||
shunshiSA = [],
|
||||
@@ -250,7 +261,7 @@ export default {
|
||||
xishu = ct
|
||||
unit = '电流'
|
||||
}
|
||||
for (var i = 1; i <= this.iphasic; i++) {
|
||||
for (let i = 1; i <= this.iphasic; i++) {
|
||||
switch (i) {
|
||||
case 1:
|
||||
aTitle = titleList[this.iphasic * step + i].substring(1)
|
||||
@@ -271,42 +282,50 @@ export default {
|
||||
}
|
||||
|
||||
//瞬时值--同时还需要获取出瞬时值的一次、二次的最大最小值
|
||||
for (var shun = 0; shun < shunData.length; shun++) {
|
||||
for (let shun = 0; shun < shunData.length; shun++) {
|
||||
if (shunData[shun][this.iphasic * step + 1] === undefined) {
|
||||
break
|
||||
}
|
||||
let shunFirstA = []
|
||||
let shunFirstB = []
|
||||
let shunFirstC = []
|
||||
let shunSecondA = []
|
||||
let shunSecondB = []
|
||||
let shunSecondC = []
|
||||
//根据波形数据相的数量来筛选数据
|
||||
switch (this.iphasic) {
|
||||
|
||||
case 1:
|
||||
var shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu
|
||||
|
||||
shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu
|
||||
shunshiFA.push([shunData[shun][0], shunFirstA])
|
||||
ifmax = ifmax > shunFirstA ? ifmax : shunFirstA
|
||||
ifmin = ifmin < shunFirstA ? ifmin : shunFirstA
|
||||
|
||||
var shunSecondA = shunData[shun][this.iphasic * step + 1]
|
||||
shunSecondA = shunData[shun][this.iphasic * step + 1]
|
||||
shunshiSA.push([shunData[shun][0], shunSecondA])
|
||||
ismax = ismax > shunSecondA ? ismax : shunSecondA
|
||||
ismin = ismin < shunSecondA ? ismin : shunSecondA
|
||||
break
|
||||
case 2:
|
||||
var shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu
|
||||
var shunFirstB = shunData[shun][this.iphasic * step + 2] * xishu
|
||||
shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu
|
||||
shunFirstB = shunData[shun][this.iphasic * step + 2] * xishu
|
||||
shunshiFA.push([shunData[shun][0], shunFirstA])
|
||||
shunshiFB.push([shunData[shun][0], shunFirstB])
|
||||
ifmax = this.getMaxTwo(ifmax, shunFirstA, shunFirstB)
|
||||
ifmin = this.getMinOpen(ifmin, shunFirstA, shunFirstB)
|
||||
|
||||
var shunSecondA = shunData[shun][this.iphasic * step + 1]
|
||||
var shunSecondB = shunData[shun][this.iphasic * step + 2]
|
||||
shunSecondA = shunData[shun][this.iphasic * step + 1]
|
||||
shunSecondB = shunData[shun][this.iphasic * step + 2]
|
||||
shunshiSA.push([shunData[shun][0], shunSecondA])
|
||||
shunshiSB.push([shunData[shun][0], shunSecondB])
|
||||
ismax = this.getMaxTwo(ismax, shunSecondA, shunSecondB)
|
||||
ismin = this.getMinOpen(ismin, shunSecondA, shunSecondB)
|
||||
break
|
||||
case 3:
|
||||
var shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu
|
||||
var shunFirstB = shunData[shun][this.iphasic * step + 2] * xishu
|
||||
var shunFirstC = shunData[shun][this.iphasic * step + 3] * xishu
|
||||
shunFirstA = shunData[shun][this.iphasic * step + 1] * xishu
|
||||
shunFirstB = shunData[shun][this.iphasic * step + 2] * xishu
|
||||
shunFirstC = shunData[shun][this.iphasic * step + 3] * xishu
|
||||
shunshiFA.push([shunData[shun][0], shunFirstA])
|
||||
shunshiFB.push([shunData[shun][0], shunFirstB])
|
||||
shunshiFC.push([shunData[shun][0], shunFirstC])
|
||||
@@ -318,9 +337,9 @@ export default {
|
||||
ifmin = this.getMin(ifmin, shunFirstA, shunFirstB, shunFirstC)
|
||||
}
|
||||
|
||||
var shunSecondA = shunData[shun][this.iphasic * step + 1]
|
||||
var shunSecondB = shunData[shun][this.iphasic * step + 2]
|
||||
var shunSecondC = shunData[shun][this.iphasic * step + 3]
|
||||
let shunSecondA = shunData[shun][this.iphasic * step + 1]
|
||||
let shunSecondB = shunData[shun][this.iphasic * step + 2]
|
||||
let shunSecondC = shunData[shun][this.iphasic * step + 3]
|
||||
shunshiSA.push([shunData[shun][0], shunSecondA])
|
||||
shunshiSB.push([shunData[shun][0], shunSecondB])
|
||||
shunshiSC.push([shunData[shun][0], shunSecondC])
|
||||
@@ -336,15 +355,15 @@ export default {
|
||||
}
|
||||
}
|
||||
//瞬时一次值最大最小值
|
||||
var instantFAn = {}
|
||||
var instantSAn = {}
|
||||
//var color;
|
||||
let instantFAn = {}
|
||||
let instantSAn = {}
|
||||
//let color;
|
||||
|
||||
var instantF = {}
|
||||
var instantS = {}
|
||||
var shunshiF = {}
|
||||
var shunshiS = {}
|
||||
var title = {}
|
||||
let instantF = {}
|
||||
let instantS = {}
|
||||
let shunshiF = {}
|
||||
let shunshiS = {}
|
||||
let title = {}
|
||||
|
||||
//三相名称
|
||||
title.aTitle = aTitle
|
||||
@@ -383,38 +402,38 @@ export default {
|
||||
}
|
||||
|
||||
|
||||
return this.waveData(instantF, instantS, shunshiF, shunshiS, title, unit)
|
||||
return this.waveData(instantF, instantS, shunshiF, shunshiS, title, unit)
|
||||
},
|
||||
//开始画图
|
||||
initWave(waveDatas, time, type, severity, isOpen) {
|
||||
|
||||
this.echartlist=[]
|
||||
//清除之前增加的div
|
||||
// $("#wave ~ .bx1").remove();
|
||||
$('div.bx1').remove()
|
||||
//设置暂降触发点的位置 一次值与二次值Y轴不同(不是计算出来的)
|
||||
// var height = $(window).height() - 90;
|
||||
var picHeight
|
||||
var show = true
|
||||
// let height = $(window).height() - 90;
|
||||
let picHeight
|
||||
let show = true
|
||||
if (isOpen) {
|
||||
show = false
|
||||
}
|
||||
//var v = $("#interval").val();
|
||||
var isvisible = false
|
||||
var cu = [],
|
||||
title,
|
||||
unit,
|
||||
max,
|
||||
min
|
||||
var a = '',
|
||||
b = '',
|
||||
c = ''
|
||||
var adata = [],
|
||||
bdata = [],
|
||||
cdata = []
|
||||
//let v = $("#interval").val();
|
||||
let isvisible = false
|
||||
let cu = null,
|
||||
title = null,
|
||||
unit = null,
|
||||
max = null,
|
||||
min = null
|
||||
let a = null,
|
||||
b = null,
|
||||
c = null
|
||||
let adata = null,
|
||||
bdata = null,
|
||||
cdata = null
|
||||
picHeight = this.vh
|
||||
// this.$wave.css('height', picHeight)
|
||||
// this.$wave.css('width', this.vw)
|
||||
var colors = []
|
||||
let colors = []
|
||||
if (null == waveDatas) {
|
||||
cu = []
|
||||
title = '该事件暂无波形图'
|
||||
@@ -499,9 +518,9 @@ export default {
|
||||
unit = 'A'
|
||||
}
|
||||
//把剩余的DIV先拼接好
|
||||
for (var step = 1; step < waveDatas.length; step++) {
|
||||
var waveId = 'wave' + step
|
||||
var newDivShunshi = $(` <div style="height:${this.vh};overflow: hidden;">
|
||||
for (let step = 1; step < waveDatas.length; step++) {
|
||||
let waveId = 'wave' + step
|
||||
let newDivShunshi = $(` <div style="height:${this.vh};overflow: hidden;">
|
||||
<div class='bx1' id='${waveId}'>
|
||||
</div>
|
||||
</div>`)
|
||||
@@ -531,13 +550,13 @@ export default {
|
||||
let wave = document.getElementById('wave')
|
||||
|
||||
let _this = this
|
||||
var myChartes = echarts.init(wave)
|
||||
let echartsColor = {WordColor:"#000",thread:"#000000",FigureColor:["#07CCCA ","#00BFF5","#FFBF00","#77DA63","#D5FF6B","#Ff6600","#FF9100","#5B6E96","#66FFCC","#B3B3B3","#FF00FF","#CC00FF","#FF9999"]}
|
||||
let myChartes = echarts.init(wave)
|
||||
let echartsColor = { WordColor: "#000", thread: "#000000", FigureColor: ["#07CCCA ", "#00BFF5", "#FFBF00", "#77DA63", "#D5FF6B", "#Ff6600", "#FF9100", "#5B6E96", "#66FFCC", "#B3B3B3", "#FF00FF", "#CC00FF", "#FF9999"] }
|
||||
setTimeout(() => {
|
||||
wave.style.width ='100%';
|
||||
wave.style.height =_this.vh;
|
||||
wave.style.width = '100%';
|
||||
wave.style.height = _this.vh;
|
||||
}, 0);
|
||||
var option = {
|
||||
let option = {
|
||||
tooltip: {
|
||||
top: '10px',
|
||||
trigger: 'axis',
|
||||
@@ -550,10 +569,10 @@ export default {
|
||||
},
|
||||
formatter: function (params) {
|
||||
// console.log(params)
|
||||
var tips = ''
|
||||
let tips = ''
|
||||
tips += '时刻:' + params[0].data[0] + '</br/>'
|
||||
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
if (params[i].seriesName != '暂降触发点') {
|
||||
tips += params[i].seriesName + ':' + (params[i].value[1] - 0).toFixed(2) + '<br/>'
|
||||
}
|
||||
@@ -776,13 +795,14 @@ export default {
|
||||
myChartes.resize()
|
||||
this.loading = false
|
||||
}, 400)
|
||||
this.echartlist.push(myChartes)
|
||||
|
||||
//第一个波形图数据绘制完毕后,绘制后续的波形图
|
||||
if (waveDatas !== null && waveDatas.length > 1) {
|
||||
let waveDatasTemp = waveDatas.slice(1)
|
||||
waveDatasTemp.reverse()
|
||||
for (var step = 0; step < waveDatasTemp.length; step++) {
|
||||
var waveDataTemp = waveDatasTemp[step]
|
||||
for (let step = 0; step < waveDatasTemp.length; step++) {
|
||||
let waveDataTemp = waveDatasTemp[step]
|
||||
this.drawPics(waveDataTemp, picHeight, step, show, myChartes, title)
|
||||
}
|
||||
}
|
||||
@@ -792,15 +812,15 @@ export default {
|
||||
let _this = this
|
||||
step = step + 1
|
||||
//新建瞬时DIV
|
||||
var waveId = 'wave' + step
|
||||
var a = '',
|
||||
b = '',
|
||||
c = ''
|
||||
var max, min, unit
|
||||
var adata = [],
|
||||
bdata = [],
|
||||
cdata = []
|
||||
var colors = []
|
||||
let waveId = 'wave' + step
|
||||
let a = null,
|
||||
b = null,
|
||||
c = null
|
||||
let max, min, unit
|
||||
let adata = null,
|
||||
bdata = null,
|
||||
cdata = null
|
||||
let colors = []
|
||||
switch (this.iphasic) {
|
||||
case 1:
|
||||
a = waveDataTemp.title.aTitle
|
||||
@@ -847,13 +867,14 @@ export default {
|
||||
} else {
|
||||
unit = 'A'
|
||||
}
|
||||
let titlename = ''
|
||||
// const echarts = require('echarts')
|
||||
let waveIds = document.getElementById(waveId)
|
||||
if (this.boxoList.systemType == 'ZL') {
|
||||
let str = []
|
||||
str = waveId.split('e')
|
||||
let str1 = Number(str[1])
|
||||
var titlename = ''
|
||||
|
||||
this.wp.channelNames.forEach((element, i) => {
|
||||
if (i == 4 || i == 7 || i == 10) {
|
||||
if (str1 == 1 && i == 4) {
|
||||
@@ -894,18 +915,18 @@ export default {
|
||||
}
|
||||
})
|
||||
}
|
||||
var myChartes = echarts.init(waveIds)
|
||||
let echartsColor = {WordColor:"#000",thread:"#000000",FigureColor:["#07CCCA ","#00BFF5","#FFBF00","#77DA63","#D5FF6B","#Ff6600","#FF9100","#5B6E96","#66FFCC","#B3B3B3","#FF00FF","#CC00FF","#FF9999"]}
|
||||
var option = {
|
||||
let myChartes = echarts.init(waveIds)
|
||||
let echartsColor = { WordColor: "#000", thread: "#000000", FigureColor: ["#07CCCA ", "#00BFF5", "#FFBF00", "#77DA63", "#D5FF6B", "#Ff6600", "#FF9100", "#5B6E96", "#66FFCC", "#B3B3B3", "#FF00FF", "#CC00FF", "#FF9999"] }
|
||||
let option = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
borderColor: 'grey',
|
||||
formatter: function (params) {
|
||||
// console.log(params)
|
||||
var tips = ''
|
||||
let tips = ''
|
||||
tips += '时刻:' + params[0].data[0] + '</br/>'
|
||||
|
||||
for (var i = 0; i < params.length; i++) {
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
if (params[i].seriesName != '暂降触发点') {
|
||||
tips += params[i].seriesName + ':' + (params[i].value[1] - 0).toFixed(2) + '<br/>'
|
||||
}
|
||||
@@ -1119,6 +1140,7 @@ export default {
|
||||
myChartes.resize()
|
||||
this.loading = false
|
||||
}, 400)
|
||||
this.echartlist.push(myChartes)
|
||||
echarts.connect([myChartes1, myChartes])
|
||||
},
|
||||
//根据多个值的比较返回其中最大值
|
||||
|
||||
@@ -2,92 +2,67 @@
|
||||
<div v-if="view2">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<span v-if="view2" style="font-size: 14px; font-weight: ; line-height: 30px">值类型选择:</span>
|
||||
<el-select
|
||||
v-if="view2"
|
||||
style="min-width: 200px; width: 200px"
|
||||
@change="changeView"
|
||||
v-model="value"
|
||||
placeholder="请选择值类型"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
<span style="font-size: 14px; line-height: 30px">值类型选择:</span>
|
||||
<el-select style="min-width: 200px; width: 200px" @change="changeView" v-model="value"
|
||||
placeholder="请选择值类型">
|
||||
<el-option v-for="item in options" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
<el-button v-if="view2 && senior" class="ml10" type="primary" @click="AdvancedAnalytics">高级分析</el-button>
|
||||
<el-button v-if="view2 && senior" class="ml10" type="primary"
|
||||
@click="AdvancedAnalytics">高级分析</el-button>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-button
|
||||
v-if="view2"
|
||||
@click="backbxlb"
|
||||
|
||||
class="el-icon-refresh-right"
|
||||
icon="el-icon-CloseBold"
|
||||
style="float: right"
|
||||
>
|
||||
<el-button @click="backbxlb" class="el-icon-refresh-right" icon="el-icon-CloseBold"
|
||||
style="float: right">
|
||||
返回
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-tabs v-if="view2" class="default-main" v-model="bxactiveName" @tab-click="bxhandleClick">
|
||||
<el-tab-pane
|
||||
label="瞬时波形"
|
||||
name="ssbx"
|
||||
class="boxbx pt10 pb10"
|
||||
:style="'height:' + bxecharts + ';overflow-y: scroll;'"
|
||||
>
|
||||
<shushiboxi
|
||||
v-if="bxactiveName == 'ssbx' && showBoxi"
|
||||
:value="value"
|
||||
:boxoList="props.boxoList"
|
||||
:wp="props.wp"
|
||||
></shushiboxi>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
label="RMS波形"
|
||||
class="boxbx pt10 pb10"
|
||||
name="rmsbx"
|
||||
:style="'height:' + bxecharts + ';overflow-y: scroll;'"
|
||||
>
|
||||
<rmsboxi
|
||||
v-if="bxactiveName == 'rmsbx' && showBoxi"
|
||||
:value="value"
|
||||
:boxoList="props.boxoList"
|
||||
:wp="props.wp"
|
||||
></rmsboxi>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<div v-loading="loading" style="height: calc(100vh - 190px)">
|
||||
<el-tabs v-if="view4" class="default-main" v-model="bxactiveName" @tab-click="bxhandleClick">
|
||||
<el-tab-pane label="瞬时波形" name="ssbx" class="boxbx pt10 pb10"
|
||||
:style="'height:' + bxecharts + ';overflow-y: scroll;'">
|
||||
<shushiboxi ref="shushiboxiRef" v-if="bxactiveName == 'ssbx' && showBoxi" :value="value"
|
||||
:boxoList="boxoList" :wp="wp">
|
||||
</shushiboxi>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="RMS波形" class="boxbx pt10 pb10" name="rmsbx"
|
||||
:style="'height:' + bxecharts + ';overflow-y: scroll;'">
|
||||
<rmsboxi ref="rmsboxiRef" v-if="bxactiveName == 'rmsbx' && showBoxi" :value="value"
|
||||
:boxoList="boxoList" :wp="wp">
|
||||
</rmsboxi>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
<el-empty v-else description="暂无数据" style="height: calc(100vh - 190px)" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="view3" class="pd10">
|
||||
<span style="font-weight: 500; font-size: 22px">高级分析</span>
|
||||
<el-button icon="el-icon-Back" @click="gaoBack" style="float: right">返回</el-button>
|
||||
<el-button icon="el-icon-Back" @click="gaoBack" style="float: right">返回</el-button>
|
||||
<analytics :flag="true" :GJList="GJList" :boxoList="boxoList"></analytics>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import shushiboxi from '@/components/echarts/shushiboxi.vue'
|
||||
import rmsboxi from '@/components/echarts/rmsboxi.vue'
|
||||
import analytics from '@/components/echarts/analytics.vue'
|
||||
import analytics from '@/components/echarts/analytics.vue'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { analysis } from '@/api/advance-boot/analyse'
|
||||
import { mainHeight } from '@/utils/layout'
|
||||
|
||||
import { getMonitorEventAnalyseWave, downloadWaveFile } from '@/api/event-boot/transient'
|
||||
const emit = defineEmits(['backbxlb'])
|
||||
interface Props {
|
||||
boxoList: any
|
||||
wp: any,
|
||||
senior?:boolean
|
||||
// boxoList: any
|
||||
// wp: any,
|
||||
senior?: boolean
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {
|
||||
senior:false
|
||||
senior: false
|
||||
})
|
||||
|
||||
const loading = ref(true)
|
||||
const bxactiveName = ref('ssbx')
|
||||
const rmsboxiRef = ref()
|
||||
const value = ref(1)
|
||||
const options = ref([
|
||||
{
|
||||
@@ -99,27 +74,62 @@ const options = ref([
|
||||
label: '二次值'
|
||||
}
|
||||
])
|
||||
const shushiboxiRef = ref()
|
||||
const bxecharts = mainHeight(95).height as any
|
||||
const view2 = ref(true)
|
||||
const boxoList = ref(null)
|
||||
const wp = ref(null)
|
||||
const showBoxi = ref(true)
|
||||
const view3 = ref(false)
|
||||
const view4 = ref(false)
|
||||
const GJList = ref([])
|
||||
|
||||
const open = async (row: any) => {
|
||||
loading.value = true
|
||||
await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
|
||||
.then(res => {
|
||||
|
||||
row.loading = false
|
||||
if (res != undefined) {
|
||||
boxoList.value = row
|
||||
wp.value = res.data
|
||||
loading.value = false
|
||||
view4.value = true
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
loading.value = false
|
||||
})
|
||||
}
|
||||
const bxhandleClick = (tab: any) => {
|
||||
loading.value = true
|
||||
if (tab.name == 'ssbx') {
|
||||
if (rmsboxiRef.value) rmsboxiRef.value.backbxlb()
|
||||
bxactiveName.value = 'ssbx'
|
||||
|
||||
} else if (tab.name == 'rmsbx') {
|
||||
if (shushiboxiRef.value) shushiboxiRef.value.backbxlb()
|
||||
bxactiveName.value = 'rmsbx'
|
||||
|
||||
}
|
||||
setTimeout(() => {
|
||||
loading.value = false
|
||||
},0)
|
||||
// console.log(tab, event);
|
||||
}
|
||||
const backbxlb = () => {
|
||||
boxoList.value = null
|
||||
wp.value = null
|
||||
if (shushiboxiRef.value) shushiboxiRef.value.backbxlb()
|
||||
if (rmsboxiRef.value) rmsboxiRef.value.backbxlb()
|
||||
console.log("🚀 ~ backbxlb ~ rmsboxiRef.value:", rmsboxiRef.value)
|
||||
|
||||
emit('backbxlb')
|
||||
}
|
||||
// 高级分析
|
||||
const AdvancedAnalytics = () => {
|
||||
analysis({
|
||||
eventIndex: props.boxoList.eventId
|
||||
eventIndex: boxoList.value.eventId
|
||||
}).then(res => {
|
||||
GJList.value = res.data
|
||||
view3.value = true
|
||||
@@ -136,5 +146,6 @@ const gaoBack = () => {
|
||||
view2.value = true
|
||||
view3.value = false
|
||||
}
|
||||
defineExpose({ open })
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
<Table ref="tableRef" />
|
||||
|
||||
</div>
|
||||
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="view2">
|
||||
<waveForm senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
|
||||
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="!view">
|
||||
<waveForm ref="waveFormRef" senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -67,7 +67,7 @@ const interfereoption = dictData.getBasicData('Interference_Source')
|
||||
const eventList = dictData.getBasicData('Event_Statis')
|
||||
const view = ref(true)
|
||||
const view2 = ref(false)
|
||||
|
||||
const waveFormRef = ref()
|
||||
const tableStore = new TableStore({
|
||||
url: '/event-boot/transient/getTransientValue',
|
||||
method: 'POST',
|
||||
@@ -129,20 +129,24 @@ const tableStore = new TableStore({
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton',
|
||||
click: async row => {
|
||||
row.loading = true
|
||||
boxoList.value = row
|
||||
await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
|
||||
.then(res => {
|
||||
row.loading = false
|
||||
if (res != undefined) {
|
||||
wp.value = res.data
|
||||
view.value = false
|
||||
view2.value = true
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
row.loading = false
|
||||
})
|
||||
view.value = false
|
||||
setTimeout(() => {
|
||||
waveFormRef.value.open(row)
|
||||
},100)
|
||||
// row.loading = true
|
||||
// boxoList.value = row
|
||||
// await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
|
||||
// .then(res => {
|
||||
// row.loading = false
|
||||
// if (res != undefined) {
|
||||
// wp.value = res.data
|
||||
// view.value = false
|
||||
// view2.value = true
|
||||
// }
|
||||
// })
|
||||
// .catch(() => {
|
||||
// row.loading = false
|
||||
// })
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -150,7 +154,7 @@ const tableStore = new TableStore({
|
||||
title: '暂无波形',
|
||||
type: '',
|
||||
disabled: row => {
|
||||
return row.fileFlag == 1
|
||||
return row.fileFlag != 0
|
||||
},
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton'
|
||||
|
||||
@@ -46,10 +46,7 @@ const dealStateList = ref([
|
||||
label: '未解决',
|
||||
value: '0'
|
||||
},
|
||||
{
|
||||
label: '全部',
|
||||
value: '1'
|
||||
}
|
||||
|
||||
])
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/SupervisionUserComplaint/list',
|
||||
|
||||
@@ -62,10 +62,10 @@
|
||||
</el-form-item> -->
|
||||
</template>
|
||||
<template #operation>
|
||||
<el-button icon="el-icon-Plus" :disabled="flag != '2'" type="primary" @click="launch('发起预警单')">
|
||||
<el-button icon="el-icon-Plus" :disabled="flag > 2" type="primary" @click="launch('发起预警单')">
|
||||
发起预警单
|
||||
</el-button>
|
||||
<el-button icon="el-icon-Plus" :disabled="flag != '2'" type="primary" @click="launch('发起告警单')">
|
||||
<el-button icon="el-icon-Plus" :disabled="flag > 2" type="primary" @click="launch('发起告警单')">
|
||||
发起告警单
|
||||
</el-button>
|
||||
</template>
|
||||
|
||||
@@ -47,10 +47,7 @@ const dealStateList = ref([
|
||||
label: '未解决',
|
||||
value: '0'
|
||||
},
|
||||
{
|
||||
label: '全部',
|
||||
value: '1'
|
||||
}
|
||||
|
||||
])
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/surveyTest/pageProblemSurvey',
|
||||
|
||||
@@ -48,10 +48,7 @@ const dealStateList = ref([
|
||||
label: '未解决',
|
||||
value: '0'
|
||||
},
|
||||
{
|
||||
label: '全部',
|
||||
value: '1'
|
||||
}
|
||||
|
||||
])
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/lineRunTestProblem/pageProblem',
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="筛选">
|
||||
<el-input v-model="tableStore.table.params.searchValue" placeholder="请输入关键字"
|
||||
clearable></el-input>
|
||||
clearable maxlength="32" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="筛选">
|
||||
<el-input v-model="tableStore.table.params.searchValue" placeholder="请输入关键字" clearable></el-input>
|
||||
<el-input v-model="tableStore.table.params.searchValue" placeholder="请输入关键字" clearable maxlength="32" show-word-limit></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
<template #operation>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<el-form-item label="是否解决">
|
||||
<el-select v-model="tableStore.table.params.dealState" clearable placeholder="请选择是否解决">
|
||||
<el-option label="未解决" value="0"></el-option>
|
||||
<el-option label="全部" value="1"></el-option>
|
||||
<!-- <el-option label="全部" value="1"></el-option> -->
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
@@ -116,26 +116,28 @@
|
||||
<el-input v-model.trim="form.latitude" :disabled="form.customSubstationFlag == 0" type="text"
|
||||
placeholder="请输入纬度" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item for="-" label="终端编码:" prop="monitoringTerminalCode">
|
||||
<el-input v-model.trim="form.monitoringTerminalCode" autocomplete="off" placeholder="请输入终端编码"
|
||||
@input="encode" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item for="-" label="终端名称:" prop="monitoringTerminalName">
|
||||
<el-input v-model.trim="form.monitoringTerminalName" autocomplete="off" placeholder="请输入终端名称" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="终端型号:" prop="terminalType">
|
||||
<el-select v-model="form.terminalType" filterable clearable style="width: 100%" placeholder="请选择终端型号">
|
||||
<el-option v-for="item in terminalTypeList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item for="-" label="终端名称:" prop="monitoringTerminalName">
|
||||
<el-input v-model.trim="form.monitoringTerminalName" autocomplete="off" placeholder="请输入终端名称" />
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="通讯类型:">
|
||||
<el-select v-model="form.frontType" clearable style="width: 100%" placeholder="请选择通讯类型">
|
||||
<el-option v-for="item in frontTypeList" :key="item.id" :label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item for="-" label="终端编码:" prop="monitoringTerminalCode">
|
||||
<el-input v-model.trim="form.monitoringTerminalCode" autocomplete="off" placeholder="请输入终端编码"
|
||||
@change="encode" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item v-if="false" for="-" label="通讯状态:" prop="communicationStatus">
|
||||
<el-select v-model="form.communicationStatus" clearable style="width: 100%" placeholder="请选择通讯状态"
|
||||
:disabled="true">
|
||||
|
||||
@@ -46,10 +46,7 @@ const dealStateList = ref([
|
||||
label: '未解决',
|
||||
value: '0'
|
||||
},
|
||||
{
|
||||
label: '全部',
|
||||
value: '1'
|
||||
}
|
||||
|
||||
])
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/SupervisionUserComplaint/list',
|
||||
|
||||
@@ -47,10 +47,7 @@ const dealStateList = ref([
|
||||
label: '未解决',
|
||||
value: '0'
|
||||
},
|
||||
{
|
||||
label: '全部',
|
||||
value: '1'
|
||||
}
|
||||
|
||||
])
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/surveyTest/pageProblemSurvey',
|
||||
|
||||
@@ -48,10 +48,7 @@ const dealStateList = ref([
|
||||
label: '未解决',
|
||||
value: '0'
|
||||
},
|
||||
{
|
||||
label: '全部',
|
||||
value: '1'
|
||||
}
|
||||
|
||||
])
|
||||
const tableStore = new TableStore({
|
||||
url: '/supervision-boot/lineRunTestProblem/pageProblem',
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
<Table ref="tableRef" />
|
||||
</div>
|
||||
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="!view">
|
||||
<waveForm senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
|
||||
<waveForm ref="waveFormRef" senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
|
||||
</div>
|
||||
<addForm ref="addFormRef" @onSubmit="tableStore.index()" />
|
||||
</div>
|
||||
@@ -103,8 +103,7 @@ defineOptions({
|
||||
})
|
||||
const dictData = useDictData()
|
||||
const adminInfo = useAdminInfo()
|
||||
|
||||
|
||||
const waveFormRef=ref()
|
||||
const pageHeight = mainHeight(20)
|
||||
const view = ref(true)
|
||||
const addFormRef = ref()
|
||||
@@ -216,19 +215,23 @@ const tableStore = new TableStore({
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton',
|
||||
click: async row => {
|
||||
row.loading = true
|
||||
boxoList.value = row
|
||||
await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
|
||||
.then(res => {
|
||||
row.loading = false
|
||||
if (res != undefined) {
|
||||
wp.value = res.data
|
||||
view.value = false
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
row.loading = false
|
||||
})
|
||||
// row.loading = true
|
||||
view.value = false
|
||||
setTimeout(() => {
|
||||
waveFormRef.value.open(row)
|
||||
},100)
|
||||
// boxoList.value = row
|
||||
// await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
|
||||
// .then(res => {
|
||||
// row.loading = false
|
||||
// if (res != undefined) {
|
||||
// wp.value = res.data
|
||||
// view.value = false
|
||||
// }
|
||||
// })
|
||||
// .catch(() => {
|
||||
// row.loading = false
|
||||
// })
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
</vxe-table>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="view2">
|
||||
<waveForm senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
|
||||
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="!view">
|
||||
<waveForm ref="waveFormRef" senior :boxoList="boxoList" :wp="wp" @backbxlb="backbxlb" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -59,7 +59,7 @@ const loading = ref(false)
|
||||
const view = ref(true)
|
||||
const view2 = ref(false)
|
||||
const TableHeaderRef = ref()
|
||||
|
||||
const waveFormRef = ref()
|
||||
const tableStore = new TableStore({
|
||||
url: '/advance-boot/process/querySagEventsPage',
|
||||
method: 'POST',
|
||||
@@ -126,20 +126,24 @@ const tableStore = new TableStore({
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton',
|
||||
click: async row => {
|
||||
row.loading = true
|
||||
boxoList.value = row
|
||||
await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
|
||||
.then(res => {
|
||||
row.loading = false
|
||||
if (res != undefined) {
|
||||
wp.value = res.data
|
||||
view.value = false
|
||||
view2.value = true
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
row.loading = false
|
||||
})
|
||||
view.value = false
|
||||
setTimeout(() => {
|
||||
waveFormRef.value.open(row)
|
||||
},100)
|
||||
// row.loading = true
|
||||
// boxoList.value = row
|
||||
// await getMonitorEventAnalyseWave({ id: row.eventId, systemType: 0 })
|
||||
// .then(res => {
|
||||
// row.loading = false
|
||||
// if (res != undefined) {
|
||||
// wp.value = res.data
|
||||
// view.value = false
|
||||
// view2.value = true
|
||||
// }
|
||||
// })
|
||||
// .catch(() => {
|
||||
// row.loading = false
|
||||
// })
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -147,7 +151,7 @@ const tableStore = new TableStore({
|
||||
title: '暂无波形',
|
||||
type: '',
|
||||
disabled: row => {
|
||||
return row.fileFlag == 1
|
||||
return row.fileFlag != 0
|
||||
},
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton'
|
||||
|
||||
@@ -1,13 +1,19 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 表头 -->
|
||||
<TableHeader date-picker>
|
||||
<template v-slot:operation>
|
||||
<el-button :icon='Download' type='primary' @click='download'>波形下载</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<!-- 表格 -->
|
||||
<Table ref='tableRef' :checkboxConfig='checkboxConfig' />
|
||||
<div v-show="view">
|
||||
<!-- 表头 -->
|
||||
<TableHeader date-picker>
|
||||
<template v-slot:operation>
|
||||
<el-button :icon='Download' type='primary' @click='download'>波形下载</el-button>
|
||||
</template>
|
||||
</TableHeader>
|
||||
<!-- 表格 -->
|
||||
<Table ref='tableRef' :checkboxConfig='checkboxConfig' />
|
||||
|
||||
</div>
|
||||
<div :style="{ height: pageHeight.height }" style="padding: 10px; overflow: hidden" v-if="!view">
|
||||
<waveForm ref="waveFormRef" senior @backbxlb="backbxlb" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang='ts'>
|
||||
@@ -21,9 +27,13 @@ import { mainHeight } from '@/utils/layout'
|
||||
import { useMonitoringPoint } from '@/stores/monitoringPoint'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
import { checkUser } from '@/api/user-boot/user'
|
||||
import waveForm from '@/components/echarts/waveForm.vue'
|
||||
import { VxeTablePropTypes } from 'vxe-table'
|
||||
import { downloadWaveFile, getMonitorEventAnalyseWave } from '@/api/event-boot/transient'
|
||||
|
||||
const view = ref(true)
|
||||
const waveFormRef = ref()
|
||||
const view2 = ref(false)
|
||||
const pageHeight = mainHeight(20)
|
||||
const dictData = useDictData()
|
||||
const eventTypeOptions = dictData.getBasicData('Event_Statis')
|
||||
const monitoringPoint = useMonitoringPoint()
|
||||
@@ -53,7 +63,7 @@ const tableStore = new TableStore({
|
||||
buttons: [
|
||||
{
|
||||
name: 'edit',
|
||||
title: '波形查看',
|
||||
title: '波形分析',
|
||||
type: 'primary',
|
||||
icon: 'el-icon-Lock',
|
||||
render: 'basicButton',
|
||||
@@ -61,15 +71,29 @@ const tableStore = new TableStore({
|
||||
return row.fileFlag === 0
|
||||
},
|
||||
click: row => {
|
||||
getMonitorEventAnalyseWave({
|
||||
id: row.eventId,
|
||||
systemType: 0,
|
||||
type: 0
|
||||
}).then(res => {
|
||||
console.log(res)
|
||||
ElMessage.error('暂无可下载的波形文件!')
|
||||
})
|
||||
// getMonitorEventAnalyseWave({
|
||||
// id: row.eventId,
|
||||
// systemType: 0,
|
||||
// type: 0
|
||||
// }).then(res => {
|
||||
// console.log(res)
|
||||
// ElMessage.error('暂无可下载的波形文件!')
|
||||
// })
|
||||
view.value = false
|
||||
setTimeout(() => {
|
||||
waveFormRef.value.open(row)
|
||||
}, 100)
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'edit',
|
||||
title: '暂无波形',
|
||||
type: '',
|
||||
disabled: row => {
|
||||
return row.fileFlag != 0
|
||||
},
|
||||
icon: 'el-icon-Plus',
|
||||
render: 'basicButton'
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -96,6 +120,10 @@ const checkboxConfig = reactive<VxeTablePropTypes.CheckboxConfig<any>>({
|
||||
return row.fileFlag === 1
|
||||
}
|
||||
})
|
||||
const backbxlb = () => {
|
||||
view.value = true
|
||||
view2.value = false
|
||||
}
|
||||
const download = () => {
|
||||
if (!tableStore.table.selection.length) {
|
||||
ElMessage.warning('请选择数据')
|
||||
|
||||
Reference in New Issue
Block a user