{"remainingRequest":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\reform-fvue\\src\\views\\BigScreen\\components\\subComponents\\mapTarget.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\reform-fvue\\src\\views\\BigScreen\\components\\subComponents\\mapTarget.vue","mtime":1685326978145},{"path":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\reform-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\reform-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\r\nimport * as echarts from 'echarts'\r\nimport cq from '@/assets/js/cq.js'\r\nimport main9 from '@/assets/js/main9.js'\r\nimport fakeData from '@/views/BigScreen/js/fakeData_district.js'\r\nexport default {\r\n props: {\r\n options: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n },\r\n },\r\n },\r\n data() {\r\n return {\r\n myChartCQ: null,\r\n optionCQ: null,\r\n myChartMain: null,\r\n optionMain: null,\r\n levelTitle: ['区县', '数量', '增量'],\r\n levelData: [\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n ],\r\n levelData2: [\r\n {\r\n name: '万盛经开区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n {\r\n name: '两江新区',\r\n num: 5000,\r\n trend: '5%',\r\n },\r\n ],\r\n }\r\n },\r\n mounted() {\r\n this.$nextTick(() => {\r\n this.initMapMain()\r\n this.initMapCQ()\r\n })\r\n this.$root.$on('resize', () => {\r\n this.resize(500)\r\n })\r\n },\r\n methods: {\r\n convertData(data, mapData, key, showTitle) {\r\n let res = []\r\n for (let i = 0; i < data.length; i++) {\r\n let obj = data[i].properties\r\n let color = '#081c47'\r\n let find = mapData.find((item) => item.unitCode == obj.code)\r\n\r\n let regionSnKey = 'allSn'\r\n if (key == 'workable') {\r\n regionSnKey = 'workableAllSn'\r\n }\r\n if (key == 'brand') {\r\n regionSnKey = 'brandAllSn'\r\n }\r\n if (key == 'satisfaction') {\r\n regionSnKey = 'satisfiedAllSn'\r\n }\r\n if (find && key !== 'risk') {\r\n if (find[regionSnKey] <= 5) {\r\n color = '#398C8F'\r\n } else if (find[regionSnKey] <= 13) {\r\n color = '#1970C1'\r\n } else if (find[regionSnKey] <= 28) {\r\n color = '#A3A355'\r\n } else if (find[regionSnKey] <= 36) {\r\n color = '#B0825C'\r\n } else if (find[regionSnKey] <= 41) {\r\n color = '#9B4E55'\r\n }\r\n }\r\n let show = true\r\n let offset = [0, 0]\r\n if (\r\n [\r\n '渝中区',\r\n '大渡口区',\r\n '江北区',\r\n '沙坪坝区',\r\n '九龙坡区',\r\n '南岸区',\r\n '北碚区',\r\n '渝北区',\r\n '巴南区',\r\n '两江新区',\r\n '高新区',\r\n ].includes(obj.name)\r\n ) {\r\n show = false\r\n }\r\n if (['沙坪坝区'].includes(obj.name)) {\r\n offset = [-10, 0]\r\n }\r\n if (['九龙坡区'].includes(obj.name)) {\r\n offset = [-10, -10]\r\n }\r\n if (['大渡口区'].includes(obj.name)) {\r\n offset = [0, 5]\r\n }\r\n if (['江北区'].includes(obj.name)) {\r\n offset = [10, 0]\r\n }\r\n if (['南岸区'].includes(obj.name)) {\r\n offset = [10, 6]\r\n }\r\n if (['綦江区'].includes(obj.name)) {\r\n offset = [0, 20]\r\n }\r\n if (showTitle != undefined) {\r\n show = showTitle\r\n }\r\n if (obj.name == '两江新区' || obj.name == '高新区') {\r\n show = false\r\n }\r\n res.push({\r\n name: obj.name,\r\n value: find ? find['unitCode'] : 0,\r\n itemStyle: {\r\n color: color,\r\n areaColor: color,\r\n label: {\r\n show,\r\n },\r\n },\r\n label: {\r\n normal: {\r\n show,\r\n offset, //是否对文字进行偏移。默认不偏移。例如:[30, 40] 表示文字在横向上偏移 30,纵向上偏移 40。\r\n position: 'inside', //标签的位置。// 绝对的像素值[10, 10]\r\n color: '#fff',\r\n fontSize: 12,\r\n },\r\n },\r\n emphasis: {\r\n disabled: true,\r\n },\r\n tooltip: {\r\n className: 'data-tooltip',\r\n show: key == 'risk' ? false : true,\r\n appendToBody: true,\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 formatter: (data) => {\r\n let str = this.formatter(find, obj, key)\r\n return str\r\n },\r\n },\r\n })\r\n }\r\n return res\r\n },\r\n formatter(area, data, key) {\r\n if (!area) return\r\n let str\r\n if (key == 'composite') {\r\n str = `
\r\n
${data.name}
\r\n
综合评价指数:${\r\n area.score || 0\r\n }
\r\n
全市排名:${\r\n area.allSn || 0\r\n }
\r\n
`\r\n } else if (key == 'workable') {\r\n str = `
\r\n
${data.name}
\r\n
承接国家级试点项目: ${\r\n area.nationalProjectNum || 0\r\n }
\r\n
承接国家级试点项目通过率:${\r\n area.nationalPassRate || 0\r\n }%
\r\n
承接市级试点项目:${\r\n area.cityProjectNum || 0\r\n }
\r\n
承接市级试点项目通过率:${\r\n area.cityPassRate || 0\r\n }%
\r\n
`\r\n } else if (key == 'brand') {\r\n str = `
\r\n
${data.name}
\r\n
获全国性肯定评价:${\r\n area.nationwideNum || 0\r\n }
\r\n
获推广典型经验:${\r\n area.cityNum || 0\r\n }
\r\n
获中央媒体深度专题报告:${\r\n area.mediaNum || 0\r\n }
\r\n
`\r\n } else if (key == 'satisfaction') {\r\n str = `
\r\n
${data.name}
\r\n
满意度:${\r\n area.satisfied || 0\r\n }
\r\n
满意度得分:${\r\n area.satisfiedScore || 0\r\n }
\r\n
满意度区域排名:${\r\n area.satisfiedRegionSn || 0\r\n }
\r\n
满意度全市排名:${\r\n area.satisfiedAllSn || 0\r\n }
\r\n
`\r\n } else if (key == 'risk') {\r\n str = `
\r\n
${data.name}
\r\n
事件:${area.eventName}
\r\n
`\r\n }\r\n return str\r\n },\r\n initMapCQ() {\r\n let dom = document.getElementById('cq-contianer')\r\n let width = getComputedStyle(dom)\r\n .getPropertyValue('width')\r\n .replace('px', '')\r\n let height = getComputedStyle(dom)\r\n .getPropertyValue('height')\r\n .replace('px', '')\r\n width = parseInt(width, 10)\r\n height = parseInt(height, 10)\r\n this.myChartCQ = echarts.init(dom, null, {\r\n renderer: 'svg',\r\n width,\r\n height,\r\n })\r\n // 注册 echarts 地图\r\n\r\n echarts.registerMap('cq', cq)\r\n var markPointData = []\r\n let map = 'cq',\r\n top = '40%',\r\n left = '-14%',\r\n zoom = 1.2,\r\n aspectScale = 1,\r\n center = [106.5049, 29], // 地图中心位置, 此处的纬度与下面的center相差1度是形成阴影的距离,可自己随意调整\r\n layoutCenter = ['50%', '50%']\r\n this.optionCQ = {\r\n series: [\r\n {\r\n name: '重庆',\r\n type: 'map', //配置显示方式为用户自定义\r\n map,\r\n zoom, // 地图比例\r\n zlevel: 100,\r\n center, // 地图中心位置, 此处的纬度与下面的center相差1度是形成阴影的距离,可自己随意调整\r\n aspectScale,\r\n roam: true,\r\n scaleLimit: {\r\n min: 0.6,\r\n max: 4,\r\n },\r\n itemStyle: {\r\n normal: {\r\n borderWidth: 1, //设置外层边框\r\n borderColor: '#2ddcfd',\r\n },\r\n },\r\n emphasis: {\r\n disabled: true,\r\n },\r\n top,\r\n left,\r\n data: this.convertData(\r\n cq.features,\r\n fakeData.btnkey1,\r\n 'risk'\r\n ),\r\n },\r\n // {\r\n // type: 'scatter',\r\n // symbol: (value, params) => {\r\n // return (\r\n // 'image://' +\r\n // require(`@/assets/img/bigScreen/point1.png`)\r\n // )\r\n // },\r\n // coordinateSystem: 'geo',\r\n // symbolSize: [24, 24],\r\n // animation: true,\r\n // data: markPointData,\r\n // zlevel: 2000,\r\n // itemStyle: {\r\n // opacity: 1,\r\n // },\r\n // },\r\n ],\r\n }\r\n this.myChartCQ.setOption(this.optionCQ)\r\n this.myChartCQ.on('click', (params) => {\r\n let code = params.value\r\n if (!code) {\r\n code = this.getAreaCode(params.name, cq)\r\n }\r\n this.$router.push({\r\n path: '/DistrictReformSubView',\r\n query: {\r\n name: params.name,\r\n code: code,\r\n },\r\n })\r\n let tooltip = document.getElementsByClassName('data-tooltip')\r\n Array.from(tooltip).forEach((item) => {\r\n item.remove()\r\n })\r\n })\r\n },\r\n initMapMain() {\r\n this.myChartMain = echarts.init(\r\n document.getElementById('main9-contianer'),\r\n null,\r\n {\r\n renderer: 'svg',\r\n }\r\n )\r\n // 注册 echarts 地图\r\n echarts.registerMap('main9', main9)\r\n var markPointData = []\r\n let top = 0,\r\n left = 20,\r\n zoom = 1,\r\n map = 'main9',\r\n aspectScale = 1,\r\n layoutCenter = ['50%', '50%'],\r\n center = [106.204962, 29.533155] // 地图中心位置, 此处的纬度与下面的center相差1度是形成阴影的距离,可自己随意调整\r\n this.optionMain = {\r\n geo: [\r\n {\r\n map,\r\n zoom,\r\n zlevel: 0,\r\n aspectScale,\r\n itemStyle: {\r\n normal: {\r\n borderWidth: 0,\r\n },\r\n },\r\n emphasis: {\r\n disabled: true,\r\n },\r\n tooltip: {\r\n show: false,\r\n },\r\n top,\r\n left,\r\n layoutCenter,\r\n },\r\n ],\r\n series: [\r\n {\r\n name: '重庆主城',\r\n type: 'map',\r\n map,\r\n zoom, // 地图比例\r\n zlevel: 100,\r\n // center, // 地图中心位置, 此处的纬度与下面的center相差1度是形成阴影的距离,可自己随意调整\r\n aspectScale,\r\n itemStyle: {\r\n normal: {\r\n borderWidth: 1, //设置外层边框\r\n borderColor: 'white',\r\n },\r\n },\r\n emphasis: {\r\n disabled: true,\r\n itemStyle: {\r\n areaColor: 'yellow',\r\n },\r\n },\r\n top,\r\n left,\r\n data: this.convertData(\r\n main9.features,\r\n fakeData.btnkey1,\r\n 'risk',\r\n true\r\n ),\r\n },\r\n // {\r\n // type: 'scatter',\r\n // symbol: (value, params) => {\r\n // return (\r\n // 'image://' +\r\n // require(`@/assets/img/bigScreen/point1.png`)\r\n // )\r\n // },\r\n // coordinateSystem: 'geo',\r\n // symbolSize: [20, 20],\r\n // data: markPointData,\r\n // zlevel: 2000,\r\n // itemStyle: {\r\n // opacity: 1,\r\n // },\r\n // },\r\n ],\r\n }\r\n this.myChartMain.setOption(this.optionMain)\r\n this.myChartMain.on('click', (params) => {\r\n let code = params.value\r\n if (!code) {\r\n code = this.getAreaCode(params.name, main9)\r\n }\r\n this.$router.push({\r\n path: '/DistrictReformSubView',\r\n query: {\r\n name: params.name,\r\n code: code,\r\n },\r\n })\r\n let tooltip = document.querySelectorAll('.data-tooltip')\r\n Array.from(tooltip).forEach((item) => {\r\n item.remove()\r\n })\r\n })\r\n },\r\n },\r\n}\r\n",null]}