2023022402

This commit is contained in:
chengdandan 2023-02-24 14:04:19 +08:00
commit 936255e140
21 changed files with 287 additions and 521 deletions

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"remainingRequest":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\babel-loader\\lib\\index.js!E:\\视频边缘计算管理平台\\TransFlow\\src\\config\\apiurl.js","dependencies":[{"path":"E:\\视频边缘计算管理平台\\TransFlow\\src\\config\\apiurl.js","mtime":1677026201574},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.split\";\nvar ipUurl = window.location.host.split(\":\")[0];\nexport default {\n // dataUrl: \"http://172.16.1.22:8080/api/AddShipjk\",\n // getSpareElementOrder: \"http://172.16.1.22:8080/api/Upload\",\n // postSetQuanjsz: \"http://172.16.1.22:8080/api/SetQuanjsz\",\n // //新增图形接口\n // addFigure: \"http://172.16.1.22:8080/api/AddJianktx\", \n // //编辑图形名称\n // editFigure: \"http://172.16.1.22:8080/api/EditTuxmc\",\n // //编辑保存组件弹窗传参\n // editComponent: \"http://172.16.1.22:8080/api/SetMonqjkzjcs\", \n dataUrl: \"http://172.16.1.168:5000/api/AddShipjk\",\n getSpareElementOrder: \"http://172.16.1.168:5000/api/Upload\",\n postSetQuanjsz: \"http://172.16.1.168:5000/api/SetQuanjsz\",\n //新增图形接口\n addFigure: \"http://172.16.1.168:5000/api/AddJianktx\",\n //编辑图形名称\n editFigure: \"http://172.16.1.168:5000/api/EditTuxmc\",\n //编辑保存组件弹窗传参\n editComponent: \"http://172.16.1.168:5000/api/SetMonqjkzjcs\" // `http://${ipUurl}:5000/api/AddShipjk`\n // dataUrl: `http://${ipUurl}:5000/api/AddShipjk`,\n // getSpareElementOrder: `http://${ipUurl}:5000/api/Upload`,\n // postSetQuanjsz: `http://${ipUurl}:5000/api/SetQuanjsz`,\n // //新增图形接口\n // addFigure: `http://${ipUurl}:5000/api/AddJianktx`, \n // //编辑图形名称\n // editFigure: `http://${ipUurl}:5000/api/EditTuxmc`,\n // //编辑保存组件弹窗传参\n // editComponent: `http://${ipUurl}:5000/api/SetMonqjkzjcs`, \n\n};",{"version":3,"sources":["E:/视频边缘计算管理平台/TransFlow/src/config/apiurl.js"],"names":["ipUurl","window","location","host","split","dataUrl","getSpareElementOrder","postSetQuanjsz","addFigure","editFigure","editComponent"],"mappings":";AAAA,IAAIA,MAAM,GAAGC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,CAAqBC,KAArB,CAA2B,GAA3B,EAAgC,CAAhC,CAAb;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGAC,EAAAA,OAAO,EAAE,wCAZM;AAafC,EAAAA,oBAAoB,EAAE,qCAbP;AAcfC,EAAAA,cAAc,EAAE,yCAdD;AAef;AACAC,EAAAA,SAAS,EAAE,yCAhBI;AAiBf;AACAC,EAAAA,UAAU,EAAE,wCAlBG;AAmBf;AACAC,EAAAA,aAAa,EAAE,4CApBA,CAqBf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AA9Be,CAAf","sourcesContent":["var ipUurl = window.location.host.split(\":\")[0];\r\nexport default {\r\n// dataUrl: \"http://172.16.1.22:8080/api/AddShipjk\",\r\n// getSpareElementOrder: \"http://172.16.1.22:8080/api/Upload\",\r\n// postSetQuanjsz: \"http://172.16.1.22:8080/api/SetQuanjsz\",\r\n// //新增图形接口\r\n// addFigure: \"http://172.16.1.22:8080/api/AddJianktx\", \r\n// //编辑图形名称\r\n// editFigure: \"http://172.16.1.22:8080/api/EditTuxmc\",\r\n// //编辑保存组件弹窗传参\r\n// editComponent: \"http://172.16.1.22:8080/api/SetMonqjkzjcs\", \r\n\r\n\r\ndataUrl: \"http://172.16.1.168:5000/api/AddShipjk\",\r\ngetSpareElementOrder: \"http://172.16.1.168:5000/api/Upload\",\r\npostSetQuanjsz: \"http://172.16.1.168:5000/api/SetQuanjsz\",\r\n//新增图形接口\r\naddFigure: \"http://172.16.1.168:5000/api/AddJianktx\", \r\n//编辑图形名称\r\neditFigure: \"http://172.16.1.168:5000/api/EditTuxmc\",\r\n//编辑保存组件弹窗传参\r\neditComponent: \"http://172.16.1.168:5000/api/SetMonqjkzjcs\", \r\n// `http://${ipUurl}:5000/api/AddShipjk`\r\n// dataUrl: `http://${ipUurl}:5000/api/AddShipjk`,\r\n// getSpareElementOrder: `http://${ipUurl}:5000/api/Upload`,\r\n// postSetQuanjsz: `http://${ipUurl}:5000/api/SetQuanjsz`,\r\n// //新增图形接口\r\n// addFigure: `http://${ipUurl}:5000/api/AddJianktx`, \r\n// //编辑图形名称\r\n// editFigure: `http://${ipUurl}:5000/api/EditTuxmc`,\r\n// //编辑保存组件弹窗传参\r\n// editComponent: `http://${ipUurl}:5000/api/SetMonqjkzjcs`, \r\n};\r\n"]}]}
{"remainingRequest":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\babel-loader\\lib\\index.js!E:\\视频边缘计算管理平台\\TransFlow\\src\\config\\apiurl.js","dependencies":[{"path":"E:\\视频边缘计算管理平台\\TransFlow\\src\\config\\apiurl.js","mtime":1677208560152},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es6.regexp.split\";\nvar ipUurl = window.location.host.split(':')[0];\nexport default {\n // dataUrl: \"http://172.16.1.22:8080/api/AddShipjk\",\n // getSpareElementOrder: \"http://172.16.1.22:8080/api/Upload\",\n // postSetQuanjsz: \"http://172.16.1.22:8080/api/SetQuanjsz\",\n // //新增图形接口\n // addFigure: \"http://172.16.1.22:8080/api/AddJianktx\",\n // //编辑图形名称\n // editFigure: \"http://172.16.1.22:8080/api/EditTuxmc\",\n // //编辑保存组件弹窗传参\n // editComponent: \"http://172.16.1.22:8080/api/SetMonqjkzjcs\",\n dataUrl: 'http://172.16.1.168:5000/api/AddShipjk',\n getSpareElementOrder: 'http://172.16.1.168:5000/api/Upload',\n postSetQuanjsz: 'http://172.16.1.168:5000/api/SetQuanjsz',\n saveRoleApi: 'http://172.16.1.168:5000/api/AddZhangh',\n editRoleApi: 'http://172.16.1.168:5000/api/EditZhangh',\n //新增图形接口\n addFigure: 'http://172.16.1.168:5000/api/AddJianktx',\n //编辑图形名称\n editFigure: 'http://172.16.1.168:5000/api/EditTuxmc',\n //编辑保存组件弹窗传参\n editComponent: 'http://172.16.1.168:5000/api/SetMonqjkzjcs' // `http://${ipUurl}:5000/api/AddShipjk`\n // dataUrl: `http://${ipUurl}:5000/api/AddShipjk`,\n // getSpareElementOrder: `http://${ipUurl}:5000/api/Upload`,\n // postSetQuanjsz: `http://${ipUurl}:5000/api/SetQuanjsz`,\n // //新增图形接口\n // addFigure: `http://${ipUurl}:5000/api/AddJianktx`,\n // //编辑图形名称\n // editFigure: `http://${ipUurl}:5000/api/EditTuxmc`,\n // //编辑保存组件弹窗传参\n // editComponent: `http://${ipUurl}:5000/api/SetMonqjkzjcs`,\n\n};",{"version":3,"sources":["E:/视频边缘计算管理平台/TransFlow/src/config/apiurl.js"],"names":["ipUurl","window","location","host","split","dataUrl","getSpareElementOrder","postSetQuanjsz","saveRoleApi","editRoleApi","addFigure","editFigure","editComponent"],"mappings":";AAAA,IAAIA,MAAM,GAAGC,MAAM,CAACC,QAAP,CAAgBC,IAAhB,CAAqBC,KAArB,CAA2B,GAA3B,EAAgC,CAAhC,CAAb;AACA,eAAe;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEAC,EAAAA,OAAO,EAAE,wCAXE;AAYXC,EAAAA,oBAAoB,EAAE,qCAZX;AAaXC,EAAAA,cAAc,EAAE,yCAbL;AAcXC,EAAAA,WAAW,EAAE,wCAdF;AAeXC,EAAAA,WAAW,EAAE,yCAfF;AAiBX;AACAC,EAAAA,SAAS,EAAE,yCAlBA;AAmBX;AACAC,EAAAA,UAAU,EAAE,wCApBD;AAqBX;AACAC,EAAAA,aAAa,EAAE,4CAtBJ,CAwBX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAjCW,CAAf","sourcesContent":["var ipUurl = window.location.host.split(':')[0];\r\nexport default {\r\n // dataUrl: \"http://172.16.1.22:8080/api/AddShipjk\",\r\n // getSpareElementOrder: \"http://172.16.1.22:8080/api/Upload\",\r\n // postSetQuanjsz: \"http://172.16.1.22:8080/api/SetQuanjsz\",\r\n // //新增图形接口\r\n // addFigure: \"http://172.16.1.22:8080/api/AddJianktx\",\r\n // //编辑图形名称\r\n // editFigure: \"http://172.16.1.22:8080/api/EditTuxmc\",\r\n // //编辑保存组件弹窗传参\r\n // editComponent: \"http://172.16.1.22:8080/api/SetMonqjkzjcs\",\r\n\r\n dataUrl: 'http://172.16.1.168:5000/api/AddShipjk',\r\n getSpareElementOrder: 'http://172.16.1.168:5000/api/Upload',\r\n postSetQuanjsz: 'http://172.16.1.168:5000/api/SetQuanjsz',\r\n saveRoleApi: 'http://172.16.1.168:5000/api/AddZhangh',\r\n editRoleApi: 'http://172.16.1.168:5000/api/EditZhangh',\r\n\r\n //新增图形接口\r\n addFigure: 'http://172.16.1.168:5000/api/AddJianktx',\r\n //编辑图形名称\r\n editFigure: 'http://172.16.1.168:5000/api/EditTuxmc',\r\n //编辑保存组件弹窗传参\r\n editComponent: 'http://172.16.1.168:5000/api/SetMonqjkzjcs'\r\n\r\n // `http://${ipUurl}:5000/api/AddShipjk`\r\n // dataUrl: `http://${ipUurl}:5000/api/AddShipjk`,\r\n // getSpareElementOrder: `http://${ipUurl}:5000/api/Upload`,\r\n // postSetQuanjsz: `http://${ipUurl}:5000/api/SetQuanjsz`,\r\n // //新增图形接口\r\n // addFigure: `http://${ipUurl}:5000/api/AddJianktx`,\r\n // //编辑图形名称\r\n // editFigure: `http://${ipUurl}:5000/api/EditTuxmc`,\r\n // //编辑保存组件弹窗传参\r\n // editComponent: `http://${ipUurl}:5000/api/SetMonqjkzjcs`,\r\n};\r\n"]}]}

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"remainingRequest":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\babel-loader\\lib\\index.js!E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\视频边缘计算管理平台\\TransFlow\\src\\views\\myId.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\视频边缘计算管理平台\\TransFlow\\src\\views\\myId.vue","mtime":1677026201587},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nexport default {\n data: function data() {\n return {\n formLabelAlign: {\n name: 'admin',\n account: 'admin',\n password: '123456'\n }\n };\n }\n};",{"version":3,"sources":["myId.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyBA,eAAA;AACA,EAAA,IADA,kBACA;AACA,WAAA;AACA,MAAA,cAAA,EAAA;AACA,QAAA,IAAA,EAAA,OADA;AAEA,QAAA,OAAA,EAAA,OAFA;AAGA,QAAA,QAAA,EAAA;AAHA;AADA,KAAA;AAOA;AATA,CAAA","sourcesContent":["<template>\r\n <div class=\"content-box\">\r\n <div class=\"container\">\r\n <p class=\"title\">我的账号</p>\r\n <!-- <div class=\"test-div\">\r\n <i class=\"el-icon-edit\"></i>\r\n <i class=\"el-icon-share\"></i>\r\n <i class=\"el-icon-delete\"></i>\r\n </div> -->\r\n <el-form label-position=\"left\" label-width=\"60px\" :model=\"formLabelAlign\">\r\n <el-form-item label=\"名称:\">\r\n {{ formLabelAlign.name }}\r\n </el-form-item>\r\n <el-form-item label=\"账号:\">\r\n {{ formLabelAlign.account }}\r\n </el-form-item>\r\n <el-form-item label=\"密码:\">\r\n {{ formLabelAlign.password }}\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n data() {\r\n return {\r\n formLabelAlign: {\r\n name: 'admin',\r\n account: 'admin',\r\n password: '123456',\r\n },\r\n }\r\n }\r\n}\r\n</script>\r\n\r\n<style>\r\n.test-div i {\r\n font-size: 25px;\r\n}\r\n</style>"],"sourceRoot":"src/views"}]}
{"remainingRequest":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\babel-loader\\lib\\index.js!E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!E:\\视频边缘计算管理平台\\TransFlow\\src\\views\\myId.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\视频边缘计算管理平台\\TransFlow\\src\\views\\myId.vue","mtime":1677208560156},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\babel-loader\\lib\\index.js","mtime":499162500000},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"E:\\视频边缘计算管理平台\\TransFlow\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport { getUserApi } from '@/api/myld.js';\nexport default {\n data: function data() {\n return {\n formLabelAlign: {\n name: 'admin',\n account: 'admin',\n password: '123456'\n }\n };\n },\n methods: {\n getUser: function getUser() {\n console.log(window.localStorage.getItem(''));\n }\n },\n mounted: function mounted() {\n this.getUser();\n }\n};",{"version":3,"sources":["myId.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,SAAA,UAAA,QAAA,eAAA;AAEA,eAAA;AACA,EAAA,IADA,kBACA;AACA,WAAA;AACA,MAAA,cAAA,EAAA;AACA,QAAA,IAAA,EAAA,OADA;AAEA,QAAA,OAAA,EAAA,OAFA;AAGA,QAAA,QAAA,EAAA;AAHA;AADA,KAAA;AAOA,GATA;AAUA,EAAA,OAAA,EAAA;AACA,IAAA,OADA,qBACA;AACA,MAAA,OAAA,CAAA,GAAA,CAAA,MAAA,CAAA,YAAA,CAAA,OAAA,CAAA,EAAA,CAAA;AACA;AAHA,GAVA;AAeA,EAAA,OAfA,qBAeA;AACA,SAAA,OAAA;AACA;AAjBA,CAAA","sourcesContent":["<template>\r\n <div class=\"content-box\">\r\n <div class=\"container\">\r\n <p class=\"title\">我的账号</p>\r\n <el-form label-position=\"left\" label-width=\"60px\" :model=\"formLabelAlign\">\r\n <el-form-item label=\"名称:\">\r\n {{ formLabelAlign.name }}\r\n </el-form-item>\r\n <el-form-item label=\"账号:\">\r\n {{ formLabelAlign.account }}\r\n </el-form-item>\r\n <el-form-item label=\"密码:\">\r\n {{ formLabelAlign.password }}\r\n </el-form-item>\r\n </el-form>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { getUserApi } from '@/api/myld.js';\r\n\r\nexport default {\r\n data() {\r\n return {\r\n formLabelAlign: {\r\n name: 'admin',\r\n account: 'admin',\r\n password: '123456'\r\n }\r\n };\r\n },\r\n methods: {\r\n getUser() {\r\n console.log(window.localStorage.getItem(''));\r\n }\r\n },\r\n mounted() {\r\n this.getUser();\r\n }\r\n};\r\n</script>\r\n\r\n<style>\r\n.test-div i {\r\n font-size: 25px;\r\n}\r\n</style>\r\n"],"sourceRoot":"src/views"}]}

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

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

