Commit 11f66d54 by zhaochengxiang

ddl建模

parent 4de879ce
...@@ -9,6 +9,7 @@ export const CatalogId = 'cid'; ...@@ -9,6 +9,7 @@ export const CatalogId = 'cid';
export const ModelerId = 'mid'; export const ModelerId = 'mid';
export const Hints = 'hints'; export const Hints = 'hints';
export const ModelerData = 'mdata'; export const ModelerData = 'mdata';
export const DDL = 'ddl';
export const Editable = 'editable'; export const Editable = 'editable';
export const PermitCheckOut = 'permitCheckOut'; export const PermitCheckOut = 'permitCheckOut';
export const StateId = 'sid'; export const StateId = 'sid';
......
...@@ -7,14 +7,14 @@ import ImportAction from './ImportAction'; ...@@ -7,14 +7,14 @@ import ImportAction from './ImportAction';
import CatalogModal from './CatalogModal'; import CatalogModal from './CatalogModal';
import { dispatchLatest } from '../../../../model'; import { dispatchLatest } 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 } from '../../../../util/constant'; import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, Holder, DDL } from '../../../../util/constant';
import HistoryAndVersionDrawer from './HistoryAndVersionDrawer'; import HistoryAndVersionDrawer from './HistoryAndVersionDrawer';
import './EditModel.less'; import './EditModel.less';
const EditModel = (props) => { const EditModel = (props) => {
const [ actionData, setActionData ] = useState({ action: '', catalogId: '', modelerId: '', hints: [], roughModelerData: null, permitCheckOut: false, editable: false, stateId: '', versionId: '' }); const [ actionData, setActionData ] = useState({ action: '', catalogId: '', modelerId: '', hints: [], roughModelerData: null, permitCheckOut: false, editable: false, stateId: '', versionId: '', ddl: '' });
const [ modelerData, setModelerData ] = useState({}); const [ modelerData, setModelerData ] = useState({});
const [ terms, setTerms ] = useState([]); const [ terms, setTerms ] = useState([]);
...@@ -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 } = actionData; const { action, catalogId, modelerId, hints, roughModelerData, permitCheckOut, editable, stateId, versionId, holder, ddl } = actionData;
const [form] = Form.useForm(); const [form] = Form.useForm();
...@@ -40,6 +40,7 @@ const EditModel = (props) => { ...@@ -40,6 +40,7 @@ const EditModel = (props) => {
const _stateId = getQueryParam(StateId, props.location.search); const _stateId = getQueryParam(StateId, props.location.search);
const _versionId = getQueryParam(VersionId, props.location.search); const _versionId = getQueryParam(VersionId, props.location.search);
const _holder = getQueryParam(Holder, props.location.search); const _holder = getQueryParam(Holder, props.location.search);
const _ddl = getQueryParam(DDL, props.location.search);
let _hints = []; let _hints = [];
if ((_hintsStr||'') !== '') { if ((_hintsStr||'') !== '') {
...@@ -53,7 +54,7 @@ const EditModel = (props) => { ...@@ -53,7 +54,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 }); 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 });
actionRef.current = _action; actionRef.current = _action;
const interval = setInterval(() => { const interval = setInterval(() => {
...@@ -325,7 +326,7 @@ const EditModel = (props) => { ...@@ -325,7 +326,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} form={form} terms={terms} roughModelerData={roughModelerData} permitCheckOut={permitCheckOut} stateId={stateId} versionId={versionId} autoTabKey={autoTabKey} {...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} {...props} />
</div> </div>
</div> </div>
<div className='edit-footer'> <div className='edit-footer'>
......
...@@ -121,8 +121,11 @@ const ImportAction = (props) => { ...@@ -121,8 +121,11 @@ const ImportAction = (props) => {
callback: data => { callback: data => {
setLoading(false); setLoading(false);
getExtraData(data); getExtraData(data);
},
error: () => {
setLoading(false);
} }
}) });
} }
const getConsult = (data) => { const getConsult = (data) => {
......
...@@ -4,21 +4,25 @@ import { Modal, Button, Form, Radio, Tooltip } from 'antd'; ...@@ -4,21 +4,25 @@ import { Modal, Button, Form, Radio, Tooltip } from 'antd';
import ImportWord from './ImportWord'; import ImportWord from './ImportWord';
import ImportExcel from './ImportExcel'; import ImportExcel from './ImportExcel';
import ImportExcelCopy from './ImportExcelCopy'; import ImportExcelCopy from './ImportExcelCopy';
import ImportDDL from './ImportDDL';
import { dispatchLatest } from '../../../../model'; import { dispatchLatest } from '../../../../model';
import { isSzseEnv } from '../../../../util';
const importModes = [ const importModes = [
{ name: '快速创建', key: 'excel-copy' }, { name: '快速创建', key: 'excel-copy' },
{ name: '空白创建', key: 'no-condition' }, { name: '空白创建', key: 'no-condition' },
{ name: 'Word导入', key: 'word' }, { name: 'Word导入', key: 'word' },
{ name: 'Excel导入', key: 'excel' }, { name: 'Excel导入', key: 'excel' },
{ name: 'DDL导入', key: 'ddl' },
] ]
const ImportModal = (props) => { const ImportModal = (props) => {
const { view, catalogId, visible, onCancel, onCancelByWord } = props; const { view, catalogId, visible, onCancel, onCancelByWord, onCancelByDDL } = props;
const [ modeKey, setModeKey ] = useState('excel-copy'); const [ modeKey, setModeKey ] = useState('excel-copy');
const [ hints, setHints ] = useState([]); const [ hints, setHints ] = useState([]);
const [ ddl, setDDL ] = useState('');
const [ confirmLoading, setConfirmLoading ] = useState(false); const [ confirmLoading, setConfirmLoading ] = useState(false);
const [ form ] = Form.useForm(); const [ form ] = Form.useForm();
...@@ -77,6 +81,9 @@ const ImportModal = (props) => { ...@@ -77,6 +81,9 @@ const ImportModal = (props) => {
} else if (modeKey==='no-condition') { } else if (modeKey==='no-condition') {
reset(); reset();
onCancel && onCancel(false, true, []); onCancel && onCancel(false, true, []);
} else if (modeKey==='ddl') {
reset();
onCancelByDDL && onCancelByDDL(true, ddl);
} }
} catch (errInfo) { } catch (errInfo) {
...@@ -95,6 +102,7 @@ const ImportModal = (props) => { ...@@ -95,6 +102,7 @@ const ImportModal = (props) => {
form.setFieldsValue({mode: 'excel-copy'}); form.setFieldsValue({mode: 'excel-copy'});
setModeKey('excel-copy'); setModeKey('excel-copy');
setHints([]); setHints([]);
setDDL('');
setConfirmLoading(false); setConfirmLoading(false);
} }
...@@ -102,6 +110,10 @@ const ImportModal = (props) => { ...@@ -102,6 +110,10 @@ const ImportModal = (props) => {
setHints(data||[]); setHints(data||[]);
} }
const onImportDDLChange = (data) => {
setDDL(data);
}
const footer = [ const footer = [
<Button <Button
key="0" key="0"
...@@ -124,7 +136,7 @@ const ImportModal = (props) => { ...@@ -124,7 +136,7 @@ const ImportModal = (props) => {
forceRender forceRender
visible={visible} visible={visible}
title='新建模型' title='新建模型'
width={540} width={isSzseEnv?540:630}
onCancel={cancel} onCancel={cancel}
footer={footer} footer={footer}
> >
...@@ -149,6 +161,10 @@ const ImportModal = (props) => { ...@@ -149,6 +161,10 @@ const ImportModal = (props) => {
title = '请先选择主题'; title = '请先选择主题';
} }
if (isSzseEnv && item.key === 'ddl') {
return <></>;
}
return ( return (
<Tooltip key={index} title={title}> <Tooltip key={index} title={title}>
<Radio <Radio
...@@ -177,6 +193,11 @@ const ImportModal = (props) => { ...@@ -177,6 +193,11 @@ const ImportModal = (props) => {
<ImportExcelCopy onChange={onImportExcelCopyChange} {...props} /> <ImportExcelCopy onChange={onImportExcelCopyChange} {...props} />
) )
} }
{
modeKey==='ddl' && (
<ImportDDL onChange={onImportDDLChange} />
)
}
</Form> </Form>
</Modal> </Modal>
) )
......
...@@ -15,7 +15,7 @@ import HistoryAndVersionDrawer from './Component/HistoryAndVersionDrawer'; ...@@ -15,7 +15,7 @@ import HistoryAndVersionDrawer from './Component/HistoryAndVersionDrawer';
import StartFlowModal from './Component/StartFlowModal'; import StartFlowModal from './Component/StartFlowModal';
import { showMessage, showNotifaction, inputWidth, DeleteTipModal } from '../../../util'; import { showMessage, showNotifaction, inputWidth, DeleteTipModal } from '../../../util';
import { dispatch, dispatchLatestHomepage } from '../../../model'; import { dispatch, dispatchLatestHomepage } from '../../../model';
import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, Holder } from '../../../util/constant'; import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, Holder, DDL } from '../../../util/constant';
import { AppContext } from '../../../App'; import { AppContext } from '../../../App';
import DebounceInput from './Component/DebounceInput'; import DebounceInput from './Component/DebounceInput';
...@@ -320,6 +320,21 @@ class Model extends React.Component { ...@@ -320,6 +320,21 @@ class Model extends React.Component {
}); });
} }
onImportModalCancelByDDL = (confirm = false, ddl = '') => {
const { catalogId } = this.state;
this.setState({ importModalVisible: false }, () => {
if (confirm && (ddl||'') !== '') {
setTimeout(() => {
window.open(`/data-govern/data-model-action?${Action}=add&${CatalogId}=${catalogId}&${DDL}=${encodeURIComponent(ddl)}`, '_blank');
}, 1000);
}
});
}
onImportStockWordDrawerCancel = () => { onImportStockWordDrawerCancel = () => {
this.setState({ importStockWordDrawerVisible: false }); this.setState({ importStockWordDrawerVisible: false });
} }
...@@ -548,6 +563,7 @@ class Model extends React.Component { ...@@ -548,6 +563,7 @@ class Model extends React.Component {
visible={importModalVisible} visible={importModalVisible}
onCancel={this.onImportModalCancel} onCancel={this.onImportModalCancel}
onCancelByWord={this.onImportModalCancelByWord} onCancelByWord={this.onImportModalCancelByWord}
onCancelByDDL={this.onImportModalCancelByDDL}
/> />
<ImportStockWordDrawer <ImportStockWordDrawer
......
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