guoshilong
2023-10-13 744f3b89a2ed8832f669f322ace820d65cba33fc
src/pages/page-web/projects/tsa.vue
@@ -3,8 +3,8 @@
    <div>
      <a-row>
        <a-col :span="1"></a-col>
        <a-col :span="11">我的项目呼号</a-col>
        <a-col :span="11" align="right" style="font-weight: 700">{{ username }}</a-col>
        <a-col :span="11">项目名称</a-col>
        <a-col :span="11" align="right" style="font-weight: 700">{{ projectName }}</a-col>
        <a-col :span="1"></a-col>
      </a-row>
    </div>
@@ -46,7 +46,7 @@
                        }}
                      </div>
                    </div>
                    <div class="mr5 flex-align-center flex-row" style="width: 85px; margin-right: 0; height: 18px;">
                    <div class="mr5 flex-align-center flex-row" style="width: 125px; margin-right: 0; height: 18px;">
                      <div v-if="hmsInfo[dock.gateway.sn]" class="flex-align-center flex-row">
                        <div :class="hmsInfo[dock.gateway.sn][0].level === EHmsLevel.CAUTION ? 'caution-blink' :
                          hmsInfo[dock.gateway.sn][0].level === EHmsLevel.WARN ? 'warn-blink' : 'notice-blink'"
@@ -62,7 +62,7 @@
                                   :overlayStyle="{ width: '200px', height: '300px' }">
                          <div :class="hmsInfo[dock.gateway.sn][0].level === EHmsLevel.CAUTION ? 'caution' :
                            hmsInfo[dock.gateway.sn][0].level === EHmsLevel.WARN ? 'warn' : 'notice'"
                               style="margin-left: 3px; width: 62px; height: 16px;">
                               style="margin-left: 3px; width: 107px; height: 16px;">
                            <span class="word-loop">{{ hmsInfo[dock.gateway.sn][0].message_zh }}</span>
                          </div>
                          <template #content>
@@ -93,9 +93,10 @@
                          </template>
                        </a-popover>
                      </div>
                      <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)"></div>
                      <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)">N/A</div>
                    </div>
                  </div>
                  <!-- // 机场是否启动 -->
                  <div class="mt5 flex-align-center flex-row flex-justify-between" style="background: #595959;">
                    <div class="flex-row">
@@ -103,14 +104,14 @@
                        <RocketOutlined/>
                      </span>
                      <div class="font-bold text-hidden" style="max-width: 80px"
                           :style="deviceInfo[dock.sn] && deviceInfo[dock.sn].mode_code !== EModeCode.Disconnected ? 'color: #00ee8b' : 'color: red;'">
                           :style="deviceInfo[dock.sn] && deviceInfo[dock.sn].mode_code !== EModeCode.Disconnected || dockInfo[dock.gateway.sn].basic_osd?.drone_in_dock === 1 ? 'color: #00ee8b' : 'color: red;'">
                        {{
                          deviceInfo[dock.sn] ? EModeText[deviceInfo[dock.sn].mode_code] :
                              EModeText[EModeCode.Disconnected]
                          dockInfo[dock.gateway.sn].basic_osd?.drone_in_dock === 1 ? '舱内关机' : EModeText[EModeCode.Disconnected]
                        }}
                      </div>
                    </div>
                    <div class="mr5 flex-align-center flex-row" style="width: 85px; margin-right: 0; height: 18px;">
                    <div class="mr5 flex-align-center flex-row" style="width: 125px; margin-right: 0; height: 18px;">
                      <div v-if="hmsInfo[dock.sn]" class="flex-align-center flex-row">
                        <div :class="hmsInfo[dock.sn][0].level === EHmsLevel.CAUTION ? 'caution-blink' :
                          hmsInfo[dock.sn][0].level === EHmsLevel.WARN ? 'warn-blink' : 'notice-blink'"
@@ -126,7 +127,7 @@
                                   :overlayStyle="{ width: '200px', height: '300px' }">
                          <div :class="hmsInfo[dock.sn][0].level === EHmsLevel.CAUTION ? 'caution' :
                            hmsInfo[dock.sn][0].level === EHmsLevel.WARN ? 'warn' : 'notice'"
                               style="margin-left: 3px; width: 62px; height: 16px;">
                               style="margin-left: 3px; width: 107px; height: 16px;">
                            <span class="word-loop">{{ hmsInfo[dock.sn][0].message_zh }}</span>
                          </div>
                          <template #content>
@@ -156,7 +157,7 @@
                          </template>
                        </a-popover>
                      </div>
                      <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)"></div>
                      <div v-else class="width-100" style="height: 90%; background: rgba(0, 0, 0, 0.35)">N/A</div>
                    </div>
                  </div>
                </div>
@@ -282,7 +283,6 @@
const { appContext } = getCurrentInstance()
const global = appContext.config.globalProperties
const route = useRoute()
// const simpleImage = Empty.PRESENTED_IMAGE_SIMPLE
const store = useMyStore()
const username = ref(localStorage.getItem(ELocalStorageKey.Username))
@@ -300,6 +300,7 @@
const deviceInfo = computed(() => store.state.deviceState.deviceInfo)
const dockInfo = computed(() => store.state.deviceState.dockInfo)
const projectName = computed(() => store.state.common.projectName)
const workSpaceId = computed(() => store.state.common.projectId)
const hmsInfo = computed({
  get: () => store.state.hmsInfo,
@@ -322,9 +323,9 @@
}
// 获取ws连接过来的sn设备号
const snCode = ref<string[]>([])
const cesium = cesiumOperation()
// 添加机场标注
watch(() => store.state.deviceState, data => {
  const cesium = cesiumOperation(global.$viewer)
  if (snCode.value.includes(data.currentSn)) return
  snCode.value.push(data.currentSn)
  // cesium.removeAllPoint()