From fd0396fe64c7d066bd387e782d695d0faefe1b07 Mon Sep 17 00:00:00 2001
From: zrj <646384940@qq.com>
Date: Mon, 26 Aug 2024 16:45:49 +0800
Subject: [PATCH] 固件上传,设备行政区划,机巢编号新增

---
 src/views/device/fly.vue                       |    1 
 src/views/device/airport.vue                   |  134 ++++++++++++++++++++++++++++++++++++++++++++
 src/views/device/components/firmwareManage.vue |    4 +
 3 files changed, 136 insertions(+), 3 deletions(-)

diff --git a/src/views/device/airport.vue b/src/views/device/airport.vue
index 48080f3..d8bee81 100644
--- a/src/views/device/airport.vue
+++ b/src/views/device/airport.vue
@@ -79,7 +79,10 @@
         >
           <div style="background-color: #a8cbfb; border-radius: 4px">
             升级中
-            <el-progress  v-if="row.firmware_progress>0 && row.firmware_progress<100" :percentage="row.firmware_progress"></el-progress>
+            <el-progress
+              v-if="row.firmware_progress > 0 && row.firmware_progress < 100"
+              :percentage="row.firmware_progress"
+            ></el-progress>
           </div>
         </div>
       </template>
@@ -125,6 +128,11 @@
   getDeviceUpgradeInfo,
   ota,
 } from '@/api/device/device';
+
+import {
+  getLazyTree
+} from '@/api/base/region';
+
 import { mapGetters } from 'vuex';
 import FirmwareManage from './components/firmwareManage.vue';
 export default {
@@ -152,7 +160,7 @@
         tree: true,
         height: '460',
         calcHeight: 32,
-        dialogWidth: 950,
+        dialogWidth: 1050,
         tip: false,
         searchShow: true,
         searchMenuSpan: 6,
@@ -199,6 +207,7 @@
             label: '机巢编号',
             prop: 'machine_nest_sn',
             labelWidth: 130,
+            editDisabled: true,
             rules: [
               {
                 required: false,
@@ -306,6 +315,127 @@
             ],
           },
           {
+            label: '行政区划',
+            prop: 'area_code',
+            type: 'cascader',
+            labelWidth: 130,
+            hide:true,
+            props: {
+              label: 'title',
+              value: 'value',
+            },
+            dataType:"string",
+            rules: [
+              {
+                required: true,
+                message: '请选择所在省份',
+                trigger: 'blur',
+              },
+            ],
+            lazy: true,
+            lazyLoad(node, resolve) {
+              let level = node.level;
+              let list = [];
+              let callback = () => {
+                resolve(
+                  (list || []).map(ele => {
+                    return Object.assign(ele, {
+                      leaf: !ele.hasChildren,
+                    });
+                  })
+                );
+              };
+              if (level == 0) {
+                getLazyTree('000000000000').then(res => {
+                  list = res.data.data;
+                  callback();
+                });
+              } else if (level>0 && level<5 ) {
+                getLazyTree(node.value).then(res => {
+                  list = res.data.data;
+                  callback();
+                });
+              } else {
+                callback();
+              }
+            },
+          },
+          // {
+          //   label: '所在市州',
+          //   prop: 'city_code',
+          //   type: 'select',
+          //   labelWidth: 130,
+          //   cascader: ['district_code'],
+          //   props: {
+          //     label: 'name',
+          //     value: 'code',
+          //   },
+          //   dicUrl: `/api/blade-system/region/select?code={{province_code}}`,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: '请选择所在市州',
+          //       trigger: 'blur',
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: '所在区县',
+          //   prop: 'district_code',
+          //   type: 'select',
+          //   labelWidth: 130,
+          //   cascader: ['town_code'],
+          //   props: {
+          //     label: 'name',
+          //     value: 'code',
+          //   },
+          //   dicUrl: `/api/blade-system/region/select?code={{city_code}}`,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: '请选择所在区县',
+          //       trigger: 'blur',
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: '所在乡镇',
+          //   prop: 'town_code',
+          //   type: 'select',
+          //   labelWidth: 130,
+          //   cascader: ['village_code'],
+          //   props: {
+          //     label: 'name',
+          //     value: 'code',
+          //   },
+          //   dicUrl: `/api/blade-system/region/select?code={{district_code}}`,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: '请选择所在乡镇',
+          //       trigger: 'blur',
+          //     },
+          //   ],
+          // },
+          // {
+          //   label: '所在社区/村委会',
+          //   prop: 'village_code',
+          //   type: 'select',
+          //   labelWidth: 130,
+          //   props: {
+          //     label: 'name',
+          //     value: 'code',
+          //   },
+          //   dicUrl: `/api/blade-system/region/select?code={{town_code}}`,
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: '请选择所在社区/村委会',
+          //       trigger: 'blur',
+          //     },
+          //   ],
+          // },
+          {
             label: '在线时间',
             prop: 'login_time',
             type: 'date',
diff --git a/src/views/device/components/firmwareManage.vue b/src/views/device/components/firmwareManage.vue
index baad1d1..0fe4c63 100644
--- a/src/views/device/components/firmwareManage.vue
+++ b/src/views/device/components/firmwareManage.vue
@@ -17,6 +17,7 @@
       @current-change="currentChange"
       @size-change="sizeChange"
       @refresh-change="refreshChange"
+       @on-load="onLoad"
     >
       <template #menu-left>
         <el-button type="primary" icon="el-icon-plus" plain @click="openFirmwareUpload"
@@ -34,7 +35,7 @@
         :rules="rules"
       >
         <el-form-item label="设备名称" prop="device_name">
-          <el-input v-model="importForm.device_name" clearable disabled></el-input>
+          <el-input v-model="importForm.device_name" clearable></el-input>
         </el-form-item>
 
         <!-- 上传 -->
@@ -225,6 +226,7 @@
             label: '上传状态',
             prop: 'upload_status',
             addDisplay: false,
+            editDisplay: false,
             labelWidth: 130,
             type: 'select',
             width: 100,
diff --git a/src/views/device/fly.vue b/src/views/device/fly.vue
index 1c7ccb9..c6e4e63 100644
--- a/src/views/device/fly.vue
+++ b/src/views/device/fly.vue
@@ -112,6 +112,7 @@
           {
             label: '机巢编号',
             prop: 'machine_nest_sn',
+            editDisabled: true,
             labelWidth: 130,
             rules: [
               {

--
Gitblit v1.9.3