import React, { useState, useEffect, useRef, useMemo } from 'react'; import { Form, Select, Button, Table, Input, Checkbox, Divider, Tabs } from 'antd'; import { connect } from 'dva'; import AuditNodeModal from './AuditNodeModal'; import AuditModal from './AuditModal'; import styles from './Audit.less'; import router from 'umi/router'; import Flow, { FLOW_TYPE } from '@/components/Flow'; import AuditForm from '@/components/AuditForm'; import { async } from '@antv/x6/lib/registry/marker/async'; const { Option } = Select; const { TabPane } = Tabs; const FLOWID = 2; function Audit(props) { const { roleList, currentItem, dispatch, formItems, formData, flowDetail, simpleFlowDteail, } = props; const ref = useRef(); const curItem = useMemo(() => { let item = localStorage.getItem('currentAudit'); return JSON.stringify(currentItem) == '{}' ? JSON.parse(item) : currentItem; }, [currentItem, localStorage.getItem('currentAudit')]); useEffect(() => { dispatch({ type: 'flow/queryProcessFlows', payload: { ids: Number(curItem.id) }, }); dispatch({ type: 'user/getRoleList', }); dispatch({ type: 'user/fetch', }); dispatch({ type: 'user/fetchDepV2', }); }, []); const onChange = values => { dispatch({ type: 'xflow/save', payload: { formData: values, }, }); }; const handleSaveClick = async () => { //只修改表单不渲染xflow getGraphData方法找不到,保存接口返回的flowDetail数据 if (!ref.current?.getGraphData) { let param = { // name: curItem.name, id: Number(curItem.id), form_json: JSON.stringify(formItems), process_json: JSON.stringify(flowDetail), process_simple_json: simpleFlowDteail, }; dispatch({ type: 'flow/saveAuditFlowInfo', payload: param }); return; } await ref.current?.getGraphData?.((data, simpleNodes) => { let param = { // name: curItem.name, id: Number(curItem.id), form_json: JSON.stringify(formItems), process_json: data, process_simple_json: simpleNodes, }; dispatch({ type: 'flow/saveAuditFlowInfo', payload: param }); }); }; return (
{curItem.name}