吉安感知网项目-前端
罗广辉
2026-02-28 f82dfc25cab5b60d38c6722af5479df72bf191cc
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()