Commit 7b2f01f9 by zhaochengxiang

模型详情增加操作

parent e800cca1
...@@ -346,6 +346,10 @@ export function* getPrivilegeAdmin() { ...@@ -346,6 +346,10 @@ export function* getPrivilegeAdmin() {
return yield call(datamodelerService.getPrivilegeAdmin); return yield call(datamodelerService.getPrivilegeAdmin);
} }
export function* getModelPrivilege(payload) {
return yield call(datamodelerService.getModelPrivilege, payload)
}
export function* getRuleTemplateList() { export function* getRuleTemplateList() {
return yield call(datamodelerService.getRuleTemplateList); return yield call(datamodelerService.getRuleTemplateList);
} }
......
...@@ -297,6 +297,10 @@ export function getPrivilegeAdmin() { ...@@ -297,6 +297,10 @@ export function getPrivilegeAdmin() {
return Get("/datamodeler/easyDataModelerPrivilegeProvider/getAdmin"); return Get("/datamodeler/easyDataModelerPrivilegeProvider/getAdmin");
} }
export function getModelPrivilege(payload) {
return GetJSON("/datamodeler/easyDataModelerPrivilegeProvider/getModelFullPrivilege", payload);
}
export function getRuleTemplateList() { export function getRuleTemplateList() {
return GetJSON("/datamodeler/easyDataModelerRuleTemplate/list"); return GetJSON("/datamodeler/easyDataModelerRuleTemplate/list");
} }
......
...@@ -14,6 +14,7 @@ import { EditModelContext } from './ContextManage'; ...@@ -14,6 +14,7 @@ import { EditModelContext } from './ContextManage';
import EditInherited from './EditInherited'; import EditInherited from './EditInherited';
import { ImportActionHeaderSubject } from './ImportActionManage'; import { ImportActionHeaderSubject } from './ImportActionManage';
import PermissionButton from '../../../../util/Component/PermissionButton'; import PermissionButton from '../../../../util/Component/PermissionButton';
import RecatalogModal from './RecatalogModal';
import './EditModel.less'; import './EditModel.less';
...@@ -31,6 +32,11 @@ const EditModel = (props) => { ...@@ -31,6 +32,11 @@ const EditModel = (props) => {
const [loadingApprovalData, setLoadingApprovalData] = useState(false) const [loadingApprovalData, setLoadingApprovalData] = useState(false)
const [approvalData, setApprovalData] = useState() const [approvalData, setApprovalData] = useState()
const [currentApprovalModelId, setApprovalModelId] = useState() const [currentApprovalModelId, setApprovalModelId] = useState()
const [privilege, setPrivilege] = useState()
const [recatalogParams, setRecatalogParams] = useState({
visible: false,
ids: undefined,
})
const actionRef = useRef(''); const actionRef = useRef('');
const attrIsEditingRef = useRef(false); const attrIsEditingRef = useRef(false);
...@@ -92,6 +98,12 @@ const EditModel = (props) => { ...@@ -92,6 +98,12 @@ const EditModel = (props) => {
} }
}, [approvalId]) }, [approvalId])
useEffect(() => {
if (getQueryParam(Action, props.location?.search) !== 'flow' && modelerId) {
getModelPrivilege()
}
}, [modelerId])
useMount(() => { useMount(() => {
window?.addEventListener('beforeunload', confirmQuit); window?.addEventListener('beforeunload', confirmQuit);
}) })
...@@ -106,6 +118,18 @@ const EditModel = (props) => { ...@@ -106,6 +118,18 @@ const EditModel = (props) => {
}); });
} }
const getModelPrivilege = () => {
dispatch({
type: 'datamodel.getModelPrivilege',
payload: {
easyDataModelerDataModelId: modelerId,
},
callback: (data) => {
setPrivilege(data)
}
})
}
const getApprovalDetail = () => { const getApprovalDetail = () => {
setLoadingApprovalData(true) setLoadingApprovalData(true)
dispatch({ dispatch({
...@@ -285,6 +309,43 @@ const EditModel = (props) => { ...@@ -285,6 +309,43 @@ const EditModel = (props) => {
} }
} }
const onDelete = () => {
modal.confirm({
title: '提示!',
content: '您确定要删除该模型吗?',
onOk: () => {
dispatch({
type: 'datamodel.deleteDataModel',
payload: {
params: {
id: modelerData?.id
}
},
callback: () => {
showMessage('success', '模型删除成功');
LocalStorage.set('modelChange', !LocalStorage.get('modelChange'))
window.close()
}
})
}
});
}
const onCopy = () => {
window.open(`/data-govern/data-model-action?${Action}=add&${CatalogId}=${privilege?.catalogId}&${ModelerId}=${modelerId}`)
}
const onExport = () => {
}
const onChangeCatalog = () => {
setRecatalogParams({
visible: true,
ids: [modelerId]
})
}
const onHistory = () => { const onHistory = () => {
setHistoryAndVersionDrawerVisible(true); setHistoryAndVersionDrawerVisible(true);
} }
...@@ -350,7 +411,6 @@ const EditModel = (props) => { ...@@ -350,7 +411,6 @@ const EditModel = (props) => {
type='primary' type='primary'
onClick={save} onClick={save}
loading={confirmLoading} loading={confirmLoading}
danger
> >
保存 保存
</Button> </Button>
...@@ -358,7 +418,7 @@ const EditModel = (props) => { ...@@ -358,7 +418,7 @@ const EditModel = (props) => {
) )
} else if (action === 'detail' || action === 'edit-inherited') { } else if (action === 'detail' || action === 'edit-inherited') {
let editTip = ''; let editTip = '', deleteTip = '';
if (modelerData?.inheritedFromEasyDataModelerDataModel) { if (modelerData?.inheritedFromEasyDataModelerDataModel) {
editTip = '请到对应的当前表修改'; editTip = '请到对应的当前表修改';
} else { } else {
...@@ -373,14 +433,57 @@ const EditModel = (props) => { ...@@ -373,14 +433,57 @@ const EditModel = (props) => {
} }
} }
if (modelerData?.state?.id === '2') {
deleteTip = '待发布的模型不允许删除';
} else if (modelerData?.state?.id === '4') {
deleteTip = '已发布的模型不允许删除';
}
actionsBtn = ( actionsBtn = (
<Space> <Space>
<PermissionButton <PermissionButton
disabled={!modelerData?.deletable}
onClick={onDelete}
danger
tip={deleteTip}
permissionKey='删除'
permissions={privilege?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
>
删除
</PermissionButton>
<PermissionButton
type='primary'
onClick={onCopy}
ghost
permissionKey='新增'
permissions={privilege?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
>
复制模型
</PermissionButton>
<PermissionButton
type='primary'
onClick={onExport}
ghost
permissionKey='导出'
permissions={privilege?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
>
导出
</PermissionButton>
<PermissionButton
type='primary'
onClick={onChangeCatalog}
ghost
permissionKey='变更目录'
permissions={privilege?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
>
变更目录
</PermissionButton>
<PermissionButton
type='primary' type='primary'
onClick={onHistory} onClick={onHistory}
danger ghost
permissionKey='历史版本' permissionKey='历史版本'
permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)} permissions={privilege?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
> >
历史版本 历史版本
</PermissionButton> </PermissionButton>
...@@ -399,9 +502,9 @@ const EditModel = (props) => { ...@@ -399,9 +502,9 @@ const EditModel = (props) => {
actionRef.current = 'edit-inherited'; actionRef.current = 'edit-inherited';
setEditInheritedParms({visible: true, modelerData}); setEditInheritedParms({visible: true, modelerData});
}} }}
danger ghost
permissionKey='编辑' permissionKey='编辑'
permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)} permissions={privilege?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
> >
编辑历史存储形式 编辑历史存储形式
</PermissionButton> </PermissionButton>
...@@ -410,10 +513,9 @@ const EditModel = (props) => { ...@@ -410,10 +513,9 @@ const EditModel = (props) => {
type='primary' type='primary'
onClick={edit} onClick={edit}
disabled={ modelerData?.inheritedFromEasyDataModelerDataModel?true:((stateId==='4')?!permitCheckOut:!editable)} disabled={ modelerData?.inheritedFromEasyDataModelerDataModel?true:((stateId==='4')?!permitCheckOut:!editable)}
danger
tip={editTip} tip={editTip}
permissionKey='编辑' permissionKey='编辑'
permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)} permissions={privilege?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
> >
编辑 编辑
</PermissionButton> </PermissionButton>
...@@ -424,13 +526,13 @@ const EditModel = (props) => { ...@@ -424,13 +526,13 @@ const EditModel = (props) => {
} else if (action === 'edit') { } else if (action === 'edit') {
actionsBtn = ( actionsBtn = (
<Space> <Space>
<Button onClick={cancelEdit} > <Button type='primary' ghost onClick={cancelEdit} >
取消 取消
</Button> </Button>
<PermissionButton <PermissionButton
type='primary' type='primary'
onClick={onHistory} onClick={onHistory}
danger ghost
permissionKey='历史版本' permissionKey='历史版本'
permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)} permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
> >
...@@ -440,7 +542,6 @@ const EditModel = (props) => { ...@@ -440,7 +542,6 @@ const EditModel = (props) => {
type='primary' type='primary'
onClick={save} onClick={save}
loading={confirmLoading} loading={confirmLoading}
danger
> >
{action==='edit' ? '保存' : '保存衍生表'} {action==='edit' ? '保存' : '保存衍生表'}
</Button> </Button>
...@@ -469,7 +570,7 @@ const EditModel = (props) => { ...@@ -469,7 +570,7 @@ const EditModel = (props) => {
<PermissionButton <PermissionButton
type='primary' type='primary'
onClick={onHistory} onClick={onHistory}
danger ghost
permissionKey='历史版本' permissionKey='历史版本'
permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)} permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
> >
...@@ -488,7 +589,7 @@ const EditModel = (props) => { ...@@ -488,7 +589,7 @@ const EditModel = (props) => {
actionRef.current = 'edit-inherited'; actionRef.current = 'edit-inherited';
setEditInheritedParms({visible: true, modelerData}); setEditInheritedParms({visible: true, modelerData});
}} }}
danger ghost
permissionKey='编辑' permissionKey='编辑'
permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)} permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
> >
...@@ -498,8 +599,7 @@ const EditModel = (props) => { ...@@ -498,8 +599,7 @@ const EditModel = (props) => {
{ {
!modelerData?.inheritedFromEasyDataModelerDataModel && editable && <PermissionButton !modelerData?.inheritedFromEasyDataModelerDataModel && editable && <PermissionButton
type='primary' type='primary'
onClick={edit} onClick={edit}
danger
permissionKey='编辑' permissionKey='编辑'
permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)} permissions={modelerData?.optionList?.filter(item => item.enabled)?.map(item => item.name)}
> >
...@@ -512,7 +612,7 @@ const EditModel = (props) => { ...@@ -512,7 +612,7 @@ const EditModel = (props) => {
} else if (action === 'detail-version') { } else if (action === 'detail-version') {
actionsBtn = ( actionsBtn = (
<Space> <Space>
<Button type='primary' danger onClick={onRollback} > <Button type='primary' onClick={onRollback} >
回退到该版本 回退到该版本
</Button> </Button>
</Space> </Space>
...@@ -540,6 +640,20 @@ const EditModel = (props) => { ...@@ -540,6 +640,20 @@ const EditModel = (props) => {
visible={catalogModalVisible} visible={catalogModalVisible}
onCancel={onCatalogModalCancel} onCancel={onCatalogModalCancel}
/> />
<RecatalogModal
{...recatalogParams}
onCancel={(refresh) => {
setRecatalogParams({
visible: false,
ids: undefined
})
if (refresh) {
LocalStorage.set('modelChange', !LocalStorage.get('modelChange'))
getModelPrivilege()
}
}}
/>
<HistoryAndVersionDrawer <HistoryAndVersionDrawer
id={modelerId} id={modelerId}
visible={historyAndVersionDrawerVisible} visible={historyAndVersionDrawerVisible}
...@@ -633,7 +747,7 @@ const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk, ...@@ -633,7 +747,7 @@ const PhysicalModelApprovalBottom = ({ loading, type, data, id, onChange, onOk,
return ( return (
<div className='flex' style={{ width: '100%', justifyContent: 'space-between' }}> <div className='flex' style={{ width: '100%', justifyContent: 'space-between' }}>
<Space> <Space>
<Button type='primary' onClick={onHistoryClick}>历史版本</Button> <Button type='primary' ghost onClick={onHistoryClick}>历史版本</Button>
</Space> </Space>
<Space> <Space>
<Tooltip title={((type==='rule')&&!item?.designReviewPass) ? '设计评审不通过' : ''}> <Tooltip title={((type==='rule')&&!item?.designReviewPass) ? '设计评审不通过' : ''}>
......
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