Filter.tsx
5.07 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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
import React from 'react';
import { Input, Radio, Row, Select } from 'antd';
import { debounce } from 'lodash';
import useInitail from '@/hooks/useInitail';
import { getShopApi } from '@/common/api';
const Option = Select.Option;
interface Props {
setParams: Function;
innerParams: AmsSpec.ListParams;
}
export default function SeriesFilter({ setParams, innerParams }: Props) {
const { data: shopList } = useInitail<Array<CommonApi.OptionVO>, CommonApi.ShopParam>(getShopApi, [], {});
const fetchListByName = debounce(value => {
setParams({ ...value, current: 1 }, true);
}, 500);
const onSearch = (value: object) => setParams({ ...value, current: 1 }, true);
return (
<div>
<Row justify="space-between" style={{ flexWrap: "wrap" }}>
<Input.Search
allowClear
style={{ flex: 1, marginRight: 10 }}
onChange={e => fetchListByName({ keywords: e.target.value })}
onSearch={v => setParams({ keywords: v }, true)}
placeholder="物品名称/编码"
/>
{/* <Input.Search
allowClear
style={{ flex: 1, marginRight: 10 }}
onChange={e => fetchListByName({ uniqueCode: e.target.value })}
onSearch={v => setParams({ uniqueCode: v }, true)}
placeholder="物品唯一标识"
/> */}
<Input.Search
allowClear
style={{ flex: 1, marginRight: 10 }}
onChange={e => fetchListByName({ staffName: e.target.value })}
onSearch={v => setParams({ staffName: v }, true)}
placeholder="管理人员姓名"
/>
<Select
optionFilterProp="children"
showSearch
allowClear
placeholder="物品使用门店"
style={{ flex: 1, marginRight: 10 }}
onChange={(value) => onSearch({ useShopId: value })}
>
{shopList.map((item) => (
<Option key={item.id} value={item.id}>
{item.name}
</Option>
))}
</Select>
<Select
optionFilterProp="children"
showSearch
allowClear
placeholder="物品归属门店"
style={{ flex: 1, marginRight: 10 }}
onChange={(value) => onSearch({ assetShopId: value })}
>
{shopList.map((item) => (
<Option key={item.id} value={item.id}>
{item.name}
</Option>
))}
</Select>
</Row>
<Row justify="space-between" style={{ marginTop: 10 }}>
<Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ type: v })} placeholder="资产类型">
<Option value={1} key={1}>固定资产</Option>
<Option value={2} key={2}>低值品</Option>
<Option value={3} key={3}>易耗品</Option>
</Select>
<Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ agent: v })} placeholder="是否代管物品">
<Option value={1} key={1}>代管</Option>
<Option value={0} key={0}>被领用</Option>
</Select>
{/* <Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ sourceType: v })} placeholder="库存来源类型">
<Option value={1} key={1}>资产</Option>
<Option value={2} key={2}>配件</Option>
<Option value={3} key={3}>市场物料</Option>
</Select> */}
<Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ status: v })} placeholder="状态">
<Option value={1} key={1}>正常</Option>
<Option value={2} key={2}>已报废</Option>
<Option value={3} key={3}>已变卖</Option>
</Select>
<Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ repair: v })} placeholder="是否维修中">
<Option value={0} key={0}>正常</Option>
<Option value={1} key={1}>处理中</Option>
</Select>
</Row>
<Row justify="space-between" style={{ marginTop: 10, marginBottom: 15 }}>
<Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ sell: v })} placeholder="是否变卖中">
<Option value={0} key={0}>正常</Option>
<Option value={1} key={1}>处理中</Option>
</Select>
<Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ allocate: v })} placeholder="是否调拨中">
<Option value={0} key={0}>正常</Option>
<Option value={1} key={1}>处理中</Option>
</Select>
<Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ transfer: v })} placeholder="是否退回中">
<Option value={0} key={0}>正常</Option>
<Option value={1} key={1}>处理中</Option>
</Select>
<Select style={{ flex: 1, marginRight: 10 }} allowClear onChange={(v) => onSearch({ scrap: v })} placeholder="是否报废中">
<Option value={0} key={0}>正常</Option>
<Option value={1} key={1}>处理中</Option>
</Select>
</Row>
</div>
);
}