supermap.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768
  1. <template>
  2. <div>
  3. <div id="qksupermap" ref="map" style="height: 100%;width: 100%"></div>
  4. <div>
  5. <el-dialog title="防汛物资" :visible.sync="suppliesOpen" width="700px" append-to-body>
  6. <el-table :data="suppliesData" height="350">
  7. <el-table-column width="60" label="序号" align="center" type="index"/>
  8. <el-table-column label="品种" align="center" prop="varieties"/>
  9. <el-table-column label="价值(万元)" align="center" prop="cost"/>
  10. <el-table-column label="备注" align="center" prop="remarks"/>
  11. </el-table>
  12. </el-dialog>
  13. </div>
  14. <div>
  15. <el-dialog title="抢险救援队" :visible.sync="teamOpen" width="1200px" append-to-body>
  16. <el-table :data="teamData" height="350">
  17. <el-table-column width="60" label="序号" align="center" type="index"/>
  18. <el-table-column width="100" label="姓名" align="center" prop="name"/>
  19. <el-table-column label="职务" align="center" prop="post"/>
  20. <el-table-column label="手机号" align="center" prop="phone"/>
  21. <el-table-column label="组织归属" align="center" prop="dept"/>
  22. <el-table-column label="所属乡镇" align="center" prop="township"/>
  23. <el-table-column label="所属村" align="center" prop="village"/>
  24. </el-table>
  25. </el-dialog>
  26. </div>
  27. </div>
  28. </template>
  29. <script>
  30. import {iconList, selectSuperMap, listForMark, getIcon, yjIconList} from '@/api/components/supermap.js';
  31. import {
  32. selectQkEmergencyRescueTeamAllList,
  33. selectQkEmergencyShelterAllList,
  34. selectQkRescueSuppliesAllList,
  35. selectQkRescueSuppliesByDeptId,
  36. selectQkEmergencyRescueTeamByDeptId
  37. } from "@/api/system/aqyj";
  38. export default {
  39. name: "sookaSuperMap",
  40. data() {
  41. return {
  42. suppliesOpen: false,
  43. suppliesData: [],
  44. teamOpen: false,
  45. teamData: [],
  46. isAdmin: false,
  47. isJieDao: false,
  48. mapId: "qksupermap",
  49. layers: [],
  50. map_shequList: [],
  51. datasource_datasetNames: [],
  52. map: null,
  53. layerId: "",
  54. zoom: "",
  55. iServerJieDaoSheQuMap: "",
  56. iServerQkYingxiangtuMap: "",
  57. iServerQkYingxiangtuMapLunKuo: "",
  58. iServerJilinshengAndQikaiMap: "",
  59. datasourceName: "",
  60. datasetName: "",
  61. centerpointLon: "",
  62. centerpointLat: "",
  63. iServerMap: "",
  64. marker: "",
  65. editableLayers: [],
  66. url: "",
  67. dataUrl: "",
  68. workspace_qk: "",
  69. workspace_jdsq: "",
  70. workspace_qkyxt: "",
  71. workspace_qkyxtlk: "",
  72. map_jilinShiLiang: "",
  73. map_qikaiYingXiang: "",
  74. map_qikaiYingXiangLunKuo: "",
  75. //选择用到的
  76. resultData: [],
  77. resultLayer: [],
  78. // 街道
  79. jieDao: null,
  80. // 社区
  81. sheQu: null,
  82. // 社区集合
  83. sqOptions: null,
  84. // 影像图/矢量图
  85. yxtSlt: null,
  86. // 人房户/事件
  87. rfhSj: null,
  88. // 年份
  89. year: null,
  90. //事件落点类型
  91. markType: ['sxt'],
  92. //事件详情页是否显示
  93. eventDetailVisible: null,
  94. // 路由参数
  95. routeType: null,
  96. showLatLng: null,
  97. closeChoseBuilding: null,
  98. lockReconnect: false,
  99. userId: null,
  100. layerGroup: null, // 地图标点图标
  101. myLayerGroup: []
  102. }
  103. },
  104. mounted() {
  105. this.getSupermap(this.sqOptionsProps, this.jieDaoProps, this.sheQuProps, this.yxtSltProps, this.rfhSjProps, this.yearProps);
  106. },
  107. props: {
  108. // 社区集合
  109. sqOptionsProps: null,
  110. // 街道
  111. jieDaoProps: null,
  112. // 社区
  113. sheQuProps: null,
  114. // 影像图/矢量图
  115. yxtSltProps: null,
  116. // 人房户/事件
  117. rfhSjProps: null,
  118. // 年份
  119. yearProps: null,
  120. },
  121. methods: {
  122. getSupermap: async function (sqOptions, jieDao, sheQu, yxtSlt, rfhSj, year) {
  123. this.sqOptions = sqOptions;
  124. this.jieDao = jieDao;
  125. this.sheQu = sheQu;
  126. this.yxtSlt = yxtSlt;
  127. this.rfhSj = rfhSj;
  128. this.year = year;
  129. this.mapId = "";
  130. this.layers = [];
  131. this.map_shequList = [];
  132. this.datasource_datasetNames = [];
  133. selectSuperMap().then(response => {
  134. this.centerpointLat = response.data.superMapIServerQiKaiQuMapCenterPoint.split(",")[0];
  135. this.centerpointLon = response.data.superMapIServerQiKaiQuMapCenterPoint.split(",")[1];
  136. // this.datasetName="汽开区";
  137. // this.datasourceName="building";
  138. this.iServerMap = response.data.superMapIServer;
  139. this.layerId = response.data.layerId;
  140. this.zoom = response.data.zoom;
  141. this.iServerJilinshengAndQikaiMap = response.data.superMapIServerJilinshengAndQikaiMap;
  142. this.iServerJieDaoSheQuMap = response.data.superMapIServerJiedaoshequMap;
  143. this.iServerQkYingxiangtuMap = response.data.superMapIServerJilinshengYingxaingAndQikaiMap;
  144. this.iServerQkYingxiangtuMapLunKuo = response.data.superMapIServerQikaiOutlineMap;
  145. this.dataUrl = response.data.superMapIServerJiedaoshequMap;
  146. this.url = response.data.superMapIServerJiedaoshequMap;
  147. this.workspace_qk = this.iServerJilinshengAndQikaiMap;//省矢量及区影像,固定加载。
  148. this.workspace_jdsq = this.iServerJieDaoSheQuMap;//街道社区的地图服务路径
  149. this.workspace_qkyxt = this.iServerQkYingxiangtuMap;//汽开区影像图
  150. this.workspace_qkyxtlk = this.iServerQkYingxiangtuMapLunKuo;//汽开区影像轮廓图
  151. this.map_jilinShiLiang = window.L.supermap.tiledMapLayer(this.workspace_qk, {
  152. noWrap: true
  153. });
  154. this.map_qikaiYingXiang = window.L.supermap.tiledMapLayer(this.workspace_qkyxt + '/经开影像', {
  155. noWrap: true
  156. });
  157. this.map_qikaiYingXiangLunKuo = window.L.supermap.tiledMapLayer(this.workspace_qkyxtlk, {
  158. noWrap: true
  159. });
  160. this.initSlt();
  161. });
  162. },
  163. /**
  164. * 矢量图
  165. */
  166. initSlt: async function () {
  167. this.layers.push(this.map_jilinShiLiang);//吉林矢量
  168. this.initYxt();
  169. },
  170. /**
  171. * 影像图
  172. */
  173. initYxt: async function () {
  174. if (this.yxtSlt == 'yxt') {//影像图
  175. this.layers.push(this.map_qikaiYingXiang);//汽开影像
  176. this.layers.push(this.map_qikaiYingXiangLunKuo);//汽开影像轮廓
  177. }
  178. this.initZxd();
  179. },
  180. /**
  181. * 事件落点
  182. */
  183. initSjd: async function () {
  184. this.init(this.markType, this.map);
  185. },
  186. /**
  187. * 中心点、zoom
  188. */
  189. initZxd: async function () {
  190. this.initMap();
  191. },
  192. /**
  193. * 落点定位
  194. */
  195. dropLocation: function (lat, lng) {
  196. this.map.flyTo([lat, lng], 16, {duration: 3})
  197. },
  198. /**
  199. * 加载地图
  200. */
  201. initMap: async function () {
  202. let _that = this;
  203. this.map && this.map.remove();
  204. this.map = window.L.map('qksupermap', {
  205. preferCanvas: true,
  206. center: [this.centerpointLat, this.centerpointLon],//[43.876540660858154,125.24094343185425],
  207. zoom: this.zoom,
  208. crs: window.L.CRS.EPSG4326,
  209. zoomControl: false,
  210. doubleClickZoom: false,
  211. layers: this.layers,
  212. attributionControl: false,
  213. logoControl: false,
  214. });
  215. this.initSjd();
  216. },
  217. //事件落点相关方法
  218. init: function () {
  219. this.selectCameraList()
  220. },
  221. addMarkers(options, type) {
  222. let marker;
  223. let markers = [];
  224. let layerGroups = [];
  225. let clusterGroup = L.markerClusterGroup({
  226. //设置为true时显示聚类所占据的范围
  227. showCoverageOnHover: false,
  228. //设置为true时会向低一级聚类缩放
  229. zoomToBoundsOnClick: true,
  230. //增加点位时增加聚合动画(否则会出问题)
  231. animateAddingMarkers: true,
  232. //最大缩放级别点击聚合图标展开图标
  233. spiderfyOnMaxZoom: true
  234. });
  235. for (let i = 0; i < options.length; i++) {
  236. if (type == "sxt") {
  237. marker = this.addMarker(options[i], type);
  238. } else if (type == "yjcs") {
  239. marker = this.addShelterMarker(options[i], type);
  240. } else if (type == "jyd") {
  241. marker = this.addTeamMarker(options[i], type);
  242. } else if (type == "fxwz") {
  243. marker = this.addSuppliesMark(options[i], type);
  244. }
  245. clusterGroup.addLayer(marker);
  246. this.myLayerGroup.push({type: type, myGroup: clusterGroup});
  247. }
  248. this.map.addLayer(clusterGroup);
  249. },
  250. addMarker(option, type) {
  251. let markers = [];
  252. //定义图标
  253. let icon = new window.L.Icon({
  254. iconUrl: getIcon(option.buildType),
  255. iconAnchor: [50, 50],
  256. iconSize: [37, 64],
  257. popupAnchor: [-33, -47],
  258. shadowSize: [41, 41]
  259. });
  260. //定义落点
  261. let marker = L.marker([option.latitude, option.longitude], {
  262. icon: icon
  263. });
  264. //定义泡泡层
  265. marker.on('click', function () {
  266. let html = "";
  267. html += "<p class='v-p-color'>摄像头名称:" + option.cameraName + "</p>";
  268. html += "<p class='v-p-color'>摄像头类型:" + option.buildTypeName + "</p>";
  269. html += "<p class='v-p-color'>所属派出所:" + option.policeName + "</p>";
  270. this.bindPopup(html).openPopup(this.getLatLng());
  271. });
  272. // /**鼠标移开关闭popup**/
  273. // marker.on('mouseout', function () {
  274. // this.closePopup();
  275. // });
  276. return marker;
  277. },
  278. addShelterMarker(option, type) {
  279. let markers = [];
  280. //定义图标
  281. let icon = new window.L.Icon({
  282. iconUrl: yjIconList[type],
  283. iconAnchor: [50, 50],
  284. iconSize: [37, 64],
  285. popupAnchor: [-33, -47],
  286. shadowSize: [41, 41]
  287. });
  288. //定义落点
  289. let marker = L.marker([option.latitude, option.longitude], {
  290. icon: icon
  291. });
  292. //定义泡泡层
  293. marker.on('mouseover', function () {
  294. let html = "";
  295. html += "<p class='v-p-color'>避难场所名称:" + option.name + "</p>";
  296. html += "<p class='v-p-color'>类型:" + option.type + "</p>";
  297. html += "<p class='v-p-color'>地址:" + option.address + "</p>";
  298. html += "<p class='v-p-color'>避难场所范围:" + option.range + "</p>";
  299. html += "<p class='v-p-color'>避难场所现状描述:" + option.state + "</p>";
  300. html += "<p class='v-p-color'>占地面积(m²):" + option.area + "</p>";
  301. html += "<p class='v-p-color'>可转移安置人数(万人):" + option.transferPerson + "</p>";
  302. html += "<p class='v-p-color'>建设内容:" + option.constructionContent + "</p>";
  303. this.bindPopup(html).openPopup(this.getLatLng());
  304. });
  305. // /**鼠标移开关闭popup**/
  306. marker.on('mouseout', function () {
  307. this.closePopup();
  308. });
  309. return marker;
  310. },
  311. addTeamMarker(option, type) {
  312. let that = this;
  313. let markers = [];
  314. //定义图标
  315. let icon = new window.L.Icon({
  316. iconUrl: yjIconList[type],
  317. iconAnchor: [50, 50],
  318. iconSize: [37, 64],
  319. popupAnchor: [-33, -47],
  320. shadowSize: [41, 41]
  321. });
  322. //定义落点
  323. let marker = L.marker([option.latitude, option.longitude], {
  324. icon: icon
  325. });
  326. //定义泡泡层
  327. marker.on('click', function () {
  328. that.selectQkEmergencyRescueTeamByDeptId(option.deptId)
  329. that.suppliesOpen = false
  330. });
  331. return marker;
  332. },
  333. addSuppliesMark(option, type) {
  334. let that = this;
  335. let markers = [];
  336. //定义图标
  337. let icon = new window.L.Icon({
  338. iconUrl: yjIconList[type],
  339. iconAnchor: [50, 50],
  340. iconSize: [37, 64],
  341. popupAnchor: [-33, -47],
  342. shadowSize: [41, 41]
  343. });
  344. //定义落点
  345. let marker = L.marker([option.latitude, option.longitude], {
  346. icon: icon
  347. });
  348. //定义泡泡层
  349. marker.on('click', function () {
  350. that.selectQkRescueSuppliesByDeptId(option.deptId)
  351. that.suppliesOpen = false
  352. });
  353. return marker;
  354. },
  355. /**
  356. * 清理地图标点
  357. */
  358. clearM: function () {
  359. console.log("this.myLayerGroup",this.myLayerGroup)
  360. console.log("this.resultLayer",this.resultLayer)
  361. let that = this;
  362. if (that.myLayerGroup != null && that.myLayerGroup.length > 0) {
  363. for (var i = this.myLayerGroup.length - 1; i >= 0; i--) {
  364. that.myLayerGroup[i].myGroup.clearLayers()
  365. that.myLayerGroup.splice(i, 1)
  366. }
  367. }
  368. // if (that.resultLayer != null) {
  369. // that.resultLayer.clearLayers()
  370. // }
  371. },
  372. //查询摄像头落点列表
  373. selectCameraList() {
  374. let that = this;
  375. listForMark().then(response => {
  376. that.addMarkers(response.data, "sxt");
  377. });
  378. },
  379. //查询应急避难所落点列表
  380. selectQkEmergencyShelterAllList() {
  381. let that = this;
  382. selectQkEmergencyShelterAllList().then(response => {
  383. that.addMarkers(response.data, "yjcs");
  384. })
  385. },
  386. //查询抢险救援队落点列表
  387. selectQkEmergencyRescueTeamAllList() {
  388. let that = this;
  389. selectQkEmergencyRescueTeamAllList().then(response => {
  390. that.addMarkers(response.data, "jyd");
  391. })
  392. },
  393. selectQkEmergencyRescueTeamByDeptId(deptId) {
  394. selectQkEmergencyRescueTeamByDeptId(deptId).then(res => {
  395. this.teamData = res.data;
  396. this.teamOpen = true
  397. })
  398. },
  399. //查询防汛抗旱物资储备落点列表
  400. selectQkRescueSuppliesAllList() {
  401. let that = this;
  402. selectQkRescueSuppliesAllList().then(response => {
  403. that.addMarkers(response.data, 'fxwz');
  404. })
  405. },
  406. selectQkRescueSuppliesByDeptId(deptId) {
  407. selectQkRescueSuppliesByDeptId(deptId).then(res => {
  408. this.suppliesData = res.data;
  409. this.suppliesOpen = true
  410. })
  411. },
  412. // addCameraMark: function (options) {
  413. // //创建聚散图层并添加layers
  414. // let marker = [];
  415. // this.resultLayer = L.markerClusterGroup({
  416. // showCoverageOnHover: false,
  417. // zoomToBoundsOnClick: true,
  418. // animateAddingMarkers: true,
  419. // spiderfyOnMaxZoom: true
  420. // });
  421. // options.data.forEach(e => {
  422. // var lat = e.latitude;
  423. // var lon = e.longitude;
  424. // var buildType = e.buildType;
  425. // var markpoint = e.markpoint;
  426. // var myIcon = L.icon({
  427. // iconUrl: getIcon(buildType),
  428. // iconAnchor: [50, 50],
  429. // iconSize: [37, 64],
  430. // popupAnchor: [-33, -47],
  431. // shadowSize: [41, 41],
  432. // });
  433. // marker = L.marker([lat, lon], {
  434. // icon: myIcon
  435. // });
  436. // marker.bindPopup(markpoint);
  437. // this.resultLayer.addLayer(marker);
  438. // /**鼠标悬停打开popup**/
  439. // marker.on('mouseover', function () {
  440. // let html = "";
  441. // html += "<p class='v-p-color'>摄像头名称:" + e.cameraName + "</p>";
  442. // html += "<p class='v-p-color'>摄像头类型:" + e.buildTypeName + "</p>";
  443. // html += "<p class='v-p-color'>所属派出所:" + e.policeName + "</p>";
  444. // this.bindPopup(html).openPopup(this.getLatLng());
  445. // });
  446. // // /**鼠标移开关闭popup**/
  447. // marker.on('mouseout', function () {
  448. // this.closePopup();
  449. // });
  450. // })
  451. // this.resultLayer.addTo(this.map)
  452. // },
  453. //
  454. // //查询抢险救援队落点列表
  455. // selectQkEmergencyRescueTeamAllList() {
  456. // selectQkEmergencyRescueTeamAllList().then(response => {
  457. // this.addTeamMark(response);
  458. // })
  459. // },
  460. // addTeamMark: function (options) {
  461. // //创建聚散图层并添加layers
  462. // let that = this;
  463. // let marker = [];
  464. // that.resultLayer = L.markerClusterGroup({
  465. // showCoverageOnHover: false,
  466. // zoomToBoundsOnClick: true,
  467. // animateAddingMarkers: true,
  468. // spiderfyOnMaxZoom: true
  469. // });
  470. // options.data.forEach(e => {
  471. // var lat = e.latitude;
  472. // var lon = e.longitude;
  473. // var myIcon = L.icon({
  474. // iconUrl: require('@/assets/images/cameraType/yjdw.png'),
  475. // iconAnchor: [50, 50],
  476. // iconSize: [37, 64],
  477. // popupAnchor: [-33, -47],
  478. // shadowSize: [41, 41],
  479. // });
  480. // marker = L.marker([lat, lon], {
  481. // icon: myIcon
  482. // });
  483. // that.resultLayer.addLayer(marker);
  484. // /**鼠标悬停打开popup**/
  485. // marker.on('click', function () {
  486. // that.suppliesOpen = false
  487. // that.selectQkEmergencyRescueTeamByDeptId(e.deptId)
  488. // });
  489. //
  490. // })
  491. // that.resultLayer.addTo(that.map)
  492. // },
  493. // selectQkEmergencyRescueTeamByDeptId(deptId) {
  494. // selectQkEmergencyRescueTeamByDeptId(deptId).then(res => {
  495. // this.teamData = res.data;
  496. // this.teamOpen = true
  497. //
  498. // })
  499. // },
  500. // // //查询应急避难所落点列表
  501. // // selectQkEmergencyShelterAllList() {
  502. // // selectQkEmergencyShelterAllList().then(response => {
  503. // // this.addShelterMark(response)
  504. // // })
  505. // // },
  506. // addShelterMark: function (options) {
  507. // //创建聚散图层并添加layers
  508. // let marker = [];
  509. // this.resultLayer = L.markerClusterGroup({
  510. // showCoverageOnHover: false,
  511. // zoomToBoundsOnClick: true,
  512. // animateAddingMarkers: true,
  513. // spiderfyOnMaxZoom: true
  514. // });
  515. // options.data.forEach(e => {
  516. // var lat = e.latitude;
  517. // var lon = e.longitude;
  518. // var markpoint = e.markpoint;
  519. // var myIcon = L.icon({
  520. // iconUrl: require('@/assets/images/cameraType/yjcs.png'),
  521. // iconAnchor: [50, 50],
  522. // iconSize: [37, 64],
  523. // popupAnchor: [-33, -47],
  524. // shadowSize: [41, 41],
  525. // });
  526. // marker = L.marker([lat, lon], {
  527. // icon: myIcon
  528. // });
  529. // marker.bindPopup(markpoint);
  530. // this.resultLayer.addLayer(marker);
  531. // /**鼠标悬停打开popup**/
  532. // marker.on('click', function () {
  533. // let html = "";
  534. // html += "<p class='v-p-color'>避难场所名称:" + e.name + "</p>";
  535. // html += "<p class='v-p-color'>类型:" + e.type + "</p>";
  536. // html += "<p class='v-p-color'>地址:" + e.address + "</p>";
  537. // html += "<p class='v-p-color'>避难场所范围:" + e.range + "</p>";
  538. // html += "<p class='v-p-color'>避难场所现状描述:" + e.state + "</p>";
  539. // html += "<p class='v-p-color'>占地面积(m²):" + e.area + "</p>";
  540. // html += "<p class='v-p-color'>可转移安置人数(万人):" + e.transferPerson + "</p>";
  541. // html += "<p class='v-p-color'>建设内容:" + e.constructionContent + "</p>";
  542. // this.bindPopup(html).openPopup(this.getLatLng());
  543. // });
  544. // // /**鼠标移开关闭popup**/
  545. // marker.on('dblclick', function () {
  546. // this.closePopup();
  547. // });
  548. // })
  549. // this.resultLayer.addTo(this.map)
  550. // },
  551. //
  552. // //查询防汛抗旱物资储备落点列表
  553. // selectQkRescueSuppliesAllList() {
  554. // selectQkRescueSuppliesAllList().then(response => {
  555. // this.addSuppliesMark(response);
  556. // })
  557. // },
  558. // addSuppliesMark: function (options) {
  559. // //创建聚散图层并添加layers
  560. // let that = this;
  561. // let marker = [];
  562. // that.resultLayer = L.markerClusterGroup({
  563. // showCoverageOnHover: false,
  564. // zoomToBoundsOnClick: true,
  565. // animateAddingMarkers: true,
  566. // spiderfyOnMaxZoom: true
  567. // });
  568. // options.data.forEach(e => {
  569. // var lat = e.latitude;
  570. // var lon = e.longitude;
  571. // var myIcon = L.icon({
  572. // iconUrl: require('@/assets/images/cameraType/khwz.png'),
  573. // iconAnchor: [50, 50],
  574. // iconSize: [37, 64],
  575. // popupAnchor: [-33, -47],
  576. // shadowSize: [41, 41],
  577. // });
  578. // marker = L.marker([lat, lon], {
  579. // icon: myIcon
  580. // });
  581. // that.resultLayer.addLayer(marker);
  582. // /**鼠标悬停打开popup**/
  583. // marker.on('click', function () {
  584. // that.teamOpen = false
  585. // that.selectQkRescueSuppliesByDeptId(e.deptId)
  586. // });
  587. // })
  588. // that.resultLayer.addTo(that.map)
  589. // },
  590. // selectQkRescueSuppliesByDeptId(deptId) {
  591. // selectQkRescueSuppliesByDeptId(deptId).then(res => {
  592. // this.suppliesData = res.data;
  593. // this.suppliesOpen = true
  594. // })
  595. // },
  596. }
  597. }
  598. </script>
  599. <style>
  600. .header .nav {
  601. z-index: 0;
  602. }
  603. th {
  604. width: 100px; /* 设置宽度 */
  605. color: white; /* 设置字体颜色为白色 */
  606. }
  607. td {
  608. color: white; /* 设置字体颜色为白色 */
  609. }
  610. /*地图DOM*/
  611. #qksupermap {
  612. width: 100%;
  613. /* height: 1080px !important; */
  614. background: none;
  615. }
  616. .el-dialog {
  617. background: #014f9f;
  618. }
  619. .el-dialog__title {
  620. color: #ffffff;
  621. }
  622. .el-dialog__headerbtn .el-dialog__close {
  623. color: #ffffff;
  624. }
  625. .el-table {
  626. background-color: #014f9f;
  627. color: #fff;
  628. border-bottom: 1px solid #335d81;
  629. }
  630. .el-table .el-table__header-wrapper th, .el-table .el-table__fixed-header-wrapper th {
  631. background-color: #032d58c9;
  632. color: #fff;
  633. }
  634. .el-table .cell{
  635. color: #fff;
  636. }
  637. .el-table tr {
  638. background-color: #04346f61;
  639. }
  640. .el-table--enable-row-hover .el-table__body tr:hover > td.el-table__cell {
  641. background-color: #1c7fdb;
  642. }
  643. .el-table td.el-table__cell div{
  644. color: #fff;
  645. }
  646. .el-table th.el-table__cell.is-leaf, .el-table td.el-table__cell {
  647. border-bottom: 1px solid #335d81;
  648. }
  649. .el-table::before, .el-table--group::after, .el-table--border::after {
  650. background-color: #335d81;
  651. }
  652. .el-table__body-wrapper::-webkit-scrollbar{
  653. background: #294f76;
  654. }
  655. .el-table__body-wrapper::-webkit-scrollbar-thumb {
  656. background-color: #34669c;
  657. }
  658. .el-table__body-wrapper::-webkit-scrollbar-track {
  659. background-color: #294f76;
  660. }
  661. /* popup */
  662. .leaflet-popup {
  663. position: absolute;
  664. text-align: center;
  665. margin-bottom: 20px;
  666. }
  667. .leaflet-popup-content-wrapper {
  668. padding: 1px;
  669. text-align: left;
  670. border-radius: 12px;
  671. }
  672. .leaflet-popup-content {
  673. margin: 13px 19px;
  674. line-height: 1.4;
  675. }
  676. .leaflet-popup-content p {
  677. margin: 18px 0;
  678. color: #fff;
  679. }
  680. .leaflet-popup-tip-container {
  681. width: 40px;
  682. height: 20px;
  683. position: absolute;
  684. left: 50%;
  685. margin-left: -20px;
  686. overflow: hidden;
  687. pointer-events: none;
  688. }
  689. .leaflet-popup-tip {
  690. width: 17px;
  691. height: 17px;
  692. padding: 1px;
  693. margin: -10px auto 0;
  694. -webkit-transform: rotate(45deg);
  695. -moz-transform: rotate(45deg);
  696. -ms-transform: rotate(45deg);
  697. transform: rotate(45deg);
  698. }
  699. .leaflet-popup-content-wrapper,
  700. .leaflet-popup-tip {
  701. background: rgba(4, 45, 106, 0.7);
  702. color: #333;
  703. box-shadow: 0 3px 14px rgba(0,0,0,0.4);
  704. }
  705. .leaflet-container a.leaflet-popup-close-button {
  706. position: absolute;
  707. top: 0;
  708. right: 0;
  709. padding: 4px 4px 0 0;
  710. border: none;
  711. text-align: center;
  712. width: 18px;
  713. height: 14px;
  714. font: 16px/14px Tahoma, Verdana, sans-serif;
  715. color: #c3c3c3;
  716. text-decoration: none;
  717. font-weight: bold;
  718. background: transparent;
  719. }
  720. .leaflet-container a.leaflet-popup-close-button:hover {
  721. color: #999;
  722. }
  723. .leaflet-popup-scrolled {
  724. overflow: auto;
  725. border-bottom: 1px solid #ddd;
  726. border-top: 1px solid #ddd;
  727. }
  728. .leaflet-oldie .leaflet-popup-content-wrapper {
  729. -ms-zoom: 1;
  730. }
  731. .leaflet-oldie .leaflet-popup-tip {
  732. width: 24px;
  733. margin: 0 auto;
  734. -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  735. filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
  736. }
  737. .leaflet-oldie .leaflet-popup-tip-container {
  738. margin-top: -1px;
  739. }
  740. .leaflet-oldie .leaflet-control-zoom,
  741. .leaflet-oldie .leaflet-control-layers,
  742. .leaflet-oldie .leaflet-popup-content-wrapper,
  743. .leaflet-oldie .leaflet-popup-tip {
  744. border: 1px solid #999;
  745. }
  746. </style>