From d04ecbb2aa47d93e05d28bb551e7bad83d97d60f Mon Sep 17 00:00:00 2001
From: 罗广辉 <guanghui.luo@foxmail.com>
Date: Wed, 03 Jun 2026 18:38:55 +0800
Subject: [PATCH] feat: 类型多选改造

---
 applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue b/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
index 6abe86f..75afa99 100644
--- a/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
+++ b/applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
@@ -31,7 +31,7 @@
 						</el-col>
 						<el-col :span="12">
 							<div class="label">工单类型</div>
-							<div class="val">{{ getDictLabelXT(formData.workOrderType, workOrderTypeXT) }}</div>
+							<div class="val">{{ getTaskTypeLabel(formData.workOrderType, workOrderTypeXT) }}</div>
 						</el-col>
 						<el-col :span="12">
 							<div class="label">执行时间范围</div>
@@ -62,7 +62,7 @@
 							<el-table-column prop="patrolTaskName" show-overflow-tooltip label="巡查任务名称" />
 							<el-table-column prop="patrolTaskType" show-overflow-tooltip label="巡查任务类型">
 								<template v-slot="{ row }">
-									{{ getDictLabelXT(row.patrolTaskType, workOrderTypeXT) }}
+									{{ getTaskTypeLabel(row.patrolTaskType, workOrderTypeXT) }}
 								</template>
 							</el-table-column>
 							<el-table-column prop="taskStatus" show-overflow-tooltip label="任务状态">
@@ -94,20 +94,15 @@
 						</el-col>
 						<el-col :span="12">
 							<el-form-item label="工单类型" prop="workOrderType">
-								<el-select
+								<el-cascader
 									class="gd-select"
 									popper-class="gd-select-popper"
 									v-model="formData.workOrderType"
+									:options="workOrderTypeXT"
+									:props="taskTypeCascaderProps"
 									placeholder="请选择"
 									clearable
-								>
-									<el-option
-										v-for="item in workOrderTypeXT"
-										:key="item.dictValue"
-										:label="item.dictLabel"
-										:value="item.dictValue"
-									/>
-								</el-select>
+								/>
 							</el-form-item>
 						</el-col>
 						<el-col :span="12">
@@ -264,7 +259,7 @@
 <script setup>
 import { computed, ref, nextTick, inject } from 'vue'
 import { ElMessage } from 'element-plus'
-import { dateRangeFormat, fieldRules, flyVisual, geomAnalysis, getDictLabel, getDictLabelXT } from '@ztzf/utils'
+import { dateRangeFormat, fieldRules, flyVisual, geomAnalysis, getDictLabel } from '@ztzf/utils'
 import {
 	gdWorkOrderDetailApi,
 	gdWorkOrderFlowListApi,
@@ -287,6 +282,7 @@
 import OrderStepBar from '@/views/orderView/orderManage/orderManage/OrderStepBar.vue'
 import OutcomeData from './outcomeData.vue'
 import { getDictListApi } from '@/api/zkxt'
+import { getTaskTypeLabel, taskTypeCascaderProps, toTaskTypeCascaderValue, toTaskTypeRequestValue } from '../taskTypeOptions'
 const store = useStore()
 const permission = computed(() => store.state.user.permission)
 const activeName = ref('basic')
@@ -294,7 +290,7 @@
 // 初始化表单数据
 const initForm = () => ({
 	workOrderName: '',
-	workOrderType: '',
+	workOrderType: [],
 	executeStartTime: '',
 	executeEndTime: '',
 	deviceLoadDemand: '',
@@ -457,7 +453,11 @@
 		if (!formData.value.id) {
 			formData.value.workOrderStatus = '10'
 		}
-		await gdWorkOrderSaveApi(formData.value)
+		const payload = {
+			...formData.value,
+			workOrderType: toTaskTypeRequestValue(formData.value.workOrderType),
+		}
+		await gdWorkOrderSaveApi(payload)
 		ElMessage.success(dialogMode.value === 'add' ? '新增成功' : '更新成功')
 		visible.value = false
 		emit('success')
@@ -479,6 +479,7 @@
 	loadList()
 	const res = await gdWorkOrderDetailApi({ id: formData.value.id })
 	formData.value = res?.data?.data ?? {}
+	formData.value.workOrderType = toTaskTypeCascaderValue(formData.value.workOrderType)
 	dateRange.value = [formData.value.executeStartTime, formData.value.executeEndTime]
 }
 

--
Gitblit v1.9.3