import { RESPONSE_CODE } from '@/constants/enum'; import { postServiceOrderProcureCheckOrder, postServiceOrderProcureConvertWarehouseKeeper, postServiceOrderQuerySupplier, } from '@/services'; import { ModalForm, ProFormSelect, ProFormTextArea, } from '@ant-design/pro-components'; import { Button, Form, Input, Popconfirm, message } from 'antd'; import { useState } from 'react'; export default ({ setCheckVisible, isMainOrder, orders, onClose }) => { const [form] = Form.useForm<{ supplier: string }>(); const [checkNotes, setCheckNotes] = useState<string>(''); console.log(isMainOrder); let ids: any[] = orders.map((order: any) => order.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<{ supplier: 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 () => { let res = await postServiceOrderProcureConvertWarehouseKeeper( { data: { subIds: ids, 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.supplier === '0') { message.error('选择转回仓库请点击转回仓库按钮!'); return; } let procureIsPrintAndSend = true; return doCheck({ ...values, subOrderIds: ids, procureIsPrintAndSend: procureIsPrintAndSend, }); }} onOpenChange={setCheckVisible} > <ProFormSelect key="key" label="采购名称" width="lg" name="supplier" // 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; }} /> <ProFormTextArea label="备注" name="procureNotes" key="procureNotes" /> </ModalForm> ); };