diff --git a/src/pages/WorkOrder.tsx b/src/pages/WorkOrder.tsx index 026dda0..8356d39 100644 --- a/src/pages/WorkOrder.tsx +++ b/src/pages/WorkOrder.tsx @@ -137,6 +137,10 @@ const WorkOrderPage = () => { const [completeModalVisible, setCompleteModalVisible] = useState(false); const [completeForm] = Form.useForm(); const messageApi = utils.message; + // 派单弹窗 + const [dispatchUserModalVisible, setDispatchUserModalVisible] = useState(false); + const [dispatchForm] = Form.useForm(); + // 排班更多弹窗 const [scheduleModalVisible, setScheduleModalVisible] = useState(false); @@ -215,6 +219,36 @@ const WorkOrderPage = () => { }); }; + // 打开【派单弹窗】 + const openDispatchUserModal = () => { + dispatchForm.setFieldsValue({ + id: currentDetail?.id, + }); + setDispatchUserModalVisible(true); + }; + + // 提交派单 + const submitDispatchWorkOrder = async (values) => { + try { + const params = { + orderId: values.id, + assigneeId: values.assignUserId, // 选中人员ID + }; + const res = await dispatchWorkOrder(params); + if (res.code === 200) { + messageApi.success('工单派单成功'); + setDispatchUserModalVisible(false); + dispatchForm.resetFields(); + } else { + messageApi.error(res.msg || '派单失败'); + } + } catch (err) { + messageApi.error('派单请求异常'); + console.error(err); + } + }; + + // 获取工单配色(优先级) @@ -1419,8 +1453,7 @@ const WorkOrderPage = () => { } > 派单 @@ -1582,6 +1615,57 @@ const WorkOrderPage = () => { + {/* 派单弹窗:选择人员 */} + setDispatchUserModalVisible(false)} + footer={null} + width={520} + > + + + + + + + + • {currentDetail?.orderTitle} ({currentDetail?.orderNo}) + + + + + option.label.toLowerCase().includes(input.toLowerCase()) + } + options={userList.map(u => ({ + value: u.userId, + label: u.userName || u.nickName || '未知人员' + }))} + /> + + + setDispatchUserModalVisible(false)}>取消 + 确认派单 + + + + + {/* 执行工单弹窗 */} setDispatchModalVisible(false)} footer={null} width={550}>