1 line
171 KiB
JSON
1 line
171 KiB
JSON
{"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\\index.vue?vue&type=script&lang=js&","dependencies":[{"path":"E:\\视频边缘计算管理平台\\TransFlow\\src\\views\\index.vue","mtime":1679447653600},{"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":["import \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.typed.uint8-array\";\nimport \"core-js/modules/es6.number.constructor\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport \"core-js/modules/es6.function.name\";\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n// import mqtt from \"mqtt\"; // mqtt协议\nimport editModal from '@/views/bounced/maintenanceRemind';\nimport analysisConfiguration from '@/views/bounced/analysisConfiguration';\nimport dataBoard from '@/views/bounced/dataBoard';\nimport { getComponentData, getSectionalData, getVideoStatus, startTrafficAnalysis, startVideoAnalysis, getAnalysisData } from \"../api/index\";\nimport serverUrl from \"../config/apiurl.js\";\nimport axios from 'axios'; // mqtt\n// import mqttHandle from \"../../../utils/mqttHandle\";\n\nimport mqttConfig from '@/utils/mqttConfig.js';\nvar mqtt; //mqtt 处理对象(全局变量)\n\nvar client; // //判断\n\nexport default {\n data: function data() {\n return {\n percentageColor: 'blue',\n closeComponentShow: true,\n closeEditShow: false,\n max: '100',\n min: '1',\n receiveNews: '',\n topicSends: ['img0', 'stream0', 'trajectory0', 'detection0'],\n trajectory: false,\n //轨迹\n hideBoxShow: true,\n //隐藏箱子按钮显示隐藏\n closeStatus: null,\n modelOthers: false,\n componentShow: '',\n isShowBtn: true,\n //菜单按钮隐藏\n isShowBtn1: false,\n //菜单按钮显示\n inputVal: '',\n dialogFormVisible: false,\n areaComponent: false,\n indexModule: false,\n disabledTrafficAnalysis: true,\n disabledVideoAnalysis: false,\n //判断模拟区,画布区\n numberNew: 1,\n speed: false,\n component: false,\n sectionals: [],\n activeName: 'first',\n VideoId: '',\n title: '断面',\n componentTitle: '速度',\n form: {\n name: '',\n type: '',\n id: '',\n coordinate: '',\n Direction: '双向',\n StoppingSpeed: '5'\n },\n //初始图形名称\n startFigureName: '',\n areaComponentform: {\n name: '',\n region: '',\n date1: '',\n date2: '',\n delivery: false,\n type: [],\n resource: '实时(触发)',\n desc: ''\n },\n timeSelect: [{\n label: '秒',\n value: '秒'\n }, {\n label: '分钟',\n value: '分钟'\n }, {\n label: '小时',\n value: '小时'\n }],\n titName: '',\n componentForm: {\n //单位\n company: '',\n componentName: '',\n componentParameterId: '01888e05fac246b29e3a19a27c3d2ab0',\n //周期间隔\n cycleInterval: 1,\n startSectionIds: '',\n startSectionNames: '',\n endSectionIds: '',\n endSectionNames: '',\n endValue: '',\n //展现形式\n presentationForm: '',\n presentation: [],\n startValue: '',\n timeMode: '',\n type: ['机动车', '非机动车', '行人'],\n startSection: [],\n endSection: [],\n componentType: '',\n typeFiltering: '',\n typeData: [],\n flowType: '出流'\n },\n // typeData: ['小汽车', '公交车', '卡车', '非机动车', '行人'],\n typeData: ['机动车', '非机动车', '行人'],\n //展现形式\n presentation: ['数值', '表格', '时间曲线图', '均值图'],\n trackForm: {\n name: ''\n },\n nowTime: '',\n ins: 0,\n btnPic: [],\n Data: [{\n title: 'xx路口',\n url: ''\n }, {\n title: '数据看板',\n url: ''\n }, {\n title: '分析配置',\n url: ''\n }, {\n title: '分析配置',\n url: ''\n }],\n messageInfo: [],\n orderList: [],\n enterList: [],\n stockInfo: [],\n perCent: 0,\n perCent1: 0,\n perCent2: 0,\n facToal: '',\n wbContent: '',\n // wxContent:'',\n inContent: '',\n outContent: '',\n containerDetails: '',\n locdesc: '',\n weatherItem: {},\n loadingShow1: true,\n number: '',\n componentId: '',\n analysisConfigurationdata: {},\n //触发数据\n triggerData: [],\n triggerListData: [],\n //周期时刻\n cycleTimeData: [],\n //周期统计\n cycleStatisticsData: [],\n //历史数据\n cycleHistoryData: {},\n //视频类型\n videoType: '',\n videoAnalysisShow: false,\n trafficAnalysisShow: false,\n //控制unity展示\n videoUnityShow: true,\n videoAnalysisSta: '',\n analysis: {\n trafficAnalysisPath1: '',\n trafficAnalysisPath2: '',\n videoAnalysisPath: '',\n videoName: '',\n videoPath: '',\n videoTotalFrames: '',\n videoType: '实时视频',\n videoId: ''\n },\n description: '请等待排队',\n ipData: '',\n componentList: [],\n //离线视频加载进度\n numSatus: 0,\n //离线视频状态\n videoAnalysisStatusNew: '未分析',\n videoAnalysisStatusShow: true,\n vleNew: ''\n };\n },\n //离开当前页面后执行\n destroyed: function destroyed() {//console.log(\"离开当前页\")\n // client.publish('msg_stream',JSON.stringify({\"msg_flag\":-1}))\n //client.end();\n },\n created: function created() {\n window.OnScene = this.OnSceneN;\n this.getAllSectionalData(this.$route.query.id);\n this.VideoId = this.$route.query.id;\n this.number = this.$route.query.num;\n this.titName = this.$route.query.name;\n window.getFigure = this.getFigureD;\n window.getModifyTheName = this.getModifyTheNameN; // window.getModifyTheName = this.getModifyTheNameN;\n\n window.getSingleComponentId = this.getSingleComponentIdN;\n window.getSimulationAreaEdit = this.getSimulationAreaEdit;\n window.getZhuanFaMQTT = this.getZhuanFaMQTT;\n window.delSuccess = this.delSuccess;\n\n if (this.$route.query.type == '实时视频') {\n this.videoAnalysisShow = false;\n this.trafficAnalysisShow = false;\n this.createMqtt(); // document.getElementById('mapModule').contentWindow.lixianVideo(JSON.stringify(this.analysis));\n } else if (this.$route.query.type == '离线视频') {\n this.videoAnalysisShow = true;\n this.trafficAnalysisShow = true;\n this.getAnalysisStatus();\n this.createMqtt(); // if(this.$route.query.status=='未分析'){\n // }\n // if(this.$route.query.status=='未分析'){\n // // document.getElementById('mapModule').contentWindow.lixianVideo(\"实时视频\");\n // }else{\n // }\n }\n },\n mounted: function mounted() {},\n methods: {\n // 数据看板的标签点击\n handleClick: function handleClick(tab, event) {\n var _this = this;\n\n var that = this;\n\n if (tab._props.name == 'second') {\n that.$nextTick(function () {\n // \n that.$refs.dataBoardRef.getNew(); // setTimeout(() => {\n // debugger\n // this.getHistory()\n // }, 10000);\n\n _this.getHistory();\n });\n }\n },\n\n /** 创建mqtt */\n createMqtt: function createMqtt() {\n var _this2 = this;\n\n //创建链接,接收数据\n if (this.$route.query.type == '离线视频') {\n this.topicSends = [// 'stream' + this.number,\n // 'trajectory' + this.number,\n // 'detection' + this.number,\n 'trigger-' + this.$route.query.id, 'cycle_history-' + this.$route.query.id, 'cycle_time-' + this.$route.query.id, 'cycle_statistics-' + this.$route.query.id, //获取离线视频数据\n 'VideoStatusData'];\n window.PubScribe(this.topicSends, '001', this.realInfo);\n setTimeout(function () {\n _this2.getHistory();\n }, 5000);\n } else if (this.$route.query.type == '实时视频') {\n this.topicSends = ['stream' + this.number, 'trajectory' + this.number, 'detection' + this.number, 'trigger-' + this.$route.query.id, 'cycle_time-' + this.$route.query.id, 'cycle_statistics-' + this.$route.query.id];\n window.PubScribe(this.topicSends, this.number, this.realInfo, this.$route.query.id);\n }\n\n setTimeout(function () {\n window.publish('Custom', JSON.stringify({\n \"type\": \"getImage\",\n \"videoid\": _this2.$route.query.id\n }));\n }, 5000);\n },\n //获取视频分析,交通分析状态数据\n getAnalysisStatus: function getAnalysisStatus() {\n var _this3 = this;\n\n getVideoStatus(this.$route.query.id).then(function (res) {\n console.log('res.data', res.data); //视频分析状态\n\n if (res.data.data.videoAnalysisStatus == '未分析') {\n _this3.disabledTrafficAnalysis = true;\n _this3.videoUnityShow = false;\n\n _this3.analysisData();\n } else if (res.data.data.videoAnalysisStatus == '分析中') {\n _this3.disabledVideoAnalysis = true;\n _this3.videoUnityShow = false;\n setTimeout(function () {\n _this3.getAnalysisStatus();\n }, 5000);\n } else if (res.data.data.videoAnalysisStatus == '已分析') {\n _this3.videoUnityShow = true;\n _this3.videoAnalysisSta = res.data.data.videoAnalysisStatus;\n _this3.disabledTrafficAnalysis = false;\n\n _this3.analysisData(); //交通分析状态\n\n } else if (res.data.data.videoAnalysisStatus == '分析异常') {\n // this.videoUnityShow = true;\n // this.videoAnalysisSta = res.data.data.videoAnalysisStatus;\n // this.disabledTrafficAnalysis = false;\n _this3.videoAnalysisStatusNew = '分析异常'; // this.percentageColor = 'red'\n\n _this3.analysisData(); //交通分析状态\n\n } else if (res.data.data.trafficAnalysisStatus == '未分析') {\n _this3.disabledVideoAnalysis = true;\n } else if (res.data.data.trafficAnalysisStatus == '分析中') {\n _this3.disabledVideoAnalysis = true;\n _this3.disabledTrafficAnalysis = true;\n } else if (res.data.data.videoAnalysisStatus == '已分析' || res.data.data.trafficAnalysisStatus == '已分析') {\n _this3.disabledVideoAnalysis = false;\n _this3.disabledTrafficAnalysis = true;\n }\n });\n },\n //获取离线视频周期时刻周期统计\n getHistory: function getHistory() {\n window.publish('GetCycleHistory', 'Get-' + this.$route.query.id);\n },\n getZhuanFaMQTT: function getZhuanFaMQTT(topic, msg) {\n // console.log(\"topic\",topic)\n // console.log(\"msg\",msg)\n window.publish(topic, msg);\n },\n //分析视频按钮\n videoAnalysisBtn: function videoAnalysisBtn() {\n var _this4 = this;\n\n startVideoAnalysis(this.$route.query.id).then(function (res) {\n //\n if (res.data.msg == '请求成功') {\n _this4.$message({\n message: '启动成功',\n type: 'success'\n });\n\n setTimeout(function () {\n _this4.getAnalysisStatus();\n }, 5000); // if(this.videoAnalysisSta=='已分析'){\n // }else if(this.videoAnalysisSta=='分析中'){\n // this.description = '正在分析中'\n // setTimeout(() => {\n // this.getAnalysisStatus()\n // }, 5000);\n // }else if(this.videoAnalysisSta=='未分析'){\n // }\n }\n });\n },\n //交通分析\n trafficAnalysisBtn: function trafficAnalysisBtn() {\n var _this5 = this;\n\n startTrafficAnalysis(this.$route.query.id).then(function (res) {\n //\n console.log('res.data', res.data.data);\n\n if (res.data.code == 200) {\n _this5.$message({\n message: res.data.msg,\n type: 'success'\n });\n\n _this5.analysisData();\n } else {\n _this5.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n },\n //转64位\n imageUrlToBase64: function imageUrlToBase64(img) {\n var _this6 = this;\n\n //一定要设置为let,不然图片不显示\n var image = new Image();\n var dataURL = ''; //解决跨域问题\n\n image.setAttribute(\"crossOrigin\", \"anonymous\");\n var imageUrl = img;\n image.src = imageUrl; //image.onload为异步加载\n\n image.onload = function () {\n var canvas = document.createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n var context = canvas.getContext(\"2d\");\n context.drawImage(image, 0, 0, image.width, image.height);\n var quality = 0.8; //这里的dataurl就是base64类型\n\n dataURL = canvas.toDataURL(\"image/jpeg\", quality); //使用toDataUrl将图片转换成jpeg的格式,不要把图片压缩成png,因为压缩成png后base64的字符串可能比不转换前的长!\n\n var noPrefix = dataURL.replace(/^data:image\\/\\w+;base64,/, '');\n var msgNew = {\n id: _this6.$route.query.id,\n pic: noPrefix,\n rate: 'low'\n };\n _this6.analysisConfigurationdata = msgNew;\n var vleNe = {\n id: _this6.$route.query.id,\n pic: noPrefix,\n rate: 'high'\n };\n _this6.vleNew = vleNe;\n };\n },\n //获取视频分析结果\n analysisData: function analysisData() {\n var _this7 = this;\n\n getAnalysisData(this.$route.query.id).then(function (res) {\n console.log('res.data.data', res.data.data); // if(res.data.data.TrafficAnalysisStatus=='分析异常'){\n // this.videoAnalysisStatus = '分析异常'\n // }else {\n\n console.log(\"this.videoAnalysisStatusNew\", res.data.data.trafficAnalysisStatus);\n _this7.videoAnalysisStatusNew = res.data.data.trafficAnalysisStatus;\n console.log(\"this.videoAnalysisStatusNew\", _this7.videoAnalysisStatusNew);\n var numSatusNew = '';\n _this7.analysis.videoTotalFrames = Number(res.data.data.videoTotalFrames);\n\n if (res.data.data.trafficFrameNumber == '') {\n _this7.analysis.trafficFrameNumber = 0;\n } else {\n _this7.analysis.trafficFrameNumber = Number(res.data.data.trafficFrameNumber);\n }\n\n numSatusNew = _this7.analysis.trafficFrameNumber / _this7.analysis.videoTotalFrames * 100;\n _this7.numSatus = parseFloat(numSatusNew.toFixed(2));\n\n if (_this7.numSatus == 100) {\n _this7.videoAnalysisStatusShow = false;\n } // }\n\n\n _this7.analysis.trafficAnalysisPath1 = res.data.data.trafficAnalysisPath1;\n _this7.analysis.trafficAnalysisPath2 = res.data.data.trafficAnalysisPath2;\n _this7.analysis.videoAnalysisPath = res.data.data.videoAnalysisPath;\n _this7.analysis.videoName = res.data.data.videoName;\n _this7.analysis.videoPath = res.data.data.videoPath;\n _this7.analysis.videoId = _this7.$route.query.id;\n _this7.analysis.videoType = _this7.$route.query.type;\n\n _this7.imageUrlToBase64(res.data.data.picPath);\n });\n },\n //分析结束传参\n postTraffic: function postTraffic() {\n var _this8 = this;\n\n getAnalysisData(this.$route.query.id).then(function (res) {\n console.log('res.data.data', res.data.data);\n _this8.analysis.trafficAnalysisPath1 = res.data.data.trafficAnalysisPath1;\n _this8.analysis.trafficAnalysisPath2 = res.data.data.trafficAnalysisPath2;\n document.getElementById('mapModule').contentWindow.addColor(_this8.analysis.trafficAnalysisPath1, _this8.analysis.trafficAnalysisPath2);\n });\n },\n //停止订阅mqtt\n disConnect: function disConnect() {\n /*if (client != null) {\n client.unsubscribe(this.topicSends);\n client = null;\n }*/\n },\n\n /** 实时数据分类 */\n realInfo: function realInfo(topic, message) {\n switch (topic) {\n // 接收托片\n case 'img' + this.number:\n try {\n var utf8decoder = new TextDecoder();\n var u8arr = new Uint8Array(message);\n var temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串\n\n var msg = JSON.parse(temp); //这一步报错则返回的是二进制流图片,不报错则返回的是JSON的错误提示数据\n // console.log(\"msg\",msg)\n // document.getElementById('mapModule').contentWindow.getDestination(JSON.stringify(msg));\n\n if (msg.rate == 'high') {\n document.getElementById('mapModule').contentWindow.getDestination(JSON.stringify(msg));\n } else if (msg.rate == 'low') {\n this.analysisConfigurationdata = msg;\n }\n } catch (error) {}\n\n break;\n // 树结构\n\n case 'stream' + this.number:\n try {\n var utf8decoder1 = new TextDecoder();\n\n var _u8arr = new Uint8Array(message);\n\n var _temp = utf8decoder1.decode(_u8arr); // 将二进制数据转为字符串\n\n\n var _msg = JSON.parse(_temp); // console.log(\"msg\",msg)\n\n\n document.getElementById('mapModule').contentWindow.getData(JSON.stringify(_msg));\n } catch (error) {}\n\n break;\n // 控制台输出\n\n case 'trajectory' + this.number:\n try {\n var _utf8decoder = new TextDecoder();\n\n var _u8arr2 = new Uint8Array(message);\n\n var _temp2 = _utf8decoder.decode(_u8arr2); // 将二进制数据转为字符串\n\n\n var _msg2 = JSON.parse(_temp2); // console.log(\"msg\",msg)\n\n\n document.getElementById('mapModule').contentWindow.getGuiJi(JSON.stringify(_msg2));\n } catch (error) {}\n\n break;\n // 触发\n\n case 'detection' + this.number:\n try {\n var _utf8decoder2 = new TextDecoder();\n\n var _u8arr3 = new Uint8Array(message);\n\n var _temp3 = _utf8decoder2.decode(_u8arr3); // 将二进制数据转为字符串\n\n\n var detId = [];\n var msgN = JSON.parse(_temp3); // console.log(\"msgN\",msgN)\n\n this.triggerData = msgN;\n\n if (_temp3.length != 0) {\n for (var i = 0; i < msgN.length; i++) {\n detId.push(msgN[i].det_id);\n }\n\n document.getElementById('mapModule').contentWindow.getChuFa(JSON.stringify(detId));\n }\n } catch (error) {}\n\n break;\n\n case 'trigger-' + this.$route.query.id:\n try {\n // console.log(\"trigger_msgN\",message)\n var _utf8decoder3 = new TextDecoder();\n\n var _u8arr4 = new Uint8Array(message);\n\n var _temp4 = _utf8decoder3.decode(_u8arr4); // 将二进制数据转为字符串\n\n\n var detId = [];\n\n var _msgN = JSON.parse(_temp4); // console.log(\"trigger_msgN\",msgN)\n // msgN.forEach(item => {\n // console.log(\"item.name\",item.name)\n // })\n\n\n this.triggerListData = _msgN;\n } catch (error) {}\n\n break;\n\n case 'cycle_time-' + this.$route.query.id:\n try {\n // console.log(\"trigger_msgN\",message)\n var _utf8decoder4 = new TextDecoder();\n\n var _u8arr5 = new Uint8Array(message);\n\n var _temp5 = _utf8decoder4.decode(_u8arr5); // 将二进制数据转为字符串\n\n\n var detId = [];\n\n var _msgN2 = JSON.parse(_temp5);\n\n console.log(\"周期时刻\", _msgN2);\n this.cycleTimeData = _msgN2;\n } catch (error) {}\n\n break;\n\n case 'cycle_history-' + this.$route.query.id:\n try {\n // console.log(\"trigger_msgN\",message)\n var _utf8decoder5 = new TextDecoder();\n\n var _u8arr6 = new Uint8Array(message);\n\n var _temp6 = _utf8decoder5.decode(_u8arr6); // 将二进制数据转为字符串\n\n\n var detId = [];\n\n var _msgN3 = JSON.parse(_temp6);\n\n console.log(\"历史数据\", _msgN3);\n this.cycleHistoryData = _msgN3;\n } catch (error) {}\n\n break;\n\n case 'cycle_statistics-' + this.$route.query.id:\n try {\n // console.log(\"trigger_msgN\",message)\n var _utf8decoder6 = new TextDecoder();\n\n var _u8arr7 = new Uint8Array(message);\n\n var _temp7 = _utf8decoder6.decode(_u8arr7); // 将二进制数据转为字符串\n\n\n var detId = [];\n\n var _msgN4 = JSON.parse(_temp7); // console.log(\"周期统计\",msgN)\n\n\n this.cycleStatisticsData = _msgN4; // this.cycleStatisticsData = msgN;\n } catch (error) {}\n\n break;\n\n case \"VideoStatusData\":\n try {\n var _utf8decoder7 = new TextDecoder();\n\n var _u8arr8 = new Uint8Array(message);\n\n var _temp8 = _utf8decoder7.decode(_u8arr8); // 将二进制数据转为字符串\n\n\n var _msg3 = JSON.parse(_temp8); //这一步报错则返回的是二进制流图片,不报错则返回的是JSON的错误提示数据\n // console.log(\"VideoStatusData\", msg) //msg为转换后的JSON数据\n\n\n this.changeStatus(_msg3);\n } catch (error) {}\n\n break;\n }\n\n this.receiveNews = '';\n },\n // handleClick(tab, event) {\n // console.log(tab, event);\n // },\n changeCompany: function changeCompany(val) {\n console.log('val', val);\n\n if (val == '小时') {\n this.max = '24';\n this.componentForm.cycleInterval = 1;\n } else if (val == '分钟') {\n this.max = '60';\n this.componentForm.cycleInterval = 1;\n } else if (val == '秒') {\n this.max = '60';\n this.componentForm.cycleInterval = 5;\n }\n },\n changeStatus: function changeStatus(msg) {\n //分析中\n if (msg.type == 'traffic_under_analysis' && msg.video_id == this.$route.query.id) {\n this.videoAnalysisStatus = '分析中';\n var numSatusN = ''; // loadingcard.close();\n\n numSatusN = msg.number_frames / msg.total_frames * 100;\n this.numSatus = parseFloat(numSatusN.toFixed(2));\n } else if (msg.type == 'traffic_analyzed' && msg.video_id == this.$route.query.id) {\n this.videoAnalysisStatus = '已分析';\n this.numSatus = 100; //已分析\n\n console.log(\"已分析\");\n this.postTraffic();\n } else if (msg.type == 'traffic_analyse_unusual' && msg.video_id == this.$route.query.id) {\n //分析异常\n console.log(\"分析异常\");\n this.videoAnalysisStatus = '分析异常';\n }\n },\n //初始化unity\n OnSceneN: function OnSceneN() {\n var ip = window.location.host;\n this.ipData = 'http://' + ip.split(':')[0] + ':5000'; // document.getElementById('mapModule').contentWindow.getIpData(this.ipData);\n\n document.getElementById('mapModule').contentWindow.getIpData('http://172.16.1.168:5000');\n\n if (this.$route.query.type == '离线视频') {\n document.getElementById('mapModule').contentWindow.lixianVideo(JSON.stringify(this.analysis));\n document.getElementById('mapModule').contentWindow.getDestination(JSON.stringify(this.vleNew));\n }\n\n document.getElementById('mapModule').contentWindow.postVideoId(JSON.stringify(this.$route.query.id + ',' + this.$route.query.type));\n },\n //删除图形成功获取数据\n delSuccess: function delSuccess() {\n if (this.$route.query.type == '离线视频') {\n this.$message({\n type: 'warning',\n message: '请点击交通分析,获取最新数据!',\n showClose: true,\n duration: 0\n });\n }\n },\n // //新增组件根据组件id获取单个组件数据\n getSingleComponentIdN: function getSingleComponentIdN(id, type, name) {\n var _this9 = this;\n\n console.log('id', id);\n console.log('type', type);\n console.log('name', name);\n this.closeEditShow = false;\n this.closeComponentShow = true;\n this.componentId = id;\n this.componentForm.componentType = type;\n this.componentTitle = type;\n getComponentData({\n AnalogAreaComponentId: id\n }).then(function (res) {\n console.log('res', res);\n\n if (res.data.code == 200) {\n console.log('res', res.data.data);\n _this9.component = true;\n\n if (res.data.data.company != '') {\n _this9.componentForm.company = res.data.data.company;\n } // this.componentForm.componentName = res.data.data.componentName+'-'+type\n\n\n _this9.componentForm.componentName = res.data.data.componentName;\n\n if (res.data.data.timeMode != '') {\n _this9.componentForm.timeMode = res.data.data.timeMode;\n } else {\n console.log('this.componentForm.timeMode', _this9.componentForm.timeMode);\n console.log('this.componentForm.componentType', _this9.componentForm.componentType);\n\n if (_this9.componentForm.componentType == '延误' || _this9.componentForm.componentType == '拥堵') {\n console.log('this.componentForm.timeMode', _this9.componentForm.timeMode);\n _this9.componentForm.timeMode = '周期统计';\n } else {\n _this9.componentForm.timeMode = '触发';\n }\n }\n\n _this9.componentForm.componentParameterId = res.data.data.componentParameterId;\n\n if (res.data.data.cycleInterval == '') {\n _this9.componentForm.cycleInterval = 1;\n } else {\n _this9.componentForm.cycleInterval = parseInt(res.data.data.cycleInterval);\n }\n\n _this9.componentForm.startSectionIds = res.data.data.startSectionIds; // this.componentForm.flowType = res.data.data.flowType;\n\n if (res.data.data.flowType == '') {\n _this9.componentForm.flowType = '出流';\n } else {\n _this9.componentForm.flowType = res.data.data.flowType;\n }\n\n _this9.componentForm.startSectionNames = res.data.data.startSectionNames;\n _this9.componentForm.endSectionIds = res.data.data.endSectionIds;\n _this9.componentForm.endSectionNames = res.data.data.endSectionNames;\n _this9.componentForm.company = res.data.data.company;\n _this9.componentForm.endValue = res.data.data.endValue;\n _this9.componentForm.startValue = res.data.data.startValue;\n _this9.componentForm.presentationForm = res.data.data.presentationForm;\n\n _this9.getAllSectionalData(_this9.$route.query.id); // this.componentForm.typeFiltering = res.data.data.typeFiltering\n // this.componentForm.type = res.data.data.type\n\n\n if (res.data.data.startSectionIds != '') {\n console.log('startSectionIds', res.data.data.startSectionIds);\n var startSectionIdArr = [];\n var startSectionArr = [];\n startSectionIdArr = res.data.data.startSectionIds.split(',');\n console.log('this.sectionals', _this9.sectionals);\n console.log('startSectionIdArr', startSectionIdArr);\n startSectionIdArr.forEach(function (item) {\n _this9.sectionals.forEach(function (items) {\n if (item == items.graphicId) {\n startSectionArr.push(items.graphicName);\n _this9.componentForm.startSection = startSectionArr;\n }\n });\n });\n }\n\n if (res.data.data.endSectionIds != '') {\n console.log('endSectionIds', res.data.data.endSectionIds);\n var endSectionIdArr = [];\n var endSectionArr = [];\n endSectionIdArr = res.data.data.endSectionIds.split(',');\n console.log('this.sectionals', _this9.sectionals);\n console.log('endSectionIdArr', endSectionIdArr);\n endSectionIdArr.forEach(function (item) {\n _this9.sectionals.forEach(function (items) {\n if (item == items.graphicId) {\n endSectionArr.push(items.graphicName);\n _this9.componentForm.endSection = endSectionArr;\n }\n });\n });\n }\n\n if (_this9.componentForm.presentationForm != '') {\n var arr = [];\n arr = _this9.componentForm.presentationForm.split(',');\n _this9.componentForm.presentation = arr;\n } else if (_this9.componentForm.presentationForm == '') {\n _this9.componentForm.presentation = [];\n }\n\n if (res.data.data.type != '') {\n var arr = [];\n arr = res.data.data.type.split(',');\n _this9.componentForm.type = arr;\n } else {\n _this9.componentForm.type = ['机动车', '非机动车', '行人'];\n }\n\n console.log('this.componentForm', _this9.componentForm);\n }\n });\n },\n //修改模拟区组件、图形\n getSimulationAreaEdit: function getSimulationAreaEdit(id, type, componentType, name, number) {\n var _this10 = this;\n\n console.log('number', number);\n this.numberNew = number;\n\n if (type == '图形') {\n this.form.id = id;\n this.form.name = name;\n this.form.type = componentType;\n this.startFigureName = name;\n\n if (this.form.type == '轨迹') {\n this.dialogFormVisible = true;\n } else if (this.form.type == '区域') {\n this.dialogFormVisible = true;\n } else if (this.form.type == '断面') {\n this.dialogFormVisible = true;\n }\n } else if (type == '组件') {\n this.closeEditShow = true;\n this.closeComponentShow = false;\n this.componentId = id;\n this.componentForm.componentType = componentType;\n this.componentTitle = componentType;\n getComponentData({\n AnalogAreaComponentId: id\n }).then(function (res) {\n console.log('res', res);\n\n if (res.data.code == 200) {\n console.log('res', res.data.data);\n _this10.component = true;\n\n if (res.data.data.company != '') {\n _this10.componentForm.company = res.data.data.company;\n }\n\n if (res.data.data.timeMode != '') {\n _this10.componentForm.timeMode = res.data.data.timeMode;\n } else {\n if (_this10.componentForm.componentType == '延误' || _this10.componentForm.componentType == '拥堵') {\n _this10.componentForm.timeMode = '周期统计';\n } else {\n _this10.componentForm.timeMode = '触发';\n }\n }\n\n _this10.componentForm.componentName = res.data.data.componentName;\n _this10.componentForm.componentParameterId = res.data.data.componentParameterId; // this.componentForm.cycleInterval = parseInt(res.data.data.cycleInterval);\n\n if (res.data.data.cycleInterval == '') {\n _this10.componentForm.cycleInterval = 1;\n } else {\n _this10.componentForm.cycleInterval = parseInt(res.data.data.cycleInterval);\n } // this.componentForm.flowType = res.data.data.flowType;\n\n\n if (res.data.data.flowType == '') {\n _this10.componentForm.flowType = '出流';\n } else {\n _this10.componentForm.flowType = res.data.data.flowType;\n }\n\n _this10.componentForm.startSectionIds = res.data.data.startSectionIds;\n _this10.componentForm.startSectionNames = res.data.data.startSectionNames;\n _this10.componentForm.endSectionIds = res.data.data.endSectionIds;\n _this10.componentForm.endSectionNames = res.data.data.endSectionNames;\n _this10.componentForm.endValue = res.data.data.endValue;\n _this10.componentForm.startValue = res.data.data.startValue;\n _this10.componentForm.presentationForm = res.data.data.presentationForm; // this.componentForm.type = res.data.data.type\n\n if (res.data.data.startSectionIds != '') {\n console.log('startSectionIds', res.data.data.startSectionIds);\n var startSectionIdArr = [];\n var startSectionArr = [];\n startSectionIdArr = res.data.data.startSectionIds.split(',');\n console.log('this.sectionals', _this10.sectionals);\n console.log('startSectionIdArr', startSectionIdArr);\n startSectionIdArr.forEach(function (item) {\n _this10.sectionals.forEach(function (items) {\n if (item == items.graphicId) {\n startSectionArr.push(items.graphicName);\n _this10.componentForm.startSection = startSectionArr;\n }\n });\n });\n }\n\n if (res.data.data.endSectionIds != '') {\n console.log('endSectionIds', res.data.data.endSectionIds);\n var endSectionIdArr = [];\n var endSectionArr = [];\n endSectionIdArr = res.data.data.endSectionIds.split(',');\n console.log('this.sectionals', _this10.sectionals);\n console.log('endSectionIdArr', endSectionIdArr);\n endSectionIdArr.forEach(function (item) {\n _this10.sectionals.forEach(function (items) {\n if (item == items.graphicId) {\n endSectionArr.push(items.graphicName);\n _this10.componentForm.endSection = endSectionArr;\n }\n });\n });\n }\n\n if (_this10.componentForm.presentationForm != '') {\n var arr = [];\n arr = _this10.componentForm.presentationForm.split(',');\n _this10.componentForm.presentation = arr;\n } else if (_this10.componentForm.presentationForm == '') {\n _this10.componentForm.presentation = [];\n }\n\n if (res.data.data.type != '') {\n var arr = [];\n arr = res.data.data.type.split(',');\n _this10.componentForm.type = arr;\n } else {// this.componentForm.type = ['机动车', '非机动车', '行人'];\n }\n }\n });\n }\n },\n //获取所有断面数据\n getAllSectionalData: function getAllSectionalData(VideoId) {\n var _this11 = this;\n\n getSectionalData({\n VideoId: VideoId\n }).then(function (res) {\n console.log('res', res);\n\n if (res.data.code == 200) {\n _this11.sectionals = res.data.data;\n }\n });\n },\n figureType: function figureType(type) {\n if (type == 'Move') {\n type = '轨迹';\n } else if (type == 'Poly') {\n type = '区域';\n } else if (type == 'Line') {\n type = '断面';\n }\n\n return type;\n },\n getFigureD: function getFigureD(item, index, indexNew) {\n console.log('图形类型', item);\n console.log('初始图形名称', index);\n this.startFigureName = index;\n console.log('图形位置', indexNew);\n this.dialogFormVisible = true;\n this.form.name = index;\n this.form.type = this.figureType(item);\n this.form.coordinate = indexNew;\n this.form.id = '';\n this.title = this.figureType(item);\n },\n //双击图形修改图形名称弹框\n getModifyTheNameN: function getModifyTheNameN(data, number) {\n console.log('data', data);\n console.log('number', number);\n this.numberNew = number;\n var arr = [];\n arr = data.split(',');\n console.log('arr', arr);\n this.form.id = arr[0];\n this.form.name = arr[1];\n this.form.type = arr[2];\n this.startFigureName = arr[1];\n\n if (this.form.type == '轨迹') {\n // this.open2()\n this.dialogFormVisible = true;\n } else if (this.form.type == '区域') {\n this.dialogFormVisible = true;\n } else if (this.form.type == '断面') {\n this.dialogFormVisible = true;\n }\n },\n //新增、编辑图形确认按钮\n onSubmit: function onSubmit(form) {\n var _this12 = this;\n\n console.log('form', form); //新增\n\n if (form.id == '') {\n var formData = new FormData();\n\n if (form.type == '断面') {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n formData.append('Coordinate', form.coordinate);\n formData.append('VideoId', this.VideoId);\n formData.append('Direction', form.Direction);\n } else if (form.type == '区域') {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n formData.append('Coordinate', form.coordinate);\n formData.append('VideoId', this.VideoId); // formData.append(\"Direction\",form.Direction);\n // formData.append(\"StoppingSpeed\",form.StoppingSpeed);\n } else {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n formData.append('Coordinate', form.coordinate);\n formData.append('VideoId', this.VideoId); // formData.append(\"Direction\",form.Direction);\n }\n\n axios({\n method: 'post',\n url: serverUrl.addFigure,\n data: formData\n }).then(function (res) {\n console.log('res', res);\n\n if (res.data.code == 200) {\n _this12.$message({\n message: res.data.msg,\n type: 'success'\n }); // setTimeout(() => {\n // this.$message({\n // type: \"warning\",\n // message: \"请点击交通分析,获取最新数据!\",\n // showClose: true,\n // duration:0,\n // });\n // }, 3000);\n\n\n document.getElementById('mapModule').contentWindow.postFigureId(JSON.stringify(res.data.data));\n document.getElementById('mapModule').contentWindow.postFigureName(JSON.stringify(res.data.data + ',' + form.name + ',' + _this12.startFigureName + ',' + _this12.numberNew));\n _this12.dialogFormVisible = false;\n } else {\n _this12.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n } else {\n //编辑\n var _formData = new FormData();\n\n if (form.type == '断面') {\n _formData.append('GraphicName', form.name);\n\n _formData.append('GraphicType', form.type);\n\n _formData.append('Direction', form.Direction);\n\n _formData.append('GraphicId', form.id);\n\n _formData.append('VideoId', this.VideoId);\n } else if (form.type == '区域') {\n _formData.append('GraphicName', form.name);\n\n _formData.append('GraphicType', form.type);\n\n _formData.append('Direction', form.Direction);\n\n _formData.append('GraphicId', form.id);\n\n _formData.append('VideoId', this.VideoId);\n\n _formData.append('StoppingSpeed', form.StoppingSpeed);\n } else {\n _formData.append('GraphicName', form.name);\n\n _formData.append('GraphicType', form.type); // formData.append(\"Direction\",form.Direction);\n\n\n _formData.append('GraphicId', form.id);\n\n _formData.append('VideoId', this.VideoId);\n }\n\n axios({\n method: 'post',\n url: serverUrl.editFigure,\n data: _formData\n }).then(function (res) {\n console.log('res', res);\n\n if (res.data.code == 200) {\n _this12.$message({\n message: res.data.msg,\n type: 'success'\n }); // setTimeout(() => {\n // this.$message({\n // type: 'warning',\n // message: '请点击交通分析,获取最新数据!',\n // showClose: true,\n // duration: 0\n // });\n // }, 5000);\n\n\n console.log('startFigureName', _this12.startFigureName);\n document.getElementById('mapModule').contentWindow.postFigureId(JSON.stringify(res.data.data));\n console.log('this.numberNew', _this12.numberNew);\n document.getElementById('mapModule').contentWindow.postFigureName(JSON.stringify(form.id + ',' + form.name + ',' + _this12.startFigureName + ',' + _this12.numberNew));\n _this12.dialogFormVisible = false;\n } else {\n _this12.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n }\n },\n //编辑组件\n onSubmitComponent: function onSubmitComponent(componentForm) {\n var _this13 = this;\n\n this.component = false;\n var formData = new FormData();\n\n if (componentForm.componentType == 'OD') {\n //名称\n formData.append('componentName', componentForm.componentName); //单位\n\n formData.append('company', componentForm.company); //id\n\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('startSectionIds', componentForm.startSectionIds);\n formData.append('startSectionNames', componentForm.startSectionNames);\n formData.append('endSectionIds', componentForm.endSectionIds);\n formData.append('endSectionNames', componentForm.endSectionNames);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', '矩阵图');\n } else if (componentForm.componentType == '类型') {\n //名称\n formData.append('componentName', componentForm.componentName); //单位\n\n formData.append('company', componentForm.company); //id\n\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', componentForm.presentationForm);\n formData.append('type', componentForm.type);\n } else {\n //名称\n formData.append('componentName', componentForm.componentName); //单位\n\n formData.append('company', componentForm.company); //id\n\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', componentForm.presentationForm);\n formData.append('flowType', componentForm.flowType);\n }\n\n axios({\n method: 'post',\n url: serverUrl.editComponent,\n data: formData\n }).then(function (res) {\n console.log('res', res);\n\n if (res.data.code == 200) {\n _this13.$message({\n message: res.data.msg,\n type: 'success'\n }); // document.getElementById(\"mapModule\").contentWindow.postFigureId(JSON.stringify(res.data.data))\n\n\n document.getElementById('mapModule').contentWindow.editComponent(_this13.componentId + ',' + componentForm.componentName);\n _this13.dialogFormVisible = false;\n } else {\n _this13.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n },\n //新增编辑组件取消\n closeComponent: function closeComponent(componentForm) {\n var _this14 = this;\n\n console.log(\"componentForm\", componentForm);\n this.component = false;\n var formData = new FormData();\n\n if (componentForm.componentType == 'OD') {\n //名称\n formData.append('componentName', componentForm.componentName); //单位\n\n formData.append('company', componentForm.company); //id\n\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('startSectionIds', componentForm.startSectionIds);\n formData.append('startSectionNames', componentForm.startSectionNames);\n formData.append('endSectionIds', componentForm.endSectionIds);\n formData.append('endSectionNames', componentForm.endSectionNames);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', '矩阵图');\n } else if (componentForm.componentType == '类型') {\n //名称\n formData.append('componentName', componentForm.componentName); //单位\n\n formData.append('company', componentForm.company); //id\n\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', componentForm.presentationForm);\n formData.append('type', componentForm.type);\n } else {\n //名称\n formData.append('componentName', componentForm.componentName); //单位\n\n formData.append('company', componentForm.company); //id\n\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', componentForm.presentationForm);\n formData.append('flowType', componentForm.flowType);\n }\n\n axios({\n method: 'post',\n url: serverUrl.editComponent,\n data: formData\n }).then(function (res) {\n console.log('res', res);\n\n if (res.data.code == 200) {\n _this14.$message({\n message: res.data.msg,\n type: 'success'\n }); // document.getElementById(\"mapModule\").contentWindow.postFigureId(JSON.stringify(res.data.data))\n\n\n document.getElementById('mapModule').contentWindow.editComponent(_this14.componentId + ',' + componentForm.componentName);\n _this14.dialogFormVisible = false;\n } else {\n _this14.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n }); // document.getElementById('mapModule').contentWindow.editComponent('');\n },\n closeEdit: function closeEdit(componentForm) {\n this.component = false;\n document.getElementById('mapModule').contentWindow.editComponent('');\n },\n //新增、编辑图形取消按钮\n closeFigure: function closeFigure(form) {\n console.log('form', form);\n\n if (form.id != '') {\n this.dialogFormVisible = false;\n document.getElementById('mapModule').contentWindow.closeEdit(JSON.stringify(form.type + ',' + form.id));\n } else {\n this.dialogFormVisible = false;\n document.getElementById('mapModule').contentWindow.delFigure();\n }\n },\n closeComponentForm: function closeComponentForm(componentForm) {\n console.log(\"111\", componentForm);\n\n if (this.closeComponentShow == false) {\n this.component = false;\n document.getElementById('mapModule').contentWindow.editComponent('');\n } else if (this.closeComponentShow == true) {\n this.closeComponent(componentForm);\n }\n },\n closeForm: function closeForm(form) {\n if (this.form.id != '') {\n this.dialogFormVisible = false;\n document.getElementById('mapModule').contentWindow.closeEdit(JSON.stringify(form.type + ',' + form.id));\n } else {\n this.dialogFormVisible = false;\n document.getElementById('mapModule').contentWindow.delFigure();\n }\n },\n //改变起点\n handleCheckedStartSection: function handleCheckedStartSection(value) {\n var _this15 = this;\n\n console.log('改变起点', value);\n var startSectionIdArr = [];\n var startSectionNameArr = [];\n value.forEach(function (item) {\n _this15.sectionals.forEach(function (items) {\n if (item == items.graphicName) {\n startSectionIdArr.push(items.graphicId);\n startSectionNameArr.push(items.graphicName);\n var newStartSectionId = startSectionIdArr.join(',');\n var newStartSectionName = startSectionNameArr.join(',');\n _this15.componentForm.startSectionIds = newStartSectionId;\n _this15.componentForm.startSectionNames = newStartSectionName;\n }\n });\n });\n },\n //改变终点\n handleCheckedendSection: function handleCheckedendSection(value) {\n var _this16 = this;\n\n console.log('改变终点', value);\n var endSectionIdArr = [];\n var endSectionNameArr = [];\n value.forEach(function (item) {\n _this16.sectionals.forEach(function (items) {\n if (item == items.graphicName) {\n endSectionIdArr.push(items.graphicId);\n endSectionNameArr.push(items.graphicName);\n var newendSectionId = endSectionIdArr.join(',');\n var newEndSectionName = endSectionNameArr.join(',');\n console.log('newendSectionId', newendSectionId);\n console.log('newEndSectionName', newEndSectionName);\n _this16.componentForm.endSectionIds = newendSectionId;\n _this16.componentForm.endSectionNames = newEndSectionName;\n }\n });\n });\n },\n //修改展现形式\n handlePresentation: function handlePresentation(value) {\n console.log('展现形式', value);\n var presentation = value.join(',');\n this.componentForm.presentationForm = presentation;\n console.log('this.componentForm.presentationForm', this.componentForm.presentationForm);\n },\n //类型数据\n handleTypeData: function handleTypeData(value) {\n console.log('类型数据', value);\n var type = value.join(',');\n this.componentForm.typeData = type;\n },\n //模型加载等待\n loadingShow: function loadingShow(data) {\n this.loadingShow1 = data;\n },\n handleSearch: function handleSearch() {\n this.modelOthers = true;\n this.$refs.htModels.finbBox(this.inputVal);\n console.log(this.$refs.htModels, 'asdasdasd');\n this.inputVal = '';\n },\n handleRow: function handleRow(val) {\n this.modelOthers = true;\n this.$refs.htModels.finbBox(val);\n },\n // 天气\n handleWather: function handleWather() {\n var _this17 = this;\n\n axios({\n url: 'https://restapi.amap.com/v3/weather/weatherInfo?key=bc2b906032fdd8a63cbd0790d656b1d7&city=620100',\n methods: ''\n }).then(function (res) {\n _this17.weatherItem = res.data.lives[0];\n console.log(_this17.weatherItem, 'asdsads');\n });\n }\n },\n components: {\n editModal: editModal,\n analysisConfiguration: analysisConfiguration,\n dataBoard: dataBoard\n }\n};",{"version":3,"sources":["index.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\n <div class=\"content-box\">\n <!-- <div class=\"container\"> -->\n <div>\n <!-- <el-tabs type=\"border-card\" v-model=\"activeName\" tab-position=\"left\"> -->\n <el-tabs type=\"border-card\" v-model=\"activeName\" @tab-click=\"handleClick\">\n <el-tab-pane :label=\"titName\" name=\"first\">\n <div class=\"mapModuleApp\">\n <iframe id=\"mapModule\" src=\"./VideoWeb/index.html\" frameborder=\"0\" style=\"width: 100%; height:100%;\"\n scrolling=\"no\" v-if=\"videoUnityShow\"></iframe>\n <!-- <iframe src=\"./VideoWeb/index.html\" style=\"height: 100%; width: 100%;border: none\" ref=\"iframe\"></iframe> -->\n <el-empty :description=\"description\" v-if=\"videoAnalysisShow\"> </el-empty>\n </div>\n </el-tab-pane>\n <el-tab-pane label=\"数据看板\" name=\"second\" >\n <dataBoard ref=\"dataBoardRef\" :activeName=\"activeName\" :triggerData=\"triggerData\" :triggerListData=\"triggerListData\"\n :cycleTimeData=\"cycleTimeData\" :cycleStatisticsData=\"cycleStatisticsData\" :cycleHistoryData='cycleHistoryData'></dataBoard>\n </el-tab-pane>\n <el-tab-pane label=\"分析配置\" name=\"third\">\n <analysisConfiguration :analysisConfigurationdata=\"analysisConfigurationdata\"></analysisConfiguration>\n </el-tab-pane>\n <el-tab-pane label=\"分析状态\" name=\"fourth\">\n <editModal></editModal>\n </el-tab-pane>\n <el-tab-pane label=\"存储\" name=\"five\">存储</el-tab-pane>\n </el-tabs>\n <!-- <el-button class=\"videoAnalysis\" type=\"primary\" size=\"mini\" @click=\"videoAnalysisBtn\" v-if=\"videoAnalysisShow\" :disabled='disabledVideoAnalysis'\n >视频分析</el-button> -->\n <!-- <div class=\"progressNew\" v-if=\"(this.$route.query.type == '离线视频' && videoAnalysisStatus=='分析中') || (this.$route.query.type == '离线视频' &&videoAnalysisStatus=='未分析')|| (this.$route.query.type == '离线视频' &&videoAnalysisStatus=='已分析')\">\n <el-progress :percentage=\"numSatus\"></el-progress>\n </div> -->\n <div class=\"progressNew\" v-if=\"this.$route.query.type == '离线视频'&&videoAnalysisStatusNew!='分析异常'\">\n <el-progress :percentage=\"numSatus\" ></el-progress>\n \n <!-- <el-progress :percentage=\"numSatus\" :color=\"percentageColor\"></el-progress> -->\n </div> \n <div class=\"progressNewV\" v-if=\"this.$route.query.type == '离线视频'&&videoAnalysisStatusNew=='分析异常'\">\n <el-progress :percentage=\"numSatus\" ></el-progress>\n <!-- <el-progress :percentage=\"numSatus\" :color=\"percentageColor\"></el-progress> -->\n </div> \n <el-button class=\"trafficAnalysis\" type=\"primary\" plain size=\"mini\" @click=\"trafficAnalysisBtn\"\n v-if=\"trafficAnalysisShow\" :disabled=\"disabledTrafficAnalysis\">交通分析</el-button>\n </div>\n <el-drawer class=\"new-dialog\" :visible.sync=\"dialogFormVisible\" direction=\"btt\" custom-class=\"demo-drawer\"\n ref=\"drawer\" :modal=\"false\" :close-on-click-modal=\"false\" v-alterELDialogMarginTop=\"{ marginTop: '0vh' }\"\n width=\"100%\" :wrapperClosable=\"false\" :with-header=\"false\" size=\"100%\">\n <div class=\"formBox\">\n <el-form ref=\"form\" :model=\"form\" label-width=\"80px\" :inline=\"true\">\n <el-form-item label=\"组件名称\">\n <el-input v-model=\"form.name\"></el-input>\n </el-form-item>\n <el-form-item label=\"断面方向\" v-if=\"form.type == '断面'\">\n <el-select v-model=\"form.Direction\" placeholder=\"请选择类型\">\n <el-option label=\"正向\" value=\"正向\"></el-option>\n <el-option label=\"反向\" value=\"反向\"></el-option>\n <el-option label=\"双向\" value=\"双向\"></el-option>\n </el-select>\n </el-form-item>\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmit(form)\">确认</el-button>\n <el-button @click=\"closeFigure(form)\">取消</el-button>\n </el-form-item>\n </el-form>\n </div>\n </el-drawer>\n <!-- 组件弹框 -->\n <el-dialog :title=\"componentTitle + '指标组件'\" width=\"40%\" :visible.sync=\"component\" :close-on-click-modal=\"false\"\n @close=\"closeComponentForm(componentForm)\">\n <el-form ref=\"form\" :model=\"componentForm\" label-width=\"150px\">\n <el-form-item label=\"名称:\">\n <el-input v-model=\"componentForm.componentName\"></el-input>\n </el-form-item>\n\n <el-form-item label=\"类型筛选:\" v-if=\"componentForm.componentType == '类型'\">\n <el-checkbox-group v-model=\"componentForm.type\" @change=\"handleTypeData\">\n <el-checkbox v-for=\"item in typeData\" :label=\"item\" :key=\"item\">{{ item }}</el-checkbox>\n </el-checkbox-group>\n </el-form-item>\n <el-form-item label=\"数值筛选:\" v-if=\"\n componentForm.componentType != 'OD' &&\n componentForm.componentType != '类型' &&\n componentForm.componentType != '流量'\n \">\n <el-input-number v-model=\"componentForm.startValue\" :min=\"0\"></el-input-number>\n <el-input-number v-model=\"componentForm.endValue\" :min=\"1\" style=\"margin-left:5%\"></el-input-number>\n </el-form-item>\n <el-form-item label=\"流量类型:\" v-if=\"componentForm.componentType == '流量'\">\n <el-radio-group v-model=\"componentForm.flowType\">\n <el-radio label=\"出流\"></el-radio>\n <el-radio label=\"入流\"></el-radio>\n </el-radio-group>\n </el-form-item>\n <el-form-item label=\"时间模式:\">\n <el-select v-model=\"componentForm.timeMode\" placeholder=\"请选择时间模式\">\n <el-option label=\"触发\" value=\"触发\"\n v-if=\"componentForm.componentType != '延误' && componentForm.componentType != '拥堵'\"></el-option>\n <el-option label=\"周期时刻\" value=\"周期时刻\" v-if=\"\n componentForm.componentType != '排队数' &&\n componentForm.componentType != '检测数' &&\n componentForm.componentType != '延误' &&\n componentForm.componentType != '拥堵' &&\n componentForm.componentType != '流量'&&\n componentForm.componentType != '流量'\n \"></el-option>\n <el-option label=\"周期统计\" value=\"周期统计\" v-if=\"componentForm.componentType != 'OD'\"> </el-option>\n </el-select>\n </el-form-item>\n <!-- <el-form-item label=\"触发类型:\" v-if=\"componentForm.timeModel=='touch'\">\n <el-radio-group v-model=\"componentForm.touchType\" >\n <el-radio label=\"实时(触发)\"></el-radio>\n <el-radio label=\"间隔\"></el-radio>\n </el-radio-group>\n </el-form-item> -->\n <el-form-item label=\"周期间隔:\" v-if=\"componentForm.timeMode != '触发'\">\n <!-- <el-slider v-model=\"componentForm.cycleInterval\" show-input>\n </el-slider> -->\n <div style=\"display:inline\">\n <el-select v-model=\"componentForm.company\" placeholder=\"请选择单位\" @change=\"changeCompany\">\n <!-- <el-option v-for=\"item in timeSelect\" :key=\"item.value\" :label=\"item.label\" :value=\"item.value\"></el-option> -->\n <el-option label=\"秒\" value=\"秒\" v-if=\"this.$route.query.type != '实时视频'||componentForm.timeMode != '周期统计'\"></el-option>\n <el-option label=\"分钟\" value=\"分钟\" ></el-option>\n <el-option label=\"小时\" value=\"小时\" v-if=\"this.$route.query.type != '离线视频'||(this.$route.query.type == '实时视频'&&componentForm.timeMode == '周期统计')\"></el-option>\n </el-select>\n <!-- <el-slider v-model=\"componentForm.cycleInterval\" :max=\"max\" :min=\"min\"> </el-slider> -->\n <el-slider v-model=\"componentForm.cycleInterval\" :max=\"60\" :min=\"5\" v-if=\"componentForm.company == '秒'\"> </el-slider>\n <el-slider v-model=\"componentForm.cycleInterval\" :max=\"60\" :min=\"1\" v-if=\"componentForm.company == '分钟'\"> </el-slider>\n <el-slider v-model=\"componentForm.cycleInterval\" :max=\"24\" :min=\"1\" v-if=\"componentForm.company == '小时'\"> </el-slider>\n </div>\n </el-form-item>\n <!-- <el-form-item label=\"单位:\" ></el-form-item> -->\n <el-form-item label=\"起点:\" v-if=\"componentForm.componentType == 'OD'\">\n <el-checkbox-group v-model=\"componentForm.startSection\" @change=\"handleCheckedStartSection\">\n <el-checkbox v-for=\"item in sectionals\" :label=\"item.graphicName\" :key=\"item.graphicId\">{{\n item.graphicName\n }}</el-checkbox>\n </el-checkbox-group>\n </el-form-item>\n <el-form-item label=\"终点:\" v-if=\"componentForm.componentType == 'OD'\">\n <el-checkbox-group v-model=\"componentForm.endSection\" @change=\"handleCheckedendSection\">\n <el-checkbox v-for=\"item in sectionals\" :label=\"item.graphicName\" :key=\"item.graphicId\">{{\n item.graphicName\n }}</el-checkbox>\n </el-checkbox-group>\n </el-form-item>\n <el-form-item label=\"展现形式:\" v-if=\"componentForm.componentType != 'OD'\">\n <el-checkbox-group v-model=\"componentForm.presentation\" @change=\"handlePresentation\">\n <el-checkbox label=\"数值\" name=\"presentation\"></el-checkbox>\n <el-checkbox label=\"表格\" name=\"presentation\"\n v-if=\"componentForm.componentType != '拥堵'\"></el-checkbox>\n <el-checkbox label=\"时间曲线图\" name=\"type\"></el-checkbox>\n <el-checkbox label=\"直方图\" name=\"presentation\"\n v-if=\"componentForm.componentType == '类型'\"></el-checkbox>\n <el-checkbox label=\"饼状图\" name=\"presentation\"\n v-if=\"componentForm.componentType == '类型'\"></el-checkbox>\n <!-- 速度、车头时距、排队数(周期统计)、检测数(周期统计) -->\n <el-checkbox label=\"均值图\" name=\"presentation\"\n v-if=\"componentForm.componentType == '速度' || componentForm.componentType == '车头时距' || (componentForm.componentType == '排队数' &&componentForm.timeMode == '周期统计')|| (componentForm.componentType == '检测数'&&componentForm.timeMode == '周期统计')\"></el-checkbox>\n </el-checkbox-group>\n <!-- <el-checkbox-group v-model=\"componentForm.presentation\" @change=\"handlePresentation\">\n <el-checkbox v-for=\"item in sectionals\" :label=\"item.graphicName\" :key=\"item.graphicId\" >{{item.graphicName}}</el-checkbox>\n </el-checkbox-group> -->\n <!-- <el-tag type=\"warning\" ></el-tag> -->\n <!-- <el-alert v-if=\"componentForm.componentType == '速度'\"\n title=\"请至分析配置设置坐标转换\"\n type=\"info\"\n show-icon>\n </el-alert> -->\n </el-form-item>\n\n <el-form-item>\n <el-button type=\"primary\" @click=\"onSubmitComponent(componentForm)\">确认</el-button>\n <!-- 新增取消 -->\n <el-button @click=\"closeComponent(componentForm)\" v-if=\"closeComponentShow\">取消</el-button>\n <!-- 编辑取消 -->\n <el-button @click=\"closeEdit(componentForm)\" v-if=\"closeEditShow\">取消</el-button>\n </el-form-item>\n \n </el-form>\n </el-dialog>\n\n <!-- </div> -->\n </div>\n</template>\n\n<script>\n// import mqtt from \"mqtt\"; // mqtt协议\nimport editModal from '@/views/bounced/maintenanceRemind';\nimport analysisConfiguration from '@/views/bounced/analysisConfiguration';\nimport dataBoard from '@/views/bounced/dataBoard';\nimport {\n getComponentData,\n getSectionalData,\n getVideoStatus,\n startTrafficAnalysis,\n startVideoAnalysis,\n getAnalysisData\n} from '../api/index';\nimport serverUrl from '../config/apiurl.js';\nimport axios from 'axios';\n// mqtt\n// import mqttHandle from \"../../../utils/mqttHandle\";\nimport mqttConfig from '@/utils/mqttConfig.js';\nvar mqtt; //mqtt 处理对象(全局变量)\nvar client;\n// //判断\nexport default {\n data() {\n return {\n percentageColor:'blue',\n closeComponentShow:true,\n closeEditShow:false,\n max:'100',\n min:'1',\n receiveNews: '',\n topicSends: ['img0', 'stream0', 'trajectory0', 'detection0'],\n trajectory: false, //轨迹\n hideBoxShow: true, //隐藏箱子按钮显示隐藏\n closeStatus: null,\n modelOthers: false,\n componentShow: '',\n isShowBtn: true, //菜单按钮隐藏\n isShowBtn1: false, //菜单按钮显示\n inputVal: '',\n dialogFormVisible: false,\n areaComponent: false,\n indexModule: false,\n disabledTrafficAnalysis: true,\n disabledVideoAnalysis: false,\n //判断模拟区,画布区\n numberNew: 1,\n speed: false,\n component: false,\n sectionals: [],\n activeName: 'first',\n VideoId: '',\n title: '断面',\n componentTitle: '速度',\n form: {\n name: '',\n type: '',\n id: '',\n coordinate: '',\n Direction: '双向',\n StoppingSpeed: '5'\n },\n //初始图形名称\n startFigureName: '',\n areaComponentform: {\n name: '',\n region: '',\n date1: '',\n date2: '',\n delivery: false,\n type: [],\n resource: '实时(触发)',\n desc: ''\n },\n timeSelect: [\n {\n label: '秒',\n value: '秒'\n },\n {\n label: '分钟',\n value: '分钟'\n },\n {\n label: '小时',\n value: '小时'\n }\n ],\n titName: '',\n componentForm: {\n //单位\n company: '',\n componentName: '',\n componentParameterId: '01888e05fac246b29e3a19a27c3d2ab0',\n //周期间隔\n cycleInterval: 1,\n startSectionIds: '',\n startSectionNames: '',\n endSectionIds: '',\n endSectionNames: '',\n endValue: '',\n //展现形式\n presentationForm: '',\n presentation: [],\n startValue: '',\n timeMode: '',\n type: ['机动车', '非机动车', '行人'],\n startSection: [],\n endSection: [],\n componentType: '',\n typeFiltering: '',\n typeData: [],\n flowType: '出流'\n },\n // typeData: ['小汽车', '公交车', '卡车', '非机动车', '行人'],\n typeData: ['机动车', '非机动车', '行人'],\n //展现形式\n presentation: ['数值', '表格', '时间曲线图', '均值图'],\n trackForm: {\n name: ''\n },\n nowTime: '',\n ins: 0,\n btnPic: [],\n Data: [\n {\n title: 'xx路口',\n url: ''\n },\n {\n title: '数据看板',\n url: ''\n },\n {\n title: '分析配置',\n url: ''\n },\n {\n title: '分析配置',\n url: ''\n }\n ],\n messageInfo: [],\n orderList: [],\n enterList: [],\n stockInfo: [],\n perCent: 0,\n perCent1: 0,\n perCent2: 0,\n facToal: '',\n wbContent: '',\n // wxContent:'',\n inContent: '',\n outContent: '',\n containerDetails: '',\n locdesc: '',\n weatherItem: {},\n loadingShow1: true,\n number: '',\n componentId: '',\n analysisConfigurationdata: {},\n //触发数据\n triggerData: [],\n triggerListData: [],\n //周期时刻\n cycleTimeData: [],\n //周期统计\n cycleStatisticsData: [],\n //历史数据\n cycleHistoryData:{},\n //视频类型\n videoType: '',\n videoAnalysisShow: false,\n trafficAnalysisShow: false,\n //控制unity展示\n videoUnityShow: true,\n videoAnalysisSta: '',\n analysis: {\n trafficAnalysisPath1: '',\n trafficAnalysisPath2: '',\n videoAnalysisPath: '',\n videoName: '',\n videoPath: '',\n videoTotalFrames: '',\n videoType: '实时视频',\n videoId:''\n },\n description: '请等待排队',\n ipData: '',\n\n\n componentList:[],\n //离线视频加载进度\n numSatus:0,\n //离线视频状态\n videoAnalysisStatusNew:'未分析',\n videoAnalysisStatusShow:true,\n vleNew:''\n };\n },\n\n //离开当前页面后执行\n destroyed: function () {\n //console.log(\"离开当前页\")\n // client.publish('msg_stream',JSON.stringify({\"msg_flag\":-1}))\n //client.end();\n },\n created() {\n window.OnScene = this.OnSceneN;\n this.getAllSectionalData(this.$route.query.id);\n this.VideoId = this.$route.query.id;\n this.number = this.$route.query.num;\n this.titName = this.$route.query.name;\n window.getFigure = this.getFigureD;\n window.getModifyTheName = this.getModifyTheNameN;\n // window.getModifyTheName = this.getModifyTheNameN;\n window.getSingleComponentId = this.getSingleComponentIdN;\n window.getSimulationAreaEdit = this.getSimulationAreaEdit;\n window.getZhuanFaMQTT= this.getZhuanFaMQTT;\n window.delSuccess = this.delSuccess;\n if (this.$route.query.type == '实时视频') {\n this.videoAnalysisShow = false;\n this.trafficAnalysisShow = false;\n\n this.createMqtt();\n\n // document.getElementById('mapModule').contentWindow.lixianVideo(JSON.stringify(this.analysis));\n } else if (this.$route.query.type == '离线视频') {\n this.videoAnalysisShow = true;\n this.trafficAnalysisShow = true;\n this.getAnalysisStatus();\n this.createMqtt();\n // if(this.$route.query.status=='未分析'){\n // }\n // if(this.$route.query.status=='未分析'){\n // // document.getElementById('mapModule').contentWindow.lixianVideo(\"实时视频\");\n // }else{\n // }\n }\n },\n mounted() { },\n methods: {\n // 数据看板的标签点击\n handleClick: function(tab, event) {\n var that = this\n if(tab._props.name=='second'){\n that.$nextTick(()=>{\n // \n that.$refs.dataBoardRef.getNew()\n // setTimeout(() => {\n // debugger\n // this.getHistory()\n // }, 10000);\n this.getHistory()\n }) \n }\n },\n /** 创建mqtt */\n createMqtt() {\n //创建链接,接收数据\n if(this.$route.query.type == '离线视频'){\n this.topicSends = [\n // 'stream' + this.number,\n // 'trajectory' + this.number,\n // 'detection' + this.number,\n 'trigger-' + this.$route.query.id,\n 'cycle_history-'+ this.$route.query.id,\n 'cycle_time-' + this.$route.query.id,\n 'cycle_statistics-' + this.$route.query.id,\n //获取离线视频数据\n 'VideoStatusData'\n ];\n window.PubScribe(this.topicSends,'001', this.realInfo); \n setTimeout(() => {\n this.getHistory()\n }, 5000);\n }else if(this.$route.query.type == '实时视频'){\n this.topicSends = [\n 'stream' + this.number,\n 'trajectory' + this.number,\n 'detection' + this.number,\n 'trigger-' + this.$route.query.id,\n 'cycle_time-' + this.$route.query.id,\n 'cycle_statistics-' + this.$route.query.id\n ];\n window.PubScribe(this.topicSends, this.number, this.realInfo,this.$route.query.id);\n }\n setTimeout(() => {\n window.publish('Custom',JSON.stringify({\"type\":\"getImage\",\"videoid\":this.$route.query.id}));\n }, 5000);\n },\n //获取视频分析,交通分析状态数据\n getAnalysisStatus() {\n getVideoStatus(this.$route.query.id).then(res => {\n console.log('res.data', res.data);\n //视频分析状态\n if (res.data.data.videoAnalysisStatus == '未分析') {\n this.disabledTrafficAnalysis = true;\n this.videoUnityShow = false;\n this.analysisData();\n } else if (res.data.data.videoAnalysisStatus == '分析中') {\n this.disabledVideoAnalysis = true;\n this.videoUnityShow = false;\n setTimeout(() => {\n this.getAnalysisStatus();\n }, 5000);\n } else if (res.data.data.videoAnalysisStatus == '已分析') {\n this.videoUnityShow = true;\n this.videoAnalysisSta = res.data.data.videoAnalysisStatus;\n this.disabledTrafficAnalysis = false;\n this.analysisData();\n //交通分析状态\n } else if (res.data.data.videoAnalysisStatus == '分析异常') {\n // this.videoUnityShow = true;\n // this.videoAnalysisSta = res.data.data.videoAnalysisStatus;\n // this.disabledTrafficAnalysis = false;\n this.videoAnalysisStatusNew = '分析异常'\n // this.percentageColor = 'red'\n this.analysisData();\n //交通分析状态\n } else if (res.data.data.trafficAnalysisStatus == '未分析') {\n this.disabledVideoAnalysis = true;\n } else if (res.data.data.trafficAnalysisStatus == '分析中') {\n this.disabledVideoAnalysis = true;\n this.disabledTrafficAnalysis = true;\n } else if (res.data.data.videoAnalysisStatus == '已分析' || res.data.data.trafficAnalysisStatus == '已分析') {\n this.disabledVideoAnalysis = false;\n this.disabledTrafficAnalysis = true;\n }\n });\n },\n //获取离线视频周期时刻周期统计\n getHistory(){\n window.publish('GetCycleHistory','Get-'+this.$route.query.id); \n },\n getZhuanFaMQTT(topic,msg){\n // console.log(\"topic\",topic)\n // console.log(\"msg\",msg)\n window.publish(topic,msg); \n },\n //分析视频按钮\n videoAnalysisBtn() {\n startVideoAnalysis(this.$route.query.id).then(res => {\n //\n if (res.data.msg == '请求成功') {\n this.$message({\n message: '启动成功',\n type: 'success'\n });\n setTimeout(() => {\n this.getAnalysisStatus();\n }, 5000);\n // if(this.videoAnalysisSta=='已分析'){\n\n // }else if(this.videoAnalysisSta=='分析中'){\n // this.description = '正在分析中'\n // setTimeout(() => {\n // this.getAnalysisStatus()\n // }, 5000);\n // }else if(this.videoAnalysisSta=='未分析'){\n // }\n }\n });\n },\n //交通分析\n trafficAnalysisBtn() {\n startTrafficAnalysis(this.$route.query.id).then(res => {\n //\n console.log('res.data', res.data.data);\n if (res.data.code == 200) {\n this.$message({\n message: res.data.msg,\n type: 'success'\n });\n this.analysisData()\n \n } else {\n this.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n },\n //转64位\n imageUrlToBase64(img) {\n //一定要设置为let,不然图片不显示\n let image = new Image();\n let dataURL = ''\n //解决跨域问题\n image.setAttribute(\"crossOrigin\", \"anonymous\");\n let imageUrl = img;\n image.src = imageUrl;\n //image.onload为异步加载\n image.onload = () => {\n let canvas = document.createElement(\"canvas\");\n canvas.width = image.width;\n canvas.height = image.height;\n let context = canvas.getContext(\"2d\");\n context.drawImage(image, 0, 0, image.width, image.height);\n let quality = 0.8;\n //这里的dataurl就是base64类型\n dataURL = canvas.toDataURL(\"image/jpeg\", quality); //使用toDataUrl将图片转换成jpeg的格式,不要把图片压缩成png,因为压缩成png后base64的字符串可能比不转换前的长!\n let noPrefix = dataURL.replace(/^data:image\\/\\w+;base64,/, '')\n var msgNew = {\n id: this.$route.query.id, \n pic: noPrefix,\n rate: 'low'\n }\n this.analysisConfigurationdata = msgNew\n var vleNe = {\n id: this.$route.query.id, \n pic: noPrefix,\n rate: 'high'\n }\n this.vleNew = vleNe\n \n }\n },\n //获取视频分析结果\n analysisData() {\n getAnalysisData(this.$route.query.id).then(res => {\n console.log('res.data.data', res.data.data);\n // if(res.data.data.TrafficAnalysisStatus=='分析异常'){\n // this.videoAnalysisStatus = '分析异常'\n // }else {\n console.log(\"this.videoAnalysisStatusNew\",res.data.data.trafficAnalysisStatus)\n this.videoAnalysisStatusNew = res.data.data.trafficAnalysisStatus\n console.log(\"this.videoAnalysisStatusNew\",this.videoAnalysisStatusNew)\n var numSatusNew = ''\n this.analysis.videoTotalFrames = Number(res.data.data.videoTotalFrames);\n if(res.data.data.trafficFrameNumber==''){\n this.analysis.trafficFrameNumber = 0;\n }else{\n this.analysis.trafficFrameNumber =Number(res.data.data.trafficFrameNumber)\n }\n numSatusNew=this.analysis.trafficFrameNumber/this.analysis.videoTotalFrames*100\n this.numSatus= parseFloat(numSatusNew.toFixed(2))\n if(this.numSatus==100){\n this.videoAnalysisStatusShow=false\n }\n \n // }\n this.analysis.trafficAnalysisPath1 = res.data.data.trafficAnalysisPath1;\n this.analysis.trafficAnalysisPath2 = res.data.data.trafficAnalysisPath2;\n this.analysis.videoAnalysisPath = res.data.data.videoAnalysisPath;\n this.analysis.videoName = res.data.data.videoName;\n this.analysis.videoPath = res.data.data.videoPath;\n this.analysis.videoId = this.$route.query.id;\n this.analysis.videoType = this.$route.query.type;\n this.imageUrlToBase64(res.data.data.picPath)\n \n });\n },\n \n //分析结束传参\n postTraffic(){\n getAnalysisData(this.$route.query.id).then(res => {\n console.log('res.data.data', res.data.data);\n \n this.analysis.trafficAnalysisPath1 = res.data.data.trafficAnalysisPath1;\n this.analysis.trafficAnalysisPath2 = res.data.data.trafficAnalysisPath2;\n document.getElementById('mapModule').contentWindow.addColor(this.analysis.trafficAnalysisPath1,this.analysis.trafficAnalysisPath2);\n });\n },\n //停止订阅mqtt\n disConnect() {\n /*if (client != null) {\n client.unsubscribe(this.topicSends);\n client = null;\n }*/\n },\n /** 实时数据分类 */\n realInfo(topic, message) {\n switch (topic) {\n // 接收托片\n\n case 'img' + this.number:\n try {\n \n const utf8decoder = new TextDecoder();\n const u8arr = new Uint8Array(message);\n const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串\n const msg = JSON.parse(temp); //这一步报错则返回的是二进制流图片,不报错则返回的是JSON的错误提示数据\n // console.log(\"msg\",msg)\n // document.getElementById('mapModule').contentWindow.getDestination(JSON.stringify(msg));\n if (msg.rate == 'high') {\n document.getElementById('mapModule').contentWindow.getDestination(JSON.stringify(msg));\n }else if (msg.rate == 'low') {\n \n this.analysisConfigurationdata = msg;\n }\n } catch (error) {\n }\n break;\n // 树结构\n case 'stream' + this.number:\n try {\n const utf8decoder1 = new TextDecoder();\n const u8arr = new Uint8Array(message);\n const temp = utf8decoder1.decode(u8arr); // 将二进制数据转为字符串\n const msg = JSON.parse(temp);\n // console.log(\"msg\",msg)\n document.getElementById('mapModule').contentWindow.getData(JSON.stringify(msg));\n } catch (error) { }\n break;\n // 控制台输出\n case 'trajectory' + this.number:\n try {\n const utf8decoder = new TextDecoder();\n const u8arr = new Uint8Array(message);\n const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串\n const msg = JSON.parse(temp);\n // console.log(\"msg\",msg)\n document.getElementById('mapModule').contentWindow.getGuiJi(JSON.stringify(msg));\n } catch (error) { }\n break;\n // 触发\n case 'detection' + this.number:\n try {\n const utf8decoder = new TextDecoder();\n const u8arr = new Uint8Array(message);\n const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串\n var detId = [];\n const msgN = JSON.parse(temp);\n // console.log(\"msgN\",msgN)\n this.triggerData = msgN;\n if (temp.length != 0) {\n for (let i = 0; i < msgN.length; i++) {\n detId.push(msgN[i].det_id);\n }\n document.getElementById('mapModule').contentWindow.getChuFa(JSON.stringify(detId));\n }\n } catch (error) { }\n break;\n case 'trigger-' + this.$route.query.id:\n try {\n // console.log(\"trigger_msgN\",message)\n const utf8decoder = new TextDecoder();\n const u8arr = new Uint8Array(message);\n const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串\n var detId = [];\n const msgN = JSON.parse(temp);\n // console.log(\"trigger_msgN\",msgN)\n // msgN.forEach(item => {\n // console.log(\"item.name\",item.name)\n // })\n this.triggerListData = msgN;\n } catch (error) { }\n break;\n case 'cycle_time-' + this.$route.query.id:\n try {\n // console.log(\"trigger_msgN\",message)\n const utf8decoder = new TextDecoder();\n const u8arr = new Uint8Array(message);\n const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串\n var detId = [];\n const msgN = JSON.parse(temp);\n console.log(\"周期时刻\",msgN)\n this.cycleTimeData = msgN;\n } catch (error) { }\n break;\n case 'cycle_history-' + this.$route.query.id:\n try {\n // console.log(\"trigger_msgN\",message)\n const utf8decoder = new TextDecoder();\n const u8arr = new Uint8Array(message);\n const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串\n var detId = [];\n const msgN = JSON.parse(temp);\n console.log(\"历史数据\",msgN)\n this.cycleHistoryData = msgN\n } catch (error) { }\n break;\n case 'cycle_statistics-' + this.$route.query.id:\n try {\n // console.log(\"trigger_msgN\",message)\n const utf8decoder = new TextDecoder();\n const u8arr = new Uint8Array(message);\n const temp = utf8decoder.decode(u8arr); // 将二进制数据转为字符串\n var detId = [];\n const msgN = JSON.parse(temp);\n // console.log(\"周期统计\",msgN)\n this.cycleStatisticsData = msgN;\n \n // this.cycleStatisticsData = msgN;\n \n \n } catch (error) { }\n break;\n case \"VideoStatusData\":\n try {\n const utf8decoder = new TextDecoder()\n const u8arr = new Uint8Array(message)\n const temp = utf8decoder.decode(u8arr)\t// 将二进制数据转为字符串\n const msg = JSON.parse(temp)\t\t//这一步报错则返回的是二进制流图片,不报错则返回的是JSON的错误提示数据\n // console.log(\"VideoStatusData\", msg) //msg为转换后的JSON数据\n this.changeStatus(msg)\n } catch (error) {\n\n }\n break;\n }\n this.receiveNews = '';\n },\n // handleClick(tab, event) {\n // console.log(tab, event);\n // },\n changeCompany(val) {\n console.log('val', val);\n if (val == '小时') {\n this.max = '24';\n this.componentForm.cycleInterval = 1;\n } else if (val == '分钟') {\n\n this.max = '60';\n this.componentForm.cycleInterval = 1;\n }else if (val == '秒') {\n\n this.max = '60';\n this.componentForm.cycleInterval = 5;\n }\n },\n changeStatus(msg){\n //分析中\n if(msg.type=='traffic_under_analysis'&&msg.video_id==this.$route.query.id){\n this.videoAnalysisStatus = '分析中'\n var numSatusN=''\n // loadingcard.close();\n numSatusN =msg.number_frames/msg.total_frames*100\n this.numSatus = parseFloat(numSatusN.toFixed(2))\n }else if(msg.type=='traffic_analyzed'&&msg.video_id==this.$route.query.id){\n this.videoAnalysisStatus = '已分析'\n this.numSatus = 100\n //已分析\n console.log(\"已分析\")\n this.postTraffic()\n \n }else if(msg.type=='traffic_analyse_unusual'&&msg.video_id==this.$route.query.id){\n //分析异常\n console.log(\"分析异常\")\n this.videoAnalysisStatus = '分析异常'\n } \n \n },\n //初始化unity\n OnSceneN() {\n var ip = window.location.host;\n this.ipData = 'http://' + ip.split(':')[0] + ':5000';\n // document.getElementById('mapModule').contentWindow.getIpData(this.ipData);\n document.getElementById('mapModule').contentWindow.getIpData('http://172.16.1.168:5000');\n if (this.$route.query.type == '离线视频') {\n document.getElementById('mapModule').contentWindow.lixianVideo(JSON.stringify(this.analysis));\n document.getElementById('mapModule').contentWindow.getDestination(JSON.stringify(this.vleNew));\n }\n document.getElementById('mapModule').contentWindow.postVideoId(JSON.stringify(this.$route.query.id + ',' + this.$route.query.type));\n \n },\n //删除图形成功获取数据\n delSuccess() {\n if (this.$route.query.type == '离线视频') {\n this.$message({\n type: 'warning',\n message: '请点击交通分析,获取最新数据!',\n showClose: true,\n duration: 0\n });\n }\n },\n // //新增组件根据组件id获取单个组件数据\n getSingleComponentIdN(id, type, name) {\n console.log('id', id);\n console.log('type', type);\n console.log('name', name);\n this.closeEditShow = false\n this.closeComponentShow = true\n this.componentId = id;\n this.componentForm.componentType = type;\n this.componentTitle = type;\n getComponentData({ AnalogAreaComponentId: id }).then(res => {\n console.log('res', res);\n if (res.data.code == 200) {\n console.log('res', res.data.data);\n this.component = true;\n if (res.data.data.company != '') {\n this.componentForm.company = res.data.data.company;\n }\n // this.componentForm.componentName = res.data.data.componentName+'-'+type\n this.componentForm.componentName = res.data.data.componentName;\n if (res.data.data.timeMode != '') {\n this.componentForm.timeMode = res.data.data.timeMode;\n } else {\n console.log('this.componentForm.timeMode', this.componentForm.timeMode);\n console.log('this.componentForm.componentType', this.componentForm.componentType);\n if (this.componentForm.componentType == '延误' || this.componentForm.componentType == '拥堵') {\n console.log('this.componentForm.timeMode', this.componentForm.timeMode);\n this.componentForm.timeMode = '周期统计';\n } else {\n this.componentForm.timeMode = '触发';\n }\n }\n this.componentForm.componentParameterId = res.data.data.componentParameterId;\n if(res.data.data.cycleInterval==''){\n this.componentForm.cycleInterval = 1\n }else{\n this.componentForm.cycleInterval =parseInt(res.data.data.cycleInterval);\n }\n \n this.componentForm.startSectionIds = res.data.data.startSectionIds;\n // this.componentForm.flowType = res.data.data.flowType;\n if(res.data.data.flowType==''){\n this.componentForm.flowType = '出流'\n }else{\n this.componentForm.flowType = res.data.data.flowType;\n }\n this.componentForm.startSectionNames = res.data.data.startSectionNames;\n this.componentForm.endSectionIds = res.data.data.endSectionIds;\n this.componentForm.endSectionNames = res.data.data.endSectionNames;\n this.componentForm.company = res.data.data.company;\n this.componentForm.endValue = res.data.data.endValue;\n this.componentForm.startValue = res.data.data.startValue;\n this.componentForm.presentationForm = res.data.data.presentationForm;\n this.getAllSectionalData(this.$route.query.id);\n // this.componentForm.typeFiltering = res.data.data.typeFiltering\n // this.componentForm.type = res.data.data.type\n if (res.data.data.startSectionIds != '') {\n console.log('startSectionIds', res.data.data.startSectionIds);\n var startSectionIdArr = [];\n var startSectionArr = [];\n startSectionIdArr = res.data.data.startSectionIds.split(',');\n console.log('this.sectionals', this.sectionals);\n console.log('startSectionIdArr', startSectionIdArr);\n startSectionIdArr.forEach(item => {\n this.sectionals.forEach(items => {\n if (item == items.graphicId) {\n startSectionArr.push(items.graphicName);\n this.componentForm.startSection = startSectionArr;\n }\n });\n });\n }\n if (res.data.data.endSectionIds != '') {\n console.log('endSectionIds', res.data.data.endSectionIds);\n var endSectionIdArr = [];\n var endSectionArr = [];\n endSectionIdArr = res.data.data.endSectionIds.split(',');\n console.log('this.sectionals', this.sectionals);\n console.log('endSectionIdArr', endSectionIdArr);\n endSectionIdArr.forEach(item => {\n this.sectionals.forEach(items => {\n if (item == items.graphicId) {\n endSectionArr.push(items.graphicName);\n this.componentForm.endSection = endSectionArr;\n }\n });\n });\n }\n if (this.componentForm.presentationForm != '') {\n var arr = [];\n arr = this.componentForm.presentationForm.split(',');\n this.componentForm.presentation = arr;\n } else if (this.componentForm.presentationForm == '') {\n this.componentForm.presentation = [];\n }\n if (res.data.data.type != '') {\n var arr = [];\n arr = res.data.data.type.split(',');\n this.componentForm.type = arr;\n } else {\n this.componentForm.type = ['机动车', '非机动车', '行人'];\n }\n console.log('this.componentForm', this.componentForm);\n }\n });\n },\n //修改模拟区组件、图形\n getSimulationAreaEdit(id, type, componentType, name, number) {\n console.log('number', number);\n this.numberNew = number;\n if (type == '图形') {\n this.form.id = id;\n this.form.name = name;\n this.form.type = componentType;\n this.startFigureName = name;\n if (this.form.type == '轨迹') {\n this.dialogFormVisible = true;\n } else if (this.form.type == '区域') {\n this.dialogFormVisible = true;\n } else if (this.form.type == '断面') {\n this.dialogFormVisible = true;\n }\n } else if (type == '组件') {\n this.closeEditShow = true\n this.closeComponentShow = false\n this.componentId = id;\n this.componentForm.componentType = componentType;\n this.componentTitle = componentType;\n getComponentData({ AnalogAreaComponentId: id }).then(res => {\n console.log('res', res);\n if (res.data.code == 200) {\n console.log('res', res.data.data);\n this.component = true;\n if (res.data.data.company != '') {\n this.componentForm.company = res.data.data.company;\n }\n if (res.data.data.timeMode != '') {\n this.componentForm.timeMode = res.data.data.timeMode;\n } else {\n if (this.componentForm.componentType == '延误' || this.componentForm.componentType == '拥堵') {\n this.componentForm.timeMode = '周期统计';\n } else {\n this.componentForm.timeMode = '触发';\n }\n }\n this.componentForm.componentName = res.data.data.componentName;\n this.componentForm.componentParameterId = res.data.data.componentParameterId;\n // this.componentForm.cycleInterval = parseInt(res.data.data.cycleInterval);\n if(res.data.data.cycleInterval==''){\n this.componentForm.cycleInterval = 1\n }else{\n this.componentForm.cycleInterval =parseInt(res.data.data.cycleInterval);\n }\n // this.componentForm.flowType = res.data.data.flowType;\n if(res.data.data.flowType==''){\n this.componentForm.flowType = '出流'\n }else{\n this.componentForm.flowType = res.data.data.flowType;\n }\n this.componentForm.startSectionIds = res.data.data.startSectionIds;\n this.componentForm.startSectionNames = res.data.data.startSectionNames;\n this.componentForm.endSectionIds = res.data.data.endSectionIds;\n this.componentForm.endSectionNames = res.data.data.endSectionNames;\n this.componentForm.endValue = res.data.data.endValue;\n this.componentForm.startValue = res.data.data.startValue;\n this.componentForm.presentationForm = res.data.data.presentationForm;\n // this.componentForm.type = res.data.data.type\n if (res.data.data.startSectionIds != '') {\n console.log('startSectionIds', res.data.data.startSectionIds);\n var startSectionIdArr = [];\n var startSectionArr = [];\n startSectionIdArr = res.data.data.startSectionIds.split(',');\n console.log('this.sectionals', this.sectionals);\n console.log('startSectionIdArr', startSectionIdArr);\n startSectionIdArr.forEach(item => {\n this.sectionals.forEach(items => {\n if (item == items.graphicId) {\n startSectionArr.push(items.graphicName);\n this.componentForm.startSection = startSectionArr;\n }\n });\n });\n }\n if (res.data.data.endSectionIds != '') {\n console.log('endSectionIds', res.data.data.endSectionIds);\n var endSectionIdArr = [];\n var endSectionArr = [];\n endSectionIdArr = res.data.data.endSectionIds.split(',');\n console.log('this.sectionals', this.sectionals);\n console.log('endSectionIdArr', endSectionIdArr);\n endSectionIdArr.forEach(item => {\n this.sectionals.forEach(items => {\n if (item == items.graphicId) {\n endSectionArr.push(items.graphicName);\n this.componentForm.endSection = endSectionArr;\n }\n });\n });\n }\n if (this.componentForm.presentationForm != '') {\n var arr = [];\n arr = this.componentForm.presentationForm.split(',');\n this.componentForm.presentation = arr;\n } else if (this.componentForm.presentationForm == '') {\n this.componentForm.presentation = [];\n }\n if (res.data.data.type != '') {\n var arr = [];\n arr = res.data.data.type.split(',');\n this.componentForm.type = arr;\n } else {\n // this.componentForm.type = ['机动车', '非机动车', '行人'];\n }\n }\n });\n }\n },\n //获取所有断面数据\n getAllSectionalData(VideoId) {\n getSectionalData({ VideoId: VideoId }).then(res => {\n console.log('res', res);\n if (res.data.code == 200) {\n this.sectionals = res.data.data;\n }\n });\n },\n figureType(type) {\n if (type == 'Move') {\n type = '轨迹';\n } else if (type == 'Poly') {\n type = '区域';\n } else if (type == 'Line') {\n type = '断面';\n }\n return type;\n },\n getFigureD(item, index, indexNew) {\n console.log('图形类型', item);\n console.log('初始图形名称', index);\n this.startFigureName = index;\n console.log('图形位置', indexNew);\n this.dialogFormVisible = true;\n this.form.name = index;\n this.form.type = this.figureType(item);\n this.form.coordinate = indexNew;\n this.form.id = '';\n this.title = this.figureType(item);\n },\n //双击图形修改图形名称弹框\n getModifyTheNameN(data, number) {\n console.log('data', data);\n console.log('number', number);\n this.numberNew = number;\n var arr = [];\n arr = data.split(',');\n console.log('arr', arr);\n this.form.id = arr[0];\n this.form.name = arr[1];\n this.form.type = arr[2];\n this.startFigureName = arr[1];\n if (this.form.type == '轨迹') {\n // this.open2()\n this.dialogFormVisible = true;\n } else if (this.form.type == '区域') {\n this.dialogFormVisible = true;\n } else if (this.form.type == '断面') {\n this.dialogFormVisible = true;\n }\n },\n //新增、编辑图形确认按钮\n onSubmit(form) {\n console.log('form', form);\n //新增\n if (form.id == '') {\n let formData = new FormData();\n if (form.type == '断面') {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n formData.append('Coordinate', form.coordinate);\n formData.append('VideoId', this.VideoId);\n formData.append('Direction', form.Direction);\n } else if (form.type == '区域') {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n formData.append('Coordinate', form.coordinate);\n formData.append('VideoId', this.VideoId);\n // formData.append(\"Direction\",form.Direction);\n // formData.append(\"StoppingSpeed\",form.StoppingSpeed);\n } else {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n formData.append('Coordinate', form.coordinate);\n formData.append('VideoId', this.VideoId);\n // formData.append(\"Direction\",form.Direction);\n }\n\n axios({\n method: 'post',\n url: serverUrl.addFigure,\n data: formData\n }).then(res => {\n console.log('res', res);\n\n if (res.data.code == 200) {\n this.$message({\n message: res.data.msg,\n type: 'success'\n });\n // setTimeout(() => {\n // this.$message({\n // type: \"warning\",\n // message: \"请点击交通分析,获取最新数据!\",\n // showClose: true,\n // duration:0,\n // });\n // }, 3000);\n\n document.getElementById('mapModule').contentWindow.postFigureId(JSON.stringify(res.data.data));\n document\n .getElementById('mapModule')\n .contentWindow.postFigureName(\n JSON.stringify(res.data.data + ',' + form.name + ',' + this.startFigureName + ',' + this.numberNew)\n );\n\n this.dialogFormVisible = false;\n } else {\n this.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n } else {\n //编辑\n let formData = new FormData();\n if (form.type == '断面') {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n formData.append('Direction', form.Direction);\n formData.append('GraphicId', form.id);\n formData.append('VideoId', this.VideoId);\n } else if (form.type == '区域') {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n formData.append('Direction', form.Direction);\n formData.append('GraphicId', form.id);\n formData.append('VideoId', this.VideoId);\n formData.append('StoppingSpeed', form.StoppingSpeed);\n } else {\n formData.append('GraphicName', form.name);\n formData.append('GraphicType', form.type);\n // formData.append(\"Direction\",form.Direction);\n formData.append('GraphicId', form.id);\n formData.append('VideoId', this.VideoId);\n }\n axios({\n method: 'post',\n url: serverUrl.editFigure,\n data: formData\n }).then(res => {\n console.log('res', res);\n\n if (res.data.code == 200) {\n this.$message({\n message: res.data.msg,\n type: 'success'\n });\n // setTimeout(() => {\n // this.$message({\n // type: 'warning',\n // message: '请点击交通分析,获取最新数据!',\n // showClose: true,\n // duration: 0\n // });\n // }, 5000);\n console.log('startFigureName', this.startFigureName);\n document.getElementById('mapModule').contentWindow.postFigureId(JSON.stringify(res.data.data));\n console.log('this.numberNew', this.numberNew);\n document\n .getElementById('mapModule')\n .contentWindow.postFigureName(\n JSON.stringify(form.id + ',' + form.name + ',' + this.startFigureName + ',' + this.numberNew)\n );\n this.dialogFormVisible = false;\n } else {\n this.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n }\n },\n //编辑组件\n onSubmitComponent(componentForm) {\n this.component = false;\n let formData = new FormData();\n if (componentForm.componentType == 'OD') {\n //名称\n formData.append('componentName', componentForm.componentName);\n //单位\n formData.append('company', componentForm.company);\n //id\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('startSectionIds', componentForm.startSectionIds);\n formData.append('startSectionNames', componentForm.startSectionNames);\n formData.append('endSectionIds', componentForm.endSectionIds);\n formData.append('endSectionNames', componentForm.endSectionNames);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n\n formData.append('presentationForm', '矩阵图');\n } else if (componentForm.componentType == '类型') {\n //名称\n formData.append('componentName', componentForm.componentName);\n //单位\n formData.append('company', componentForm.company);\n //id\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', componentForm.presentationForm);\n formData.append('type', componentForm.type);\n } else {\n //名称\n formData.append('componentName', componentForm.componentName);\n //单位\n formData.append('company', componentForm.company);\n //id\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', componentForm.presentationForm);\n formData.append('flowType', componentForm.flowType);\n }\n axios({\n method: 'post',\n url: serverUrl.editComponent,\n data: formData\n }).then(res => {\n console.log('res', res);\n\n if (res.data.code == 200) {\n this.$message({\n message: res.data.msg,\n type: 'success'\n });\n // document.getElementById(\"mapModule\").contentWindow.postFigureId(JSON.stringify(res.data.data))\n document.getElementById('mapModule').contentWindow.editComponent(this.componentId + ',' + componentForm.componentName);\n this.dialogFormVisible = false;\n } else {\n this.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n },\n //新增编辑组件取消\n closeComponent(componentForm) {\n console.log(\"componentForm\",componentForm)\n\n this.component = false;\n let formData = new FormData();\n if (componentForm.componentType == 'OD') {\n //名称\n formData.append('componentName', componentForm.componentName);\n //单位\n formData.append('company', componentForm.company);\n //id\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('startSectionIds', componentForm.startSectionIds);\n formData.append('startSectionNames', componentForm.startSectionNames);\n formData.append('endSectionIds', componentForm.endSectionIds);\n formData.append('endSectionNames', componentForm.endSectionNames);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n\n formData.append('presentationForm', '矩阵图');\n } else if (componentForm.componentType == '类型') {\n //名称\n formData.append('componentName', componentForm.componentName);\n //单位\n formData.append('company', componentForm.company);\n //id\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', componentForm.presentationForm);\n formData.append('type', componentForm.type);\n } else {\n //名称\n formData.append('componentName', componentForm.componentName);\n //单位\n formData.append('company', componentForm.company);\n //id\n formData.append('componentParameterId', componentForm.componentParameterId);\n formData.append('cycleInterval', componentForm.cycleInterval);\n formData.append('endValue', componentForm.endValue);\n formData.append('startValue', componentForm.startValue);\n formData.append('timeMode', componentForm.timeMode);\n formData.append('presentationForm', componentForm.presentationForm);\n formData.append('flowType', componentForm.flowType);\n }\n axios({\n method: 'post',\n url: serverUrl.editComponent,\n data: formData\n }).then(res => {\n console.log('res', res);\n\n if (res.data.code == 200) {\n this.$message({\n message: res.data.msg,\n type: 'success'\n });\n // document.getElementById(\"mapModule\").contentWindow.postFigureId(JSON.stringify(res.data.data))\n document.getElementById('mapModule').contentWindow.editComponent(this.componentId + ',' + componentForm.componentName);\n this.dialogFormVisible = false;\n } else {\n this.$message({\n message: res.data.msg,\n type: 'warning'\n });\n }\n });\n // document.getElementById('mapModule').contentWindow.editComponent('');\n },\n closeEdit(componentForm){\n this.component = false;\n document.getElementById('mapModule').contentWindow.editComponent('');\n },\n //新增、编辑图形取消按钮\n closeFigure(form) {\n console.log('form', form);\n if (form.id != '') {\n this.dialogFormVisible = false;\n document.getElementById('mapModule').contentWindow.closeEdit(JSON.stringify(form.type + ',' + form.id));\n } else {\n this.dialogFormVisible = false;\n document.getElementById('mapModule').contentWindow.delFigure();\n }\n },\n closeComponentForm(componentForm) {\n console.log(\"111\",componentForm)\n if(this.closeComponentShow==false){\n this.component = false;\n document.getElementById('mapModule').contentWindow.editComponent('');\n }else if(this.closeComponentShow==true){\n this.closeComponent(componentForm)\n }\n \n },\n closeForm(form) {\n if (this.form.id != '') {\n this.dialogFormVisible = false;\n document.getElementById('mapModule').contentWindow.closeEdit(JSON.stringify(form.type + ',' + form.id));\n } else {\n this.dialogFormVisible = false;\n document.getElementById('mapModule').contentWindow.delFigure();\n }\n },\n //改变起点\n handleCheckedStartSection(value) {\n console.log('改变起点', value);\n var startSectionIdArr = [];\n var startSectionNameArr = [];\n value.forEach(item => {\n this.sectionals.forEach(items => {\n if (item == items.graphicName) {\n startSectionIdArr.push(items.graphicId);\n startSectionNameArr.push(items.graphicName);\n let newStartSectionId = startSectionIdArr.join(',');\n let newStartSectionName = startSectionNameArr.join(',');\n this.componentForm.startSectionIds = newStartSectionId;\n this.componentForm.startSectionNames = newStartSectionName;\n }\n });\n });\n },\n //改变终点\n handleCheckedendSection(value) {\n console.log('改变终点', value);\n var endSectionIdArr = [];\n var endSectionNameArr = [];\n value.forEach(item => {\n this.sectionals.forEach(items => {\n if (item == items.graphicName) {\n endSectionIdArr.push(items.graphicId);\n endSectionNameArr.push(items.graphicName);\n let newendSectionId = endSectionIdArr.join(',');\n let newEndSectionName = endSectionNameArr.join(',');\n console.log('newendSectionId', newendSectionId);\n console.log('newEndSectionName', newEndSectionName);\n this.componentForm.endSectionIds = newendSectionId;\n this.componentForm.endSectionNames = newEndSectionName;\n }\n });\n });\n },\n //修改展现形式\n handlePresentation(value) {\n console.log('展现形式', value);\n let presentation = value.join(',');\n this.componentForm.presentationForm = presentation;\n console.log('this.componentForm.presentationForm', this.componentForm.presentationForm);\n },\n //类型数据\n handleTypeData(value) {\n console.log('类型数据', value);\n let type = value.join(',');\n this.componentForm.typeData = type;\n },\n //模型加载等待\n loadingShow(data) {\n this.loadingShow1 = data;\n },\n\n handleSearch() {\n this.modelOthers = true;\n this.$refs.htModels.finbBox(this.inputVal);\n console.log(this.$refs.htModels, 'asdasdasd');\n this.inputVal = '';\n },\n handleRow(val) {\n this.modelOthers = true;\n this.$refs.htModels.finbBox(val);\n },\n // 天气\n handleWather() {\n axios({\n url: 'https://restapi.amap.com/v3/weather/weatherInfo?key=bc2b906032fdd8a63cbd0790d656b1d7&city=620100',\n methods: ''\n }).then(res => {\n this.weatherItem = res.data.lives[0];\n console.log(this.weatherItem, 'asdsads');\n });\n }\n },\n components: {\n editModal,\n analysisConfiguration,\n dataBoard\n }\n};\n</script>\n<style scoped>\n.el-form-item {\n margin-bottom: 15px;\n}\n\n.content-box::-webkit-scrollbar {\n display: none;\n /* Chrome Safari */\n}\n\n.new-dialog {\n width: 49%;\n height: 11%;\n left: calc(24vw);\n top: 90vh;\n bottom: 0\n /* right:auto;; */\n ;\n}\n\n.formBox {\n margin-top: 20px;\n margin-left: 20px;\n}\n\n/* .new-dialog .el-dialog {\n width:100%!important;\n margin: 0vh auto !important;\n margin-top: 0vh!important;\n} */\n.new-dialog .el-dialog {\n width: 100% !important;\n margin: 0 auto 0px !important;\n /* margin-top: 0vh!important; */\n}\n\n.new-dialog .el-dialog__wrapper::-webkit-scrollbar {\n display: none;\n /* Chrome Safari */\n}\n\n.new-dialog .customWidth {\n width: 100%;\n min-width: 150px;\n}\n\n.mapModuleApp {\n /* width:100%; */\n width: 1600px;\n height: 900px;\n display: inline-block;\n border: 1px soild #eee;\n}\n\n.el-drawer.btt,\n.el-drawer.ttb {\n width: 100%;\n left: 0;\n right: 0;\n height: 100% !important;\n}\n\n.el-drawer__container {\n position: relative;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n}\n\n.videoAnalysis {\n position: absolute;\n right: 200px;\n top: 17px;\n}\n\n.trafficAnalysis {\n position: absolute;\n right: 100px;\n top: 17px;\n}\n\n\n\n</style>\n<style>\n.progressNew{\n width: 10%;\n position: absolute;\n right: 200px;\n top: 22px;\n}\n.progressNew .el-progress__text {\n\t color: #000!important; \n margin-left: 6px!important; \n}\n.el-tabs--border-card .el-tabs__content{\n padding:5px 15px!important;\n}\n.progressNewV{\n width: 10%;\n position: absolute;\n right: 200px;\n top: 22px;\n}\n.progressNewV .el-progress__text {\n\t color: #e22b2b!important; \n margin-left: 6px!important; \n}\n.progressNewV .el-progress-bar__inner {\n background-color: #f56c6c!important;\n}\n.el-tabs--border-card .el-tabs__content{\n padding:5px 15px!important;\n}\n</style>"],"sourceRoot":"src/views"}]} |