Compare commits

...

4 Commits

Author SHA1 Message Date
chengdandan dac4205654 20230227 2023-02-27 15:22:01 +08:00
chengdandan 1bae98a151 20230226 2023-02-26 14:12:20 +08:00
chengdandan 5e5af91675 20230226 2023-02-26 09:55:32 +08:00
chengdandan 164774ffd7 20230226 2023-02-26 09:44:47 +08:00
18 changed files with 443 additions and 158 deletions

View File

@ -205,11 +205,25 @@ export default {
window.addEventListener('resize', function() {
myChart.resize();
});
// this.$nextTick(() => {
// myChart.setOption(option)
// myChart.resize();
// })
}
},
mounted() {
this.drawBar(this.typeValue);
},
watch: {
typeValue: {
handler(newVal) {
if (newVal) {
this.drawBar(newVal);
}
},
deep: true
}
}
};
</script>
<style>

View File

@ -128,6 +128,10 @@ export default {
window.addEventListener('resize', function() {
myChart.resize();
});
// this.$nextTick(() => {
// myChart.setOption(option)
// myChart.resize();
// })
}
},
mounted() {

View File

@ -79,7 +79,7 @@ export default {
myChart = this.$echarts.init(this.$refs.lineChart);
}
// var series = []
@ -140,11 +140,17 @@ export default {
],
series: this.getMessage(newVal, title)
};
myChart.setOption(option)
window.addEventListener('resize', function () {
myChart.setOption(option);
window.addEventListener('resize', function() {
myChart.resize();
});
// this.$nextTick(() => {
// myChart.setOption(option)
// myChart.resize();
// })
},
getMessage(newVal, title) {

View File

@ -111,13 +111,13 @@ export default {
};
myChart.setOption(option);
// window.onresize = () => { //
// myChart.resize();
// };
window.addEventListener('resize', function() {
myChart.resize();
});
// this.$nextTick(() => {
// myChart.setOption(option)
// myChart.resize();
// })
}
},
mounted() {

View File

@ -137,6 +137,10 @@ export default {
window.addEventListener('resize', function () {
myChart.resize();
});
// this.$nextTick(() => {
// myChart.setOption(option)
// myChart.resize();
// })
}
},
mounted() {

View File

@ -1,6 +1,5 @@
<template>
<div class="setion">
<p class="chartTitle"><span class="titleIcon"></span> {{ componentName }}{{ triggerType }}</p>
<div class="border">
<detailDialog />
<thermalChart :pageType="pageType" :list="dataArr" :status="triggerType" :title="title" />

View File

@ -4,9 +4,9 @@
<!-- <p class="chartTitle"><span class="titleIcon"></span> {{ componentName }} {{ triggerType }}</p> -->
<!-- 触发数据数值渲染 -->
<div class="typeContent">
<div v-if="dataArr && dataArr.length != 0 && dataArr != undefined">
<div v-if="title == '类型' && echartArr.includes('数值')" style="display:flex">
<el-card v-for="(n, i) in dataArr[0].type_data" :key="i" style="width: 150px; margin-bottom: 20px; text-align: center">
<div v-if="newDataArr && newDataArr.length != 0 && newDataArr != undefined">
<div v-if="title == '类型'" style="display:flex">
<el-card v-for="(n, i) in newDataArr[0].type_data" :key="i" style="width: 150px; margin-bottom: 20px; text-align: center">
<div>
<span style="font-size: 15px;">{{ n.name }}</span
><br />
@ -14,32 +14,32 @@
</div>
<div>
<div>
{{ dataArr[0].time ? dataArr[0].time : '' }}
{{ newDataArr[0].time ? newDataArr[0].time : '' }}
</div>
</div>
</el-card>
</div>
</div>
<el-card v-show="echartArr.includes('数值')" style="width: 150px; margin-bottom: 20px; text-align: center">
<div v-if="dataArr && dataArr.length != 0 && dataArr != undefined">
<div v-if="newDataArr && newDataArr.length != 0 && newDataArr != undefined">
<div v-if="title == '类型'">
<span style="font-size: 15px;">类型数量总和</span><br />
<span style="font-size: 30px; font-weight: bold">
{{ getTotal(dataArr) }}
{{ getTotal(newDataArr) }}
</span>
</div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '速度'">
<div style="font-size: 30px; font-weight: bold" v-if="title == '速度' && dataArr.length != 0 && dataArr != undefined">
<span style="font-size: 15px;">速度</span><br />
<!-- <span style="font-size: 30px; font-weight: bold">{{ typeValue.speed }}</span> -->
<span style="font-size: 30px; font-weight: bold">{{ dataArr[0].speed? dataArr[0].speed : '' }}</span>
<span style="font-size: 30px; font-weight: bold">{{ newDataArr[0].speed }}</span>
</div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '流量'">
<div style="font-size: 30px; font-weight: bold" v-if="title == '流量' && dataArr.length != 0 && dataArr != undefined">
<span style="font-size: 15px;">流量</span><br />
<span style="font-size: 30px; font-weight: bold">{{ dataArr[0].flow? dataArr[0].flow : '' }}</span>
<span style="font-size: 30px; font-weight: bold">{{ newDataArr[0].flow }}</span>
</div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '车头时距'">
<span style="font-size: 15px;">车头时距</span><br />
<span style="font-size: 30px; font-weight: bold">{{ dataArr[0].headway?dataArr[0].headway:'' }}</span>
<span style="font-size: 30px; font-weight: bold">{{ newDataArr[0].headway }}</span>
</div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '排队数'">
<span style="font-size: 15px;">排队数</span><br />
@ -47,15 +47,15 @@
</div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '检测数'">
<span style="font-size: 15px;">检测数</span><br />
<span style="font-size: 30px; font-weight: bold">{{ dataArr[0].n_stay?dataArr[0].n_stay:'' }}</span>
<span style="font-size: 30px; font-weight: bold">{{ newDataArr[0].n_stay }}</span>
</div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '延误'">
<span style="font-size: 15px;">延误</span><br />
<span style="font-size: 30px; font-weight: bold">{{ dataArr[0].ave_delay?dataArr[0].ave_delay:'' }}</span>
<span style="font-size: 30px; font-weight: bold">{{ newDataArr[0].ave_delay }}</span>
</div>
<div>
<div>
{{ dataArr[0].time ? dataArr[0].time : '' }}
{{ newDataArr[0].time ? newDataArr[0].time : '' }}
</div>
</div>
</div>
@ -65,7 +65,7 @@
</el-card>
</div>
<div v-show="echartArr.includes('表格')">
<div class="tableTitle" v-if="dataArr && dataArr.length != 0 && dataArr != undefined">
<div class="tableTitle" v-if="newDataArr && newDataArr.length != 0 && newDataArr != undefined">
<div>
<span
style="width: 10px;height:10px;border-radius: 50%;background-color: #3297ff;display: inline-block;vertical-align: middle;margin-right: 8px;"
@ -73,14 +73,14 @@
<span style="font-size:18px;">{{ this.chartName + '-' + this.componentName + '-' + '表格' + '-' + triggerType }}</span>
</div>
<div class="tableTime">
{{ dataArr[0].time ? dataArr[0].time : '' }}
{{ newDataArr[0].time ? newDataArr[0].time : '' }}
</div>
</div>
<div v-if="pageType == '断面'" style="margin-bottom: 20px; border: 1px solid #e4e7ed">
<tableShow :msg="dataArr" :triggerType="triggerType" />
<tableShow :msg="newDataArr" :triggerType="triggerType" />
</div>
<div v-if="pageType == '区域'">
<regionTable :msg="dataArr" :triggerType="triggerType" />
<regionTable :msg="newDataArr" :triggerType="triggerType" />
</div>
</div>
<div class="border" v-if="echartArr.includes('曲线图')">
@ -89,7 +89,7 @@
:componentName="componentName"
:chartName="chartName"
:pageType="pageType"
:list="dataArr"
:list="newDataArr"
:status="triggerType"
:title="title"
:typeValue="typeValue"
@ -102,7 +102,7 @@
:componentName="componentName"
:chartName="chartName"
:pageType="pageType"
:list="dataArr"
:list="newDataArr"
:status="triggerType"
:title="title"
:typeValue="typeValue"
@ -116,7 +116,7 @@
:componentName="componentName"
:chartName="chartName"
:pageType="pageType"
:list="dataArr"
:list="newDataArr"
:status="triggerType"
:title="title"
:typeValue="typeValue"
@ -128,7 +128,7 @@
:componentName="componentName"
:chartName="chartName"
:pageType="pageType"
:list="dataArr"
:list="newDataArr"
:status="triggerType"
:title="title"
:typeValue="typeValue"
@ -170,7 +170,8 @@ export default {
valueShow: {},
//
queue: ''
queue: '',
newDataArr:[]
};
},
created() {
@ -178,7 +179,10 @@ export default {
},
methods: {
//
getDataArr(val){
this.newDataArr = val
this.getNewQueue(this.newDataArr)
},
getTotal(dataArr) {
if(this.title=='类型'){
return dataArr[0].type_data.reduce(function(prev, cur) {
@ -187,16 +191,15 @@ export default {
}
},
//
getNewQueue(dataArr) {
getNewQueue(val) {
if (dataArr[0].timeMode == '触发') {
this.queue = dataArr[0].n_queue;
} else if (dataArr[0].timeMode == '周期统计') {
this.queue = dataArr[0].ave_queue;
} else if (dataArr[0].timeMode == '周期时刻') {
}
}
if (val[0].n_queue) {
this.queue = val[0].n_queue;
} else if (val[0].ave_queue) {
this.queue = val[0].ave_queue;
}
},
},
computed: {
@ -205,16 +208,22 @@ export default {
mounted() {},
watch: {
//
dataArr: {
handler(newVal) {
// console.log('dataArr', newVal);
if (newVal != undefined && newVal.length != 0) {
this.getNewQueue(newVal);
}
},
// dataArr: {
// handler(newVal) {
// // console.log('dataArr', newVal);
// if (newVal != undefined && newVal.length != 0) {
// this.getNewQueue(newVal);
// }
// },
immediate: true
}
// immediate: true
// }
// typeValue:{
// handler(newVal) {
// // console.log('dataArr', newVal);
// },
// immediate: true
// }
}
};
</script>

View File

@ -106,6 +106,7 @@
maxlength="30"
placeholder="请输入"
@blur="updateName($event)"
/>
</template>
</el-table-column>
@ -116,6 +117,7 @@
v-model="scope.row.longitude"
maxlength="20"
placeholder="请输入"
oninput ="value=value.replace(/[^0-9.]/g,'')"
/>
</template>
</el-table-column>
@ -126,6 +128,7 @@
v-model="row.latitude"
maxlength="20"
placeholder="请输入"
oninput ="value=value.replace(/[^0-9.]/g,'')"
/>
</template>
</el-table-column>

View File

@ -67,8 +67,8 @@ export default {
// const host = 'ws://49.234.27.18:10087/'; // urlws://broker.emqx.io:8083/mqtt
var ip = window.location.host.split(":")[0];
console.log("ip",ip)
const host = `ws://${ip}:10087`;
// const host = 'ws://172.16.1.168:10087/';
// const host = `ws://${ip}:10087`;
const host = 'ws://172.16.1.168:10087/';
const options = {
//

View File

@ -6,8 +6,12 @@
<div class="dataBoard" ref="dataBoard" v-if="activeName == 'second'">
<!-- 断面 -->
<div class="plate1" ref="plate1">
<div :class="sectionData.length <= 1 ? 'sectionBox' : 'section'" ref="section"
v-for="(s, i) in sectionData" :key="s.analogAreaComponentId">
<div
:class="sectionData.length <= 1 ? 'sectionBox' : 'section'"
ref="section"
v-for="s in sectionData"
:key="s.analogAreaComponentId"
>
<template>
<div ref="sectionContent">
<div>
@ -16,35 +20,61 @@
</p>
<!-- <span class="downPull1" data-num="1" @click="sectionHandle(i)"></span> -->
</div>
<el-tabs>
<el-collapse v-model="upName">
<div style="position:relative" v-for="o in s.children"
:key="o.analogAreaComponentId">
<el-tabs >
<el-collapse v-model="acticveName" @change="handleChange">
<div style="position:relative" v-for="o in s.children" :key="o.analogAreaComponentId">
<div class="titleGnag"></div>
<el-collapse-item :title="o.componentName + o.timeMode"
:name="o.analogAreaComponentId">
<OD v-if="o.componentName.includes('OD')" :pageType="o.graphicType"
triggerType="触发" :componentName="o.componentName"
:echartArr="o.presentationForm" :dataArr="o.trigger"
:title="o.componentName.split('_')[0]" :chartName="o.combinationName" />
<el-collapse-item :title="o.componentName + o.timeMode" :name="o.analogAreaComponentId" >
<OD
v-if="o.componentName.includes('OD')"
:pageType="o.graphicType"
triggerType="触发"
:componentName="o.componentName"
:echartArr="o.presentationForm"
:dataArr="o.trigger"
:title="o.componentName.split('_')[0]"
:chartName="o.combinationName"
/>
<!--触发的组件 -->
<typeChart ref="typeChartRef" v-if="o.timeMode === '触发'"
:pageType="o.graphicType" :triggerType="o.timeMode"
:componentName="o.componentName" :dataArr="o.trigger"
:echartArr="o.presentationForm" :title="o.componentName.split('_')[0]"
:chartName="o.combinationName" :typeValue="typeTimeMode" />
<typeChart ref="typeChartRef1" v-if="o.timeMode === '周期时刻'"
:pageType="o.graphicType" :triggerType="o.timeMode"
:componentName="o.componentName" :dataArr="o.cycleTimeData"
:echartArr="o.presentationForm" :title="o.componentName.split('_')[0]"
:chartName="o.combinationName" :typeValue="typeCycleTimeData" />
<!--触发的组件 -->
<typeChart
ref="typeChartRef"
v-if="o.timeMode === '触发'"
:pageType="o.graphicType"
:triggerType="o.timeMode"
:componentName="o.componentName"
:dataArr="o.trigger"
:echartArr="o.presentationForm"
:title="o.componentName.split('_')[0]"
:chartName="o.combinationName"
:typeValue="typeTimeMode"
/>
<typeChart
ref="typeChartRef1"
v-if="o.timeMode === '周期时刻'"
:pageType="o.graphicType"
:triggerType="o.timeMode"
:componentName="o.componentName"
:dataArr="o.cycleTimeData"
:echartArr="o.presentationForm"
:title="o.componentName.split('_')[0]"
:chartName="o.combinationName"
:typeValue="typeCycleTimeData"
/>
<!-- 周期统计的组件 -->
<typeChart ref="typeChartRef2" style="width: 100%;"
v-if="o.timeMode === '周期统计'" :pageType="o.graphicType"
:triggerType="o.timeMode" :componentName="o.componentName"
:dataArr="o.cycleStatistics" :echartArr="o.presentationForm"
:title="o.componentName.split('_')[0]" :chartName="o.combinationName"
:typeValue="typeCycleStatistics" />
<typeChart
ref="typeChartRef2"
style="width: 100%;"
v-if="o.timeMode === '周期统计'"
:pageType="o.graphicType"
:triggerType="o.timeMode"
:componentName="o.componentName"
:dataArr="o.cycleStatisticsData"
:echartArr="o.presentationForm"
:title="o.componentName.split('_')[0]"
:chartName="o.combinationName"
:typeValue="typeCycleStatistics"
/>
</el-collapse-item>
</div>
</el-collapse>
@ -93,7 +123,7 @@ export default {
}
},
//
cycleStatistics: {
cycleStatisticsData: {
type: Array,
default() {
return [];
@ -102,7 +132,7 @@ export default {
},
data() {
return {
upName: [],
acticveName: [],
title1: '01断面',
title2: '01区域',
dialogVisible: false,
@ -144,31 +174,97 @@ export default {
methods: {
getNew() {
// this.idVal = ;
getComponentSection({ VideoId: this.$route.query.id }).then(res => {
getComponentSection({ VideoId: this.$route.query.id ,Number:10}).then(res => {
if (res.data.code == 200) {
console.log(res.data.data, '组件的数据');
// console.log(res.data.data, '');
this.componentList = res.data.data;
this.siftData();
}
});
},
//
handleChange() {
this.$nextTick(function () {
var myEvent = new Event("resize");
window.dispatchEvent(myEvent);
});
},
siftData() {
this.sectionArr = [];
this.sectionData = [];
this.classify = [];
this.componentList.forEach(val => {
// console.log("val",val)
this.sectionArr.push(val.combinationName);
this.sectionArr = Array.from(new Set(this.sectionArr));
});
this.sectionData = this.sectionArr.map(item => {
item = { title: item, children: [] };
this.acticveName = [];
this.componentList.forEach(val => {
if (item.title == val.combinationName) {
this.classify.push(val);
item.children.push(val);
if(val.timeMode=='周期统计'||this.cycleStatisticsData.length==0){
this.cycleStatisticsData = item.cycleStatisticsData
var _that = this
_that.componentList.forEach(ele => {
if ( ele.timeMode == '周期统计') {
if (ele.cycleStatisticsData.length == 10) {
ele.cycleStatisticsData.pop();
} else {
// item.time = item.time.split('.')[0];
// _that.typeCycleStatistics = item;
ele.cycleStatisticsData.unshift();
if(_that.$refs.typeChartRef2!=undefined){
for (let i = 0; i < _that.$refs.typeChartRef2.length; i++) {
let itemTypeChartRef2 = _that.$refs.typeChartRef2[i];
// console.log(_this.$refs.typeChartRef[i], '');
if (itemTypeChartRef2.length!=0&&itemTypeChartRef2.dataArr!= undefined && itemTypeChartRef2.dataArr.length != 0) {
// this.$refs.typeChartRef2[i].$refs.lineChartRef.drawLine(this.$refs.typeChartRef2[i].dataArr, _this.$refs.typeChartRe2f[i].componentName.split('_')[0])
if (itemTypeChartRef2.echartArr.includes('时间曲线图')) {
_that.$refs.typeChartRef2[i].$refs.lineChartRef.drawLine(_that.$refs.typeChartRef2[i].dataArr, _that.$refs.typeChartRef2[i].componentName.split('_')[0])
}
if (itemTypeChartRef2.echartArr.includes('数值')) {
_that.$refs.typeChartRef2[i].getDataArr(_that.$refs.typeChartRef2[i].dataArr)
}
// console.log(item,'');
if (itemTypeChartRef2.echartArr.includes('直方图')&&itemTypeChartRef2.$refs.barChartRef.drawBar) {
//
// console.log(item, '');
itemTypeChartRef2.$refs.barChartRef.drawBar(itemTypeChartRef2.dataArr[0])
}
if (itemTypeChartRef2.echartArr.includes('饼状图')&&itemTypeChartRef2.$refs.pieChartRef.drawPie) {
//
itemTypeChartRef2.$refs.pieChartRef.drawPie(itemTypeChartRef2.dataArr[0])
}
// if (item.echartArr.includes('') && item.$refs.avgChartRef != undefined && item.dataArr.length != 0) {
// item.$refs.avgChartRef.drawBar(item.dataArr[0])
// }
if (itemTypeChartRef2.echartArr.includes('均值图') && itemTypeChartRef2.$refs.avgChartRef != undefined) {
itemTypeChartRef2.$refs.avgChartRef.drawBar(itemTypeChartRef2.dataArr[0])
}
}
}
}
}
}
});
}
if(val.timeMode=='周期时刻'||this.cycleTimeData.length==0){
this.cycleTimeData = item.cycleTimeData
}
}
this.acticveName.push([]);
this.acticveName.push([val.analogAreaComponentId]);
});
return item;
});
@ -192,11 +288,22 @@ export default {
if (sectionBox[i] != undefined) {
}
}
},
channge(oldVal, newVal) {
if (oldVal == 'second') {
this.sectionArr = [];
this.sectionData = [];
this.getNew();
} else if (newVal == 'second') {
this.sectionArr = [];
this.sectionData = [];
this.getNew();
}
}
//
},
mounted() { },
mounted() {},
watch: {
// acticveName: {
// handler(newVal) {
@ -209,7 +316,7 @@ export default {
// },
//
triggerData: {
handler(newVal, oldVal) { },
handler(newVal, oldVal) {},
immediate: true
},
// activeName:'channge',
@ -218,7 +325,7 @@ export default {
handler(newVal) {
this.triggerList = newVal;
//
console.log(newVal, '触发数据');
// console.log(newVal, '');
var _this = this
if (newVal.length != 0 && _this.sectionData) {
_this.classify.forEach((ele, index) => {
@ -237,29 +344,34 @@ export default {
}
ele.trigger.unshift(item);
_this.$nextTick(() => {
for (let i = 0; i < _this.$refs.typeChartRef.length; i++) {
if(_this.$refs.typeChartRef1!=undefined){
for (let i = 0; i < _this.$refs.typeChartRef.length; i++) {
// console.log(_this.$refs.typeChartRef[i], '');
let item = _this.$refs.typeChartRef[i]
if (item.dataArr != undefined && item.dataArr) {
if (item.echartArr.includes('曲线图')) {
_this.$refs.typeChartRef[i].$refs.lineChartRef.drawLine(_this.$refs.typeChartRef[i].dataArr, _this.$refs.typeChartRef[i].componentName.split('_')[0])
let itemTypeChart = _this.$refs.typeChartRef[i]
if (itemTypeChart.dataArr!= undefined && itemTypeChart.dataArr.length != 0) {
if (itemTypeChart.echartArr.includes('时间曲线图')) {
_this.$refs.typeChartRef[i].$refs.lineChartRef.drawLine(_this.$refs.typeChartRef[i].dataArr, _this.$refs.typeChartRef[i].componentName.split('_')[0])
}
if (item.echartArr.includes('直方图') && item.componentName.split('_')[0] == '类型') {
if (itemTypeChart.echartArr.includes('数值')) {
_this.$refs.typeChartRef[i].getDataArr(_this.$refs.typeChartRef[i].dataArr)
}
if (itemTypeChart.echartArr.includes('直方图') && itemTypeChart.componentName.split('_')[0]) {
//
item.$refs.barChartRef.drawBar(item.dataArr[0])
itemTypeChart.$refs.barChartRef.drawBar(itemTypeChart.dataArr[0])
}
if (item.echartArr.includes('饼状图') && item.componentName.split('_')[0] == '类型') {
if (itemTypeChart.echartArr.includes('饼状图') && itemTypeChart.componentName.split('_')[0]) {
//
item.$refs.pieChartRef.drawPie(item.dataArr[0])
itemTypeChart.$refs.pieChartRef.drawPie(itemTypeChart.dataArr[0])
}
if (item.echartArr.includes('均值图') && item.$refs.avgChartRef != undefined && item.dataArr.length != 0) {
item.$refs.avgChartRef.drawBar(item.dataArr[0])
}
if (itemTypeChart.echartArr.includes('均值图') && itemTypeChart.$refs.avgChartRef != undefined) {
itemTypeChart.$refs.avgChartRef.drawBar(itemTypeChart.dataArr[0])
}
}
}
}
})
@ -276,12 +388,14 @@ export default {
handler(newVal) {
//
console.log(newVal, '周期时刻数据');
var that = this;
if (newVal.length != 0 && this.sectionData) {
that.classify.forEach((ele, index) => {
if (ele.cycleTimeData == undefined && ele.timeMode == '周期时刻') {
ele.cycleTimeData = [];
}
var thatN = this;
if (newVal!= undefined&&newVal.length != 0 && thatN.sectionData) {
thatN.classify.forEach((ele, index) => {
// if (ele.cycleTimeData == undefined && ele.timeMode == '') {
// ele.cycleTimeData = [];
// }else{
// }
newVal.forEach(item => {
if (ele.analogAreaComponentId == item.component_id && ele.timeMode == '周期时刻') {
if (ele.cycleTimeData.length == 10) {
@ -290,85 +404,216 @@ export default {
item.time = item.time.split('.')[0];
if (item.type_data != null) {
//
that.typeCycleTimeData = item;
thatN.typeCycleTimeData = item;
}
ele.cycleTimeData.unshift(item);
that.$nextTick(() => {
// thatN.$nextTick(() => {
if(thatN.$refs.typeChartRef1!=undefined){
// console.log("thatN.$refs.typeChartRef1",thatN.$refs.typeChartRef1)
//
for (let i = 0; i < that.$refs.typeChartRef1.length; i++) {
item = that.$refs.typeChartRef1[i]
if (item.dataArr) {
for (let i = 0; i < thatN.$refs.typeChartRef1.length; i++) {
let itemTypeChartRef1 = thatN.$refs.typeChartRef1[i]
if (itemTypeChartRef1.length!=0&&itemTypeChartRef1.dataArr!= undefined && itemTypeChartRef1.dataArr.length != 0) {
if (item.echartArr.includes('曲线图')) {
that.$refs.typeChartRef1[i].$refs.lineChartRef.drawLine(that.$refs.typeChartRef1[i].dataArr, that.$refs.typeChartRef[i].componentName.split('_')[0])
if (itemTypeChartRef1.echartArr.includes('时间曲线图')) {
thatN.$refs.typeChartRef1[i].$refs.lineChartRef.drawLine(thatN.$refs.typeChartRef1[i].dataArr, thatN.$refs.typeChartRef1[i].componentName.split('_')[0])
}
if (item.echartArr.includes('直方图') && item.componentName.split('_')[0] == '类型') {
if (itemTypeChartRef1.echartArr.includes('数值')) {
thatN.$refs.typeChartRef1[i].getDataArr(thatN.$refs.typeChartRef1[i].dataArr)
}
if (itemTypeChartRef1.echartArr.includes('直方图') &&itemTypeChartRef1.$refs.barChartRef.drawBar) {
//
item.$refs.barChartRef.drawBar(item.dataArr[0])
}
if (item.echartArr.includes('饼状图') && item.componentName.split('_')[0] == '类型') {
itemTypeChartRef1.$refs.barChartRef.drawBar(itemTypeChartRef1.dataArr[0])
}
if (itemTypeChartRef1.echartArr.includes('饼状图') &&itemTypeChartRef1.$refs.pieChartRef.drawPie) {
//
item.$refs.pieChartRef.drawPie(item.dataArr[0])
}
if (item.echartArr.includes('均值图') && item.$refs.avgChartRef != undefined && item.dataArr.length != 0) {
item.$refs.avgChartRef.drawBar(item.dataArr[0])
itemTypeChartRef1.$refs.pieChartRef.drawPie(itemTypeChartRef1.dataArr[0])
}
if (itemTypeChartRef1.echartArr.includes('均值图') && itemTypeChartRef1.$refs.avgChartRef != undefined) {
itemTypeChartRef1.$refs.avgChartRef.drawBar(itemTypeChartRef1.dataArr[0])
}
}
}
});
}
// });
}
}
});
});
}else{
var _thatN= this
_thatN.classify.forEach((ele, index) => {
// if (ele.cycleTimeData == undefined && ele.timeMode == '') {
// ele.cycleTimeData = [];
// }else{
// }
// newVal.forEach(item => {
if (ele.timeMode == '周期时刻') {
if (ele.cycleTimeData.length == 10) {
ele.cycleTimeData.pop();
} else {
// item.time = item.time.split('.')[0];
// if (item.type_data != null) {
//
_thatN.typeCycleTimeData = item;
// }
// ele.cycleTimeData.unshift(item);
// _thatN.$nextTick(() => {
if(_thatN.$refs.typeChartRef1!=undefined){
// console.log("thatN.$refs.typeChartRef1",_thatN.$refs.typeChartRef1)
//
for (let i = 0; i < _thatN.$refs.typeChartRef1.length; i++) {
let itemTypeChartRef1 = thatN.$refs.typeChartRef1[i]
if (itemTypeChartRef1.length!=0&&itemTypeChartRef1.dataArr!= undefined && itemTypeChartRef1.dataArr.length != 0) {
if (itemTypeChartRef1.echartArr.includes('时间曲线图')) {
_thatN.$refs.typeChartRef1[i].$refs.lineChartRef.drawLine(_thatN.$refs.typeChartRef1[i].dataArr, _thatN.$refs.typeChartRef1[i].componentName.split('_')[0])
}
if (itemTypeChartRef1.echartArr.includes('数值')) {
_thatN.$refs.typeChartRef1[i].getDataArr(_thatN.$refs.typeChartRef1[i].dataArr)
}
if (itemTypeChartRef1.echartArr.includes('直方图') &&itemTypeChartRef1.$refs.barChartRef.drawBar) {
//
itemTypeChartRef1.$refs.barChartRef.drawBar(itemTypeChartRef1.dataArr[0])
}
if (itemTypeChartRef1.echartArr.includes('饼状图') &&itemTypeChartRef1.$refs.pieChartRef.drawPie) {
//
itemTypeChartRef1.$refs.pieChartRef.drawPie(itemTypeChartRef1.dataArr[0])
}
if (itemTypeChartRef1.echartArr.includes('均值图') && itemTypeChartRef1.$refs.avgChartRef != undefined) {
itemTypeChartRef1.$refs.avgChartRef.drawBar(itemTypeChartRef1.dataArr[0])
}
}
}
}
// });
}
}
// });
});
}
},
immediate: true
},
cycleStatistics: {
//
cycleStatisticsData: {
handler(newVal) {
if (newVal.length != 0 && this.sectionData) {
this.componentList.forEach(ele => {
if (ele.cycleStatistics == undefined && ele.timeMode == '周期统计') {
ele.cycleStatistics = [];
}
var that = this;
if (newVal!= undefined&& newVal.length != 0 && that.sectionData) {
console.log("newVal",newVal)
that.componentList.forEach(ele => {
// if (ele.cycleStatisticsData == undefined && ele.timeMode == '') {
// ele.cycleStatisticsData = [];
// }else{
// // ele.cycleStatisticsData =
// }
console.log(" ele.cycleStatisticsData", ele.cycleStatisticsData)
newVal.forEach(item => {
if (ele.analogAreaComponentId == item.component_id && ele.timeMode == '周期统计') {
if (ele.cycleStatistics.length == 10) {
ele.cycleStatistics.pop();
if (ele.cycleStatisticsData.length == 10) {
ele.cycleStatisticsData.pop();
} else {
ele.cycleStatisticsData.unshift(item);
item.time = item.time.split('.')[0];
if (item.type_data != null) {
this.typeCycleStatistics = item;
that.typeCycleStatistics = item;
}
ele.cycleStatistics.unshift(item);
for (let i = 0; i < this.$refs.typeChartRef2.length; i++) {
item = that.$refs.typeChartRef2[i];
console.log(" ele.cycleStatisticsData", ele.cycleStatisticsData)
if(that.$refs.typeChartRef2!=undefined){
for (let i = 0; i < that.$refs.typeChartRef2.length; i++) {
let itemTypeChartRef2 = that.$refs.typeChartRef2[i];
// console.log(_this.$refs.typeChartRef[i], '');
if (item.dataArr) {
if (item.echartArr.includes('曲线图')) {
this.$refs.typeChartRef2[i].$refs.lineChartRef.drawLine(this.$refs.typeChartRef2[i].dataArr, _this.$refs.typeChartRe2f[i].componentName.split('_')[0])
}
if (item.echartArr.includes('直方图') && item.componentName.split('_')[0] == '类型') {
//
item.$refs.barChartRef.drawBar(item.dataArr[0])
}
if (item.echartArr.includes('饼状图') && item.componentName.split('_')[0] == '类型') {
console.log(item, '饼图组件');
//
item.$refs.pieChartRef.drawPie(item.dataArr[0])
}
if (item.echartArr.includes('均值图') && item.$refs.avgChartRef != undefined && item.dataArr.length != 0) {
item.$refs.avgChartRef.drawBar(item.dataArr[0])
if (itemTypeChartRef2.length!=0&&itemTypeChartRef2.dataArr!= undefined && itemTypeChartRef2.dataArr.length != 0) {
// this.$refs.typeChartRef2[i].$refs.lineChartRef.drawLine(this.$refs.typeChartRef2[i].dataArr, _this.$refs.typeChartRe2f[i].componentName.split('_')[0])
if (itemTypeChartRef2.echartArr.includes('时间曲线图')) {
that.$refs.typeChartRef2[i].$refs.lineChartRef.drawLine(that.$refs.typeChartRef2[i].dataArr, that.$refs.typeChartRef2[i].componentName.split('_')[0])
}
if (itemTypeChartRef2.echartArr.includes('数值')) {
that.$refs.typeChartRef2[i].getDataArr(that.$refs.typeChartRef2[i].dataArr)
}
// console.log(item,'');
if (itemTypeChartRef2.echartArr.includes('直方图')&&itemTypeChartRef2.$refs.barChartRef.drawBar) {
//
// console.log(item, '');
itemTypeChartRef2.$refs.barChartRef.drawBar(itemTypeChartRef2.dataArr[0])
}
if (itemTypeChartRef2.echartArr.includes('饼状图')&&itemTypeChartRef2.$refs.pieChartRef.drawPie) {
//
itemTypeChartRef2.$refs.pieChartRef.drawPie(itemTypeChartRef2.dataArr[0])
}
// if (item.echartArr.includes('') && item.$refs.avgChartRef != undefined && item.dataArr.length != 0) {
// item.$refs.avgChartRef.drawBar(item.dataArr[0])
// }
if (itemTypeChartRef2.echartArr.includes('均值图') && itemTypeChartRef2.$refs.avgChartRef != undefined) {
itemTypeChartRef2.$refs.avgChartRef.drawBar(itemTypeChartRef2.dataArr[0])
}
}
}
}
}
}
});
});
}
else{
var _that = this
_that.componentList.forEach(ele => {
if ( ele.timeMode == '周期统计') {
if (ele.cycleStatisticsData.length == 10) {
ele.cycleStatisticsData.pop();
} else {
// item.time = item.time.split('.')[0];
// _that.typeCycleStatistics = item;
ele.cycleStatisticsData.unshift();
if(_that.$refs.typeChartRef2!=undefined){
for (let i = 0; i < _that.$refs.typeChartRef2.length; i++) {
let itemTypeChartRef2 = _that.$refs.typeChartRef2[i];
// console.log(_this.$refs.typeChartRef[i], '');
if (itemTypeChartRef2.length!=0&&itemTypeChartRef2.dataArr!= undefined && itemTypeChartRef2.dataArr.length != 0) {
// this.$refs.typeChartRef2[i].$refs.lineChartRef.drawLine(this.$refs.typeChartRef2[i].dataArr, _this.$refs.typeChartRe2f[i].componentName.split('_')[0])
if (itemTypeChartRef2.echartArr.includes('时间曲线图')) {
_that.$refs.typeChartRef2[i].$refs.lineChartRef.drawLine(_that.$refs.typeChartRef2[i].dataArr, _that.$refs.typeChartRef2[i].componentName.split('_')[0])
}
if (itemTypeChartRef2.echartArr.includes('数值')) {
_that.$refs.typeChartRef2[i].getDataArr(_that.$refs.typeChartRef2[i].dataArr)
}
// console.log(item,'');
if (itemTypeChartRef2.echartArr.includes('直方图')&&itemTypeChartRef2.$refs.barChartRef.drawBar) {
//
// console.log(item, '');
itemTypeChartRef2.$refs.barChartRef.drawBar(itemTypeChartRef2.dataArr[0])
}
if (itemTypeChartRef2.echartArr.includes('饼状图')&&itemTypeChartRef2.$refs.pieChartRef.drawPie) {
//
itemTypeChartRef2.$refs.pieChartRef.drawPie(itemTypeChartRef2.dataArr[0])
}
// if (item.echartArr.includes('') && item.$refs.avgChartRef != undefined && item.dataArr.length != 0) {
// item.$refs.avgChartRef.drawBar(item.dataArr[0])
// }
if (itemTypeChartRef2.echartArr.includes('均值图') && itemTypeChartRef2.$refs.avgChartRef != undefined) {
itemTypeChartRef2.$refs.avgChartRef.drawBar(itemTypeChartRef2.dataArr[0])
}
}
}
}
}
}
});
}
}
}
// activeName: {
@ -399,7 +644,6 @@ export default {
position: absolute;
top: 14px;
}
.el-collapse-item__header {
font-size: 15px;
margin-left: 10px;

View File

@ -409,8 +409,8 @@ export default {
getDataByMqtt(url, topic, cIdNum) {
const clientId = "test_id_" + String(new Date().getTime()); //
// const host = 'ws://49.234.27.18:10087/'; // urlws://broker.emqx.io:8083/mqtt
const host = `ws://${ip}:10087`;
// const host = 'ws://172.16.1.168:10087/';
// const host = `ws://${ip}:10087`;
const host = 'ws://172.16.1.168:10087/';
const options = {
//

View File

@ -634,7 +634,9 @@ export default {
const temp = utf8decoder.decode(u8arr); //
var detId = [];
const msgN = JSON.parse(temp);
this.cycleStatisticsData = msgN;
this.cycleStatisticsData = msgN;
} catch (error) { }
break;
}