Commit cabbef77 by zhaochengxiang

模型流程

parent 0def22f6
......@@ -30,6 +30,7 @@ const EditModel = (props) => {
const [ editInheritedParam, setEditInheritedParms ] = useState({visible: false, modelerData: undefined});
const [loadingApprovalData, setLoadingApprovalData] = useState(false)
const [approvalData, setApprovalData] = useState()
const [currentApprovalModelId, setApprovalModelId] = useState()
const actionRef = useRef('');
const attrIsEditingRef = useRef(false);
......@@ -72,6 +73,7 @@ const EditModel = (props) => {
setActionData({ action: _action, catalogId: _catalogId, modelerId: _modelerId, hints: _hints, roughModelerData: _roughModelerData, permitCheckOut: (_permitCheckOut==='true'), editable: (_editable==='true'), stateId: _stateId, versionId: _versionId, holder: _holder, ddl: _ddl, readOnly: _readOnly, branchId: _branchId, approvalId: _approvalId, approvalType: _approvalType });
actionRef.current = _action;
setApprovalModelId(_modelerId);
const interval = setInterval(() => {
heartbeat();
......@@ -446,10 +448,10 @@ const EditModel = (props) => {
actionsBtn = <PhysicalModelApprovalBottom
loading={loadingApprovalData}
data={approvalData}
id={modelerId}
id={currentApprovalModelId}
type={approvalType}
onChange={(val) => {
setActionData({ ...actionData, modelerId: val })
setApprovalModelId(val)
}}
/>
} else {
......@@ -519,7 +521,7 @@ const EditModel = (props) => {
</div>
<div className='edit-container'>
<div className='edit-container-card'>
<ImportAction ref={importActionRef} hints={hints} onChange={onActionChange} action={action} modelerId={modelerId} catalogId={catalogId} ddl={ddl} form={form} terms={terms} roughModelerData={roughModelerData} permitCheckOut={permitCheckOut} stateId={stateId} versionId={versionId} branchId={branchId} autoTabKey={autoTabKey} {...props} />
<ImportAction ref={importActionRef} hints={hints} onChange={onActionChange} action={action} modelerId={modelerId} catalogId={catalogId} ddl={ddl} form={form} terms={terms} roughModelerData={roughModelerData} permitCheckOut={permitCheckOut} stateId={stateId} versionId={versionId} branchId={branchId} autoTabKey={autoTabKey} approvalModelId={currentApprovalModelId} approvalId={approvalId} {...props} />
</div>
</div>
<div className='edit-footer'>
......@@ -599,10 +601,18 @@ const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk }
placeholder='选择评审结论'
allowClear
style={{
width: '100%'
width: 150,
}}
onChange={(val) => {
setItem(prev => {
return Object.assign({}, prev,
(type==='design') ? {
designReviewPass: val
}: {
standardReviewPass: val
}
)
})
}}
>
<Select.Option value={true}>通过</Select.Option>
......@@ -614,7 +624,15 @@ const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk }
autoSize={{ minRows: 1, maxRows: 3 }}
allowClear
onChange={(e) => {
setItem(prev => {
return Object.assign({}, prev,
(type==='design') ? {
designReviewComment: e.target.value
}: {
standardReviewComment: e.target.value
}
)
})
}}
/>
<Button type='primary'>确定</Button>
......
......@@ -18,7 +18,7 @@ import './ImportAction.less'
export const importActionSubject = new Subject()
const ImportAction = React.forwardRef((props, ref) => {
const { action, hints, onChange, form, modelerId, terms, ddl, roughModelerData, versionId, permitCheckOut, catalogId, branchId } = props;
const { action, hints, onChange, form, modelerId, terms, ddl, roughModelerData, versionId, permitCheckOut, catalogId, branchId, approvalModelId, approvalId } = props;
const [ constraints, setConstraints ] = useState([]);
const [ constraint, setConstraint ] = useState({});
......@@ -52,7 +52,7 @@ const ImportAction = React.forwardRef((props, ref) => {
//流程打开模型详情的情况下,id由-1变成-2,会再次触发获取模型详情.这里直接return掉
if (!mountRef.current && action === 'flow') {
if (approvalId || (!mountRef.current&&action === 'flow')) {
return;
}
......@@ -105,7 +105,42 @@ const ImportAction = React.forwardRef((props, ref) => {
})
//eslint-disable-next-line react-hooks/exhaustive-deps
}, [action, hints, modelerId, ddl ]);
}, [action, hints, modelerId, ddl, approvalId ]);
useEffect(() => {
if (approvalModelId) {
//把数据表结构中的数据清空,解决性能问题
const newModelerData = { ...modelerData, easyDataModelerDataModelAttributes: [] };
onChange && onChange(newModelerData);
setModelerData(newModelerData);
modelerDataRef.current = newModelerData;
setLoading(true);
dispatch({
type: 'datamodel.getAllConstraints',
callback: data => {
setConstraints(data);
dispatch({
type: 'datamodel.getDataModelWithRecommendedDefinitionAndTermDiscovery',
payload: {
id: approvalModelId,
},
callback: data => {
setLoading(false);
getExtraData(data);
},
error: () => {
setLoading(false);
}
})
},
error: () => {
setLoading(false);
}
})
}
}, [approvalModelId])
useEffect(() => {
if (constraint?.name) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment