husq
2023-09-23 f50edd315709a7d2e0d925d8ee1fd85ad29473d9
机场面板切换关闭功能完善
3 files modified
57 ■■■■■ changed files
src/components/GMap.vue 55 ●●●● patch | view | raw | blame | history
src/components/g-map/use-dock-control.ts 1 ●●●● patch | view | raw | blame | history
src/pages/page-web/projects/project_list/index.vue 1 ●●●● patch | view | raw | blame | history
src/components/GMap.vue
@@ -367,7 +367,7 @@
          </a-row>
          <!-- 机场控制面板 -->
          <DockControlPanel v-if="dockControlPanelVisible" :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo"
            @close-control-panel="onCloseControlPanel">
            @close-control-panel="closeOperate">
          </DockControlPanel>
        </div>
      </div>
@@ -777,12 +777,7 @@
    const drawVisible = computed(() => {
      return store.state.drawVisible
    })
    const osdVisible = computed({
      get: () => {
        return store.state.osdVisible
      },
      set: (val) => val
    })
    const osdVisible = computed(() => JSON.parse(JSON.stringify(store.state.osdVisible)))
    const sn = computed(() => {
      return store.state.hmsInfoDetailSn
    })
@@ -817,7 +812,6 @@
      videoList.value = []
      droneIndex.value = 0
      cameraIndex.value = 0
      console.log(deviceInfo, 'deviceInfo', sn.value)
      await getLiveCapacity({ id: store.state.common.projectId })
        .then(res => {
          if (res.code === 0) {
@@ -986,19 +980,6 @@
        deep: true
      }
    )
    watch(() => store.state.osdVisible, data => {
      if (data) {
        showMonitor.value = false
        aircraftUrl.value = ''
        showAircraft.value = false
        aircraftList.value = []
        aircraSelected.value = ''
        airPortUrl.value = ''
        droneList.value = []
      }
    }, {
      deep: true
    })
    watch(() => store.state.deviceState, data => {
      if (data.currentType === EDeviceTypeName.Gateway && data.gatewayInfo[data.currentSn]) {
        if (osdVisible.value.visible && osdVisible.value.gateway_sn !== '') {
@@ -1017,9 +998,24 @@
        }
      }
    }, {
      deep: true
      deep: true,
    })
    watch(() => osdVisible.value, (data, oldData) => {
      showMonitor.value = false
      aircraftUrl.value = ''
      showAircraft.value = false
      aircraftList.value = []
      aircraSelected.value = ''
      airPortUrl.value = ''
      droneList.value = []
      if (deviceInfo.dock.basic_osd?.mode_code === 2) {
        onCloseControlPanel(oldData.gateway_sn)
      } else {
        setDockControlPanelVisible(false)
      }
    }, {
      deep: true,
    })
    watch(
      () => store.state.wsEvent,
      newData => {
@@ -1086,7 +1082,14 @@
      setDockControlPanelVisible,
      onCloseControlPanel,
    } = useDockControl()
    // 关闭设备控制方法
    const closeOperate = (sn:string) => {
      if (deviceInfo.dock.basic_osd?.mode_code === 2) {
        onCloseControlPanel(sn)
      } else {
        setDockControlPanelVisible(false)
      }
    }
    // 连接或断开drc
    useConnectMqtt()
@@ -1284,6 +1287,7 @@
      aircraftList,
      aircraSelected,
      selectChange,
      closeOperate,
    }
  }
})
@@ -1410,4 +1414,5 @@
  position: absolute;
  min-height: 2px;
  border-radius: 2px;
}</style>
}
</style>
src/components/g-map/use-dock-control.ts
@@ -46,6 +46,7 @@
  // 控制面板关闭
  async function onCloseControlPanel (sn: string) {
    console.log(dockControlPanelVisible.value, 'value')
    await dockDebugOnOff(sn, false)
    setDockControlPanelVisible(false)
  }
src/pages/page-web/projects/project_list/index.vue
@@ -14,6 +14,7 @@
            <div class="task-wrapper" v-if="root.$route.name === ERouterName.TASK">
                <TaskPanel />
            </div>
            <div class="device-wrapper" v-if="root.$route.name === ERouterName.DEVICES"></div>
        </div>
    </div>
</template>