index.tsx
1.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
import React, { useState } from 'react';
import { PlusOutlined } from '@ant-design/icons';
import { Card, Button } from 'antd';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import usePagination from '@/hooks/usePagination';
import List from './components/List';
import { getAreaStorageList } from './api';
import CreatModal from './components/CreateModal';
import * as api from '../StorageManage/api';
function AreaStorageSetting() {
const { list: storageList } = usePagination<any>(api.getStoragePage);
const { list, loading, setLoading, paginationConfig, setParams } = usePagination<AreaStorageSettingSpace.item>(getAreaStorageList, { current: 1, pageSize: 10 });
const [current, setCurrent] = useState<{ visible: boolean, row: AreaStorageSettingSpace.item }>({ visible: false, row: {} });
// 已经被选了的库房ID
const selecteds = (list.map(it => it.storageIds)).flat();
const modalSwitch = (row: AreaStorageSettingSpace.item={}) => {
setCurrent({
row,
visible: !current.visible
});
};
return (
<PageHeaderWrapper title="区域库设置">
<Card
extra={
<Button icon={<PlusOutlined />} type="primary" onClick={() => modalSwitch()}>
新增
</Button>
}
>
<List
list={list}
loading={loading}
pagination={paginationConfig}
setParams={setParams}
onRefreshing={() => setLoading(true)}
onEdit={(row) => modalSwitch(row)}
/>
<CreatModal
visible={current.visible}
shops={storageList}
selecteds={selecteds}
itemData={current.row}
onCancel={() => modalSwitch()}
onRefreshing={() => setLoading(true)}
/>
</Card>
</PageHeaderWrapper>
);
}
export default () => <AreaStorageSetting />;