Commit 05f06c03 by zhaochengxiang

资产管理接口优化

parent cdc1b1d0
......@@ -21,6 +21,10 @@ export function* listFilterElementIds() {
return yield call(service.listFilterElementIds);
}
export function* listFilterElements() {
return yield call(service.listFilterElements);
}
export function* setupFilterElementIds(payload) {
return yield call(service.setupFilterElementIds, payload);
}
......
......@@ -20,6 +20,10 @@ export function listFilterElementIds() {
return GetJSON("/dataassetmanager/elementApi/listFilterElementIds");
}
export function listFilterElements() {
return GetJSON("/dataassetmanager/elementApi/listFilterElements");
}
export function setupFilterElementIds(payload) {
return PostJSON("/dataassetmanager/elementApi/setupFilterElementIds", payload);
}
......
......@@ -36,14 +36,11 @@ const AssetItem = (props) => {
data && (data.elements||[]).forEach(element => {
if (_types.indexOf(element.type||'') === -1) {
_types.push(element.type||'');
const _elements = (data.elements||[]).filter(_element => (_element.type||'') === (element.type||''));
_typesOfElements.push({ type: element.type||'', elements: _elements||[] });
}
})
_types.forEach(type => {
const _elements = (data.elements||[]).filter(element => (element.type||'') === type);
_typesOfElements.push({ type, elements: _elements||[] });
})
setTypesOfElements(_typesOfElements);
}
......
......@@ -20,6 +20,7 @@ const AssetTable = (props) => {
const { readOnly = false, className, nodeId } = props;
const [ loading, setLoading ] = useState(false);
const [filterElements, setFilterElements] = useState([]);
const [ assetNames, setAssetNames ] = useState([]);
const [ assets, setAssets ] = useState([]);
const [ total, setTotal ] = useState(0);
......@@ -43,7 +44,7 @@ const AssetTable = (props) => {
const shouldScrollRef = useRef(false);
useEffect(()=>{
useEffect(() => {
if ((nodeId||'') !== '' ) {
if (shouldScrollRef.current === true) {
......@@ -74,9 +75,13 @@ const AssetTable = (props) => {
}, [anchorId])
useEffect(()=>{
useEffect(() => {
if ((nodeId||'') !== '' ) {
getTable();
if (filterElements.length === 0) {
getFilterElementsThenGetDataAssets();
} else {
getDataAssets();
}
}
//eslint-disable-next-line react-hooks/exhaustive-deps
}, [ keyword, pagination ])
......@@ -100,13 +105,27 @@ const AssetTable = (props) => {
}
})
const changeCurrent=(page,size)=>{
const changeCurrent = (page,size) => {
setCheckAllValue(false);
setSelectedKeys([]);
setPagination({ pageNum: page, pageSize: size });
}
const getTable=()=>{
const getFilterElementsThenGetDataAssets = () => {
setLoading(true);
dispatch({
type: 'assetmanage.listFilterElements',
callback: data => {
setFilterElements(data||[]);
getDataAssets(data||[]);
},
error: () => {
setLoading(false)
}
})
}
const getDataAssets = (elments = filterElements) => {
setLoading(true);
dispatch({
type: 'assetmanage.listDataAssetsByPage',
......@@ -118,13 +137,21 @@ const AssetTable = (props) => {
},
callback: data => {
const _assetNames = [];
(data.data||[]).forEach((asset, index) => {
(asset.elements||[]).forEach((element) => {
asset.elements = [];
(elments||[]).forEach((element, _index) => {
asset.elements.push({...element, value: asset.elementValues[_index]});
if (element.name === '中文名称') {
_assetNames.push(`${index+1}. ${element.value||''}`);
_assetNames.push(`${index+1}. ${asset.elementValues[_index]||''}`);
}
})
})
console.log('data', data.data);
setAssetNames(_assetNames);
setAssets(data.data||[]);
......@@ -149,7 +176,7 @@ const AssetTable = (props) => {
const onAssetEditCancel=(refresh = false) => {
setAssetEditVisible(false);
refresh && getTable();
refresh && getDataAssets();
}
const editAsset = (item) =>{
......@@ -173,7 +200,7 @@ const AssetTable = (props) => {
},
callback: () => {
showMessage("success","删除成功")
getTable();
getDataAssets();
const index = selectedKeys.findIndex((key) => key === item.id);
if (index !== -1) {
const newSelectedKeys = [...selectedKeys];
......@@ -247,7 +274,7 @@ const AssetTable = (props) => {
},
callback: () => {
showMessage("success","删除成功");
getTable();
getDataAssets();
setSelectedKeys([]);
setCheckAllValue(false);
},
......@@ -263,7 +290,7 @@ const AssetTable = (props) => {
const onImportAssetCancel = (visible = false, refresh = false, tip = '') => {
setImportAssetVisible(visible);
refresh && getTable();
refresh && getDataAssets();
if ((tip||'') !== '') {
showNotifaction('导入提示', tip, 5);
}
......@@ -279,7 +306,7 @@ const AssetTable = (props) => {
const onFilterElementVisibleChange = (visible = false, refresh = false) => {
setFilterElementVisible(visible);
refresh && getTable();
refresh && getFilterElementsThenGetDataAssets();
}
const onImportElementBtnClick = () => {
......
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