Compare commits
6 Commits
e4a5f358d0
...
50ae7f7e6c
| Author | SHA1 | Date |
|---|---|---|
|
|
50ae7f7e6c | |
|
|
835e76796e | |
|
|
b527a2c23c | |
|
|
9faec65a46 | |
|
|
fa47a8280c | |
|
|
9b76524fd3 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"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"
|
||||
}]
|
||||
}
|
||||
}
|
||||
|
|
@ -164,7 +164,9 @@ export default {
|
|||
watch: {
|
||||
list: {
|
||||
handler(newVal) {
|
||||
if (newVal.length != 0) {
|
||||
console.log("newVal",newVal)
|
||||
if (newVal.length!=0) {
|
||||
|
||||
// x轴的数据
|
||||
this.xData = newVal.map(val => {
|
||||
return val.time;
|
||||
|
|
@ -303,7 +305,13 @@ export default {
|
|||
return val.ave_delay;
|
||||
});
|
||||
} 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()
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
<div v-if="msg">
|
||||
<!-- 触发 -->
|
||||
<el-table :data="msg" style="width: 100%" v-if="type == '触发' ">
|
||||
<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="graphical_id" 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 align="center" prop="speed" label="空间平均速度"></el-table-column>
|
||||
</el-table>
|
||||
<el-table :data="msg" style="width: 100%" v-if="type == '周期时刻' ">
|
||||
<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="graphical_id" 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>
|
||||
<!-- 周期统计 -->
|
||||
<el-table :data="msg" style="width: 100%" v-if="type == '周期统计'">
|
||||
<el-table :data="msg" style="width: 100%" v-if="triggerType == '周期统计'">
|
||||
<!-- <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>
|
||||
|
|
@ -161,7 +161,7 @@ export default {
|
|||
return [];
|
||||
}
|
||||
},
|
||||
type: {
|
||||
triggerType: {
|
||||
type: String
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
<!-- 触发 -->
|
||||
<div v-if="msg">
|
||||
<el-table :data="msg" style="width: 100%" v-if="type == '触发'">
|
||||
<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>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
|
||||
|
||||
<!-- 周期统计 -->
|
||||
<el-table :data="msg" style="width: 100%" v-if="type == '周期统计'">
|
||||
<el-table :data="msg" style="width: 100%" v-if="triggerType == '周期统计'">
|
||||
<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="timestamp" label="时间戳"></el-table-column>
|
||||
|
|
@ -128,7 +128,7 @@ export default {
|
|||
return [];
|
||||
}
|
||||
},
|
||||
type: {
|
||||
triggerType: {
|
||||
type: String
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@
|
|||
</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_queue }}</span>
|
||||
<span style="font-size: 30px; font-weight: bold">{{ queue }}</span>
|
||||
</div>
|
||||
<div style="font-size: 30px; font-weight: bold" v-if="title == '检测数'">
|
||||
<span style="font-size: 15px;">检测数</span><br />
|
||||
|
|
@ -76,15 +76,16 @@
|
|||
</div>
|
||||
</div>
|
||||
<div v-if="pageType == '断面'" style="margin-bottom: 20px; border: 1px solid #e4e7ed">
|
||||
<tableShow :msg="dataArr" :type="triggerType" />
|
||||
<tableShow :msg="dataArr" :triggerType="triggerType" />
|
||||
</div>
|
||||
<div v-if="pageType == '区域'">
|
||||
<regionTable :msg="dataArr" :type="triggerType" />
|
||||
<regionTable :msg="dataArr" :triggerType="triggerType" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="border" v-if="echartArr.includes('曲线图')">
|
||||
<detailDialog />
|
||||
<lineChart
|
||||
|
||||
:componentName="componentName"
|
||||
:chartName="chartName"
|
||||
:pageType="pageType"
|
||||
|
|
@ -142,7 +143,9 @@ export default {
|
|||
flow: 0,
|
||||
isRefer: true,
|
||||
|
||||
valueShow: {}
|
||||
valueShow: {},
|
||||
//排队数
|
||||
queue:'',
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
|
@ -150,6 +153,23 @@ export default {
|
|||
},
|
||||
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: {},
|
||||
|
|
@ -159,6 +179,7 @@ export default {
|
|||
dataArr: {
|
||||
handler(newVal) {
|
||||
console.log('dataArr', newVal);
|
||||
this.getNewQueue(newVal)
|
||||
},
|
||||
|
||||
immediate: true
|
||||
|
|
@ -166,6 +187,7 @@ export default {
|
|||
typeValue: {
|
||||
handler(newVal) {
|
||||
this.total = 0;
|
||||
|
||||
if (this.title == '类型') {
|
||||
newVal.type_data.forEach(ele => {
|
||||
this.total += ele.quantity;
|
||||
|
|
|
|||
|
|
@ -528,6 +528,7 @@ destroyed: function () {
|
|||
});
|
||||
})
|
||||
this.videoList=arr
|
||||
this.videoTypeForm.videoType = this.videoList[0].type
|
||||
if(this.videoList.length=='0'){
|
||||
this.videoTypeShow = true
|
||||
}else{
|
||||
|
|
|
|||
|
|
@ -216,6 +216,7 @@ export default {
|
|||
};
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped>
|
||||
.test-div i {
|
||||
font-size: 25px;
|
||||
|
|
|
|||
|
|
@ -737,7 +737,6 @@ export default {
|
|||
OnSceneload(newV) {
|
||||
var ip = window.location.host;
|
||||
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.getDianwei(this.$route.query.id);
|
||||
this.unityDone = true;
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ export default {
|
|||
}
|
||||
},
|
||||
//周期统计
|
||||
cycleStatistics: {
|
||||
cycleStatisticsData: {
|
||||
type: Array,
|
||||
default() {
|
||||
return [];
|
||||
|
|
@ -346,30 +346,36 @@ export default {
|
|||
|
||||
// },
|
||||
created() {
|
||||
this.getNew()
|
||||
// this.getNew()
|
||||
},
|
||||
methods: {
|
||||
getNew() {
|
||||
// this.idVal = ;
|
||||
getComponentSection({ VideoId: this.$route.query.id }).then(res => {
|
||||
if (res.data.code == 200) {
|
||||
this.componentList = res.data.data;
|
||||
this.siftData();
|
||||
}
|
||||
});
|
||||
getComponentSection({ VideoId: this.$route.query.id ,Number:10}).then(res => {
|
||||
if (res.data.code == 200) {
|
||||
console.log("res.data.data",res.data.data)
|
||||
this.componentList = res.data.data;
|
||||
this.siftData();
|
||||
}
|
||||
});
|
||||
},
|
||||
siftData() {
|
||||
// this.sectionArr=[]
|
||||
// this.sectionData=[]
|
||||
this.sectionArr=[]
|
||||
this.sectionData=[]
|
||||
this.componentList.forEach(val => {
|
||||
this.sectionArr.push(val.combinationName);
|
||||
// var newSectionArr = []
|
||||
// newSectionArr.push(val.combinationName)
|
||||
// this.sectionArr = newSectionArr
|
||||
this.sectionArr.push(val.combinationName)
|
||||
this.sectionArr = Array.from(new Set(this.sectionArr));
|
||||
});
|
||||
// var newSectionData = []
|
||||
this.sectionData = this.sectionArr.map(item => {
|
||||
item = { title: item, children: [] };
|
||||
this.acticveName = [];
|
||||
this.componentList.forEach(val => {
|
||||
if (item.title == val.combinationName) {
|
||||
console.log("val.combinationName",val.combinationName)
|
||||
item.children.push(val);
|
||||
}
|
||||
this.acticveName.push(val.analogAreaComponentId);
|
||||
|
|
@ -399,19 +405,19 @@ export default {
|
|||
}
|
||||
}
|
||||
},
|
||||
channge(oldVal, newVal) {
|
||||
console.log("old", oldVal)
|
||||
console.log("newVal", newVal)
|
||||
if (oldVal == 'second') {
|
||||
this.sectionArr = []
|
||||
this.sectionData = []
|
||||
this.getNew()
|
||||
} else if (newVal == 'second') {
|
||||
this.sectionArr = []
|
||||
this.sectionData = []
|
||||
this.getNew()
|
||||
}
|
||||
}
|
||||
// channge(oldVal, newVal){
|
||||
// console.log("old",oldVal)
|
||||
// console.log("newVal",newVal)
|
||||
// if(oldVal=='second'){
|
||||
// this.sectionArr=[]
|
||||
// this.sectionData=[]
|
||||
// this.getNew()
|
||||
// }else if(newVal=='second'){
|
||||
// this.sectionArr=[]
|
||||
// this.sectionData=[]
|
||||
// this.getNew()
|
||||
// }
|
||||
// }
|
||||
|
||||
// 触发数据的类型数值
|
||||
},
|
||||
|
|
@ -429,7 +435,7 @@ export default {
|
|||
this.triggerList = newVal;
|
||||
// 触发数据
|
||||
// console.log(newVal, 'triggerlistData');
|
||||
|
||||
console.log(this.componentList, 'this.componentList');
|
||||
this.componentList.forEach(ele => {
|
||||
if (ele.trigger == undefined && ele.timeMode == '触发') {
|
||||
ele.trigger = [];
|
||||
|
|
@ -439,6 +445,7 @@ export default {
|
|||
if (ele.trigger.length == 10) {
|
||||
ele.trigger.pop();
|
||||
} else {
|
||||
console.log("item",item)
|
||||
item.time = item.time.split('.')[0];
|
||||
// 该时间的触发数据
|
||||
if (item.type_data != null) {
|
||||
|
|
@ -465,8 +472,8 @@ export default {
|
|||
newVal.forEach(item => {
|
||||
if (
|
||||
ele.analogAreaComponentId == item.component_id &&
|
||||
ele.timeMode == '周期时刻' &&
|
||||
ele.analogAreaGraphId == item.graphical_id
|
||||
ele.timeMode == '周期时刻'
|
||||
|
||||
) {
|
||||
if (ele.cycleTimeData.length == 10) {
|
||||
ele.cycleTimeData.slice(ele.cycleTimeData.length - 1, 0);
|
||||
|
|
@ -491,25 +498,26 @@ export default {
|
|||
// console.log(newVal,'周期统计');
|
||||
// }
|
||||
// }
|
||||
cycleStatistics: {
|
||||
cycleStatisticsData: {
|
||||
handler(newVal) {
|
||||
|
||||
if (newVal.length != 0 && this.sectionData) {
|
||||
this.componentList.forEach(ele => {
|
||||
if (ele.cycleStatistics == undefined && ele.timeMode == '周期统计') {
|
||||
ele.cycleStatistics = [];
|
||||
if (ele.cycleStatisticsData == undefined && ele.timeMode == '周期统计') {
|
||||
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 {
|
||||
|
||||
item.time = item.time.split('.')[0];
|
||||
if (item.type_data != null) {
|
||||
//周期时刻的类型数据
|
||||
this.typeCycleStatistics = item;
|
||||
}
|
||||
ele.cycleStatistics.unshift(item);
|
||||
ele.cycleStatisticsData.unshift(item);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -520,7 +528,7 @@ export default {
|
|||
// activeName: {
|
||||
// handler(newVal) {
|
||||
// if (newVal == "second") {
|
||||
// getComponentSection({ VideoId: this.$route.query.id }).then(res => {
|
||||
// getComponentSection({ VideoId: this.$route.query.id ,Number:10}).then(res => {
|
||||
// if (res.data.code == 200) {
|
||||
// this.componentList = res.data.data;
|
||||
// this.siftData();
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
</el-tab-pane>
|
||||
<el-tab-pane label="数据看板" name="second" >
|
||||
<dataBoard ref="dataBoardRef" :activeName="activeName" :triggerData="triggerData" :triggerListData="triggerListData"
|
||||
:cycleTimeData="cycleTimeData" :cycleStatistics="cycleStatistics"></dataBoard>
|
||||
:cycleTimeData="cycleTimeData" :cycleStatisticsData="cycleStatisticsData" ></dataBoard>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="分析配置" name="third">
|
||||
<analysisConfiguration :analysisConfigurationdata="analysisConfigurationdata"></analysisConfiguration>
|
||||
|
|
@ -69,8 +69,8 @@
|
|||
componentForm.componentType != '类型' &&
|
||||
componentForm.componentType != '流量'
|
||||
">
|
||||
<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.startValue" :min="0"></el-input-number>
|
||||
<el-input-number v-model="componentForm.endValue" :min="1" style="margin-left:5%"></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label="流量类型:" v-if="componentForm.componentType == '流量'">
|
||||
<el-radio-group v-model="componentForm.FlowType">
|
||||
|
|
@ -87,6 +87,7 @@
|
|||
componentForm.componentType != '检测数' &&
|
||||
componentForm.componentType != '延误' &&
|
||||
componentForm.componentType != '拥堵' &&
|
||||
componentForm.componentType != '流量'&&
|
||||
componentForm.componentType != '流量'
|
||||
"></el-option>
|
||||
<el-option label="周期统计" value="周期统计" v-if="componentForm.componentType != 'OD'"> </el-option>
|
||||
|
|
@ -108,7 +109,9 @@
|
|||
<el-option label="分钟" value="分钟"></el-option>
|
||||
<el-option label="小时" value="小时"></el-option>
|
||||
</el-select>
|
||||
<el-slider v-model="componentForm.cycleInterval" :max="max"> </el-slider>
|
||||
<!-- <el-slider v-model="componentForm.cycleInterval" :max="max" :min="min"> </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>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="单位:" ></el-form-item> -->
|
||||
|
|
@ -142,12 +145,19 @@
|
|||
<!-- <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-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-button type="primary" @click="onSubmitComponent(componentForm)">确认</el-button>
|
||||
<el-button @click="closeComponent(componentForm)">取消</el-button>
|
||||
</el-form-item>
|
||||
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
|
||||
|
|
@ -179,7 +189,8 @@ var client;
|
|||
export default {
|
||||
data() {
|
||||
return {
|
||||
max: '',
|
||||
max:'100',
|
||||
min:'1',
|
||||
receiveNews: '',
|
||||
topicSends: ['img0', 'stream0', 'trajectory0', 'detection0'],
|
||||
trajectory: false, //轨迹
|
||||
|
|
@ -245,7 +256,7 @@ export default {
|
|||
componentName: '',
|
||||
componentParameterId: '01888e05fac246b29e3a19a27c3d2ab0',
|
||||
//周期间隔
|
||||
cycleInterval: '',
|
||||
cycleInterval: 1,
|
||||
startSectionIds: '',
|
||||
startSectionNames: '',
|
||||
endSectionIds: '',
|
||||
|
|
@ -317,7 +328,7 @@ export default {
|
|||
//周期时刻
|
||||
cycleTimeData: [],
|
||||
//周期统计
|
||||
cycleStatistics: [],
|
||||
cycleStatisticsData: [],
|
||||
//视频类型
|
||||
videoType: '',
|
||||
videoAnalysisShow: false,
|
||||
|
|
@ -391,12 +402,13 @@ export default {
|
|||
mounted() { },
|
||||
methods: {
|
||||
// 数据看板的标签点击
|
||||
handleClick(tab, event) {
|
||||
console.log(tab,event);
|
||||
handleClick: function(tab, event) {
|
||||
var that = this
|
||||
if(tab._props.name=='second'){
|
||||
this.$refs.dataBoardRef.getNew()
|
||||
that.$nextTick(()=>{
|
||||
that.$refs.dataBoardRef.getNew()
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
/** 创建mqtt */
|
||||
createMqtt() {
|
||||
|
|
@ -622,7 +634,7 @@ export default {
|
|||
const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串
|
||||
var detId = [];
|
||||
const msgN = JSON.parse(temp);
|
||||
this.cycleStatistics = msgN;
|
||||
this.cycleStatisticsData = msgN;
|
||||
} catch (error) { }
|
||||
break;
|
||||
}
|
||||
|
|
@ -694,7 +706,7 @@ export default {
|
|||
}
|
||||
}
|
||||
this.componentForm.componentParameterId = res.data.data.componentParameterId;
|
||||
this.componentForm.cycleInterval = res.data.data.cycleInterval;
|
||||
this.componentForm.cycleInterval = parseInt(res.data.data.cycleInterval);
|
||||
this.componentForm.startSectionIds = res.data.data.startSectionIds;
|
||||
// this.componentForm.FlowType = res.data.data.flowType;
|
||||
this.componentForm.startSectionNames = res.data.data.startSectionNames;
|
||||
|
|
@ -796,7 +808,9 @@ export default {
|
|||
}
|
||||
this.componentForm.componentName = res.data.data.componentName;
|
||||
this.componentForm.componentParameterId = res.data.data.componentParameterId;
|
||||
this.componentForm.cycleInterval = res.data.data.cycleInterval;
|
||||
this.componentForm.cycleInterval = parseInt(res.data.data.cycleInterval);
|
||||
|
||||
|
||||
this.componentForm.startSectionIds = res.data.data.startSectionIds;
|
||||
this.componentForm.startSectionNames = res.data.data.startSectionNames;
|
||||
this.componentForm.endSectionIds = res.data.data.endSectionIds;
|
||||
|
|
|
|||
Loading…
Reference in New Issue