Commit eead7f2e by zhaochengxiang

资产导入

parent 44a09452
...@@ -146,6 +146,10 @@ export function* getDraftUsingDDL(payload) { ...@@ -146,6 +146,10 @@ export function* getDraftUsingDDL(payload) {
return yield call(datamodelerService.draftUsingDDL, payload); return yield call(datamodelerService.draftUsingDDL, payload);
} }
export function* getDraftUsingMetadataId(payload) {
return yield call(datamodelerService.draftUsingMetadataId, payload);
}
export function* getConsult(payload) { export function* getConsult(payload) {
return yield call(datamodelerService.consult, payload); return yield call(datamodelerService.consult, payload);
} }
......
...@@ -98,6 +98,10 @@ export function draftUsingDDL(payload) { ...@@ -98,6 +98,10 @@ export function draftUsingDDL(payload) {
return PostJSON("/datamodeler/easyDataModelerDesign/draftUsingDDL", payload); return PostJSON("/datamodeler/easyDataModelerDesign/draftUsingDDL", payload);
} }
export function draftUsingMetadataId(payload) {
return PostJSON("/datamodeler/easyDataModelerDesign/draftUsingMetadataTableId", payload);
}
//切换模版或者规范时调用 //切换模版或者规范时调用
export function consult(payload) { export function consult(payload) {
return PostJSON("/datamodeler/easyDataModelerDesign/consult", payload); return PostJSON("/datamodeler/easyDataModelerDesign/consult", payload);
......
...@@ -10,6 +10,7 @@ export const CatalogId = 'cid'; ...@@ -10,6 +10,7 @@ export const CatalogId = 'cid';
export const RequireId = 'rid'; export const RequireId = 'rid';
export const ModelerId = 'mid'; export const ModelerId = 'mid';
export const LogicId = 'logicId'; export const LogicId = 'logicId';
export const MetadataId = 'metadataId';
export const Hints = 'hints'; export const Hints = 'hints';
export const ModelerData = 'mdata'; export const ModelerData = 'mdata';
export const DDL = 'ddl'; export const DDL = 'ddl';
......
...@@ -7,7 +7,7 @@ import ImportAction from './ImportAction'; ...@@ -7,7 +7,7 @@ import ImportAction from './ImportAction';
import CatalogModal from './CatalogModal'; import CatalogModal from './CatalogModal';
import { dispatchLatest, dispatch } from '../../../../model'; import { dispatchLatest, dispatch } from '../../../../model';
import { getQueryParam, showMessage, showNotifaction } from '../../../../util'; import { getQueryParam, showMessage, showNotifaction } from '../../../../util';
import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, Holder, DDL, RequireId, LogicId } from '../../../../util/constant'; import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, Holder, DDL, RequireId, LogicId, MetadataId } from '../../../../util/constant';
import HistoryAndVersionDrawer from './HistoryAndVersionDrawer'; import HistoryAndVersionDrawer from './HistoryAndVersionDrawer';
import './EditModel.less'; import './EditModel.less';
...@@ -25,7 +25,7 @@ const EditModel = (props) => { ...@@ -25,7 +25,7 @@ const EditModel = (props) => {
const actionRef = useRef(''); const actionRef = useRef('');
const { action, catalogId, modelerId, hints, roughModelerData, permitCheckOut, editable, stateId, versionId, holder, ddl, logicId, requireId } = actionData; const { action, catalogId, modelerId, hints, roughModelerData, permitCheckOut, editable, stateId, versionId, holder, ddl, logicId, metadataId, requireId } = actionData;
const [form] = Form.useForm(); const [form] = Form.useForm();
...@@ -43,6 +43,7 @@ const EditModel = (props) => { ...@@ -43,6 +43,7 @@ const EditModel = (props) => {
const _ddl = getQueryParam(DDL, props.location.search); const _ddl = getQueryParam(DDL, props.location.search);
const _requireId = getQueryParam(RequireId, props.location.search); const _requireId = getQueryParam(RequireId, props.location.search);
const _logicId = getQueryParam(LogicId, props.location.search); const _logicId = getQueryParam(LogicId, props.location.search);
const _metadataId = getQueryParam(MetadataId, props.location.search);
if (_logicId) { if (_logicId) {
_action = 'add' _action = 'add'
...@@ -60,7 +61,7 @@ const EditModel = (props) => { ...@@ -60,7 +61,7 @@ const EditModel = (props) => {
judgeAttributeRepeat(_roughModelerData.easyDataModelerDataModelAttributes); judgeAttributeRepeat(_roughModelerData.easyDataModelerDataModelAttributes);
} }
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, requireId: _requireId, logicId: _logicId }); 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, requireId: _requireId, logicId: _logicId, metadataId: _metadataId });
actionRef.current = _action; actionRef.current = _action;
const interval = setInterval(() => { const interval = setInterval(() => {
...@@ -347,7 +348,7 @@ const EditModel = (props) => { ...@@ -347,7 +348,7 @@ const EditModel = (props) => {
</div> */} </div> */}
<div className='edit-container'> <div className='edit-container'>
<div className='edit-container-card'> <div className='edit-container-card'>
<ImportAction hints={hints} onChange={onActionChange} action={action} modelerId={modelerId} ddl={ddl} form={form} terms={terms} roughModelerData={roughModelerData} permitCheckOut={permitCheckOut} stateId={stateId} versionId={versionId} autoTabKey={autoTabKey} logicId={logicId} {...props} /> <ImportAction hints={hints} onChange={onActionChange} action={action} modelerId={modelerId} ddl={ddl} form={form} terms={terms} roughModelerData={roughModelerData} permitCheckOut={permitCheckOut} stateId={stateId} versionId={versionId} autoTabKey={autoTabKey} logicId={logicId} metadataId={metadataId} {...props} />
</div> </div>
</div> </div>
<div className='edit-footer'> <div className='edit-footer'>
......
...@@ -15,7 +15,7 @@ import { dispatch } from '../../../../model'; ...@@ -15,7 +15,7 @@ import { dispatch } from '../../../../model';
import './ImportAction.less' import './ImportAction.less'
const ImportAction = React.forwardRef((props, ref) => { const ImportAction = React.forwardRef((props, ref) => {
const { action, hints, onChange, form, modelerId, terms, ddl, roughModelerData, versionId, permitCheckOut, catalogId, logicId } = props; const { action, hints, onChange, form, modelerId, terms, ddl, roughModelerData, versionId, permitCheckOut, catalogId, logicId, metadataId } = props;
const [ constraints, setConstraints ] = useState([]); const [ constraints, setConstraints ] = useState([]);
const [ constraint, setConstraint ] = useState({}); const [ constraint, setConstraint ] = useState({});
...@@ -83,6 +83,8 @@ const ImportAction = React.forwardRef((props, ref) => { ...@@ -83,6 +83,8 @@ const ImportAction = React.forwardRef((props, ref) => {
getDraft(data?.length>0?data[0]:{}, {} ,hints); getDraft(data?.length>0?data[0]:{}, {} ,hints);
} else if ((ddl||'').length>0) { } else if ((ddl||'').length>0) {
getDraftUsingDDL(data?.length>0?data[0]:{}, {} ,ddl); getDraftUsingDDL(data?.length>0?data[0]:{}, {} ,ddl);
} else if (metadataId) {
getDraftUsingMetadataId(data?.length>0?data[0]:{}, {} ,metadataId);
} else if ((modelerId||'')!=='') { } else if ((modelerId||'')!=='') {
getCurrentDataModel(); getCurrentDataModel();
} else if (roughModelerData) { } else if (roughModelerData) {
...@@ -202,6 +204,26 @@ const ImportAction = React.forwardRef((props, ref) => { ...@@ -202,6 +204,26 @@ const ImportAction = React.forwardRef((props, ref) => {
}) })
} }
const getDraftUsingMetadataId = (_constraint, _template, _metadataId) => {
dispatch({
type: 'datamodel.getDraftUsingMetadataId',
payload: {
data: {
metadataTableId: _metadataId,
modelerModelingConstraint: _constraint,
easyDataModelerModelingTemplate: _template
}
},
callback: data => {
setLoading(false);
getExtraData(data);
},
error: () => {
setLoading(false);
}
});
}
const getDraftUsingDDL = (_constraint, _template, _ddl) => { const getDraftUsingDDL = (_constraint, _template, _ddl) => {
dispatch({ dispatch({
type: 'datamodel.getDraftUsingDDL', type: 'datamodel.getDraftUsingDDL',
......
...@@ -11,7 +11,7 @@ import { dispatch } from '../../../../model'; ...@@ -11,7 +11,7 @@ import { dispatch } from '../../../../model';
import { showMessage, getQueryParam, paginate, isSzseEnv, formatDate } from '../../../../util'; import { showMessage, getQueryParam, paginate, isSzseEnv, formatDate } from '../../../../util';
import { AnchorId, AnchorTimestamp, Action, CatalogId, ModelerId } from '../../../../util/constant'; import { AnchorId, AnchorTimestamp, Action, CatalogId, ModelerId } from '../../../../util/constant';
// import Tag from "../../Tag"; // import Tag from "../../Tag";
import IframeDrawer from '../../ModelConfig/Component/IframeDrawer' ; import IframeDrawer from '../../ModelConfig/Component/IframeDrawer';
import './ModelTable.less'; import './ModelTable.less';
import 'react-contexify/dist/ReactContexify.css'; import 'react-contexify/dist/ReactContexify.css';
......
...@@ -7,10 +7,19 @@ import classnames from 'classnames' ...@@ -7,10 +7,19 @@ import classnames from 'classnames'
import Table from '../../ResizeableTable' import Table from '../../ResizeableTable'
import { dispatch } from '../../../../model' import { dispatch } from '../../../../model'
import { AssetItem } from "../../AssetManage/Component/AssetTable" import { AssetItem } from "../../AssetManage/Component/AssetTable"
import IframeDrawer from '../../ModelConfig/Component/IframeDrawer';
import { Action, MetadataId } from "../../../../util/constant"
import { showMessage } from "../../../../util"
const FC = ({ visible, onCancel }) => { const FC = ({ visible, onCancel }) => {
const [animated, setAnimated] = React.useState(true) const [animated, setAnimated] = React.useState(true)
const [waiting, setWaiting] = React.useState(false) const [waiting, setWaiting] = React.useState(false)
const [iframeDrawerParams, setIframeDrawerParams] = React.useState({
visible: false,
title: undefined,
url: undefined,
})
const basicRef = React.useRef() const basicRef = React.useRef()
React.useEffect(() => { React.useEffect(() => {
...@@ -28,7 +37,22 @@ const FC = ({ visible, onCancel }) => { ...@@ -28,7 +37,22 @@ const FC = ({ visible, onCancel }) => {
const save = async () => { const save = async () => {
const selectedRows = basicRef.current?.selectedRows const selectedRows = basicRef.current?.selectedRows
if ((selectedRows??[]).length === 0) {
showMessage('warn', '请选择资产')
} else {
const asset = selectedRows[0]
console.log('asset', asset)
const metadataTableId = asset['资产项'].metadataTableId
if (metadataTableId) {
setIframeDrawerParams({
visible: true,
title: '新增模型',
url: `/data-govern/data-model-action?${Action}=add&${MetadataId}=${metadataTableId}`,
})
} else {
showMessage('warn', '选中资产没有关联元数据')
}
}
} }
const footer = React.useMemo(() => { const footer = React.useMemo(() => {
...@@ -43,6 +67,7 @@ const FC = ({ visible, onCancel }) => { ...@@ -43,6 +67,7 @@ const FC = ({ visible, onCancel }) => {
}, [close, save]) }, [close, save])
return ( return (
<>
<Modal <Modal
title='选择资产' title='选择资产'
visible={visible} visible={visible}
...@@ -56,6 +81,17 @@ const FC = ({ visible, onCancel }) => { ...@@ -56,6 +81,17 @@ const FC = ({ visible, onCancel }) => {
!animated && <Basic ref={basicRef} /> !animated && <Basic ref={basicRef} />
} }
</Modal> </Modal>
<IframeDrawer
{...iframeDrawerParams}
onCancel={() => {
setIframeDrawerParams({
visible: false,
title: undefined,
url: undefined,
})
}}
/>
</>
) )
} }
......
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