datacenter.vue 45 KB

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