|
@@ -22,9 +22,8 @@ function CommitAuditModal(props) {
|
|
|
const [length, setLength] = useState(1);
|
|
|
const [formData, setFromData] = useState({});
|
|
|
const [auditList, setAuditList] = useState([]); //用于创建Tabs表单
|
|
|
- const [formComponentValues, setFormComponentValues] = useState([]); //用于创建Tabs表单
|
|
|
+ const [formComponentValues, setFormComponentValues] = useState({}); //用于创建Tabs表单
|
|
|
const [form] = Form.useForm();
|
|
|
- const formDataRef = useRef([]);
|
|
|
|
|
|
useEffect(() => {
|
|
|
if (!visible) return;
|
|
@@ -147,12 +146,12 @@ function CommitAuditModal(props) {
|
|
|
}
|
|
|
}
|
|
|
console.log(addAuditList);
|
|
|
- addAuditList = addAuditList.map((item, index) => {
|
|
|
- let FormComponents = Form3x.create({
|
|
|
+ addAuditList.forEach((item, index) => {
|
|
|
+ let Components = Form3x.create({
|
|
|
onValuesChange: (props, changedValues, allValues) => {
|
|
|
const { items } = props;
|
|
|
console.log(props, allValues);
|
|
|
- formComponentValues[index] = items
|
|
|
+ formComponentValues[item.formCode] = items
|
|
|
.map(item => {
|
|
|
const itemProps = item.props;
|
|
|
if (!itemProps.label) return;
|
|
@@ -166,21 +165,55 @@ function CommitAuditModal(props) {
|
|
|
}
|
|
|
return {
|
|
|
name: itemProps.label,
|
|
|
- id: itemProps.id,
|
|
|
- value: allValues[itemProps.id],
|
|
|
+ // id: itemProps.id,
|
|
|
+ value: allValues[itemProps.id] || '',
|
|
|
};
|
|
|
})
|
|
|
.filter(item => item);
|
|
|
- setFormComponentValues([...formComponentValues])
|
|
|
+ setFormComponentValues({ ...formComponentValues });
|
|
|
},
|
|
|
})(AuditDetailed);
|
|
|
+ item.FormComponents = <Components items={item.schemaContent.items} />;
|
|
|
+ });
|
|
|
+ setAuditList(addAuditList);
|
|
|
+ };
|
|
|
|
|
|
- return {
|
|
|
- ...item,
|
|
|
- FormComponents: <FormComponents items={item.schemaContent.items} />,
|
|
|
+ const getFromData = idList => {
|
|
|
+ const data = formComponentValues;
|
|
|
+ const result = [];
|
|
|
+ //获取流转节点的层级关系
|
|
|
+ let len = 0;
|
|
|
+ let list = [];
|
|
|
+ idList.forEach(item => {
|
|
|
+ if (len < item.length) len = item.length;
|
|
|
+ });
|
|
|
+ for (let i = 0; i < len; i++) {
|
|
|
+ idList.forEach(item => {
|
|
|
+ if (item && item[i]) list.push(item[i]);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ let firstList = [...new Set(list)];
|
|
|
+ // let firstList = idList[0];
|
|
|
+ // for (let i = 1; i < idList.length; i++) {
|
|
|
+ // let item = idList[i];
|
|
|
+ // item.forEach(itemId => {
|
|
|
+ // let idx = firstList.findIndex(id => id == itemId);
|
|
|
+ // if (idx > 0 && !firstList.find(cur => cur == item[idx - 1])) {
|
|
|
+ // firstList.splice(idx, 0, item[i - 1]);
|
|
|
+ // }
|
|
|
+ // });
|
|
|
+ // }
|
|
|
+ firstList.forEach(id => {
|
|
|
+ let approvalNode = flowDetail.nodes.find?.(item => item.Id == id);
|
|
|
+ const formItem = {
|
|
|
+ processCode: approvalNode.process_code,
|
|
|
+ originatorUserId: '16569001414345099',
|
|
|
+ deptId: '14169890',
|
|
|
+ formComponentValues: data[approvalNode.process_code],
|
|
|
};
|
|
|
+ result.push(JSON.stringify(formItem));
|
|
|
});
|
|
|
- setAuditList(addAuditList);
|
|
|
+ return result;
|
|
|
};
|
|
|
const onFinish = async () => {
|
|
|
var fieldsValue = await form.validateFields();
|
|
@@ -222,6 +255,9 @@ function CommitAuditModal(props) {
|
|
|
message.error('请选择需要流转的业务节点。');
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ const flowPath = result.map(item => getFlowPath(item));
|
|
|
+ const formList = getFromData(result);
|
|
|
let params = {
|
|
|
desc: fieldsValue.desc,
|
|
|
// 审核流程id
|
|
@@ -247,6 +283,7 @@ function CommitAuditModal(props) {
|
|
|
params.flow_id = approvalNode?.flow_id || 0;
|
|
|
params.node_level_id = approvalNode?.flow_id ? 1 : 0;
|
|
|
params.template_node_id = result[0][0]; // 将要流转的节点审批节点
|
|
|
+ params.form_list = formList; //创建钉钉表单所需数据
|
|
|
if (approvalNode?.Id) {
|
|
|
if (!approvalNode?.flow_id) {
|
|
|
hasFlowId = false;
|
|
@@ -255,12 +292,16 @@ function CommitAuditModal(props) {
|
|
|
} else {
|
|
|
//多节点审批
|
|
|
params.template_node_id = result[0][0]; // 将要流转的节点审批节点
|
|
|
- params.flow_path = result.map(item => getFlowPath(item));
|
|
|
+ params.flow_path = flowPath;
|
|
|
+ params.form_list = formList; //创建钉钉表单所需数据
|
|
|
}
|
|
|
- // if (!hasFlowId) {
|
|
|
- // message.error('当前存在审批节点未绑定审批流程!请联系管理员。');
|
|
|
- // return;
|
|
|
- // }
|
|
|
+ if (!hasFlowId) {
|
|
|
+ message.error('当前存在审批节点未绑定审批流程!请联系管理员。');
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ console.log(JSON.stringify(params));
|
|
|
+ console.log(params);
|
|
|
onOk(params);
|
|
|
};
|
|
|
|
|
@@ -319,7 +360,10 @@ function CommitAuditModal(props) {
|
|
|
// </TabPane>
|
|
|
<TabPane tab={item.name} key={`${idx}_${item.title}`}>
|
|
|
{item.FormComponents}
|
|
|
- <AuditFlow processCode={item.formCode} formComponentValues={formComponentValues[idx]} />
|
|
|
+ <AuditFlow
|
|
|
+ processCode={item.formCode}
|
|
|
+ formComponentValues={formComponentValues[item.formCode]}
|
|
|
+ />
|
|
|
</TabPane>
|
|
|
))}
|
|
|
</Tabs>
|