Commit c489f5b7 by zhaochengxiang

资源列表过滤

parent d65216e0
...@@ -26,8 +26,8 @@ export function* listFilterElementIds(payload) { ...@@ -26,8 +26,8 @@ export function* listFilterElementIds(payload) {
return yield call(service.listFilterElementIds, payload); return yield call(service.listFilterElementIds, payload);
} }
export function* listFilterElements() { export function* listFilterElements(payload) {
return yield call(service.listFilterElements); return yield call(service.listFilterElements, payload);
} }
export function* listFilterElementsGroupByType(payload) { export function* listFilterElementsGroupByType(payload) {
...@@ -269,3 +269,11 @@ export function* getDirectoryWithSyncStrategy(payload) { ...@@ -269,3 +269,11 @@ export function* getDirectoryWithSyncStrategy(payload) {
export function* resourceSyncSchema(payload) { export function* resourceSyncSchema(payload) {
return yield call(service.resourceSyncSchema, payload) return yield call(service.resourceSyncSchema, payload)
} }
export function* getResourceSortingStatus() {
return yield call(service.getResourceSortingStatus)
}
export function* getResourceRelatedMetadataStatus() {
return yield call(service.getResourceRelatedMetadataStatus)
}
\ No newline at end of file
...@@ -24,8 +24,8 @@ export function listFilterElementIds(payload) { ...@@ -24,8 +24,8 @@ export function listFilterElementIds(payload) {
return GetJSON("/dataassetmanager/elementApi/listFilterElementIds", payload); return GetJSON("/dataassetmanager/elementApi/listFilterElementIds", payload);
} }
export function listFilterElements() { export function listFilterElements(payload) {
return GetJSON("/dataassetmanager/elementApi/listFilterElements"); return GetJSON("/dataassetmanager/elementApi/listFilterElements", payload);
} }
export function listFilterElementsGroupByType(payload) { export function listFilterElementsGroupByType(payload) {
...@@ -259,3 +259,11 @@ export function getPreviewRangeByDirId(payload) { ...@@ -259,3 +259,11 @@ export function getPreviewRangeByDirId(payload) {
export function resourceSyncSchema(payload) { export function resourceSyncSchema(payload) {
return Post("/dataassetmanager/resourceApi/syncSchema", payload); return Post("/dataassetmanager/resourceApi/syncSchema", payload);
} }
export function getResourceSortingStatus() {
return GetJSON("/dataassetmanager/resourceApi/listSortingStatus");
}
export function getResourceRelatedMetadataStatus() {
return GetJSON("/dataassetmanager/resourceApi/listRelatedMetadataStatus");
}
\ No newline at end of file
...@@ -31,8 +31,10 @@ const FC = (props) => { ...@@ -31,8 +31,10 @@ const FC = (props) => {
page: defaultPage.pageNum, page: defaultPage.pageNum,
size: defaultPage.pageSize, size: defaultPage.pageSize,
onlyPending: false, onlyPending: false,
catalogType: 'current', catalogType: 'currentRecursive',
keyword: undefined, keyword: undefined,
sortingStatus: undefined,
resourceStatus: undefined,
}, },
})) }))
const [fullScreen, setFullScreen] = React.useState(false) const [fullScreen, setFullScreen] = React.useState(false)
...@@ -45,6 +47,10 @@ const FC = (props) => { ...@@ -45,6 +47,10 @@ const FC = (props) => {
const [selectedRows, setSelectedRows] = React.useState([]) const [selectedRows, setSelectedRows] = React.useState([])
const [row, setRow] = React.useState() const [row, setRow] = React.useState()
const [permissions, setPermissions] = React.useState([]) const [permissions, setPermissions] = React.useState([])
const [loadingSortStatus, setLoadingSortStatus] = React.useState(false)
const [sortStatus, setSortStatus] = React.useState()
const [loadingRelatedMetadataStatus, setLoadingRelatedMetadataStatus] = React.useState(false)
const [relatedMetadataStatus, setRelatedMetadataStatus] = React.useState()
const $keyword = React.useMemo(() => new Subject(), []) const $keyword = React.useMemo(() => new Subject(), [])
const [keyword, setKeyword] = React.useState() const [keyword, setKeyword] = React.useState()
const [searchType, setSearchType] = React.useState('keyword') const [searchType, setSearchType] = React.useState('keyword')
...@@ -99,6 +105,10 @@ const FC = (props) => { ...@@ -99,6 +105,10 @@ const FC = (props) => {
}, []) }, [])
React.useEffect(() => { React.useEffect(() => {
getElements()
getResourceSortingStatus()
getResourceRelatedMetadataStatus()
const $$keyword = $keyword.pipe(debounceTime(1000)).subscribe((keyword) => { const $$keyword = $keyword.pipe(debounceTime(1000)).subscribe((keyword) => {
setArgsAndPage({ keyword }) setArgsAndPage({ keyword })
}) })
...@@ -134,7 +144,6 @@ const FC = (props) => { ...@@ -134,7 +144,6 @@ const FC = (props) => {
React.useEffect(() => { React.useEffect(() => {
if (node?.nodeId) { if (node?.nodeId) {
getElements()
getAssets() getAssets()
} }
}, [args]) }, [args])
...@@ -185,10 +194,9 @@ const FC = (props) => { ...@@ -185,10 +194,9 @@ const FC = (props) => {
const columns = React.useMemo(() => { const columns = React.useMemo(() => {
const newColumns = [] const newColumns = []
let index = 0 let index = 0
for (const attrItem of (elements??[])) { for (const element of elements??[]) {
for (const name of attrItem.names??[]) {
const col = { const col = {
title: name, title: element.name,
dataIndex: `element${++index}`, dataIndex: `element${++index}`,
ellipsis: true, ellipsis: true,
width: 120, width: 120,
...@@ -202,15 +210,15 @@ const FC = (props) => { ...@@ -202,15 +210,15 @@ const FC = (props) => {
); );
} }
} }
if (name === '编号') { if (element.name === '编号') {
col.width = 60 col.width = 60
} else if (name === '中文名称') { } else if (element.name === '中文名称') {
col.width = isSzseEnv ? 230 : 160 col.width = isSzseEnv ? 230 : 160
} else if (name === '英文名称') { } else if (element.name === '英文名称') {
col.width = isSzseEnv ? 224 : 160 col.width = isSzseEnv ? 224 : 160
} else if (name === '资产项') { } else if (element.name === '资源项') {
col.width = isSzseEnv ? 250 : 120 col.width = isSzseEnv ? 250 : 120
} else if (name === '资产路径') { } else if (element.name === '资源路径') {
col.render = (text, record) => { col.render = (text, record) => {
return ( return (
<Tooltip title={text}> <Tooltip title={text}>
...@@ -231,7 +239,6 @@ const FC = (props) => { ...@@ -231,7 +239,6 @@ const FC = (props) => {
newColumns.push(col) newColumns.push(col)
} }
}
return newColumns return newColumns
}, [elements]) }, [elements])
...@@ -242,9 +249,7 @@ const FC = (props) => { ...@@ -242,9 +249,7 @@ const FC = (props) => {
const newAsset = {...item} const newAsset = {...item}
let index = 0 let index = 0
for (const elementValue of (item.elementValues??[])) { for (const elementValue of (item.elementValues??[])) {
for (const value of (elementValue.values??[])) { newAsset[`element${++index}`] = elementValue
newAsset[`element${++index}`] = value
}
} }
newTableData.push(newAsset) newTableData.push(newAsset)
} }
...@@ -269,10 +274,38 @@ const FC = (props) => { ...@@ -269,10 +274,38 @@ const FC = (props) => {
}) })
} }
const getResourceSortingStatus = () => {
setLoadingSortStatus(true)
dispatch({
type: 'assetmanage.getResourceSortingStatus',
callback: data => {
setLoadingSortStatus(false)
setSortStatus(data)
},
error: () => {
setLoadingSortStatus(false)
}
})
}
const getResourceRelatedMetadataStatus = () => {
setLoadingRelatedMetadataStatus(true)
dispatch({
type: 'assetmanage.getResourceRelatedMetadataStatus',
callback: data => {
setLoadingRelatedMetadataStatus(false)
setRelatedMetadataStatus(data)
},
error: () => {
setLoadingRelatedMetadataStatus(false)
}
})
}
const getElements = () => { const getElements = () => {
setLoadingElements(true) setLoadingElements(true)
dispatch({ dispatch({
type: 'assetmanage.listFilterElementsGroupByType', type: 'assetmanage.listFilterElements',
payload: { payload: {
range: getAssetRange(ResourceManageReference), range: getAssetRange(ResourceManageReference),
dataAssetType: getAssetType(ResourceManageReference) dataAssetType: getAssetType(ResourceManageReference)
...@@ -289,16 +322,29 @@ const FC = (props) => { ...@@ -289,16 +322,29 @@ const FC = (props) => {
const getAssets = () => { const getAssets = () => {
setLoading(true) setLoading(true)
let [recursive, dirId] = [true, node?.nodeId]
if (args.params.catalogType === 'current') {
recursive = false
}
if (args.params.catalogType === 'fullSearch') {
dirId = ''
}
dispatch({ dispatch({
type: 'assetmanage.listDataResourcesByPage', type: 'assetmanage.listDataResourcesByPage',
payload: { payload: {
data: [], data: [],
params: { params: {
dirId: node?.nodeId, dirId,
pageNum: args.params.page, pageNum: args.params.page,
pageSize: args.params.size, pageSize: args.params.size,
keyword: args.params.keyword, keyword: args.params.keyword,
range: getAssetRange(ResourceManageReference), range: getAssetRange(ResourceManageReference),
resourceStatus: args.params.resourceStatus,
sortingStatus: args.params.sortingStatus,
recursive,
} }
}, },
callback: data => { callback: data => {
...@@ -611,18 +657,48 @@ const FC = (props) => { ...@@ -611,18 +657,48 @@ const FC = (props) => {
onChange={(value) => { onChange={(value) => {
setArgsAndPage({ catalogType: value }) setArgsAndPage({ catalogType: value })
}} }}
style={{ width: 140 }} style={{ width: 170 }}
> >
<Select.Option value='currentRecursive'>
当前目录(含子目录)
</Select.Option>
<Select.Option value='current'> <Select.Option value='current'>
当前目录 当前目录
</Select.Option> </Select.Option>
<Select.Option value='currentRecursive'>
当前及子孙目录
</Select.Option>
<Select.Option value='fullSearch'> <Select.Option value='fullSearch'>
全部数据 全部数据
</Select.Option> </Select.Option>
</Select> </Select>
<Select
placeholder='梳理状态'
onChange={(value) => {
setArgsAndPage({ sortingStatus: value })
}}
style={{ width: 100 }}
>
{
(sortStatus??[]).map((item, index) => {
return <Select.Option key={index} value={item.type}>
{item.desc}
</Select.Option>
})
}
</Select>
<Select
placeholder='资源状态'
onChange={(value) => {
setArgsAndPage({ resourceStatus: value })
}}
style={{ width: 100 }}
>
{
(relatedMetadataStatus??[]).map((item, index) => {
return <Select.Option key={index} value={item.type}>
{item.desc}
</Select.Option>
})
}
</Select>
<Input size="middle" <Input size="middle"
addonBefore={ addonBefore={
<Select <Select
......
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