From fe76e1bd309372a8ebd419284596db83292d429c Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Fri, 26 Sep 2025 12:48:02 +0800
Subject: [PATCH] feat:更新日志功能和修改功能

---
 src/views/device/airport.vue |  112 ++++++++++++++++++++++----------------------------------
 1 files changed, 44 insertions(+), 68 deletions(-)

diff --git a/src/views/device/airport.vue b/src/views/device/airport.vue
index 79db3c0..851b4c5 100644
--- a/src/views/device/airport.vue
+++ b/src/views/device/airport.vue
@@ -10,7 +10,8 @@
         </el-button>
       </template>
       <template #dept_name="{ row }">
-        <el-tag>{{ row.dept_name }}</el-tag>
+        <el-tag v-if="row.dept_name">{{ row.dept_name }}</el-tag>
+        <span v-else>/</span>
       </template>
       <template #status="{ row }">
         <div v-if="row.status == true" class="onlineStatus">
@@ -200,6 +201,7 @@
 
 <script>
 import { ElMessage, ElMessageBox } from 'element-plus'
+import { getRegionTreeAll } from '@/api/job/task';
 import { pxToRem } from '@/utils/rem'
 import {
   getList,
@@ -232,6 +234,8 @@
     DockControlPanel,
   },
   data () {
+    // const self = this
+
     const validatePass = (rule, value, callback) => {
       if (value === '') {
         callback(new Error('请输入密码'))
@@ -390,7 +394,8 @@
           {
             label: '设备位置',
             prop: 'area_code',
-            type: 'cascader',
+            // type: 'cascader',
+            type: 'tree',
             labelWidth: 145,
             searchSpan: 4,
             hide: true,
@@ -399,15 +404,13 @@
             editDisplay: true,
             viewDisplay: true,
             checkStrictly: true,
-
+            defaultExpandAll: true,
+            dicData: [],
             props: {
-              label: 'title',
-              value: 'value',
-              emitPath: false,
-              multiple: false,
-              expandTrigger: 'hover',
+              label: 'name',
+              value: 'id',
+              children: 'childrens',
             },
-            dataType: 'string',
             rules: [
               {
                 required: true,
@@ -415,39 +418,6 @@
                 trigger: 'change',
               },
             ],
-            lazy: true,
-            lazyLoad (node, resolve) {
-              let level = node.level
-              let list = []
-              let callback = () => {
-                resolve(
-                  (list || []).map(ele => ({
-                    ...ele,
-                    value: ele.value,
-                    leaf: level >= 2,
-                  }))
-                )
-              }
-
-              if (level === 0) {
-                getLazyTree('000000000000').then(res => {
-                  list = res.data.data
-                  callback()
-                })
-              } else if (level === 1) {
-                getLazyTree(node.value).then(res => {
-                  list = res.data.data
-                  callback()
-                })
-              } else if (level === 2) {
-                getLazyTree(node.value).then(res => {
-                  list = res.data.data
-                  callback()
-                })
-              } else {
-                callback()
-              }
-            },
           },
           {
             label: '设备名称',
@@ -573,30 +543,32 @@
             viewDisplay: false,
           },
           {
-            label: '所属单位',
+            label: '所属部门',
             prop: 'dept_name',
             addDisplay: false,
             editDisplay: false,
             viewDisplay: false,
+            align: 'center',
             labelWidth: 145,
             width: 180,
             rules: [
               {
                 required: true,
-                message: '请输入所属单位',
+                message: '请输入所属部门',
                 trigger: 'blur',
               },
             ],
           },
           {
-            label: '所属单位',
+            label: '所属部门',
             prop: 'dept_id',
             hide: true,
             type: 'tree',
-            defaultExpandAll: true,
+
             search: true,
             searchSpan: 4,
             labelWidth: 145,
+            defaultExpandAll: true,
             dicUrl: '/blade-system/dept/getTree',
             props: {
               label: 'name',
@@ -605,7 +577,7 @@
             rules: [
               {
                 required: true,
-                message: '请输入所属单位',
+                message: '请输入所属部门',
                 trigger: 'blur',
               },
             ],
@@ -784,8 +756,9 @@
       },
     }
   },
+
   computed: {
-    ...mapGetters(['permission']),
+    ...mapGetters(['permission', 'userInfo']),
     permissionList () {
       return {
         addBtn: this.validData(this.permission.air_add, true),
@@ -813,7 +786,10 @@
     })
   },
   mounted() {
-
+    getRegionTreeAll({ parentCode: this.userInfo.detail.areaCode }).then(res => {
+      const column = this.findObject(this.option.column, 'area_code');
+      column.dicData = res.data.data ? [res.data.data] : [];
+    });
   },
   methods: {
     getDockModeText (value) {
@@ -1348,6 +1324,7 @@
         })
     },
     async getFullAreaCode (areaCode) {
+      console.log('getFullAreaCode', areaCode)
       if (!areaCode) return ''
 
       const code = areaCode.toString()
@@ -1369,10 +1346,9 @@
       if (['edit', 'view'].includes(type)) {
         getDetail(this.form.id).then(async res => {
           const data = res.data.data
-
           this.form = {
             ...data,
-            area_code: await this.getFullAreaCode(data.area_code),
+            // area_code: await this.getFullAreaCode(data.area_code),
             area_name: this.form.area_name,
             cnmode_code: this.getDockModeText(this.form.mode_code),
             domainTxt: data.domain === 0 ? '无人机' : data.domain === 3 ? '机巢' : '未知',
@@ -1442,23 +1418,23 @@
         resolve(data)
       })
     },
-    rowDel (row) {
-      this.$confirm('确定将选择数据删除?', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning',
-      })
-        .then(() => {
-          return remove(row.id)
-        })
-        .then(() => {
-          this.onLoad(this.page)
-          this.$message({
-            type: 'success',
-            message: '操作成功!',
-          })
-        })
-    },
+    // rowDel (row) {
+    //   this.$confirm('确定将选择数据删除?', {
+    //     confirmButtonText: '确定',
+    //     cancelButtonText: '取消',
+    //     type: 'warning',
+    //   })
+    //     .then(() => {
+    //       return remove(row.id)
+    //     })
+    //     .then(() => {
+    //       this.onLoad(this.page)
+    //       this.$message({
+    //         type: 'success',
+    //         message: '操作成功!',
+    //       })
+    //     })
+    // },
     // 设置无人机操作密码
     setOperatePasswordConfirm () {
       var that = this

--
Gitblit v1.9.3