Compare commits

..

No commits in common. "50ae7f7e6c71ffc8022c17104f1cd97b91690446" and "e4a5f358d02be0512d85545c420b66c0ebe5461a" have entirely different histories.

13 changed files with 62 additions and 139 deletions

View File

@ -1,24 +0,0 @@
{
"code": 200,
"msg": "成功",
"data": {
"analysisSettingId": "e1af117da47e402d9b30e7cc499a158f",
"cameraPositionLongitude": "1",
"cameraPositionLatitude": "3",
"licensePlateRecognitionSwitch": "1",
"parkingDisplacement": 1,
"parkingSpeed": 6,
"coordinateTransformationId": "7ab32c790ec34b95a58e18b8bad8e46c",
"utmArea": 10,
"hemisphere": "南",
"coordinateTransformation": "其他",
"pointData": [{
"pointId": "b0c734bfa81f41d8909b74b983429146",
"pointName": "点2",
"longitude": "1",
"latitude": "1",
"imageXCoordinate": "17.17",
"imageYCoordinate": "1065.16"
}]
}
}

View File

@ -164,9 +164,7 @@ export default {
watch: { watch: {
list: { list: {
handler(newVal) { handler(newVal) {
console.log("newVal",newVal) if (newVal.length != 0) {
if (newVal.length!=0) {
// x // x
this.xData = newVal.map(val => { this.xData = newVal.map(val => {
return val.time; return val.time;
@ -305,13 +303,7 @@ 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) {
console.log("1111111")
this.$nextTick(() => {
this.drawLine();
});
} }
this.drawLine() this.drawLine()

View File

@ -14,7 +14,7 @@
<div v-if="msg"> <div v-if="msg">
<!-- 触发 --> <!-- 触发 -->
<el-table :data="msg" style="width: 100%" v-if="triggerType == '触发' "> <el-table :data="msg" style="width: 100%" v-if="type == '触发' ">
<!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column> --> <!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column> -->
<!-- <el-table-column align="center" prop="graphical_id" label="区域编号"></el-table-column> --> <!-- <el-table-column align="center" prop="graphical_id" label="区域编号"></el-table-column> -->
<el-table-column align="center" prop="name" label="区域名称"></el-table-column> <el-table-column align="center" prop="name" label="区域名称"></el-table-column>
@ -48,7 +48,7 @@
</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="空间平均速度"></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="type == '周期时刻' ">
<!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column> --> <!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column> -->
<!-- <el-table-column align="center" prop="graphical_id" label="区域编号"></el-table-column> --> <!-- <el-table-column align="center" prop="graphical_id" label="区域编号"></el-table-column> -->
<el-table-column align="center" prop="name" label="区域名称"></el-table-column> <el-table-column align="center" prop="name" label="区域名称"></el-table-column>
@ -83,7 +83,7 @@
<el-table-column align="center" prop="speed" label="空间平均速度"></el-table-column> <el-table-column align="center" prop="speed" label="空间平均速度"></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="type == '周期统计'">
<!-- <el-table-column align="center" prop="zone_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="name" label="区域名称"></el-table-column>
<el-table-column align="center" prop="time" label="时间戳"></el-table-column> <el-table-column align="center" prop="time" label="时间戳"></el-table-column>
@ -161,7 +161,7 @@ export default {
return []; return [];
} }
}, },
triggerType: { type: {
type: String type: String
}, },
}, },

View File

@ -13,7 +13,7 @@
<!-- 触发 --> <!-- 触发 -->
<div v-if="msg"> <div v-if="msg">
<el-table :data="msg" style="width: 100%" v-if="triggerType == '触发'"> <el-table :data="msg" style="width: 100%" v-if="type == '触发'">
<!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column> <!-- <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="zone_id" label="区域编号"></el-table-column> -->
<el-table-column align="center" prop="name" label="区域名称"></el-table-column> <el-table-column align="center" prop="name" label="区域名称"></el-table-column>
@ -47,7 +47,7 @@
<!-- 周期统计 --> <!-- 周期统计 -->
<el-table :data="msg" style="width: 100%" v-if="triggerType == '周期统计'"> <el-table :data="msg" style="width: 100%" v-if="type == '周期统计'">
<el-table-column align="center" prop="gate_id" label="断面编号"></el-table-column> <el-table-column align="center" prop="gate_id" label="断面编号"></el-table-column>
<el-table-column align="center" prop="name" label="断面名称"></el-table-column> <el-table-column align="center" prop="name" label="断面名称"></el-table-column>
<el-table-column align="center" prop="timestamp" label="时间戳"></el-table-column> <el-table-column align="center" prop="timestamp" label="时间戳"></el-table-column>
@ -128,7 +128,7 @@ export default {
return []; return [];
} }
}, },
triggerType: { type: {
type: String type: String
} }
}, },

View File

@ -42,7 +42,7 @@
</div> </div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '排队数'"> <div style="font-size: 30px; font-weight: bold" 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">{{ queue }}</span> <span style="font-size: 30px; font-weight: bold">{{ dataArr[0].n_queue }}</span>
</div> </div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '检测数'"> <div style="font-size: 30px; font-weight: bold" v-if="title == '检测数'">
<span style="font-size: 15px;">检测数</span><br /> <span style="font-size: 15px;">检测数</span><br />
@ -76,16 +76,15 @@
</div> </div>
</div> </div>
<div v-if="pageType == '断面'" style="margin-bottom: 20px; border: 1px solid #e4e7ed"> <div v-if="pageType == '断面'" style="margin-bottom: 20px; border: 1px solid #e4e7ed">
<tableShow :msg="dataArr" :triggerType="triggerType" /> <tableShow :msg="dataArr" :type="triggerType" />
</div> </div>
<div v-if="pageType == '区域'"> <div v-if="pageType == '区域'">
<regionTable :msg="dataArr" :triggerType="triggerType" /> <regionTable :msg="dataArr" :type="triggerType" />
</div> </div>
</div> </div>
<div class="border" v-if="echartArr.includes('曲线图')"> <div class="border" v-if="echartArr.includes('曲线图')">
<detailDialog /> <detailDialog />
<lineChart <lineChart
:componentName="componentName" :componentName="componentName"
:chartName="chartName" :chartName="chartName"
:pageType="pageType" :pageType="pageType"
@ -143,9 +142,7 @@ export default {
flow: 0, flow: 0,
isRefer: true, isRefer: true,
valueShow: {}, valueShow: {}
//
queue:'',
}; };
}, },
created() { created() {
@ -153,23 +150,6 @@ export default {
}, },
methods: { methods: {
// //
getNewQueue(dataArr){
console.log("计算类型的数值",dataArr)
// 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(dataArr[0].n_queue){
this.queue = dataArr[0].n_queue
}else if(dataArr[0].ave_queue){
this.queue = dataArr[0].ave_queue
}else if(dataArr[0].timeMode=='周期时刻'){
}
}
}, },
computed: {}, computed: {},
@ -179,7 +159,6 @@ export default {
dataArr: { dataArr: {
handler(newVal) { handler(newVal) {
console.log('dataArr', newVal); console.log('dataArr', newVal);
this.getNewQueue(newVal)
}, },
immediate: true immediate: true
@ -187,7 +166,6 @@ export default {
typeValue: { typeValue: {
handler(newVal) { handler(newVal) {
this.total = 0; this.total = 0;
if (this.title == '类型') { if (this.title == '类型') {
newVal.type_data.forEach(ele => { newVal.type_data.forEach(ele => {
this.total += ele.quantity; this.total += ele.quantity;

View File

@ -528,7 +528,6 @@ destroyed: function () {
}); });
}) })
this.videoList=arr this.videoList=arr
this.videoTypeForm.videoType = this.videoList[0].type
if(this.videoList.length=='0'){ if(this.videoList.length=='0'){
this.videoTypeShow = true this.videoTypeShow = true
}else{ }else{

View File

@ -216,7 +216,6 @@ export default {
}; };
</script> </script>
<style scoped> <style scoped>
.test-div i { .test-div i {
font-size: 25px; font-size: 25px;

View File

@ -737,6 +737,7 @@ export default {
OnSceneload(newV) { OnSceneload(newV) {
var ip = window.location.host; var ip = window.location.host;
this.ipData = 'http://' + ip.split(':')[0] + ':5000'; this.ipData = 'http://' + ip.split(':')[0] + ':5000';
document.getElementById('mapModule').contentWindow.getIpData(this.ipData);
this.$refs.analysisWeb.contentWindow.getIpData('http://172.16.1.168:5000'); this.$refs.analysisWeb.contentWindow.getIpData('http://172.16.1.168:5000');
// this.$refs.analysisWeb.contentWindow.getDianwei(this.$route.query.id); // this.$refs.analysisWeb.contentWindow.getDianwei(this.$route.query.id);
this.unityDone = true; this.unityDone = true;

View File

@ -89,7 +89,7 @@ export default {
} }
}, },
// //
cycleStatisticsData: { cycleStatistics: {
type: Array, type: Array,
default() { default() {
return []; return [];
@ -346,36 +346,30 @@ export default {
// }, // },
created() { created() {
// this.getNew() this.getNew()
}, },
methods: { methods: {
getNew() { getNew() {
// this.idVal = ; // this.idVal = ;
getComponentSection({ VideoId: this.$route.query.id ,Number:10}).then(res => { getComponentSection({ VideoId: this.$route.query.id }).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
console.log("res.data.data",res.data.data)
this.componentList = res.data.data; this.componentList = res.data.data;
this.siftData(); this.siftData();
} }
}); });
}, },
siftData() { siftData() {
this.sectionArr=[] // this.sectionArr=[]
this.sectionData=[] // this.sectionData=[]
this.componentList.forEach(val => { this.componentList.forEach(val => {
// var newSectionArr = [] this.sectionArr.push(val.combinationName);
// newSectionArr.push(val.combinationName)
// this.sectionArr = newSectionArr
this.sectionArr.push(val.combinationName)
this.sectionArr = Array.from(new Set(this.sectionArr)); this.sectionArr = Array.from(new Set(this.sectionArr));
}); });
// var newSectionData = []
this.sectionData = this.sectionArr.map(item => { this.sectionData = this.sectionArr.map(item => {
item = { title: item, children: [] }; item = { title: item, children: [] };
this.acticveName = []; this.acticveName = [];
this.componentList.forEach(val => { this.componentList.forEach(val => {
if (item.title == val.combinationName) { if (item.title == val.combinationName) {
console.log("val.combinationName",val.combinationName)
item.children.push(val); item.children.push(val);
} }
this.acticveName.push(val.analogAreaComponentId); this.acticveName.push(val.analogAreaComponentId);
@ -405,19 +399,19 @@ export default {
} }
} }
}, },
// channge(oldVal, newVal){ channge(oldVal, newVal) {
// console.log("old",oldVal) console.log("old", oldVal)
// console.log("newVal",newVal) console.log("newVal", newVal)
// if(oldVal=='second'){ if (oldVal == 'second') {
// this.sectionArr=[] this.sectionArr = []
// this.sectionData=[] this.sectionData = []
// this.getNew() this.getNew()
// }else if(newVal=='second'){ } else if (newVal == 'second') {
// this.sectionArr=[] this.sectionArr = []
// this.sectionData=[] this.sectionData = []
// this.getNew() this.getNew()
// } }
// } }
// //
}, },
@ -435,7 +429,7 @@ export default {
this.triggerList = newVal; this.triggerList = newVal;
// //
// console.log(newVal, 'triggerlistData'); // console.log(newVal, 'triggerlistData');
console.log(this.componentList, 'this.componentList');
this.componentList.forEach(ele => { this.componentList.forEach(ele => {
if (ele.trigger == undefined && ele.timeMode == '触发') { if (ele.trigger == undefined && ele.timeMode == '触发') {
ele.trigger = []; ele.trigger = [];
@ -445,7 +439,6 @@ export default {
if (ele.trigger.length == 10) { if (ele.trigger.length == 10) {
ele.trigger.pop(); ele.trigger.pop();
} else { } else {
console.log("item",item)
item.time = item.time.split('.')[0]; item.time = item.time.split('.')[0];
// //
if (item.type_data != null) { if (item.type_data != null) {
@ -472,8 +465,8 @@ export default {
newVal.forEach(item => { newVal.forEach(item => {
if ( if (
ele.analogAreaComponentId == item.component_id && ele.analogAreaComponentId == item.component_id &&
ele.timeMode == '周期时刻' ele.timeMode == '周期时刻' &&
ele.analogAreaGraphId == item.graphical_id
) { ) {
if (ele.cycleTimeData.length == 10) { if (ele.cycleTimeData.length == 10) {
ele.cycleTimeData.slice(ele.cycleTimeData.length - 1, 0); ele.cycleTimeData.slice(ele.cycleTimeData.length - 1, 0);
@ -498,26 +491,25 @@ export default {
// console.log(newVal,''); // console.log(newVal,'');
// } // }
// } // }
cycleStatisticsData: { cycleStatistics: {
handler(newVal) { handler(newVal) {
if (newVal.length != 0 && this.sectionData) { if (newVal.length != 0 && this.sectionData) {
this.componentList.forEach(ele => { this.componentList.forEach(ele => {
if (ele.cycleStatisticsData == undefined && ele.timeMode == '周期统计') { if (ele.cycleStatistics == undefined && ele.timeMode == '周期统计') {
ele.cycleStatisticsData = []; ele.cycleStatistics = [];
} }
newVal.forEach(item => { newVal.forEach(item => {
if (ele.analogAreaComponentId == item.component_id && ele.timeMode == '周期统计') { if (ele.analogAreaComponentId == item.component_id && ele.timeMode == '周期统计') {
if (ele.cycleStatisticsData.length == 10) { if (ele.cycleStatistics.length == 10) {
ele.cycleStatisticsData.pop(); ele.cycleStatistics.pop();
} else { } else {
item.time = item.time.split('.')[0]; item.time = item.time.split('.')[0];
if (item.type_data != null) { if (item.type_data != null) {
// //
this.typeCycleStatistics = item; this.typeCycleStatistics = item;
} }
ele.cycleStatisticsData.unshift(item); ele.cycleStatistics.unshift(item);
} }
} }
}); });
@ -528,7 +520,7 @@ export default {
// activeName: { // activeName: {
// handler(newVal) { // handler(newVal) {
// if (newVal == "second") { // if (newVal == "second") {
// getComponentSection({ VideoId: this.$route.query.id ,Number:10}).then(res => { // getComponentSection({ VideoId: this.$route.query.id }).then(res => {
// if (res.data.code == 200) { // if (res.data.code == 200) {
// this.componentList = res.data.data; // this.componentList = res.data.data;
// this.siftData(); // this.siftData();

View File

@ -14,7 +14,7 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="数据看板" name="second" > <el-tab-pane label="数据看板" name="second" >
<dataBoard ref="dataBoardRef" :activeName="activeName" :triggerData="triggerData" :triggerListData="triggerListData" <dataBoard ref="dataBoardRef" :activeName="activeName" :triggerData="triggerData" :triggerListData="triggerListData"
:cycleTimeData="cycleTimeData" :cycleStatisticsData="cycleStatisticsData" ></dataBoard> :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>
@ -69,8 +69,8 @@
componentForm.componentType != '类型' && componentForm.componentType != '类型' &&
componentForm.componentType != '流量' componentForm.componentType != '流量'
"> ">
<el-input-number v-model="componentForm.startValue" :min="0"></el-input-number> <el-input-number v-model="componentForm.startValue"></el-input-number>
<el-input-number v-model="componentForm.endValue" :min="1" 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>
<el-form-item label="流量类型:" v-if="componentForm.componentType == '流量'"> <el-form-item label="流量类型:" v-if="componentForm.componentType == '流量'">
<el-radio-group v-model="componentForm.FlowType"> <el-radio-group v-model="componentForm.FlowType">
@ -87,7 +87,6 @@
componentForm.componentType != '检测数' && componentForm.componentType != '检测数' &&
componentForm.componentType != '延误' && componentForm.componentType != '延误' &&
componentForm.componentType != '拥堵' && componentForm.componentType != '拥堵' &&
componentForm.componentType != '流量'&&
componentForm.componentType != '流量' componentForm.componentType != '流量'
"></el-option> "></el-option>
<el-option label="周期统计" value="周期统计" v-if="componentForm.componentType != 'OD'"> </el-option> <el-option label="周期统计" value="周期统计" v-if="componentForm.componentType != 'OD'"> </el-option>
@ -109,9 +108,7 @@
<el-option label="分钟" value="分钟"></el-option> <el-option label="分钟" value="分钟"></el-option>
<el-option label="小时" value="小时"></el-option> <el-option label="小时" value="小时"></el-option>
</el-select> </el-select>
<!-- <el-slider v-model="componentForm.cycleInterval" :max="max" :min="min"> </el-slider> --> <el-slider v-model="componentForm.cycleInterval" :max="max"> </el-slider>
<el-slider v-model="componentForm.cycleInterval" :max="100" :min="1" v-if="componentForm.company != '小时'"> </el-slider>
<el-slider v-model="componentForm.cycleInterval" :max="24" :min="1" v-if="componentForm.company == '小时'"> </el-slider>
</div> </div>
</el-form-item> </el-form-item>
<!-- <el-form-item label="单位:" ></el-form-item> --> <!-- <el-form-item label="单位:" ></el-form-item> -->
@ -145,19 +142,12 @@
<!-- <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>
</el-checkbox-group> --> </el-checkbox-group> -->
<!-- <el-tag type="warning" ></el-tag> -->
<!-- <el-alert v-if="componentForm.componentType == '速度'"
title="请至分析配置设置坐标转换"
type="info"
show-icon>
</el-alert> -->
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="onSubmitComponent(componentForm)">确认</el-button> <el-button type="primary" @click="onSubmitComponent(componentForm)">确认</el-button>
<el-button @click="closeComponent(componentForm)">取消</el-button> <el-button @click="closeComponent(componentForm)">取消</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-dialog> </el-dialog>
@ -189,8 +179,7 @@ var client;
export default { export default {
data() { data() {
return { return {
max:'100', max: '',
min:'1',
receiveNews: '', receiveNews: '',
topicSends: ['img0', 'stream0', 'trajectory0', 'detection0'], topicSends: ['img0', 'stream0', 'trajectory0', 'detection0'],
trajectory: false, // trajectory: false, //
@ -256,7 +245,7 @@ export default {
componentName: '', componentName: '',
componentParameterId: '01888e05fac246b29e3a19a27c3d2ab0', componentParameterId: '01888e05fac246b29e3a19a27c3d2ab0',
// //
cycleInterval: 1, cycleInterval: '',
startSectionIds: '', startSectionIds: '',
startSectionNames: '', startSectionNames: '',
endSectionIds: '', endSectionIds: '',
@ -328,7 +317,7 @@ export default {
// //
cycleTimeData: [], cycleTimeData: [],
// //
cycleStatisticsData: [], cycleStatistics: [],
// //
videoType: '', videoType: '',
videoAnalysisShow: false, videoAnalysisShow: false,
@ -402,13 +391,12 @@ export default {
mounted() { }, mounted() { },
methods: { methods: {
// //
handleClick: function(tab, event) { handleClick(tab, event) {
var that = this console.log(tab,event);
if(tab._props.name=='second'){ if(tab._props.name=='second'){
that.$nextTick(()=>{ this.$refs.dataBoardRef.getNew()
that.$refs.dataBoardRef.getNew()
})
} }
}, },
/** 创建mqtt */ /** 创建mqtt */
createMqtt() { createMqtt() {
@ -634,7 +622,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);
this.cycleStatisticsData = msgN; this.cycleStatistics = msgN;
} catch (error) { } } catch (error) { }
break; break;
} }
@ -706,7 +694,7 @@ export default {
} }
} }
this.componentForm.componentParameterId = res.data.data.componentParameterId; this.componentForm.componentParameterId = res.data.data.componentParameterId;
this.componentForm.cycleInterval = parseInt(res.data.data.cycleInterval); this.componentForm.cycleInterval = res.data.data.cycleInterval;
this.componentForm.startSectionIds = res.data.data.startSectionIds; this.componentForm.startSectionIds = res.data.data.startSectionIds;
// this.componentForm.FlowType = res.data.data.flowType; // this.componentForm.FlowType = res.data.data.flowType;
this.componentForm.startSectionNames = res.data.data.startSectionNames; this.componentForm.startSectionNames = res.data.data.startSectionNames;
@ -808,9 +796,7 @@ export default {
} }
this.componentForm.componentName = res.data.data.componentName; this.componentForm.componentName = res.data.data.componentName;
this.componentForm.componentParameterId = res.data.data.componentParameterId; this.componentForm.componentParameterId = res.data.data.componentParameterId;
this.componentForm.cycleInterval = parseInt(res.data.data.cycleInterval); this.componentForm.cycleInterval = res.data.data.cycleInterval;
this.componentForm.startSectionIds = res.data.data.startSectionIds; this.componentForm.startSectionIds = res.data.data.startSectionIds;
this.componentForm.startSectionNames = res.data.data.startSectionNames; this.componentForm.startSectionNames = res.data.data.startSectionNames;
this.componentForm.endSectionIds = res.data.data.endSectionIds; this.componentForm.endSectionIds = res.data.data.endSectionIds;