{"remainingRequest":"D:\\jenkins\\workspace\\damDance-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\damDance-fvue\\src\\views\\BigScreen\\bigScreen.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\damDance-fvue\\src\\views\\BigScreen\\bigScreen.vue","mtime":1704857990668},{"path":"D:\\jenkins\\workspace\\damDance-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\damDance-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\damDance-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport Cookie from 'js-cookie'\r\nimport * as echarts from 'echarts'\r\nimport 'leaflet/dist/leaflet.css'\r\nimport 'leaflet.markercluster/dist/MarkerCluster.css'\r\nimport 'leaflet.markercluster/dist/MarkerCluster.Default.css'\r\nimport L from 'leaflet'\r\nimport 'leaflet.markercluster'\r\nimport wanzhou from '@/assets/js/wanzhougeojson.js'\r\nimport moment from 'moment'\r\nimport RegistrationManage from '@/api/RegistrationManage/RegistrationManage.js'\r\nimport bigScreenAPI from '@/api/BigScreen/index.js'\r\nimport monitorDialog from './components/monitorDialog.vue'\r\nimport volumnDialog from './components/volumnDialog.vue'\r\nimport squareDialog from './components/squareDialog.vue'\r\nimport utils from '@/utils.js'\r\nimport eventConfirmation from './components/eventConfirmation.vue'\r\nimport uc from '@/api/uc.js'\r\nimport todayEvent from './components/todayEvent.vue' // 左侧-上-事件总览\r\nimport dictUtils from '@/components/dict/DictSelectUtils.js'\r\nimport followLocation from './components/followLocation.vue'\r\nimport concernGroup from './components/concernGroup.vue'\r\nimport durationAnalysis from './components/durationAnalysis.vue'\r\nexport default {\r\n name: 'bigScreen',\r\n components: {\r\n monitorDialog,\r\n volumnDialog,\r\n eventConfirmation,\r\n todayEvent,\r\n squareDialog,\r\n followLocation,\r\n concernGroup,\r\n durationAnalysis\r\n },\r\n data() {\r\n return {\r\n companyName: '',\r\n workPlatMenu: [],\r\n showWorkPlat: false,\r\n map: null,\r\n zoom: 9,\r\n timenow: '',\r\n timer: null,\r\n areaTree: [],\r\n formData: {\r\n areaCode: '500101000000',\r\n date: moment().format('YYYY-MM'),\r\n year: '',\r\n month: '',\r\n },\r\n pieChart1: null,\r\n pieChart1Options: null,\r\n pieChart1Data: [\r\n {\r\n name: '噪音扰民',\r\n value: 16,\r\n },\r\n {\r\n name: '扰乱公共秩序',\r\n value: 12,\r\n },\r\n {\r\n name: '商民纠纷',\r\n value: 5,\r\n },\r\n {\r\n name: '其他事件',\r\n value: 20,\r\n },\r\n ],\r\n pieChart2: null,\r\n pieChart2Options: null,\r\n pieChart2Data: [\r\n {\r\n name: '已更新',\r\n value: 43,\r\n },\r\n {\r\n name: '未更新',\r\n value: 10,\r\n },\r\n ],\r\n barChart1: null,\r\n barChart1Options: null,\r\n barChart1Data: [\r\n // {\r\n // name: '巡查发现',\r\n // value: 8,\r\n // },\r\n // {\r\n // name: '群众投诉',\r\n // value: 30,\r\n // },\r\n // {\r\n // name: '报警',\r\n // value: 5,\r\n // },\r\n // {\r\n // name: '智能检测',\r\n // value: 10,\r\n // },\r\n ],\r\n barChart2: null,\r\n barChart2Options: null,\r\n barChart2Data: [\r\n // {\r\n // name: '太白街道',\r\n // value: 8,\r\n // },\r\n // {\r\n // name: '牌楼街道',\r\n // value: 7,\r\n // },\r\n // {\r\n // name: '双河口街道',\r\n // value: 5,\r\n // },\r\n // {\r\n // name: '龙都街道',\r\n // value: 9,\r\n // },\r\n // {\r\n // name: '周家坝街道',\r\n // value: 7,\r\n // },\r\n // {\r\n // name: '五桥街道',\r\n // value: 10,\r\n // },\r\n // {\r\n // name: '天城街道',\r\n // value: 7,\r\n // },\r\n ],\r\n gaugeChart: null,\r\n gaugeData: [\r\n {\r\n value: 0,\r\n name: '处置率',\r\n title: {\r\n offsetCenter: ['0%', '-12%'],\r\n color: '#1AECFF',\r\n fontSize: 12,\r\n },\r\n },\r\n ],\r\n gaugeOption: null,\r\n showMonitor: true,\r\n showVolumn: true,\r\n showSquare: true,\r\n iconUrlMonitor: require('@/assets/img/point-monitor.png'),\r\n iconUrlMonitorWarning: require('@/assets/img/point-monitor-warning.png'),\r\n iconUrlSquare: require('@/assets/img/point-square.png'),\r\n iconUrlVolumnB: require('@/assets/img/point-volumn-b.png'),\r\n iconUrlVolumnO: require('@/assets/img/point-volumn-o.png'),\r\n MonitorClusterer: null,\r\n VolumnClusterer: null,\r\n MonitorPointsCount: 0,\r\n VolumnPointsCount: 0,\r\n SquarePointsCount: 0,\r\n MonitorPoints: [\r\n {\r\n name: 'MonitorPoints1',\r\n address: '重庆市万州区石峰路兴茂·御景江城北',\r\n lt: 30.719280904588018,\r\n lg: 108.20846557617188,\r\n },\r\n {\r\n name: 'MonitorPoints2',\r\n address: '重庆市万州区石峰路兴茂·御景江城北',\r\n lt: 30.658845439335867,\r\n lg: 108.2318115234375,\r\n },\r\n {\r\n name: 'MonitorPoints3',\r\n address: '重庆市万州区石峰路兴茂·御景江城北',\r\n lt: 30.586107333823133,\r\n lg: 108.32244873046875,\r\n },\r\n {\r\n name: 'MonitorPoints4',\r\n address: '重庆市万州区石峰路兴茂·御景江城北',\r\n lt: 30.62043041907182,\r\n lg: 108.76327514648438,\r\n },\r\n ],\r\n VolumnPoints: [\r\n {\r\n name: 'VolumnPoints1',\r\n code: 'VolumnPoints001',\r\n address: '重庆市万州区石峰路兴茂·御景江城北',\r\n volumn: 45,\r\n lt: 30.65063473409065,\r\n lg: 108.55728149414062,\r\n },\r\n {\r\n name: 'VolumnPoints2',\r\n code: 'VolumnPoints002',\r\n address: '重庆市万州区石峰路兴茂·御景江城北',\r\n volumn: 52,\r\n lt: 30.532563320835198,\r\n lg: 108.53668212890625,\r\n },\r\n {\r\n name: 'VolumnPoints3',\r\n code: 'VolumnPoints003',\r\n address: '重庆市万州区石峰路兴茂·御景江城北',\r\n volumn: 75,\r\n lt: 30.752231066426745,\r\n lg: 108.20571899414062,\r\n },\r\n {\r\n name: 'VolumnPoints4',\r\n code: 'VolumnPoints004',\r\n address: '重庆市万州区石峰路兴茂·御景江城北',\r\n volumn: 85,\r\n lt: 30.838725241253428,\r\n lg: 108.54080200195312,\r\n },\r\n ],\r\n SquarePoints: [],\r\n showInfoVolumn: false,\r\n showInfoMonitor: false,\r\n showInfoSquare: false,\r\n currentPoint: {},\r\n eventCount: {\r\n total: 0,\r\n wxsj: '0%',\r\n dypsj: '0%',\r\n czzsj: '0%',\r\n yczsj: '0%',\r\n // rate: 0,\r\n // done: 0,\r\n // doing: 0,\r\n // todo: 0,\r\n },\r\n loading: {\r\n Device: false,\r\n EventCount: false,\r\n EventSource: false,\r\n EventType: false,\r\n EventPlace: false,\r\n EventUpdate: false,\r\n EventObject: false,\r\n },\r\n loadingColor: 'rgba(6, 46, 106, 0.3)',\r\n queryTimer: null,\r\n pieChart1Total: '',\r\n pieChart2Total: '',\r\n importantObject: {\r\n 团队: 0,\r\n 个人: 0,\r\n },\r\n showVideo: false, // 视频组件控制\r\n monitorInfo: {}, // 视频点位数据\r\n volumnInfo: {}, // 智能检测点位数据\r\n squareInfo:{},// 广场舞地点点位数据\r\n showEventDialog: false, // 事件统计弹层\r\n eventTitle: '', // 事件统计title\r\n eventReq: [], // 事件统计查询参数\r\n eventTableData: [], // 事件统计表格数据\r\n showEventConfirmation: false, // 事件操作弹层\r\n eventRow: {}, // 事件信息\r\n pageParams: {\r\n page: 1,\r\n pageSize: 10,\r\n }, // 分页参数\r\n total: 0, // 总数\r\n typeSource: '',\r\n sjlyList: [], // 事件来源字典数据\r\n sourceVal: '', // 事件来源\r\n }\r\n },\r\n created() {\r\n this.sjlyList = dictUtils.getDictItemsFromCache('sjly')\r\n },\r\n mounted() {\r\n let account = JSON.parse(\r\n window.sessionStorage.getItem('currentUser')\r\n ).account\r\n uc.getUserByAccount(account, (res) => {\r\n // console.log(res.org[0].orgAddvcdFull.slice(1).split('/'));\r\n let arr = res.org[0].orgAddvcdFull.slice(1).split('/')\r\n // console.log(arr[arr.length - 1]);\r\n this.formData.areaCode = arr[arr.length - 1]\r\n this.getData('init')\r\n })\r\n console.log(account)\r\n\r\n this.getSysInfo()\r\n RegistrationManage.getbaseAreaTree().then((res) => {\r\n this.areaTree = res.value\r\n })\r\n this.$nextTick(() => {\r\n this.newMap()\r\n })\r\n this.$store.dispatch('menu/actionFrontMenus').then((data) => {\r\n this.workPlatMenu = data.filter((item) => item.alias === 'normal')\r\n this.showWorkPlat = this.workPlatMenu.length ? true : false\r\n })\r\n this.timer = setInterval(() => {\r\n this.getTimeNow()\r\n }, 1000)\r\n },\r\n methods: {\r\n getData(type) {\r\n this.formatQueryData(type)\r\n // 地图中设备信息\r\n this.queryDeviceList(type)\r\n // 事件统计\r\n this.queryEventCount(type)\r\n // 事件来源\r\n this.queryEventSource(type)\r\n // 事件分类\r\n // this.queryEventType(type)\r\n // 高频地点\r\n // this.queryEventPlace(type)\r\n // 存续事件更新统计\r\n // this.queryEventUpdate(type)\r\n // 重点关注对象统计\r\n // this.queryEventObject(type)\r\n },\r\n // 地图设备信息\r\n queryDeviceList() {\r\n this.loading.Device = true\r\n this.clearPoints('Monitor')\r\n this.clearPoints('Volumn')\r\n this.MonitorPoints = []\r\n this.VolumnPoints = []\r\n this.SquarePoints = []\r\n this.showMonitor = false\r\n this.showVolumn = false\r\n this.showSquare = false\r\n bigScreenAPI.queryDeviceList(this.formData).then((res) => {\r\n if (res.state && res.value) {\r\n this.MonitorPointsCount = res.value['监控设备'] || 0\r\n this.VolumnPointsCount = res.value['智能监测'] || 0\r\n this.SquarePointsCount = res.value['广场舞地点'] || 0\r\n this.SquarePoints = res.value.squareLocationsList\r\n if (res.value.deviceList && res.value.deviceList.length) {\r\n this.MonitorPoints = res.value.deviceList.filter(\r\n (item) => item.type == '2'\r\n )\r\n this.VolumnPoints = res.value.deviceList.filter(\r\n (item) => item.type == '1'\r\n )\r\n }\r\n }\r\n this.loading.Device = false\r\n this.handlePoint('Monitor')\r\n this.handlePoint('Volumn')\r\n this.handlePoint('Square')\r\n })\r\n },\r\n // 事件统计\r\n queryEventCount(type) {\r\n this.loading.EventCount = true\r\n bigScreenAPI.queryEventCount(this.formData).then((res) => {\r\n if (res.state && res.value) {\r\n this.eventCount.total = res.value['事件总数']\r\n this.eventCount.wxsj = res.value['无效事件占比']\r\n this.eventCount.dypsj = res.value['待研判事件占比']\r\n this.eventCount.czzsj = res.value['处置中事件占比']\r\n this.eventCount.yczsj = res.value['已处置事件占比']\r\n // this.eventCount.rate = res.value['处置率']\r\n // this.eventCount.done = res.value['已处置']\r\n // this.eventCount.doing = res.value['处置中']\r\n // this.eventCount.todo = res.value['未处置']\r\n // this.gaugeData[0].value = this.eventCount.rate\r\n // type ? this.initGaugeChart() : this.updataGaugeChart()\r\n // this.initGaugeChart()\r\n this.loading.EventCount = false\r\n }\r\n })\r\n },\r\n // 事件来源\r\n queryEventSource(type) {\r\n this.loading.EventSource = true\r\n this.barChart1Data = []\r\n bigScreenAPI.queryEventSource(this.formData).then((res) => {\r\n if (res.state && res.value) {\r\n for (let key in res.value) {\r\n this.barChart1Data.push({\r\n name: key,\r\n value: res.value[key],\r\n })\r\n }\r\n }\r\n // type ? this.initBarChart1() : this.updataBarChart1()\r\n this.initBarChart1()\r\n this.loading.EventSource = false\r\n })\r\n },\r\n // 事件分类\r\n queryEventType(type) {\r\n this.loading.EventType = true\r\n this.pieChart1Data = []\r\n bigScreenAPI.queryEventType(this.formData).then((res) => {\r\n this.pieChart1Total = 0\r\n if (res.state && res.value) {\r\n for (let key in res.value) {\r\n this.pieChart1Data.push({\r\n name: key,\r\n value: res.value[key],\r\n })\r\n this.pieChart1Total += res.value[key]\r\n }\r\n }\r\n // type ? this.initPieChart1() : this.updataPieChart1()\r\n this.initPieChart1()\r\n this.loading.EventType = false\r\n })\r\n },\r\n // 高频地点\r\n queryEventPlace(type) {\r\n this.loading.EventPlace = true\r\n this.barChart2Data = []\r\n bigScreenAPI.queryEventPlace(this.formData).then((res) => {\r\n if (res.state && res.value) {\r\n for (let key in res.value) {\r\n this.barChart2Data.push({\r\n name: key,\r\n value: res.value[key],\r\n })\r\n }\r\n }\r\n // type ? this.initBarChart2() : this.updataBarChart2()\r\n this.initBarChart2()\r\n this.loading.EventPlace = false\r\n })\r\n },\r\n // 存续事件更新统计\r\n queryEventUpdate(type) {\r\n this.loading.EventUpdate = true\r\n this.pieChart2Data = []\r\n bigScreenAPI.queryEventUpdate(this.formData).then((res) => {\r\n this.pieChart2Total = 0\r\n if (res.state && res.value) {\r\n for (let key in res.value) {\r\n this.pieChart2Data.push({\r\n name: key,\r\n value: res.value[key],\r\n })\r\n this.pieChart2Total += res.value[key]\r\n }\r\n }\r\n // type ? this.initPieChart2() : this.updataPieChart2()\r\n this.initPieChart2()\r\n this.loading.EventUpdate = false\r\n })\r\n },\r\n // 重点关注对象统计\r\n queryEventObject() {\r\n this.loading.EventObject = true\r\n let data = {\r\n areaCode: '500100000000',\r\n month: this.formData.month,\r\n year: this.formData.year,\r\n }\r\n bigScreenAPI.queryEventObject(data).then((res) => {\r\n console.log(res)\r\n if (res.state && res.value) {\r\n this.importantObject = res.value\r\n }\r\n this.loading.EventObject = false\r\n })\r\n },\r\n formatQueryData() {\r\n this.formData.year = this.formData.date.slice(0, 4)\r\n this.formData.month = this.formData.date.slice(5)\r\n },\r\n handlePoint(type) {\r\n this['show' + type] = !this['show' + type]\r\n this.drawPointsLayer(type, this['show' + type])\r\n },\r\n clearPoints(type) {\r\n this[type + 'Clusterer'] &&\r\n this[type + 'Clusterer'].clearLayers &&\r\n this[type + 'Clusterer'].clearLayers()\r\n },\r\n drawPointsLayer(type, flag) {\r\n if (flag) {\r\n this.markerClusterer(type)\r\n this.map.setView([30.707807, 108.390246], 11)\r\n } else {\r\n this.clearPoints(type)\r\n }\r\n },\r\n markerClusterer(type) {\r\n // 初始化点聚合\r\n // 临时取消掉摄像头聚合\r\n this[type + 'Clusterer'] = new L.markerClusterGroup({\r\n spiderfyOnMaxZoom: true,\r\n showCoverageOnHover: false,\r\n zoomToBoundsOnClick: true,\r\n })\r\n\r\n // 聚合点点击事件,点击展开点\r\n this[type + 'Clusterer'].on('clusterclick', function (e) {\r\n e.layer.zoomToBounds()\r\n })\r\n\r\n this[type + 'Points']\r\n .filter((it) => {\r\n return it.lttd && it.lgtd\r\n })\r\n .forEach((item) => {\r\n let latlng = new L.LatLng(item.lttd, item.lgtd)\r\n this.drwaMarkers(\r\n latlng,\r\n item,\r\n this[type + 'Clusterer'],\r\n type\r\n )\r\n })\r\n\r\n this.map.addLayer(this[type + 'Clusterer'])\r\n },\r\n drwaMarkers(latlng, item, Clusterer, type) {\r\n // 图片\r\n let iconUrl\r\n // if (type == 'Volumn' && item.sourceData >= 50) {\r\n if (type == 'Volumn' && item.warnFlag === 1) {\r\n iconUrl = this.iconUrlVolumnO\r\n } else if (type == 'Volumn') {\r\n iconUrl = this.iconUrlVolumnB\r\n } else if (type == 'Monitor' && item.warnFlag === 1) {\r\n iconUrl = this.iconUrlMonitorWarning\r\n } else if (type == 'Square') {\r\n iconUrl = this.iconUrlSquare\r\n } else {\r\n iconUrl = this.iconUrlMonitor\r\n }\r\n\r\n let icon = new L.icon({\r\n iconUrl: iconUrl,\r\n iconSize: new L.point(50, 90),\r\n iconAnchor: new L.point(25, 90),\r\n })\r\n // 标点\r\n const sectionMarker = new L.marker(latlng, {\r\n icon,\r\n draggable: false,\r\n autoPan: true,\r\n })\r\n\r\n let infoWin = this.infoWindow(item, type)\r\n sectionMarker.bindPopup(infoWin).openPopup()\r\n sectionMarker.addEventListener('click', () => {\r\n this.currentPoint = item\r\n infoWin.update()\r\n this['showInfo' + type] = true\r\n console.log(type);\r\n // type == 'Monitor' ? this.$refs.player.getUrlAndPlay() : null\r\n if (type === 'Monitor') {\r\n this.showVideo = true\r\n this.monitorInfo = item\r\n }\r\n if (type === 'Volumn') {\r\n this.volumnInfo = item\r\n this.$refs.volumnDialog.tableData = []\r\n this.$refs.volumnDialog.pageParams.page = 1\r\n setTimeout(() => {\r\n this.$refs.volumnDialog.getWarningList()\r\n }, 100)\r\n }\r\n if(type === 'Square'){\r\n this.squareInfo = item\r\n }\r\n this.map.setView(sectionMarker.getLatLng())\r\n // this.queryEquipmentVolumn(item)\r\n })\r\n\r\n sectionMarker.addEventListener('popupclose', () => {\r\n this.showVideo = false\r\n this.clearQuery()\r\n })\r\n\r\n // sectionMarker.addEventListener('dragend', function (event) {\r\n // console.log('实时坐标:' + sectionMarker.getLatLng())\r\n // })\r\n\r\n // sectionMarker.bindTooltip(item.name).openTooltip()\r\n\r\n Clusterer.addLayer(sectionMarker)\r\n },\r\n infoWindow(item, type) {\r\n let sContent = this.$refs['popup' + type]\r\n let className = `monitor ${type}`\r\n // if (type == 'Volumn' && item.sourceData >= 50) {\r\n // className = 'orange'\r\n // } else if (type == 'Volumn' && item.sourceData < 50) {\r\n // className = 'green'\r\n // }\r\n let infoWin = new L.popup({\r\n autoPan: true,\r\n // minWidth: type == 'Volumn' ? 280 : 600,\r\n // offset: new L.Point(0, type == 'Volumn' ? -70 : 200),\r\n minWidth: 600,\r\n offset: new L.Point(0, 200),\r\n className,\r\n }).setContent(sContent)\r\n\r\n return infoWin\r\n },\r\n queryEquipmentVolumn(item, infoWin) {\r\n this.queryTimer = setInterval(() => {\r\n let data = {\r\n pageBean: {\r\n page: 1,\r\n pageSize: 1,\r\n showTotal: true,\r\n },\r\n querys: [\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'device_info_id_',\r\n relation: 'AND',\r\n value: item.id,\r\n },\r\n ],\r\n sorter: [\r\n {\r\n direction: 'DESC',\r\n property: 'lastTime',\r\n },\r\n ],\r\n }\r\n bigScreenAPI.queryEquipmentVolumn(data).then((res) => {\r\n if (res.rows && res.rows.length) {\r\n this.currentPoint.sourceData = res.rows[0].noiseLevel\r\n\r\n // if(this.currentPoint.sourceData>=50){\r\n // iconUrl =\r\n // }\r\n // let icon = new L.Icon(option)\r\n infoWin.update()\r\n }\r\n })\r\n }, 10 * 60 * 1000)\r\n },\r\n clearQuery() {\r\n clearInterval(this.queryTimer)\r\n },\r\n initGaugeChart() {\r\n this.gaugeOption = {\r\n series: [\r\n {\r\n type: 'gauge',\r\n startAngle: 90,\r\n endAngle: -270,\r\n pointer: {\r\n show: false,\r\n },\r\n radius: '90%',\r\n progress: {\r\n show: true,\r\n overlap: false,\r\n roundCap: true,\r\n clip: false,\r\n itemStyle: {\r\n color: new echarts.graphic.LinearGradient(\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n [\r\n {offset: 0, color: '#1bafb5'},\r\n {offset: 1, color: '#00EAFF'},\r\n ]\r\n ),\r\n },\r\n },\r\n axisLine: {\r\n lineStyle: {\r\n width: 24,\r\n color: [[1, '#3E5678']],\r\n shadowColor: 'rgba(0, 234, 255, 0.8)',\r\n shadowBlur: 10,\r\n },\r\n },\r\n splitLine: {\r\n show: false,\r\n distance: 0,\r\n length: 10,\r\n },\r\n axisTick: {\r\n show: false,\r\n },\r\n axisLabel: {\r\n show: false,\r\n distance: 50,\r\n },\r\n data: this.gaugeData,\r\n title: {\r\n fontSize: 14,\r\n },\r\n detail: {\r\n fontSize: 16,\r\n color: '#1AECFF',\r\n formatter: '{value}%',\r\n offsetCenter: ['0%', '18%'],\r\n },\r\n },\r\n ],\r\n }\r\n this.gaugeChart = echarts.init(document.getElementById('gauge'))\r\n this.gaugeOption && this.gaugeChart.setOption(this.gaugeOption)\r\n window.addEventListener('resize', () => this.gaugeChart.resize())\r\n },\r\n updataGaugeChart() {\r\n this.gaugeChart.setOption(this.gaugeOption)\r\n },\r\n initBarChart1() {\r\n this.barChart1Options = {\r\n dataset: {\r\n source: this.barChart1Data,\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n backgroundColor: 'rgba(6, 47, 107, 1)',\r\n borderColor: 'rgba(2, 115, 233, 1)',\r\n textStyle: {\r\n color: '#fff',\r\n },\r\n confine: true,\r\n position: 'bottom',\r\n formatter: function (params) {\r\n return (\r\n '事件来源
' +\r\n params[0].data.name +\r\n ':' +\r\n params[0].data.value +\r\n '(件)'\r\n )\r\n },\r\n },\r\n grid: [\r\n {\r\n top: '18%',\r\n left: '8%',\r\n right: '5%',\r\n bottom: '16%',\r\n },\r\n ],\r\n xAxis: {\r\n type: 'category',\r\n axisTick: {\r\n alignWithLabel: true,\r\n },\r\n axisLine: {\r\n show: true,\r\n lineStyle: {\r\n color: '#293A57',\r\n },\r\n },\r\n axisLabel: {\r\n show: true,\r\n color: 'rgba(255,255,255,0.6)',\r\n },\r\n },\r\n yAxis: {\r\n name: '单位(件)',\r\n nameTextStyle: {\r\n color: 'rgba(255,255,255,0.6)',\r\n },\r\n type: 'value',\r\n axisLine: {\r\n show: true,\r\n lineStyle: {\r\n color: '#293A57',\r\n },\r\n },\r\n axisLabel: {\r\n show: true,\r\n color: 'rgba(255,255,255,0.6)',\r\n formatter: (val) => {\r\n if (\r\n (val >= 1 && parseInt(val, 10) === val) ||\r\n val == 0\r\n ) {\r\n return val\r\n } else {\r\n return\r\n }\r\n },\r\n },\r\n splitLine: {\r\n show: false,\r\n },\r\n },\r\n series: [\r\n {\r\n type: 'bar',\r\n showBackground: true,\r\n backgroundStyle: {\r\n color: 'rgba(180, 180, 180, 0.2)',\r\n },\r\n barWidth: 30,\r\n itemStyle: {\r\n borderRadius: [5, 5, 0, 0],\r\n color: new echarts.graphic.LinearGradient(\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n [\r\n {offset: 0, color: '#CCE6FF'},\r\n {offset: 1, color: '#3399FF'},\r\n ]\r\n ),\r\n },\r\n },\r\n ],\r\n }\r\n this.barChart1 = echarts.init(\r\n document.getElementById('event-source')\r\n )\r\n this.barChart1Options &&\r\n this.barChart1.setOption(this.barChart1Options)\r\n window.addEventListener('resize', () => this.barChart1.resize())\r\n this.barChart1.on('click', (params) => {\r\n console.log(params)\r\n let label = params.name\r\n console.log(this.sjlyList)\r\n this.sjlyList.forEach((it) => {\r\n if (it.name === label) {\r\n this.sourceVal = it.value\r\n }\r\n })\r\n this.openEventBySource(label)\r\n })\r\n },\r\n updataBarChart1() {\r\n this.barChart1Options.dataset.source = this.barChart1Data\r\n this.barChart1.setOption(this.barChart1Options)\r\n },\r\n // 获取字典值翻译\r\n getDictName(code, value) {\r\n return utils.getDictName(code, value)\r\n },\r\n initBarChart2() {\r\n this.barChart2Options = {\r\n dataset: {\r\n source: this.barChart2Data,\r\n },\r\n tooltip: {\r\n trigger: 'axis',\r\n backgroundColor: 'rgba(6, 47, 107, 1)',\r\n borderColor: 'rgba(2, 115, 233, 1)',\r\n textStyle: {\r\n color: '#fff',\r\n },\r\n confine: true,\r\n position: 'bottom',\r\n formatter: function (params) {\r\n return (\r\n '高频地点
' +\r\n params[0].data.name +\r\n ':' +\r\n params[0].data.value +\r\n '(个)'\r\n )\r\n },\r\n },\r\n grid: [\r\n {\r\n top: '18%',\r\n left: '8%',\r\n right: '5%',\r\n bottom: '16%',\r\n },\r\n ],\r\n xAxis: {\r\n type: 'category',\r\n axisTick: {\r\n alignWithLabel: true,\r\n },\r\n axisLine: {\r\n show: true,\r\n lineStyle: {\r\n color: '#293A57',\r\n },\r\n },\r\n axisLabel: {\r\n show: true,\r\n color: 'rgba(255,255,255,0.6)',\r\n },\r\n },\r\n yAxis: {\r\n name: '单位(个)',\r\n nameTextStyle: {\r\n color: 'rgba(255,255,255,0.6)',\r\n },\r\n type: 'value',\r\n axisLine: {\r\n show: true,\r\n lineStyle: {\r\n color: '#293A57',\r\n },\r\n },\r\n axisLabel: {\r\n show: true,\r\n color: 'rgba(255,255,255,0.6)',\r\n formatter: (val) => {\r\n if (\r\n (val >= 1 && parseInt(val, 10) === val) ||\r\n val == 0\r\n ) {\r\n return val\r\n } else {\r\n return\r\n }\r\n },\r\n },\r\n splitLine: {\r\n show: false,\r\n },\r\n },\r\n series: [\r\n {\r\n type: 'bar',\r\n showBackground: true,\r\n backgroundStyle: {\r\n color: 'rgba(180, 180, 180, 0.2)',\r\n },\r\n barWidth: 20,\r\n itemStyle: {\r\n borderRadius: [5, 5, 0, 0],\r\n color: new echarts.graphic.LinearGradient(\r\n 0,\r\n 0,\r\n 0,\r\n 1,\r\n [\r\n {offset: 0, color: '#CCE6FF'},\r\n {offset: 1, color: '#3399FF'},\r\n ]\r\n ),\r\n },\r\n },\r\n ],\r\n }\r\n this.barChart2 = echarts.init(\r\n document.getElementById('event-palce')\r\n )\r\n this.barChart2Options &&\r\n this.barChart2.setOption(this.barChart2Options)\r\n window.addEventListener('resize', () => this.barChart2.resize())\r\n },\r\n updataBarChart2() {\r\n this.barChart2Options.dataset.source = this.barChart2Data\r\n this.barChart2.setOption(this.barChart2Options)\r\n },\r\n initPieChart1() {\r\n this.pieChart1Options = {\r\n color: ['#ffca80', '#ff8080', '#00eaff', '#3399ff'],\r\n // 调整图例位置\r\n legend: {\r\n top: '-2%',\r\n left: 'center',\r\n align: 'left',\r\n itemWidth: 12, // 设置图例图形的宽\r\n itemHeight: 12, // 设置图例图形的高\r\n icon: 'roundRect',\r\n itemGap: 10,\r\n textStyle: {\r\n //图例字体样式\r\n fontSize: 12,\r\n fontFamily: 'SimHei',\r\n color: '#fff',\r\n },\r\n },\r\n tooltip: {\r\n trigger: 'item',\r\n backgroundColor: 'rgba(6, 47, 107, 1)',\r\n borderColor: 'rgba(2, 115, 233, 1)',\r\n textStyle: {\r\n color: '#fff',\r\n },\r\n confine: true,\r\n valueFormatter: (value) => value + '件',\r\n },\r\n graphic: [\r\n {\r\n //环形图中间添加文字\r\n type: 'text', //通过不同top值可以设置上下显示\r\n left: 'center',\r\n top: '46%',\r\n style: {\r\n text: this.pieChart1Total,\r\n textAlign: 'center',\r\n fill: '#fff', //文字的颜色\r\n font: 'bolder 2em \"Microsoft YaHei\"',\r\n },\r\n },\r\n {\r\n //环形图中间添加文字\r\n type: 'text', //通过不同top值可以设置上下显示\r\n left: 'center',\r\n top: '62%',\r\n style: {\r\n text: '共计(件)',\r\n textAlign: 'center',\r\n fill: '#fff', //文字的颜色\r\n fontSize: '12',\r\n },\r\n },\r\n ],\r\n series: [\r\n {\r\n name: '事件分类统计',\r\n type: 'pie',\r\n radius: ['45%', '80%'],\r\n center: ['50%', '60%'],\r\n left: 0,\r\n top: 0,\r\n labelLine: {\r\n //指示线样式设置\r\n length: 15, //设置指示线的长度\r\n length2: 10, //横线宽度\r\n lineStyle: {\r\n color: '#fff', // 设置标示线的颜色\r\n },\r\n },\r\n label: {\r\n textStyle: {\r\n color: '#fff', // 改变标示文字的颜色\r\n fontSize: 13, //文字大小\r\n },\r\n formatter: '{d}%',\r\n padding: [0, 0],\r\n alignTo: 'labelLine',\r\n },\r\n itemStyle: {\r\n borderColor: '#0E2039',\r\n borderWidth: 2,\r\n },\r\n data: this.pieChart1Data,\r\n },\r\n ],\r\n }\r\n this.pieChart1 = echarts.init(document.getElementById('event-type'))\r\n this.pieChart1Options &&\r\n this.pieChart1.setOption(this.pieChart1Options)\r\n window.addEventListener('resize', () => this.pieChart1.resize())\r\n },\r\n updataPieChart1() {\r\n console.log(111111111111111111)\r\n this.pieChart1.setOption(this.pieChart1Options)\r\n },\r\n initPieChart2() {\r\n this.pieChart2Options = {\r\n color: ['#3399ff', '#ffca80'],\r\n // 调整图例位置\r\n legend: {\r\n orient: 'vertical',\r\n top: 'middle',\r\n x: 'right',\r\n align: 'left',\r\n itemWidth: 12, // 设置图例图形的宽\r\n itemHeight: 12, // 设置图例图形的高\r\n icon: 'roundRect',\r\n itemGap: 10,\r\n textStyle: {\r\n //图例字体样式\r\n fontSize: 12,\r\n fontFamily: 'SimHei',\r\n color: '#fff',\r\n },\r\n },\r\n tooltip: {\r\n trigger: 'item',\r\n backgroundColor: 'rgba(6, 47, 107, 1)',\r\n borderColor: 'rgba(2, 115, 233, 1)',\r\n textStyle: {\r\n color: '#fff',\r\n },\r\n confine: true,\r\n valueFormatter: (value) => value + '件',\r\n },\r\n graphic: [\r\n {\r\n //环形图中间添加文字\r\n type: 'text', //通过不同top值可以设置上下显示\r\n left: 'center',\r\n top: '40%',\r\n style: {\r\n text: this.pieChart2Total,\r\n textAlign: 'center',\r\n fill: '#fff', //文字的颜色\r\n font: 'bolder 2em \"Microsoft YaHei\"',\r\n },\r\n },\r\n {\r\n //环形图中间添加文字\r\n type: 'text', //通过不同top值可以设置上下显示\r\n left: 'center',\r\n top: '55%',\r\n style: {\r\n text: '共计(件)',\r\n textAlign: 'center',\r\n fill: '#fff', //文字的颜色\r\n fontSize: '12',\r\n },\r\n },\r\n ],\r\n series: [\r\n {\r\n name: '存续事件统计',\r\n type: 'pie',\r\n radius: ['45%', '80%'],\r\n center: ['50%', '50%'],\r\n left: 0,\r\n top: 0,\r\n labelLine: {\r\n //指示线样式设置\r\n length: 15, //设置指示线的长度\r\n length2: 10, //横线宽度\r\n lineStyle: {\r\n color: '#fff', // 设置标示线的颜色\r\n },\r\n },\r\n label: {\r\n textStyle: {\r\n color: '#fff', // 改变标示文字的颜色\r\n fontSize: 13, //文字大小\r\n },\r\n formatter: '{d}%',\r\n // formatter: '{c}件 {d}%',\r\n padding: [0, 0],\r\n alignTo: 'labelLine',\r\n },\r\n itemStyle: {\r\n borderColor: '#0E2039',\r\n borderWidth: 2,\r\n },\r\n data: this.pieChart2Data,\r\n },\r\n ],\r\n }\r\n this.pieChart2 = echarts.init(\r\n document.getElementById('event-update')\r\n )\r\n this.pieChart2Options &&\r\n this.pieChart2.setOption(this.pieChart2Options)\r\n window.addEventListener('resize', () => this.pieChart2.resize())\r\n },\r\n updataPieChart2() {\r\n this.pieChart2.setOption(this.pieChart2Options)\r\n },\r\n changeArea() {\r\n this.$nextTick(() => {\r\n let nodesObj = this.$refs['cascader'].getCheckedNodes()\r\n console.log(nodesObj)\r\n if (nodesObj.length) {\r\n this.formData.areaCode = nodesObj[0].data.code\r\n } else {\r\n this.formData.areaCode = '500101000000'\r\n }\r\n this.getData()\r\n this.$refs.cascader.dropDownVisible = false\r\n })\r\n },\r\n changeDate() {\r\n console.log(this.formData.date)\r\n },\r\n getTimeNow() {\r\n this.timenow = moment().format('YYYY-MM-DD hh:mm:ss')\r\n },\r\n getSysInfo() {\r\n let url = '${uc}/uc/tenantManage/v1/getTenantByCode?code=platform'\r\n this.$http.get(url).then((resp) => {\r\n if (resp.data) {\r\n let tenantManage = resp.data\r\n this.companyName = tenantManage.nameFront\r\n }\r\n })\r\n },\r\n newMap() {\r\n this.map = new L.Map('map', {\r\n attributionControl: false,\r\n zoomControl: false,\r\n maxZoom: 16,\r\n minZoom: 3,\r\n maxBounds: L.latLngBounds(\r\n L.latLng(20.08822, 71.762642),\r\n L.latLng(53.769034, 136.09858)\r\n ),\r\n })\r\n\r\n // 蓝色地图\r\n var _baseImgLayer = new L.tileLayer(\r\n window.context.cqMap +\r\n '/arcgis/rest/services/ChinaOnlineCommunity/MapServer/tile/{z}/{y}/{x}'\r\n )\r\n _baseImgLayer.addTo(this.map)\r\n this.map.setView([30.707807, 108.390246], 11)\r\n // vec 矢量底图 img 影像\r\n // var _baseImgLayer = new L.tileLayer(\r\n // window.context.frontMap +\r\n // '/vec_c/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=vec&STYLE=default&TILEMATRIXSET=c&FORMAT=tiles' +\r\n // '&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}' +\r\n // '&tk=bff554ec2d59ec30f9f7debffd440624',\r\n // {\r\n // zoomOffset: 1,\r\n // }\r\n // )\r\n // _baseImgLayer.addTo(this.map)\r\n // // cva 矢量注记 cia影像注记\r\n // let pointImgLayer = new L.tileLayer(\r\n // window.context.frontMap +\r\n // '/cva_c/wmts?layer=cva&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles' +\r\n // '&TileMatrix={z}&TileCol={x}&TileRow={y}' +\r\n // '&tk=f6df78cf1738e5623e2291f608e7040e',\r\n // {\r\n // zoomOffset: 1,\r\n // }\r\n // )\r\n // console.log(pointImgLayer, _baseImgLayer)\r\n // pointImgLayer.addTo(this.map)\r\n\r\n this.map.on('click', (point) => {\r\n console.log(point)\r\n console.log('lt:' + point.latlng.lat)\r\n console.log('lg:' + point.latlng.lng)\r\n })\r\n\r\n this.map.setMinZoom(8)\r\n this.map.setMaxZoom(17)\r\n this.initWZ()\r\n },\r\n initWZ() {\r\n let countries = []\r\n countries = wanzhou.features\r\n var myStyle = {\r\n color: '#49d3ff', //'#d2e0e1',\r\n weight: 3,\r\n opacity: 1,\r\n fillColor: '#49d3ff', //'transparent',\r\n fillOpacity: 0.15,\r\n }\r\n this.baseMapOverlay = new L.geoJSON(countries, {\r\n style: myStyle,\r\n })\r\n this.map.addLayer(this.baseMapOverlay)\r\n this.baseMapOverlay.bringToBack()\r\n },\r\n handleMenus() {\r\n if (this.workPlatMenu.length !== 0) {\r\n if (this.workPlatMenu[0].children[0].children.length !== 0) {\r\n this.$router.push({\r\n path: `/platLayout/${this.workPlatMenu[0].children[0].children[0].alias}`,\r\n })\r\n } else {\r\n this.$router.push({\r\n path: `/platLayout/${this.workPlatMenu[0].children[0].alias}`,\r\n })\r\n }\r\n }\r\n },\r\n handleLogout() {\r\n this.$store.dispatch('menu/clearMenus')\r\n this.$store.dispatch('user/clearUser')\r\n this.$store.dispatch('menu/setCopyMenus', []) //菜单\r\n let loginRouthPath =\r\n localStorage.getItem(\r\n this.$store.state.login.currentUser.account +\r\n 'loginRoutePath'\r\n ) || '/login'\r\n this.$store.dispatch('login/logoutAndCleanUp').then(() => {\r\n switch (window.ssoConfig.mode) {\r\n case 'cas':\r\n case 'oauth':\r\n window.sessionStorage.removeItem('currentUser')\r\n window.location.href =\r\n window.ssoConfig.logout +\r\n '?service=' +\r\n window.location.href.split('?')[0]\r\n break\r\n default:\r\n this.$router.push({\r\n path: loginRouthPath,\r\n })\r\n break\r\n }\r\n })\r\n },\r\n // 关闭事件统计弹层\r\n closeEventDialog() {\r\n this.showEventDialog = false\r\n },\r\n // 点击事件统计\r\n openEvent(title, value) {\r\n this.sourceVal = ''\r\n if (title !== this.eventTitle) {\r\n console.log(title !== this.eventTitle)\r\n this.pageParams.page = 1\r\n }\r\n this.eventTitle = title\r\n this.eventReq = value\r\n this.showEventDialog = true\r\n bigScreenAPI\r\n .getListByEventStatus({\r\n groupRelation: 'AND',\r\n groupTree: {},\r\n pageBean: {\r\n showTotal: true,\r\n ...this.pageParams,\r\n },\r\n params: {\r\n ...this.formData,\r\n },\r\n querys: [\r\n {\r\n group: 'main',\r\n operation: 'IN',\r\n parentGroup: '',\r\n property: 'event_status_',\r\n relation: 'AND',\r\n value,\r\n },\r\n ],\r\n })\r\n .then((res) => {\r\n console.log(res)\r\n this.eventTableData = res.rows\r\n this.total = res.total\r\n })\r\n },\r\n // 根据事件来源查询事件列表\r\n openEventBySource(title, value) {\r\n if (title !== this.eventTitle) {\r\n console.log(title !== this.eventTitle)\r\n this.pageParams.page = 1\r\n }\r\n this.eventTitle = title\r\n this.showEventDialog = true\r\n bigScreenAPI\r\n .getListByEventStatus({\r\n groupRelation: 'AND',\r\n groupTree: {},\r\n pageBean: {\r\n showTotal: true,\r\n ...this.pageParams,\r\n },\r\n params: {\r\n ...this.formData,\r\n },\r\n querys: [\r\n {\r\n group: 'main',\r\n operation: 'EQUAL',\r\n parentGroup: '',\r\n property: 'event_source_',\r\n relation: 'AND',\r\n value: this.sourceVal,\r\n },\r\n ],\r\n })\r\n .then((res) => {\r\n this.eventTableData = res.rows\r\n this.total = res.total\r\n })\r\n },\r\n eventConfirmation(item, type) {\r\n this.eventRow = item\r\n this.showEventConfirmation = true\r\n this.typeSource = type\r\n },\r\n // 关闭事件操作弹层\r\n closeConfirmation() {\r\n this.showEventConfirmation = false\r\n this.$refs.volumnDialog.getWarningList()\r\n },\r\n // 翻页\r\n handleCurrentChange(val) {\r\n this.pageParams.page = val\r\n this.openEvent(this.eventTitle, this.eventReq)\r\n },\r\n },\r\n beforeDestroy() {\r\n clearInterval(this.timer)\r\n clearInterval(this.queryTimer)\r\n },\r\n}\r\n",null]}