AuditModal.tsx
2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
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>
</>
);
};