OaDetail.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import React from 'react';
  2. import { PageContainer } from '@ant-design/pro-components';
  3. import { Col, Empty, Row } from 'antd';
  4. import ApprovalProcess from './components/ApprovalProcess';
  5. import { queryGetBomForm } from '@/services/boom';
  6. const OaDetail = () => {
  7. const [approvalProcess, setApprovalProcess] = useState([]);
  8. const items = [];
  9. const initFormList = async () => {
  10. const res = await queryGetBomForm({
  11. project_id: version.project_id,
  12. node_id: version.template_node_id,
  13. });
  14. if (res.data) {
  15. const formList = JSON.parse(res.data.json);
  16. setApprovalProcess(formList.approvalProcess || {});
  17. return formList.approvalProcess;
  18. }
  19. };
  20. //填写表单实时计算审批流程
  21. const advanceSubmit = async () => {
  22. console.log('重重新计算审批流程');
  23. var fieldsValue = await form.validateFields();
  24. let result = Object.values(fieldsValue)
  25. .map((item) => {
  26. if (item && Array.isArray(item)) return item;
  27. })
  28. .filter((item) => item);
  29. const formList = await getFromData(result);
  30. let params = {
  31. desc: fieldsValue.desc,
  32. // 审核流程id
  33. flow_id: 0,
  34. node_level_id: 0,
  35. id: version.id,
  36. project_id: version.project_id,
  37. cur_template_node_id: version.template_node_id * 1, // 当前节点
  38. next_template_node_id: 0, // 审核完成后的业务节点
  39. template_node_id: null, // 将要流转的节点审批节点
  40. flow_path: null, //审批节点数组
  41. // 模板id.一致就行
  42. template_id: version.template_id,
  43. cur_template_id: version.template_id,
  44. next_template_id: version.template_id,
  45. form_list: formList,
  46. };
  47. dispatch({
  48. type: 'detail/advanceSubmitNextNode',
  49. payload: params, //values,
  50. callback: (data) => {
  51. if (data) {
  52. setApprovalProcess(data);
  53. }
  54. },
  55. });
  56. };
  57. return (
  58. <PageContainer>
  59. <Row>
  60. <Col span={17}>
  61. <Components items={items} onChange={advanceSubmit} />
  62. </Col>
  63. <Col offset={1} span={6}>
  64. {approvalProcess.length == 0 ? ( //!formComponentValues[item.nodeId] ||
  65. <Empty description="请先填写表单" />
  66. ) : (
  67. <ApprovalProcess
  68. approvalProcess={approvalProcess}
  69. onChange={setApprovalProcess}
  70. />
  71. )}
  72. </Col>
  73. </Row>
  74. </PageContainer>
  75. );
  76. };
  77. export default OaDetail;