| | |
| | | |
| | | <script> |
| | | import * as echarts from 'echarts'; |
| | | // 正常的图标 |
| | | import HomeNormalImage from '@/assets/img/home-normal.png'; |
| | | let homeNormalImage = new Image(); |
| | | homeNormalImage.src = HomeNormalImage; |
| | | // 充电的图标 |
| | | import HomeChargeImage from '@/assets/img/home-charge.png'; |
| | | let homeChargeImage = new Image(); |
| | | homeChargeImage.src = HomeChargeImage; |
| | | // 告警图标 |
| | | import HomeWarnImage from '@/assets/img/home-warn.png'; |
| | | let homeWarnImage = new Image(); |
| | | homeWarnImage.src = HomeWarnImage; |
| | | // 放电图标 |
| | | import HomeDischargeImage from '@/assets/img/home-discharge.png'; |
| | | let homeDischargeImage = new Image(); |
| | | homeDischargeImage.src = HomeDischargeImage; |
| | | |
| | | let addHomeData = []; |
| | | let abnormalArr = []; //异常数组 |
| | | let tempData = []; //站点数组 |
| | | export default { |
| | | name: "chinaMap", |
| | | chart: "", |
| | |
| | | }; |
| | | this.setOption(option); |
| | | }, |
| | | |
| | | // |
| | | initCityChart() { |
| | | searchMap().then((res) => { |
| | | let rs = JSON.parse(res.data.result); |
| | | let list = this.mergeMapInfos(rs); |
| | | if (list != undefined && list.length > 0) { |
| | | list.map((item, index) => { |
| | | item.name = item.StationName; |
| | | item.value = []; |
| | | item.value.push(item.longitude); |
| | | item.value.push(item.latitude); |
| | | tempData.push(item) |
| | | }) |
| | | this.searchChartHomeState(); |
| | | |
| | | let mapDotList = list.map(data => { |
| | | return { |
| | | lng: data.longitude, |
| | | lat: data.latitude, |
| | | title: data.StationName, |
| | | data: data, |
| | | name: data.StationName, |
| | | geometry: { |
| | | type: 'Point', |
| | | coordinates: [data.longitude, data.latitude] |
| | | } |
| | | } |
| | | }); |
| | | addHomeData = mapDotList; |
| | | } else { |
| | | this.initChart([], []); |
| | | } |
| | | }).catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | }, |
| | | searchChartHomeState() { |
| | | this.$axios({ |
| | | method: "post", |
| | | url: 'BattMap_informationAction!findStationState', |
| | | data: null |
| | | }).then((res) => { |
| | | let rsState = JSON.parse(res.data.result); |
| | | let arr = []; |
| | | abnormalArr = []; |
| | | if (rsState.code === 1) { |
| | | let data = rsState.data; |
| | | data.map((item, i) => { |
| | | let infos = tempData.filter((jtem) => { |
| | | return jtem.StationId == item.StationId |
| | | }) |
| | | |
| | | if (infos.length > 0) { |
| | | let info = JSON.parse(JSON.stringify(infos[0])); |
| | | switch (item.num) { |
| | | case 1: // 落后 |
| | | info.img = HomeDischargeImage; |
| | | info.color = '#ff6a6a'; |
| | | abnormalArr.push(info); |
| | | break; |
| | | case 2: // 告警 |
| | | info.img = HomeWarnImage; |
| | | info.color = '#d4ac6e'; |
| | | abnormalArr.push(info); |
| | | break; |
| | | case 3: |
| | | info.img = HomeChargeImage; |
| | | info.color = '#4ba1fa'; |
| | | abnormalArr.push(info); |
| | | break; |
| | | default: |
| | | info.img = HomeNormalImage; |
| | | break; |
| | | } |
| | | arr.push(info) |
| | | } |
| | | }) |
| | | let arrId = []; |
| | | for (let item of arr) { |
| | | if (arrId.indexOf(item['StationId']) == -1) { |
| | | arrId.push(item['StationId']); |
| | | chartData.push(item); |
| | | } |
| | | } |
| | | debugger |
| | | this.initChart(chartData, abnormalArr); |
| | | |
| | | } |
| | | }).catch((err) => { |
| | | console.log(err) |
| | | }) |
| | | }, |
| | | resize() { |
| | | setTimeout(() => { |
| | | this.$options.chart.resize(); |