Commit bb819e81 by zhaochengxiang

模型权限控制

parent 8dfc6efe
...@@ -6,8 +6,8 @@ import { useMount, useUnmount } from 'ahooks'; ...@@ -6,8 +6,8 @@ import { useMount, useUnmount } from 'ahooks';
import ImportAction from './ImportAction'; import ImportAction from './ImportAction';
import CatalogModal from './CatalogModal'; import CatalogModal from './CatalogModal';
import { dispatchLatest, dispatch } from '../../../../model'; import { dispatchLatest, dispatch } from '../../../../model';
import { getQueryParam, showMessage, showNotifaction } from '../../../../util'; import { getDataModelerRole, getQueryParam, showMessage, showNotifaction } from '../../../../util';
import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, Holder, DDL, RequireId, LogicId, MetadataId } from '../../../../util/constant'; import { Action, CatalogId, ModelerId, Hints, ModelerData, PermitCheckOut, Editable, StateId, VersionId, Holder, DDL, RequireId, LogicId, MetadataId, DataModelerRoleReader } from '../../../../util/constant';
import HistoryAndVersionDrawer from './HistoryAndVersionDrawer'; import HistoryAndVersionDrawer from './HistoryAndVersionDrawer';
import './EditModel.less'; import './EditModel.less';
...@@ -22,6 +22,7 @@ const EditModel = (props) => { ...@@ -22,6 +22,7 @@ const EditModel = (props) => {
const [ catalogModalVisible, setCatalogModalVisible ] = useState(false); const [ catalogModalVisible, setCatalogModalVisible ] = useState(false);
const [ historyAndVersionDrawerVisible, setHistoryAndVersionDrawerVisible ] = useState(false); const [ historyAndVersionDrawerVisible, setHistoryAndVersionDrawerVisible ] = useState(false);
const [ autoTabKey, setAutoTabKey ] = useState(null); const [ autoTabKey, setAutoTabKey ] = useState(null);
const [user, setUser] = useState();
const actionRef = useRef(''); const actionRef = useRef('');
...@@ -64,6 +65,8 @@ const EditModel = (props) => { ...@@ -64,6 +65,8 @@ const EditModel = (props) => {
setActionData({ action: _action, catalogId: _catalogId, modelerId: _modelerId, hints: _hints, roughModelerData: _roughModelerData, permitCheckOut: (_permitCheckOut==='true'), editable: (_editable==='true'), stateId: _stateId, versionId: _versionId, holder: _holder, ddl: _ddl, requireId: _requireId, logicId: _logicId, metadataId: _metadataId }); setActionData({ action: _action, catalogId: _catalogId, modelerId: _modelerId, hints: _hints, roughModelerData: _roughModelerData, permitCheckOut: (_permitCheckOut==='true'), editable: (_editable==='true'), stateId: _stateId, versionId: _versionId, holder: _holder, ddl: _ddl, requireId: _requireId, logicId: _logicId, metadataId: _metadataId });
actionRef.current = _action; actionRef.current = _action;
getUser();
const interval = setInterval(() => { const interval = setInterval(() => {
heartbeat(); heartbeat();
}, 10*60*1000); }, 10*60*1000);
...@@ -83,6 +86,15 @@ const EditModel = (props) => { ...@@ -83,6 +86,15 @@ const EditModel = (props) => {
// window?.removeEventListener('beforeunload', confirmQuit); // window?.removeEventListener('beforeunload', confirmQuit);
// }) // })
const getUser = () => {
dispatch({
type: 'user.fetchSessionInfo',
callback: session => {
setUser(session)
}
})
}
const heartbeat = () => { const heartbeat = () => {
dispatchLatest({ dispatchLatest({
type: 'datamodel.heartbeat' type: 'datamodel.heartbeat'
...@@ -300,11 +312,13 @@ const EditModel = (props) => { ...@@ -300,11 +312,13 @@ const EditModel = (props) => {
actionsBtn = ( actionsBtn = (
<Space> <Space>
{/* <Button type='primary' onClick={onHistory} danger >版本历史</Button> */} {/* <Button type='primary' onClick={onHistory} danger >版本历史</Button> */}
<Tooltip title={editTip}> {
user && getDataModelerRole(user)!==DataModelerRoleReader && <Tooltip title={editTip}>
<Button type='primary' onClick={edit} disabled={(stateId==='4')?!permitCheckOut:!editable} danger > <Button type='primary' onClick={edit} disabled={(stateId==='4')?!permitCheckOut:!editable} danger >
编辑 编辑
</Button> </Button>
</Tooltip> </Tooltip>
}
</Space> </Space>
); );
} else if (action === 'edit') { } else if (action === 'edit') {
......
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