From 260bbc03b9633f30d66b27e3f4b626d8115f341f Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Sat, 22 Nov 2025 16:27:34 +0800
Subject: [PATCH] feat:智飞工单

---
 src/views/tickets/component/AddEditDetails.vue |   53 ++++++++++-------
 src/views/tickets/orderLog.vue                 |   30 ++++++++++
 src/views/tickets/component/SearchBox.vue      |   61 +++++++++++---------
 3 files changed, 94 insertions(+), 50 deletions(-)

diff --git a/src/views/tickets/component/AddEditDetails.vue b/src/views/tickets/component/AddEditDetails.vue
index c996625..49c920d 100644
--- a/src/views/tickets/component/AddEditDetails.vue
+++ b/src/views/tickets/component/AddEditDetails.vue
@@ -216,20 +216,23 @@
 //周期
 const weeks = ref(['每天', '周一', '周二', '周三', '周四', '周五', '周六', '周末', '周天', '工作日'])
 
+const lineList = inject('lineList')
+const aiTypeList = inject('aiTypeList')
+
 // 获取航线
-let lineList = ref([])
-function getLines() {
-  const formData = {
-    name: '',
-    waylineType: undefined,
-    current: 1,
-    size: 99999999,
-    descs: 'update_time'
-  }
-  newGetWorkspacesPage(formData).then(res => {
-    lineList.value = res.data.data.records
-  })
-}
+// let lineList = ref([])
+// function getLines() {
+//   const formData = {
+//     name: '',
+//     waylineType: undefined,
+//     current: 1,
+//     size: 99999999,
+//     descs: 'update_time'
+//   }
+//   newGetWorkspacesPage(formData).then(res => {
+//     lineList.value = res.data.data.records
+//   })
+// }
 
 function getOrderStatus (status) {
   const statusTextMap = {
@@ -239,6 +242,10 @@
     3: '已通过'
   }
   return statusTextMap[status] || '未知状态'
+}
+
+function disabledDate (time) {
+  return time.getTime() < Date.now() - 8.64e7 // 86400000 = 24 * 60 * 60 * 1000
 }
 
 // 关联机巢
@@ -263,12 +270,12 @@
 }
 
 // 获取算法
-let aiTypeList = ref([])
-function aitypeList() {
-  getDictionaryByCode('SF').then(res => {
-    aiTypeList.value = res.data.data['SF']
-  })
-}
+// let aiTypeList = ref([])
+// function aitypeList() {
+//   getDictionaryByCode('SF').then(res => {
+//     aiTypeList.value = res.data.data['SF']
+//   })
+// }
 
 // initMapLine 方法
 const initMapLine = async (infos = {}, cb = () => {}) => {
@@ -388,10 +395,10 @@
   emit('refresh');
 }
 
-onMounted(async () => {
-  aitypeList()
-  getLines()
-});
+// onMounted(async () => {
+//   aitypeList()
+//   getLines()
+// });
 </script>
 
 <style lang="scss" scoped>
diff --git a/src/views/tickets/component/SearchBox.vue b/src/views/tickets/component/SearchBox.vue
index 006e940..423751b 100644
--- a/src/views/tickets/component/SearchBox.vue
+++ b/src/views/tickets/component/SearchBox.vue
@@ -46,6 +46,7 @@
         <el-form-item label="工单状态:">
           <el-select
             :teleported="false"
+            :disabled="activeTab === 'WAIT_AUDIT' || activeTab === 'REJECTED' || activeTab === 'PASS'"
             v-model="searchForm.status"
             placeholder="请选择关联航线"
             clearable>
@@ -106,28 +107,22 @@
 
 const emit = defineEmits(['search']);
 
-// 获取航线
-let lineList = ref([])
-function getLines() {
-  const formData = {
-    name: '',
-    waylineType: undefined,
-    current: 1,
-    size: 99999999,
-    descs: 'update_time'
-  }
-  newGetWorkspacesPage(formData).then(res => {
-    lineList.value = res.data.data.records
-  })
-}
+const rowObj = inject('rowObj')
+const activeTab = inject('activeTab')
+const lineList = inject('lineList')
+const aiTypeList = inject('aiTypeList')
 
-// 获取算法
-let aiTypeList = ref([])
-function aitypeList() {
-  getDictionaryByCode('SF').then(res => {
-    aiTypeList.value = res.data.data['SF']
-  })
-}
+watch(activeTab, (newTab, oldTab) => {
+  if(newTab === 'WAIT_AUDIT') {
+    searchForm.status = '1'
+  }
+  if(newTab === 'REJECTED') {
+    searchForm.status = '2'
+  }
+  if(newTab === 'PASS') {
+    searchForm.status = '3'
+  }
+})
 
 // 周期
 const cycles = ref(['每天', '周一', '周二', '周三', '周四', '周五', '周六', '周末', '周天', '工作日'])
@@ -166,12 +161,24 @@
   emit('search', params);
 };
 
-onMounted(() => {
-  aitypeList()
-  getLines()
-  // 查询一次
-  // handleSearch()
-});
+function handleReset () {
+  searchForm.ai_types = []
+  searchForm.deal_time = ""
+  searchForm.file_id = ""
+  searchForm.key_word = ""
+  searchForm.status = ''
+  searchForm.rep_fre_type = ''
+  searchForm.create_start_date = null
+  searchForm.create_end_date = null
+  searchForm.start_date = null
+  searchForm.emd_date = null
+  emit('search', searchForm);
+}
+
+// onMounted(() => {
+//   aitypeList()
+//   getLines()
+// });
 </script>
 
 <style lang="scss" scoped>
diff --git a/src/views/tickets/orderLog.vue b/src/views/tickets/orderLog.vue
index 73ff76d..0ab0122 100644
--- a/src/views/tickets/orderLog.vue
+++ b/src/views/tickets/orderLog.vue
@@ -105,6 +105,8 @@
   deleteOrderLog,
   getWaylineMaxTerrainHeight
 } from '@/api/tickets/orderLog'
+import { newGetWorkspacesPage } from '@/api/resource/wayline'
+import { getDictionaryByCode } from '@/api/system/dictbiz'
 import { cloneDeep } from 'lodash';
 import { computed, onMounted } from 'vue';
 import { ElMessage, ElMessageBox } from 'element-plus'
@@ -119,6 +121,7 @@
 const isShowAddEditDetails = ref(false)
 
 const activeTab = ref('all')
+provide('activeTab', activeTab)
 let tabsList = ref([
   // { label: '我的工单', name: 'my_order', value: null, count: 0 },
   // { label: '全部工单', name: 'all', value: null, count: 0 },
@@ -187,6 +190,31 @@
     if (tab) {
       tab.count = item.num
     }
+  })
+}
+
+// 获取航线
+let lineList = ref([])
+provide('lineList', lineList)
+function getLines() {
+  const formData = {
+    name: '',
+    waylineType: undefined,
+    current: 1,
+    size: 99999999,
+    descs: 'update_time'
+  }
+  newGetWorkspacesPage(formData).then(res => {
+    lineList.value = res.data.data.records
+  })
+}
+
+// 获取算法
+let aiTypeList = ref([])
+provide('aiTypeList', aiTypeList)
+function aitypeList() {
+  getDictionaryByCode('SF').then(res => {
+    aiTypeList.value = res.data.data['SF']
   })
 }
 
@@ -390,6 +418,8 @@
   filteredTabs()
   getTableList()
   updateGlobalCounts()
+  getLines()
+  aitypeList()
 })
 </script>
 

--
Gitblit v1.9.3