支持代练中更新订单资料
This commit is contained in:
@@ -738,11 +738,15 @@ export async function submitAdminWorkOrderMaterial(
|
||||
) {
|
||||
const workOrder = await getRequiredWorkOrder(workOrderId)
|
||||
if (
|
||||
![WORK_ORDER_STATUS.PENDING_MATERIAL, WORK_ORDER_STATUS.UNASSIGNED].includes(
|
||||
![
|
||||
WORK_ORDER_STATUS.PENDING_MATERIAL,
|
||||
WORK_ORDER_STATUS.UNASSIGNED,
|
||||
WORK_ORDER_STATUS.IN_PROGRESS,
|
||||
].includes(
|
||||
workOrder.status as never,
|
||||
)
|
||||
) {
|
||||
throw createHttpError('当前状态不能补充资料', {
|
||||
throw createHttpError('当前状态不能更新订单资料', {
|
||||
statusCode: 409,
|
||||
errorCode: 'work_order_material_status_invalid',
|
||||
})
|
||||
@@ -765,7 +769,12 @@ export async function submitAdminWorkOrderMaterial(
|
||||
source: 'admin',
|
||||
},
|
||||
}
|
||||
const nextStatus = complete ? WORK_ORDER_STATUS.UNASSIGNED : WORK_ORDER_STATUS.PENDING_MATERIAL
|
||||
const nextStatus =
|
||||
workOrder.status === WORK_ORDER_STATUS.IN_PROGRESS
|
||||
? WORK_ORDER_STATUS.IN_PROGRESS
|
||||
: complete
|
||||
? WORK_ORDER_STATUS.UNASSIGNED
|
||||
: WORK_ORDER_STATUS.PENDING_MATERIAL
|
||||
const updated = await updateWorkOrder(workOrder.id, {
|
||||
status: nextStatus,
|
||||
material_json: material,
|
||||
@@ -775,7 +784,10 @@ export async function submitAdminWorkOrderMaterial(
|
||||
workOrderId: workOrder.id,
|
||||
actorType: 'admin',
|
||||
actorId: '',
|
||||
eventType: 'material_completed',
|
||||
eventType:
|
||||
workOrder.status === WORK_ORDER_STATUS.IN_PROGRESS
|
||||
? 'material_updated'
|
||||
: 'material_completed',
|
||||
fromStatus: workOrder.status,
|
||||
toStatus: nextStatus,
|
||||
payloadJson: JSON.stringify({ fields: submittedFields, complete }),
|
||||
|
||||
@@ -344,7 +344,7 @@ export default function WorkOrdersPanel() {
|
||||
values.fields || {},
|
||||
materialScreenshots,
|
||||
),
|
||||
'订单资料已保存',
|
||||
materialOrder.status === 'in_progress' ? '订单资料已更新' : '订单资料已保存',
|
||||
)
|
||||
if (!succeeded) return
|
||||
setMaterialOrder(null)
|
||||
@@ -685,12 +685,12 @@ export default function WorkOrdersPanel() {
|
||||
取消指派
|
||||
</Button>
|
||||
) : null}
|
||||
{row.status === 'pending_material' ? (
|
||||
{['pending_material', 'in_progress'].includes(row.status) ? (
|
||||
<Button
|
||||
icon={<FormOutlined />}
|
||||
onClick={() => openMaterialModal(row)}
|
||||
>
|
||||
补资料
|
||||
{row.status === 'in_progress' ? '更新资料' : '补资料'}
|
||||
</Button>
|
||||
) : null}
|
||||
{row.status === 'unassigned' ? (
|
||||
@@ -1228,7 +1228,7 @@ export default function WorkOrdersPanel() {
|
||||
</Modal>
|
||||
|
||||
<Modal
|
||||
title="人工补充资料"
|
||||
title={materialOrder?.status === 'in_progress' ? '更新订单资料' : '人工补充资料'}
|
||||
open={Boolean(materialOrder)}
|
||||
onCancel={() => {
|
||||
setMaterialOrder(null)
|
||||
|
||||
Reference in New Issue
Block a user