CreateChildrenModal.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. import { CloudUploadOutlined } from '@ant-design/icons';
  2. import { Modal, Form, Input, Button } from 'antd';
  3. import { useEffect, useState } from 'react';
  4. const CreateChildrenModal = ({
  5. loading,
  6. parentId,
  7. open,
  8. onOk,
  9. handleCancel,
  10. }) => {
  11. const [form] = Form.useForm();
  12. const layout = {
  13. labelCol: { span: 6 },
  14. wrapperCol: { span: 16 },
  15. };
  16. const [upLoading, setUpLoading] = useState([]);
  17. useEffect(() => {
  18. if (!open) return;
  19. form.resetFields();
  20. }, [open]);
  21. function dwgUpload() {
  22. let uploadDwg = document.getElementById('uploadDwg');
  23. uploadDwg.click();
  24. }
  25. function uploadDwg(event) {
  26. const selectedFile = event.target.files[0];
  27. if (selectedFile) {
  28. setUpLoading(true);
  29. ZwCloud2D.ZwDataProcessor.uploadDwg(selectedFile).then((res) => {
  30. if (res.code == 200) {
  31. const oldPath = form.getFieldValue('cad_path');
  32. const cad_path = oldPath
  33. ? oldPath + ',' + res.data.path
  34. : res.data.path;
  35. form.setFieldsValue({ cad_path });
  36. }
  37. setUpLoading(false);
  38. });
  39. }
  40. }
  41. const handleOk = () => {
  42. form.validateFields().then((values) => {
  43. if (!values.cad_path) values.cad_path = 'test';
  44. values.parent_id = parentId;
  45. console.log(values);
  46. onOk(values);
  47. });
  48. };
  49. return (
  50. <Modal
  51. title="新建版本"
  52. width={800}
  53. open={open}
  54. confirmLoading={loading}
  55. onOk={handleOk}
  56. onCancel={handleCancel}
  57. >
  58. <Form {...layout} name="basic" form={form}>
  59. <Form.Item name="version" label="版本:" rules={[{ required: true }]}>
  60. <Input />
  61. </Form.Item>
  62. <Form.Item name="cad_path" label="上传:">
  63. <Button
  64. loading={upLoading}
  65. icon={<CloudUploadOutlined />}
  66. onClick={dwgUpload}
  67. >
  68. 上传
  69. </Button>
  70. {form.getFieldValue('cad_path')}
  71. </Form.Item>
  72. <Form.Item name="remark" label="备注:">
  73. <Input.TextArea />
  74. </Form.Item>
  75. </Form>
  76. <input
  77. // multiple
  78. style={{ display: 'none' }}
  79. id="uploadDwg"
  80. type="file"
  81. onChange={uploadDwg}
  82. accept=".dwg, .dxf"
  83. />
  84. </Modal>
  85. );
  86. };
  87. export default CreateChildrenModal;