From f82dfc25cab5b60d38c6722af5479df72bf191cc Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Sat, 28 Feb 2026 11:10:58 +0800
Subject: [PATCH] feat: 根据工单范围进行过滤航线
---
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue
index 6b9b69d..16684d8 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue
@@ -144,6 +144,8 @@
v-model="row.patrolRouteUrl"
placeholder="请选择"
:disabled="dialogReadonly"
+ :loading="routeLoading"
+ no-data-text="暂无航线"
>
<el-option v-for="item in routeOptions" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
@@ -267,7 +269,8 @@
// 下拉选项
const flyerListMap = ref({}) // 飞手列表,按行索引存储
const deviceList = ref([]) // 设备列表
-const routeOptions = inject('routeOptions')
+const routeOptions = ref([]) // 航线选项(根据工单范围获取)
+const routeLoading = ref(false) // 航线加载中
// 子任务列表
const taskList = ref([initTaskRow()])
@@ -276,6 +279,8 @@
function handleWorkOrderChange(val) {
if (val) {
selectedWorkOrder.value = workOrderList.value.find(item => item.id === val)
+ // 根据工单范围获取航线列表
+ getAirListByGeom()
// 将工单类型赋值给所有子任务行
const workOrderType = selectedWorkOrder.value?.workOrderType
if (workOrderType) {
@@ -287,9 +292,24 @@
}
} else {
selectedWorkOrder.value = null
+ routeOptions.value = []
}
}
+// 根据工单geom范围获取航线列表
+function getAirListByGeom() {
+ const geom = selectedWorkOrder.value?.geom
+ if (!geom) return
+ const coordinates = geomAnalysis(geom)
+ if (!coordinates || !coordinates.length) return
+ routeLoading.value = true
+ airlineListApi(coordinates).then(res => {
+ routeOptions.value = res.data.data || []
+ }).finally(() => {
+ routeLoading.value = false
+ })
+}
+
// 添加任务行
function addTaskRow() {
const newTask = initTaskRow()
--
Gitblit v1.9.3