import { RESPONSE_CODE } from '@/constants/enum'; import { postServiceInvoiceFindInvoiceOld, postServiceInvoiceReissueOld, postServiceOrderFindServiceOrder, } from '@/services'; import { ModalForm, ProFormSelect, ProFormText, ProFormTextArea, } from '@ant-design/pro-components'; import { Form } from 'antd'; import { useEffect, useState } from 'react'; export default ({ setVisible, mainOrder, onClose }) => { const [invoiceSelectList, setInvoiceSelectList] = useState([]); const [mainOrders, setMainOrders] = useState(''); const [submitting, setSubmitting] = useState(false); const [form] = Form.useForm<{ invoiceId: string; notes: string }>(); let getInvoiceSelectList = async () => { console.log(mainOrder); const res = await postServiceInvoiceFindInvoiceOld({ data: { mainOrderId: mainOrder.id, }, }); setInvoiceSelectList([]); if (res && res.result === RESPONSE_CODE.SUCCESS) { let temInvoiceSelectList = []; res.data.forEach((item) => { temInvoiceSelectList.push({ label: item.invoiceNumber, value: item.id, }); }); setInvoiceSelectList(temInvoiceSelectList); } }; useEffect(() => { getInvoiceSelectList(); }, []); return ( <ModalForm title="重新开票(旧)" form={form} width={500} open autoFocusFirstInput initialValues={{}} modalProps={{ okText: '确认', cancelText: '取消', destroyOnClose: true, onCancel: () => { setVisible(false); }, }} submitting={submitting} onFinish={async (values) => { setSubmitting(true); postServiceInvoiceReissueOld({ data: values, }); setVisible(false); onClose(); }} submitTimeout={2000} > <ProFormSelect width="lg" name="invoiceId" label="选择要重新开的发票" options={invoiceSelectList} onChange={async (value) => { console.log(value); let result = await postServiceOrderFindServiceOrder({ data: { invoiceId: value, }, }); if (result && result.result === RESPONSE_CODE.SUCCESS) { //对data里面每个元素的id用,进行拼接 let map = result.data.map((item) => item.id); let str = map.join(','); setMainOrders(str); } }} /> <ProFormText width="lg" name="purchaser" label="抬头名称" key="purchaser" placeholder="请输入抬头名称" rules={[{ required: true, message: '抬头名称必填' }]} /> <ProFormText width="md" name="关联订单" label="发票关联订单号" readonly={true} value={mainOrders} /> <ProFormTextArea width="lg" name="notes" rules={[ { required: true, // 设置为必填 message: '必须填写重新开票原因', // 当未填写时显示的提示信息 }, ]} placeholder="请填写订单重新开票的原因" /> </ModalForm> ); };