From a7e6761ba0cfccdf33ed552eb2d3b783c8e4ab4a Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Wed, 16 Apr 2025 20:49:12 +0800
Subject: [PATCH] feat:事件弹窗显示调整

---
 src/views/SignMachineNest/MachineRight/MachineStatus/MachineStatus.vue |   44 +++++++++++++++++++++++++++++---------------
 1 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/src/views/SignMachineNest/MachineRight/MachineStatus/MachineStatus.vue b/src/views/SignMachineNest/MachineRight/MachineStatus/MachineStatus.vue
index eae7efb..624d3cd 100644
--- a/src/views/SignMachineNest/MachineRight/MachineStatus/MachineStatus.vue
+++ b/src/views/SignMachineNest/MachineRight/MachineStatus/MachineStatus.vue
@@ -6,13 +6,16 @@
       <div class="info">
         <img src="../../../../assets/images/signMachineNest/machineRight/wrj.png" alt="">
         <div class="info-right">
-          <div class="name">{{ osdVisible?.callsign || '--' }}</div>
+          <!-- <div class="name">{{ osdVisible?.callsign || '--' }}</div> -->
+          <div class="name">{{ singleUavHome?.nickname || '--' }}</div>
           <div class="wz">
             <span class="left">当前位置:</span>
             <span class="right">{{ detailInfo.longitude }},{{ detailInfo.latitude }}</span>
           </div>
           <div class="close-wb">
-            <div class="close">{{ AircraftStatus ? AircraftStatus : '舱内关机' }}</div>
+            <div class="close" :class="AircraftStatus == undefined ? '' : 'other'">
+              {{ AircraftStatus == undefined ? '舱内关机' : AircraftStatus }}
+            </div>
             <!-- <div class="wb">需要维保</div> -->
           </div>
         </div>
@@ -79,7 +82,8 @@
 
 const store = useStore();
 // 获取机巢信息
-let osdVisible = computed(() => store.state.home.osdVisible);
+let osdVisible = ref({});//computed(() => store.state.home.osdVisible);
+const singleUavHome = computed(() => store.state.home.singleUavHome);
 // 单个机巢统计数据
 const singleTotal = computed(() => store.state.home.singleTotal);
 // 是否展示机机巢状态详情
@@ -135,17 +139,20 @@
 });
 let mode_code = ref('已断开连接');
 
+watch(() => store.state.home.osdVisible, (newValue) => {
+  osdVisible.value = newValue;
+});
+
 // 监听实时信息
 watch(
   () => store.state.home.wsMessage,
   (newValue) => {
     if (newValue.mode_code === 14) return
     if (Object.keys(newValue).length === 0) return
-    // console.log(newValue, '顶顶顶111')
     detailInfo.value.longitude = newValue?.longitude.toFixed(6) || '--';
 		detailInfo.value.latitude = newValue?.latitude.toFixed(6) || '--';
-    getLnglatAltitude(Number(detailInfo.value.longitude), Number(detailInfo.value.latitude)).then((res) => {
-      console.log(res, '顶顶顶')
+    console.log(window.$viewer)
+    getLnglatAltitude(Number(detailInfo.value.longitude), Number(detailInfo.value.latitude),window.$viewer).then((res) => {
       const height = newValue?.height - res?.height;
       //针对西安实时高度进行降低
       const wId = localStorage.getItem('bs_workspace_id');
@@ -165,10 +172,9 @@
 );
 // 获取最新机场状态
 watch(store.state.home.deviceState, (newValue) => {
-    // if (data.currentSn !== osdVisible.gateway_sn) return;
-    if (newValue.currentType === EDeviceTypeName.Dock && newValue.dockInfo[newValue.currentSn]) {
+    if (newValue.currentType === EDeviceTypeName.Dock && newValue?.dockInfo[newValue.currentSn]) {
       // 机场状态
-      mode_code.value = EDockModeText[newValue.dockInfo[newValue.currentSn]?.basic_osd?.mode_code];
+      mode_code.value = EDockModeText[newValue?.dockInfo[newValue.currentSn]?.basic_osd?.mode_code];
       // this.$emit('updateModeCode', mode_code.value);
       // 舱内状态
       AircraftStatus.value =
@@ -178,7 +184,7 @@
           ]?.mode_code
         ];
       // 舱内关机时显示的电量
-      let child_sn = newValue.dockInfo[newValue.currentSn].basic_osd.sub_device.device_sn;
+      let child_sn = newValue?.dockInfo[newValue.currentSn].basic_osd.sub_device?.device_sn;
       // 飞机在线时取飞机中的电量
       if(newValue.deviceInfo[child_sn]) {
         drone_charge_state.value = {
@@ -191,21 +197,21 @@
           drone_charge_state.value = newValue.drone_charge_state_new;
         }
       }
-      if (osdVisible.visible && osdVisible.is_dock && osdVisible.gateway_sn !== '') {
-        deviceInfo.value.dock = newValue.dockInfo[osdVisible.gateway_sn];
+      if (osdVisible.value.visible && osdVisible.value.is_dock && osdVisible.value.gateway_sn !== '') {
+        deviceInfo.value.dock = newValue.dockInfo[osdVisible.value.gateway_sn];
         deviceInfo.value.device =
         newValue.deviceInfo[deviceInfo.value.dock.basic_osd?.sub_device?.device_sn ??
-            osdVisible.sn
+        osdVisible.value.sn
           ];
         // 设备关机即不显示信息
         // 兼容遥控器 关闭无人机 mode_code返回的是14 不是undefined
         if (
           newValue.deviceInfo[
             deviceInfo.value.dock.basic_osd?.sub_device?.device_sn ??
-            osdVisible.sn
+            osdVisible.value.sn
           ]?.mode_code === undefined || newValue.deviceInfo[
             deviceInfo.value.dock.basic_osd?.sub_device?.device_sn ??
-            osdVisible.sn
+            osdVisible.value  .sn
           ]?.mode_code == 14
         ) {
           detailInfo.value = {
@@ -296,6 +302,9 @@
           font-size: 24px;
           color: #0BE5F5;
           line-height: 28px;
+          overflow: hidden;          // 添加溢出隐藏
+          text-overflow: ellipsis;   // 显示省略号
+          white-space: nowrap;       // 不换行
         }
         .wz {
           font-family: Source Han Sans CN, Source Han Sans CN;
@@ -322,12 +331,17 @@
           .close {
             width: 60px;
             height: 20px;
+            line-height: 20px;
             background: rgba(255,178,106,0.2);
             border-radius: 4px 4px 4px 4px;
             border: 1px solid #FFB26A;
             color: #FFB26A;
             margin-right: 10px;
           }
+          .other {
+            border: 1px solid #8EFFAC;
+            color: #8EFFAC;
+          }
           .wb {
             width: 60px;
             height: 20px;

--
Gitblit v1.9.3