From 0a199c83df502b2aeaa3623544f54edbf64a3271 Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Thu, 21 May 2026 17:45:10 +0800
Subject: [PATCH] feat: 添加飞手id
---
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/FormDiaLog.vue | 36 ++++++++++++++++++++++--------------
1 files changed, 22 insertions(+), 14 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 fca8cc3..09cf6b8 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
@@ -8,7 +8,7 @@
width="75%"
:close-on-click-modal="false"
>
- <div class="gd-dialog-form">
+ <div>
<!-- 关联工单选择 -->
<div class="work-order-section">
<div class="detail-title" :style="{ marginBottom: 0, marginRight: pxToRem(10) }">选择工单</div>
@@ -78,7 +78,7 @@
<el-table-column width="50" label="">
<template v-slot="{ $index }">{{ $index + 1 }}</template>
</el-table-column>
- <el-table-column prop="patrolTaskName" min-width="120">
+ <el-table-column prop="patrolTaskName" min-width="100">
<template #header>
<span class="required-star">*</span>
巡查任务名称
@@ -92,7 +92,7 @@
/>
</template>
</el-table-column>
- <el-table-column prop="patrolTaskType" min-width="140">
+ <el-table-column prop="patrolTaskType" min-width="100">
<template #header>
<span class="required-star">*</span>
巡查任务类型
@@ -114,7 +114,7 @@
</el-select>
</template>
</el-table-column>
- <el-table-column prop="executeTime" min-width="180">
+ <el-table-column prop="executeTime" width="100">
<template #header>
<span class="required-star">*</span>
任务执行时间
@@ -122,7 +122,7 @@
<template v-slot="{ row }">
<!-- gd-date-picker-popper-->
<el-date-picker
- :style="{width: pxToRem(160)}"
+ :style="{width: pxToRem(165)}"
class="gd-date-picker"
popper-class=""
v-model="row.executeTime"
@@ -133,7 +133,7 @@
/>
</template>
</el-table-column>
- <el-table-column prop="patrolRouteUrl" min-width="120">
+ <el-table-column prop="patrolRouteUrl" min-width="100">
<template #header>
<span class="required-star">*</span>
巡查任务航线
@@ -152,7 +152,7 @@
</el-select>
</template>
</el-table-column>
- <el-table-column prop="recommendFlyerName" min-width="120">
+ <el-table-column prop="deviceFlyerId" min-width="100">
<template #header>
<span class="required-star">*</span>
推荐飞手
@@ -162,16 +162,17 @@
no-data-text="暂无推荐飞手"
class="gd-select"
popper-class="gd-select-popper"
- v-model="row.recommendFlyerName"
+ v-model="row.deviceFlyerId"
placeholder="请选择"
filterable
:disabled="dialogReadonly || !taskList[$index].patrolTaskType"
+ @change="handleFlyerChange($index, $event)"
>
<el-option
v-for="item in flyerListMap[$index] || []"
- :key="item.id"
+ :key="item.flyerId"
:label="item.flyerName"
- :value="item.flyerName"
+ :value="item.flyerId"
>
<template #default>
<!-- 匹配区域=1 显示红星号 -->
@@ -182,7 +183,7 @@
</el-select>
</template>
</el-table-column>
- <el-table-column prop="deviceId" min-width="120">
+ <el-table-column prop="deviceId" min-width="100">
<template #header>
<span class="required-star">*</span>
选择设备
@@ -200,7 +201,7 @@
</el-select>
</template>
</el-table-column>
- <el-table-column prop="taskDesc" label="巡查任务描述" min-width="120">
+ <el-table-column prop="taskDesc" label="巡查任务描述">
<template v-slot="{ row }">
<el-input class="gd-input" v-model="row.taskDesc" placeholder="请输入" :disabled="dialogReadonly" />
</template>
@@ -256,6 +257,7 @@
patrolTaskType: '',
executeTime: '',
patrolRouteUrl: '',
+ deviceFlyerId: '',
recommendFlyerName: '',
deviceId: null,
taskDesc: '',
@@ -369,9 +371,15 @@
// 处理巡查任务类型变化
async function handlePatrolTaskTypeChange(index, skilledTaskType) {
// 清空该行已选择的飞手
+ taskList.value[index].deviceFlyerId = ''
taskList.value[index].recommendFlyerName = ''
// 获取对应的飞手列表
await getFlyerList(index, skilledTaskType)
+}
+
+function handleFlyerChange(index, flyerId) {
+ const selectedFlyer = (flyerListMap.value[index] || []).find(item => item.flyerId === flyerId)
+ taskList.value[index].recommendFlyerName = selectedFlyer?.flyerName || ''
}
import * as turf from '@turf/turf'
@@ -416,7 +424,7 @@
// 判断一行是否已填写(至少填写了任务名称)
function isTaskRowFilled(task) {
- return !!(task.patrolTaskName || task.executeTime || task.patrolRouteUrl || task.recommendFlyerName || task.deviceId)
+ return !!(task.patrolTaskName || task.executeTime || task.patrolRouteUrl || task.deviceFlyerId || task.deviceId)
}
// 提交新增
@@ -453,7 +461,7 @@
ElMessage.warning(`第${i + 1}行: 请选择巡查任务航线`)
return
}
- if (!task.recommendFlyerName) {
+ if (!task.deviceFlyerId) {
ElMessage.warning(`第${i + 1}行: 请选择推荐飞手`)
return
}
--
Gitblit v1.9.3