Commit 80c467a9 by zhaochengxiang

规则增删改

parent 6fe3d7f7
......@@ -5,6 +5,7 @@ import { dispatch } from '../../../../model'
import Table from '../../../../util/Component/Table'
import AddRule from './add-rule'
import UpdateRule from './update-rule'
import UpdateRuleTemplate from './update-rule-template'
import PermissionButton from '../../../../util/Component/PermissionButton'
import { showMessage } from "../../../../util"
......@@ -30,6 +31,11 @@ const FC = (props) => {
visible: false,
item: undefined,
})
const [updateRuleTemplateParams, setUpdateRuleTemplateParams] = React.useState({
visible: false,
type: undefined,
item: undefined
})
const [modal, contextHolder] = Modal.useModal()
......@@ -58,9 +64,7 @@ const FC = (props) => {
render: (text, record) => (
<Tooltip title={text}>
<Typography.Text ellipsis={true}>
<a>
{ text }
</a>
</Typography.Text>
</Tooltip>
)
......@@ -112,7 +116,7 @@ const FC = (props) => {
{
title: '操作',
key: 'action',
width: 120,
width: 200,
render: (text, record) => {
return (
<div style={{ display: 'flex', alignItems: 'center' }}>
......@@ -120,6 +124,26 @@ const FC = (props) => {
type='link'
size='small'
onClick={() => {
setUpdateRuleTemplateParams({
visible: true,
type: 'detail',
item: {
id: record?.ruleTemplateId
},
})
}}
style={{ padding: 0 }}
defaultPermission={true}
>
规则详情
</PermissionButton>
<div style={{ margin: '0 5px' }}>
<Divider type='vertical' />
</div>
<PermissionButton
type='link'
size='small'
onClick={() => {
setUpdateRuleParams({
visible: true,
item: record,
......@@ -233,8 +257,14 @@ const FC = (props) => {
return
}
modal.confirm({
title: '提示',
content: '确定导出该规范吗?',
onOk: () => {
window.open(`/api/shandatamodeler/easyDataModelerRule/exportRules?catalogId=${node?.id}`)
}
})
}
const onBatchDeteteClick = () => {
modal.confirm({
......@@ -374,6 +404,18 @@ const FC = (props) => {
refresh && getRules()
}}
/>
<UpdateRuleTemplate
{...updateRuleTemplateParams}
onCancel={(refresh) => {
setUpdateRuleTemplateParams({
visible: false,
type: undefined,
item: undefined,
})
refresh && getRules()
}}
/>
{contextHolder}
</div>
)
......
......@@ -6,10 +6,18 @@ import { IsArr } from "../../../../util"
const FC = (props) => {
const { visible, type, item, onCancel } = props
const [loading, setLoading] = React.useState(false)
const [waiting, setWaiting] = React.useState(false)
const [data, setData] = React.useState()
const basicRef = React.useRef()
React.useEffect(() => {
if (item?.id) {
getDetail()
}
}, [item])
const title = React.useMemo(() => {
if (type === 'add') return '新增检查规则'
if (type === 'edit') return '修改检查规则'
......@@ -18,8 +26,27 @@ const FC = (props) => {
return ''
}, [type])
const getDetail = () => {
setLoading(true)
dispatch({
type: 'datamodel.getRuleTemplateDetail',
payload: {
ruleTemplateId: item?.id
},
callback: data => {
setLoading(false)
setData(data)
},
error: () => {
setLoading(false)
}
})
}
const close = (refresh = false) => {
setLoading(false)
setWaiting(false)
setData()
onCancel?.(refresh)
}
......@@ -81,8 +108,8 @@ const FC = (props) => {
centered destroyOnClose
onCancel={() => { close() }}
>
<Spin spinning={waiting}>
<Basic ref={basicRef} type={type} item={item} />
<Spin spinning={waiting||loading}>
<Basic ref={basicRef} type={type} item={data} />
</Spin>
</Modal>
)
......
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