datacenter.vue 44 KB

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