@ -125,12 +125,7 @@ export default {
}
},
mounted() {
this.xData = this.typeValue.type_data.map(ele => {
return ele.name;
});
this.yData = this.typeValue.type_data.map(ele => {
return ele.quantity;
});
this.drawBar();
},
watch: {

View File

@ -69,23 +69,22 @@ export default {
},
created() {
// console.log( this.componentName + '-' + this.chartName + '-' + '线','40');
},
methods: {
drawLine() {
drawLine(newVal, title) {
let myChart = this.$echarts.getInstanceByDom(this.$refs.lineChart);
if (myChart == null) {
myChart = this.$echarts.init(this.$refs.lineChart);
}
// var series = []
// myChart.showLoading()  //loading
let option = {
// title: {
// show: true,
// text: this.componentName + '-' + this.chartName + '-' + '线',
// textStyle: {
// lineHeight: '30'
// }
// },
legend: {},
grid: {
left: '2%',
@ -139,189 +138,137 @@ export default {
}
}
],
series: this.series
series: this.getMessage(newVal, title)
};
myChart.setOption(option)  //
// myChart.hideLoading()
// myChart.setOption(option);
// window.onresize = () => { //
// myChart.resize();
// };
myChart.setOption(option)
window.addEventListener('resize', function () {
myChart.resize();
});
},
getMessage(newVal, title) {
this.xData = newVal.map(val => {
return val.time;
});
var series = [
{
name: '',
type: 'line',
symbolSize: 6,
smooth: true,
itemStyle: {
color: '#fb864b',
borderColor: '#fb864b'
// borderWidth: 2
},
data: []
}
];
if (title === '类型') {
this.tooltip = {
formatter: '{a} {b}:{c}个',
show: true,
confine: true
};
series[0].name = '总量';
//
let arr = newVal.map(function (ele) {
if (ele.type_data != null) {
return ele.type_data;
}
});
var mapN = [];
for (var t = 0; t < arr.length; t++) {
for (var i = 0; i < arr[t].length; i++) {
mapN.push(arr[t][i]);
}
}
var lineArr = []
if (newVal[0].type_data != undefined) {
newVal[0].type_data.forEach(ele => {
lineArr.push({
name: ele.name,
type: 'line',
data: [],
smooth: true
});
});
}
mapN.forEach(ele => {
if (ele.name == '机动车') {
lineArr[0].data.push(ele.quantity);
} else if (ele.name == '非机动车') {
lineArr[1].data.push(ele.quantity);
} else {
lineArr[2].data.push(ele.quantity);
}
});
for (let j = 0; j < lineArr.length; j++) {
series.push(lineArr[j]);
}
//
let mapNR1 = [];
newVal.map(function (ele) {
if (ele.type_data != null) {
var sum = ele.type_data.reduce(function (prev, cur) {
return cur.quantity + prev;
}, 0);
mapNR1.push(sum);
}
});
series[0].data = mapNR1;
} else if (title === '速度') {
this.tooltip = {
formatter: '{a} {b}:{c}km/h',
show: true,
confine: true
};
// console.log("newVal",newVal)
series[0].data = newVal.map(val => {
return val.speed;
});
} else if (title === '流量') {
series[0].data = newVal.map(ele => {
return ele.in_flow + ele.out_flow;
});
} else if (title === '车头时距') {
this.tooltip = {
formatter: '{a} {b}:{c}/s',
show: true,
confine: true
};
series[0].data = newVal.map(val => {
return val.headway;
});
} else if (title === '排队数') {
series[0].data = newVal.map(val => {
return val.n_queue;
});
} else if (title === '检测数') {
series[0].data = newVal.map(val => {
return val.n_stay;
});
} else if (title === '延误') {
series[0].data = newVal.map(val => {
return val.ave_delay;
});
} else if (title === '拥堵') {
series[0].data = newVal.map(val => { });
}
console.log(series, '折线图数据');
return series
}
},
mounted() {
this.drawLine();
console.log(this.$parent.dataArr, '父组件的dataArr');
},
computed: {
listTotal() {
return JSON.parse(JSON.stringify(this.$parent.dataArr))
}
// this.drawLine();
// this.getMessage(this.list)
// console.log(this.$parent.dataArr, 'dataArr');
// this.$set(this.$parent.dataArr)
},
watch: {
list: {
handler(newVal) {
console.log("newVal",newVal)
if (newVal.length!=0) {
// x
this.xData = newVal.map(val => {
return val.time;
});
this.series = [
{
name: '',
type: 'line',
symbolSize: 6,
smooth: true,
itemStyle: {
color: '#fb864b',
borderColor: '#fb864b'
// borderWidth: 2
},
data: []
}
];
// y
if (this.title == '类型') {
this.tooltip = {
formatter: '{a} {b}:{c}个',
show: true,
confine: true
};
this.series[0].name = '总量';
console.log('折线图', newVal);
//
let arr = newVal.map(function (ele) {
if (ele.type_data != null) {
return ele.type_data;
}
});
var mapN = [];
for (var t = 0; t < arr.length; t++) {
for (var i = 0; i < arr[t].length; i++) {
mapN.push(arr[t][i]);
}
}
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
// });
// });
// }
mapN.forEach(ele => {
if (ele.name == '机动车') {
lineArr[0].data.push(ele.quantity);
} else if (ele.name == '非机动车') {
lineArr[1].data.push(ele.quantity);
} else {
lineArr[2].data.push(ele.quantity);
}
});
for (let j = 0; j < lineArr.length; j++) {
this.series.push(lineArr[j]);
}
//
let mapNR1 = [];
newVal.map(function (ele) {
if (ele.type_data != null) {
var sum = ele.type_data.reduce(function (prev, cur) {
return cur.quantity + prev;
}, 0);
mapNR1.push(sum);
}
});
// console.log("mapNR1", mapNR1)
this.series[0].data = mapNR1;
} else if (this.title == '速度') {
console.log('速度的折线图');
this.tooltip = {
formatter: '{a} {b}:{c}km/h',
show: true,
confine: true
};
// console.log("newVal",newVal)
this.series[0].data = newVal.map(val => {
return val.speed;
});
} else if (this.title == '流量') {
this.tooltip = {
formatter: '{a} {b}:{c}辆',
show: true,
confine: true
};
this.series[0].data = newVal.map(ele => {
return ele.in_flow + ele.out_flow;
});
} else if (this.title == '车头时距') {
console.log('车头时距', newVal);
this.tooltip = {
formatter: '{a} {b}:{c}/s',
show: true,
confine: true
};
this.series[0].data = newVal.map(val => {
return val.headway;
});
} else if (this.title == '排队数' && this.status == '触发') {
this.series[0].data = newVal.map(val => {
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 == '检测数') {
this.series[0].data = newVal.map(val => {
return val.n_stay;
});
} else if (this.title == '延误') {
this.series[0].data = newVal.map(val => {
return val.ave_delay;
});
} else if (this.title == '拥堵') {
this.series[0].data = newVal.map(val => {});
}
if (this.$refs.lineChart) {
console.log("1111111")
this.$nextTick(() => {
this.drawLine();
});
}
this.drawLine()
}
},
deep: true
},
}
};
</script>

View File

@ -12,7 +12,7 @@
</div>
<div v-if="msg">
<div v-if="msg" class="regionBox">
<!-- 触发 -->
<el-table :data="msg" style="width: 100%" v-if="triggerType == '触发' ">
<!-- <el-table-column align="center" prop="steam_id" label="视频路"></el-table-column> -->
@ -186,7 +186,13 @@ export default {
}
};
</script>
<style scoped>
<style scoped lang="scss">
/deep/ .el-table{
height: 709px !important;
overflow-y: scroll;
}
.el-table::-webkit-scrollbar { width: 0 !important }
.tableContent {
position: relative;
}

View File

@ -27,6 +27,7 @@
<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>
@ -176,7 +177,13 @@ export default {
mounted() { }
};
</script>
<style scoped>
<style scoped lang="scss">
/deep/ .el-table{
height: 709px !important;
overflow-y: scroll;
}
.el-table::-webkit-scrollbar { width: 0 !important }
.tableContent {
position: relative;
}

View File

@ -1,11 +1,12 @@
<template><!-- 触发类型 -->
<template>
<!-- 触发类型 -->
<div class="setion">
<p class="chartTitle"><span class="titleIcon"></span> {{ componentName }} {{ triggerType }}</p>
<!-- 触发数据数值渲染 -->
<div class="typeContent" v-if="triggerType == '触发' || '周期时刻'">
<div v-if="dataArr && dataArr.length != 0 && dataArr!=undefined">
<div class="typeContent">
<div v-if="dataArr && dataArr.length != 0 && dataArr != undefined">
<div v-if="title == '类型'" style="display:flex">
<el-card v-for="(n, i) in typeValue.type_data" :key="i"
<el-card v-for="(n, i) in dataArr[0].type_data" :key="i"
style="width: 150px; margin-bottom: 20px; text-align: center">
<div>
<span style="font-size: 15px;">{{ n.name }}</span><br />
@ -13,18 +14,18 @@
</div>
<div>
<div>
{{ typeValue.time ? typeValue.time : '' }}
{{ dataArr[0].time ? dataArr[0].time : '' }}
</div>
</div>
</el-card>
</div>
</div>
<el-card v-show="echartArr.includes('数值')" style="width: 150px; margin-bottom: 20px; text-align: center">
<div v-if="dataArr&& dataArr.length != 0 && dataArr!=undefined">
<div v-if="dataArr && dataArr.length != 0 && dataArr != undefined">
<div v-if="title == '类型'">
<span style="font-size: 15px;">类型数量总和</span><br />
<span style="font-size: 30px; font-weight: bold">
{{ this.total }}
{{ }}
</span>
</div>
<div style="font-size: 30px; font-weight: bold" v-if="title == '速度'">
@ -64,12 +65,12 @@
</el-card>
</div>
<div v-show="echartArr.includes('表格')">
<div class="tableTitle" v-if="dataArr&& dataArr.length != 0 && dataArr!=undefined">
<div class="tableTitle" v-if="dataArr && dataArr.length != 0 && dataArr != undefined">
<div>
<span
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;"></span>
<span style="font-size:18px;">{{ this.chartName + '-' + this.componentName + '-' + '表格' + '-' +
triggerType }}</span>
</div>
<div class="tableTime">
{{ dataArr[0].time ? dataArr[0].time : '' }}
@ -84,16 +85,8 @@
</div>
<div class="border" v-if="echartArr.includes('曲线图')">
<detailDialog />
<lineChart
:componentName="componentName"
:chartName="chartName"
:pageType="pageType"
:list="dataArr"
:status="triggerType"
:title="title"
:typeValue="typeValue"
/>
<lineChart :componentName="componentName" :chartName="chartName" :pageType="pageType" :list="dataArr"
:status="triggerType" :title="title" :typeValue="typeValue" ref="lineChartRef" />
</div>
<div class="border" v-if="echartArr.includes('饼状图')">
<detailDialog />
@ -148,8 +141,8 @@ export default {
queue:'',
};
},
created() {
created() {
console.log(this.title + 'TYPECHARTdataArr', this.dataArr)
},
methods: {
//
@ -172,7 +165,14 @@ export default {
}
},
computed: {},
computed: {
//
getTotal() {
return this.dataArr[0].type_data((pre, cur) => {
return pre + cur
}, 0)
}
},
mounted() { },
watch: {
//

View File

@ -25,11 +25,11 @@
: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="typeTimeMode" />
<typeChart ref="typeChartRef" v-if="o.timeMode === '触发'"
:pageType="o.graphicType" :triggerType="o.timeMode"
:componentName="o.componentName" :dataArr="o.trigger"
:echartArr="o.presentationForm" :title="o.componentName.split('_')[0]"
:chartName="o.combinationName" :typeValue="typeTimeMode" />
<typeChart v-if="o.timeMode === '周期时刻'" :pageType="o.graphicType"
:triggerType="o.timeMode" :componentName="o.componentName"
:dataArr="o.cycleTimeData" :echartArr="o.presentationForm"
@ -89,7 +89,7 @@ export default {
}
},
//
cycleStatisticsData: {
cycleStatistics: {
type: Array,
default() {
return [];
@ -102,220 +102,7 @@ export default {
title1: '01断面',
title2: '01区域',
dialogVisible: false,
//
tableData: [
{
steam_id: 0,
time: '2022-10-01 09:15:11.156',
obj_id: 125,
type: 'Person',
plate: '苏A0131M',
speed: 35.2,
event: 'in',
lane: 0,
headWay: 19
},
{
steam_id: 0,
time: '2022-10-01 09:15:12.156',
obj_id: 125,
type: 'Motor Vehicle',
plate: '苏A0131M',
speed: 70.2,
event: 'in',
lane: 0,
headWay: 6.5
},
{
steam_id: 0,
time: '2022-10-01 09:15:13.156',
obj_id: 125,
type: 'Non_Motor',
plate: '苏A0131M',
speed: 60.2,
event: 'in',
lane: 0,
headWay: 10.5
},
{
steam_id: 0,
time: '2022-10-01 09:15:14.156',
obj_id: 125,
type: 'Non_Motor',
plate: '苏A0131M',
speed: 60.2,
event: 'in',
lane: 0,
headWay: 2.5
},
{
steam_id: 0,
time: '2022-10-01 09:15:15.156',
obj_id: 125,
type: 'Motor Vehicle',
plate: '苏A0131M',
speed: 60.2,
event: 'in',
lane: 0,
headWay: 11.5
}
],
//
sectionList: [
{
steam_id: '0',
gate_id: 'Gate_1',
name: '西进口',
timestamp: '2022-10-1',
interval: '53',
type: 'truck',
in_flow: 90,
out_flow: 120,
flow: 147,
in_spd: 20.1,
out_spd: 30.6,
speed: 30
},
{
steam_id: '0',
gate_id: 'Gate_1',
name: '西进口',
timestamp: '2022-10-1',
interval: '53',
type: 'truck',
in_flow: 90,
out_flow: 120,
flow: 123,
in_spd: 20.1,
out_spd: 30.6,
speed: 40
},
{
steam_id: '0',
gate_id: 'Gate_1',
name: '西进口',
timestamp: '2022-10-1',
interval: '53',
type: 'truck',
in_flow: 90,
out_flow: 80,
flow: 210,
in_spd: 20.1,
out_spd: 30.6,
speed: 50
},
{
steam_id: '0',
gate_id: 'Gate_1',
name: '西进口',
timestamp: '2022-10-1',
interval: '53',
type: 'truck',
in_flow: 90,
out_flow: 120,
flow: 210,
in_spd: 20.1,
out_spd: 30.6,
speed: 77
}
],
//
regionList1: [
{
zone_id: '0',
gate_id: 'Zone_1',
name: '西进口左1',
timestamp: '2022-10-1',
frame: 1000,
type: 'car',
n_stay: 3,
n_queue: 2,
occ: 1,
speed: 5.6
},
{
zone_id: '0',
gate_id: 'Zone_1',
name: '西进口左1',
timestamp: '2022-10-1',
frame: 1000,
type: 'car',
n_stay: 3,
n_queue: 2,
occ: 1,
speed: 12.6
},
{
zone_id: '0',
gate_id: 'Zone_1',
name: '西进口左1',
timestamp: '2022-10-1',
frame: 1000,
type: 'car',
n_stay: 3,
n_queue: 2,
occ: 1,
speed: 10
},
{
zone_id: '0',
gate_id: 'Zone_1',
name: '西进口左1',
timestamp: '2022-10-1',
frame: 1000,
type: 'car',
n_stay: 3,
n_queue: 2,
occ: 1,
speed: 6
}
],
//
regionList2: [
{
zone_id: '0',
gate_id: 'Zone_1',
name: '西进口左1',
timestamp: '2022-10-1',
type: 'car',
enter_flow: 1,
leave_flow: 3,
ave_stay: 3.2,
ave_queue: 2.9,
ave_occ: 0.56,
ave_delay: 8,
ave_speed: 12
},
{
zone_id: '0',
gate_id: 'Zone_1',
name: '西进口左1',
timestamp: '2022-10-1',
type: 'car',
enter_flow: 1,
leave_flow: 3,
ave_stay: 3.2,
ave_queue: 2.9,
ave_occ: 0.56,
ave_delay: 7,
ave_speed: 22
},
{
zone_id: '0',
gate_id: 'Zone_1',
name: '西进口左1',
timestamp: '2022-10-1',
type: 'car',
enter_flow: 1,
leave_flow: 3,
ave_stay: 3.2,
ave_queue: 2.9,
ave_occ: 0.56,
ave_delay: 17,
ave_speed: 12
}
],
idVal: '',
//
@ -339,7 +126,10 @@ export default {
typeTimeMode: {},
//
typeCycleTimeData: {},
typeCycleStatistics: {}
typeCycleStatistics: {},
//
classify: []
};
},
// beforeCeated(){
@ -351,38 +141,40 @@ export default {
methods: {
getNew() {
// this.idVal = ;
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();
}
});
getComponentSection({ VideoId: this.$route.query.id }).then(res => {
if (res.data.code == 200) {
console.log(res.data.data, '组件的数据');
this.componentList = res.data.data;
this.sectionArr=[]
this.sectionData=[]
this.$nextTick(() => {
this.siftData(this.componentList);
});
}
});
},
siftData() {
this.sectionArr=[]
this.sectionData=[]
this.componentList.forEach(val => {
// var newSectionArr = []
// newSectionArr.push(val.combinationName)
// this.sectionArr = newSectionArr
this.sectionArr.push(val.combinationName)
siftData(newComponentList) {
newComponentList.forEach(val => {
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 => {
newComponentList.forEach(val => {
if (item.title == val.combinationName) {
console.log("val.combinationName",val.combinationName)
this.classify.push(val)
item.children.push(val);
}
this.acticveName.push(val.analogAreaComponentId);
});
return item;
});
console.log("this.classify",this.classify)
// console.log("this.sectionData",this.sectionData[0].children[0].trigger)
console.log("this.sectionData",this.sectionData[0].children[0])
},
//
sectionHandle(i) {
@ -401,28 +193,37 @@ export default {
downPulls1[i].style.cssText = 'transition: all 0.5s linear;';
// sections[i].style.height = '500px';
if (sectionBox[i] != undefined) {
// sectionBox[i].style.height = '48vh';
}
}
},
// 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()
}
}
//
},
mounted() { },
watch: {
// acticveName: {
// handler(newVal) {
// if (newVal != 'second') {
// //
// this.classify = []
// }
// }
// },
//
triggerData: {
handler(newVal, oldVal) { },
@ -434,29 +235,47 @@ export default {
handler(newVal) {
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 = [];
}
newVal.forEach(item => {
if (ele.analogAreaComponentId == item.component_id && ele.timeMode == '触发') {
if (ele.trigger.length == 10) {
ele.trigger.pop();
} else {
console.log("item",item)
item.time = item.time.split('.')[0];
//
if (item.type_data != null) {
// console.log(item,'461461');
this.typeTimeMode = item
}
ele.trigger.unshift(item);
}
console.log(newVal, 'triggerlistData');
var _this = this
if (newVal.length != 0 && _this.sectionData) {
console.log("classify",_this.classify)
if(_this.classify.length!=0){
_this.classify.forEach((ele, index) => {
// console.log("classify",ele)
if (ele.trigger == undefined && ele.timeMode == '触发') {
ele.trigger = [];
}
newVal.forEach((item) => {
// console.log("ele",ele)
// console.log("newVal",newVal)
if (ele.analogAreaComponentId == item.component_id && ele.timeMode == '触发') {
if (ele.trigger.length == 10) {
ele.trigger.splice(newVal.length - 1, 1);
} else {
item.time = item.time.split('.')[0];
//
if (item.type_data != null) {
_this.typeTimeMode = item
}
ele.trigger.unshift(item);
console.log("ele.trigger",ele.trigger)
_this.$nextTick(() => {
if (_this.$refs.typeChartRef[index] != undefined) {
console.log(_this.$refs.typeChartRef[index].trigger, '数据');
_this.$refs.typeChartRef[index].$refs.lineChartRef.drawLine(ele.trigger, ele.componentName.split('_')[0])
}
})
}
}
});
});
});
}
}
},
immediate: true
},
@ -473,10 +292,9 @@ export default {
if (
ele.analogAreaComponentId == item.component_id &&
ele.timeMode == '周期时刻'
) {
if (ele.cycleTimeData.length == 10) {
ele.cycleTimeData.slice(ele.cycleTimeData.length - 1, 0);
ele.cycleTimeData.splice(newVal.length - 1, 1);
} else {
item.time = item.time.split('.')[0];
if (item.type_data != null) {
@ -492,32 +310,25 @@ export default {
},
immediate: true
},
//
// cycleStatistics:{
// handler(newVal){
// console.log(newVal,'');
// }
// }
cycleStatisticsData: {
cycleStatistics: {
handler(newVal) {
if (newVal.length != 0 && this.sectionData) {
this.componentList.forEach(ele => {
if (ele.cycleStatisticsData == undefined && ele.timeMode == '周期统计') {
ele.cycleStatisticsData = [];
if (ele.cycleStatistics == undefined && ele.timeMode == '周期统计') {
ele.cycleStatistics = [];
}
newVal.forEach(item => {
if (ele.analogAreaComponentId == item.component_id && ele.timeMode == '周期统计') {
if (ele.cycleStatisticsData.length == 10) {
ele.cycleStatisticsData.pop();
if (ele.cycleStatistics.length == 10) {
ele.cycleStatistics.splice(newVal.length - 1, 1);
} else {
item.time = item.time.split('.')[0];
if (item.type_data != null) {
//
this.typeCycleStatistics = item;
}
ele.cycleStatisticsData.unshift(item);
ele.cycleStatistics.unshift(item);
}
}
});
@ -528,7 +339,7 @@ export default {
// activeName: {
// handler(newVal) {
// 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) {
// this.componentList = res.data.data;
// this.siftData();