/*
|
* @Company: hugeInfo
|
* @Author: ldh
|
* @Date: 2022-09-16 16:35:20
|
* @LastEditTime: 2022-12-07 10:59:51
|
* @LastEditors: lwh
|
* @Version: 1.0.0
|
* @Description: 应急物资 - 列表组件
|
*/
|
import React, { useEffect } from 'react';
|
import { useHistory } from 'react-router-dom';
|
import { Space } from 'dingtalk-design-mobile';
|
import MyList from '../MyList';
|
import { dateFormat, getUpdateStr, searchTitle } from '../../utils/utility';
|
import routerStatus from '../../status/router';
|
|
const MaterialsList = ({ search, data, hasMore, getScrollTopKey, scrollTop, searchValue, getPageQueryData }) => {
|
const history = useHistory();
|
|
// 加载更多数据
|
function handleLoadMore(callback) {
|
getPageQueryData({ ...search, page: search.page + 1 }, '', callback);
|
}
|
|
// 列表更新
|
useEffect(() => {
|
if (routerStatus.spinPage['materials']) {
|
getPageQueryData({ ...search, page: 1, size: search.page * search.size }, 'spin');
|
routerStatus.setPageScrollTopNow('materials');
|
routerStatus.clearSpinPage('materials');
|
}
|
}, [routerStatus.spinPage['materials']]);
|
|
return (
|
<MyList
|
data={data}
|
hasMore={hasMore}
|
loadMore={handleLoadMore}
|
getScrollTopKey={getScrollTopKey}
|
scrollTop={scrollTop}
|
itemDom={(item, index) => {
|
return (
|
<div
|
className="building-card-bottom"
|
style={index === 0 ? { marginTop: 0 } : null}
|
onClick={() => history.push(`/hztGrid/detailMaterials?id=${item.id}`)}
|
>
|
<div className="building-card">
|
<div className="building-title">
|
{item.goodsName}
|
</div>
|
<div className="building-subtitle">
|
<div className="building-subtitle-text">型号:{item.goodsNorms || '-'}</div>
|
<div className="public-split" />
|
<div className="building-subtitle-text">数量:{item.goodsCount || 0}</div>
|
<div className="public-split" />
|
<div className="building-subtitle-text">{dateFormat(item.updateTime)}更新</div>
|
</div>
|
</div>
|
</div>
|
);
|
}}
|
/>
|
);
|
};
|
|
export default MaterialsList;
|