| | |
| | | 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> |
| | |
| | | // 下拉选项 |
| | | const flyerListMap = ref({}) // 飞手列表,按行索引存储 |
| | | const deviceList = ref([]) // 设备列表 |
| | | const routeOptions = inject('routeOptions') |
| | | const routeOptions = ref([]) // 航线选项(根据工单范围获取) |
| | | const routeLoading = ref(false) // 航线加载中 |
| | | |
| | | // 子任务列表 |
| | | const taskList = ref([initTaskRow()]) |
| | |
| | | function handleWorkOrderChange(val) { |
| | | if (val) { |
| | | selectedWorkOrder.value = workOrderList.value.find(item => item.id === val) |
| | | // 根据工单范围获取航线列表 |
| | | getAirListByGeom() |
| | | // 将工单类型赋值给所有子任务行 |
| | | const workOrderType = selectedWorkOrder.value?.workOrderType |
| | | if (workOrderType) { |
| | |
| | | } |
| | | } 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() |