husq
2023-10-06 e9a27d01836d1d489f0210d4d64838666831b89f
飞机操作栏机场样式修改、去除无人机图标信息
3 files modified
122 ■■■■ changed files
src/components/GMap.vue 97 ●●●● patch | view | raw | blame | history
src/pages/page-web/index.vue 14 ●●●● patch | view | raw | blame | history
src/types/device.ts 11 ●●●● patch | view | raw | blame | history
src/components/GMap.vue
@@ -263,6 +263,58 @@
                </a-tooltip>
              </a-col> -->
          </a-row>
          <a-row>
            <!-- <a-col span="12">
                <a-tooltip title="累计运行时间">
                  <span><HistoryOutlined /></span>
                  <span class="ml5">
                    <span v-if="deviceInfo.dock.work_osd?.acc_time >= 2592000"> {{ Math.floor(deviceInfo.dock.work_osd?.acc_time / 2592000) }}m </span>
                    <span v-if="(deviceInfo.dock.work_osd?.acc_time % 2592000) >= 86400"> {{ Math.floor((deviceInfo.dock.work_osd?.acc_time % 2592000) / 86400) }}d </span>
                    <span v-if="(deviceInfo.dock.work_osd?.acc_time % 2592000 % 86400) >= 3600"> {{ Math.floor((deviceInfo.dock.work_osd?.acc_time % 2592000 % 86400) / 3600) }}h </span>
                    <span v-if="(deviceInfo.dock.work_osd?.acc_time % 2592000 % 86400 % 3600) >= 60"> {{ Math.floor((deviceInfo.dock.work_osd?.acc_time % 2592000 % 86400 % 3600) / 60) }}min </span>
                    <span>{{ Math.floor(deviceInfo.dock.work_osd?.acc_time % 2592000 % 86400 % 3600 % 60) }} s</span>
                  </span>
                </a-tooltip>
              </a-col> -->
            <a-col span="9">
              <a-tooltip title="设备上的无人机">
                <span>
                  <RocketOutlined />
                </span>
                <span class="ml5">{{ DroneInDockEnum[deviceInfo.dock.basic_osd?.drone_in_dock] }}</span>
              </a-tooltip>
            </a-col>
            <a-col span="15" style="width: 100%;">
              <div class="env-box span5 op_btn">
                <a-col span="6">
                  <a-tooltip title="设备湿度">
                    <span>💦</span>
                    <span class="ml5">{{ deviceInfo.dock.basic_osd?.humidity }}</span>
                  </a-tooltip>
                </a-col>
                <a-col span="8">
                  <a-button :class="[showMonitor ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                    size="small" @click="openMonitor">
                    监控
                  </a-button>
                </a-col>
                <a-col span="2"></a-col>
                <a-col span="8">
                  <a-button :class="[showOption ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                    :disabled="dockControlPanelVisible" size="small" @click="openFlySetting">
                    操作
                  </a-button>
                </a-col>
              </div>
            </a-col>
            <!-- <a-col span="12">
                <a-tooltip title="激活时间">
                  <span><FieldTimeOutlined /></span>
                  <span class="ml5">{{ new Date((deviceInfo.dock.work_osd?.activation_time ?? 0) * 1000).toLocaleString() }}
                  </span>
                </a-tooltip>
              </a-col> -->
          </a-row>
          <!-- 注释 -->
          <!-- <a-row>
              <a-col span="6">
@@ -353,19 +405,20 @@
                </a-tooltip>
              </a-col>
            </a-row> -->
          <a-row class="p5" justify="space-between">
          <!-- <a-row class="p5" justify="space-between">
            <a-col span="11">
              <a-button :class="[showMonitor?'active-color':'unactive-color']" class="width-100" type="primary" size="small" @click="openMonitor">
              <a-button :class="[showMonitor ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                size="small" @click="openMonitor">
                监控
              </a-button>
            </a-col>
            <a-col span="11">
              <a-button :class="[showOption?'active-color':'unactive-color']" class="width-100" type="primary" :disabled="dockControlPanelVisible" size="small"
                @click="openFlySetting">
              <a-button :class="[showOption ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                :disabled="dockControlPanelVisible" size="small" @click="openFlySetting">
                操作
              </a-button>
            </a-col>
          </a-row>
          </a-row> -->
          <!-- 机场控制面板 -->
          <DockControlPanel v-if="dockControlPanelVisible" :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo"
            @close-control-panel="closeOperate">
