// import { PlusOutlined } from '@ant-design/icons'; import { RESPONSE_CODE } from '@/constants/enum'; import { postServiceOrderEditOrder, postServiceOrderInvoicing, } from '@/services'; import { enumToSelect } from '@/utils'; import { DrawerForm, ProFormDatePicker, ProFormSelect, ProFormText, ProFormTextArea, } from '@ant-design/pro-components'; import { Form, message } from 'antd'; import { useEffect, useState } from 'react'; import { INVOCING_STATUS_OPTIONS_OLD } from '../constant'; export default ({ mainOrder, subOrders, isEdit, isMainOrder, cancel, onClose, }) => { const [invoicingStatus, setInvoicingStatus] = useState(''); const subIds = subOrders.map((item) => item.id); useEffect(() => { // 在组件挂载或数据变化时,更新组件状态 if (mainOrder) { setInvoicingStatus(subOrders[0]?.invoicingStatus); } }, [mainOrder]); const [form] = Form.useForm<{ name: string; company: string }>(); return ( <DrawerForm<{ name: string; company: string; }> open title="财务信息" resize={{ onResize() { console.log('resize!'); }, maxWidth: window.innerWidth * 0.8, minWidth: 400, }} initialValues={mainOrder} form={form} autoFocusFirstInput drawerProps={{ destroyOnClose: true, }} submitTimeout={2000} onFinish={async () => { let res; let body = { invoicingTime: form.getFieldValue('invoicingTime'), subIds: subIds, collectMoneyTime: form.getFieldValue('collectMoneyTime'), invoicingNotes: form.getFieldValue('invoicingNotes'), invoicingStatus: form.getFieldValue('invoicingStatus'), mainorderOrSubOrderInvoicing: isMainOrder, }; if (isEdit) { res = await postServiceOrderEditOrder({ data: body }); } else { res = await postServiceOrderInvoicing({ data: body }); } if (res.result === RESPONSE_CODE.SUCCESS) { message.success(res.message); onClose(); } }} onOpenChange={(val) => { return !val && cancel(); }} > {isMainOrder ? ( <ProFormSelect placeholder="选择是否需要开票" name="invoicingStatus" width="lg" label="是否需要开票" options={enumToSelect(INVOCING_STATUS_OPTIONS_OLD)} onChange={setInvoicingStatus} initialValue={subOrders[0]?.invoicingStatus} // disabled={mainInfoDisbled} rules={[{ required: true, message: '是否需要开票必填' }]} /> ) : ( '' )} <ProFormText width="lg" name="invoiceIdentificationNumber" label="开票信息" placeholder="请输入开票信息" disabled /> <ProFormText width="lg" name="bank" label="开户银行" placeholder="请输入开户银行" disabled /> <ProFormText width="lg" name="bankAccountNumber" label="开户银行账号" placeholder="请输入开户银行账号" disabled /> {invoicingStatus !== 'UN_INVOICE' ? [ <ProFormDatePicker key="invoicingTime" width="lg" name="invoicingTime" label="开票时间" disabled={isEdit} rules={[ { required: !isEdit ? true : false, message: '这是必填项' }, ]} initialValue={subOrders[0]?.invoicingTime} />, <ProFormDatePicker key="collectMoneyTime" width="lg" name="collectMoneyTime" label="收款时间" initialValue={subOrders[0]?.collectMoneyTime} />, ] : ''} {/* <ProFormSelect placeholder="是否完全开票" name="invoicingType" width="lg" label="是否完全开票" options={[{label:'部分开票',value:'部分开票'},{label:'完全开票',value:'完全开票'}]} onChange={setInvoicingStatus} initialValue={'完全开票'} // disabled={mainInfoDisbled} rules={[{ required: true, message: '是否需要开票必填' }]} /> */} <ProFormTextArea width="lg" name="invoicingNotes" label="备注" initialValue={subOrders[0]?.invoicingNotes} /> </DrawerForm> ); };