Răsfoiți Sursa

分屏,卷帘

maxiaoxiao 1 an în urmă
părinte
comite
4a3d5f69a5

+ 6 - 4
src/components/Combinations/LayerManage/LayerManage.vue

@@ -263,8 +263,8 @@ export default {
       store.setVectorLayerList(this.vectorlayerlist);
       store.setModelLayerList(this.modellayerlist);
     },
-    //rollerId 卷帘
-    checkedChange(obj, roller) {
+    //type roller 卷帘 split分屏splitId
+    checkedChange(obj, type, splitId) {
       let imageryLayers = viewer.imageryLayers;
       if (obj.checked) {
         obj.trans = 100;
@@ -297,7 +297,7 @@ export default {
             );
             this.layerparams[obj.id] = layer;
             store.setlayerparamsList(this.layerparams);
-            if (roller) this.bus.$emit("setImageryRoller", layer);
+            if (type == "roller") this.bus.$emit("setImageryRoller", layer);
             // viewer.flyTo(layer);
             break;
           case "Vector": //矢量
@@ -310,7 +310,7 @@ export default {
             this.vectorlayerlist.push(obj);
             this.layerparams[obj.id] = layer2;
             store.setlayerparamsList(this.layerparams);
-            if (roller) this.bus.$emit("setImageryRoller", layer2);
+            if (type == "roller") this.bus.$emit("setImageryRoller", layer2);
             // viewer.flyTo(layer2);
             break;
           case "Terrain": //地形
@@ -319,6 +319,8 @@ export default {
           default:
             null;
         }
+        if (type == "split")
+          this.bus.$emit("setImagerySplit", obj, obj.checked, splitId);
       } else {
         for (let i = 0; i < this.addlayerdata.length; i++) {
           if (this.addlayerdata[i].title == obj.title) {

+ 0 - 1
src/components/sceneAtttribute/splitScreen/rollerScreen.vue

@@ -68,7 +68,6 @@ export default {
       this.$set(this.toolTitle, this.toolTitle);
     },
     handleCheckChange(obj, checked, splitId) {
-      console.log(splitId,'splitId')
       if (obj.children && obj.children.length > 0) {
         for (let i = 0; i < obj.children.length; i++) {
           this.handleCheckChange(obj.children[i], checked);

+ 15 - 13
src/components/sceneAtttribute/splitScreen/splitScreen.vue

@@ -71,7 +71,9 @@ export default {
     },
   },
   // inject: ["checkedChange"],
-  mounted() {},
+  mounted() {
+    this.bus.$on("setImagerySplit", this.handleCheckChange);
+  },
   methods: {
     setCheckeds() {
       if (!store.state.checkedData) return;
@@ -127,18 +129,18 @@ export default {
           sceneLayer.setVisibleInViewport(splitId, obj.checked);
           // sceneLayer.setVisibleInViewport(1, obj.checked);
         } else {
-          this.bus.$emit("checkedChange", obj);
-          if (obj.checked) {
-            for (let i = 0; i < this.checkedKeys.length; i++) {
-              if (!this.checkedKeys[i]) {
-                this.checkedKeys[i] = [];
-              }
-              if (i != splitId) {
-                this.checkedKeys[i].push(obj.id);
-              }
-            }
-            this.$set(this.checkedKeys, this.checkedKeys);
-          }
+          this.bus.$emit("checkedChange", obj, "split", splitId);
+          // if (obj.checked) {
+          //   for (let i = 0; i < this.checkedKeys.length; i++) {
+          //     if (!this.checkedKeys[i]) {
+          //       this.checkedKeys[i] = [];
+          //     }
+          //     if (i != splitId) {
+          //       this.checkedKeys[i].push(obj.id);
+          //     }
+          //   }
+          //   this.$set(this.checkedKeys, this.checkedKeys);
+          // }
         }
       }
     },