{"remainingRequest":"D:\\jenkins\\workspace\\yhxt-web\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\yhxt-web\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\yhxt-web\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\yhxt-web\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\yhxt-web\\src\\views\\dataScreen\\dataScreenCopy\\BigData.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\yhxt-web\\src\\views\\dataScreen\\dataScreenCopy\\BigData.vue","mtime":1667326394935},{"path":"D:\\jenkins\\workspace\\yhxt-web\\babel.config.js","mtime":1667326389982},{"path":"D:\\jenkins\\workspace\\yhxt-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\yhxt-web\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\yhxt-web\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\yhxt-web\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\yhxt-web\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.object.keys\";\nimport \"core-js/modules/es6.regexp.to-string\";\nimport \"core-js/modules/es6.array.sort\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.number.constructor\";\nimport _defineProperty from \"D:/jenkins/workspace/yhxt-web/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/web.dom.iterable\";\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\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//\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//\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//\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//\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\nimport basicData from '@/api/basicData.js';\nimport screenfull from 'screenfull';\nimport option from \"./js/option.js\";\nimport config from \"./js/config.js\";\nimport DataJson from \"./js/DataJson.js\";\nimport ModelTitle from \"./components/ModelTitle.vue\";\nimport videoPlayer from \"./components/videoPlayer.vue\";\nimport utils from '@/hotent-ui-util.js';\nimport { Chart } from '@antv/g2';\nimport { bigDataMixin } from \"./js/bigDataMixin.js\";\nimport { basicPagesMixin } from \"./js/basicPagesMixin.js\";\nimport { accountMixin } from \"./js/accountMixin.js\";\nimport \"./js/iconfont.js\";\nimport DataSet from '@antv/data-set';\nexport default {\n inject: ['reload'],\n components: {\n ModelTitle: ModelTitle,\n videoPlayer: videoPlayer\n },\n mixins: [bigDataMixin, basicPagesMixin, accountMixin],\n data: function data() {\n return {\n infoWindow: '',\n //地图弹层信息窗口\n dialogTitle: '',\n dialogVisible: false,\n //基础设施明细弹层控制\n mapLoading: false,\n //地图加载loading\n isNext: true,\n //是否可以下纂\n dataArrMap: [],\n //暂存地图切换数据\n activeName: 'first',\n activeNameMap: '桥梁',\n time1: '',\n clickIndex: 0,\n //轮播时记录索引\n isScreenFull: false,\n isShow: true,\n //切换页面显示\n map: '',\n //地图\n marker: '',\n //点标记\n markers: [[], [], [], [], [], [], [], [], []],\n cluster: [],\n //点聚合\n mapZoom: '',\n //缩放事件监听层级\n markerType: 'bridge',\n config_1: config[0],\n //基础设施数据\n config1: {\n number: [141109],\n content: '{nt}',\n toFixed: 2,\n // formatter: this.formatter,\n style: {\n fontSize: 35,\n fill: '#fff'\n }\n },\n config2: {\n number: [141109],\n content: '{nt}',\n toFixed: 2,\n // formatter: this.formatter,\n style: {\n fontSize: 35,\n fill: '#fff'\n }\n },\n config3: {\n number: [14457],\n content: '{nt}',\n toFixed: 2,\n // formatter: this.formatter,\n style: {\n fontSize: 35,\n fill: '#fff'\n }\n },\n config4: {\n number: [8005],\n content: '{nt}',\n toFixed: 2,\n // formatter: this.formatter,\n style: {\n fontSize: 35,\n fill: '#fff'\n }\n },\n config5: {\n number: [1361],\n content: '{nt}',\n toFixed: 2,\n // formatter: this.formatter,\n style: {\n fontSize: 35,\n fill: '#fff'\n }\n },\n AraryMapData: [],\n companyOptions: [{\n id: 1,\n name: '全部公司'\n }],\n //选择公司\n valueCompany: {\n value: 1,\n label: '全部公司'\n },\n valueRoad: {\n value: 1,\n label: '全部路段',\n companyId: 1,\n companyName: '全部公司',\n roadSegmentId: 1,\n roadSegmentName: '全部路段'\n },\n roadData: '',\n // valueRoad: '永泸高速', //路段名称\n value: '',\n //日期\n option5: option[11],\n //病害变化趋势\n option6: {\n title: {\n text: '养护任务完成情况统计',\n style: {\n fill: '#fff'\n }\n },\n series: [{\n type: 'pie',\n data: [{\n name: '建新公司',\n value: 93\n }, {\n name: '双合公司',\n value: 32\n }, {\n name: '遂渝公司',\n value: 65\n }, {\n name: 'xx公司1',\n value: 44\n }, {\n name: 'xx公司2',\n value: 52\n }, {\n name: 'xx公司3',\n value: 53\n }, {\n name: 'xx公司4',\n value: 58\n }],\n radius: ['40%', '50%'],\n insideLabel: {\n show: true\n },\n label: {\n show: true,\n formatter: '{value}',\n style: {\n fill: '#fff'\n }\n }\n }]\n },\n option7: {\n title: {\n text: '巡检任务完成情况',\n style: {\n fill: '#fff'\n }\n },\n series: [{\n type: 'pie',\n data: [{\n name: '建新公司',\n value: 103\n }, {\n name: '双合公司',\n value: 72\n }, {\n name: '遂渝公司',\n value: 45\n }, {\n name: 'xx公司1',\n value: 34\n }, {\n name: 'xx公司2',\n value: 52\n }, {\n name: 'xx公司3',\n value: 73\n }, {\n name: 'xx公司4',\n value: 58\n }],\n radius: ['40%', '50%'],\n insideLabel: {\n show: true\n },\n label: {\n show: true,\n formatter: '{value}',\n style: {\n fill: '#fff'\n }\n }\n }]\n },\n option8: option[9],\n //巡检填报\n option9: option[10],\n //巡检任务完成统计\n option11: option[13],\n //公司人员统计\n option12: option[14],\n //各路段养护费用统计\n option15: option[15],\n //巡检类统计\n // option16: option[16], //病害类型统计\n option17: option[17],\n //养护工单统计\n option18: option[18],\n //养护任务完成统计\n option19: option[19],\n //病害数量统计\n option20: option[20],\n //任务执行情况\n config6: config[5],\n //病害平均处理效率\n config7: config[6],\n //病害类型排行\n config9: config[8],\n //里程排行榜\n config10: config[9],\n //病害平均处理天数\n config11: config[10],\n //养护金额统计\n config16: {\n header: ['编号', '名称', '起点', '终点', '长度'],\n data: [],\n index: true,\n align: ['center', 'center', 'center', 'center', 'center', 'center'],\n // columnWidth: [50, 100, 100, 100, 100],\n columnWidth: [50],\n rowNum: 10,\n headerBGC: '#002e53',\n indexHeader: '序号'\n },\n bizValue: {\n //切换年月参数\n site: '1',\n two: '2',\n check: '3',\n four: '4'\n },\n // '/videoPlayer/videoPlayer.html',\n iframeUrl: window.context.front + '/h5Video/demo.html',\n // showVideo: false,\n showVideoModel: false,\n iframeWin: null,\n DataSite: [],\n //巡查巡检数组\n dailyData: [],\n //日常巡检数组\n mainData: [],\n //养护工单数组\n checkData: [],\n //定期/经常检查\n backIsShow: false,\n //返回按钮是否显示\n backIsShowDaily: false,\n //返回按钮是否显示\n backIsShowWork: false,\n //返回按钮是否显示\n G2chart: '',\n //chart实例\n G2chart5: '',\n //chart实例\n G2chart6: '',\n //chart实例\n querySite: {\n params: {}\n },\n //巡查巡检个数统计请求参数\n queryRoadBasic: {\n params: {}\n },\n loadingBasic: false,\n BasicCompany: '',\n //基础选择公司,\n BizCompany: '',\n //业务选择公司,\n yongluLine: '',\n chenyusuiLine: '',\n tongrongLine: '',\n shimoLine: '',\n heanLine: '',\n xiusongLine: '',\n videoURL: ''\n };\n },\n created: function created() {\n this.getSiteJson('site'); //巡查巡检个数统计\n this.getSiteJson('daily');\n this.getWorkJson(); //养护工单统计\n // this.getRoadBasic(this.BasicUrl) //基础概况基础设施\n },\n mounted: function mounted() {\n var _this = this;\n setTimeout(function () {\n _this.initMap();\n _this.$http.post('${yhxt}' + _this.urlMap, _this.querysMap).then(function (res) {\n _this.AraryMapData = res.data.rows;\n _this.pointAggregation();\n });\n }, 300);\n this.openMessage(); //提示建议打开全屏模式\n },\n\n methods: {\n openMessage: function openMessage() {\n // this.$message('建议在全屏模式浏览!')\n },\n //基础设施-路段\n getRoadBasic: function getRoadBasic(url) {\n var _this2 = this;\n this.$http.post('${yhxt}' + url, this.queryRoadBasic).then(function (res) {\n _this2.loadingBasic = true;\n var arr = [];\n var data = res.data.message;\n var str1 = data.substr(1);\n var str2 = str1.substring(0, str1.length - 1);\n //console.log(str2.split('],['))\n str2.split('],[').forEach(function (item) {\n arr.push(item.split(','));\n });\n // console.log(arr, 'dddd')\n _this2.config16.data = arr;\n _this2.config16 = _objectSpread({}, _this2.config16);\n });\n },\n //获取任务执行情况\n getTaskImplementation: function getTaskImplementation() {\n var _this3 = this;\n this.$http.post('${yhxt}/bizWorkStatistic/v1/countWorkOrder', this.queryChart.task).then(function (res) {\n var data = res.data;\n for (var i in data) {\n data[i] = Number(data[i]);\n }\n _this3.option20.series[0].data = [data.backlogWorkOrder, data.constructionWorkOrder, data.debitWorkOrder, data.auditWorkOrder, data.finishWorkOrder, data.overdueWorkOrder];\n _this3.option20 = _objectSpread({}, _this3.option20);\n });\n },\n //养护车辆统计\n getMaintenanceStation: function getMaintenanceStation() {\n this.$http.post('${yhxt}/baseDataStatistics/v1/countVehicle', this.queryMileage).then(function (res) {\n // let arrName = []\n // let arrCount = []\n // console.log(res)\n // res.data.value.forEach(item => {\n // arrName.push(item.roadSegmentName)\n // arrCount.push(Number(item.countVehicle))\n // })\n // console.log(arrCount)\n // // arrCount=[0, 3, 0, 0, 3, 0, 0, 0]\n // // console.log(arrCount)\n // // console.log(this.option10)\n // this.option10.xAxis.data = arrName\n // // console.log(this.option10.xAxis)\n // this.option10.series[0].data = arrCount\n // // if (this.queryMileage.roadSegmentId) {\n // // this.option10.series[0].type = 'bar'\n // // } else {\n // // this.option10.series[0].type = 'line'\n // // }\n // this.option10 = {...this.option10}\n });\n },\n //获取病害平均处理天数\n getDiseaseAverDay: function getDiseaseAverDay(str) {\n var _this4 = this;\n this.$http.post('${yhxt}/bizWorkStatistic/v1/countDayDisease', this.queryChart.diseaseDay).then(function (res) {\n var data = [];\n res.data.forEach(function (item) {\n data.push({\n name: item.roadName,\n value: Number(item.countDayAvg)\n });\n });\n if (str) {\n _this4.G2chart6.changeData(data);\n } else {\n _this4.initRowCharts(data);\n }\n // if (str) {\n // this.G2chart5.changeData(data)\n // } else {\n // this.initG2PieChart(data)\n // }\n });\n },\n //初始化横向条形图\n initRowCharts: function initRowCharts(data) {\n var chart = new Chart({\n container: 'G2-continar6',\n autoFit: true,\n height: 500,\n padding: [20, 20, 20, 80] // 上,右,下,左\n });\n\n chart.data(data);\n chart.scale({\n value: {\n min: 0,\n alias: '天数(天)'\n }\n });\n chart.axis('name', {\n // line: {\n // style: {\n // stroke: '#fff'\n // }\n // },\n label: {\n style: {\n fill: '#fff'\n }\n },\n title: null,\n tickLine: null,\n line: null\n });\n chart.axis('value', {\n label: null,\n title: null\n });\n chart.legend(false);\n chart.coordinate().transpose();\n chart.interval().position('name*value').color('name').size(26).label('value', {\n style: {\n fill: '#fff'\n },\n offset: 10\n });\n chart.interaction('element-active');\n chart.render();\n this.G2chart6 = chart;\n },\n //获取病害数量\n getDiseaseNumber: function getDiseaseNumber() {\n var _this5 = this;\n this.$http.post('${yhxt}/bizWorkStatistic/v1/countAmountDisease', this.queryChart.disease).then(function (res) {\n _this5.option19.xAxis.data = [];\n _this5.option19.series[0].data = [];\n _this5.option19.series[1].data = [];\n res.data.forEach(function (item) {\n _this5.option19.xAxis.data.push(item.roadName);\n _this5.option19.series[0].data.push(Number(item.countDisFinished));\n _this5.option19.series[1].data.push(Number(item.countDisUnFinished));\n _this5.option19 = _objectSpread({}, _this5.option19);\n });\n });\n },\n //获取病害类型\n getDiseaseType: function getDiseaseType(str) {\n var _this6 = this;\n this.$http.post('${yhxt}/bizWorkStatistic/v1/countTypeDisease', this.queryChart.diseaseType).then(function (res) {\n var data = [];\n res.data.forEach(function (item) {\n data.push({\n name: item.subjectName,\n value: Number(item.countTypeDis)\n });\n });\n if (str) {\n _this6.G2chart5.changeData(data);\n } else {\n _this6.initG2PieChart(data);\n }\n });\n },\n //G2饼图初始化\n initG2PieChart: function initG2PieChart(data) {\n var chart = new Chart({\n container: 'G2-continar5',\n autoFit: true,\n height: 500\n // padding: [50, 20, 50, 20] // 上,右,下,左\n });\n // 新建一个 view 用来单独渲染Annotation\n var innerView = chart.createView();\n chart.coordinate('theta', {\n radius: 0.75,\n innerRadius: 0.5\n });\n chart.data(data);\n chart.scale('value', {\n formatter: function formatter(val) {\n // val = val * 100 + '%'\n return val;\n }\n });\n chart.tooltip(false);\n\n // 声明需要进行自定义图例字段: 'name'\n chart.legend('name', {\n position: 'right',\n // 配置图例显示位置\n offsetX: -50,\n itemName: {\n style: {\n fill: '#fff'\n }\n },\n custom: true,\n // 关键字段,告诉 G2,要使用自定义的图例\n items: data.map(function (obj, index) {\n return {\n name: obj.name,\n // 对应 itemName\n // value: obj.value, // 对应 itemValue\n marker: {\n symbol: 'square',\n // marker 的形状\n style: {\n r: 5,\n // marker 图形半径\n fill: chart.getTheme().colors10[index] // marker 颜色,使用默认颜色,同图形对应\n }\n } // marker 配置\n };\n }),\n\n itemValue: {\n style: {\n fill: '#fff'\n } // 配置 itemValue 样式\n }\n });\n\n chart.interval().adjust('stack').position('value').color('name').style({\n fillOpacity: 1\n }).state({\n active: {\n style: function style(element) {\n var shape = element.shape;\n return {\n lineWidth: 10,\n stroke: shape.attr('fill'),\n strokeOpacity: shape.attr('fillOpacity')\n };\n }\n }\n });\n\n // 移除图例点击过滤交互\n chart.removeInteraction('legend-filter');\n chart.interaction('element-active');\n chart.render();\n this.G2chart5 = chart;\n // 监听 element 上状态的变化来动态更新 Annotation 信息\n chart.on('element:statechange', function (ev) {\n var _ev$gEvent$originalEv = ev.gEvent.originalEvent,\n state = _ev$gEvent$originalEv.state,\n stateStatus = _ev$gEvent$originalEv.stateStatus,\n element = _ev$gEvent$originalEv.element;\n\n // 本示例只需要监听 active 的状态变化\n if (state === 'active') {\n var _data = element.getData();\n if (stateStatus) {\n // 更新 Annotation\n updateAnnotation(_data);\n } else {\n // 隐藏 Annotation\n clearAnnotation();\n }\n }\n });\n\n // 绘制 annotation\n var lastItem;\n function updateAnnotation(data) {\n if (data.name !== lastItem) {\n innerView.annotation().clear(true);\n innerView.annotation().text({\n position: ['50%', '50%'],\n content: data.name,\n style: {\n fontSize: 20,\n fill: '#fff',\n textAlign: 'center'\n },\n offsetY: -20\n }).text({\n position: ['50%', '50%'],\n content: data.value,\n style: {\n fontSize: 28,\n fill: '#fff',\n textAlign: 'center'\n },\n offsetX: -10,\n offsetY: 20\n }).text({\n position: ['50%', '50%'],\n content: '个',\n style: {\n fontSize: 20,\n fill: '#fff',\n textAlign: 'center'\n },\n offsetY: 20,\n offsetX: 20\n });\n innerView.render(true);\n lastItem = data.name;\n }\n }\n\n // 清空 annotation\n function clearAnnotation() {\n innerView.annotation().clear(true);\n innerView.render(true);\n lastItem = null;\n }\n },\n //养护工单\n getWorkJson: function getWorkJson(biz) {\n var _this7 = this;\n this.$http.post('${yhxt}/bizWorkStatistic/v1/getWorkJson', this.queryChart.work).then(function (res) {\n var data = [];\n res.data.forEach(function (item) {\n data.push({\n companyId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '完成',\n value: item.total\n });\n data.push({\n companyId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '未完成',\n value: item.totalNumsNo\n });\n // this.mainData = data\n // this.workChart.changeData(this.mainData)\n });\n\n _this7.mainData = data;\n if (_this7.workChart) {\n _this7.workChart.changeData(_this7.mainData);\n }\n });\n },\n //业务概况顶部金额数据\n getBizTopData: function getBizTopData() {\n var _this8 = this;\n console.log(this.queryTopAmount, 'this.queryTopAmount');\n this.$http.post('${yhxt}/bizWorkStatistic/v1/getYearBudgetJson', this.queryTopAmount).then(function (res) {\n var data = res.data[0];\n if (res.data.length == 0) {\n data = {\n budgetSum: '0',\n alreadyCount: '0',\n conserveMoney: '0',\n specialMoney: '0',\n rushMoney: '0'\n };\n }\n _this8.config1.number = [JSON.parse(data.budgetSum)];\n _this8.config2.number = [JSON.parse(data.alreadyCount)];\n _this8.config3.number = [JSON.parse(data.conserveMoney)];\n _this8.config4.number = [JSON.parse(data.specialMoney)];\n _this8.config5.number = [JSON.parse(data.rushMoney)];\n _this8.config1 = _objectSpread({}, _this8.config1);\n _this8.config2 = _objectSpread({}, _this8.config2);\n _this8.config3 = _objectSpread({}, _this8.config3);\n _this8.config4 = _objectSpread({}, _this8.config4);\n });\n },\n //养护金额\n getMaintenanceAmount: function getMaintenanceAmount() {\n var _this9 = this;\n this.$http.post('${yhxt}/bizWorkStatistic/v1/getMoneyJson', this.queryChart.amount).then(function (res) {\n var data = [];\n res.data.forEach(function (item) {\n var companyName = _this9.queryChart.work.params.companyId ? item.roadSegmentName : item.companyName;\n var companyId = _this9.queryChart.work.params.companyId ? item.roadSegmentId : item.companyId;\n data.push({\n id: item.companyId,\n name: item.roadSegmentName,\n value: item.totalMoney\n });\n });\n data.forEach(function (item) {\n item.value = (Number(item.value) / 10000).toFixed(3);\n });\n //数组对象排序\n data.sort(function (a, b) {\n if (a.id === b.id) {\n return b.value - a.value;\n } else {\n return a.id - b.id;\n }\n });\n _this9.config11.data = data;\n _this9.config11 = _objectSpread({}, _this9.config11);\n });\n },\n handleBack: function handleBack(str) {\n if (str == 'backIsShow') {\n this.G2chart.data(this.DataSite);\n this.G2chart.render();\n this.backIsShow = false;\n } else if (str == 'backIsShowWork') {\n this.workChart.data(this.mainData);\n this.workChart.render();\n this.backIsShowWork = false;\n } else if (str == 'backIsShowDaily') {\n this.dailyChart.data(this.dailyData);\n this.dailyChart.render();\n this.backIsShowDaily = false;\n }\n },\n //获取巡查巡检完成与未完成的个数\n getSiteJson: function getSiteJson(type, biz) {\n var _this10 = this;\n this.$http.post('${yhxt}/bizWorkStatistic/v1/getSiteJson', this.queryChart[type]).then(function (res) {\n console.log(res);\n var data = [];\n var dailyData = [];\n res.data.forEach(function (item) {\n if (type == 'site') {\n data.push({\n companyId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '完成',\n value: item.completeTotal\n });\n data.push({\n companyId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '未完成',\n value: item.completeNoTotal\n });\n }\n if (type == 'daily') {\n //日常巡检\n dailyData.push({\n companyId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '日巡检已完成',\n value: item.dayCheckingFinish //日巡检\n });\n\n dailyData.push({\n companyId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '日巡检未完成',\n value: item.dayCheckingOnFinsh //日巡检\n });\n\n dailyData.push({\n companyId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '夜巡检已完成',\n value: item.nightCheckingFinish //夜巡检\n });\n\n dailyData.push({\n companyId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '夜巡检未完成',\n value: item.nightCheckingOnFinsh //夜巡检\n });\n }\n });\n\n if (type == 'site') {\n _this10.DataSite = data;\n } else {\n _this10.dailyData = dailyData;\n }\n if (type == 'daily' && _this10.dailyChart) {\n _this10.dailyChart.changeData(_this10.dailyData);\n }\n if (type == 'site' && _this10.G2chart) {\n _this10.G2chart.changeData(_this10.DataSite);\n }\n });\n },\n //获取定期/经常检查的个数\n initcheckChart: function initcheckChart(data) {\n this.checkChart = new Chart({\n container: 'G2-continar3',\n autoFit: true,\n height: 500,\n padding: [50, 20, 50, 50] // 上,右,下,左\n });\n\n this.checkChart.axis('siteName', {\n line: {\n style: {\n stroke: '#fff'\n }\n },\n label: {\n style: {\n fill: '#fff'\n }\n }\n });\n this.checkChart.axis('数量', {\n line: {\n style: {\n stroke: '#fff'\n }\n },\n label: {\n style: {\n fill: '#fff'\n }\n }\n });\n this.checkChart.interval().position('siteName*数量').color('siteName', '#348ee7').label('数量', function (val) {\n if (val == 0) {\n return null;\n }\n return {\n position: 'middle',\n offset: 0,\n content: function content(originData) {\n return originData['数量'];\n },\n style: {\n fill: '#fff'\n }\n };\n });\n this.checkChart.legend('siteName', false);\n this.checkChart.data(data);\n this.checkChart.scale('sales', {\n nice: true\n });\n this.checkChart.tooltip({\n showMarkers: false\n });\n this.checkChart.interaction('active-region');\n this.checkChart.render();\n },\n getCheckJson: function getCheckJson(init) {\n var _this11 = this;\n this.$http.post('${yhxt}/bizWorkStatistic/v1/getCheckJson', this.queryChart.check).then(function (res) {\n var data = [];\n res.data.forEach(function (item) {\n //简写名称\n var str = item.siteName;\n if (str.indexOf('经常') != -1) {\n str = str.slice(0, 2) + str.slice(3, 4) + str.slice(4, 5);\n } else {\n str = str.slice(0, 2) + str.slice(2, 3) + str.slice(4, 5);\n }\n data.push({\n siteName: str,\n 数量: item.siteCodeTotal\n });\n });\n _this11.checkData = data;\n if (init) {\n _this11.initcheckChart(data);\n } else if (_this11.checkChart) {\n _this11.checkChart.changeData(data);\n // if (init) {\n // this.initcheckChart(data)\n // } else {\n // console.log(this.checkChart, 'this.checkChart')\n // this.checkChart.changeData(data)\n }\n });\n },\n //antV数据可视化相关函数\n initColumn: function initColumn(idDom, data, type) {\n var _this12 = this;\n var chart = new Chart({\n container: idDom,\n autoFit: true,\n //宽高自适应\n height: 500,\n padding: [50, 20, 50, 50]\n });\n chart.data(data);\n chart.scale('value', {\n alias: '数量(个)'\n });\n chart.axis('name', {\n line: {\n style: {\n stroke: '#fff'\n }\n },\n label: {\n style: {\n fill: '#fff'\n }\n }\n });\n chart.axis('value', {\n line: {\n style: {\n stroke: '#fff'\n }\n },\n label: {\n style: {\n fill: '#fff'\n }\n }\n });\n chart.tooltip({\n shared: true,\n showMarkers: false\n });\n chart.legend('type', false);\n chart.interaction('active-region');\n chart.interval().adjust('stack').position('name*value').color('type', ['#348ee7', '#e5645b']).label('value', function (val) {\n if (val == 0) {\n return null;\n }\n return {\n position: 'middle',\n offset: 0,\n content: function content(originData) {\n return originData.value;\n },\n style: {\n fill: '#fff'\n }\n };\n });\n chart.on('click', function (e) {\n var url;\n if (e.data.data.companyId && _this12.isNext) {\n if (type == 'work') {\n _this12.backIsShowWork = true;\n url = '/bizWorkStatistic/v1/getWorkJson';\n } else {\n _this12.backIsShow = true;\n url = '/bizWorkStatistic/v1/getSiteJson';\n }\n _this12.querySite.params.companyId = e.data.data.companyId;\n _this12.$http.post('${yhxt}' + url, _this12.querySite).then(function (res) {\n var newData = [];\n res.data.forEach(function (item) {\n if (type == 'work') {\n newData.push({\n name: item.roadSegmentName,\n type: '完成',\n value: item.total\n });\n newData.push({\n name: item.roadSegmentName,\n type: '未完成',\n value: item.totalNumsNo\n });\n } else {\n newData.push({\n name: item.roadSegmentName,\n type: '完成',\n value: item.completeTotal\n });\n newData.push({\n name: item.roadSegmentName,\n type: '未完成',\n value: item.completeNoTotal\n });\n }\n });\n chart.data(newData);\n chart.render(); // 更新图表\n });\n }\n });\n\n chart.render();\n if (type == 'work') {\n this.workChart = chart;\n } else {\n this.G2chart = chart;\n }\n },\n //日常巡检\n getDailyData: function getDailyData(idDom, data) {\n var _this13 = this;\n this.dailyChart = new Chart({\n container: idDom,\n autoFit: true,\n //宽高自适应\n height: 500,\n padding: [50, 20, 50, 50]\n });\n this.dailyChart.data(data);\n this.dailyChart.scale('value', {\n alias: '数量(个)'\n });\n this.dailyChart.axis('name', {\n line: {\n style: {\n stroke: '#fff'\n }\n },\n label: {\n style: {\n fill: '#fff'\n }\n }\n });\n this.dailyChart.axis('value', {\n line: {\n style: {\n stroke: '#fff'\n }\n },\n label: {\n style: {\n fill: '#fff'\n }\n }\n });\n this.dailyChart.tooltip({\n shared: true,\n showMarkers: false\n });\n this.dailyChart.legend('type', false);\n this.dailyChart.interaction('active-region');\n this.dailyChart.interval().adjust('dodge').position('name*value').color('type', ['#348ee7', '#e5645b']).label('value', function (val) {\n if (val == 0) {\n return null;\n }\n return {\n position: 'middle',\n offset: 0,\n content: function content(originData) {\n return originData.value;\n },\n style: {\n fill: '#fff'\n }\n };\n });\n this.dailyChart.on('click', function (e) {\n if (e.data.data.companyId && _this13.isNext) {\n _this13.backIsShowDaily = true;\n _this13.querySite.params.companyId = e.data.data.companyId;\n _this13.$http.post('${yhxt}/bizWorkStatistic/v1/getSiteJson', _this13.querySite).then(function (res) {\n var newData = [];\n res.data.forEach(function (item) {\n //日常巡检\n newData.push({\n roadSegmentId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '日巡检已完成',\n value: item.dayCheckingFinish //日巡检\n });\n\n newData.push({\n roadSegmentId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '日巡检未完成',\n value: item.dayCheckingOnFinsh //日巡检\n });\n\n newData.push({\n roadSegmentId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '夜巡检已完成',\n value: item.nightCheckingFinish //夜巡检\n });\n\n newData.push({\n roadSegmentId: item.roadSegmentId,\n name: item.roadSegmentName,\n type: '夜巡检未完成',\n value: item.nightCheckingOnFinsh //夜巡检\n });\n });\n\n _this13.dailyChart.data(newData);\n _this13.dailyChart.render(); // 更新图表\n });\n }\n });\n\n this.dailyChart.render();\n },\n //监听切换年月事件\n BizChange: function BizChange(model, yearMonth, type) {\n if (type == 2) {\n this.queryChart[model].params.accDateMonth = '';\n this.queryChart[model].params.accDateYear = yearMonth;\n } else {\n this.queryChart[model].params.accDateYear = '';\n this.queryChart[model].params.accDateMonth = yearMonth;\n }\n if (model == 'check') {\n this.getCheckJson();\n } else if (model == 'site' || model == 'daily') {\n this.getSiteJson(model);\n } else if (model == 'work') {\n this.getWorkJson();\n } else if (model == 'amount') {\n //养护金额\n this.getMaintenanceAmount();\n } else if (model == 'disease') {\n this.getDiseaseNumber();\n } else if (model == 'diseaseType') {\n this.getDiseaseType('change');\n } else if (model == 'diseaseDay') {\n this.getDiseaseAverDay('change');\n } else if (model == 'task') {\n this.getTaskImplementation();\n }\n },\n getYear: function getYear() {\n var dd = new Date();\n var year = dd.getFullYear() + Number(0);\n return year;\n },\n //数字翻牌器DataV\n formatter: function formatter(number) {\n var numbers = number.toString().split('').reverse();\n var segs = [];\n while (numbers.length) segs.push(numbers.splice(0, 3).join(''));\n return segs.join(',').split('').reverse().join('');\n },\n handleClick: function handleClick(tab, event) {\n var _this14 = this;\n this.valueRoad = {\n value: 1,\n label: '全部路段',\n companyId: 1,\n companyName: '全部公司',\n roadSegmentId: 1,\n roadSegmentName: '全部路段'\n };\n if (tab.name == 'second') {\n this.showVideoModel = false;\n this.isShow = false;\n this.config1.number = [0];\n this.config2.number = [0];\n this.config3.number = [0];\n this.config4.number = [0];\n this.config5.number = [0];\n /** antV相关初始化函数 */\n this.queryChart.amount = {\n params: {\n accDateMonth: '',\n accDateYear: this.getYear()\n }\n }; //养护金额\n this.queryChart.check = {\n params: {\n accDateMonth: '',\n accDateYear: this.getYear()\n }\n };\n this.queryChart.daily = {\n params: {\n accDateMonth: '',\n accDateYear: this.getYear()\n }\n };\n this.queryChart.work = {\n params: {\n accDateMonth: '',\n accDateYear: this.getYear()\n }\n };\n this.queryChart.site = {\n params: {\n accDateMonth: '',\n accDateYear: this.getYear()\n }\n };\n this.queryTopAmount.params = {\n accDateMonth: '',\n accDateYear: this.getYear()\n }; //顶部数据\n this.getSiteJson('site'); //巡查巡检个数统计\n this.getSiteJson('daily');\n this.getWorkJson(); //养护工单\n this.getDiseaseNumber(); //病害数量\n this.getDiseaseType(); //病害类型个数\n this.getDiseaseAverDay(); //病害平均处理天数\n this.getTaskImplementation(); //任务执行情况\n setTimeout(function () {\n _this14.initColumn('G2-continar1', _this14.DataSite); //巡查巡检个数\n _this14.getDailyData('G2-continar2', _this14.dailyData); //日常巡检个数\n _this14.getCheckJson('init'); //定期/经常检查的个数\n _this14.getMaintenanceAmount(); //养护金额\n _this14.initColumn('G2-continar4', _this14.mainData, 'work'); //养护工单\n _this14.getBizTopData(); //业务概况顶部部数据\n }, 300);\n // this.$nextTick(() => {\n\n // })\n } else if (tab.name == 'three') {\n this.handleWorkpaceClick();\n } else {\n // this.markers = []\n setTimeout(function () {\n _this14.initMap();\n _this14.$http.post('${yhxt}' + _this14.urlMap, _this14.querysMap).then(function (res) {\n _this14.AraryMapData = res.data.rows;\n _this14.markers = [[], [], [], [], [], [], [], [], [], []];\n _this14.pointAggregation();\n });\n }, 300);\n this.isShow = true;\n this.query = {}; //清空请求参数\n this.BasicUrl = '/bizRoadsideFacilities/bizRoadsideFacilitiesManager/v1/getJson'; //初始化基础设施路段信息请求参数\n this.queryRoadBasic = {\n params: {}\n };\n // console.log(res)\n // this.queryMileage = {\n // roadSegmentId: Data.roadSegmentId,\n // } //里程排行榜\n this.getAllStructureCount(); //各个公司结构数量\n this.getMileageData(); //获取里程排行榜\n // this.getRoadBasic(this.BasicUrl)\n }\n },\n destroy: function destroy() {\n if (this.markers) {\n // this.markers = []\n }\n this.map.clearInfoWindow();\n // this.map.clearMap()\n // 清除地图上所有聚合\n if (this.cluster.length != '0') {\n this.cluster.clearMarkers();\n }\n },\n locationMark: function locationMark(x, y, name) {\n var icon;\n if (this.markerType == 'culvert') {\n icon = new AMap.Icon({\n size: new AMap.Size(48, 48),\n image: require(\"../../../assets/img/hanong.png\")\n });\n } else if (this.markerType = 'bridge') {\n icon = new AMap.Icon({\n size: new AMap.Size(48, 48),\n image: require(\"../../../assets/img/qiaoliang.png\")\n });\n } else if (this.markerType = 'tunnel') {\n icon = new AMap.Icon({\n size: new AMap.Size(48, 48),\n image: require(\"../../../assets/img/suidao.png\")\n });\n } else if (this.markerType = 'sideSlope') {\n icon = new AMap.Icon({\n size: new AMap.Size(48, 48),\n image: require(\"../../../assets/img/bianpo.png\")\n });\n }\n\n // 创建一个 Marker 实例:\n this.marker = new AMap.Marker({\n map: this.map,\n position: [x, y],\n // 经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]\n offset: new AMap.Pixel(-13, -30),\n title: name,\n icon: icon\n });\n // 将创建的点标记添加到已有的地图实例:\n this.map.add(this.marker);\n //定位导标记点\n // this.map.setFitView()\n },\n getData: function getData() {\n var date = new Date();\n this.value = utils.formatDate(date, 'yearMonth');\n },\n handleScreenFull: function handleScreenFull(type) {\n if (!screenfull.isEnabled) {\n this.$message({\n message: '不支持全屏',\n type: 'warning'\n });\n return false;\n }\n screenfull.toggle(document.getElementsByTagName('body')[0]);\n this.isScreenFull = !this.isScreenFull;\n if (!this.isScreenFull) {\n this.reload();\n }\n },\n //进入工作台\n handleWorkpaceClick: function handleWorkpaceClick() {\n var _this15 = this;\n this.$store.dispatch('menu/actionFrontMenus').then(function (res) {\n _this15.$router.push({\n path: \"/frontPlat/\".concat(res[0].alias)\n });\n });\n },\n //获取公司信息\n getCompany: function getCompany() {\n var _this16 = this;\n basicData.getCompanyInfo_1('1419863231459102720').then(function (res) {\n res.forEach(function (item) {\n _this16.companyOptions.push({\n id: item.id,\n name: item.name\n });\n });\n });\n // this.$http.post('${yhxt}/Company/v1/getCompany').then(res => {\n // res.data.forEach(item => {\n // this.companyOptions.push({\n // id: item.id,\n // name: item.name\n // })\n // })\n // })\n },\n getroad: function getroad() {\n var arr = [{\n id: 1,\n name: '全部路段',\n companyId: 1,\n companyName: '全部公司',\n roadSegmentId: 1\n }];\n basicData.getRoadManagement().then(function (res) {\n res.rows.forEach(function (item) {\n arr.push({\n name: item.name,\n id: item.id,\n companyId: item.companyId,\n companyName: item.companyName,\n roadSegmentId: item.id,\n roadSegmentName: item.name\n });\n });\n // console.log(arr, '12')\n });\n\n return arr;\n },\n //获取各个结构数量\n getAllStructureCount: function getAllStructureCount() {\n var _this17 = this;\n this.$http.post('${yhxt}/baseDataStatistics/v1/getAllStructureCount', this.query).then(function (res) {\n console.log(res, '所有结构物,ddddddddd');\n _this17.loadingBasic = true;\n var data = res.data;\n //桥梁\n _this17.getCount(data.bridge[0], '0');\n //涵洞\n _this17.getCount(data.culvert[0], '2');\n //隧道\n _this17.getCount(data.tunnel[0], '1');\n //路段\n // this.getStructure(data.roadSection[0].roadSection, '0')\n //服务区\n _this17.getStructure(data.roadsideFacilitiesServiceArea[0].roadsideFacilitiesCount, '', '', '0');\n //收费站\n _this17.getStructure(data.roadsideFacilitiesTollStation[0].roadsideFacilitiesCount, '', '', '1');\n //边坡\n _this17.getStructure(data.sideSlop[0].sideSlopCount, data.sideSlop[0].highVoltageFalse, data.sideSlop[0].highVoltageTrue, '2');\n });\n },\n //获取涵洞桥梁等数量\n getCount: function getCount(data, key) {\n // let Data = []\n // data.forEach(item => {\n // Data.push({\n // name: item.TYPE_VALUE_,\n // count: item.typeCount\n // })\n // })\n this.basicData_2.forEach(function (item, index) {\n if (key == index) {\n item.data[0].count = data.type1;\n item.data[1].count = data.type2;\n item.data[2].count = data.type3;\n item.data[3].count = data.type4;\n if (key == '2') {\n item.data[4].count = data.type5;\n }\n }\n });\n },\n //获取路段等数量\n getStructure: function getStructure(count, count1, count2, key) {\n this.basicData_1.forEach(function (item, index) {\n if (key == index) {\n item.count = count;\n if (key == 2) {\n item.hightCount = count2;\n item.notHigthcount = count1;\n }\n }\n });\n },\n //获取各个公司路段数据\n getRoadData: function getRoadData() {\n this.type = '1';\n this.$http.post('${yhxt}/road/roadmanage/v1/getJson', this.queryBasic).then(function (res) {\n // this.BasicData = res.data.rows\n // this.config_1 = {...this.config_1}\n // let xAxis = []\n // let series = []\n // let data = res.data.roadSection\n // data.forEach(item => {\n // xAxis.push(item.companyName)\n // series.push(item.roadSection)\n // })\n // this.option1.xAxis.data = xAxis\n // this.option1.series[0].data = series\n // this.option1 = {...this.option1}\n });\n },\n //获取各个公司沿线设施数据\n getRoadsideData: function getRoadsideData() {\n var _this18 = this;\n this.$http.post('${yhxt}/baseDataStatistics/v1/getRoadsideFacilitiesCompany').then(function (res) {\n var xAxis = [];\n var series = [];\n var data = res.data.roadsideFacilities;\n data.forEach(function (item) {\n xAxis.push(item.companyName);\n series.push(item.roadsideFacilitiesCount);\n });\n _this18.option_2.xAxis.data = xAxis;\n _this18.option_2.series[0].data = series;\n _this18.option1 = _objectSpread({}, _this18.option_2);\n });\n },\n //获取各个公司边坡数据\n getSideSlopeData: function getSideSlopeData() {\n var _this19 = this;\n this.$http.post('${yhxt}/baseDataStatistics/v1/getSideSlopCompany').then(function (res) {\n var xAxis = [];\n var series = [[], []];\n var data = res.data.sideSlop;\n data.forEach(function (item) {\n xAxis.push(item.companyName);\n series[0].push(item.highVoltageTrue);\n series[1].push(item.highVoltageFalse);\n });\n _this19.option1_2 = _objectSpread({}, option[3]);\n _this19.option_3.xAxis.data = xAxis;\n _this19.option_3.series[0].data = series[0];\n _this19.option_3.series[1].data = series[1];\n _this19.option1_2 = _objectSpread({}, _this19.option_3);\n });\n },\n //获取桥梁数据\n getBridgeData: function getBridgeData() {\n var _this20 = this;\n this.$http.post('${yhxt}/baseDataStatistics/v1/getBridgeCompany').then(function (res) {\n var xAxis = [];\n var series = [[], [], [], []];\n var data = res.data.bridge;\n data.forEach(function (item) {\n xAxis.push(item.companyName);\n series[0].push(item.type1);\n series[1].push(item.type2);\n series[2].push(item.type3);\n series[3].push(item.type4);\n });\n // this.option1_2 = {...option[3]}\n _this20.option_4.xAxis.data = xAxis;\n _this20.option_4.series[0].data = series[0];\n _this20.option_4.series[1].data = series[1];\n _this20.option_4.series[2].data = series[2];\n _this20.option_4.series[3].data = series[3];\n _this20.option1_2 = _objectSpread({}, _this20.option_4);\n });\n },\n //获取隧道数据\n getTunnelData: function getTunnelData() {\n var _this21 = this;\n this.$http.post('${yhxt}/baseDataStatistics/v1/getTunnelCompany').then(function (res) {\n var xAxis = [];\n var series = [[], [], [], []];\n var data = res.data.tunnel;\n data.forEach(function (item) {\n xAxis.push(item.companyName);\n series[0].push(item.type1);\n series[1].push(item.type2);\n series[2].push(item.type3);\n series[3].push(item.type4);\n });\n // this.option1_2 = {...option[3]}\n _this21.option_5.xAxis.data = xAxis;\n _this21.option_5.series[0].data = series[0];\n _this21.option_5.series[1].data = series[1];\n _this21.option_5.series[2].data = series[2];\n _this21.option_5.series[3].data = series[3];\n _this21.option1_2 = _objectSpread({}, _this21.option_5);\n });\n },\n //获取涵洞数据\n getCulvertData: function getCulvertData() {\n var _this22 = this;\n this.$http.post('${yhxt}/baseDataStatistics/v1/getCulvertCompany').then(function (res) {\n var xAxis = [];\n var series = [[], [], [], [], []];\n var data = res.data.culvert;\n data.forEach(function (item) {\n xAxis.push(item.companyName);\n series[0].push(item.type1);\n series[1].push(item.type2);\n series[2].push(item.type3);\n series[3].push(item.type4);\n series[4].push(item.type5);\n });\n // this.option1_2 = {...option[3]}\n _this22.option_6.xAxis.data = xAxis;\n _this22.option_6.series[0].data = series[0];\n _this22.option_6.series[1].data = series[1];\n _this22.option_6.series[2].data = series[2];\n _this22.option_6.series[3].data = series[3];\n _this22.option_6.series[4].data = series[4];\n _this22.option1_2 = _objectSpread({}, _this22.option_6);\n });\n },\n //桥梁类别统计数据\n getBridgeCategoryData: function getBridgeCategoryData() {\n var _this23 = this;\n this.$http.post('${yhxt}/baseDataStatistics/v1/getBridgeStatistics', this.query).then(function (res) {\n var data = res.data.category;\n var series = [];\n data.forEach(function (item) {\n series.push({\n name: item.categoryValue,\n value: item.categoryCount\n });\n });\n _this23.option2.series[0].data = series;\n _this23.option2 = _objectSpread({}, _this23.option2);\n });\n },\n //隧道等级统计\n getTunnelGradeData: function getTunnelGradeData() {\n var _this24 = this;\n this.$http.post('${yhxt}/baseDataStatistics/v1/getTunnelStatistics', this.qurery).then(function (res) {\n var data = res.data.tunnelGrade;\n var series = [];\n data.forEach(function (item) {\n series.push({\n name: item.gradeValue,\n value: item.gradeTotal\n });\n });\n _this24.option3.series[0].data = series;\n _this24.option3 = _objectSpread({}, _this24.option3);\n });\n },\n //路段下拉点击事件\n // handleChangeRoad(data) {\n // this.query.roadSegmentId = data\n // this.getBridgeCategoryData() //桥梁类别统计数据\n // // this.getTunnelGradeData() //隧道等级统计数据\n // this.getAllStructureCount() //各个公司结构数量\n // // console.log(this.query, 'dddddddddddddd')\n // },\n //路段下拉事件\n handleChangeRoadSelect: function handleChangeRoadSelect(Data) {\n var _this25 = this;\n this.loadingBasic = false;\n if (Data.roadSegmentId == 1) {\n this.queryMileage = {\n companyId: '',\n ompanyName: '',\n roadSegmentId: ''\n };\n this.queryRoadBasic.params = {};\n this.BasicUrl = '/bizRoadsideFacilities/bizRoadsideFacilitiesManager/v1/getJson';\n } else {\n this.queryMileage = {\n companyId: Data.companyId,\n companyName: Data.companyName,\n roadSegmentId: Data.roadSegmentId\n };\n this.queryRoadBasic.params.roadSegmentId = Data.roadSegmentId;\n }\n var data = Data.value;\n if (this.isShow) {\n // 基础概况\n // this.BasicCompany = {\n // value: Data.companyId,\n // label: Data.companyName\n // } //暂存\n // this.getRoadBasic(this.BasicUrl)\n this.$nextTick(function () {\n _this25.getMileageData(); // 获取里程排行\n // this.getMaintenanceStation() //养护车辆统计\n });\n\n if (data == 1) {\n this.query = {};\n this.querysMap.querys[1].value = '';\n } else {\n this.query.roadSegmentId = Data.roadSegmentId;\n this.querysMap.querys[1].value = Data.roadSegmentId;\n }\n this.getBridgeCategoryData(); //桥梁类别统计数据\n this.getAllStructureCount(); //各个公司结构数量\n this.handleModular(this.listData[0]);\n //根据路段id判断用户点击的具体路段\n if (this.roadLineArr.length !== 0) {\n this.roadLineArr.forEach(function (item) {\n if (data === item.id) {\n _this25.setFitView(item.line);\n } else if (data === 1) {\n _this25.map.setZoomAndCenter(7, _this25.mapCenter); //同时设置地图层级与中心点\n }\n });\n }\n\n this.$refs.htTable.load();\n } else {\n //业务概况\n if (data == '1') {\n this.isNext = true;\n this.getCheckJson();\n this.getWorkJson();\n this.getDiseaseNumber();\n this.getTaskImplementation();\n this.getDiseaseAverDay('change');\n this.getDiseaseType('change');\n this.getSiteJson('site');\n this.getSiteJson('daily');\n } else {\n this.isNext = false;\n this.getCheckJson();\n this.getWorkJson('biz');\n this.getSiteJson('site', 'biz');\n this.getSiteJson('daily', 'biz');\n }\n this.BizCompany = {\n value: Data.companyId,\n label: Data.companyName\n }; //暂存\n var model = ['site', 'daily', 'check', 'work', 'amount'];\n model.forEach(function (item) {\n _this25.queryChart[item].params.roadSegmentId = data == 1 ? '' : data;\n });\n this.queryChart['disease'].params.roadSegmentId = data == 1 ? '' : data;\n this.queryChart['diseaseType'].params.roadSegmentId = data == 1 ? '' : data;\n this.getMaintenanceAmount(); //养护金额\n this.getDiseaseNumber(); //病害数量\n this.getDiseaseType('change'); //病害类型\n this.getDiseaseAverDay(); //病害平均处理天数\n this.getTaskImplementation(); //任务执行情况\n this.queryTopAmount.params = {\n roadSegmentId: Data.companyId == 1 ? '' : Data.roadSegmentId,\n roadSegmentName: Data.companyName == '全部公司' ? '' : Data.roadSegmentName\n };\n this.getBizTopData(); //业务概况顶部数据\n }\n },\n //地图上切换数据事件\n handleMapClick: function handleMapClick(tab) {\n // this.initRoadLine()\n this.map.destroy();\n var name = tab.name;\n if (name == '桥梁') {\n this.clickIndex = 0;\n this.markerType = 'bridge';\n this.urlMap = '/bizBridgeInformation/v1/getJson';\n this.getBridgeMapData(); //获取桥梁地图数据\n } else if (name == '隧道') {\n this.clickIndex = 1;\n this.markerType = 'tunnel';\n this.urlMap = '/bizTunnelInformation/v1/getJson';\n this.getBridgeMapData(); //获取桥梁地图数据\n } else if (name == '边坡') {\n this.clickIndex = 2;\n this.markerType = 'sideSlope';\n this.urlMap = '/bizSideSlopeInformation/v1/getJson';\n this.getBridgeMapData(); //获取桥梁地图数据\n } else if (name == '涵洞') {\n this.clickIndex = 3;\n this.markerType = 'culvert';\n this.urlMap = '/bizCulvertInformation/bizCulvertInformationmanager/v1/getList';\n this.getBridgeMapData(); //获取桥梁地图数据\n } else if (name == '沿线设施') {\n this.clickIndex = 4;\n this.markerType = 'roadSide';\n this.urlMap = '/bizRoadsideFacilities/bizRoadsideFacilitiesManager/v1/getList';\n this.getBridgeMapData(); //获取桥梁地图数据\n }\n },\n //轮播地图数据\n move: function move() {\n this.time = setInterval(this.handleMove, 3000);\n },\n handleMove: function handleMove() {\n this.clickIndex += 1;\n if (this.clickIndex == 5) {\n this.clickIndex = 0;\n }\n this.activeNameMap = this.listData[this.clickIndex].name;\n this.handleMapClick({\n name: this.listData[this.clickIndex].name\n });\n },\n //获取桥梁地图数据\n getBridgeMapData: function getBridgeMapData(index) {\n var _this26 = this;\n this.$http.post('${yhxt}' + this.urlMap, this.querysMap).then(function (res) {\n _this26.AraryMapData = res.data.rows;\n // this.map.setZoomAndCenter(8, this.mapCenter) //同时设置地图层级与中心点\n // this.pointAggregation()\n //清除地图之前的图层\n _this26.changeIcon();\n _this26.cluster.addMarkers(_this26.markers[index]);\n _this26.setInfoWindow();\n });\n },\n //操作模块事件\n handleModular: function handleModular(data) {\n console.log(data, '点击');\n var index = data.key;\n this.modularIndex = index;\n var active = data.isActive;\n this.listData[index].isActive = !active;\n this.querysMap.querys = [{\n group: 'advance',\n operation: 'LIKE',\n property: 'road_segment_name_',\n relation: 'AND',\n value: '' //永泸高速\n }, {\n group: 'advance',\n operation: 'LIKE',\n property: 'road_segment_id_',\n relation: 'AND',\n value: ''\n }];\n // this.markers = []\n if (this.infoWindow) {\n this.infoWindow.close();\n }\n if (active) {\n this.cluster.removeMarkers(this.markers[index]);\n this.markers[index] = [];\n }\n this.showVideoModel = false;\n console.log(index, 'key');\n if (index == 0 && !active) {\n this.markerType = 'bridge';\n this.urlMap = '/bizBridgeInformation/v1/getList';\n this.getBridgeMapData(index);\n } else if (index == 1 && !active) {\n this.markerType = 'tunnel';\n this.urlMap = '/bizTunnelInformation/v1/getJson';\n this.getBridgeMapData(index);\n } else if (index == 2 && !active) {\n this.markerType = 'culvert';\n this.urlMap = '/bizCulvertInformation/bizCulvertInformationmanager/v1/getList';\n this.getBridgeMapData(index);\n } else if (index == 3 && !active) {\n this.markerType = 'tollgate';\n this.urlMap = '/bizRoadsideFacilities/bizRoadsideFacilitiesManager/v1/getList';\n console.log(this.querysMap, 'map');\n this.querysMap.querys.push({\n group: 'advance',\n operation: 'LIKE',\n property: 'type',\n relation: 'AND',\n value: '3' //永泸高速\n });\n\n this.getBridgeMapData(index);\n } else if (index == 4 && !active) {\n this.markerType = 'sever';\n this.urlMap = '/bizRoadsideFacilities/bizRoadsideFacilitiesManager/v1/getList';\n this.querysMap.querys.push({\n group: 'advance',\n operation: 'LIKE',\n property: 'type',\n relation: 'AND',\n value: '4' //永泸高速\n });\n\n this.getBridgeMapData(index);\n // lj——监控视频\n } else if (index == 5 && !active) {\n this.markerType = 'car';\n this.AraryMapData = [{\n lng: '105.800554',\n lat: '29.256452',\n carNumber: '渝A9756D',\n carType: '-',\n carDriverName: '-',\n companyName: '-',\n carColour: '白色',\n createTime: '-',\n buyDate: '2020-07-15'\n }];\n this.changeIcon();\n this.cluster.addMarkers(this.markers[index]);\n this.setInfoWindow();\n // this.pointAggregation()\n // this.showVideo = true\n } else if (index == 6 && !active) {\n this.markerType = 'gongqu';\n this.AraryMapData = [{\n lng: '105.800554',\n lat: '30.256452',\n name: '养护工区',\n roadSegmentName: ''\n }];\n this.changeIcon();\n this.cluster.addMarkers(this.markers[index]);\n this.setInfoWindow();\n } else if (index == 7 && !active) {\n this.markerType = 'jiuyuan';\n this.AraryMapData = [{\n lng: '106.800554',\n lat: '29.256452',\n name: '救援点',\n roadSegmentName: ''\n }];\n this.changeIcon();\n this.cluster.addMarkers(this.markers[index]);\n this.setInfoWindow();\n } else if (index == 8 && !active) {\n this.markerType = 'yinji';\n this.AraryMapData = [{\n lng: '105.801554',\n lat: '29.256452',\n name: '应急物资库',\n roadSegmentName: ''\n }];\n this.changeIcon();\n this.cluster.addMarkers(this.markers[index]);\n this.setInfoWindow();\n }\n // lj——监控视频\n },\n //基础设施弹层显示详情回调事件\n handleDetiles: function handleDetiles(row) {\n console.log(row);\n this.dialogTitle = row.name ? row.name : row.number;\n // this.dialogVisible = true\n },\n handleClose: function handleClose(done) {\n done();\n }\n }\n};",null]}