import { RESPONSE_CODE } from '@/constants/enum'; import { postServiceOrderProcureCheckOrder, postServiceOrderProcureConvertWarehouseKeeper, postServiceOrderQuerySupplier, } from '@/services'; import { ModalForm, ProFormSelect } from '@ant-design/pro-components'; import { Button, Form, Input, Popconfirm, message } from 'antd'; import { useState } from 'react'; export default ({ setCheckVisible, data, subOrders, onClose }) => { const [form] = Form.useForm<{ name: string; company: string }>(); const [checkNotes, setCheckNotes] = useState<string>(''); let subOrderIds: any[] = []; //是单条子订单审核 if (subOrders === undefined) { subOrderIds = [data.id]; } else { subOrderIds = subOrders.map((subOrder) => subOrder.id); } async function doCheck(body: object) { const data = await postServiceOrderProcureCheckOrder({ data: body, }); if (data.result === RESPONSE_CODE.SUCCESS) { message.success(data.message); onClose(); } } return ( <ModalForm<{ name: string; company: string; }> width={500} open title="采购审核" form={form} autoFocusFirstInput modalProps={{ okText: '确认', cancelText: '取消', destroyOnClose: true, onCancel: () => { setCheckVisible(false); }, }} submitter={{ render: (props, defaultDoms) => { return [ defaultDoms[0], <> <Popconfirm title="是否转回仓库" description={ <div> <div className="py-2"> <span>转回仓库后将由仓库管理员进行打印、发货</span> </div> <Input.TextArea placeholder="请填写备注" onChange={(e: any) => { setCheckNotes(e.target.value); }} rows={4} ></Input.TextArea> </div> } onConfirm={async () => { const res = await postServiceOrderProcureConvertWarehouseKeeper({ data: { subIds: subOrderIds, checkNotes: checkNotes, }, }); if (res?.result === RESPONSE_CODE.SUCCESS) { message.success(res.message); onClose(); return true; } }} okText="确定" cancelText="取消" > <Button type="primary">转回仓库</Button> </Popconfirm> </>, defaultDoms[1], ]; }, }} submitTimeout={2000} onFinish={async (values) => { if (values.name === '0') { message.error('选择转回仓库请点击转回仓库按钮!'); return; } let procureIsPrintAndSend = true; // if (values.name === '采购自行发货') { // procureIsPrintAndSend = true; // } return doCheck({ ids: subOrderIds, supplier: values.name, procureIsPrintAndSend: procureIsPrintAndSend, }); }} onOpenChange={setCheckVisible} > <ProFormSelect key="key" label="供应商名称" width="lg" name="name" // options={options} placeholder="请选择供应商" rules={[{ required: true, message: '供应商必填' }]} request={async () => { const res = await postServiceOrderQuerySupplier(); let options = res.data?.map((item) => { return { label: item, value: item }; }); options.push({ label: '转回仓库', value: '0' }); return options; }} /> </ModalForm> ); };