guoshilong
2023-10-10 4eedfd1624b2700aed0a3cde1a34469b04d08759
Merge remote-tracking branch 'origin/demo' into demo
5 files modified
39 ■■■■■ changed files
src/components/GMap.vue 14 ●●●● patch | view | raw | blame | history
src/components/cesiumMap/cesium.vue 11 ●●●● patch | view | raw | blame | history
src/hooks/use-cesium-tsa.ts 2 ●●●●● patch | view | raw | blame | history
src/pages/page-web/projects/tsa.vue 8 ●●●● patch | view | raw | blame | history
src/utils/common.ts 4 ●●●● patch | view | raw | blame | history
src/components/GMap.vue
@@ -448,7 +448,7 @@
              }}</a-col>
            <a-col span="15">
              <a-select :showArrow="false" v-model:value="aircraSelected" :bordered="false" :options="aircraftList"
                :placeholder="aircraftList.length == 0 || deviceInfo.device?.mode_code == 14 || !deviceInfo.device ? 'N/A' : '请选择'" :disabled="aircraftList.length == 0 ? true : false"
                :placeholder="aircraftList.length == 0 ? 'N/A' : '请选择'" :disabled="aircraftList.length == 0 ? true : false"
                size="small" style="width:100%;background-color: #5d5f61;color: #fff;" @change="selectChange"></a-select>
            </a-col>
          </a-row>
@@ -607,7 +607,7 @@
              </a-tooltip>
            </a-col>
          </a-row> -->
        <!-- <a-row align="middle">
        <a-row align="middle">
          <a-col span="6" class="flex-row flex-align-center flex-justify-start">
            <a-tooltip title="飞行模式">
              <span>
@@ -663,7 +663,7 @@
                deviceInfo.device?.vertical_speed.toFixed(2) + ' m/s' }}</span>
            </a-tooltip>
          </a-col>
        </a-row> -->
        </a-row>
      </div>
      <!-- 飞行控制 -->
      <!-- <div class="fly-control flex-display">
@@ -799,7 +799,7 @@
    const showAircraft = ref(false)
    // 飞机视频列表
    const aircraftList = ref([])
    const aircraSelected = ref('')
    const aircraSelected = ref(undefined)
    const state = reactive({
      currentType: '',
      coverIndex: 0
@@ -1051,7 +1051,7 @@
      })
      // const videoId = deviceInfo.dock.basic_osd?.sub_device?.device_sn + '/' + aircraSelected.value + '/' + 'normal-0'
      aircraftList.value = []
      aircraSelected.value = ''
      aircraSelected.value = undefined
    }
    // 打开机场操作
    const openFlySetting = () => {
@@ -1102,7 +1102,7 @@
      aircraftUrl.value = ''
      showAircraft.value = false
      aircraftList.value = []
      aircraSelected.value = ''
      aircraSelected.value = undefined
      airPortUrl.value = ''
      droneList.value = []
      if (deviceInfo.dock.basic_osd?.mode_code === 2) {
@@ -1444,7 +1444,7 @@
  background: #000;
  color: #fff;
  border-radius: 2px;
  opacity: 0.8;
  // opacity: 0.8;
}
.overflow {
src/components/cesiumMap/cesium.vue
@@ -36,7 +36,7 @@
    </template>
    <div class="layer-icon">
      <div class="layer-btn">
        <div class="img"></div>
        <div class="img" :style="{'background': loadBgImg}"></div>
      </div>
    </div>
  </a-popover>
@@ -49,6 +49,7 @@
import { gaodeSearch } from '/@/api/gaode'
import { SearchOutlined, PlusOutlined, MinusOutlined } from '@ant-design/icons-vue'
import { useMyStore } from '/@/store'
import { requireImg } from '/@/utils/common'
import * as Cesium from 'cesium'
type result = {
  label: string,
@@ -130,6 +131,13 @@
  store.commit('SET_MAP_SETTING_MODE', type)
  patternMap()
}
const loadBgImg = computed(() => {
  if (store.state.common.mapSetting.mode === 0) {
    return `url(${requireImg('icons/stand.png')}) no-repeat center`
  } else {
    return `url(${requireImg('icons/satellite-icon.png')}) no-repeat center`
  }
})
const roadChange = (e:any) => {
  if (mapSetting.value.mode === 0) return
  store.commit('SET_MAP_SETTING_ROAD_LINE', e.target.checked)
@@ -139,7 +147,6 @@
    roadPattern(false)
  }
}
const checked = ref(true)
</script>
<style scoped lang="scss">
src/hooks/use-cesium-tsa.ts
@@ -220,7 +220,6 @@
  // 切换不同背景图层
  const patternMap = () => {
    const imageryLayers = viewer?.scene.imageryLayers
    console.log(imageryLayers, 'imageryLayers')
    // 切换为标准图层
    if (store.state.common.mapSetting.mode === 0) {
      const tdtImg_c = imageryLayers?._layers.find(v => v.imageryProvider._layer === 'tdtImg_c')
@@ -230,7 +229,6 @@
    } else {
      const tdtStand_c = imageryLayers?._layers.find(v => v.imageryProvider.credit.html === 'stand_tc')
      const tdtStand_zj = imageryLayers?._layers.find(v => v.imageryProvider.credit.html === 'stand_zj')
      console.log(tdtStand_c, tdtStand_zj, '===========================')
      viewer?.imageryLayers.remove(tdtStand_c)
      viewer?.imageryLayers.remove(tdtStand_zj)
    }
src/pages/page-web/projects/tsa.vue
@@ -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>
@@ -110,7 +110,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.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 +126,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>
src/utils/common.ts
@@ -10,3 +10,7 @@
  lable.click()
  URL.revokeObjectURL(lable.href)
}
export const requireImg = (imgPath: string) => {
  return new URL(`../assets/${imgPath}`, import.meta.url).href
}