Commit 6322bf75 by zhaochengxiang

资产盘点权限

parent aae492e3
...@@ -14,6 +14,7 @@ import StartProcess from "./start-process" ...@@ -14,6 +14,7 @@ import StartProcess from "./start-process"
import ImportAsset from "./import" import ImportAsset from "./import"
import DistributeTask from './distribute-task' import DistributeTask from './distribute-task'
import RedistributeTask from './redistribute-task' import RedistributeTask from './redistribute-task'
import PermissionButton from '../../../util/Component/PermissionButton'
// const specialCol = ['数据关键用户', '业务数据owner', 'it责任人', '创建人', '更新人'] // const specialCol = ['数据关键用户', '业务数据owner', 'it责任人', '创建人', '更新人']
const specialCol = ['创建人', '更新人'] const specialCol = ['创建人', '更新人']
...@@ -99,13 +100,17 @@ const FC = (props) => { ...@@ -99,13 +100,17 @@ const FC = (props) => {
} }
}, [currentTemplateValue, keyword, currentElementValue, pagination, isAdmin, draftState], { wait: 300 }) }, [currentTemplateValue, keyword, currentElementValue, pagination, isAdmin, draftState], { wait: 300 })
const [canPublish, canDelete] = React.useMemo(() => { const [canExport, canPublish, canDelete] = React.useMemo(() => {
if ((selectedRows??[]).length === 0) return [false, false] if ((selectedRows??[]).length === 0) return [false, false]
let [_canPublish, _canDelete] = [true, true] let [_canExport, _canPublish, _canDelete] = [true, true, true]
for (const item of (selectedRows??[])) { for (const item of (selectedRows??[])) {
const exportIndex = (item.allowButtons??[]).findIndex(item => item==='export')
const publishIndex = (item.allowButtons??[]).findIndex(item => item==='publish') const publishIndex = (item.allowButtons??[]).findIndex(item => item==='publish')
const deleteIndex = (item.allowButtons??[]).findIndex(item => item==='delete') const deleteIndex = (item.allowButtons??[]).findIndex(item => item==='delete')
if (exportIndex === -1) {
_canExport = false
}
if (publishIndex === -1) { if (publishIndex === -1) {
_canPublish = false _canPublish = false
} }
...@@ -114,7 +119,7 @@ const FC = (props) => { ...@@ -114,7 +119,7 @@ const FC = (props) => {
} }
} }
return [_canPublish, _canDelete] return [_canExport, _canPublish, _canDelete]
}, [selectedRows]) }, [selectedRows])
const menuData = React.useMemo(() => { const menuData = React.useMemo(() => {
...@@ -529,15 +534,33 @@ const FC = (props) => { ...@@ -529,15 +534,33 @@ const FC = (props) => {
} }
</Select> </Select>
<Button onClick={onBatchUpdateClick}>批量修改</Button> <Button onClick={onBatchUpdateClick}>批量修改</Button>
<Tooltip title={((selectedRows??[]).length === 0) ? '请先选择资产' : ''}>
<Button onClick={onExportClick} disabled={(selectedRows??[]).length === 0}>导出</Button> <PermissionButton
</Tooltip> defaultPermission={canExport}
<Tooltip title={((selectedRows??[]).length === 0) ? '请先选择资产' : ''}> tip={(selectedRows||[]).length===0?'请先选择资产':''}
<Button onClick={onPublishClick} disabled={!canPublish}>发布</Button> onClick={onExportClick}
</Tooltip> disabled={(selectedRows||[]).length===0}
<Tooltip title={((selectedRows??[]).length === 0) ? '请先选择资产' : ''}> >
<Button onClick={onDeletesClick} disabled={!canDelete}>删除</Button> 导出
</Tooltip> </PermissionButton>
<PermissionButton
defaultPermission={canPublish}
tip={(selectedRows||[]).length===0?'请先选择资产':''}
onClick={onPublishClick}
disabled={(selectedRows||[]).length===0}
>
发布
</PermissionButton>
<PermissionButton
defaultPermission={canDelete}
tip={(selectedRows||[]).length===0?'请先选择资产':''}
onClick={onDeletesClick}
disabled={(selectedRows||[]).length===0}
>
删除
</PermissionButton>
</Space> </Space>
<Space> <Space>
<Select allowClear <Select allowClear
......
...@@ -12,6 +12,7 @@ import { dispatch } from '../../../model' ...@@ -12,6 +12,7 @@ import { dispatch } from '../../../model'
import { AssetManageReference, AssetRecycleReference } from "../../../util/constant" import { AssetManageReference, AssetRecycleReference } from "../../../util/constant"
import { getTemplateType } from "../../../util/axios" import { getTemplateType } from "../../../util/axios"
import FilterElementModal from '../AssetManage/Component/FilterElementModal' import FilterElementModal from '../AssetManage/Component/FilterElementModal'
import PermissionButton from '../../../util/Component/PermissionButton'
const FC = (props) => { const FC = (props) => {
const [loadingTemplates, setLoadingTemplates] = React.useState(false) const [loadingTemplates, setLoadingTemplates] = React.useState(false)
...@@ -131,6 +132,24 @@ const FC = (props) => { ...@@ -131,6 +132,24 @@ const FC = (props) => {
, newTableData, data?.total??0] , newTableData, data?.total??0]
}, [filterElements, data, loadingFilterElements, keyword, indexCol, pagination]) }, [filterElements, data, loadingFilterElements, keyword, indexCol, pagination])
const [canExport, canDelete] = React.useMemo(() => {
if ((selectedRows??[]).length === 0) return [false, false]
let [_canExport, _canDelete] = [true, true]
for (const item of (selectedRows??[])) {
const exportIndex = (item.allowButtons??[]).findIndex(item => item==='export')
const deleteIndex = (item.allowButtons??[]).findIndex(item => item==='delete')
if (exportIndex === -1) {
_canExport = false
}
if (deleteIndex === -1) {
_canDelete = false
}
}
return [_canExport, _canDelete]
}, [selectedRows])
const getTemplates = () => { const getTemplates = () => {
setLoadingTemplates(true) setLoadingTemplates(true)
dispatch({ dispatch({
...@@ -238,12 +257,22 @@ const FC = (props) => { ...@@ -238,12 +257,22 @@ const FC = (props) => {
(templates??[]).map((item, index) => <Select.Option key={index} value={item.type}>{item.name}</Select.Option>) (templates??[]).map((item, index) => <Select.Option key={index} value={item.type}>{item.name}</Select.Option>)
} }
</Select> </Select>
<Tooltip title={((selectedRows??[]).length === 0) ? '请先选择资产' : ''}> <PermissionButton
<Button onClick={onExportClick} disabled={(selectedRows??[]).length === 0}>导出</Button> defaultPermission={canExport}
</Tooltip> tip={(selectedRows||[]).length===0?'请先选择资产':''}
<Tooltip title={((selectedRows??[]).length === 0) ? '请先选择资产' : ''}> onClick={onExportClick}
<Button onClick={onDeleteClick} disabled={(selectedRows??[]).length === 0}>删除</Button> disabled={(selectedRows||[]).length===0}
</Tooltip> >
导出
</PermissionButton>
<PermissionButton
defaultPermission={canDelete}
tip={(selectedRows||[]).length===0?'请先选择资产':''}
onClick={onDeleteClick}
disabled={(selectedRows||[]).length===0}
>
删除
</PermissionButton>
<Button onClick={() => { <Button onClick={() => {
setFilterElementParams({ visible: true }) setFilterElementParams({ visible: true })
}}>可见列设置</Button> }}>可见列设置</Button>
......
...@@ -1152,7 +1152,7 @@ const AssetTable = (props) => { ...@@ -1152,7 +1152,7 @@ const AssetTable = (props) => {
{ {
reference===AssetManageReference && <PermissionButton reference===AssetManageReference && <PermissionButton
defaultPermission={changeDirectoryAble} defaultPermission={changeDirectoryAble}
tip={(checkedKeys||[]).length===0?'请先选择资产目录':''} tip={(checkedKeys||[]).length===0?'请先选择资产':''}
onClick={onBatchCatalogChangeBtnClick} onClick={onBatchCatalogChangeBtnClick}
disabled={(checkedKeys||[]).length===0} disabled={(checkedKeys||[]).length===0}
> >
...@@ -1162,7 +1162,7 @@ const AssetTable = (props) => { ...@@ -1162,7 +1162,7 @@ const AssetTable = (props) => {
{ {
reference===AssetManageReference && <PermissionButton reference===AssetManageReference && <PermissionButton
defaultPermission={deleteAble} defaultPermission={deleteAble}
tip={(checkedKeys||[]).length===0?'请先选择资产目录':''} tip={(checkedKeys||[]).length===0?'请先选择资产':''}
onClick={deleteAssets} onClick={deleteAssets}
disabled={(checkedKeys||[]).length===0} disabled={(checkedKeys||[]).length===0}
> >
...@@ -1172,7 +1172,7 @@ const AssetTable = (props) => { ...@@ -1172,7 +1172,7 @@ const AssetTable = (props) => {
{ {
reference===AssetManageReference && <PermissionButton reference===AssetManageReference && <PermissionButton
defaultPermission={offlineAble} defaultPermission={offlineAble}
tip={(checkedKeys||[]).length===0?'请先选择资产目录':''} tip={(checkedKeys||[]).length===0?'请先选择资产':''}
onClick={offlineAssets} onClick={offlineAssets}
disabled={(checkedKeys||[]).length===0} disabled={(checkedKeys||[]).length===0}
> >
...@@ -1182,7 +1182,7 @@ const AssetTable = (props) => { ...@@ -1182,7 +1182,7 @@ const AssetTable = (props) => {
{ {
reference===AssetManageReference && <PermissionButton reference===AssetManageReference && <PermissionButton
defaultPermission={addTagAble} defaultPermission={addTagAble}
tip={(checkedKeys||[]).length===0?'请先选择资产目录':''} tip={(checkedKeys||[]).length===0?'请先选择资产':''}
onClick={onBatchAddTagClick} onClick={onBatchAddTagClick}
disabled={(checkedKeys||[]).length===0} disabled={(checkedKeys||[]).length===0}
> >
......
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