From 2ca94de8ede18ac07ccfd8dec7b6f6a707adde9b Mon Sep 17 00:00:00 2001
From: 张含笑 <zhx18749296735@163.com>
Date: Mon, 01 Sep 2025 11:20:24 +0800
Subject: [PATCH] Merge branch 'refs/heads/feature/v5.0/5.0.5' into patch_management

---
 src/views/device/airport.vue |   89 +++++++++++++++++++++++++-------------------
 1 files changed, 51 insertions(+), 38 deletions(-)

diff --git a/src/views/device/airport.vue b/src/views/device/airport.vue
index b86179e..8ff0905 100644
--- a/src/views/device/airport.vue
+++ b/src/views/device/airport.vue
@@ -51,13 +51,13 @@
         </span>
       </template>
       <template #mode_code="{ row }">
-        <span class="text" v-if="row.domain == 3" :style="row.mode_code != '-1' ? 'color: #00ee8b' : 'color: #de5e5e'">
-          {{ getDockModeText(row.mode_code) }}
+        <span class="text" v-if="row.domain == 3 || row.domain == 0" :style="row.mode_code != '-1' ? 'color: #00ee8b' : 'color: #de5e5e'">
+          {{ getModelText(row.mode_code) }}
         </span>
       </template>
       <template #menu="scope">
         <el-dropdown>
-              <el-button type="primary" text icon="el-icon-paperclip" v-if="permission.oss_set">更 多</el-button>
+              <el-button type="primary" text icon="el-icon-more" v-if="permission.oss_set">更 多</el-button>
               <template #dropdown v-if="scope.row.domain == 3">
                 <el-dropdown-menu teleported>
                   <el-dropdown-item command="a">
@@ -71,10 +71,10 @@
                     v-if="permission.rang_con && scope.row.domain == 3"
                     @click.stop="handleOpenRemoteDebugging(scope.row, scope.index)">远程调试</el-button>
                   </el-dropdown-item>
-                  <el-dropdown-item command="d"><el-button type="primary" text icon="el-icon-setting" v-if="permission.fly_device_offline"
+                  <el-dropdown-item command="d"><el-button type="primary" text icon="el-icon-collection" v-if="permission.fly_device_offline"
                         @click.stop="rollFirmware(scope.row)">固件版本管理</el-button>
                   </el-dropdown-item>
-                  <el-dropdown-item command="e"><el-button type="primary" text icon="el-icon-setting" v-if="permission.fly_device_offline"
+                  <el-dropdown-item command="e"><el-button type="primary" text icon="el-icon-document-delete" v-if="permission.fly_device_offline"
                     @click.stop="handleDeviceOffline(scope.row)">注销</el-button>
                   </el-dropdown-item>
                 </el-dropdown-menu>
@@ -82,10 +82,10 @@
               <template #dropdown v-else>
                 <el-dropdown-menu teleported>
                   <el-dropdown-item command="a">
-                    <el-button type="primary" text icon="el-icon-paperclip" @click.stop="rowDel(scope.row, scope.index)">删除</el-button>
+                    <el-button type="primary" text icon="el-icon-circle-close" @click.stop="rowDel(scope.row, scope.index)">删除</el-button>
                   </el-dropdown-item>
                   <el-dropdown-item command="a">
-                    <el-button type="primary" text icon="el-icon-paperclip" v-if="permission.operate_password_set" @click.stop="handleOperatePassword(scope.row, scope.index)">操控密码设置</el-button>
+                    <el-button type="primary" text icon="el-icon-key" v-if="permission.operate_password_set" @click.stop="handleOperatePassword(scope.row, scope.index)">操控密码设置</el-button>
                   </el-dropdown-item>
                 </el-dropdown-menu>
               </template>
@@ -689,8 +689,9 @@
             editDisplay: false,
             viewDisplay: false,
             labelWidth: 100,
-            searchSpan: 4,
-            search: true,
+            hide: true,
+            // searchSpan: 4,
+            // search: true,
             slot: true,
             width: 100,
 
@@ -712,24 +713,34 @@
             labelWidth: 130,
             width: 110,
           },
-          // {
-          //   label: '设备状态',
-          //   prop: 'mode_code',
-          //   addDisplay: false,
-          //   editDisplay: false,
-          //   viewDisplay: false,
-          //   labelWidth: 130,
-          //   slot: true,
-          //   width: 110,
+          {
+            label: '设备状态',
+            prop: 'mode_code',
+            addDisplay: false,
+            editDisplay: false,
+            viewDisplay: false,
+            labelWidth: 130,
+            searchSpan: 4,
+            search: true,
+            type: 'select',
+            dicData: [
+              { label: '在线', value: 0 },
+              { label: '离线', value: -1 },
+              { label: '远程调试', value: 2 },
+              { label: '现场调试', value: 1 },
+              { label: '固件升级中', value: 3 }
+            ],
+            slot: true,
+            width: 110,
 
-          //   rules: [
-          //     {
-          //       required: true,
-          //       message: '请输入机场状态',
-          //       trigger: 'blur',
-          //     },
-          //   ],
-          // },
+            rules: [
+              {
+                required: true,
+                message: '请输入机场状态',
+                trigger: 'blur',
+              },
+            ],
+          },
         ],
       },
       data: [],
@@ -775,14 +786,24 @@
     })
   },
   mounted() {
-    document.addEventListener("click", this.handleClickOutside);
-  },
-  beforeDestroy() {
-    document.removeEventListener("click", this.handleClickOutside);
+
   },
   methods: {
     getDockModeText (value) {
       return EDockModeText[value] || ''
+    },
+    getModelText (value) {
+      let txt = '离线'
+      if (value === 0 || value === 4) {
+        txt = '在线'
+      } else if(value === 1) {
+        txt = '现场调试'
+      } else if(value === 2) {
+        txt = '远程调试'
+      } else if(value === 3) {
+        txt = '固件升级中'
+      }
+      return txt
     },
     // 关闭所有的webscoket
     closeAllWebsoket () {
@@ -879,14 +900,6 @@
             })
         })
         .catch(() => { })
-    },
-
-    handleClickOutside(event) {
-      // 检查点击是否发生在 .more-container 内
-      const moreContainer = document.querySelector('.more-container');
-      if (moreContainer && moreContainer.contains(event.target)) {
-        return; // 如果点击在容器内,什么都不做
-      }
     },
 
     // 打开存储对象配置页面

--
Gitblit v1.9.3