bug修改

This commit is contained in:
qiudan 2023-11-15 15:06:10 +08:00
parent 426aee89c4
commit 4cdf66ec1c
10 changed files with 565 additions and 274 deletions

View File

@ -282,15 +282,22 @@ export default {
var lineArr = []; var lineArr = [];
let seriesArr = this.extractKeyValues(newVal, 'type_data'); let seriesArr = this.extractKeyValues(newVal, 'type_data');
if (seriesArr && seriesArr.length > 0) { if (seriesArr && seriesArr.length > 0) {
for (let i = 0; i < seriesArr[0].length; i++) { const firstLevel = seriesArr.find((i) => i && i.length > 0);
const item = seriesArr[0][i]; //quantity if (firstLevel && firstLevel.length > 0) {
for (let i = 0; i < firstLevel.length; i++) {
const item = firstLevel[i];
if (item) {
const valueList = seriesArr.map((arr) => { const valueList = seriesArr.map((arr) => {
let t = arr[i].value; if (arr) {
if (arr[i].quantity || arr[i].quantity === 0) { let t = arr[i] && arr[i].value;
if (arr[i] && (arr[i].quantity || arr[i].quantity === 0)) {
t = arr[i].quantity; t = arr[i].quantity;
} }
return t; return t;
}
return 0;
}); });
lineArr.push({ lineArr.push({
name: item.name, name: item.name,
data: valueList, data: valueList,
@ -299,6 +306,9 @@ export default {
}); });
} }
} }
}
}
if (lineArr && lineArr.length > 0) { if (lineArr && lineArr.length > 0) {
for (let j = 0; j < lineArr.length; j++) { for (let j = 0; j < lineArr.length; j++) {
series.push(lineArr[j]); series.push(lineArr[j]);

View File

@ -1,5 +1,4 @@
<template> <template>
<!-- 区域的表格 --> <!-- 区域的表格 -->
<div class="tableContent"> <div class="tableContent">
<div class="down"> <div class="down">
@ -11,7 +10,6 @@
</el-dropdown> </el-dropdown>
</div> </div>
<div v-if="msg" class="regionBox"> <div v-if="msg" class="regionBox">
<!-- 实时触发 --> <!-- 实时触发 -->
<el-table :data="msg" style="width: 100%" v-if="triggerType == '实时触发'"> <el-table :data="msg" style="width: 100%" v-if="triggerType == '实时触发'">
@ -45,7 +43,17 @@
<span v-if="scope.row.occ == '1'">占用</span> <span v-if="scope.row.occ == '1'">占用</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="speed" label="空间平均速度"></el-table-column> <el-table-column align="center" prop="speed" label="空间平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table> </el-table>
<el-table :data="msg" style="width: 100%" v-if="triggerType == '固定时刻'"> <el-table :data="msg" style="width: 100%" v-if="triggerType == '固定时刻'">
<!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column> --> <!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column> -->
@ -76,10 +84,19 @@
<el-table-column align="center" prop="occ" label="占用状态"> <el-table-column align="center" prop="occ" label="占用状态">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.occ == '1'">占用</span> <span v-if="scope.row.occ == '1'">占用</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" prop="speed" label="空间平均速度"></el-table-column> <el-table-column align="center" prop="speed" label="空间平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table> </el-table>
<!-- 固定间隔 --> <!-- 固定间隔 -->
<el-table :data="msg" style="width: 100%" v-if="triggerType == '固定间隔'"> <el-table :data="msg" style="width: 100%" v-if="triggerType == '固定间隔'">
@ -111,18 +128,34 @@
<el-table-column align="center" prop="ave_queue" label="平均排队数"></el-table-column> <el-table-column align="center" prop="ave_queue" label="平均排队数"></el-table-column>
<el-table-column align="center" prop="ave_occ" label="平均占有率"></el-table-column> <el-table-column align="center" prop="ave_occ" label="平均占有率"></el-table-column>
<el-table-column align="center" prop="ave_delay" label="平均延误"></el-table-column> <el-table-column align="center" prop="ave_delay" label="平均延误"></el-table-column>
<el-table-column align="center" prop="speed" label="平均速度"></el-table-column> <el-table-column align="center" prop="speed" label="平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
<el-dialog title="编辑" :visible.sync="dialogVisible" width="40%"> <el-dialog title="编辑" :visible.sync="dialogVisible" width="40%">
<el-form :model="msg" label-width="80px"> <el-form :model="msg" label-width="80px">
<el-form-item label="val1"> <el-form-item label="val1">
<el-time-select placeholder="起始时间" v-model="startTime" <el-time-select
:picker-options="{ start: '08:30', step: '00:15', end: '18:30' }"> placeholder="起始时间"
v-model="startTime"
:picker-options="{ start: '08:30', step: '00:15', end: '18:30' }"
>
</el-time-select> </el-time-select>
<el-time-select placeholder="结束时间" v-model="endTime" <el-time-select
:picker-options="{ start: '08:30', step: '00:15', end: '18:30', minTime: startTime }"> placeholder="结束时间"
v-model="endTime"
:picker-options="{ start: '08:30', step: '00:15', end: '18:30', minTime: startTime }"
>
</el-time-select> </el-time-select>
</el-form-item> </el-form-item>
<el-form-item label="val2"> <el-form-item label="val2">
@ -155,14 +188,14 @@ export default {
name: 'tableShow', // name: 'tableShow', //
props: { props: {
msg: { msg: {
type: Array, type: Array
// default() { // default() {
// return []; // return [];
// } // }
}, },
triggerType: { triggerType: {
type: String type: String
}, }
}, },
data() { data() {
return { return {
@ -198,7 +231,9 @@ export default {
overflow-y: scroll; overflow-y: scroll;
z-index: 9999; z-index: 9999;
} }
.el-table::-webkit-scrollbar { width: 0 !important } .el-table::-webkit-scrollbar {
width: 0 !important;
}
.tableContent { .tableContent {
position: relative; position: relative;
} }

View File

@ -41,7 +41,57 @@
<el-table-column align="center" prop="n_stay" label="存车数"></el-table-column> <el-table-column align="center" prop="n_stay" label="存车数"></el-table-column>
<el-table-column align="center" prop="n_queue" label="排队数"></el-table-column> <el-table-column align="center" prop="n_queue" label="排队数"></el-table-column>
<el-table-column align="center" prop="occ" label="占用状态"></el-table-column> <el-table-column align="center" prop="occ" label="占用状态"></el-table-column>
<el-table-column align="center" prop="speed" label="空间平均速度"></el-table-column> <el-table-column align="center" prop="speed" label="空间平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table>
<el-table :data="msg" style="width: 100%" v-if="triggerType == '固定时刻'">
<!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column>
<el-table-column align="center" prop="zone_id" label="区域编号"></el-table-column> -->
<el-table-column align="center" prop="name" label="区域名称"></el-table-column>
<el-table-column align="center" prop="time" label="时间戳"></el-table-column>
<!-- <el-table-column align="center" prop="" label="视频帧"></el-table-column> -->
<el-table-column align="center" label="目标类型" prop="type">
<!-- <template slot-scope="scope">
<span v-if="scope.row.type == 'Person'">行人</span>
<span v-if="scope.row.type == 'Motor Vehicle'">机动车</span>
<span v-if="scope.row.type == 'Non_Motor'">非机动车</span>
<span v-if="scope.row.type == 'Motor Vehicle|Non_Motor'">机动车|非机动车</span>
<span v-if="scope.row.type == 'Motor Vehicle|Person'">机动车|行人</span>
<span v-if="scope.row.type == 'Person|Non_Motor'">行人|非机动车</span>
<span v-if="scope.row.type == 'Person|Motor Vehicle'">行人|机动车</span>
<span v-if="scope.row.type == 'Person|Non_Motor|Motor Vehicle'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Person|Motor Vehicle|Non_Motor'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Non_Motor|Person|Motor Vehicle'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Non_Motor|Motor Vehicle|Person'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Motor Vehicle|Non_Motor|Person'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Motor Vehicle|Person|Non_Motor'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Non_Motor|Motor Vehicle'">非机动车|机动车</span>
<span v-if="scope.row.type == 'Non_Motor|Person'">非机动车|行人</span>
</template> -->
</el-table-column>
<el-table-column align="center" prop="n_stay" label="存车数"></el-table-column>
<el-table-column align="center" prop="n_queue" label="排队数"></el-table-column>
<el-table-column align="center" prop="occ" label="占用状态"></el-table-column>
<el-table-column align="center" prop="speed" label="空间平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table> </el-table>
<!-- 固定间隔 --> <!-- 固定间隔 -->
@ -71,9 +121,39 @@
<el-table-column align="center" prop="in_flow" label="入流流量"></el-table-column> <el-table-column align="center" prop="in_flow" label="入流流量"></el-table-column>
<el-table-column align="center" prop="out_flow" label="出流流量"></el-table-column> <el-table-column align="center" prop="out_flow" label="出流流量"></el-table-column>
<el-table-column align="center" prop="flow" label="断面流量"></el-table-column> <el-table-column align="center" prop="flow" label="断面流量"></el-table-column>
<el-table-column align="center" prop="in_spd" label="入流平均速度"></el-table-column> <el-table-column align="center" prop="in_spd" label="入流平均速度">
<el-table-column align="center" prop="out_spd" label="出流平均速度"></el-table-column> <template slot-scope="scope">
<el-table-column align="center" prop="speed" label="断面的平均速度"></el-table-column> {{
scope.row.in_spd && scope.row.in_spd != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.in_spd)
: scope.row.in_spd == '-1'
? '-'
: scope.row.in_spd
}}
</template>
</el-table-column>
<el-table-column align="center" prop="out_spd" label="出流平均速度">
<template slot-scope="scope">
{{
scope.row.out_spd && scope.row.out_spd != '-' && scope.row.out_spd != '-1'
? Math.abs(scope.row.out_spd)
: scope.row.out_spd == '-1'
? '-'
: scope.row.out_spd
}}
</template>
</el-table-column>
<el-table-column align="center" prop="speed" label="断面的平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
<div v-else> <div v-else>

View File

@ -38,8 +38,10 @@ export default {
// var odData = this.odData // var odData = this.odData
var chartData = []; var chartData = [];
var start = []; var start = [];
if (odData && odData.length > 0) {
for (let i = 0; i < odData.length; i++) { for (let i = 0; i < odData.length; i++) {
let item = odData[i].data; let item = odData[i].data;
if (item && item.length > 0) {
for (let j = 0; j < item.length; j++) { for (let j = 0; j < item.length; j++) {
start.push(item[j].start); start.push(item[j].start);
// //
@ -49,6 +51,8 @@ export default {
// console.log([i,j,item[j].val]); // console.log([i,j,item[j].val]);
} }
} }
}
}
// this.thermalChartData = chartData // this.thermalChartData = chartData
// console.log(chartData,'odssssssssssssss'); // console.log(chartData,'odssssssssssssss');
return chartData; return chartData;
@ -62,8 +66,21 @@ export default {
}); });
return newArr; return newArr;
}, },
isObject(variable) {
return typeof variable === 'object' && variable !== null && !Array.isArray(variable);
},
// //
drawThermalChart(odData, startEnd) { drawThermalChart(odData, startEnd) {
let startEndStart = [],
startEndEnd = [];
if (this.isObject(startEnd)) {
if (startEnd.start) {
startEndStart = startEnd.start.split(',');
}
if (startEnd.start) {
startEndEnd = startEnd.end.split(',');
}
}
let myChart = this.$echarts.init(this.$refs.thermalChart); let myChart = this.$echarts.init(this.$refs.thermalChart);
let option = { let option = {
dataZoom: [ dataZoom: [
@ -93,7 +110,7 @@ export default {
}, },
xAxis: { xAxis: {
type: 'category', type: 'category',
data: startEnd.start.split(','), data: startEndStart,
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: '#000' color: '#000'
@ -110,7 +127,7 @@ export default {
}, },
yAxis: { yAxis: {
type: 'category', type: 'category',
data: startEnd.end.split(','), data: startEndEnd,
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: '#000' color: '#000'
@ -173,8 +190,13 @@ export default {
// if (this.list) { // if (this.list) {
// this.drawThermalChart() // this.drawThermalChart()
// } // }
this.drawThermalChart()
}, },
watch: {} watch: {}
}; };
</script> </script>
<style scoped></style> <style scoped>
.a{
color: rgba(120, 0, 0, 0.5);
}
</style>

View File

@ -136,21 +136,32 @@ export default {
let seriesArr = this.extractKeyValues(val, 'type_data'); let seriesArr = this.extractKeyValues(val, 'type_data');
const transformedData = []; const transformedData = [];
if (seriesArr && seriesArr.length > 0) { if (seriesArr && seriesArr.length > 0) {
for (let i = 0; i < seriesArr[0].length; i++) { const firstLevel = seriesArr.find((i) => i && i.length > 0);
const item = seriesArr[0][i]; //quantity
if (firstLevel && firstLevel.length > 0) {
for (let i = 0; i < firstLevel.length; i++) {
const item = firstLevel[i];
if (item) {
const valueList = seriesArr.map((arr) => { const valueList = seriesArr.map((arr) => {
let t = arr[i].value; if (arr) {
if (arr[i].quantity || arr[i].quantity === 0) { let t = arr[i] && arr[i].value;
if (arr[i] && (arr[i].quantity || arr[i].quantity === 0)) {
t = arr[i].quantity; t = arr[i].quantity;
} }
return t; return t;
}
return 0;
}); });
transformedData.push({ transformedData.push({
name: item.name, name: item.name,
value: valueList value: valueList
}); });
} }
} }
}
}
let totalCountList = 0; let totalCountList = 0;
if (transformedData.length > 0 && transformedData[0].value) { if (transformedData.length > 0 && transformedData[0].value) {
totalCountList = transformedData[0].value.map((_, i) => { totalCountList = transformedData[0].value.map((_, i) => {
@ -192,23 +203,32 @@ export default {
// console.log('seriesArr-', seriesArr); // console.log('seriesArr-', seriesArr);
const transformedData = []; const transformedData = [];
if (seriesArr && seriesArr.length > 0) { if (seriesArr && seriesArr.length > 0) {
for (let i = 0; i < seriesArr[0].length; i++) { const firstLevel = seriesArr.find((i) => i && i.length > 0);
const item = seriesArr[0][i];
//-type_datavaluequantity if (firstLevel && firstLevel.length > 0) {
// const valueList = seriesArr.map((arr) => arr[i].quantity); for (let i = 0; i < firstLevel.length; i++) {
const item = firstLevel[i];
if (item) {
const valueList = seriesArr.map((arr) => { const valueList = seriesArr.map((arr) => {
let t = arr[i].value; if (arr) {
if (arr[i].quantity || arr[i].quantity === 0) { let t = arr[i] && arr[i].value;
if (arr[i] && (arr[i].quantity || arr[i].quantity === 0)) {
t = arr[i].quantity; t = arr[i].quantity;
} }
return t; return t;
}
return 0;
}); });
transformedData.push({ transformedData.push({
name: item.name, name: item.name,
value: valueList value: valueList
}); });
} }
} }
}
}
// console.log('transformedData-1',transformedData) // console.log('transformedData-1',transformedData)
let totalCountList = 0; let totalCountList = 0;
if (transformedData.length > 0 && transformedData[0].value) { if (transformedData.length > 0 && transformedData[0].value) {
@ -245,28 +265,38 @@ export default {
yData = this.extractKeyValues(val, 'speed'); yData = this.extractKeyValues(val, 'speed');
} else if (this.componentType == '类型') { } else if (this.componentType == '类型') {
xData = this.extractKeyValues(val, 'time'); xData = this.extractKeyValues(val, 'time');
// console.log('--val-', val);
let seriesArr = this.extractKeyValues(val, 'type_data'); let seriesArr = this.extractKeyValues(val, 'type_data');
// console.log('--seriesArr-', seriesArr); // console.log('--seriesArr-', seriesArr);
// console.log('--xData-', this.chartData.xData); // console.log('--xData-', this.chartData.xData);
const transformedData = []; const transformedData = [];
if (seriesArr && seriesArr.length > 0) { if (seriesArr && seriesArr.length > 0) {
for (let i = 0; i < seriesArr[0].length; i++) { const firstLevel = seriesArr.find((i) => i && i.length > 0);
const item = seriesArr[0][i];
//-type_datavaluequantity if (firstLevel && firstLevel.length > 0) {
// const valueList = seriesArr.map((arr) => arr[i].value); for (let i = 0; i < firstLevel.length; i++) {
const item = firstLevel[i];
if (item) {
const valueList = seriesArr.map((arr) => { const valueList = seriesArr.map((arr) => {
let t = arr[i].value; if (arr) {
if (arr[i].quantity || arr[i].quantity === 0) { let t = arr[i] && arr[i].value;
if (arr[i] && (arr[i].quantity || arr[i].quantity === 0)) {
t = arr[i].quantity; t = arr[i].quantity;
} }
return t; return t;
}
return 0;
}); });
transformedData.push({ transformedData.push({
name: item.name, name: item.name,
value: valueList value: valueList
}); });
} }
} }
}
}
// console.log('--transformedData-1', transformedData); // console.log('--transformedData-1', transformedData);
let totalCountList = 0; let totalCountList = 0;

View File

@ -119,7 +119,17 @@
<el-table-column align="center" prop="ave_queue" label="平均排队数"></el-table-column> <el-table-column align="center" prop="ave_queue" label="平均排队数"></el-table-column>
<el-table-column align="center" prop="ave_occ" label="平均占有率"></el-table-column> <el-table-column align="center" prop="ave_occ" label="平均占有率"></el-table-column>
<el-table-column align="center" prop="ave_delay" label="平均延误"></el-table-column> <el-table-column align="center" prop="ave_delay" label="平均延误"></el-table-column>
<el-table-column align="center" prop="speed" label="平均速度"></el-table-column> <el-table-column align="center" prop="speed" label="平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
<div v-else> <div v-else>
@ -155,7 +165,7 @@ export default {
{ prop: 'n_stay', label: '存车数' }, { prop: 'n_stay', label: '存车数' },
{ prop: 'n_queue', label: '排队数' }, { prop: 'n_queue', label: '排队数' },
{ prop: 'occ', label: '占用状态' }, { prop: 'occ', label: '占用状态' },
{prop:'speed',label:'空间平均速度'}, { prop: 'speed', label: '空间平均速度' }
] ]
}, },
{ {
@ -167,7 +177,7 @@ export default {
{ prop: 'n_stay', label: '存车数' }, { prop: 'n_stay', label: '存车数' },
{ prop: 'n_queue', label: '排队数' }, { prop: 'n_queue', label: '排队数' },
{ prop: 'occ', label: '占用状态' }, { prop: 'occ', label: '占用状态' },
{prop:'speed',label:'空间平均速度'}, { prop: 'speed', label: '空间平均速度' }
] ]
}, },
{ {
@ -182,7 +192,7 @@ export default {
{ prop: 'ave_queue', label: '平均排队数' }, { prop: 'ave_queue', label: '平均排队数' },
{ prop: 'ave_occ', label: '平均占有率' }, { prop: 'ave_occ', label: '平均占有率' },
{ prop: 'ave_delay', label: '平均延误' }, { prop: 'ave_delay', label: '平均延误' },
{prop:'speed',label:'平均速度'}, { prop: 'speed', label: '平均速度' }
] ]
} }
] ]

View File

@ -42,7 +42,46 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table :data="msg" style="width: 100%" v-if="triggerType == '固定时刻'">
<!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column>
<el-table-column align="center" prop="zone_id" label="区域编号"></el-table-column> -->
<el-table-column align="center" prop="name" label="区域名称"></el-table-column>
<el-table-column align="center" prop="time" label="时间戳"></el-table-column>
<!-- <el-table-column align="center" prop="" label="视频帧"></el-table-column> -->
<el-table-column align="center" label="目标类型" prop="type">
<!-- <template slot-scope="scope">
<span v-if="scope.row.type == 'Person'">行人</span>
<span v-if="scope.row.type == 'Motor Vehicle'">机动车</span>
<span v-if="scope.row.type == 'Non_Motor'">非机动车</span>
<span v-if="scope.row.type == 'Motor Vehicle|Non_Motor'">机动车|非机动车</span>
<span v-if="scope.row.type == 'Motor Vehicle|Person'">机动车|行人</span>
<span v-if="scope.row.type == 'Person|Non_Motor'">行人|非机动车</span>
<span v-if="scope.row.type == 'Person|Motor Vehicle'">行人|机动车</span>
<span v-if="scope.row.type == 'Person|Non_Motor|Motor Vehicle'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Person|Motor Vehicle|Non_Motor'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Non_Motor|Person|Motor Vehicle'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Non_Motor|Motor Vehicle|Person'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Motor Vehicle|Non_Motor|Person'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Motor Vehicle|Person|Non_Motor'">行人|非机动车|机动车</span>
<span v-if="scope.row.type == 'Non_Motor|Motor Vehicle'">非机动车|机动车</span>
<span v-if="scope.row.type == 'Non_Motor|Person'">非机动车|行人</span>
</template> -->
</el-table-column>
<el-table-column align="center" prop="n_stay" label="存车数"></el-table-column>
<el-table-column align="center" prop="n_queue" label="排队数"></el-table-column>
<el-table-column align="center" prop="occ" label="占用状态"></el-table-column>
<el-table-column align="center" prop="speed" label="空间平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table>
<!-- 固定间隔 --> <!-- 固定间隔 -->
<el-table :data="tableData" style="width: 100%" height="250" v-if="triggerType == '固定间隔'"> <el-table :data="tableData" style="width: 100%" height="250" v-if="triggerType == '固定间隔'">
<el-table-column align="center" prop="gate_id" label="断面编号"></el-table-column> <el-table-column align="center" prop="gate_id" label="断面编号"></el-table-column>
@ -70,9 +109,39 @@
<el-table-column align="center" prop="in_flow" label="入流流量"></el-table-column> <el-table-column align="center" prop="in_flow" label="入流流量"></el-table-column>
<el-table-column align="center" prop="out_flow" label="出流流量"></el-table-column> <el-table-column align="center" prop="out_flow" label="出流流量"></el-table-column>
<el-table-column align="center" prop="flow" label="断面流量"></el-table-column> <el-table-column align="center" prop="flow" label="断面流量"></el-table-column>
<el-table-column align="center" prop="in_spd" label="入流平均速度"></el-table-column> <el-table-column align="center" prop="in_spd" label="入流平均速度">
<el-table-column align="center" prop="out_spd" label="出流平均速度"></el-table-column> <template slot-scope="scope">
<el-table-column align="center" prop="speed" label="断面的平均速度"></el-table-column> {{
scope.row.in_spd && scope.row.in_spd != '-' && scope.row.in_spd != '-1'
? Math.abs(scope.row.speed)
: scope.row.in_spd == '-1'
? '-'
: scope.row.in_spd
}}
</template>
</el-table-column>
<el-table-column align="center" prop="out_spd" label="出流平均速度">
<template slot-scope="scope">
{{
scope.row.out_spd && scope.row.out_spd != '-' && scope.row.out_spd != '-1'
? Math.abs(scope.row.out_spd)
: scope.row.out_spd == '-1'
? '-'
: scope.row.out_spd
}}
</template>
</el-table-column>
<el-table-column align="center" prop="speed" label="断面的平均速度">
<template slot-scope="scope">
{{
scope.row.speed && scope.row.speed != '-' && scope.row.speed != '-1'
? Math.abs(scope.row.speed)
: scope.row.speed == '-1'
? '-'
: scope.row.speed
}}
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
<div v-else> <div v-else>
@ -108,7 +177,7 @@ export default {
{ prop: 'n_stay', label: '存车数' }, { prop: 'n_stay', label: '存车数' },
{ prop: 'n_queue', label: '排队数' }, { prop: 'n_queue', label: '排队数' },
{ prop: 'occ', label: '占用状态' }, { prop: 'occ', label: '占用状态' },
{prop:'speed',label:'空间平均速度'}, { prop: 'speed', label: '空间平均速度' }
] ]
}, },
{ {
@ -120,7 +189,7 @@ export default {
{ prop: 'n_stay', label: '存车数' }, { prop: 'n_stay', label: '存车数' },
{ prop: 'n_queue', label: '排队数' }, { prop: 'n_queue', label: '排队数' },
{ prop: 'occ', label: '占用状态' }, { prop: 'occ', label: '占用状态' },
{prop:'speed',label:'空间平均速度'}, { prop: 'speed', label: '空间平均速度' }
] ]
}, },
{ {
@ -136,18 +205,18 @@ export default {
{ prop: 'flow', label: '断面流量' }, { prop: 'flow', label: '断面流量' },
{ prop: 'in_spd', label: '入流平均速度' }, { prop: 'in_spd', label: '入流平均速度' },
{ prop: 'out_spd', label: '出流平均速度' }, { prop: 'out_spd', label: '出流平均速度' },
{prop:'speed',label:'断面的平均速度'}, { prop: 'speed', label: '断面的平均速度' }
] ]
} }
] ]
}; };
}, },
watch: { watch: {
tableData: { // tableData: {
handler(newVal) { // handler(newVal) {
console.log(newVal, '断面表格数据'); // console.log(newVal, '');
} // }
} // }
}, },
methods: {} methods: {}
}; };

