Browse Source

提交修改工具栏回调处理水下地形年份切换

zk 1 year ago
parent
commit
afe2c02963

+ 12 - 0
src/utils/map/Layer.js

@@ -122,6 +122,18 @@ export function addLayerByName(name,isShow){
                 is_goto: true
             })
             break
+        case '2023.1':
+            addLayer({
+                id: 'dbsLayer',
+                title: 'dbsLayer',
+                type: 'scene',
+                url: 'https://geoscene.geosceneonline.cn/server/rest/services/Hosted/多波束/SceneServer',
+                visible: isShow,
+                opacity: 1,
+                token: '',
+                is_goto: true
+            })
+            break
         case '2022.1':
             addLayer({
                 id: 'deepthLayer202201',

+ 2 - 0
src/views/home/Header.vue

@@ -143,6 +143,8 @@ export default {
             togglePageAside()
           }else
           {
+            bus.emit('toggle_sxdx', false)
+            bus.emit('hiddenWater')
             closeAllLayer()
           }
 

+ 32 - 13
src/views/home/cpns/UnderWater.vue

@@ -17,8 +17,7 @@
           v-for="item,index in sxdxData.value.slice((page-1)*4, (page-1)*4+4)"
           :class="{'highlight': sxdxCurrent.slice(0,4)==item.year, 'disable': !(item.usable1||item.usable2)}"
           class="sxdx-item"
-          @click="handleChooseSxdx(item,'.1')"
-        >
+          @click="handleChooseSxdx(item,'.1')">
           <span>{{ item.year }}</span>
           <div>
             <span :class="{'highlight': sxdxCurrent.slice(5)==1,'disable': !item.usable1 }" @click.stop="handleChooseSxdx(item,'.1')">上半年</span>
@@ -45,7 +44,7 @@ import { useNow, useDateFormat } from '@vueuse/core'
 import { ueCallCloseWater, ueCallOpenWater, ueCallChangeShuishen, ueCallFlyToSXDX, ueCallFlyToSXDXNew, ueCallFlyToSXDXStretch, ueCallChangeTime, ueCallGetNowTime } from '@/utils/UIInteractions'
 import bus from '@/utils/bus'
 
-
+import {addLayerByName} from '@/utils/map/Layer'
 onMounted(() => {
   bus.emit('toggleUnderWaterLegend',{from: 'show_sxdx', state: true})
   initSxdxData()
@@ -71,9 +70,9 @@ function initSxdxData() {
   for(let i=Number(currentYear); i>=2020; i--) {
     let usable1 = true
     let usable2 = true
-    if(i===2023) {
-      usable2 = false
-    }
+    // if(i===2023) {
+    //   usable2 = false
+    // }
     sxdxData.value.push({
       year: i,
       usable1,
@@ -97,21 +96,41 @@ function handleSxdxScroll(type) {
 }
 
 function handleChooseSxdx(i, type) {
+  addLayerByName('sxdx',false)
   if(type==='.1'&&i.usable1) {
     sxdxCurrent.value = i.year+'.1'
-    ueCallChangeShuishen(sxdxCurrent.value, currentType.value)
+    // addLayerByName(sxdxCurrent.value,true)
+    // ueCallChangeShuishen(sxdxCurrent.value, currentType.value)
   }
   if(type==='.2'&&i.usable2) {
     sxdxCurrent.value = i.year+'.2'
-    ueCallChangeShuishen(sxdxCurrent.value, currentType.value)
-  }
-  if(i.year===2022&&type==='.2') {
-    bus.emit('changeYuJiNum', 1)
-  }else {
-    bus.emit('changeYuJiNum', 0)
+    // ueCallChangeShuishen(sxdxCurrent.value, currentType.value)
   }
+  // if(i.year===2022&&type==='.2') {
+  //   // bus.emit('changeYuJiNum', 1)
+  // }else {
+  //   // bus.emit('changeYuJiNum', 0)
+  // }
+
+  sxdxData.value.forEach(j=>{
+    addLayerByName(j.year+'.1',false)
+    addLayerByName(j.year+'.2',false)
+  })
+
+  addLayerByName(sxdxCurrent.value,true)
+
+
 }
 
+
+bus.on('hiddenWater', () => {
+  sxdxData.value.forEach(i=>{
+    addLayerByName(i.year+'.1',false)
+    addLayerByName(i.year+'.2',false)
+  })
+})
+
+
 const sxdxData = reactive({value: []})
 
 const currentView = ref('up')

+ 10 - 1
src/views/home/cpns/tools/Tools.vue

@@ -55,14 +55,23 @@ onBeforeUnmount(() => {
         {
         item.click=false
             if (item.indexName=='cb'){
-                setBoat(false)}
+                setBoat(false)
+            }
             addLayerByName(item.indexName,false)
+            if (item.indexName=='sxdx'){
+            // 操作水下地形
+            bus.emit('toggle_sxdx', false)
+            bus.emit('hiddenWater')
+            }
         }
         else {
             item.click=true
             if (item.indexName=='cb'){
             setBoat(true)
             }
+            if (item.indexName=='sxdx'){
+                bus.emit('toggle_sxdx', true)
+            }
             addLayerByName(item.indexName,true)
         }
     }