Commit 94d3a15b by zhaochengxiang

DDL 下发结果详情

parent ca8ae47a
......@@ -485,3 +485,7 @@ export function* getHiveStoredTypes() {
export function* conceptualModelCreateDataModel(payload) {
return yield call(datamodelerService.conceptualModelCreateDataModel, payload)
}
export function* getUploadDDLResultDetails(payload) {
return yield call(datamodelerService.getUploadDDLResultDetails, payload)
}
\ No newline at end of file
......@@ -441,3 +441,7 @@ export function getHiveStoredTypes() {
export function conceptualModelCreateDataModel(payload) {
return PostJSON("/datamodeler/easyDataModelerConceptualModeling/populdateDataModel", payload)
}
export function getUploadDDLResultDetails(payload) {
return GetJSON("/datamodeler/easyDataModelerUploadDDLResult/getUploadDDLResultDetails", payload)
}
\ No newline at end of file
......@@ -12,6 +12,7 @@ import { showMessage, getQueryParam, paginate, isSzseEnv, formatDate } from '../
import { AnchorId, AnchorTimestamp, Action, CatalogId, ModelerId } from '../../../../util/constant';
// import Tag from "../../Tag";
import IframeDrawer from '../../ModelConfig/Component/IframeDrawer';
import UploadDDLResult from './upload-ddl-result';
import './ModelTable.less';
import 'react-contexify/dist/ReactContexify.css';
......@@ -146,6 +147,10 @@ const ModelTable = (props) => {
title: undefined,
url: undefined,
})
const [uploadDDLResultParams, setUploadDDLResultParams] = useState({
visible: false,
id: undefined,
})
const cols = [
{
......@@ -210,6 +215,34 @@ const ModelTable = (props) => {
}
},
{
title: '下发状态',
dataIndex: 'dataModelUploadDDLResult',
width: 100,
ellipsis: true,
sorter: true,
sortDirections: ['ascend', 'descend'],
render: (text, record, __) => {
return (
<Tooltip title={record.dataModelUploadDDLResult?.resultType?.name} overlayClassName='tooltip-common'>
<Text ellipsis={true}>
{
record.dataModelUploadDDLResult?.viewDetails ? <a onClick={() => {
setUploadDDLResultParams({
visible: true,
id: record.id,
})
}}>
{record.dataModelUploadDDLResult?.resultType?.name}
</a> : <>
{record.dataModelUploadDDLResult?.resultType?.name}
</>
}
</Text>
</Tooltip>
);
}
},
{
title: '创建人',
dataIndex: 'editor',
width: 100,
......@@ -829,6 +862,16 @@ const ModelTable = (props) => {
})
}}
/>
<UploadDDLResult
{...uploadDDLResultParams}
onCancel={() => {
setUploadDDLResultParams({
visible: false,
id: undefined,
})
}}
/>
{ contextHolder }
</div>
);
......
import React from 'react'
import { Modal, Spin, Descriptions } from 'antd'
import { dispatch } from '../../../../model'
const FC = (props) => {
const { visible, id, onCancel } = props
const [waiting, setWaiting] = React.useState(false)
const [data, setData] = React.useState()
React.useEffect(() => {
if (visible && id) {
getDetail()
}
}, [visible, id])
const getDetail = () => {
setWaiting(true)
dispatch({
type: 'datamodel.getUploadDDLResultDetails',
payload: {
easyDataModelerDataModelId: id,
},
callback: (data) => {
setWaiting(false)
setData(data)
},
error: () => {
setWaiting(false)
}
})
}
const close = () => {
setData()
onCancel?.()
}
return (
<Modal
visible={visible}
footer={null}
width='80%'
bodyStyle={{ padding: '15px', overflowX: 'auto', height: '80vh' }}
title='DDL下发结果详情'
centered destroyOnClose
onCancel={() => { close() }}
>
<Spin spinning={waiting}>
<Descriptions size='small' column={1}>
<Descriptions.Item label='下发DDL语句'>
{
(data?.ddl??'').split('\n').map((text, index) => <>
{index!==0 && <br/>}
{text}
</>)
}
</Descriptions.Item>
{
data?.success===false && <Descriptions.Item label='失败原因'>
{data?.errorMsg}
</Descriptions.Item>
}
<Descriptions.Item label='下发时间'>
{data?.updateTs ? new Date(data?.updateTs).toLocaleString() : ''}
</Descriptions.Item>
</Descriptions>
</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