Commit ec4ecbb8 by zhaochengxiang

采集任务权限

parent 3c63da30
...@@ -127,3 +127,7 @@ export function* getEtlSystemMappingList(payload) { ...@@ -127,3 +127,7 @@ export function* getEtlSystemMappingList(payload) {
export function* updateEtlSystemMapping(payload) { export function* updateEtlSystemMapping(payload) {
return yield call(service.updateEtlSystemMapping, payload); return yield call(service.updateEtlSystemMapping, payload);
} }
export function* getPermissions(payload) {
return yield call(service.getPermissions, payload);
}
\ No newline at end of file
...@@ -123,3 +123,7 @@ export function getEtlSystemMappingList(payload) { ...@@ -123,3 +123,7 @@ export function getEtlSystemMappingList(payload) {
export function updateEtlSystemMapping(payload) { export function updateEtlSystemMapping(payload) {
return PostJSON("/metadataharvester/etlSystemMapping/update", payload); return PostJSON("/metadataharvester/etlSystemMapping/update", payload);
} }
export function getPermissions(payload) {
return GetJSON("/metadataharvester/auth/getAllowButtons", payload);
}
\ No newline at end of file
...@@ -7,6 +7,7 @@ import { paginate, showMessage } from '../../../../util'; ...@@ -7,6 +7,7 @@ import { paginate, showMessage } from '../../../../util';
import Table from '../../ResizeableTable'; import Table from '../../ResizeableTable';
import UpdateTask from './UpdateTask'; import UpdateTask from './UpdateTask';
import ColConfig, { menuName } from './ColConfig'; import ColConfig, { menuName } from './ColConfig';
import PermissionButton from '../../../../util/Component/PermissionButton';
// import env from '../../../../service/samples/env.json'; // import env from '../../../../service/samples/env.json';
const FC = (props) => { const FC = (props) => {
...@@ -21,6 +22,7 @@ const FC = (props) => { ...@@ -21,6 +22,7 @@ const FC = (props) => {
const [visibleCols, setVisibleCols] = useState(undefined); const [visibleCols, setVisibleCols] = useState(undefined);
const [checkedKeys, setCheckedKeys] = useState(undefined); const [checkedKeys, setCheckedKeys] = useState(undefined);
const [keyword, setKeyword] = useState(undefined); const [keyword, setKeyword] = useState(undefined);
const [permissions, setPermissions] = useState(undefined);
const [updateTaskParam, setUpdateTaskParam] = useState({ const [updateTaskParam, setUpdateTaskParam] = useState({
visible: false, visible: false,
...@@ -134,26 +136,48 @@ const FC = (props) => { ...@@ -134,26 +136,48 @@ const FC = (props) => {
return ( return (
<Space> <Space>
{ {
isExtract ? <a isExtract ? <PermissionButton
onClick={() => { onCancelTask(record); type='link'
}}>取消执行</a> : <a onClick={() => {
onCancelTask(record);
}}
permissionKey='historyVersion'
permissions={permissions?.map(item => item.name)}
style={{ padding: 0 }}
>取消执行</PermissionButton> : <PermissionButton
type='link'
onClick={() =>{ onClick={() =>{
onStartTask(record); onStartTask(record);
}}>执行</a> }}
permissionKey='historyVersion'
permissions={permissions?.map(item => item.name)}
style={{ padding: 0 }}
>
执行
</PermissionButton>
} }
<Tooltip placement='bottom' title={editTip}> <PermissionButton
<a type='link'
disabled={isExtract} disabled={isExtract}
tip={editTip}
onClick={() => { onClick={() => {
setUpdateTaskParam({ visible: true, action: 'edit', id: record.id }); setUpdateTaskParam({ visible: true, action: 'edit', id: record.id });
}} }}
permissionKey='update'
permissions={permissions?.map(item => item.name)}
style={{ padding: 0 }}
> >
修改 修改
</a> </PermissionButton>
</Tooltip> <PermissionButton
<a onClick={() => { onDeleteTask(record); }}> type='link'
onClick={() => { onDeleteTask(record); }}
permissionKey='delete'
permissions={permissions?.map(item => item.name)}
style={{ padding: 0 }}
>
删除 删除
</a> </PermissionButton>
</Space> </Space>
) )
} }
...@@ -161,6 +185,7 @@ const FC = (props) => { ...@@ -161,6 +185,7 @@ const FC = (props) => {
] ]
useEffect(() => { useEffect(() => {
getPermissions();
getAllTasks(); getAllTasks();
getTaskCols(); getTaskCols();
const interval = setInterval(() => { const interval = setInterval(() => {
...@@ -235,6 +260,19 @@ const FC = (props) => { ...@@ -235,6 +260,19 @@ const FC = (props) => {
return 0; return 0;
}, [tasks, pagination, configState, keyword, env]) }, [tasks, pagination, configState, keyword, env])
const getPermissions = () => {
dispatch({
type: 'datasource.getPermissions',
payload: {
range: 'harvester_taskManage',
optionId: '采集任务',
},
callback: data => {
setPermissions(data);
}
})
}
const getAllTasks = () => { const getAllTasks = () => {
setLoadingTasks(true); setLoadingTasks(true);
dispatch({ dispatch({
...@@ -262,7 +300,6 @@ const FC = (props) => { ...@@ -262,7 +300,6 @@ const FC = (props) => {
}); });
}); });
console.log('new data', newData);
setTasks(newData||[]); setTasks(newData||[]);
}, },
error: () => { error: () => {
...@@ -408,15 +445,27 @@ const FC = (props) => { ...@@ -408,15 +445,27 @@ const FC = (props) => {
<div> <div>
<div className='flex' style={{ justifyContent: 'space-between' }}> <div className='flex' style={{ justifyContent: 'space-between' }}>
<Space> <Space>
<Button onClick={() => { <PermissionButton
onClick={() => {
setUpdateTaskParam({ visible: true, action: 'add', id: undefined }); setUpdateTaskParam({ visible: true, action: 'add', id: undefined });
}}>新增任务</Button> }}
permissionKey='add'
permissions={permissions?.map(item => item.name)}
>
新增任务
</PermissionButton>
<Button onClick={() => { <Button onClick={() => {
setColConfigParam({ visible: true }); setColConfigParam({ visible: true });
}}>可见列设置</Button> }}>可见列设置</Button>
<Tooltip title={(checkedKeys||[]).length===0?'请先选择任务':''}> <PermissionButton
<Button disabled={(checkedKeys||[]).length===0} onClick={onDeleteTasks}>删除</Button> disabled={(checkedKeys||[]).length===0}
</Tooltip> tip={(checkedKeys||[]).length===0?'请先选择任务':''}
onClick={onDeleteTasks}
permissionKey='delete'
permissions={permissions?.map(item => item.name)}
>
删除
</PermissionButton>
</Space> </Space>
<Space> <Space>
<Config setTargetTypes={setSupportedTargetTypes} onState={(state) => { <Config setTargetTypes={setSupportedTargetTypes} onState={(state) => {
......
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