Commit 69fcac03 by zhaochengxiang

模型右键权限

parent 5f8ef31b
...@@ -2,7 +2,7 @@ import React, { useMemo } from 'react'; ...@@ -2,7 +2,7 @@ import React, { useMemo } from 'react';
import { Button, Tooltip } from 'antd'; import { Button, Tooltip } from 'antd';
const FC = (props) => { const FC = (props) => {
const { permissionKey, permissions, ...restProps } = props; const { permissionKey, permissions, tip, ...restProps } = props;
const havePermission = useMemo(() => { const havePermission = useMemo(() => {
let _havePermission = true; let _havePermission = true;
...@@ -18,7 +18,7 @@ const FC = (props) => { ...@@ -18,7 +18,7 @@ const FC = (props) => {
}, [permissionKey, permissions]) }, [permissionKey, permissions])
return ( return (
<Tooltip title={havePermission?'':'暂无权限'}> <Tooltip title={havePermission?tip:'暂无权限'}>
<Button {...restProps} disabled={!havePermission} /> <Button {...restProps} disabled={!havePermission} />
</Tooltip> </Tooltip>
) )
......
import React, { useMemo } from 'react';
import { Tooltip } from 'antd';
import { Item as RcItem } from "react-contexify";
const FC = (props) => {
const { permissionKey, permissions, tip, children, ...restProps } = props;
const havePermission = useMemo(() => {
let _havePermission = true;
if (permissionKey) {
const index = (permissions||[]).findIndex(item => item.name === permissionKey);
if (index !== -1) {
_havePermission = permissions[index].enabled ?? true;
}
}
return _havePermission;
}, [permissionKey, permissions])
return (
<RcItem {...restProps}>
<Tooltip title={havePermission?tip:'暂无权限'}>
{children}
</Tooltip>
</RcItem>
)
}
export default FC;
\ No newline at end of file
...@@ -12,6 +12,7 @@ import HistoryAndVersionDrawer from './HistoryAndVersionDrawer'; ...@@ -12,6 +12,7 @@ import HistoryAndVersionDrawer from './HistoryAndVersionDrawer';
import { EditModelContext } from './ContextManage'; import { EditModelContext } from './ContextManage';
import EditInherited from './EditInherited'; import EditInherited from './EditInherited';
import { ImportActionHeaderSubject } from './ImportActionHeader'; import { ImportActionHeaderSubject } from './ImportActionHeader';
import PermissionButton from '../../../../util/Component/PermissionButton';
import './EditModel.less'; import './EditModel.less';
...@@ -313,28 +314,48 @@ const EditModel = (props) => { ...@@ -313,28 +314,48 @@ const EditModel = (props) => {
actionsBtn = ( actionsBtn = (
<Space> <Space>
<Button type='primary' onClick={onHistory} danger >版本历史</Button> <PermissionButton
type='primary'
onClick={onHistory}
danger
permissionKey='历史版本'
permissions={modelerData?.optionList}
>
版本历史
</PermissionButton>
{ {
readOnly!=='true' && <Space> readOnly!=='true' && <Space>
{ {
!modelerData?.inheritedFromEasyDataModelerDataModel && <Button type='primary' onClick={() => { !modelerData?.inheritedFromEasyDataModelerDataModel && <PermissionButton
if (importActionRef.current && importActionRef.current.isLoading()) { type='primary'
showMessage("warn", '正在加载中,请稍后!'); onClick={() => {
return; if (importActionRef.current && importActionRef.current.isLoading()) {
} showMessage("warn", '正在加载中,请稍后!');
return;
setActionData({ ...actionData, action: 'edit-inherited' }); }
actionRef.current = 'edit-inherited';
setEditInheritedParms({visible: true, modelerData}); setActionData({ ...actionData, action: 'edit-inherited' });
}} danger > actionRef.current = 'edit-inherited';
setEditInheritedParms({visible: true, modelerData});
}}
danger
permissionKey='编辑'
permissions={modelerData?.optionList}
>
编辑历史存储形式 编辑历史存储形式
</Button> </PermissionButton>
} }
<Tooltip title={editTip}> <PermissionButton
<Button type='primary' onClick={edit} disabled={ modelerData?.inheritedFromEasyDataModelerDataModel?true:((stateId==='4')?!permitCheckOut:!editable)} danger > type='primary'
编辑 onClick={edit}
</Button> disabled={ modelerData?.inheritedFromEasyDataModelerDataModel?true:((stateId==='4')?!permitCheckOut:!editable)}
</Tooltip> danger
tip={editTip}
permissionKey='编辑'
permissions={modelerData?.optionList}
>
编辑
</PermissionButton>
</Space> </Space>
} }
</Space> </Space>
...@@ -345,9 +366,15 @@ const EditModel = (props) => { ...@@ -345,9 +366,15 @@ const EditModel = (props) => {
<Button onClick={cancelEdit} > <Button onClick={cancelEdit} >
取消 取消
</Button> </Button>
<Button type='primary' onClick={onHistory} danger > <PermissionButton
type='primary'
onClick={onHistory}
danger
permissionKey='历史版本'
permissions={modelerData?.optionList}
>
版本历史 版本历史
</Button> </PermissionButton>
<Button <Button
type='primary' type='primary'
onClick={save} onClick={save}
...@@ -361,27 +388,45 @@ const EditModel = (props) => { ...@@ -361,27 +388,45 @@ const EditModel = (props) => {
} else if (action === 'flow') { } else if (action === 'flow') {
actionsBtn = ( actionsBtn = (
<Space> <Space>
<Button type='primary' onClick={onHistory} danger> <PermissionButton
type='primary'
onClick={onHistory}
danger
permissionKey='历史版本'
permissions={modelerData?.optionList}
>
版本历史 版本历史
</Button> </PermissionButton>
{ {
!modelerData?.inheritedFromEasyDataModelerDataModel && <Button type='primary' onClick={() => { !modelerData?.inheritedFromEasyDataModelerDataModel && <PermissionButton
if (importActionRef.current && importActionRef.current.isLoading()) { type='primary'
showMessage("warn", '正在加载中,请稍后!'); onClick={() => {
return; if (importActionRef.current && importActionRef.current.isLoading()) {
} showMessage("warn", '正在加载中,请稍后!');
return;
}
setActionData({ ...actionData, action: 'edit-inherited' }); setActionData({ ...actionData, action: 'edit-inherited' });
actionRef.current = 'edit-inherited'; actionRef.current = 'edit-inherited';
setEditInheritedParms({visible: true, modelerData}); setEditInheritedParms({visible: true, modelerData});
}} danger > }}
danger
permissionKey='编辑'
permissions={modelerData?.optionList}
>
编辑历史存储形式 编辑历史存储形式
</Button> </PermissionButton>
} }
{ {
!modelerData?.inheritedFromEasyDataModelerDataModel && editable && <Button type='primary' onClick={edit} danger > !modelerData?.inheritedFromEasyDataModelerDataModel && editable && <PermissionButton
type='primary'
onClick={edit}
danger
permissionKey='编辑'
permissions={modelerData?.optionList}
>
编辑 编辑
</Button> </PermissionButton>
} }
</Space> </Space>
); );
......
...@@ -9,6 +9,7 @@ import { AnchorId, AnchorTimestamp, Action, CatalogId, ModelerId, DataModelerRol ...@@ -9,6 +9,7 @@ import { AnchorId, AnchorTimestamp, Action, CatalogId, ModelerId, DataModelerRol
import ExpandedModelTable from "./ExpandedModelTable"; import ExpandedModelTable from "./ExpandedModelTable";
// import Tag from "../../Tag"; // import Tag from "../../Tag";
import { useContextMenu, Menu as RcMenu, Item as RcItem } from "react-contexify"; import { useContextMenu, Menu as RcMenu, Item as RcItem } from "react-contexify";
import PermissionRcItem from '../../../../util/Component/PermissionRcItem';
import './ModelTable.less'; import './ModelTable.less';
import 'react-contexify/dist/ReactContexify.css'; import 'react-contexify/dist/ReactContexify.css';
...@@ -532,20 +533,35 @@ const ModelTable = (props) => { ...@@ -532,20 +533,35 @@ const ModelTable = (props) => {
/> />
<RcMenu id={MENU_ID}> <RcMenu id={MENU_ID}>
{ {
(getDataModelerRole(user)!==DataModelerRoleReader) && <RcItem id="edit" disabled={disableEdit} onClick={handleItemClick}> (getDataModelerRole(user)!==DataModelerRoleReader) && <PermissionRcItem
<Tooltip title={editTip}> id="edit"
disabled={disableEdit}
onClick={handleItemClick}
tip={editTip}
permissionKey='编辑'
permissions={currentItem?.optionList}
>
{ editMenuTitle } { editMenuTitle }
</Tooltip> </PermissionRcItem>
</RcItem>
} }
{ {
(getDataModelerRole(user)!==DataModelerRoleReader) && <RcItem id="delete" disabled={disableDelete} onClick={handleItemClick}> (getDataModelerRole(user)!==DataModelerRoleReader) && <PermissionRcItem
<Tooltip title={deleteTip}> id="delete"
删除 disabled={disableDelete}
</Tooltip> onClick={handleItemClick}
</RcItem> tip={deleteTip}
permissionKey='删除'
permissions={currentItem?.optionList}
>
删除
</PermissionRcItem>
} }
<RcItem id="history" onClick={handleItemClick}> <RcItem
id="history"
onClick={handleItemClick}
permissionKey='历史版本'
permissions={currentItem?.optionList}
>
历史版本 历史版本
</RcItem> </RcItem>
{ {
......
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