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