import { RESPONSE_CODE } from '@/constants/enum'; import { postCommonAudit } from '@/services'; import { ModalForm, ProFormTextArea } from '@ant-design/pro-components'; import { Button, Form, message } from 'antd'; import { cloneDeep } from 'lodash'; // import { cloneDeep } from 'lodash'; export default ({ setVisible, ids, onClose }) => { const [form] = Form.useForm(); let auditIds = cloneDeep(ids); const parseValues = (values: any) => { values.ids = auditIds; values.notes = form.getFieldValue('auditNotes'); }; const doAudit = async (values: any) => { values.type = 'research_group_member_request_audit'; let res = await postCommonAudit({ data: values }); if (res && res.result === RESPONSE_CODE.SUCCESS) { message.success(res.message); onClose(); } }; const loadbtns = (props: any, defaultDoms: any) => { let btns = []; //取消 btns.push(defaultDoms[0]); //驳回 btns.push( <Button type="primary" onClick={() => { let values = form.getFieldsValue(); values.pass = false; parseValues(values); doAudit(values); }} > 驳回 </Button>, ); //确认 btns.push(defaultDoms[1]); return btns; }; return ( <> <ModalForm width={500} open title="审核" form={form} autoFocusFirstInput modalProps={{ okText: '通过', cancelText: '取消', destroyOnClose: true, onCancel: () => { setVisible(false); }, }} onFinish={async (values) => { values.pass = true; parseValues(values); doAudit(values); onClose(); }} onOpenChange={setVisible} submitter={{ render: (props, defaultDoms) => { return loadbtns(props, defaultDoms); }, }} > <ProFormTextArea name="auditNotes" key="auditNotes" placeholder="备注" label="若驳回,请填写备注" /> </ModalForm> </> ); };