Commit 8ddc7b0a by zhaochengxiang

资产增加批量打标签

parent 97b620fe
......@@ -19,7 +19,7 @@ import { FullScreenSvg, CancelFullScreenSvg } from '../AssetManage/Component/Ass
import FilterElement from '../AssetManage/Component/FilterElementModal'
import FilterElementValue from '../AssetResourceManage/filter-element-value'
import { AssetDirectorySubject } from '../AssetManage/Component/AssetDirectory'
import TagCell from '../Model/Component/tag-help'
import TagCell, { TagSelectPopup } from '../Model/Component/tag-help'
import { MetadataColumn } from '../AssetResourceManage/table'
import AssetDetailDrawer from '../AssetManage/Component/AssetDetailDrawer'
......@@ -46,6 +46,7 @@ const FC = (props) => {
const [row, setRow] = React.useState()
const $keyword = React.useMemo(() => new Subject(), [])
const [keyword, setKeyword] = React.useState()
const [selectedRows, setSelectedRows] = React.useState([])
const [searchType, setSearchType] = React.useState('keyword')
const [resoureTagMap, setResourceTagMap] = React.useState()
const [filterElementParams, setFilterElementParams] = React.useState({
......@@ -64,6 +65,10 @@ const FC = (props) => {
dirId: undefined,
reference: undefined,
})
const [tagSelectPopupParams, setTagSelectPopupParams] = React.useState({
visible: false,
items: undefined
})
const [page, setPage] = usePage()
const [modal, contextHolder] = Modal.useModal()
......@@ -124,6 +129,7 @@ const FC = (props) => {
React.useEffect(() => {
if (node) {
setRow()
setSelectedRows([])
if (locationIdRef.current && locationDidRef.current) {
getDataAssetLocation()
} else {
......@@ -361,6 +367,13 @@ const FC = (props) => {
})
}
const onBatchAddTagClick = () => {
setTagSelectPopupParams({
visible: true,
items: (selectedRows??[]).map(item => ({ resourceId: item.id }))
})
}
const classes = classNames('asset-list', {
'asset-list-fullscreen': fullScreen,
});
......@@ -376,6 +389,9 @@ const FC = (props) => {
}}
>
<Space className='mr-3' style={{ flex: 0, paddingBottom: 15 }}>
<Tooltip title={(selectedRows??[]).length===0?'请先选择资产':''}>
<Button disabled={(selectedRows??[]).length===0} onClick={onBatchAddTagClick}>批量标签</Button>
</Tooltip>
<Button onClick={onFilterElementClick}>可见列设置</Button>
</Space>
<div className='flex' style={{ flex: 1, overflow: 'auto', paddingBottom: 15 }}>
......@@ -461,9 +477,16 @@ const FC = (props) => {
reference: AssetBrowseReference
})
}}
rowSelection={{
selectedRowKeys: (selectedRows??[]).map(item => item.id),
onChange: (selectedRowKeys, selectedRows) => {
setSelectedRows(selectedRows)
},
}}
rowClassName={(record, index) => (record?.id === row?.id) ? 'yy-table-select-row' : ''}
onPaginate={(page, pageSize) => {
setRow()
setSelectedRows([])
setPageAndArgs({ pageNum: page, pageSize })
}}
/>
......@@ -508,6 +531,19 @@ const FC = (props) => {
})
}}
/>
<TagSelectPopup
{...tagSelectPopupParams}
type='dataAsset'
onCancel={() => {
setTagSelectPopupParams({
visible: false,
items: undefined
})
}}
onChange={() => {
getResourceTag()
}}
/>
{contextHolder}
</div>
)
......
......@@ -26,7 +26,7 @@ import FilterElementValue from '../AssetResourceManage/filter-element-value'
import SelectBatchEditElements from '../AssetResourceManage/select-batch-edit-elements'
import { AssetDirectorySubject } from './Component/AssetDirectory'
import { AssetActionSubject } from './Component/AssetAction'
import TagCell from '../Model/Component/tag-help'
import TagCell, { TagSelectPopup } from '../Model/Component/tag-help'
import './table.less'
import { MetadataColumn } from '../AssetResourceManage/table'
......@@ -101,6 +101,10 @@ const FC = (props) => {
visible: false,
type: undefined
})
const [tagSelectPopupParams, setTagSelectPopupParams] = React.useState({
visible: false,
items: undefined
})
const [page, setPage] = usePage()
const [modal, contextHolder] = Modal.useModal()
......@@ -589,6 +593,13 @@ const FC = (props) => {
})
}
const onBatchAddTagClick = () => {
setTagSelectPopupParams({
visible: true,
items: (selectedRows??[]).map(item => ({ resourceId: item.id }))
})
}
const deleteAssets = () => {
setAssetDeleteParams({
visible: false
......@@ -671,6 +682,8 @@ const FC = (props) => {
onDeleteClick()
} else if (key === 'colConfig') {
onFilterElementClick()
} else if (key === 'batchAddTag') {
onBatchAddTagClick()
}
}
......@@ -732,6 +745,13 @@ const FC = (props) => {
</div>
</PermissionMenuItem>
}
<Menu.Item key='batchAddTag' disabled={(selectedRows??[]).length===0}>
<Tooltip title={(selectedRows??[]).length===0?'请先选择资产':''}>
<div className='text-center'>
批量标签
</div>
</Tooltip>
</Menu.Item>
<Menu.Item key='colConfig'>
<div className='text-center'>
可见列设置
......@@ -1010,6 +1030,19 @@ const FC = (props) => {
refresh && getAssets()
}}
/>
<TagSelectPopup
{...tagSelectPopupParams}
type='dataAsset'
onCancel={() => {
setTagSelectPopupParams({
visible: false,
items: undefined
})
}}
onChange={() => {
getResourceTag()
}}
/>
{contextHolder}
</div>
)
......
......@@ -19,7 +19,7 @@ import { FullScreenSvg, CancelFullScreenSvg } from '../AssetManage/Component/Ass
import FilterElement from '../AssetManage/Component/FilterElementModal'
import FilterElementValue from '../AssetResourceManage/filter-element-value'
import { AssetDirectorySubject } from '../AssetManage/Component/AssetDirectory'
import TagCell from '../Model/Component/tag-help'
import TagCell, { TagSelectPopup } from '../Model/Component/tag-help'
import { MetadataColumn } from '../AssetResourceManage/table'
import AssetDetailDrawer from '../AssetManage/Component/AssetDetailDrawer'
......@@ -46,6 +46,7 @@ const FC = (props) => {
const [row, setRow] = React.useState()
const $keyword = React.useMemo(() => new Subject(), [])
const [keyword, setKeyword] = React.useState()
const [selectedRows, setSelectedRows] = React.useState([])
const [searchType, setSearchType] = React.useState('keyword')
const [resoureTagMap, setResourceTagMap] = React.useState()
const [filterElementParams, setFilterElementParams] = React.useState({
......@@ -64,6 +65,10 @@ const FC = (props) => {
dirId: undefined,
reference: undefined,
})
const [tagSelectPopupParams, setTagSelectPopupParams] = React.useState({
visible: false,
items: undefined
})
const [page, setPage] = usePage()
const [modal, contextHolder] = Modal.useModal()
......@@ -124,6 +129,7 @@ const FC = (props) => {
React.useEffect(() => {
if (node) {
setRow()
setSelectedRows([])
if (locationIdRef.current && locationDidRef.current) {
getDataAssetLocation()
} else {
......@@ -361,6 +367,13 @@ const FC = (props) => {
})
}
const onBatchAddTagClick = () => {
setTagSelectPopupParams({
visible: true,
items: (selectedRows??[]).map(item => ({ resourceId: item.id }))
})
}
const classes = classNames('asset-list', {
'asset-list-fullscreen': fullScreen,
});
......@@ -376,6 +389,9 @@ const FC = (props) => {
}}
>
<Space className='mr-3' style={{ flex: 0, paddingBottom: 15 }}>
<Tooltip title={(selectedRows??[]).length===0?'请先选择资源':''}>
<Button disabled={(selectedRows??[]).length===0} onClick={onBatchAddTagClick}>批量标签</Button>
</Tooltip>
<Button onClick={onFilterElementClick}>可见列设置</Button>
</Space>
<div className='flex' style={{ flex: 1, overflow: 'auto', paddingBottom: 15 }}>
......@@ -461,9 +477,16 @@ const FC = (props) => {
reference: ResourceBrowseReference
})
}}
rowSelection={{
selectedRowKeys: (selectedRows??[]).map(item => item.id),
onChange: (selectedRowKeys, selectedRows) => {
setSelectedRows(selectedRows)
},
}}
rowClassName={(record, index) => (record?.id === row?.id) ? 'yy-table-select-row' : ''}
onPaginate={(page, pageSize) => {
setRow()
setSelectedRows([])
setPageAndArgs({ pageNum: page, pageSize })
}}
/>
......@@ -508,6 +531,19 @@ const FC = (props) => {
})
}}
/>
<TagSelectPopup
{...tagSelectPopupParams}
type='dataAsset'
onCancel={() => {
setTagSelectPopupParams({
visible: false,
items: undefined
})
}}
onChange={() => {
getResourceTag()
}}
/>
{contextHolder}
</div>
)
......
......@@ -26,7 +26,7 @@ import FilterElementValue from './filter-element-value'
import SelectBatchEditElements from './select-batch-edit-elements'
import { AssetDirectorySubject } from '../AssetManage/Component/AssetDirectory'
import { AssetActionSubject } from '../AssetManage/Component/AssetAction'
import TagCell from '../Model/Component/tag-help'
import TagCell, { TagSelectPopup } from '../Model/Component/tag-help'
import DistributeTask from './distribute-task'
import RedistributeTask from './redistribute-task'
import AutoDistributeTask from './auto-distribute-task'
......@@ -132,6 +132,10 @@ const FC = (props) => {
type: undefined,
items: undefined
})
const [tagSelectPopupParams, setTagSelectPopupParams] = React.useState({
visible: false,
items: undefined
})
const [page, setPage] = usePage()
const [modal, contextHolder] = Modal.useModal()
......@@ -747,6 +751,13 @@ const FC = (props) => {
})
}
const onBatchAddTagClick = () => {
setTagSelectPopupParams({
visible: true,
items: (selectedRows??[]).map(item => ({ resourceId: item.id }))
})
}
const deleteAssets = () => {
setAssetDeleteParams({
visible: false
......@@ -931,6 +942,8 @@ const FC = (props) => {
onDeleteClick()
} else if (key === 'colConfig') {
onFilterElementClick()
} else if (key === 'batchAddTag') {
onBatchAddTagClick()
}
}
......@@ -1043,6 +1056,13 @@ const FC = (props) => {
</div>
</PermissionMenuItem>
}
<Menu.Item key='batchAddTag' disabled={(selectedRows??[]).length===0}>
<Tooltip title={(selectedRows??[]).length===0?'请先选择资源':''}>
<div className='text-center'>
批量标签
</div>
</Tooltip>
</Menu.Item>
<Menu.Item key='colConfig'>
<div className='text-center'>
可见列设置
......@@ -1453,6 +1473,19 @@ const FC = (props) => {
refresh && getAssets()
}}
/>
<TagSelectPopup
{...tagSelectPopupParams}
type='dataAsset'
onCancel={() => {
setTagSelectPopupParams({
visible: false,
items: undefined
})
}}
onChange={() => {
getResourceTag()
}}
/>
{contextHolder}
</div>
)
......
......@@ -18,9 +18,9 @@ const FC = ({ type, data, onChange }) => {
entry: '/data-quality/',
container: containerRef.current,
props: {
...app||{},
type,
data,
user: app?.user,
onChange
},
},
......
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