Commit 6ee8dca8 by zhaochengxiang

资产删除停用

parent 3faa98e4
......@@ -66,10 +66,21 @@ const FC = (props) => {
}
}, [currentTemplateValue, keyword, currentElementValue, pagination, isAdmin], { wait: 300 })
const canStartProcess = React.useMemo(() => {
const canPublish = React.useMemo(() => {
let newSelectedRows = (selectedRows??[]).filter(item => item.draftState==='draft')
//非管理员不能操作停用状态的草稿
if (!isAdmin) {
newSelectedRows = (newSelectedRows??[]).filter(item => item.draftOperation!=='offline')
}
return (newSelectedRows??[]).length !== 0
}, [selectedRows, isAdmin])
const canDelete = React.useMemo(() => {
let newSelectedRows = (selectedRows??[]).filter(item => isAdmin || item.draftDeletable)
return (newSelectedRows??[]).length !== 0
}, [selectedRows])
}, [selectedRows, isAdmin])
const pathCol = {
title: '路径',
......@@ -368,14 +379,11 @@ const FC = (props) => {
<Tooltip title={((selectedRows??[]).length === 0) ? '请先选择资产' : ''}>
<Button onClick={onExportClick} disabled={(selectedRows??[]).length === 0}>导出</Button>
</Tooltip>
<Tooltip title={canStartProcess?'':'请先选择待提交的资产'}>
<Button onClick={onPublishClick} disabled={!canStartProcess}>发布</Button>
<Tooltip title={canPublish?'':(isAdmin?'请先选择待提交的资产':'请先选择待提交并且不是停用类型的资产')}>
<Button onClick={onPublishClick} disabled={!canPublish}>发布</Button>
</Tooltip>
{/* <Tooltip title={canStartProcess?'':'请先选择待提交的资产'}>
<Button onClick={onStartProcessClick} disabled={!canStartProcess}>申请</Button>
</Tooltip> */}
<Tooltip title={((selectedRows??[]).length === 0) ? '请先选择资产' : ''}>
<Button onClick={onDeletesClick} disabled={(selectedRows??[]).length === 0}>删除</Button>
<Tooltip title={canDelete ? '':(isAdmin?'请先选择资产':'请选择自己创建的资产')}>
<Button onClick={onDeletesClick} disabled={!canDelete}>删除</Button>
</Tooltip>
</Space>
<Space>
......
......@@ -134,6 +134,7 @@ const AssetTable = (props) => {
const [loadingElements, setLoadingElements] = useState(false)
const [elements, setElements] = useState()
const [currentElementId, setCurrentElementId] = useState()
const [isAdmin, setAdmin] = React.useState()
const [ modal, contextHolder ] = Modal.useModal();
const anchorId = getQueryParam(AnchorId, props?.location?.search);
......@@ -178,6 +179,7 @@ const AssetTable = (props) => {
}
useEffect(() => {
getAdmin();
getUsers();
if (reference === AssetRecycleReference) {
getTemplates()
......@@ -286,6 +288,15 @@ const AssetTable = (props) => {
}
}
const getAdmin = () => {
dispatch({
type: 'assetmanage.checkAdmin',
callback: (data) => {
setAdmin((data==='true')?true:false)
}
})
}
const getTemplates = () => {
setLoadingTemplates(true)
dispatch({
......@@ -700,7 +711,7 @@ const AssetTable = (props) => {
}
dispatch({
type: (reference===AssetManageReference)?'assetmanage.offlineAsDraft':'assetmanage.deleteDataAssets',
type: 'assetmanage.deleteDataAssets',
payload,
callback: () => {
showMessage("success","删除成功");
......@@ -714,6 +725,32 @@ const AssetTable = (props) => {
})
}
const offlineAssets = () => {
if ((checkedKeys||[]).length === 0) return;
modal.confirm({
title: '提示',
content: '是否停用选中的资产目录?',
onOk: () => {
let payload = {
data: checkedKeys
}
dispatch({
type: 'assetmanage.offlineAsDraft',
payload,
callback: () => {
showMessage("success","停用成功");
getDataAssets();
setCheckedKeys([]);
},
error: () => {
}
})
}
})
}
const onImportAssetCancel = () => {
setImportAssetVisible(false);
}
......@@ -935,12 +972,19 @@ const AssetTable = (props) => {
</Menu.Item>
}
{
(nodeType!=='custom') && <Menu.Item disabled={(checkedKeys||[]).length===0}>
isAdmin && <Menu.Item disabled={(checkedKeys||[]).length===0}>
<div className='text-center' onClick={deleteAssets}>
删除
</div>
</Menu.Item>
}
{
isAdmin && <Menu.Item disabled={(checkedKeys||[]).length===0}>
<div className='text-center' onClick={offlineAssets}>
停用
</div>
</Menu.Item>
}
</React.Fragment>
}
......@@ -1054,11 +1098,15 @@ const AssetTable = (props) => {
</Tooltip>
}
{
//自定义目录下的资产不允许删除
(nodeType!=='custom') && <Tooltip title={(checkedKeys||[]).length===0?'请先选择资产目录':''}>
isAdmin && <Tooltip title={(checkedKeys||[]).length===0?'请先选择资产目录':''}>
<Button onClick={deleteAssets} disabled={(checkedKeys||[]).length===0} >删除</Button>
</Tooltip>
}
{
isAdmin && <Tooltip title={(checkedKeys||[]).length===0?'请先选择资产目录':''}>
<Button onClick={offlineAssets} disabled={(checkedKeys||[]).length===0} >停用</Button>
</Tooltip>
}
</React.Fragment>
}
<Button onClick={onFilterElementClick}>可见列设置</Button>
......
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