支持更新代练中订单价格
This commit is contained in:
@@ -126,6 +126,11 @@ const FILTERABLE_WORK_ORDER_STATUSES = [
|
||||
'cancelled',
|
||||
] as const
|
||||
|
||||
type MaterialFormValues = {
|
||||
fields?: Record<string, string>
|
||||
rewardAmount?: number
|
||||
}
|
||||
|
||||
export default function WorkOrdersPanel() {
|
||||
const { message, modal } = App.useApp()
|
||||
const navigate = useNavigate()
|
||||
@@ -151,7 +156,7 @@ export default function WorkOrdersPanel() {
|
||||
const [deductOrder, setDeductOrder] = useState<WorkOrder | null>(null)
|
||||
const [problemForm] = Form.useForm()
|
||||
const [resolutionForm] = Form.useForm()
|
||||
const [materialForm] = Form.useForm()
|
||||
const [materialForm] = Form.useForm<MaterialFormValues>()
|
||||
const [deductForm] = Form.useForm<{ amount?: number; note?: string }>()
|
||||
const [editForm] = Form.useForm<{
|
||||
productName?: string
|
||||
@@ -378,7 +383,7 @@ export default function WorkOrdersPanel() {
|
||||
resolutionForm.resetFields()
|
||||
}
|
||||
|
||||
async function submitMaterial(values: { fields?: Record<string, string> }) {
|
||||
async function submitMaterial(values: MaterialFormValues) {
|
||||
if (!materialOrder) return
|
||||
const succeeded = await runAction(
|
||||
() =>
|
||||
@@ -386,6 +391,9 @@ export default function WorkOrdersPanel() {
|
||||
materialOrder.workOrderId,
|
||||
values.fields || {},
|
||||
materialScreenshots,
|
||||
materialOrder.status === 'in_progress' && !materialOrder.sharing?.enabled
|
||||
? Number(values.rewardAmount || 0)
|
||||
: undefined,
|
||||
),
|
||||
materialOrder.status === 'in_progress' ? '订单资料已更新' : '订单资料已保存',
|
||||
)
|
||||
@@ -410,7 +418,10 @@ export default function WorkOrdersPanel() {
|
||||
|
||||
function openMaterialModal(row: WorkOrder) {
|
||||
setMaterialOrder(row)
|
||||
materialForm.setFieldsValue({ fields: getMaterialFields(row) })
|
||||
materialForm.setFieldsValue({
|
||||
fields: getMaterialFields(row),
|
||||
rewardAmount: Math.round(Number(row.rewardAmount || 0)) / 100,
|
||||
})
|
||||
setMaterialScreenshots(getMaterialScreenshots(row))
|
||||
}
|
||||
|
||||
@@ -1320,6 +1331,15 @@ export default function WorkOrdersPanel() {
|
||||
destroyOnHidden
|
||||
>
|
||||
<Form form={materialForm} layout="vertical" onFinish={submitMaterial}>
|
||||
{materialOrder?.status === 'in_progress' && !materialOrder.sharing?.enabled ? (
|
||||
<Form.Item
|
||||
label="发单价格"
|
||||
name="rewardAmount"
|
||||
rules={[{ required: true, message: '请输入发单价格' }]}
|
||||
>
|
||||
<InputNumber min={0} precision={2} addonAfter="元" style={{ width: '100%' }} />
|
||||
</Form.Item>
|
||||
) : null}
|
||||
<Form.Item label="粘贴自动识别">
|
||||
<Space.Compact style={{ width: '100%' }}>
|
||||
<Input.TextArea
|
||||
|
||||
@@ -231,10 +231,11 @@ export function submitAdminWorkOrderMaterial(
|
||||
workOrderId: number,
|
||||
fields: Record<string, string>,
|
||||
screenshots?: UploadedFile[],
|
||||
rewardAmount?: number,
|
||||
) {
|
||||
return apiPost<{ order: WorkOrder; complete: boolean }>(
|
||||
`/api/v1/admin/worker-platform/orders/${workOrderId}/material`,
|
||||
{ fields, screenshots },
|
||||
{ fields, screenshots, rewardAmount },
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user