@@ -394,21 +447,28 @@
              {{ !deviceInfo.device ? EModeText[EModeCode.Disconnected] : EModeText[deviceInfo.device?.mode_code]
              }}</a-col>
            <a-col span="15">
              <a-select :showArrow="false" v-model:value="aircraSelected" :bordered="false" :options="aircraftList" :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-select :showArrow="false" v-model:value="aircraSelected" :bordered="false" :options="aircraftList"
                :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>
          <a-row align="middle" justify="center">
            <a-col span="24"> <div v-if="deviceInfo.device?.mode_code == 14 || !deviceInfo.device" style="color:#494949;" class="flex-display flex-justify-center mt5 mb5">当前设备已关机,无法进行直播</div> </a-col>
            <a-col span="24">
              <div v-if="deviceInfo.device?.mode_code == 14 || !deviceInfo.device" style="color:#494949;"
                class="flex-display flex-justify-center mt5 mb5">当前设备已关机,无法进行直播</div>
            </a-col>
          </a-row>
          <a-row class="p5" align="middle" justify="space-between">
            <a-col span="11">
              <a-button :disabled="deviceInfo.device?.mode_code == 14 || !deviceInfo.device?true:false" :class="[showAircraft?'active-color':'unactive-color']" class="width-100" type="primary"  size="small" @click="openAircra">
              <a-button :disabled="deviceInfo.device?.mode_code == 14 || !deviceInfo.device ? true : false"
                :class="[showAircraft ? 'active-color' : 'unactive-color']" class="width-100" type="primary" size="small"
                @click="openAircra">
                飞行控制
              </a-button>
            </a-col>
            <a-col span="11">
              <a-button :class="[openDroneControl?'active-color':'unactive-color']" class="width-100" type="primary"  size="small"
                @click="openDeviceSetting">
              <a-button :class="[openDroneControl ? 'active-color' : 'unactive-color']" class="width-100" type="primary"
                size="small" @click="openDeviceSetting">
                操作
              </a-button>
            </a-col>
@@ -547,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>
@@ -603,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">
@@ -628,7 +688,8 @@
        </div>
      </div>
      <!-- 飞行指令 -->
      <DroneControlPanel v-model="openDroneControl" :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo" :payloads="osdVisible.payloads">
      <DroneControlPanel v-model="openDroneControl" :sn="osdVisible.gateway_sn" :deviceInfo="deviceInfo"
        :payloads="osdVisible.payloads">
      </DroneControlPanel>
    </div>
  </div>
@@ -1394,9 +1455,11 @@
  white-space: nowrap;
  text-overflow: ellipsis;
}
.osd-info {
  margin: 15px 10px;
}
.num {
  padding: 0 5px;
  background-color: #ff9900;
@@ -1409,9 +1472,14 @@
  padding-right: 20px;
}
.op_btn {
  justify-content: space-between;
}
.osd>div:not(.dock-control-panel) {
  margin-top: 5px;
  padding-left: 5px;
  margin-bottom: 5px;
}
.circle {
@@ -1456,5 +1524,4 @@
  position: absolute;
  min-height: 2px;
  border-radius: 2px;
}
</style>
}</style>
src/pages/page-web/index.vue
@@ -1,17 +1,27 @@
<!--
 * @Author: husq 931347610@qq.com
 * @Date: 2023-09-13 18:21:08
 * @LastEditors: husq 931347610@qq.com
 * @LastEditTime: 2023-10-06 13:39:12
 * @FilePath: \Cloud-API-Demo-Web\src\pages\page-web\index.vue
 * @Description:
 *
 * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved.
-->
<template>
  <div class="login flex-column flex-justify-center flex-align-center m0 b0">
    <a-image :preview="false" style="width: 17vw; height: 10vw; margin-bottom: 50px" :src="djiLogo" />
    <p class="fz35 pb50" style="color: #2d8cf0">无人机操作系统</p>
    <a-form layout="inline" :model="formState" class="flex-row flex-justify-center flex-align-center">
      <a-form-item>
        <a-input v-model:value="formState.username" placeholder="Username">
        <a-input v-model:value="formState.username" placeholder="请输入用户名">
          <template #prefix>
            <UserOutlined style="color: rgba(0, 0, 0, 0.25)" />
          </template>
        </a-input>
      </a-form-item>
      <a-form-item>
        <a-input v-model:value="formState.password" type="password" placeholder="Password">
        <a-input v-model:value="formState.password" type="password" placeholder="请输入密码">
          <template #prefix>
            <LockOutlined style="color: rgba(0, 0, 0, 0.25)" />
          </template>
src/types/device.ts
@@ -300,14 +300,15 @@
}
export enum RainfallEnum {
  NONE = 0,
  LIGHT_RAIN = 1,
  MODERATE_RAIN = 2,
  HEAVY_RAIN = 3,
  '正常' = 0,
  '小雨' = 1,
  '中雨' = 2,
  '大雨' = 3,
}
export enum DroneInDockEnum {
  OUTSIDE, INSIDE
  '外部' = 0,
  '内部' = 1
}
export interface DockBasicOsd {