ImageLayerSplit.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779
  1. <script setup>
  2. /**
  3. * element-plus组件
  4. */
  5. import {
  6. ElMessage
  7. } from 'element-plus';
  8. import {
  9. inject
  10. } from "vue";
  11. import {
  12. Store
  13. } from '@/store/index'
  14. store = Store()
  15. import {
  16. deepTree
  17. } from "@/utils/deepTree.js";
  18. const getMapInstance = inject("getMapInstance");
  19. jt3d = getMapInstance();
  20. </script>
  21. <template>
  22. <div class="jt-ImageLayerSplit">
  23. <div class="_left">
  24. <div style="line-height: 30rem;float: left;">左侧图层:</div>
  25. <el-tree-select v-model="leftValue" :data="leftData" :render-after-expand="true" @change="handleClickLeft" style="width: 160rem; float: left;" />
  26. </div>
  27. <div class="_right">
  28. <div style="line-height: 30rem;float: left;">右侧图层:</div>
  29. <el-tree-select v-model="rightValue" :data="rightData" :render-after-expand="true" @change="handleClickRight" style="width: 160rem; float: left;" />
  30. </div>
  31. </div>
  32. </template>
  33. <script>
  34. let jt3d = undefined;
  35. let store = undefined;
  36. let earthAtLeft = undefined;
  37. let earthAtRight = undefined;
  38. //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  39. //例如:import 《组件名称》 from '《组件路径》';
  40. export default {
  41. //import引入的组件需要注入到对象中才能使用
  42. components: {},
  43. //这里存放数据
  44. data() {
  45. return {
  46. leftValue: {},
  47. leftData: [],
  48. rightValue: {},
  49. rightData: [],
  50. };
  51. },
  52. //监听属性 类似于data概念
  53. computed: {},
  54. //监控data中的数据变化
  55. watch: {},
  56. //方法集合
  57. methods: {
  58. /**
  59. * 左侧图层控制
  60. * @param {Object} data
  61. */
  62. handleClickLeft(data) {
  63. let _self = this;
  64. let _serviceId = "service_" + data.layercode + data.layerorder;
  65. let layername = data.layername;
  66. let layertype = data.layertype;
  67. //透明度
  68. let _opacity = null;
  69. if (data.opacity == null) {
  70. _opacity = 1;
  71. } else {
  72. _opacity = Number(data.opacity);
  73. data.opacity = _opacity;
  74. if (_opacity == 0) {
  75. _opacity = 1;
  76. }
  77. }
  78. //参数集
  79. let parameterset = data.parameterset;
  80. if (data.parameterset instanceof Object) {
  81. parameterset = data.parameterset;
  82. } else if (data.parameterset != "" && data.parameterset != null && data.parameterset != undefined) {
  83. parameterset = JSON.parse(data.parameterset);
  84. }
  85. //设置参数
  86. let _options = {
  87. id: _serviceId,
  88. alpha: _opacity
  89. }
  90. this.removeSplitLayerLeft();
  91. switch (data.loadtype) {
  92. case "UrlTemplateImageryProvider": //加载URL模板服务
  93. //设置参数
  94. _options.url = data.datasource;
  95. if (parameterset) {
  96. if (parameterset.CRS) { //坐标系
  97. _options.CRS = parameterset.CRS;
  98. }
  99. if (parameterset.minimumLevel) { //最小层级
  100. _options.minimumLevel = parameterset.minimumLevel;
  101. }
  102. if (parameterset.maximumLevel) { //最大层级
  103. _options.maximumLevel = parameterset.maximumLevel;
  104. }
  105. }
  106. jt3d.layer.addUrlTemplateImagery(_options, function(serviceId) {
  107. earthAtLeft = window[_serviceId];
  108. earthAtLeft.splitDirection = Cesium.SplitDirection.LEFT;
  109. });
  110. break;
  111. case "WebMapTileServiceImageryProvider": // WMTS地图服务
  112. //设置参数
  113. _options.url = data.datasource;
  114. if (parameterset) {
  115. if (parameterset.layers) { //WMTS请求的层名
  116. _options.layers = parameterset.layers;
  117. if (parameterset.style) { //WMTS请求的样式名
  118. _options.style = parameterset.style;
  119. if (parameterset.tileMatrixSetID) { //用于WMTS请求的TileMatrixSet的标识符
  120. _options.tileMatrixSetID = parameterset.tileMatrixSetID;
  121. if (parameterset.minimumLevel) { //最小层级
  122. _options.minimumLevel = parameterset.minimumLevel;
  123. }
  124. if (parameterset.maximumLevel) { //最大层级
  125. _options.maximumLevel = parameterset.maximumLevel;
  126. }
  127. jt3d.layer.addWebMapTileService(_options, function(serviceId) {
  128. earthAtLeft = window[_serviceId];
  129. earthAtLeft.splitDirection = Cesium.SplitDirection.LEFT;
  130. });
  131. } else {
  132. ElMessage("请检测图层表parameterset字段是否设置tileMatrixSetID");
  133. }
  134. } else {
  135. ElMessage("请检测图层表parameterset字段是否设置style");
  136. }
  137. } else {
  138. ElMessage("请检测图层表parameterset字段是否设置layers");
  139. }
  140. } else {
  141. ElMessage("请检测图层表parameterset字段是否设置layers,style,tileMatrixSetID");
  142. }
  143. break;
  144. case "WebMapServiceImageryProvider": //WMS地图服务
  145. //设置参数
  146. _options.url = data.datasource;
  147. if (parameterset) {
  148. if (parameterset.layers) { //WMTS请求的层名
  149. _options.layers = parameterset.layers;
  150. if (parameterset.minimumLevel) { //最小层级
  151. _options.minimumLevel = parameterset.minimumLevel;
  152. }
  153. if (parameterset.maximumLevel) { //最大层级
  154. _options.maximumLevel = parameterset.maximumLevel;
  155. }
  156. jt3d.layer.addWebMapService(_options, function(serviceId) {
  157. earthAtLeft = window[_serviceId];
  158. earthAtLeft.splitDirection = Cesium.SplitDirection.LEFT;
  159. });
  160. } else {
  161. ElMessage("请检测图层表parameterset字段是否设置layers");
  162. }
  163. } else {
  164. ElMessage("请检测图层表parameterset字段是否设置layers");
  165. }
  166. break;
  167. case "ArcGisMapServerImageryProvider": // ArcGIS Online和Server的相关服务
  168. //设置参数
  169. _options.url = data.datasource;
  170. if (parameterset) {
  171. if (parameterset.layers) {
  172. _options.layers = parameterset.layers;
  173. }
  174. }
  175. //加载服务
  176. jt3d.layer.addArcGisMapServer(_options, function(serviceId) {
  177. earthAtLeft = window[_serviceId];
  178. earthAtLeft.splitDirection = Cesium.SplitDirection.LEFT;
  179. })
  180. break;
  181. case "TileMapServiceImageryProvider": // 2.5维度地图
  182. //设置参数
  183. _options.url = data.datasource;
  184. if (parameterset) {
  185. if (parameterset.minimumLevel) { //最小层级
  186. _options.minimumLevel = parameterset.minimumLevel;
  187. }
  188. if (parameterset.maximumLevel) { //最大层级
  189. _options.maximumLevel = parameterset.maximumLevel;
  190. }
  191. }
  192. jt3d.layer.addTileMapServiceImagery(_options, function(serviceId) {
  193. earthAtLeft = window[_serviceId];
  194. earthAtLeft.splitDirection = Cesium.SplitDirection.LEFT;
  195. });
  196. break;
  197. case "Cesium3DTileset": //加载3DTileset地图服务--实景
  198. let Tiles = [];
  199. let datasource = data.datasource.split("#")
  200. console.log('datasource', datasource)
  201. //加载实景
  202. datasource.forEach((res, index) => {
  203. //设置参数
  204. let _options = {
  205. id: _serviceId + index,
  206. url: res,
  207. }
  208. if (parameterset) {
  209. if (parameterset.height) {
  210. _options.height = parameterset.height;
  211. }
  212. if (parameterset.alpha) {
  213. _options.alpha = parameterset.alpha;
  214. }
  215. }
  216. jt3d.layer.addCesium3DTileset(_options, function(serviceId) {
  217. window[_serviceId + index] = window[serviceId];
  218. window[_serviceId + index].splitDirection = Cesium.SplitDirection.LEFT;
  219. Tiles.push(window[_serviceId + index]);
  220. });
  221. if (index === (datasource.length - 1)) {
  222. earthAtLeft = Tiles;
  223. }
  224. })
  225. break;
  226. case "Cesium3DTileset_BM": //加载3DTileset地图服务--白膜
  227. //设置参数
  228. _options.url = data.datasource;
  229. if (parameterset) {
  230. if (parameterset.color) {
  231. _options.color = parameterset.color;
  232. }
  233. }
  234. //加载白膜
  235. jt3d.layer.addCesium3DTilesetBm(_options, function(serviceId) {
  236. earthAtLeft = window[_serviceId];
  237. earthAtLeft.splitDirection = Cesium.SplitDirection.LEFT;
  238. });
  239. break;
  240. default:
  241. break;
  242. }
  243. },
  244. /**
  245. *
  246. *
  247. * 右侧图层控制
  248. * @param {Object} data
  249. */
  250. handleClickRight(data) {
  251. let _self = this;
  252. let _serviceId = "service_" + data.layercode + data.layerorder;
  253. let layername = data.layername;
  254. let layertype = data.layertype;
  255. //透明度
  256. let _opacity = null;
  257. if (data.opacity == null) {
  258. _opacity = 1;
  259. } else {
  260. _opacity = Number(data.opacity);
  261. data.opacity = _opacity;
  262. if (_opacity == 0) {
  263. _opacity = 1;
  264. }
  265. }
  266. //参数集
  267. let parameterset = data.parameterset;
  268. if (data.parameterset instanceof Object) {
  269. parameterset = data.parameterset;
  270. } else if (data.parameterset != "" && data.parameterset != null && data.parameterset != undefined) {
  271. parameterset = JSON.parse(data.parameterset);
  272. }
  273. //设置参数
  274. let _options = {
  275. id: _serviceId,
  276. alpha: _opacity
  277. }
  278. this.removeSplitLayerRight();
  279. switch (data.loadtype) {
  280. case "UrlTemplateImageryProvider": //加载URL模板服务
  281. //设置参数
  282. _options.url = data.datasource;
  283. if (parameterset) {
  284. if (parameterset.CRS) { //坐标系
  285. _options.CRS = parameterset.CRS;
  286. }
  287. if (parameterset.minimumLevel) { //最小层级
  288. _options.minimumLevel = parameterset.minimumLevel;
  289. }
  290. if (parameterset.maximumLevel) { //最大层级
  291. _options.maximumLevel = parameterset.maximumLevel;
  292. }
  293. }
  294. jt3d.layer.addUrlTemplateImagery(_options, function(serviceId) {
  295. //设置透明度
  296. jt3d.layer.setLayersStyle({
  297. serviceId: serviceId,
  298. alpha: _opacity
  299. });
  300. earthAtRight = window[_serviceId];
  301. earthAtRight.splitDirection = Cesium.SplitDirection.RIGHT;
  302. });
  303. break;
  304. case "WebMapTileServiceImageryProvider": // WMTS地图服务
  305. //设置参数
  306. _options.url = data.datasource;
  307. if (parameterset) {
  308. if (parameterset.layers) { //WMTS请求的层名
  309. _options.layers = parameterset.layers;
  310. if (parameterset.style) { //WMTS请求的样式名
  311. _options.style = parameterset.style;
  312. if (parameterset.tileMatrixSetID) { //用于WMTS请求的TileMatrixSet的标识符
  313. _options.tileMatrixSetID = parameterset.tileMatrixSetID;
  314. if (parameterset.minimumLevel) { //最小层级
  315. _options.minimumLevel = parameterset.minimumLevel;
  316. }
  317. if (parameterset.maximumLevel) { //最大层级
  318. _options.maximumLevel = parameterset.maximumLevel;
  319. }
  320. jt3d.layer.addWebMapTileService(_options, function(serviceId) {
  321. //设置透明度
  322. jt3d.layer.setLayersStyle({
  323. serviceId: serviceId,
  324. alpha: _opacity
  325. });
  326. earthAtRight = window[_serviceId];
  327. earthAtRight.splitDirection = Cesium.SplitDirection.RIGHT;
  328. });
  329. } else {
  330. ElMessage("请检测图层表parameterset字段是否设置tileMatrixSetID");
  331. }
  332. } else {
  333. ElMessage("请检测图层表parameterset字段是否设置style");
  334. }
  335. } else {
  336. ElMessage("请检测图层表parameterset字段是否设置layers");
  337. }
  338. } else {
  339. ElMessage("请检测图层表parameterset字段是否设置layers,style,tileMatrixSetID");
  340. }
  341. break;
  342. case "WebMapServiceImageryProvider": //WMS地图服务
  343. //设置参数
  344. _options.url = data.datasource;
  345. if (parameterset) {
  346. if (parameterset.layers) { //WMTS请求的层名
  347. _options.layers = parameterset.layers;
  348. if (parameterset.minimumLevel) { //最小层级
  349. _options.minimumLevel = parameterset.minimumLevel;
  350. }
  351. if (parameterset.maximumLevel) { //最大层级
  352. _options.maximumLevel = parameterset.maximumLevel;
  353. }
  354. jt3d.layer.addWebMapService(_options, function(serviceId) {
  355. //设置透明度
  356. jt3d.layer.setLayersStyle({
  357. serviceId: serviceId,
  358. alpha: _opacity
  359. });
  360. earthAtRight = window[_serviceId];
  361. earthAtRight.splitDirection = Cesium.SplitDirection.RIGHT;
  362. });
  363. } else {
  364. ElMessage("请检测图层表parameterset字段是否设置layers");
  365. }
  366. } else {
  367. ElMessage("请检测图层表parameterset字段是否设置layers");
  368. }
  369. break;
  370. case "ArcGisMapServerImageryProvider": // ArcGIS Online和Server的相关服务
  371. //设置参数
  372. _options.url = data.datasource;
  373. if (parameterset) {
  374. if (parameterset.layers) {
  375. _options.layers = parameterset.layers;
  376. }
  377. }
  378. //加载服务
  379. jt3d.layer.addArcGisMapServer(_options, function(serviceId) {
  380. //设置透明度
  381. jt3d.layer.setLayersStyle({
  382. serviceId: serviceId,
  383. alpha: _opacity
  384. });
  385. earthAtRight = window[_serviceId];
  386. earthAtRight.splitDirection = Cesium.SplitDirection.RIGHT;
  387. })
  388. break;
  389. case "TileMapServiceImageryProvider": // 2.5维度地图
  390. //设置参数
  391. _options.url = data.datasource;
  392. if (parameterset) {
  393. if (parameterset.minimumLevel) { //最小层级
  394. _options.minimumLevel = parameterset.minimumLevel;
  395. }
  396. if (parameterset.maximumLevel) { //最大层级
  397. _options.maximumLevel = parameterset.maximumLevel;
  398. }
  399. }
  400. jt3d.layer.addTileMapServiceImagery(_options, function(serviceId) {
  401. //设置透明度
  402. jt3d.layer.setLayersStyle({
  403. serviceId: serviceId,
  404. alpha: _opacity
  405. });
  406. earthAtRight = window[_serviceId];
  407. earthAtRight.splitDirection = Cesium.SplitDirection.RIGHT;
  408. });
  409. break;
  410. case "Cesium3DTileset": //加载3DTileset地图服务--实景
  411. let Tiles = [];
  412. let datasource = data.datasource.split("#")
  413. console.log('datasource', datasource)
  414. //加载实景
  415. datasource.forEach((res, index) => {
  416. //设置参数
  417. let _options = {
  418. id: _serviceId + index,
  419. url: res,
  420. }
  421. if (parameterset) {
  422. if (parameterset.height) {
  423. _options.height = parameterset.height;
  424. }
  425. if (parameterset.alpha) {
  426. _options.alpha = parameterset.alpha;
  427. }
  428. }
  429. jt3d.layer.addCesium3DTileset(_options, function(serviceId) {
  430. window[_serviceId + index] = window[serviceId];
  431. window[_serviceId + index].splitDirection = Cesium.SplitDirection.RIGHT;
  432. Tiles.push(window[_serviceId + index]);
  433. });
  434. if (index === (datasource.length - 1)) {
  435. earthAtRight = Tiles;
  436. }
  437. })
  438. break;
  439. case "Cesium3DTileset_BM": //加载3DTileset地图服务--白膜
  440. //设置参数
  441. _options.url = data.datasource;
  442. if (parameterset) {
  443. if (parameterset.color) {
  444. _options.color = parameterset.color;
  445. }
  446. }
  447. //加载白膜
  448. jt3d.layer.addCesium3DTilesetBm(_options, function(serviceId) {
  449. earthAtRight = window[_serviceId];
  450. earthAtRight.splitDirection = Cesium.SplitDirection.RIGHT;
  451. });
  452. break;
  453. default:
  454. break;
  455. }
  456. },
  457. /**
  458. * 卷帘对比初始化
  459. */
  460. initSplitLayer() {
  461. let _self = this;
  462. this.viewer = jt3d._viewer;
  463. let sliderDiv = document.getElementById("image_slider");
  464. if (sliderDiv == null) {
  465. //创建画布
  466. sliderDiv = document.createElement('div');
  467. sliderDiv.id = "image_slider";
  468. sliderDiv.style.position = "absolute";
  469. sliderDiv.style.left = "50%";
  470. sliderDiv.style.top = "70rem";
  471. sliderDiv.style.backgroundColor = "#d3d3d3";
  472. sliderDiv.style.width = "5rem";
  473. sliderDiv.style.height = "calc(100% - 70rem)";
  474. sliderDiv.style.zIndex = "9999";
  475. sliderDiv.onmouseover = function() {
  476. //设置其背景颜色为黄色
  477. this.style.cursor = "ew-resize";
  478. };
  479. /* 加入到页面 */
  480. document.body.appendChild(sliderDiv);
  481. }
  482. // 设置图像拆分位置
  483. viewer.scene.splitPosition = sliderDiv.offsetLeft / sliderDiv.parentElement.offsetWidth; //确定分割点位置,占据父级容器的比例
  484. if (this.handler) {
  485. this.handler.destroy();
  486. this.handler = null;
  487. }
  488. //处理用户输入事件。可以添加自定义功能以在用户输入时执行;参数为任意
  489. this.handler = new Cesium.ScreenSpaceEventHandler(sliderDiv);
  490. var moveActive = false;
  491. // 计算拆分
  492. function move(movement) {
  493. if (!moveActive) {
  494. return;
  495. }
  496. //捕获滑动停止的位置
  497. var relativeOffset = movement.endPosition.x;
  498. var splitPosition = (sliderDiv.offsetLeft + relativeOffset) / sliderDiv.parentElement.offsetWidth;
  499. sliderDiv.style.left = `${100.0 * splitPosition}%`;
  500. viewer.scene.splitPosition = splitPosition;
  501. }
  502. //对分割条的操作
  503. this.handler.setInputAction(function() {
  504. moveActive = true;
  505. }, Cesium.ScreenSpaceEventType.LEFT_DOWN);
  506. this.handler.setInputAction(function() {
  507. moveActive = true;
  508. }, Cesium.ScreenSpaceEventType.PINCH_START);
  509. this.handler.setInputAction(move, Cesium.ScreenSpaceEventType.MOUSE_MOVE);
  510. this.handler.setInputAction(move, Cesium.ScreenSpaceEventType.PINCH_MOVE);
  511. this.handler.setInputAction(function() {
  512. moveActive = false;
  513. }, Cesium.ScreenSpaceEventType.LEFT_UP);
  514. this.handler.setInputAction(function() {
  515. moveActive = false;
  516. }, Cesium.ScreenSpaceEventType.PINCH_END);
  517. _self.handleClickLeft(_self.leftValue);
  518. _self.handleClickRight(_self.rightValue);
  519. },
  520. /**
  521. * 移除卷帘
  522. */
  523. removeSplitLayer() {
  524. let sliderDiv = document.getElementById("image_slider");
  525. if (sliderDiv) {
  526. document.body.removeChild(sliderDiv);
  527. }
  528. this.removeSplitLayerLeft();
  529. this.removeSplitLayerRight();
  530. if (earthAtLeft) {
  531. earthAtLeft.splitDirection = Cesium.SplitDirection.NONE;
  532. }
  533. if (earthAtRight) {
  534. earthAtRight.splitDirection = Cesium.SplitDirection.NONE;
  535. }
  536. },
  537. /**
  538. * 移除左侧图层
  539. */
  540. removeSplitLayerLeft() {
  541. if (earthAtLeft) {
  542. if (earthAtLeft instanceof Cesium.ImageryLayer) {
  543. jt3d._viewer.imageryLayers.remove(earthAtLeft);
  544. }
  545. if (earthAtLeft instanceof Cesium.Cesium3DTileset) {
  546. jt3d._viewer.scene.primitives.remove(earthAtLeft);
  547. }
  548. if (earthAtLeft instanceof Array) {
  549. earthAtLeft.forEach((res, index) => {
  550. jt3d._viewer.scene.primitives.remove(res);
  551. })
  552. }
  553. }
  554. },
  555. /**
  556. * 移除右侧图层
  557. */
  558. removeSplitLayerRight() {
  559. if (earthAtRight) {
  560. if (earthAtRight instanceof Cesium.ImageryLayer) {
  561. jt3d._viewer.imageryLayers.remove(earthAtRight);
  562. }
  563. if (earthAtRight instanceof Cesium.Cesium3DTileset) {
  564. jt3d._viewer.scene.primitives.remove(earthAtRight);
  565. }
  566. if (earthAtRight instanceof Array) {
  567. earthAtRight.forEach((res, index) => {
  568. jt3d._viewer.scene.primitives.remove(res);
  569. })
  570. }
  571. }
  572. },
  573. },
  574. //生命周期 - 创建完成(可以访问当前this实例)
  575. created() {},
  576. //生命周期 - 挂载完成(可以访问DOM元素)
  577. mounted() {
  578. //在这获取图层列表
  579. let _self = this;
  580. //权限查询条件语句
  581. let atlasLayersSqlWhere = undefined;
  582. //获取地图图集id
  583. let roleId = store.roleId
  584. atlasLayersSqlWhere = '"roleId"' + " = " + roleId + " and " + '"atlasType"' + "='图层'"
  585. //Promise回调
  586. function init() {
  587. return new Promise((resolve, reject) => {
  588. _self.initData.forEach((res,index) => {
  589. let num = Number(res.layerorder)
  590. if (num < 10) {
  591. res.layerorder = '0' + res.layerorder
  592. }
  593. res.value = res;
  594. res.label = res.layername;
  595. if (index == 0) {
  596. _self.leftValue = res;
  597. }
  598. if (index == 1) {
  599. _self.rightValue = res;
  600. }
  601. })
  602. _self.leftData = _self.rightData = deepTree(_self.initData)
  603. console.log('图层控制树列表+++', _self.leftData)
  604. resolve(true)
  605. })
  606. }
  607. //获取图集
  608. this.$http.get('/getTableList', {
  609. tableName: 'sys_map_atlas_layers', //表名
  610. sqlWhere: atlasLayersSqlWhere, //查询条件 国土调查
  611. orderByField: '' //排序
  612. }).then(res => {
  613. //初始图层列表
  614. this.initData = res.data
  615. init().then(item => {})
  616. })
  617. },
  618. beforeCreate() {}, //生命周期 - 创建之前
  619. beforeMount() {}, //生命周期 - 挂载之前
  620. beforeUpdate() {}, //生命周期 - 更新之前
  621. updated() {}, //生命周期 - 更新之后
  622. beforeDestroy() {}, //生命周期 - 销毁之前
  623. destroyed() {}, //生命周期 - 销毁完成
  624. activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
  625. };
  626. </script>
  627. <style lang="scss" scoped>
  628. //整体样式
  629. .jt-ImageLayerSplit {
  630. padding: 10rem;
  631. //左侧
  632. ._left {
  633. width: 240rem;
  634. float: left;
  635. }
  636. //右侧
  637. ._right {
  638. width: 240rem;
  639. float: left;
  640. margin-left: 10rem;
  641. }
  642. .el-tree{
  643. width:300rem !important;
  644. }
  645. // .el-popper.is-light,
  646. // .el-dropdown__popper.el-popper {
  647. // background: rgb(255 255 255) !important;
  648. // border: 0 !important;
  649. // }
  650. // .el-select-dropdown {
  651. // background: rgb(255 255 255) !important;
  652. // }
  653. }
  654. </style>