husq
2023-09-27 2c2bc8614c8ea0ce386369eb4924da1e6aa052d1
src/pages/page-web/projects/workspace.vue
@@ -2,37 +2,25 @@
  <div class="project-app-wrapper">
    <div class="left">
      <Sidebar />
      <div class="main-content uranus-scrollbar dark">
      <div class="main-content uranus-scrollbar dark" v-if="!isHidden">
        <router-view />
      </div>
    </div>
    <div class="right">
      <div class="map-wrapper">
        <GMap />
      </div>
      <div class="media-wrapper" v-if="root.$route.name === ERouterName.MEDIA">
        <MediaPanel />
      </div>
      <div class="task-wrapper" v-if="root.$route.name === ERouterName.TASK">
        <TaskPanel />
      </div>
    </div>
  </div>
</template>
<script lang="ts" setup>
import Sidebar from '/@/components/common/sidebar.vue'
import MediaPanel from '/@/components/MediaPanel.vue'
import TaskPanel from '/@/components/task/TaskPanel.vue'
import GMap from '/@/components/GMap.vue'
import { EBizCode, ERouterName } from '/@/types'
import { EBizCode, ELocalStorageKey, ERouterName } from '/@/types'
import { getRoot } from '/@/root'
import { useMyStore } from '/@/store'
import { useConnectWebSocket } from '/@/hooks/use-connect-websocket'
import { getWebsocketUrl } from '/@/websocket/util/config'
import EventBus from '/@/event-bus'
const root = getRoot()
const store = useMyStore()
const workspace_id = computed(() => store.state.common.projectId || localStorage.getItem(ELocalStorageKey.WorkspaceId))
const messageHandler = async (payload: any) => {
  if (!payload) {
    return
@@ -48,7 +36,10 @@
      break
    }
    case EBizCode.DockOsd: {
      // if (payload.data.sn === workspace_id.value) {
      store.commit('SET_DOCK_INFO', payload.data)
      // console.log(payload.data, 'data')
      // }
      break
    }
    case EBizCode.MapElementCreate: {
@@ -100,13 +91,27 @@
      })
      break
    }
    case EBizCode.ControlSourceChange:
    case EBizCode.FlyToPointProgress:
    case EBizCode.TakeoffToPointProgress:
    case EBizCode.JoystickInvalidNotify:
    case EBizCode.DrcStatusNotify:
    {
      EventBus.emit('droneControlWs', payload)
      break
    }
    default:
      break
  }
}
const route = useRoute()
const isHidden = computed(() => {
  const flag = !!route.meta?.hidden
  return flag
})
const webSorketUrl = getWebsocketUrl() + '&workspace-id=' + workspace_id.value
// 监听ws 消息
useConnectWebSocket(messageHandler)
useConnectWebSocket(messageHandler, webSorketUrl)
</script>
<style lang="scss" scoped>
@@ -120,13 +125,15 @@
  .left {
    display: flex;
    width: 335px;
    flex: 0 0 335px;
    // width: 335px;
    flex: 1;
    // flex: 0 0 335px;
    background-color: #232323;
    .main-content {
      flex: 1;
      color: $text-white-basic;
      color: $text-white-basic !important;
      width: 285px;
    }
  }
@@ -134,7 +141,7 @@
    flex-grow: 1;
    position: relative;
    .map-wrapper{
    .map-wrapper {
      width: 100%;
      height: 100%;
    }