datacenter.vue 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837
  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 :color="['#0e7957', '#0da24c']" backgroundColor="#09140e" 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 :color="['#0e7957', '#0da24c']" backgroundColor="#09140e" 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. getResource,
  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. getResource().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 == 'centerdata_t_environment_key_enterprise') { //重点企业
  323. markersMap.icon = 'sj-icon-map-centerdata-t-environment-key-enterprise'
  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].name +
  339. '</h4>' +
  340. ' </div>' +
  341. ' </div>' +
  342. ' </span>' +
  343. '<span>' +
  344. ' <div class="d-l-con">' +
  345. ' <div class="d-l-l-text">' +
  346. ' <h4>地址:' + res.data.resourceList[i].address +
  347. '</h4>' +
  348. ' </div>' +
  349. ' </div>' +
  350. ' </span>' +
  351. '<span>' +
  352. ' <div class="d-l-con">' +
  353. ' <div class="d-l-l-text">' +
  354. ' <h4>企业法人:' + res.data.resourceList[i].legalPerson +
  355. '</h4>' +
  356. ' </div>' +
  357. ' </div>' +
  358. ' </span>' +
  359. '<span>' +
  360. ' <div class="d-l-con">' +
  361. ' <div class="d-l-l-text">' +
  362. ' <h4>联系电话:' + res.data.resourceList[i].contactsPhone +
  363. '</h4>' +
  364. ' </div>' +
  365. ' </div>' +
  366. ' </span></div>'
  367. } else if (resourceTable == 'centerdata_t_environment_prohibition_area') { //禁烧区
  368. markersMap.icon = 'sj-icon-map-centerdata-t-environment-prohibition-area'
  369. markersMap.lng = res.data.resourceList[i].longitude
  370. markersMap.lat = res.data.resourceList[i].latitude
  371. markersMap.bindPopupHtml = '<div class="map-tip">' +
  372. '<span>' +
  373. ' <div class="d-l-con">' +
  374. ' <div class="d-l-l-text">' +
  375. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  376. .data.resourceList[i].latitude + '</h4>' +
  377. ' </div>' +
  378. ' </div>' +
  379. ' </span>' +
  380. '<span>' +
  381. ' <div class="d-l-con">' +
  382. ' <div class="d-l-l-text">' +
  383. ' <h4>禁烧区名称:' + res.data.resourceList[i].name + '</h4>' +
  384. ' </div>' +
  385. ' </div>' +
  386. ' </span>' +
  387. '<span>' +
  388. ' <div class="d-l-con">' +
  389. ' <div class="d-l-l-text">' +
  390. ' <h4>地址:' + res.data.resourceList[i].address + '</h4>' +
  391. ' </div>' +
  392. ' </div>' +
  393. ' </span>' +
  394. '<span>' +
  395. ' <div class="d-l-con">' +
  396. ' <div class="d-l-l-text">' +
  397. ' <h4>区域负责人:' + res.data.resourceList[i].principal + '</h4>' +
  398. ' </div>' +
  399. ' </div>' +
  400. ' </span>' +
  401. '<span>' +
  402. ' <div class="d-l-con">' +
  403. ' <div class="d-l-l-text">' +
  404. ' <h4>联系电话:' + res.data.resourceList[i].contactsPhone + '</h4>' +
  405. ' </div>' +
  406. ' </div>' +
  407. ' </span></div>'
  408. } else if (resourceTable == 'centerdata_t_environment_source_pollution') { //污染源
  409. markersMap.icon = 'sj-icon-map-centerdata-t-environment-source-pollution'
  410. markersMap.lng = res.data.resourceList[i].longitude
  411. markersMap.lat = res.data.resourceList[i].latitude
  412. markersMap.bindPopupHtml = '<div class="map-tip">' +
  413. '<span>' +
  414. ' <div class="d-l-con">' +
  415. ' <div class="d-l-l-text">' +
  416. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  417. .data.resourceList[i].latitude + '</h4>' +
  418. ' </div>' +
  419. ' </div>' +
  420. ' </span>' +
  421. '<span>' +
  422. ' <div class="d-l-con">' +
  423. ' <div class="d-l-l-text">' +
  424. ' <h4>污染源名称:' + res.data.resourceList[i].name +
  425. '</h4>' +
  426. ' </div>' +
  427. ' </div>' +
  428. ' </span>' +
  429. '<span>' +
  430. ' <div class="d-l-con">' +
  431. ' <div class="d-l-l-text">' +
  432. ' <h4>地址:' + res.data.resourceList[i].address +
  433. '</h4>' +
  434. ' </div>' +
  435. ' </div>' +
  436. ' </span>' +
  437. '<span>' +
  438. '</div>'
  439. }
  440. that.markersList.push(markersMap)
  441. }
  442. }
  443. this.dataChat()
  444. that.$refs.supermap.clearM(false)
  445. that.$refs.supermap.setMarkers(that.markersList)
  446. })
  447. },
  448. indentleftByDeptIdSetMarkers(deptId) {
  449. this.listCurrentIndex = deptId
  450. let that = this
  451. //点击左侧地图落点
  452. getResourcePointByDeptId(that.resourceTable, deptId).then(res => {
  453. that.markersList = []
  454. if (res.data.resourceList != null && res.data.resourceList.length > 0) {
  455. for (let i = 0; i < res.data.resourceList.length; i++) {
  456. let markersMap = {
  457. lng: 124.59,
  458. lat: 43.02,
  459. icon: 'marker',
  460. bindPopupHtml: '',
  461. click: '',
  462. keepBindPopup: false,
  463. isAggregation: false
  464. }
  465. if (that.resourceTable == 'centerdata_t_forest_weatherstation') { //气象站
  466. markersMap.icon = 'sj-icon-map-qxz'
  467. markersMap.lng = res.data.resourceList[i].longitude
  468. markersMap.lat = res.data.resourceList[i].latitude
  469. markersMap.icon = 'icon_qxz'
  470. markersMap.bindPopupHtml = '<div class="map-tip">' +
  471. '<span>' +
  472. ' <div class="d-l-con">' +
  473. ' <div class="d-l-l-text">' +
  474. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  475. .data.resourceList[i].latitude + '</h4>' +
  476. ' </div>' +
  477. ' </div>' +
  478. ' </span>' +
  479. '<span>' +
  480. ' <div class="d-l-con">' +
  481. ' <div class="d-l-l-text">' +
  482. ' <h4>地址:' + res.data.resourceList[i].weatherstationAddress +
  483. '</h4>' +
  484. ' </div>' +
  485. ' </div>' +
  486. ' </span>' +
  487. '<span>' +
  488. ' <div class="d-l-con">' +
  489. ' <div class="d-l-l-text">' +
  490. ' <h4>联系人:' + res.data.resourceList[i].weatherstationPerson +
  491. '</h4>' +
  492. ' </div>' +
  493. ' </div>' +
  494. ' </span>' +
  495. '<span>' +
  496. ' <div class="d-l-con">' +
  497. ' <div class="d-l-l-text">' +
  498. ' <h4>电话:' + res.data.resourceList[i].weatherstationTel +
  499. '</h4>' +
  500. ' </div>' +
  501. ' </div>' +
  502. ' </span></div>'
  503. } else if (that.resourceTable == 'centerdata_t_forest_farm') { //林场
  504. markersMap.icon = 'sj-icon-map-lc'
  505. markersMap.lng = res.data.resourceList[i].longitude
  506. markersMap.lat = res.data.resourceList[i].latitude
  507. markersMap.bindPopupHtml = '<div class="map-tip">' +
  508. '<span>' +
  509. ' <div class="d-l-con">' +
  510. ' <div class="d-l-l-text">' +
  511. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  512. .data.resourceList[i].latitude + '</h4>' +
  513. ' </div>' +
  514. ' </div>' +
  515. ' </span>' +
  516. '<span>' +
  517. ' <div class="d-l-con">' +
  518. ' <div class="d-l-l-text">' +
  519. ' <h4>林场名称:' + res.data.resourceList[i].farmName + '</h4>' +
  520. ' </div>' +
  521. ' </div>' +
  522. ' </span>' +
  523. '<span>' +
  524. ' <div class="d-l-con">' +
  525. ' <div class="d-l-l-text">' +
  526. ' <h4>联系人:' + res.data.resourceList[i].farmPerson + '</h4>' +
  527. ' </div>' +
  528. ' </div>' +
  529. ' </span>' +
  530. '<span>' +
  531. ' <div class="d-l-con">' +
  532. ' <div class="d-l-l-text">' +
  533. ' <h4>电话:' + res.data.resourceList[i].farmTel + '</h4>' +
  534. ' </div>' +
  535. ' </div>' +
  536. ' </span></div>'
  537. } else if (that.resourceTable == 'centerdata_t_forest_landing') { //起降点
  538. markersMap.icon = 'sj-icon-map-qjd'
  539. markersMap.lng = res.data.resourceList[i].longitude
  540. markersMap.lat = res.data.resourceList[i].latitude
  541. markersMap.bindPopupHtml = '<div class="map-tip">' +
  542. '<span>' +
  543. ' <div class="d-l-con">' +
  544. ' <div class="d-l-l-text">' +
  545. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  546. .data.resourceList[i].latitude + '</h4>' +
  547. ' </div>' +
  548. ' </div>' +
  549. ' </span>' +
  550. '<span>' +
  551. ' <div class="d-l-con">' +
  552. ' <div class="d-l-l-text">' +
  553. ' <h4>起降点名称:' + res.data.resourceList[i].landingName +
  554. '</h4>' +
  555. ' </div>' +
  556. ' </div>' +
  557. ' </span>' +
  558. '<span>' +
  559. ' <div class="d-l-con">' +
  560. ' <div class="d-l-l-text">' +
  561. ' <h4>联系人:' + res.data.resourceList[i].landingPerson +
  562. '</h4>' +
  563. ' </div>' +
  564. ' </div>' +
  565. ' </span>' +
  566. '<span>' +
  567. ' <div class="d-l-con">' +
  568. ' <div class="d-l-l-text">' +
  569. ' <h4>电话:' + res.data.resourceList[i].landingTel + '</h4>' +
  570. ' </div>' +
  571. ' </div>' +
  572. ' </span></div>'
  573. } else if (that.resourceTable == 'centerdata_t_forest_channel') { //水源渠道
  574. markersMap.icon = 'sj-icon-map-syqd'
  575. markersMap.lng = res.data.resourceList[i].longitude
  576. markersMap.lat = res.data.resourceList[i].latitude
  577. markersMap.bindPopupHtml = '<div class="map-tip">' +
  578. '<span>' +
  579. ' <div class="d-l-con">' +
  580. ' <div class="d-l-l-text">' +
  581. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  582. .data.resourceList[i].latitude + '</h4>' +
  583. ' </div>' +
  584. ' </div>' +
  585. ' </span>' +
  586. '<span>' +
  587. ' <div class="d-l-con">' +
  588. ' <div class="d-l-l-text">' +
  589. ' <h4>渠道名称:' + res.data.resourceList[i].channelName +
  590. '</h4>' +
  591. ' </div>' +
  592. ' </div>' +
  593. ' </span>' +
  594. '<span>' +
  595. ' <div class="d-l-con">' +
  596. ' <div class="d-l-l-text">' +
  597. ' <h4>联系人:' + res.data.resourceList[i].channelPerson +
  598. '</h4>' +
  599. ' </div>' +
  600. ' </div>' +
  601. ' </span>' +
  602. '<span>' +
  603. ' <div class="d-l-con">' +
  604. ' <div class="d-l-l-text">' +
  605. ' <h4>电话:' + res.data.resourceList[i].channelTel + '</h4>' +
  606. ' </div>' +
  607. ' </div>' +
  608. ' </span></div>'
  609. } else if (that.resourceTable == 'centerdata_t_forest_checkpoint') { //防火检查站
  610. markersMap.icon = 'sj-icon-map-fhjcz'
  611. markersMap.lng = res.data.resourceList[i].longitude
  612. markersMap.lat = res.data.resourceList[i].latitude
  613. markersMap.bindPopupHtml = '<div class="map-tip">' +
  614. '<span>' +
  615. ' <div class="d-l-con">' +
  616. ' <div class="d-l-l-text">' +
  617. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  618. .data.resourceList[i].latitude + '</h4>' +
  619. ' </div>' +
  620. ' </div>' +
  621. ' </span>' +
  622. '<span>' +
  623. ' <div class="d-l-con">' +
  624. ' <div class="d-l-l-text">' +
  625. ' <h4>检查站名称:' + res.data.resourceList[i].checkpointName +
  626. '</h4>' +
  627. ' </div>' +
  628. ' </div>' +
  629. ' </span>' +
  630. '<span>' +
  631. ' <div class="d-l-con">' +
  632. ' <div class="d-l-l-text">' +
  633. ' <h4>地址:' + res.data.resourceList[i].checkpointAddress +
  634. '</h4>' +
  635. ' </div>' +
  636. ' </div>' +
  637. ' </span>' +
  638. '<span>' +
  639. ' <div class="d-l-con">' +
  640. ' <div class="d-l-l-text">' +
  641. ' <h4>联系人:' + res.data.resourceList[i].checkpointPerson +
  642. '</h4>' +
  643. ' </div>' +
  644. ' </div>' +
  645. ' </span>' +
  646. '<span>' +
  647. ' <div class="d-l-con">' +
  648. ' <div class="d-l-l-text">' +
  649. ' <h4>电话:' + res.data.resourceList[i].checkpointTel +
  650. '</h4>' +
  651. ' </div>' +
  652. ' </div>' +
  653. ' </span></div>'
  654. } else if (that.resourceTable == 'centerdata_t_forest_waterintake') { //取水口
  655. markersMap.icon = 'sj-icon-map-qsk'
  656. markersMap.lng = res.data.resourceList[i].longitude
  657. markersMap.lat = res.data.resourceList[i].latitude
  658. markersMap.bindPopupHtml = '<div class="map-tip">' +
  659. '<span>' +
  660. ' <div class="d-l-con">' +
  661. ' <div class="d-l-l-text">' +
  662. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  663. .data.resourceList[i].latitude + '</h4>' +
  664. ' </div>' +
  665. ' </div>' +
  666. ' </span>' +
  667. '<span>' +
  668. ' <div class="d-l-con">' +
  669. ' <div class="d-l-l-text">' +
  670. ' <h4>取水口名称:' + res.data.resourceList[i].waterintakeName +
  671. '</h4>' +
  672. ' </div>' +
  673. ' </div>' +
  674. ' </span>' +
  675. '<span>' +
  676. ' <div class="d-l-con">' +
  677. ' <div class="d-l-l-text">' +
  678. ' <h4>联系人:' + res.data.resourceList[i].waterintakePerson +
  679. '</h4>' +
  680. ' </div>' +
  681. ' </div>' +
  682. ' </span>' +
  683. '<span>' +
  684. ' <div class="d-l-con">' +
  685. ' <div class="d-l-l-text">' +
  686. ' <h4>电话:' + res.data.resourceList[i].waterintakeTel +
  687. '</h4>' +
  688. ' </div>' +
  689. ' </div>' +
  690. ' </span></div>'
  691. } else if (that.resourceTable == 'centerdata_t_forest_watercrane') { //水鹤
  692. markersMap.icon = 'sj-icon-map-sh'
  693. markersMap.lng = res.data.resourceList[i].longitude
  694. markersMap.lat = res.data.resourceList[i].latitude
  695. markersMap.bindPopupHtml = '<div class="map-tip">' +
  696. '<span>' +
  697. ' <div class="d-l-con">' +
  698. ' <div class="d-l-l-text">' +
  699. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  700. .data.resourceList[i].latitude + '</h4>' +
  701. ' </div>' +
  702. ' </div>' +
  703. ' </span>' +
  704. '<span>' +
  705. ' <div class="d-l-con">' +
  706. ' <div class="d-l-l-text">' +
  707. ' <h4>水鹤名称:' + res.data.resourceList[i].watercraneName +
  708. '</h4>' +
  709. ' </div>' +
  710. ' </div>' +
  711. ' </span>' +
  712. '<span>' +
  713. ' <div class="d-l-con">' +
  714. ' <div class="d-l-l-text">' +
  715. ' <h4>联系人:' + res.data.resourceList[i].watercranePerson +
  716. '</h4>' +
  717. ' </div>' +
  718. ' </div>' +
  719. ' </span>' +
  720. '<span>' +
  721. ' <div class="d-l-con">' +
  722. ' <div class="d-l-l-text">' +
  723. ' <h4>电话:' + res.data.resourceList[i].watercraneTel +
  724. '</h4>' +
  725. ' </div>' +
  726. ' </div>' +
  727. ' </span></div>'
  728. } else if (that.resourceTable == 'centerdata_t_forest_firehydrant') { //消火栓
  729. markersMap.icon = 'sj-icon-map-xhs'
  730. markersMap.lng = res.data.resourceList[i].longitude
  731. markersMap.lat = res.data.resourceList[i].latitude
  732. markersMap.bindPopupHtml = '<div class="map-tip">' +
  733. '<span>' +
  734. ' <div class="d-l-con">' +
  735. ' <div class="d-l-l-text">' +
  736. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  737. .data.resourceList[i].latitude + '</h4>' +
  738. ' </div>' +
  739. ' </div>' +
  740. ' </span>' +
  741. '<span>' +
  742. ' <div class="d-l-con">' +
  743. ' <div class="d-l-l-text">' +
  744. ' <h4>消火栓名称:' + res.data.resourceList[i].firehydrantName +
  745. '</h4>' +
  746. ' </div>' +
  747. ' </div>' +
  748. ' </span>' +
  749. '<span>' +
  750. ' <div class="d-l-con">' +
  751. ' <div class="d-l-l-text">' +
  752. ' <h4>地址:' + res.data.resourceList[i].firehydrantAddress +
  753. '</h4>' +
  754. ' </div>' +
  755. ' </div>' +
  756. ' </span>' +
  757. '<span>' +
  758. ' <div class="d-l-con">' +
  759. ' <div class="d-l-l-text">' +
  760. ' <h4>联系人:' + res.data.resourceList[i].firehydrantPerson +
  761. '</h4>' +
  762. ' </div>' +
  763. ' </div>' +
  764. ' </span>' +
  765. '<span>' +
  766. ' <div class="d-l-con">' +
  767. ' <div class="d-l-l-text">' +
  768. ' <h4>电话:' + res.data.resourceList[i].firehydrantTel +
  769. '</h4>' +
  770. ' </div>' +
  771. ' </div>' +
  772. ' </span></div>'
  773. } else if (that.resourceTable == 'centerdata_t_forest_fireteam') { //森林防火队
  774. markersMap.icon = 'sj-icon-map-slfh'
  775. markersMap.lng = res.data.resourceList[i].longitude
  776. markersMap.lat = res.data.resourceList[i].latitude
  777. markersMap.bindPopupHtml = '<div class="map-tip">' +
  778. '<span>' +
  779. ' <div class="d-l-con">' +
  780. ' <div class="d-l-l-text">' +
  781. ' <h4>经纬度:' + res.data.resourceList[i].longitude + ',' + res
  782. .data.resourceList[i].latitude + '</h4>' +
  783. ' </div>' +
  784. ' </div>' +
  785. ' </span>' +
  786. '<span>' +
  787. ' <div class="d-l-con">' +
  788. ' <div class="d-l-l-text">' +
  789. ' <h4>森林防火队名称:' + res.data.resourceList[i].fireteamName +
  790. '</h4>' +
  791. ' </div>' +
  792. ' </div>' +
  793. ' </span>' +
  794. '<span>' +
  795. ' <div class="d-l-con">' +
  796. ' <div class="d-l-l-text">' +
  797. ' <h4>联系人:' + res.data.resourceList[i].fireteamPerson +
  798. '</h4>' +
  799. ' </div>' +
  800. ' </div>' +
  801. ' </span>' +
  802. '<span>' +
  803. ' <div class="d-l-con">' +
  804. ' <div class="d-l-l-text">' +
  805. ' <h4>电话:' + res.data.resourceList[i].fireteamTel + '</h4>' +
  806. ' </div>' +
  807. ' </div>' +
  808. ' </span></div>'
  809. }
  810. that.markersList.push(markersMap)
  811. }
  812. }
  813. that.$refs.supermap.clearM(false)
  814. that.$refs.supermap.setMarkers(that.markersList)
  815. })
  816. }
  817. }
  818. }
  819. </script>
  820. <style rel="stylesheet/scss" lang="scss" scoped>
  821. @import '@/assets/styles/base.scss';
  822. </style>