Commit 6322bf75 by zhaochengxiang

资产盘点权限

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