Commit 7b2f01f9 by zhaochengxiang

模型详情增加操作

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