import { advanceSubmitNextNode } from '@/services/boom'; import { CloudUploadOutlined } from '@ant-design/icons'; import { useModel, useRequest } from '@umijs/max'; import { Modal, Form, Input, Upload, Select, Button, Steps, Row, Col, Cascader, } from 'antd'; import { useEffect, useState } from 'react'; import ApprovalProcess from '@/pages/Flow/components/ApprovalProcess'; import { getRandomString } from '@/utils/utils'; //计算审批流数据 const advance = { flow_id: 67, form_list: null, formComponentValues: '', }; const formItemValues = [ { name: '是否PID图和平面图', id: 'DDSelectField_b8169258-d569-442e-a7b0-e2bd171aaac2', type: 'DDSelectField', value: [], }, // { // name: '图纸审批"', // id: 'TextField_eb5b191b-6135-48ba-a01c-5609ed367d83"', // type: 'TextField', // value: [], // }, ]; const CreateModal = ({ loading, projectList, dirList, open, onOk, handleCancel, }) => { const { userList, run: userListRun } = useModel('userList'); const [form] = Form.useForm(); const layout = { labelCol: { span: 6 }, wrapperCol: { span: 16 }, }; const [upLoading, setUpLoading] = useState([]); const [auditCheck, setAuditCheck] = useState([]); const [approvalProcess, setApprovalProcess] = useState([]); const pic_type = Form.useWatch('pic_type', form); const [cadPath, setCadPath] = useState([]); useEffect(() => { if (!open) return; form.resetFields(); setCadPath([]); setApprovalProcess([]); userListRun(); const params = { ...advance }; runAuditList(params); }, [open]); useEffect(() => { const formComponentValues = [...formItemValues]; formComponentValues[0].value = [pic_type]; runAuditList({ ...advance, formComponentValues }); }, [pic_type]); //填写表单时计算审批流接口 const { run: runAuditList } = useRequest( (data) => advanceSubmitNextNode(data), { debounceInterval: 500, manual: true, formatResult(res) { setApprovalProcess(res.data[0]); }, }, ); // function dwgUpload() { // let uploadDwg = document.getElementById('uploadDwg'); // uploadDwg.click(); // } // function uploadDwg(event) { // const selectedFile = event.target.files[0]; // if (selectedFile) { // setUpLoading(true); // ZwCloud2D.ZwDataProcessor.uploadDwg(selectedFile).then((res) => { // if (res.code == 200) { // const oldPath = form.getFieldValue('cad_path'); // const cad_path = oldPath // ? oldPath + ',' + res.data.path // : res.data.path; // form.setFieldsValue({ cad_path }); // } // setUpLoading(false); // }); // } // } const UploadProps = { action: `https://cad.greentech.com.cn/sdk/doc/upload`, multiple: true, data: { path: getRandomString() }, headers: { 'JWT-TOKEN': localStorage.getItem('JWT-TOKEN'), }, onChange({ file, fileList }) { if (file.status !== 'uploading') { setCadPath([...cadPath, file.response.data.path]); } }, }; const handleOk = () => { let audit_list = []; let cc_list = []; approvalProcess?.forEach((item, index) => { let arr = item[0].is_cc === 1 ? cc_list : audit_list; if (item[0].type === 'role') arr.push(auditCheck[index]); else if (item[0].type === 'leader') arr.push( ...leaderData.slice(0, item[0].value).map((leader) => leader.ID), ); else arr.push(item.map((cur) => cur.value)); }); form.validateFields().then((values) => { if (values.project_id) values.project_name = projectList.find( (item) => item.value == values.project_id, )?.label; if (values.dir_id) values.dir_name = values.dir_id.join(','); values.dir_id = 0; if (!values.cad_path) values.cad_path = cadPath.join(','); console.log(values, audit_list); onOk(values, { audit_list: audit_list.flat(), cc_list: cc_list.flat() }); }); }; return (
{/* {form.getFieldValue('cad_path')} */}
); }; export default CreateModal;