Commit 78f22d55 by zhaochengxiang

预览DDL

parent a75c0f44
......@@ -258,6 +258,10 @@ export function* getExportTableDDL(payload) {
return yield call(datamodelerService.getExportTableDDL, payload);
}
export function* getPreviewTableDDL(payload) {
return yield call(datamodelerService.getPreviewTableDDL, payload);
}
export function* validateDataModel(payload) {
return yield call(datamodelerService.validateDataModel, payload);
}
......
......@@ -245,6 +245,10 @@ export function getExportTableDDL(payload) {
return Post("/datamodeler/easyDataModelerExport/getExportTableDDL", payload);
}
export function getPreviewTableDDL(payload) {
return Post("/datamodeler/easyDataModelerExport/getPreviewTableDDL", payload)
}
export function validateDataModel(payload) {
return PostJSON("/datamodeler/easyDataModelerConstraint/validateDataModel", payload);
}
......
......@@ -9,6 +9,7 @@ import { dispatchLatest, dispatch } from '../../../../model';
import { getDataModelerRole, getQueryParam, showMessage, showNotifaction } from '../../../../util';
import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, Holder, DDL, RequireId, LogicId, MetadataId, DataModelerRoleReader } from '../../../../util/constant';
import HistoryAndVersionDrawer from './HistoryAndVersionDrawer';
import PreviewDDL from './preview-ddl';
import './EditModel.less';
......@@ -21,6 +22,7 @@ const EditModel = (props) => {
const [ confirmLoading, setConfirmLoading ] = useState(false);
const [ catalogModalVisible, setCatalogModalVisible ] = useState(false);
const [ historyAndVersionDrawerVisible, setHistoryAndVersionDrawerVisible ] = useState(false);
const [previewDDLVisible, setPreviewDDLVisible] = useState(false);
const [user, setUser] = useState();
const actionRef = useRef('');
......@@ -134,6 +136,10 @@ const EditModel = (props) => {
}
}
const onPreviewDDLClick = () => {
setPreviewDDLVisible(true)
}
const save = async (e, cid = '') => {
try {
const row = await form.validateFields();
......@@ -283,6 +289,9 @@ const EditModel = (props) => {
if (action==='add') {
actionsBtn = (
<Space>
<Button onClick={onPreviewDDLClick}>
预览下发DDL
</Button>
<Button
type='primary'
onClick={save}
......@@ -327,6 +336,9 @@ const EditModel = (props) => {
{/* <Button type='primary' onClick={onHistory} danger >
版本历史
</Button> */}
<Button onClick={onPreviewDDLClick}>
预览下发DDL
</Button>
<Button
type='primary'
onClick={save}
......@@ -374,6 +386,13 @@ const EditModel = (props) => {
visible={historyAndVersionDrawerVisible}
onCancel={onHistoryAndVersionDrawerCancel}
/>
<PreviewDDL
modelerData={modelerData}
visible={previewDDLVisible}
onCancel={() => {
setPreviewDDLVisible(false)
}}
/>
</div>
);
}
......
import React from "react"
import { Modal, Spin, Input } from 'antd'
import { dispatch } from '../../../../model'
const FC = (props) => {
const { visible, modelerData, onCancel } = props
const [loading, setLoading] = React.useState(false)
const [ddl, setDDL] = React.useState()
React.useEffect(() => {
if (visible && modelerData) {
getPreviewDDL()
}
}, [visible, modelerData])
const getPreviewDDL = () => {
setLoading(true)
dispatch({
type: 'datamodel.getPreviewTableDDL',
payload: {
data: modelerData,
},
callback: (data) => {
setLoading(false)
setDDL(data)
},
error: () => {
setLoading(false)
}
})
}
const close = () => {
setDDL()
onCancel?.()
}
return (
<Modal
visible={visible}
footer={null}
width='90%'
bodyStyle={{ padding: '15px' }}
title='预览下发DDL'
centered destroyOnClose
onCancel={() => { close() }}
>
<Spin spinning={loading}>
<Input.TextArea value={ddl??''} style={{ height: 'calc(80vh - 70px)', resize: 'none' }} />
</Spin>
</Modal>
)
}
export default FC
\ No newline at end of file
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