gather.vue 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886
  1. <!--信息中心-->
  2. <template>
  3. <div class="visual-con">
  4. <!--头部-->
  5. <vheader></vheader>
  6. <!--主体-->
  7. <div class="visual-body">
  8. <!-- 左侧 -->
  9. <div class="leftbar w-10" :class="indentleft" ref="left">
  10. <div class="forthis">
  11. <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
  12. <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
  13. <div class="i-list-con h-78">
  14. <div class="d-l-con-icon">
  15. <div class="icon-con" :class="{on:iconCurrentIndex==item.resourceTable}"
  16. v-for="(item,index) in resourcesList"
  17. v-on:click="indentleftSetMarkers(item.resourceTable)">
  18. <div class="iconfont icon icon-normal" :class="item.icon"></div>
  19. <div class="icon-text">
  20. <h6>{{ item.count }}</h6>
  21. <h5>{{ item.resourceName }}</h5>
  22. </div>
  23. </div>
  24. </div>
  25. </div>
  26. </dv-border-box-13>
  27. </div>
  28. </div>
  29. <!-- 地图 -->
  30. <supermap ref="supermap" style="width: 100%;height: 100vh;" :mapDiv="'forestMap'" class="indexSupermapClass"
  31. :mapSite="{doubleClickZoom:false}" :codes="['9fa5']" :isSideBySide="false"></supermap>
  32. <!-- <button @click="showEventInfo1" style="position: absolute; right: 50%;top: 45%;z-index: 1000;">弹层事件演示用按钮-->
  33. <!-- </button>-->
  34. <!-- 右侧 -->
  35. <div class="rightbar" :class="indentright" ref="right">
  36. <div class="forthis">
  37. <dv-border-box-13 backgroundColor="rgba(12, 19, 38, .90)" style="padding-bottom: 1rem;">
  38. <img src="../assets/images/integrated/light.png" style="width: 100%; margin-top: .4rem;"/>
  39. <div class="this-title">
  40. <span>数据分布</span>
  41. <dv-decoration-3 style="width:150px;height:15px;margin-right: 1rem;"/>
  42. </div>
  43. <div class="i-list-con h-73">
  44. <div class="overflow-y" style="height: 39vh">
  45. <div class="d-l-con" :class="{on:listCurrentIndex==item.deptId}"
  46. v-for="(item,index) in deptGroupList"
  47. v-on:click="indentleftByDeptIdSetMarkers(item.deptId)">
  48. <div class="d-l-l-text">
  49. <i class="i-small"></i>
  50. <h4>{{ item.deptName }}</h4>
  51. </div>
  52. <div class="d-l-l-count">{{ item.count }}</div>
  53. </div>
  54. </div>
  55. <div class="overflow-y" style="height: 34vh;">
  56. <div id="data-chart" style="width: 100%;height:34vh;"></div>
  57. </div>
  58. </div>
  59. </dv-border-box-13>
  60. </div>
  61. </div>
  62. <vBottomMenu ref="bottomMenu"></vBottomMenu>
  63. <!-- <el-tooltip :content="indentText" placement="top" :disabled="indentdisabled">-->
  64. <!-- <div class="mascot" ref="mascot" :class="indentStyle" @click="indent"><img-->
  65. <!-- src="@/assets/images/mascot.png"/>-->
  66. <!-- </div>-->
  67. <!-- </el-tooltip>-->
  68. </div>
  69. <eventLocation ref="eventLocation"></eventLocation>
  70. <TVWall ref="TVWall"></TVWall>
  71. </div>
  72. </template>
  73. <script>
  74. import {
  75. getWaterDataGather,
  76. getResourcePoint,
  77. getResourcePointByDeptId
  78. } from '@/api/datacenter'
  79. import supermap from '@/components/supermap' //超图
  80. import vheader from '@/components/v-header.vue' //一体化共用头部
  81. import vBottomMenu from '@/components/vBottomMenu.vue' //一体化公共底部菜单
  82. import eventLocation from '@/components/eventLocation.vue' //事件定位弹窗
  83. import TVWall from '@/components/TVWall.vue' //电视墙弹窗
  84. // import echarts from 'echarts'
  85. let echarts = require('echarts')
  86. export default {
  87. components: {
  88. supermap,
  89. vheader,
  90. vBottomMenu,
  91. eventLocation,
  92. TVWall
  93. },
  94. created() {
  95. /** ----------------------------------底部按钮公用组件开始------------------------------------- */
  96. window.showDialog = this.showDialog
  97. window.choseLayerSwitching = this.choseLayerSwitching
  98. window.choseLayerSwitchingList = this.choseLayerSwitchingList
  99. /** ----------------------------------底部按钮公用组件结束------------------------------------- */
  100. },
  101. mounted() {
  102. this.getResource()
  103. },
  104. data() {
  105. return {
  106. iconCurrentIndex: '',
  107. listCurrentIndex: '',
  108. markersList: [],
  109. iframeBoo: true,
  110. open: false,
  111. iframeVue: null,
  112. activeName: 'info',
  113. radio: '1',
  114. //类型
  115. resourceTable: '',
  116. //左侧资源
  117. resourcesList: [],
  118. //右侧资源
  119. deptGroupList: [],
  120. source: [],
  121. //左右缩进
  122. indentStyle: '',
  123. indentleft: '',
  124. indentright: '',
  125. indentText: '收起左右栏',
  126. indentdisabled: false
  127. }
  128. },
  129. methods: {
  130. /** ----------------------------------底部按钮公用组件开始------------------------------------- */
  131. showDialog(click) {
  132. if (click == 'eventLocation') {
  133. this.$refs.eventLocation.showEventLocation()
  134. this.$refs.supermap.isEditableLayers = false
  135. this.$refs.bottomMenu.showChild = false
  136. } else if (click == 'editableLayers') {
  137. this.$refs.bottomMenu.showChild = false
  138. if (!this.$refs.supermap.isEditableLayers) {
  139. this.$refs.supermap.isEditableLayers = true
  140. } else {
  141. this.$refs.supermap.isEditableLayers = false
  142. }
  143. } else if (click == 'layerSwitching') {
  144. this.$refs.supermap.isEditableLayers = false
  145. if (!this.$refs.bottomMenu.showChild) {
  146. this.$refs.bottomMenu.showChild = true
  147. } else {
  148. this.$refs.bottomMenu.showChild = false
  149. }
  150. } else if (click == 'TVWall') {
  151. this.$refs.TVWall.showTVWall()
  152. this.$refs.supermap.isEditableLayers = false
  153. this.$refs.bottomMenu.showChild = false
  154. }
  155. },
  156. //选择图层
  157. choseLayerSwitching(url, isClear) {
  158. this.$refs.supermap.layerSwitching(url, isClear)
  159. },
  160. //选择图层(传递数组)
  161. choseLayerSwitchingList(urlList) {
  162. this.$refs.supermap.layerSwitchingList(urlList)
  163. },
  164. /** ----------------------------------底部按钮公用组件结束------------------------------------- */
  165. //数据分布chart
  166. dataChat() {
  167. // 基于准备好的dom,初始化echarts实例
  168. let myChart = echarts.init(document.getElementById('data-chart'))
  169. // 绘制图表
  170. const dfColor = ['#92E1FF', '#0097FB', '#30ECA6', '#FFC227', '#FF4848']
  171. myChart.setOption({
  172. dataset: {
  173. source: this.source
  174. },
  175. tooltip: {
  176. trigger: 'item'
  177. },
  178. grid: {
  179. top: '5%',
  180. left: '2%',
  181. // right: "4%",
  182. bottom: '-15%',
  183. width: '75%',
  184. containLabel: true
  185. },
  186. xAxis: {
  187. show: false,
  188. type: 'value'
  189. },
  190. yAxis: {
  191. type: 'category', // 不设置类目轴,抽离的dataset数据展示不出来
  192. inverse: true,
  193. axisLabel: {
  194. show: true,
  195. textStyle: {
  196. color: '#5deaff',
  197. fontSize: '12'
  198. }
  199. },
  200. splitLine: {
  201. show: false
  202. },
  203. axisTick: {
  204. show: false
  205. },
  206. axisLine: {
  207. show: false
  208. }
  209. },
  210. series: [{
  211. type: 'bar',
  212. animationCurve: 'easeOutBack',
  213. barWidth: 5,
  214. label: {
  215. show: true,
  216. position: 'right',
  217. offset: [0, 0],
  218. color: '#88dfd5',
  219. // fontSize: "12",
  220. style: {
  221. fill: '#fff'
  222. }
  223. },
  224. backgroundBar: {
  225. show: true,
  226. style: {
  227. fill: 'rgba(97,152,255,0.20)'
  228. }
  229. },
  230. barStyle: {
  231. stroke: 'rgba(41,244,236,1)'
  232. },
  233. gradient: {
  234. color: ['rgba(41,244,236,1)', 'rgba(41,244,236,0)']
  235. },
  236. itemStyle: {
  237. label: {
  238. show: true
  239. },
  240. labelLine: {
  241. show: false
  242. },
  243. color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
  244. offset: 0,
  245. color: 'rgba(41,244,236,0)'
  246. },
  247. {
  248. offset: 1,
  249. color: 'rgba(41,244,236,.5)'
  250. }
  251. ]),
  252. borderColor: '#a2f9f7',
  253. shadowBlur: 16,
  254. shadowColor: '#a2f9f7'
  255. }
  256. }]
  257. })
  258. },
  259. //吉祥物收起左右框
  260. indent() {
  261. let list = document.getElementsByClassName('el-tooltip__popper')
  262. list[list.length - 1].style.display = 'none'
  263. if (this.indentStyle == '') {
  264. this.indentStyle = 'indent-style'
  265. this.indentleft = 'indent-left'
  266. this.indentright = 'indent-right'
  267. this.indentText = '展开左右栏'
  268. } else if (this.indentText == '展开左右栏') {
  269. this.indentStyle = ''
  270. this.indentleft = ''
  271. this.indentright = ''
  272. this.indentText = '收起左右栏'
  273. }
  274. },
  275. // 弹层方法
  276. // 弹层方法
  277. showEventInfo1() {
  278. this.eventInfoVisible1 = true
  279. },
  280. showEventInfo2() {
  281. this.eventInfoVisible2 = true
  282. },
  283. getResource() {
  284. let that = this
  285. //获取左侧菜单列表
  286. getWaterDataGather().then(res => {
  287. that.resourcesList = res.data
  288. //截取data.resourceTable字段中“_”分隔符最后一个作为关键字,重新拼接成前端需要的图标:class,格式sj-icon-xxxx,将其set回原数组
  289. res.data.forEach(function(data, index) {
  290. that.$set(that.resourcesList[index], 'icon', 'sj' + '-' + 'icon' + '-' + data
  291. .resourceTable.split('_').slice(-1))
  292. })
  293. console.log(that.resourcesList)
  294. })
  295. },
  296. indentleftSetMarkers(resourceTable) {
  297. this.iconCurrentIndex = resourceTable
  298. let that = this
  299. that.resourceTable = resourceTable
  300. that.markersList = []
  301. that.source = []
  302. //点击左侧地图落点
  303. getResourcePoint(resourceTable).then(res => {
  304. that.deptGroupList = res.data.deptGroupList
  305. if (res.data.deptGroupList != null && res.data.deptGroupList.length > 0) {
  306. for (let i = 0; i < res.data.deptGroupList.length; i++) {
  307. let aa = [res.data.deptGroupList[i].deptName, res.data.deptGroupList[i].count]
  308. that.source.push(aa)
  309. }
  310. }
  311. if (res.data.resourceList != null && res.data.resourceList.length > 0) {
  312. for (let i = 0; i < res.data.resourceList.length; i++) {
  313. let markersMap = {
  314. lng: 124.59,
  315. lat: 43.02,
  316. icon: 'marker',
  317. bindPopupHtml: '',
  318. click: '',
  319. keepBindPopup: false,
  320. isAggregation: false
  321. }
  322. if (resourceTable == 'ph') { //酸碱度
  323. markersMap.icon = 'sj-icon-map-centerdata-t-forest-weatherstation'
  324. markersMap.lng = res.data.resourceList[i].longitude
  325. markersMap.lat = res.data.resourceList[i].latitude
  326. markersMap.bindPopupHtml = '<div class="map-tip">' +
  327. '<span>' +
  328. ' <div class="d-l-con">' +
  329. ' <div class="d-l-l-text">' +
  330. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  331. .data.resourceList[i].latitude + '</h4>' +
  332. ' </div>' +
  333. ' </div>' +
  334. ' </span>' +
  335. '<span>' +
  336. ' <div class="d-l-con">' +
  337. ' <div class="d-l-l-text">' +
  338. ' <h4>酸碱度:' + res.data.resourceList[i].ph +
  339. '</h4>' +
  340. ' </div>' +
  341. ' </div>' +
  342. ' </span></div>'
  343. } else if (resourceTable == 'temperature') { //温度
  344. markersMap.icon = 'sj-icon-map-centerdata-t-forest-farm'
  345. markersMap.lng = res.data.resourceList[i].longitude
  346. markersMap.lat = res.data.resourceList[i].latitude
  347. markersMap.bindPopupHtml = '<div class="map-tip">' +
  348. '<span>' +
  349. ' <div class="d-l-con">' +
  350. ' <div class="d-l-l-text">' +
  351. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  352. .data.resourceList[i].latitude + '</h4>' +
  353. ' </div>' +
  354. ' </div>' +
  355. ' </span>' +
  356. '<span>' +
  357. ' <div class="d-l-con">' +
  358. ' <div class="d-l-l-text">' +
  359. ' <h4>温度:' + res.data.resourceList[i].temperature + '</h4>' +
  360. ' </div>' +
  361. ' </div>' +
  362. ' </span></div>'
  363. } else if (resourceTable == 'turbidity') { //浊度
  364. markersMap.icon = 'sj-icon-map-centerdata-t-forest-landing'
  365. markersMap.lng = res.data.resourceList[i].longitude
  366. markersMap.lat = res.data.resourceList[i].latitude
  367. markersMap.bindPopupHtml = '<div class="map-tip">' +
  368. '<span>' +
  369. ' <div class="d-l-con">' +
  370. ' <div class="d-l-l-text">' +
  371. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  372. .data.resourceList[i].latitude + '</h4>' +
  373. ' </div>' +
  374. ' </div>' +
  375. ' </span>' +
  376. '<span>' +
  377. ' <div class="d-l-con">' +
  378. ' <div class="d-l-l-text">' +
  379. ' <h4>浊度:' + res.data.resourceList[i].turbidity +
  380. '</h4>' +
  381. ' </div>' +
  382. ' </div>' +
  383. ' </span></div>'
  384. } else if (resourceTable == 'dissolve') { //溶解氧
  385. markersMap.icon = 'sj-icon-map-centerdata-t-forest-channel'
  386. markersMap.lng = res.data.resourceList[i].longitude
  387. markersMap.lat = res.data.resourceList[i].latitude
  388. markersMap.bindPopupHtml = '<div class="map-tip">' +
  389. '<span>' +
  390. ' <div class="d-l-con">' +
  391. ' <div class="d-l-l-text">' +
  392. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  393. .data.resourceList[i].latitude + '</h4>' +
  394. ' </div>' +
  395. ' </div>' +
  396. ' </span>' +
  397. '<span>' +
  398. ' <div class="d-l-con">' +
  399. ' <div class="d-l-l-text">' +
  400. ' <h4>溶解氧:' + res.data.resourceList[i].dissolve +
  401. '</h4>' +
  402. ' </div>' +
  403. ' </div>' +
  404. ' </span></div>'
  405. } else if (resourceTable == 'ammoniaNitrogen') { //氨氮
  406. markersMap.icon = 'sj-icon-map-centerdata-t-forest-checkpoint'
  407. markersMap.lng = res.data.resourceList[i].longitude
  408. markersMap.lat = res.data.resourceList[i].latitude
  409. markersMap.bindPopupHtml = '<div class="map-tip">' +
  410. '<span>' +
  411. ' <div class="d-l-con">' +
  412. ' <div class="d-l-l-text">' +
  413. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  414. .data.resourceList[i].latitude + '</h4>' +
  415. ' </div>' +
  416. ' </div>' +
  417. ' </span>' +
  418. '<span>' +
  419. ' <div class="d-l-con">' +
  420. ' <div class="d-l-l-text">' +
  421. ' <h4>氨氮:' + res.data.resourceList[i].ammoniaNitrogen +
  422. '</h4>' +
  423. ' </div>' +
  424. ' </div>' +
  425. ' </span></div>'
  426. } else if (resourceTable == 'orp') { //ORP
  427. markersMap.icon = 'sj-icon-map-centerdata-t-forest-waterintake'
  428. markersMap.lng = res.data.resourceList[i].longitude
  429. markersMap.lat = res.data.resourceList[i].latitude
  430. markersMap.bindPopupHtml = '<div class="map-tip">' +
  431. '<span>' +
  432. ' <div class="d-l-con">' +
  433. ' <div class="d-l-l-text">' +
  434. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  435. .data.resourceList[i].latitude + '</h4>' +
  436. ' </div>' +
  437. ' </div>' +
  438. ' </span>' +
  439. '<span>' +
  440. ' <div class="d-l-con">' +
  441. ' <div class="d-l-l-text">' +
  442. ' <h4>ORP:' + res.data.resourceList[i].orp +
  443. '</h4>' +
  444. ' </div>' +
  445. ' </div>' +
  446. ' </span></div>'
  447. } else if (resourceTable == 'flow') { //流速
  448. markersMap.icon = 'sj-icon-map-centerdata-t-forest-watercrane'
  449. markersMap.lng = res.data.resourceList[i].longitude
  450. markersMap.lat = res.data.resourceList[i].latitude
  451. markersMap.bindPopupHtml = '<div class="map-tip">' +
  452. '<span>' +
  453. ' <div class="d-l-con">' +
  454. ' <div class="d-l-l-text">' +
  455. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  456. .data.resourceList[i].latitude + '</h4>' +
  457. ' </div>' +
  458. ' </div>' +
  459. ' </span>' +
  460. '<span>' +
  461. ' <div class="d-l-con">' +
  462. ' <div class="d-l-l-text">' +
  463. ' <h4>流速:' + res.data.resourceList[i].flow +
  464. '</h4>' +
  465. ' </div>' +
  466. ' </div>' +
  467. ' </span></div>'
  468. } else if (resourceTable == 'level') { //液位
  469. markersMap.icon = 'sj-icon-map-centerdata-t-forest-firehydrant'
  470. markersMap.lng = res.data.resourceList[i].longitude
  471. markersMap.lat = res.data.resourceList[i].latitude
  472. markersMap.bindPopupHtml = '<div class="map-tip">' +
  473. '<span>' +
  474. ' <div class="d-l-con">' +
  475. ' <div class="d-l-l-text">' +
  476. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  477. .data.resourceList[i].latitude + '</h4>' +
  478. ' </div>' +
  479. ' </div>' +
  480. ' </span>' +
  481. '<span>' +
  482. ' <div class="d-l-con">' +
  483. ' <div class="d-l-l-text">' +
  484. ' <h4>液位:' + res.data.resourceList[i].level +
  485. '</h4>' +
  486. ' </div>' +
  487. ' </div>' +
  488. ' </span></div>'
  489. }
  490. that.markersList.push(markersMap)
  491. }
  492. }
  493. this.dataChat()
  494. that.$refs.supermap.clearM(false)
  495. that.$refs.supermap.setMarkers(that.markersList)
  496. })
  497. },
  498. indentleftByDeptIdSetMarkers(deptId) {
  499. this.listCurrentIndex = deptId
  500. let that = this
  501. //点击左侧地图落点
  502. getResourcePointByDeptId(that.resourceTable, deptId).then(res => {
  503. that.markersList = []
  504. if (res.data.resourceList != null && res.data.resourceList.length > 0) {
  505. for (let i = 0; i < res.data.resourceList.length; i++) {
  506. let markersMap = {
  507. lng: 124.59,
  508. lat: 43.02,
  509. icon: 'marker',
  510. bindPopupHtml: '',
  511. click: '',
  512. keepBindPopup: false,
  513. isAggregation: false
  514. }
  515. if (that.resourceTable == 'centerdata_t_forest_weatherstation') { //气象站
  516. markersMap.icon = 'sj-icon-map-centerdata-t-forest-weatherstation'
  517. markersMap.lng = res.data.resourceList[i].longitude
  518. markersMap.lat = res.data.resourceList[i].latitude
  519. markersMap.bindPopupHtml = '<div class="map-tip">' +
  520. '<span>' +
  521. ' <div class="d-l-con">' +
  522. ' <div class="d-l-l-text">' +
  523. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  524. .data.resourceList[i].latitude + '</h4>' +
  525. ' </div>' +
  526. ' </div>' +
  527. ' </span>' +
  528. '<span>' +
  529. ' <div class="d-l-con">' +
  530. ' <div class="d-l-l-text">' +
  531. ' <h4>地址:' + res.data.resourceList[i].weatherstationAddress +
  532. '</h4>' +
  533. ' </div>' +
  534. ' </div>' +
  535. ' </span>' +
  536. '<span>' +
  537. ' <div class="d-l-con">' +
  538. ' <div class="d-l-l-text">' +
  539. ' <h4>联系人:' + res.data.resourceList[i].weatherstationPerson +
  540. '</h4>' +
  541. ' </div>' +
  542. ' </div>' +
  543. ' </span>' +
  544. '<span>' +
  545. ' <div class="d-l-con">' +
  546. ' <div class="d-l-l-text">' +
  547. ' <h4>电话:' + res.data.resourceList[i].weatherstationTel +
  548. '</h4>' +
  549. ' </div>' +
  550. ' </div>' +
  551. ' </span></div>'
  552. } else if (that.resourceTable == 'centerdata_t_forest_farm') { //林场
  553. markersMap.icon = 'sj-icon-map-centerdata-t-forest-farm'
  554. markersMap.lng = res.data.resourceList[i].longitude
  555. markersMap.lat = res.data.resourceList[i].latitude
  556. markersMap.bindPopupHtml = '<div class="map-tip">' +
  557. '<span>' +
  558. ' <div class="d-l-con">' +
  559. ' <div class="d-l-l-text">' +
  560. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  561. .data.resourceList[i].latitude + '</h4>' +
  562. ' </div>' +
  563. ' </div>' +
  564. ' </span>' +
  565. '<span>' +
  566. ' <div class="d-l-con">' +
  567. ' <div class="d-l-l-text">' +
  568. ' <h4>林场名称:' + res.data.resourceList[i].farmName + '</h4>' +
  569. ' </div>' +
  570. ' </div>' +
  571. ' </span>' +
  572. '<span>' +
  573. ' <div class="d-l-con">' +
  574. ' <div class="d-l-l-text">' +
  575. ' <h4>联系人:' + res.data.resourceList[i].farmPerson + '</h4>' +
  576. ' </div>' +
  577. ' </div>' +
  578. ' </span>' +
  579. '<span>' +
  580. ' <div class="d-l-con">' +
  581. ' <div class="d-l-l-text">' +
  582. ' <h4>电话:' + res.data.resourceList[i].farmTel + '</h4>' +
  583. ' </div>' +
  584. ' </div>' +
  585. ' </span></div>'
  586. } else if (that.resourceTable == 'centerdata_t_forest_landing') { //起降点
  587. markersMap.icon = 'sj-icon-map-centerdata-t-forest-landing'
  588. markersMap.lng = res.data.resourceList[i].longitude
  589. markersMap.lat = res.data.resourceList[i].latitude
  590. markersMap.bindPopupHtml = '<div class="map-tip">' +
  591. '<span>' +
  592. ' <div class="d-l-con">' +
  593. ' <div class="d-l-l-text">' +
  594. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  595. .data.resourceList[i].latitude + '</h4>' +
  596. ' </div>' +
  597. ' </div>' +
  598. ' </span>' +
  599. '<span>' +
  600. ' <div class="d-l-con">' +
  601. ' <div class="d-l-l-text">' +
  602. ' <h4>起降点名称:' + res.data.resourceList[i].landingName +
  603. '</h4>' +
  604. ' </div>' +
  605. ' </div>' +
  606. ' </span>' +
  607. '<span>' +
  608. ' <div class="d-l-con">' +
  609. ' <div class="d-l-l-text">' +
  610. ' <h4>联系人:' + res.data.resourceList[i].landingPerson +
  611. '</h4>' +
  612. ' </div>' +
  613. ' </div>' +
  614. ' </span>' +
  615. '<span>' +
  616. ' <div class="d-l-con">' +
  617. ' <div class="d-l-l-text">' +
  618. ' <h4>电话:' + res.data.resourceList[i].landingTel + '</h4>' +
  619. ' </div>' +
  620. ' </div>' +
  621. ' </span></div>'
  622. } else if (that.resourceTable == 'centerdata_t_forest_channel') { //水源渠道
  623. markersMap.icon = 'sj-icon-map-centerdata-t-forest-channel'
  624. markersMap.lng = res.data.resourceList[i].longitude
  625. markersMap.lat = res.data.resourceList[i].latitude
  626. markersMap.bindPopupHtml = '<div class="map-tip">' +
  627. '<span>' +
  628. ' <div class="d-l-con">' +
  629. ' <div class="d-l-l-text">' +
  630. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  631. .data.resourceList[i].latitude + '</h4>' +
  632. ' </div>' +
  633. ' </div>' +
  634. ' </span>' +
  635. '<span>' +
  636. ' <div class="d-l-con">' +
  637. ' <div class="d-l-l-text">' +
  638. ' <h4>渠道名称:' + res.data.resourceList[i].channelName +
  639. '</h4>' +
  640. ' </div>' +
  641. ' </div>' +
  642. ' </span>' +
  643. '<span>' +
  644. ' <div class="d-l-con">' +
  645. ' <div class="d-l-l-text">' +
  646. ' <h4>联系人:' + res.data.resourceList[i].channelPerson +
  647. '</h4>' +
  648. ' </div>' +
  649. ' </div>' +
  650. ' </span>' +
  651. '<span>' +
  652. ' <div class="d-l-con">' +
  653. ' <div class="d-l-l-text">' +
  654. ' <h4>电话:' + res.data.resourceList[i].channelTel + '</h4>' +
  655. ' </div>' +
  656. ' </div>' +
  657. ' </span></div>'
  658. } else if (that.resourceTable == 'centerdata_t_forest_checkpoint') { //防火检查站
  659. markersMap.icon = 'sj-icon-map-centerdata-t-forest-checkpoint'
  660. markersMap.lng = res.data.resourceList[i].longitude
  661. markersMap.lat = res.data.resourceList[i].latitude
  662. markersMap.bindPopupHtml = '<div class="map-tip">' +
  663. '<span>' +
  664. ' <div class="d-l-con">' +
  665. ' <div class="d-l-l-text">' +
  666. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  667. .data.resourceList[i].latitude + '</h4>' +
  668. ' </div>' +
  669. ' </div>' +
  670. ' </span>' +
  671. '<span>' +
  672. ' <div class="d-l-con">' +
  673. ' <div class="d-l-l-text">' +
  674. ' <h4>检查站名称:' + res.data.resourceList[i].checkpointName +
  675. '</h4>' +
  676. ' </div>' +
  677. ' </div>' +
  678. ' </span>' +
  679. '<span>' +
  680. ' <div class="d-l-con">' +
  681. ' <div class="d-l-l-text">' +
  682. ' <h4>地址:' + res.data.resourceList[i].checkpointAddress +
  683. '</h4>' +
  684. ' </div>' +
  685. ' </div>' +
  686. ' </span>' +
  687. '<span>' +
  688. ' <div class="d-l-con">' +
  689. ' <div class="d-l-l-text">' +
  690. ' <h4>联系人:' + res.data.resourceList[i].checkpointPerson +
  691. '</h4>' +
  692. ' </div>' +
  693. ' </div>' +
  694. ' </span>' +
  695. '<span>' +
  696. ' <div class="d-l-con">' +
  697. ' <div class="d-l-l-text">' +
  698. ' <h4>电话:' + res.data.resourceList[i].checkpointTel +
  699. '</h4>' +
  700. ' </div>' +
  701. ' </div>' +
  702. ' </span></div>'
  703. } else if (that.resourceTable == 'centerdata_t_forest_waterintake') { //取水口
  704. markersMap.icon = 'sj-icon-map-centerdata-t-forest-waterintake'
  705. markersMap.lng = res.data.resourceList[i].longitude
  706. markersMap.lat = res.data.resourceList[i].latitude
  707. markersMap.bindPopupHtml = '<div class="map-tip">' +
  708. '<span>' +
  709. ' <div class="d-l-con">' +
  710. ' <div class="d-l-l-text">' +
  711. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  712. .data.resourceList[i].latitude + '</h4>' +
  713. ' </div>' +
  714. ' </div>' +
  715. ' </span>' +
  716. '<span>' +
  717. ' <div class="d-l-con">' +
  718. ' <div class="d-l-l-text">' +
  719. ' <h4>取水口名称:' + res.data.resourceList[i].waterintakeName +
  720. '</h4>' +
  721. ' </div>' +
  722. ' </div>' +
  723. ' </span>' +
  724. '<span>' +
  725. ' <div class="d-l-con">' +
  726. ' <div class="d-l-l-text">' +
  727. ' <h4>联系人:' + res.data.resourceList[i].waterintakePerson +
  728. '</h4>' +
  729. ' </div>' +
  730. ' </div>' +
  731. ' </span>' +
  732. '<span>' +
  733. ' <div class="d-l-con">' +
  734. ' <div class="d-l-l-text">' +
  735. ' <h4>电话:' + res.data.resourceList[i].waterintakeTel +
  736. '</h4>' +
  737. ' </div>' +
  738. ' </div>' +
  739. ' </span></div>'
  740. } else if (that.resourceTable == 'centerdata_t_forest_watercrane') { //水鹤
  741. markersMap.icon = 'sj-icon-map-centerdata-t-forest-watercrane'
  742. markersMap.lng = res.data.resourceList[i].longitude
  743. markersMap.lat = res.data.resourceList[i].latitude
  744. markersMap.bindPopupHtml = '<div class="map-tip">' +
  745. '<span>' +
  746. ' <div class="d-l-con">' +
  747. ' <div class="d-l-l-text">' +
  748. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  749. .data.resourceList[i].latitude + '</h4>' +
  750. ' </div>' +
  751. ' </div>' +
  752. ' </span>' +
  753. '<span>' +
  754. ' <div class="d-l-con">' +
  755. ' <div class="d-l-l-text">' +
  756. ' <h4>水鹤名称:' + res.data.resourceList[i].watercraneName +
  757. '</h4>' +
  758. ' </div>' +
  759. ' </div>' +
  760. ' </span>' +
  761. '<span>' +
  762. ' <div class="d-l-con">' +
  763. ' <div class="d-l-l-text">' +
  764. ' <h4>联系人:' + res.data.resourceList[i].watercranePerson +
  765. '</h4>' +
  766. ' </div>' +
  767. ' </div>' +
  768. ' </span>' +
  769. '<span>' +
  770. ' <div class="d-l-con">' +
  771. ' <div class="d-l-l-text">' +
  772. ' <h4>电话:' + res.data.resourceList[i].watercraneTel +
  773. '</h4>' +
  774. ' </div>' +
  775. ' </div>' +
  776. ' </span></div>'
  777. } else if (that.resourceTable == 'centerdata_t_forest_firehydrant') { //消火栓
  778. markersMap.icon = 'sj-icon-map-centerdata-t-forest-firehydrant'
  779. markersMap.lng = res.data.resourceList[i].longitude
  780. markersMap.lat = res.data.resourceList[i].latitude
  781. markersMap.bindPopupHtml = '<div class="map-tip">' +
  782. '<span>' +
  783. ' <div class="d-l-con">' +
  784. ' <div class="d-l-l-text">' +
  785. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  786. .data.resourceList[i].latitude + '</h4>' +
  787. ' </div>' +
  788. ' </div>' +
  789. ' </span>' +
  790. '<span>' +
  791. ' <div class="d-l-con">' +
  792. ' <div class="d-l-l-text">' +
  793. ' <h4>消火栓名称:' + res.data.resourceList[i].firehydrantName +
  794. '</h4>' +
  795. ' </div>' +
  796. ' </div>' +
  797. ' </span>' +
  798. '<span>' +
  799. ' <div class="d-l-con">' +
  800. ' <div class="d-l-l-text">' +
  801. ' <h4>地址:' + res.data.resourceList[i].firehydrantAddress +
  802. '</h4>' +
  803. ' </div>' +
  804. ' </div>' +
  805. ' </span>' +
  806. '<span>' +
  807. ' <div class="d-l-con">' +
  808. ' <div class="d-l-l-text">' +
  809. ' <h4>联系人:' + res.data.resourceList[i].firehydrantPerson +
  810. '</h4>' +
  811. ' </div>' +
  812. ' </div>' +
  813. ' </span>' +
  814. '<span>' +
  815. ' <div class="d-l-con">' +
  816. ' <div class="d-l-l-text">' +
  817. ' <h4>电话:' + res.data.resourceList[i].firehydrantTel +
  818. '</h4>' +
  819. ' </div>' +
  820. ' </div>' +
  821. ' </span></div>'
  822. } else if (that.resourceTable == 'centerdata_t_forest_fireteam') { //森林防火队
  823. markersMap.icon = 'sj-icon-map-centerdata-t-forest-fireteam'
  824. markersMap.lng = res.data.resourceList[i].longitude
  825. markersMap.lat = res.data.resourceList[i].latitude
  826. markersMap.bindPopupHtml = '<div class="map-tip">' +
  827. '<span>' +
  828. ' <div class="d-l-con">' +
  829. ' <div class="d-l-l-text">' +
  830. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  831. .data.resourceList[i].latitude + '</h4>' +
  832. ' </div>' +
  833. ' </div>' +
  834. ' </span>' +
  835. '<span>' +
  836. ' <div class="d-l-con">' +
  837. ' <div class="d-l-l-text">' +
  838. ' <h4>森林防火队名称:' + res.data.resourceList[i].fireteamName +
  839. '</h4>' +
  840. ' </div>' +
  841. ' </div>' +
  842. ' </span>' +
  843. '<span>' +
  844. ' <div class="d-l-con">' +
  845. ' <div class="d-l-l-text">' +
  846. ' <h4>联系人:' + res.data.resourceList[i].fireteamPerson +
  847. '</h4>' +
  848. ' </div>' +
  849. ' </div>' +
  850. ' </span>' +
  851. '<span>' +
  852. ' <div class="d-l-con">' +
  853. ' <div class="d-l-l-text">' +
  854. ' <h4>电话:' + res.data.resourceList[i].fireteamTel + '</h4>' +
  855. ' </div>' +
  856. ' </div>' +
  857. ' </span></div>'
  858. }
  859. that.markersList.push(markersMap)
  860. }
  861. }
  862. that.$refs.supermap.clearM(false)
  863. that.$refs.supermap.setMarkers(that.markersList)
  864. })
  865. }
  866. }
  867. }
  868. </script>
  869. <style rel="stylesheet/scss" lang="scss" scoped>
  870. @import '@/assets/styles/base.scss';
  871. </style>