View File

@ -114,6 +114,14 @@ export default {
// } // }
} }
let myChart = this.chart; let myChart = this.chart;
let startName =[],endName=[]
if(this.startName){
startName = this.startName.split(',')
}
if(this.endName){
endName = this.endName.split(',')
}
if (dataList) {
let option = { let option = {
dataZoom: [ dataZoom: [
{ {
@ -137,7 +145,7 @@ export default {
}, },
xAxis: { xAxis: {
type: 'category', type: 'category',
data: this.startName.split(','), data: startName,
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: '#000' color: '#000'
@ -154,7 +162,7 @@ export default {
}, },
yAxis: { yAxis: {
type: 'category', type: 'category',
data: this.endName.split(','), data: endName,
axisLine: { axisLine: {
lineStyle: { lineStyle: {
color: '#000' color: '#000'
@ -207,6 +215,7 @@ export default {
}); });
} }
} }
}
}, },
mounted() { mounted() {
let that = this; let that = this;

View File

@ -1477,7 +1477,7 @@ export default {
const temp = utf8decoder.decode(u8arr); // const temp = utf8decoder.decode(u8arr); //
var detId = []; var detId = [];
const msgN = JSON.parse(temp); const msgN = JSON.parse(temp);
console.log('实时触发trigger-', msgN); // console.log('trigger-', msgN);
// //console.log("trigger_msgN",msgN) // //console.log("trigger_msgN",msgN)
// msgN.forEach(item => { // msgN.forEach(item => {
// //console.log("item.name",item.name) // //console.log("item.name",item.name)

View File

@ -679,7 +679,7 @@
> >
<div style="width: 100%; height: 10%; padding-left: 4%; box-sizing: border-box"> <div style="width: 100%; height: 10%; padding-left: 4%; box-sizing: border-box">
<span class="titleIcon"></span> <span class="titleIcon"></span>
{{ e.name + '-' + e.graphicType }} {{ e.name }}
</div> </div>
<div style="width: 100%; height: 90%" v-if="e.timeMode == '实时触发'"> <div style="width: 100%; height: 90%" v-if="e.timeMode == '实时触发'">
<div style="width: 100%; height: 100%" v-if="e.graphicType == '断面'"> <div style="width: 100%; height: 100%" v-if="e.graphicType == '断面'">
@ -2774,15 +2774,14 @@ export default {
) { ) {
if (data[i].children[j].children[n].children[m].componentType == '类型') { if (data[i].children[j].children[n].children[m].componentType == '类型') {
let typeData = { let typeData = {
time: time,
type_data: newValue,
speed: table.speed,
name: table.name, name: table.name,
time: time,
type: table.type, type: table.type,
n_stay: table.n_stay, n_stay: table.n_stay,
n_queue: table.n_queue, n_queue: table.n_queue,
occ: table.occ, occ: table.occ,
speed: table.speed, speed: table.speed,
type_data: newValue,
originalSpeed: table.originalSpeed originalSpeed: table.originalSpeed
}; };
this.addTimeDataCharts(data[i].children[j].children[n].children[m].triggerNewData, typeData); this.addTimeDataCharts(data[i].children[j].children[n].children[m].triggerNewData, typeData);
@ -2813,19 +2812,20 @@ export default {
) { ) {
if (data[i].children[j].children[n].children[m].componentType == '类型') { if (data[i].children[j].children[n].children[m].componentType == '类型') {
let typeData = { let typeData = {
time: time,
type_data: newValue,
speed: table.speed,
avg: table.avg,
max: table.max,
med: table.med,
min: table.min,
name: table.name, name: table.name,
time: time,
type: table.type, type: table.type,
n_stay: table.n_stay, n_stay: table.n_stay,
n_queue: table.n_queue, n_queue: table.n_queue,
occ: table.occ, occ: table.occ,
speed: table.speed speed: table.speed,
type_data: newValue,
headway: table.headway,
avg: table.avg,
max: table.max,
med: table.med,
min: table.min,
originalSpeed: table.originalSpeed
}; };
// if (data[i].children[j].children[n].children[m].cycleTimeData.length > 10) { // if (data[i].children[j].children[n].children[m].cycleTimeData.length > 10) {
// data[i].children[j].children[n].children[m].cycleTimeData = // data[i].children[j].children[n].children[m].cycleTimeData =
@ -2858,20 +2858,45 @@ export default {
data[i].children[j].children[n].children[m].analogAreaComponentId == analogAreaComponentId data[i].children[j].children[n].children[m].analogAreaComponentId == analogAreaComponentId
) { ) {
if (data[i].children[j].children[n].children[m].componentType == '类型') { if (data[i].children[j].children[n].children[m].componentType == '类型') {
// let typeData = {
// time: time,
// type_data: newValue,
// speed: table.speed,
// avg: table.avg,
// max: table.max,
// med: table.med,
// min: table.min,
// name: table.name,
// type: table.type,
// ave_stay: table.ave_stay,
// ave_queue: table.ave_queue,
// occ: table.occ,
// speed: table.speed
// };
let typeData = { let typeData = {
time: time,
type_data: newValue, type_data: newValue,
speed: table.speed, time: time,
name: table.name,
type: table.type,
in_flow: table.in_flow,
out_flow: table.out_flow,
ave_stay: table.ave_stay,
ave_queue: table.ave_queue,
ave_occ: table.ave_occ,
ave_delay: table.ave_delay,
type_data: table.type_data,
ave_headway: table.ave_headway,
avg: table.avg, avg: table.avg,
max: table.max, max: table.max,
med: table.med, med: table.med,
min: table.min, min: table.min,
name: table.name,
type: table.type,
ave_stay: table.ave_stay,
ave_queue: table.ave_queue,
occ: table.occ, occ: table.occ,
speed: table.speed originalSpeed: table.speed,
gate_id: table.gate_id,
interval: table.interval,
flow: table.flow,
in_spd: table.in_spd,
out_spd: table.out_spd
}; };
// if (data[i].children[j].children[n].children[m].cycleStatisticsData.length > 10) { // if (data[i].children[j].children[n].children[m].cycleStatisticsData.length > 10) {
// data[i].children[j].children[n].children[m].cycleStatisticsData = // data[i].children[j].children[n].children[m].cycleStatisticsData =
@ -3522,7 +3547,7 @@ export default {
interval: msgN[j].interval, interval: msgN[j].interval,
flow: msgN[j].flow, flow: msgN[j].flow,
in_spd: msgN[j].in_spd, in_spd: msgN[j].in_spd,
out_spd: msgN[j].out_spd, out_spd: msgN[j].out_spd
}; };
this.$nextTick(() => { this.$nextTick(() => {
this.cycleStatisticsDataCharts( this.cycleStatisticsDataCharts(
@ -3583,7 +3608,7 @@ export default {
interval: msgN[j].interval, interval: msgN[j].interval,
flow: msgN[j].flow, flow: msgN[j].flow,
in_spd: msgN[j].in_spd, in_spd: msgN[j].in_spd,
out_spd: msgN[j].out_spd, out_spd: msgN[j].out_spd
}; };
this.$nextTick(() => { this.$nextTick(() => {
this.cycleStatisticsDataCharts( this.cycleStatisticsDataCharts(
@ -3633,7 +3658,7 @@ export default {
interval: msgN[j].interval, interval: msgN[j].interval,
flow: msgN[j].flow, flow: msgN[j].flow,
in_spd: msgN[j].in_spd, in_spd: msgN[j].in_spd,
out_spd: msgN[j].out_spd, out_spd: msgN[j].out_spd
}; };
this.$nextTick(() => { this.$nextTick(() => {
this.cycleStatisticsDataCharts( this.cycleStatisticsDataCharts(
@ -3683,7 +3708,7 @@ export default {
interval: msgN[j].interval, interval: msgN[j].interval,
flow: msgN[j].flow, flow: msgN[j].flow,
in_spd: msgN[j].in_spd, in_spd: msgN[j].in_spd,
out_spd: msgN[j].out_spd, out_spd: msgN[j].out_spd
}; };
this.$nextTick(() => { this.$nextTick(() => {
this.cycleStatisticsDataCharts( this.cycleStatisticsDataCharts(
@ -3729,7 +3754,7 @@ export default {
interval: msgN[j].interval, interval: msgN[j].interval,
flow: msgN[j].flow, flow: msgN[j].flow,
in_spd: msgN[j].in_spd, in_spd: msgN[j].in_spd,
out_spd: msgN[j].out_spd, out_spd: msgN[j].out_spd
}; };
this.$nextTick(() => { this.$nextTick(() => {
this.cycleStatisticsDataCharts( this.cycleStatisticsDataCharts(
@ -3775,7 +3800,7 @@ export default {
interval: msgN[j].interval, interval: msgN[j].interval,
flow: msgN[j].flow, flow: msgN[j].flow,
in_spd: msgN[j].in_spd, in_spd: msgN[j].in_spd,
out_spd: msgN[j].out_spd, out_spd: msgN[j].out_spd
}; };
this.$nextTick(() => { this.$nextTick(() => {
this.cycleStatisticsDataCharts( this.cycleStatisticsDataCharts(
@ -3823,7 +3848,7 @@ export default {
interval: msgN[j].interval, interval: msgN[j].interval,
flow: msgN[j].flow, flow: msgN[j].flow,
in_spd: msgN[j].in_spd, in_spd: msgN[j].in_spd,
out_spd: msgN[j].out_spd, out_spd: msgN[j].out_spd
}; };
this.$nextTick(() => { this.$nextTick(() => {
this.cycleStatisticsDataCharts( this.cycleStatisticsDataCharts(
@ -3838,6 +3863,7 @@ export default {
// this.addOrUpdateArrayItem(this.triggerODData, { // this.addOrUpdateArrayItem(this.triggerODData, {
// ob_data: msgN[j].ob_data // ob_data: msgN[j].ob_data
// }); // });
// console.log('-OD', JSON.stringify(msgN[j]));
let table = { let table = {
ob_data: msgN[j].ob_data ob_data: msgN[j].ob_data
}; };