Compare commits

..

4 Commits

Author SHA1 Message Date
luoshiwen 11fea9c69e 代码提交 2023-02-22 21:50:50 +08:00
luoshiwen 0b52be6244 代码提交 2023-02-22 21:49:46 +08:00
luoshiwen 7087614b09 代码提交 2023-02-22 14:52:14 +08:00
luoshiwen be9a670df7 代码提交 2023-02-22 12:48:50 +08:00
12 changed files with 235 additions and 150 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -3,9 +3,9 @@
<div class="tableTitle"> <div class="tableTitle">
<div> <div>
<span <span
style="width: 10px;height:10px;border-radius: 50%;background-color: #3297ff;display: inline-block;vertical-align: middle;margin-right: 8px;" style="width: 10px;height:10px;border-radius: 50%;background-color: #3297ff;display: inline-block;vertical-align: middle;margin-right: 8px;"></span>
></span> <span style="font-size:18px;">{{ this.componentName + '-' + this.chartName + '-' + '曲线图' + '-' + status,
<span style="font-size:18px;">{{this.componentName + '-' + this.chartName + '-' + '曲线图'+'-'+status, }}</span> }}</span>
</div> </div>
</div> </div>
<div id="lineChart" ref="lineChart" style="width: 100%; height: 300px"></div> <div id="lineChart" ref="lineChart" style="width: 100%; height: 300px"></div>
@ -67,12 +67,14 @@ export default {
created() { created() {
// console.log( this.componentName + '-' + this.chartName + '-' + '线','40'); // console.log( this.componentName + '-' + this.chartName + '-' + '线','40');
}, },
methods: { methods: {
drawLine() { drawLine() {
let myChart = this.$echarts.getInstanceByDom(this.$refs.lineChart); let myChart = this.$echarts.getInstanceByDom(this.$refs.lineChart);
if (myChart == null) { if (myChart == null) {
myChart = this.$echarts.init(this.$refs.lineChart); myChart = this.$echarts.init(this.$refs.lineChart);
} }
// myChart.showLoading()  //loading
let option = { let option = {
// title: { // title: {
// show: true, // show: true,
@ -136,23 +138,34 @@ export default {
], ],
series: this.series series: this.series
}; };
myChart.setOption(option)  //
myChart.setOption(option); // myChart.hideLoading()
// myChart.setOption(option);
// window.onresize = () => { // // window.onresize = () => { //
// myChart.resize(); // myChart.resize();
// }; // };
window.addEventListener('resize', function() { window.addEventListener('resize', function () {
myChart.resize(); myChart.resize();
}); });
} }
}, },
mounted() { mounted() {
this.drawLine(); this.drawLine();
<<<<<<< HEAD
console.log(this.title);
=======
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
}, },
watch: { watch: {
list: { list: {
handler(newVal) { handler(newVal) {
<<<<<<< HEAD
if (newVal) {
console.log(this.title);
console.log(newVal, this.title + '折现图的数据');
=======
if (newVal.length != 0) { if (newVal.length != 0) {
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
// x // x
this.xData = newVal.map(val => { this.xData = newVal.map(val => {
return val.time; return val.time;
@ -183,7 +196,7 @@ export default {
this.series[0].name = '总量'; this.series[0].name = '总量';
console.log('折线图', newVal); console.log('折线图', newVal);
// //
let arr = newVal.map(function(ele) { let arr = newVal.map(function (ele) {
if (ele.type_data != null) { if (ele.type_data != null) {
return ele.type_data; return ele.type_data;
} }
@ -194,6 +207,34 @@ export default {
mapN.push(arr[t][i]); mapN.push(arr[t][i]);
} }
} }
<<<<<<< HEAD
var lineArr = [{
name: '机动车',
type: 'line',
data: [],
smooth: true
}, {
name: '非机动车',
type: 'line',
data: [],
smooth: true
}, {
name: '行人',
type: 'line',
data: [],
smooth: true
}];
// if (newVal[0].type_data != undefined) {
// newVal[0].type_data.forEach(ele => {
// lineArr.push({
// name: ele.name,
// type: 'line',
// data: [],
// smooth: true
// });
// });
// }
=======
var lineArr = []; var lineArr = [];
// 线 // 线
if (newVal[0].type_data != undefined) { if (newVal[0].type_data != undefined) {
@ -207,6 +248,7 @@ export default {
}); });
} }
// //
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
mapN.forEach(ele => { mapN.forEach(ele => {
if (ele.name == '机动车') { if (ele.name == '机动车') {
lineArr[0].data.push(ele.quantity); lineArr[0].data.push(ele.quantity);
@ -221,9 +263,9 @@ export default {
} }
// //
let mapNR1 = []; let mapNR1 = [];
newVal.map(function(ele) { newVal.map(function (ele) {
if (ele.type_data != null) { if (ele.type_data != null) {
var sum = ele.type_data.reduce(function(prev, cur) { var sum = ele.type_data.reduce(function (prev, cur) {
return cur.quantity + prev; return cur.quantity + prev;
}, 0); }, 0);
mapNR1.push(sum); mapNR1.push(sum);
@ -251,7 +293,11 @@ export default {
return ele.in_flow + ele.out_flow; return ele.in_flow + ele.out_flow;
}); });
} else if (this.title == '车头时距') { } else if (this.title == '车头时距') {
<<<<<<< HEAD
console.log("车头时距", newVal)
=======
console.log('车头时距', newVal); console.log('车头时距', newVal);
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
this.tooltip = { this.tooltip = {
formatter: '{a} {b}:{c}/s', formatter: '{a} {b}:{c}/s',
show: true, show: true,
@ -260,10 +306,14 @@ export default {
this.series[0].data = newVal.map(val => { this.series[0].data = newVal.map(val => {
return val.headway; return val.headway;
}); });
} else if (this.title == '排队数') { } else if (this.title == '排队数' && this.status == '触发') {
this.series[0].data = newVal.map(val => { this.series[0].data = newVal.map(val => {
return val.n_queue; return val.n_queue;
}); });
} else if (this.title == '排队数' && this.status == '周期统计') {
this.series[0].data = newVal.map(val => {
return val.ave_queue;
});
} else if (this.title == '检测数') { } else if (this.title == '检测数') {
this.series[0].data = newVal.map(val => { this.series[0].data = newVal.map(val => {
return val.n_stay; return val.n_stay;
@ -273,16 +323,18 @@ export default {
return val.ave_delay; return val.ave_delay;
}); });
} else if (this.title == '拥堵') { } else if (this.title == '拥堵') {
this.series[0].data = newVal.map(val => {}); this.series[0].data = newVal.map(val => { });
}
if (this.$refs.lineChart) {
this.$nextTick(() => {
this.drawLine();
});
} }
this.drawLine()
} }
}, },
<<<<<<< HEAD
deep: true
=======
immediate: true immediate: true
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
} }
} }
}; };

View File

@ -1,15 +1,19 @@
<template <template><!-- 触发类型 -->
><!-- 触发类型 --> <div class="setion">
<div class="setion" v-if="isRefer">
<p class="chartTitle"><span class="titleIcon"></span> {{ componentName }} {{ triggerType }}</p> <p class="chartTitle"><span class="titleIcon"></span> {{ componentName }} {{ triggerType }}</p>
<!-- 触发数据数值渲染 --> <!-- 触发数据数值渲染 -->
<<<<<<< HEAD
<div class="typeContent">
<div v-if="dataArr && dataArr.length != 0">
=======
<div class="typeContent" v-if="triggerType == '触发' || '周期时刻'"> <div class="typeContent" v-if="triggerType == '触发' || '周期时刻'">
<div v-if="dataArr && dataArr.length != 0 && dataArr!=undefined"> <div v-if="dataArr && dataArr.length != 0 && dataArr!=undefined">
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
<div v-if="title == '类型'" style="display:flex"> <div v-if="title == '类型'" style="display:flex">
<el-card v-for="(n, i) in typeValue.type_data" :key="i" style="width: 150px; margin-bottom: 20px; text-align: center"> <el-card v-for="(n, i) in typeValue.type_data" :key="i"
style="width: 150px; margin-bottom: 20px; text-align: center">
<div> <div>
<span style="font-size: 15px;">{{ n.name }}</span <span style="font-size: 15px;">{{ n.name }}</span><br />
><br />
<span style="font-size: 30px; font-weight: bold">{{ n.quantity }}</span> <span style="font-size: 30px; font-weight: bold">{{ n.quantity }}</span>
</div> </div>
<div> <div>
@ -21,7 +25,11 @@
</div> </div>
</div> </div>
<el-card v-show="echartArr.includes('数值')" style="width: 150px; margin-bottom: 20px; text-align: center"> <el-card v-show="echartArr.includes('数值')" style="width: 150px; margin-bottom: 20px; text-align: center">
<<<<<<< HEAD
<div v-if="dataArr && dataArr.length != 0">
=======
<div v-if="dataArr&& dataArr.length != 0 && dataArr!=undefined"> <div v-if="dataArr&& dataArr.length != 0 && dataArr!=undefined">
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
<div v-if="title == '类型'"> <div v-if="title == '类型'">
<span style="font-size: 15px;">类型数量总和</span><br /> <span style="font-size: 15px;">类型数量总和</span><br />
<span style="font-size: 30px; font-weight: bold"> <span style="font-size: 30px; font-weight: bold">
@ -68,9 +76,16 @@
<div class="tableTitle" v-if="dataArr&& dataArr.length != 0 && dataArr!=undefined"> <div class="tableTitle" v-if="dataArr&& dataArr.length != 0 && dataArr!=undefined">
<div> <div>
<span <span
<<<<<<< HEAD
style="width: 10px;height:10px;border-radius: 50%;background-color: #3297ff;display: inline-block;vertical-align: middle;margin-right: 8px;"></span>
<span style="font-size:18px;">{{ this.chartName + '-' + this.componentName + '-' + '表格' + '-' +
triggerType
}}</span>
=======
style="width: 10px;height:10px;border-radius: 50%;background-color: #3297ff;display: inline-block;vertical-align: middle;margin-right: 8px;" style="width: 10px;height:10px;border-radius: 50%;background-color: #3297ff;display: inline-block;vertical-align: middle;margin-right: 8px;"
></span> ></span>
<span style="font-size:18px;">{{ this.chartName + '-' + this.componentName + '-' + '表格' + '-' + triggerType }}</span> <span style="font-size:18px;">{{ this.chartName + '-' + this.componentName + '-' + '表格' + '-' + triggerType }}</span>
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
</div> </div>
<div class="tableTime"> <div class="tableTime">
{{ dataArr[0].time ? dataArr[0].time : '' }} {{ dataArr[0].time ? dataArr[0].time : '' }}
@ -85,6 +100,10 @@
</div> </div>
<div class="border" v-if="echartArr.includes('曲线图')"> <div class="border" v-if="echartArr.includes('曲线图')">
<detailDialog /> <detailDialog />
<<<<<<< HEAD
<lineChart :componentName="componentName" :chartName="chartName" :pageType="pageType" :list="dataArr"
:status="triggerType" :title="title" :typeValue="typeValue" />
=======
<lineChart <lineChart
v-if="dataArr && dataArr.length != 0 && dataArr!=undefined" v-if="dataArr && dataArr.length != 0 && dataArr!=undefined"
:componentName="componentName" :componentName="componentName"
@ -95,43 +114,22 @@
:title="title" :title="title"
:typeValue="typeValue" :typeValue="typeValue"
/> />
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
</div> </div>
<div class="border" v-if="echartArr.includes('饼状图')"> <div class="border" v-if="echartArr.includes('饼状图')">
<detailDialog /> <detailDialog />
<pieChart <pieChart :componentName="componentName" :chartName="chartName" :pageType="pageType" :list="dataArr"
:componentName="componentName" :status="triggerType" :title="title" :typeValue="typeValue" />
:chartName="chartName"
:pageType="pageType"
:list="dataArr"
:status="triggerType"
:title="title"
:typeValue="typeValue"
/>
</div> </div>
<div class="border" v-if="echartArr.includes('均值图')"> <div class="border" v-if="echartArr.includes('均值图')">
<detailDialog /> <detailDialog />
<avgChart <avgChart ref="avgRefChart" :componentName="componentName" :chartName="chartName" :pageType="pageType"
ref="avgRefChart" :list="dataArr" :status="triggerType" :title="title" :typeValue="typeValue" />
:componentName="componentName"
:chartName="chartName"
:pageType="pageType"
:list="dataArr"
:status="triggerType"
:title="title"
:typeValue="typeValue"
/>
</div> </div>
<div class="border" v-if="echartArr.includes('直方图')"> <div class="border" v-if="echartArr.includes('直方图')">
<detailDialog /> <detailDialog />
<barChart <barChart :componentName="componentName" :chartName="chartName" :pageType="pageType" :list="dataArr"
:componentName="componentName" :status="triggerType" :title="title" :typeValue="typeValue" />
:chartName="chartName"
:pageType="pageType"
:list="dataArr"
:status="triggerType"
:title="title"
:typeValue="typeValue"
/>
</div> </div>
</div> </div>
</template> </template>
@ -169,18 +167,24 @@ export default {
valueShow: {} valueShow: {}
}; };
}, },
created() {}, created() {
},
methods: { methods: {
// //
}, },
computed: {}, computed: {},
mounted() {}, mounted() { },
watch: { watch: {
// //
dataArr: { dataArr: {
handler(newVal) { handler(newVal) {
<<<<<<< HEAD
console.log("dataArr", newVal)
=======
console.log('dataArr', newVal); console.log('dataArr', newVal);
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
}, },
immediate: true immediate: true
@ -209,6 +213,7 @@ export default {
margin-bottom: 5px; margin-bottom: 5px;
padding: 8px; padding: 8px;
} }
.typeContent { .typeContent {
box-sizing: border-box; box-sizing: border-box;
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<div ref="box" class="box"> <div ref="box" class="box">
<el-empty v-show="componentList.length == 0" :image-size="400"></el-empty> <el-empty v-show="sectionData.length == 0" :image-size="400"></el-empty>
<!-- <p class="title" style="margin-bottom: 20px;font-size: 20px;font-weight: 400;">数据看板</p> --> <!-- <p class="title" style="margin-bottom: 20px;font-size: 20px;font-weight: 400;">数据看板</p> -->
<el-scrollbar class="scrollbar"> <el-scrollbar class="scrollbar">
<div class="dataBoard" ref="dataBoard" v-if="activeName == 'second'"> <div class="dataBoard" ref="dataBoard" v-if="activeName == 'second'">
@ -20,6 +20,33 @@
</p> </p>
<!-- <span class="downPull1" data-num="1" @click="sectionHandle(i)"></span> --> <!-- <span class="downPull1" data-num="1" @click="sectionHandle(i)"></span> -->
</div> </div>
<<<<<<< HEAD
<div v-if="s.children">
<div v-for="o in s.children" :key="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 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="typeValue" />
<typeChart 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 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" />
</div>
</div>
<!-- :data="triggerList.length != 0 ? triggerList : tableData" -->
=======
<el-tabs> <el-tabs>
<el-collapse v-model="acticveName"> <el-collapse v-model="acticveName">
<div v-for="o in s.children" :key="o.analogAreaComponentId"> <div v-for="o in s.children" :key="o.analogAreaComponentId">
@ -74,6 +101,7 @@
</div> </div>
</el-collapse> </el-collapse>
</el-tabs> </el-tabs>
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
</div> </div>
</template> </template>
</div> </div>
@ -123,6 +151,15 @@ export default {
default() { default() {
return []; return [];
} }
<<<<<<< HEAD
},
componentList:{
type:Array,
default(){
return []
}
=======
>>>>>>> 1d018c9bfd7d477b50f1c160150339f6011f2622
} }
}, },
data() { data() {
@ -371,6 +408,9 @@ export default {
typeCycleStatistics: {} typeCycleStatistics: {}
}; };
}, },
// beforeCeated(){
// },
created() { created() {
this.getNew() this.getNew()
}, },
@ -402,6 +442,7 @@ export default {
}); });
return item; return item;
}); });
}, },
// //
sectionHandle(i) { sectionHandle(i) {
@ -482,8 +523,7 @@ export default {
cycleTimeData: { cycleTimeData: {
handler(newVal) { handler(newVal) {
// //
console.log(newVal, '440'); if (newVal.length != 0 && this.sectionData) {
if (newVal.length != 0) {
this.componentList.forEach(ele => { this.componentList.forEach(ele => {
if (ele.cycleTimeData == undefined && ele.timeMode == '周期时刻') { if (ele.cycleTimeData == undefined && ele.timeMode == '周期时刻') {
ele.cycleTimeData = []; ele.cycleTimeData = [];
@ -519,9 +559,8 @@ export default {
// } // }
cycleStatistics: { cycleStatistics: {
handler(newVal) { handler(newVal) {
console.log(newVal, '周期统计');
if (newVal.length != 0) { if (newVal.length != 0 && this.sectionData) {
this.componentList.forEach(ele => { this.componentList.forEach(ele => {
if (ele.cycleStatistics == undefined && ele.timeMode == '周期统计') { if (ele.cycleStatistics == undefined && ele.timeMode == '周期统计') {
ele.cycleStatistics = []; ele.cycleStatistics = [];

View File

@ -3,29 +3,18 @@
<!-- <div class="container"> --> <!-- <div class="container"> -->
<div> <div>
<!-- <el-tabs type="border-card" v-model="activeName" tab-position="left"> --> <!-- <el-tabs type="border-card" v-model="activeName" tab-position="left"> -->
<el-tabs type="border-card" v-model="activeName"> <el-tabs type="border-card" v-model="activeName" >
<el-tab-pane :label="titName" name="first"> <el-tab-pane :label="titName" name="first">
<div class="mapModuleApp"> <div class="mapModuleApp">
<iframe <iframe id="mapModule" src="./VideoWeb/index.html" frameborder="0" style="width: 100%; height:100%;"
id="mapModule" scrolling="no" v-if="videoUnityShow"></iframe>
src="./VideoWeb/index.html"
frameborder="0"
style="width: 100%; height:100%;"
scrolling="no"
v-if="videoUnityShow"
></iframe>
<!-- <iframe src="./VideoWeb/index.html" style="height: 100%; width: 100%;border: none" ref="iframe"></iframe> --> <!-- <iframe src="./VideoWeb/index.html" style="height: 100%; width: 100%;border: none" ref="iframe"></iframe> -->
<el-empty :description="description" v-if="videoAnalysisShow"> </el-empty> <el-empty :description="description" v-if="videoAnalysisShow"> </el-empty>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="数据看板" name="second"> <el-tab-pane label="数据看板" name="second">
<dataBoard <dataBoard ref="dataBoardRef" :activeName="activeName" :triggerData="triggerData" :triggerListData="triggerListData"
:activeName="activeName" :cycleTimeData="cycleTimeData" :cycleStatistics="cycleStatistics" v-if="activeName='second'"></dataBoard>
:triggerData="triggerData"
:triggerListData="triggerListData"
:cycleTimeData="cycleTimeData"
:cycleStatistics="cycleStatistics"
></dataBoard>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="分析配置" name="third"> <el-tab-pane label="分析配置" name="third">
<analysisConfiguration :analysisConfigurationdata="analysisConfigurationdata"></analysisConfiguration> <analysisConfiguration :analysisConfigurationdata="analysisConfigurationdata"></analysisConfiguration>
@ -37,31 +26,12 @@
</el-tabs> </el-tabs>
<!-- <el-button class="videoAnalysis" type="primary" size="mini" @click="videoAnalysisBtn" v-if="videoAnalysisShow" :disabled='disabledVideoAnalysis' <!-- <el-button class="videoAnalysis" type="primary" size="mini" @click="videoAnalysisBtn" v-if="videoAnalysisShow" :disabled='disabledVideoAnalysis'
>视频分析</el-button> --> >视频分析</el-button> -->
<el-button <el-button class="trafficAnalysis" type="primary" plain size="mini" @click="trafficAnalysisBtn"
class="trafficAnalysis" v-if="trafficAnalysisShow" :disabled="disabledTrafficAnalysis">交通分析</el-button>
type="primary"
plain
size="mini"
@click="trafficAnalysisBtn"
v-if="trafficAnalysisShow"
:disabled="disabledTrafficAnalysis"
>交通分析</el-button
>
</div> </div>
<el-drawer <el-drawer class="new-dialog" :visible.sync="dialogFormVisible" direction="btt" custom-class="demo-drawer"
class="new-dialog" ref="drawer" :modal="false" :close-on-click-modal="false" v-alterELDialogMarginTop="{ marginTop: '0vh' }"
:visible.sync="dialogFormVisible" width="100%" :wrapperClosable="false" :with-header="false" size="100%">
direction="btt"
custom-class="demo-drawer"
ref="drawer"
:modal="false"
:close-on-click-modal="false"
v-alterELDialogMarginTop="{ marginTop: '0vh' }"
width="100%"
:wrapperClosable="false"
:with-header="false"
size="100%"
>
<div class="formBox"> <div class="formBox">
<el-form ref="form" :model="form" label-width="80px" :inline="true"> <el-form ref="form" :model="form" label-width="80px" :inline="true">
<el-form-item label="组件名称"> <el-form-item label="组件名称">
@ -82,8 +52,9 @@
</div> </div>
</el-drawer> </el-drawer>
<!-- 组件弹框 --> <!-- 组件弹框 -->
<el-dialog :title="componentTitle + '指标组件'" width="40%" :visible.sync="component" :close-on-click-modal ="false" @close="closeComponentForm()"> <el-dialog :title="componentTitle + '指标组件'" width="40%" :visible.sync="component" :close-on-click-modal="false"
<el-form ref="form" :model="componentForm" label-width="150px" > @close="closeComponentForm()">
<el-form ref="form" :model="componentForm" label-width="150px">
<el-form-item label="名称:"> <el-form-item label="名称:">
<el-input v-model="componentForm.componentName"></el-input> <el-input v-model="componentForm.componentName"></el-input>
</el-form-item> </el-form-item>
@ -93,14 +64,11 @@
<el-checkbox v-for="item in typeData" :label="item" :key="item">{{ item }}</el-checkbox> <el-checkbox v-for="item in typeData" :label="item" :key="item">{{ item }}</el-checkbox>
</el-checkbox-group> </el-checkbox-group>
</el-form-item> </el-form-item>
<el-form-item <el-form-item label="数值筛选:" v-if="
label="数值筛选:" componentForm.componentType != 'OD' &&
v-if=" componentForm.componentType != '类型' &&
componentForm.componentType != 'OD' && componentForm.componentType != '流量'
componentForm.componentType != '类型' && ">
componentForm.componentType != '流量'
"
>
<el-input-number v-model="componentForm.startValue"></el-input-number> <el-input-number v-model="componentForm.startValue"></el-input-number>
<el-input-number v-model="componentForm.endValue" style="margin-left:5%"></el-input-number> <el-input-number v-model="componentForm.endValue" style="margin-left:5%"></el-input-number>
</el-form-item> </el-form-item>
@ -112,22 +80,15 @@
</el-form-item> </el-form-item>
<el-form-item label="时间模式:"> <el-form-item label="时间模式:">
<el-select v-model="componentForm.timeMode" placeholder="请选择时间模式"> <el-select v-model="componentForm.timeMode" placeholder="请选择时间模式">
<el-option <el-option label="触发" value="触发"
label="触发" v-if="componentForm.componentType != '延误' && componentForm.componentType != '拥堵'"></el-option>
value="触发" <el-option label="周期时刻" value="周期时刻" v-if="
v-if="componentForm.componentType != '延误' && componentForm.componentType != '拥堵'" componentForm.componentType != '排队数' &&
></el-option> componentForm.componentType != '检测数' &&
<el-option componentForm.componentType != '延误' &&
label="周期时刻" componentForm.componentType != '拥堵' &&
value="周期时刻" componentForm.componentType != '流量'
v-if=" "></el-option>
componentForm.componentType != '排队数' &&
componentForm.componentType != '检测数' &&
componentForm.componentType != '延误' &&
componentForm.componentType != '拥堵' &&
componentForm.componentType != '流量'
"
></el-option>
<el-option label="周期统计" value="周期统计" v-if="componentForm.componentType != 'OD'"> </el-option> <el-option label="周期统计" value="周期统计" v-if="componentForm.componentType != 'OD'"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -168,11 +129,15 @@
<el-form-item label="展现形式:" v-if="componentForm.componentType != 'OD'"> <el-form-item label="展现形式:" v-if="componentForm.componentType != 'OD'">
<el-checkbox-group v-model="componentForm.presentation" @change="handlePresentation"> <el-checkbox-group v-model="componentForm.presentation" @change="handlePresentation">
<el-checkbox label="数值" name="presentation"></el-checkbox> <el-checkbox label="数值" name="presentation"></el-checkbox>
<el-checkbox label="表格" name="presentation" v-if="componentForm.componentType != '拥堵'"></el-checkbox> <el-checkbox label="表格" name="presentation"
v-if="componentForm.componentType != '拥堵'"></el-checkbox>
<el-checkbox label="时间曲线图" name="type"></el-checkbox> <el-checkbox label="时间曲线图" name="type"></el-checkbox>
<el-checkbox label="直方图" name="presentation" v-if="componentForm.componentType == '类型'"></el-checkbox> <el-checkbox label="直方图" name="presentation"
<el-checkbox label="饼状图" name="presentation" v-if="componentForm.componentType == '类型'"></el-checkbox> v-if="componentForm.componentType == '类型'"></el-checkbox>
<el-checkbox label="均值图" name="presentation" v-if="componentForm.componentType != '拥堵'||componentForm.componentType != '流量'||componentForm.componentType != '类型'||componentForm.componentType != '延误'"></el-checkbox> <el-checkbox label="饼状图" name="presentation"
v-if="componentForm.componentType == '类型'"></el-checkbox>
<el-checkbox label="均值图" name="presentation"
v-if="componentForm.componentType != '拥堵' || componentForm.componentType != '流量' || componentForm.componentType != '类型' || componentForm.componentType != '延误'"></el-checkbox>
</el-checkbox-group> </el-checkbox-group>
<!-- <el-checkbox-group v-model="componentForm.presentation" @change="handlePresentation"> <!-- <el-checkbox-group v-model="componentForm.presentation" @change="handlePresentation">
<el-checkbox v-for="item in sectionals" :label="item.graphicName" :key="item.graphicId" >{{item.graphicName}}</el-checkbox> <el-checkbox v-for="item in sectionals" :label="item.graphicName" :key="item.graphicId" >{{item.graphicName}}</el-checkbox>
@ -370,12 +335,15 @@ export default {
videoType: '实时视频' videoType: '实时视频'
}, },
description: '请等待排队', description: '请等待排队',
ipData: '' ipData: '',
componentList:[]
}; };
}, },
// //
destroyed: function() { destroyed: function () {
//console.log("") //console.log("")
// client.publish('msg_stream',JSON.stringify({"msg_flag":-1})) // client.publish('msg_stream',JSON.stringify({"msg_flag":-1}))
//client.end(); //client.end();
@ -420,8 +388,16 @@ export default {
// } // }
} }
}, },
mounted() {}, mounted() { },
methods: { methods: {
//
// handleClick(tab, event) {
// if(tab._props.name=='second'){
// this.$refs.dataBoardRef.getNEW()
// }
// },
/** 创建mqtt */ /** 创建mqtt */
createMqtt() { createMqtt() {
// //
@ -573,7 +549,7 @@ export default {
} else { } else {
this.analysisConfigurationdata = msg; this.analysisConfigurationdata = msg;
} }
} catch (error) {} } catch (error) { }
break; break;
// //
case 'stream' + this.number: case 'stream' + this.number:
@ -584,7 +560,7 @@ export default {
const msg = JSON.parse(temp); const msg = JSON.parse(temp);
// console.log("msg",msg) // console.log("msg",msg)
document.getElementById('mapModule').contentWindow.getData(JSON.stringify(msg)); document.getElementById('mapModule').contentWindow.getData(JSON.stringify(msg));
} catch (error) {} } catch (error) { }
break; break;
// //
case 'trajectory' + this.number: case 'trajectory' + this.number:
@ -595,7 +571,7 @@ export default {
const msg = JSON.parse(temp); const msg = JSON.parse(temp);
// console.log("msg",msg) // console.log("msg",msg)
document.getElementById('mapModule').contentWindow.getGuiJi(JSON.stringify(msg)); document.getElementById('mapModule').contentWindow.getGuiJi(JSON.stringify(msg));
} catch (error) {} } catch (error) { }
break; break;
// //
case 'detection' + this.number: case 'detection' + this.number:
@ -613,7 +589,7 @@ export default {
} }
document.getElementById('mapModule').contentWindow.getChuFa(JSON.stringify(detId)); document.getElementById('mapModule').contentWindow.getChuFa(JSON.stringify(detId));
} }
} catch (error) {} } catch (error) { }
break; break;
case 'trigger-' + this.$route.query.id: case 'trigger-' + this.$route.query.id:
try { try {
@ -623,9 +599,9 @@ 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",msgN) // console.log("trigger_msgN",msgN)
this.triggerListData = msgN; this.triggerListData = msgN;
} catch (error) {} } catch (error) { }
break; break;
case 'cycle_time-' + this.$route.query.id: case 'cycle_time-' + this.$route.query.id:
try { try {
@ -636,7 +612,7 @@ export default {
var detId = []; var detId = [];
const msgN = JSON.parse(temp); const msgN = JSON.parse(temp);
this.cycleTimeData = msgN; this.cycleTimeData = msgN;
} catch (error) {} } catch (error) { }
break; break;
case 'cycle_statistics-' + this.$route.query.id: case 'cycle_statistics-' + this.$route.query.id:
try { try {
@ -647,7 +623,7 @@ export default {
var detId = []; var detId = [];
const msgN = JSON.parse(temp); const msgN = JSON.parse(temp);
this.cycleStatistics = msgN; this.cycleStatistics = msgN;
} catch (error) {} } catch (error) { }
break; break;
} }
this.receiveNews = ''; this.receiveNews = '';
@ -1169,7 +1145,7 @@ export default {
closeComponentForm() { closeComponentForm() {
console.log("111") console.log("111")
this.component = false; this.component = false;
document.getElementById('mapModule').contentWindow.editComponent(''); document.getElementById('mapModule').contentWindow.editComponent('');
}, },
closeForm(form) { closeForm(form) {
@ -1271,19 +1247,25 @@ export default {
} }
.content-box::-webkit-scrollbar { .content-box::-webkit-scrollbar {
display: none; /* Chrome Safari */ display: none;
/* Chrome Safari */
} }
.new-dialog { .new-dialog {
width: 49%; width: 49%;
height: 11%; height: 11%;
left: calc(24vw); left: calc(24vw);
top: 90vh; top: 90vh;
bottom: 0 /* right:auto;; */; bottom: 0
/* right:auto;; */
;
} }
.formBox { .formBox {
margin-top: 20px; margin-top: 20px;
margin-left: 20px; margin-left: 20px;
} }
/* .new-dialog .el-dialog { /* .new-dialog .el-dialog {
width:100%!important; width:100%!important;
margin: 0vh auto !important; margin: 0vh auto !important;
@ -1294,13 +1276,17 @@ export default {
margin: 0 auto 0px !important; margin: 0 auto 0px !important;
/* margin-top: 0vh!important; */ /* margin-top: 0vh!important; */
} }
.new-dialog .el-dialog__wrapper::-webkit-scrollbar { .new-dialog .el-dialog__wrapper::-webkit-scrollbar {
display: none; /* Chrome Safari */ display: none;
/* Chrome Safari */
} }
.new-dialog .customWidth { .new-dialog .customWidth {
width: 100%; width: 100%;
min-width: 150px; min-width: 150px;
} }
.mapModuleApp { .mapModuleApp {
/* width:100%; */ /* width:100%; */
width: 1600px; width: 1600px;
@ -1308,6 +1294,7 @@ export default {
display: inline-block; display: inline-block;
border: 1px soild #eee; border: 1px soild #eee;
} }
.el-drawer.btt, .el-drawer.btt,
.el-drawer.ttb { .el-drawer.ttb {
width: 100%; width: 100%;
@ -1325,11 +1312,13 @@ export default {
height: 100%; height: 100%;
width: 100%; width: 100%;
} }
.videoAnalysis { .videoAnalysis {
position: absolute; position: absolute;
right: 200px; right: 200px;
top: 17px; top: 17px;
} }
.trafficAnalysis { .trafficAnalysis {
position: absolute; position: absolute;
right: 100px; right: 100px;