| 
					
				 | 
			
			
				@@ -0,0 +1,193 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div id="screenDiv" style="position: absolute; height: 100%; width: 100%"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      v-for="(k, i) in layers" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :key="k" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      class="splitScreen" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      :class="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        w50: type == 1 || type == 2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        h50: type == -1 || type == -2, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <li 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        class="sm-btn sm-tool-btn" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        title="资源目录" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @click="$set(layers, i, !layers[i])" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <span class="iconfont icontuceng"></span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </li> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <layer-manage-split 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ref="splitManage" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type="roller" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :splitId="k" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :isshow="layers[i]" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        :checkedKeys="checkedKeys[i]" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @close="$set(layers, i, false)" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        @handleCheckChange="handleCheckChange" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ></layer-manage-split> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <input v-model="toolTitle[i]" type="text" class="sm-toolTitle" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export default { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  name: "rollerScreen", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      layers: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      checkedKeys: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      toolTitle: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  computed: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      return store.state.rollerType; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  watch: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    type() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.layers = Array(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.checkedKeys = Array(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.toolTitle = Array(2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.setCheckeds(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // inject: ["checkedChange"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mounted() {}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  methods: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setCheckeds() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (!store.state.checkedData) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      for (let i = 0; i < this.checkedKeys.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.checkedKeys[i] = [store.state.checkedData.id]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        this.toolTitle[i] = [store.state.checkedData.title]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$set(this.checkedKeys, this.checkedKeys); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.$set(this.toolTitle, this.toolTitle); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    handleCheckChange(obj, checked, splitId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (obj.children && obj.children.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i = 0; i < obj.children.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.handleCheckChange(obj.children[i], checked); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          store.setCheckedData(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.$set(this.toolTitle, splitId - 1, obj.title); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        let sceneLayer = store.state.layerparamslist[obj.id]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (sceneLayer) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          this.setImageryRollerMode([sceneLayer]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 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 - 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                this.checkedKeys[i].push(obj.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            this.$set(this.checkedKeys, this.checkedKeys); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    setImageryRollerMode(imageryLayers) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // let imageryLayers = viewer.imageryLayers; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (this.imageryRoller) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i = 0; i < imageryLayers.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // let imageryLayer =imageryLayers[i] //imageryLayers.get(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          switch (rollerShutterConfig.splitDirection) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case Cesium.SplitDirection.LEFT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              imageryLayer.splitDirection = new Cesium.Cartesian2( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.RIGHT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.NONE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case Cesium.SplitDirection.RIGHT: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              imageryLayer.splitDirection = new Cesium.Cartesian2( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.LEFT, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.NONE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case Cesium.SplitDirection.TOP: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              imageryLayer.splitDirection = new Cesium.Cartesian2( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.NONE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.BOTTOM 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            case Cesium.SplitDirection.BOTTOM: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              imageryLayer.splitDirection = new Cesium.Cartesian2( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.NONE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.TOP 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              imageryLayer.splitDirection = new Cesium.Cartesian2( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.NONE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Cesium.ImagerySplitDirection.NONE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (let i = 0; i < imageryLayers.length; i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let imageryLayer = imageryLayers.get(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          imageryLayer.splitDirection = new Cesium.Cartesian2( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Cesium.ImagerySplitDirection.NONE, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Cesium.ImagerySplitDirection.NONE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+<style lang="scss" > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.splitScreen { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  float: left; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .sm-btn { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    top: 60px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background-color: transparent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // font-size: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    z-index: 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .sm-panel { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    max-width: 300px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    height: 400px; //75%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    max-height: 80%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    top: 60px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    left: 50px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.w50 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 50%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.h50 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: 50%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+.sm-toolTitle { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  width: 400px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // height: 80px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  top: 100px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  left: calc(50% - 300px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  z-index: 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  font-size: 24px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  color: aqua; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: transparent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  border-color: transparent; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 |