From bab3c509ded84f1caa3d8e79a65b7113db8913df Mon Sep 17 00:00:00 2001
From: Surpriseplus <845948745@qq.com>
Date: 星期五, 24 三月 2023 16:04:47 +0800
Subject: [PATCH] 一张图图层控制修改,发布管理添加表格双击复制功能,发布管理页面模型附件管理页面修改,在线制图修改

---
 src/views/Tools/LayerTree.vue |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/src/views/Tools/LayerTree.vue b/src/views/Tools/LayerTree.vue
index a2c2a58..84e312d 100644
--- a/src/views/Tools/LayerTree.vue
+++ b/src/views/Tools/LayerTree.vue
@@ -822,6 +822,7 @@
         } else {
           url = modelUrl + "/" + res.url
         }
+
         var tileset = Viewer.scene.primitives.add(
           new Cesium.Cesium3DTileset({
             name: res.cnName,
@@ -832,11 +833,13 @@
             skipLevelOfDetail: true, // 鍦ㄩ亶鍘嗘椂鍊欒烦杩囪鎯咃細false
           })
         );
+
         tileset.readyPromise.then((tileset) => {
           tileset.id = res.cnName;
           tileset.layerId = res.id;
-          this.tileSet(tileset, parseFloat(res.elev))
-          Viewer.flyTo(tileset);
+          this.getTilesetArgs(tileset, res);
+          // 
+
         });
         window.model = tileset
       } else if (res.serveType == "TMS") {
@@ -877,6 +880,23 @@
       }
 
     },
+    async getTilesetArgs(tileset, res) {
+      if (res.pubid > 0) {
+        const data = await comprehensive_selectPubById({ id: res.pubid })
+        if (data.code != 200) {
+
+        } else {
+          this.reload(tileset, data.result.json)
+        }
+      } else {
+        this.tileSet(tileset, parseFloat(res.elev))
+
+      }
+
+
+
+
+    },
     async setQueryPubid(res) {
       const data = await comprehensive_selectPubById({ id: res.pubid })
       if (data.code != 200) {
@@ -903,7 +923,15 @@
         this.setChangeWMS();
       }
     },
-
+    reload(tileset, res) {
+      var vm = JSON.parse(res)
+      var pos = Cesium.Cartesian3.fromDegrees(vm.lon, vm.lat, vm.height);
+      var converter = Cesium.Transforms.eastNorthUpToFixedFrame;
+      var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(vm.yaw), 0, 0);
+      var matrix = Cesium.Transforms.headingPitchRollToFixedFrame(pos, hpr, Cesium.Ellipsoid.WGS84, converter);
+      tileset._root.transform = matrix;
+      Viewer.flyTo(tileset);
+    },
     tileSet(tileset, height) {
       //3dtile妯″瀷鐨勮竟鐣岀悆浣�
       var boundingSphere = tileset.boundingSphere;
@@ -916,6 +944,7 @@
       var translation = Cesium.Cartesian3.subtract(Cartesian3_offset, Cartesian3_original, new Cesium.Cartesian3());
       //淇敼妯″瀷鐭╅樀
       tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
+      Viewer.flyTo(tileset);
     },
     setTreeData(source) {
       let cloneData = JSON.parse(JSON.stringify(source)); // 瀵规簮鏁版嵁娣卞害鍏嬮殕

--
Gitblit v1.9.3