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