From a4e972e5a0353307074abc9bbebb1ca56f802a9f Mon Sep 17 00:00:00 2001
From: rjg <746338628@qq.com>
Date: Fri, 11 Apr 2025 15:58:12 +0800
Subject: [PATCH] fix:更新智飞工单

---
 src/views/tickets/orderLog.vue |   75 +++++++++++++++++++++++++++----------
 src/api/device/device.js       |   12 +++++
 src/api/resource/wayline.js    |   25 +++++-------
 3 files changed, 76 insertions(+), 36 deletions(-)

diff --git a/src/api/device/device.js b/src/api/device/device.js
index 818ca2d..c859a89 100644
--- a/src/api/device/device.js
+++ b/src/api/device/device.js
@@ -133,4 +133,14 @@
     url: '/drone-device-core/manage/api/v1/devices/getAirportList',
     method: 'get',
   });
-};
\ No newline at end of file
+};
+
+//可飞行机巢列表
+export const getFlyingNestBy = (param) => {
+  return request({
+    url: '/drone-device-core/manage/api/v1/devices/getFlyingNestBy',
+    method: 'post',
+    data:param
+  });
+};
+
diff --git a/src/api/resource/wayline.js b/src/api/resource/wayline.js
index 536b1a0..15e1e78 100644
--- a/src/api/resource/wayline.js
+++ b/src/api/resource/wayline.js
@@ -17,17 +17,14 @@
   });
 };
 
-// export const getJobsByWorkspace = (workspace_id, page, page_size, status = '', startTime = null, endTime = null, name = null) => {
-//   return request({
-//     url: `/drone-device-core/wayline/api/v1/workspaces/${workspace_id}/jobs`,
-//     method: 'get',
-//     params: {
-//       page,
-//       page_size,
-//       status,
-//       startTime,
-//       endTime,
-//       name,
-//     },
-//   });
-// };
\ No newline at end of file
+
+
+export const getWaylineFileListByArea = (areaCode) => {
+  return request({
+    url: `/drone-device-core/wayline/api/v1/workspaces/getWaylineFileListByArea`,
+    method: 'get',
+    params: {
+      areaCode
+    },
+  });
+};
\ No newline at end of file
diff --git a/src/views/tickets/orderLog.vue b/src/views/tickets/orderLog.vue
index b19978a..b90d996 100644
--- a/src/views/tickets/orderLog.vue
+++ b/src/views/tickets/orderLog.vue
@@ -161,12 +161,13 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="关联航线" prop="file_id">
-              <el-select v-model="form.file_id" placeholder="请选择航线">
+              <el-select v-model="form.file_id" placeholder="请选择航线"             @change="getFlyingNestBy" >
                 <el-option
-                  v-for="item in handlers"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
+                  v-for="item in wayLineList"
+                  :key="item.wayline_id"
+                  :label="item.name"
+                  :value="item.wayline_id"
+      
                 />
               </el-select>
             </el-form-item>
@@ -177,10 +178,10 @@
             <el-form-item label="关联机巢" prop="device_sns">
               <el-select v-model="form.device_sns" placeholder="请选择机巢" multiple>
                 <el-option
-                  v-for="item in handlers"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
+                  v-for="item in device_sns"
+                  :key="item.device_sn"
+                  :label="item.nickname"
+                  :value="item.device_sn"
                 />
               </el-select>
             </el-form-item>
@@ -262,13 +263,14 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="关联航线" prop="file_id">
-              <el-select v-model="form.file_id" placeholder="请选择航线">
+           <el-form-item label="关联航线" prop="file_id">
+              <el-select v-model="form.file_id" placeholder="请选择航线"             @change="getFlyingNestBy" >
                 <el-option
-                  v-for="item in handlers"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
+                  v-for="item in wayLineList"
+                  :key="item.wayline_id"
+                  :label="item.name"
+                  :value="item.wayline_id"
+      
                 />
               </el-select>
             </el-form-item>
@@ -276,13 +278,13 @@
         </el-row>
         <el-row :gutter="20">
           <el-col :span="12">
-            <el-form-item label="关联机巢" prop="device_sns">
+             <el-form-item label="关联机巢" prop="device_sns">
               <el-select v-model="form.device_sns" placeholder="请选择机巢" multiple>
                 <el-option
-                  v-for="item in handlers"
-                  :key="item.value"
-                  :label="item.label"
-                  :value="item.value"
+                  v-for="item in device_sns"
+                  :key="item.device_sn"
+                  :label="item.nickname"
+                  :value="item.device_sn"
                 />
               </el-select>
             </el-form-item>
@@ -376,7 +378,9 @@
   orderLogPass,
 } from '@/api/tickets/orderLog';
 import { getDictionary } from '@/api/system/dictbiz';
+import{getWaylineFileListByArea} from '@/api/resource/wayline';
 import { export_json_to_excel } from '@/utils/exportExcel';
+import {getFlyingNestBy} from '@/api/device/device';
 import { mapGetters } from 'vuex';
 
 export default {
@@ -404,7 +408,9 @@
       },
       departments: [],
       types: [],
+      device_sns:[],
       ai_types: [],
+      wayLineList:[],
       handlers: [
         { label: '处理人A', value: 'handlerA' },
         { label: '处理人B', value: 'handlerB' },
@@ -420,7 +426,7 @@
         { label: '已通过', value: '3' },
       ],
       //周期
-      cycles: ['周一', '周二', '周三', '周四', '周五', '周六', '周日', '周末', '工作日', '每天'],
+      cycles: ['周一', '周二', '周三', '周四', '周五', '周六', '周末', '周天', '工作日', '每天'],
 
       tableData: [],
       option: {
@@ -492,12 +498,14 @@
     this.fetchDropdownData();
     var response = await getDictionary({ code: 'SF' });
     this.ai_types = response.data.data;
+
   },
   mounted() {
     this.fetchTableData();
   },
   computed: {
     ...mapGetters(['userInfo']),
+   
   },
 
   methods: {
@@ -683,6 +691,8 @@
           }
           this.dialogVisible = false;
           this.detailVisible = false;
+          this.device_sns=[],
+          this.wayLineList=[],
           this.fetchTableData();
         }
       });
@@ -803,6 +813,8 @@
     handleAdd() {
       this.form = {};
       this.dialogVisible = true;
+          //航线列表
+      this.asyncgetWaylineFileListByArea();
     },
 
     resetForm() {
@@ -834,6 +846,9 @@
         ...response.data.data,
       };
       this.detailVisible = true;
+      //航线列表
+      this.asyncgetWaylineFileListByArea();
+      this.device_sns=response.data.data.deviceList;
     },
 
     openMap() {
@@ -851,6 +866,24 @@
     refreshChange() {
       this.fetchTableData();
     },
+    //获取航线列表
+ async asyncgetWaylineFileListByArea(name){
+      var wayLineListResponse= await getWaylineFileListByArea(this.userInfo.detail.areaCode);
+    this.wayLineList=wayLineListResponse.data.data;
+  
+},
+  //可飞行机巢列表
+ async getFlyingNestBy(waylineId){
+  //按照航线来
+ const params = {
+      type:0,
+      waylineId:waylineId,
+ }
+   var wayLineListResponse= await getFlyingNestBy(params);
+   this.device_sns=wayLineListResponse.data.data;
+  
+},
+
     //撤回
     async orderLogRecall(id) {
       this.$confirm('确定撤回则到草稿箱。', '是否撤回?', {

--
Gitblit v1.9.3