|
@@ -1,6 +1,6 @@
|
|
|
import React, { useEffect, useState, useRef, useMemo } from 'react';
|
|
|
import '@ant-design/compatible/assets/index.css';
|
|
|
-import { Modal, Input, Select, message, Cascader, Form, Tabs, Row, Col, Empty } from 'antd';
|
|
|
+import { Modal, Input, Select, message, Cascader, Form, Tabs, Row, Col, Empty, Button } from 'antd';
|
|
|
import { connect } from 'dva';
|
|
|
import { isArray, result } from 'lodash';
|
|
|
import { useForm } from 'rc-field-form';
|
|
@@ -11,6 +11,7 @@ import { queryDingSchema } from '@/services/boom';
|
|
|
import { Form as Form3x } from '@ant-design/compatible';
|
|
|
import { getCurrentUser } from '@/utils/authority';
|
|
|
import DDCode from '@/components/DDComponents/DDCode';
|
|
|
+import { uploadFile } from '@/services/boom';
|
|
|
|
|
|
const { TextArea } = Input;
|
|
|
const { Option } = Select;
|
|
@@ -18,7 +19,17 @@ const { TabPane } = Tabs;
|
|
|
|
|
|
// 提交
|
|
|
function CommitAuditModal(props) {
|
|
|
- const { visible, onClose, onOk, loading, version, versionList, flowDetail, currentUser } = props;
|
|
|
+ const {
|
|
|
+ visible,
|
|
|
+ onClose,
|
|
|
+ onOk,
|
|
|
+ loading,
|
|
|
+ version,
|
|
|
+ versionList,
|
|
|
+ flowDetail,
|
|
|
+ currentUser,
|
|
|
+ luckysheet,
|
|
|
+ } = props;
|
|
|
const [auditId, setAuditId] = useState();
|
|
|
const [data, setData] = useState([]);
|
|
|
const [length, setLength] = useState(1);
|
|
@@ -185,7 +196,7 @@ function CommitAuditModal(props) {
|
|
|
setAuditList(addAuditList);
|
|
|
};
|
|
|
|
|
|
- const getFromData = idList => {
|
|
|
+ const getFromData = async idList => {
|
|
|
const data = formComponentValues;
|
|
|
const result = [];
|
|
|
//获取流转节点的层级关系
|
|
@@ -210,14 +221,16 @@ function CommitAuditModal(props) {
|
|
|
// }
|
|
|
// });
|
|
|
// }
|
|
|
+ let attachment = await upload();
|
|
|
firstList.forEach(id => {
|
|
|
let approvalNode = flowDetail.nodes.find?.(item => item.Id == id);
|
|
|
+ let values = data[approvalNode.Id] || [];
|
|
|
const formItem = {
|
|
|
processCode: approvalNode.process_code,
|
|
|
originatorUserId: currentUser.DingUserId || getCurrentUser()?.DingUserId, //'16569001414345099',
|
|
|
deptId: '14237557', //currentUser.DingDepId || getCurrentUser()?.DingDepId,
|
|
|
template_node_id: `${approvalNode.Id}`,
|
|
|
- formComponentValues: data[approvalNode.Id] || [],
|
|
|
+ formComponentValues: [...values, { name: '附件', value: JSON.stringify(attachment) }],
|
|
|
};
|
|
|
result.push(JSON.stringify(formItem));
|
|
|
});
|
|
@@ -266,7 +279,7 @@ function CommitAuditModal(props) {
|
|
|
}
|
|
|
|
|
|
const flowPath = result.map(item => getFlowPath(item));
|
|
|
- const formList = getFromData(result);
|
|
|
+ const formList = await getFromData(result);
|
|
|
let params = {
|
|
|
desc: fieldsValue.desc,
|
|
|
// 审核流程id
|
|
@@ -323,6 +336,28 @@ function CommitAuditModal(props) {
|
|
|
</Form.Item>
|
|
|
);
|
|
|
};
|
|
|
+ const upload = async () => {
|
|
|
+ let blob = await luckysheet.current.getExcelBolb();
|
|
|
+ let formData = new FormData();
|
|
|
+ formData.append('userid', currentUser.DingUserId);
|
|
|
+ formData.append('file', new File([blob], `${version.version_name}_${version.version_no}.xlsx`));
|
|
|
+
|
|
|
+ let res = await uploadFile(formData);
|
|
|
+ let data;
|
|
|
+ try {
|
|
|
+ debugger;
|
|
|
+ data = JSON.parse(res.dentry);
|
|
|
+ return [{
|
|
|
+ spaceId: String(data.spaceId),
|
|
|
+ fileName: data.name,
|
|
|
+ fileSize: String(data.spaceId),
|
|
|
+ fileType: data.extension,
|
|
|
+ fileId: data.id,
|
|
|
+ }];
|
|
|
+ } catch (error) {
|
|
|
+ message.error('附件上传失败');
|
|
|
+ }
|
|
|
+ };
|
|
|
|
|
|
return (
|
|
|
<Modal
|
|
@@ -356,13 +391,11 @@ function CommitAuditModal(props) {
|
|
|
</Form.Item>
|
|
|
<Form.Item labelCol={{ span: 7 }} wrapperCol={{ span: 15 }} label="授权码" name="ddCode">
|
|
|
<DDCode />
|
|
|
+ {/* <Button onClick={upload}>上传文件</Button> */}
|
|
|
</Form.Item>
|
|
|
</Form>
|
|
|
<Tabs defaultActiveKey="1">
|
|
|
{auditList.map((item, idx) => (
|
|
|
- // <TabPane tab={item.label} key={`${item.Id}_${item.label}`}>
|
|
|
- // <AuditDetailed />
|
|
|
- // </TabPane>
|
|
|
<TabPane tab={item.name} key={`${idx}_${item.title}`}>
|
|
|
<Row>
|
|
|
<Col span={17}>{item.FormComponents}</Col>
|