AuditNodeModal.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import React, { useEffect } from 'react';
  2. import { Modal, Input, Table, Select, Form, Radio } from 'antd';
  3. const { Option } = Select;
  4. // 审批意见
  5. function AuditModal(props) {
  6. const { visible, onCancel, onOk, userList = [], data = {}, loading } = props;
  7. const [form] = Form.useForm();
  8. const formLayout = { labelCol: { span: 4 }, wrapperCol: { span: 14 } };
  9. const handleOk = async () => {
  10. let fieldsValue = await form.validateFields();
  11. const { label, value } = fieldsValue.auditUser;
  12. fieldsValue.AuditorUser = {
  13. CName: label,
  14. };
  15. fieldsValue.auditor = value;
  16. // 如果id不存在则使用时间戳作为id
  17. fieldsValue.id = data?.id || new Date() * 1;
  18. onOk(fieldsValue);
  19. };
  20. useEffect(() => {
  21. if (visible) form.resetFields();
  22. }, [visible]);
  23. return (
  24. <Modal
  25. confirmLoading={loading}
  26. title="审批节点"
  27. visible={visible}
  28. onCancel={onCancel}
  29. onOk={handleOk}
  30. >
  31. <Form {...formLayout} form={form} initialValues={data}>
  32. <Form.Item label="节点名" name="node">
  33. <Input />
  34. </Form.Item>
  35. <Form.Item label="审批级别" name="seq">
  36. <Select style={{ width: '100%' }}>
  37. <Option value={1}>一级</Option>
  38. <Option value={2}>二级</Option>
  39. <Option value={3}>三级</Option>
  40. {/* <Option value={1}>流程1</Option> */}
  41. </Select>
  42. </Form.Item>
  43. <Form.Item label="审批人" initialValue={data?.auditor} name="auditUser">
  44. <Select
  45. showSearch
  46. labelInValue
  47. style={{ width: '100%' }}
  48. filterOption={(input, option) => option.props.children.indexOf(input) >= 0}
  49. >
  50. {userList.map(item => (
  51. <Option key={item.ID} value={item.ID}>
  52. {item.CName}
  53. </Option>
  54. ))}
  55. </Select>
  56. </Form.Item>
  57. <Form.Item initialValue={data?.seq_relate || 1} label="审批关系" name="seq_relate">
  58. <Radio.Group>
  59. <Radio value={1}>或</Radio>
  60. <Radio value={2}>并</Radio>
  61. </Radio.Group>
  62. </Form.Item>
  63. </Form>
  64. </Modal>
  65. );
  66. }
  67. export default AuditModal;