fb24188b
jiangwei
客户定件计划进度查看
|
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
|
import { Table, Select, Input, Card, message, Spin } from 'antd';
import React, { useState } from 'react';
import { fetchPartList, ListVO, fetchProgress, ProgressItemVO } from './api';
import { getShopApi } from '@/pages/pms/storage/partShop/api';
import useInitial from "@/hooks/useInitail";
import usePagination from '@/hooks/usePagination';
import { PageHeaderWrapper } from '@ant-design/pro-layout';
import * as API from '@/common/api';
import ProcessModal from './components/ProcessModal';
const { Column } = Table;
const Option = Select.Option;
const Search = Input.Search;
export default function Index() {
const { list, setParams, paginationConfig, loading } = usePagination<ListVO>(fetchPartList, [], {});
const { data: shops } = useInitial<PmsStoragePartShop.Option[], {}>(getShopApi, [], {});
const { data: brands } = useInitial(API.getBrandFilterApi, [], {});
const [currentInfo, setCurrentInfo] = useState<{visible?: boolean, item?: ProgressItemVO[], loading?:boolean}>({visible: false, item: [], loading: false});
const process = (id?: string) => {
setCurrentInfo({loading: true});
fetchProgress({handleTypeId: id, handleType: "客户订件"}).then(res => {
setCurrentInfo({ visible: true, item: res.data, loading: false });
}).catch(e => {
message.error(e.message);
setCurrentInfo({ loading: false });
});
};
return (
<PageHeaderWrapper title="客户订件计划进度">
<Card>
<Spin spinning={currentInfo.loading}>
<div style={{ display: 'flex', alignItems: 'center', marginBottom: 20 }}>
<Search
allowClear
|
fb24188b
jiangwei
客户定件计划进度查看
|
38
|
placeholder="配件名称/编码搜索"
|
9ca4d316
jiangwei
搜索优化
|
39
40
|
style={{ width: 220, marginRight: 10 }}
onSearch={e => setParams({keywords: e}, true)}
|
fb24188b
jiangwei
客户定件计划进度查看
|
41
|
/>
|
81339a3c
jiangwei
客户订件进度增加筛选条件
|
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
<Search
allowClear
placeholder="顾问名称搜索"
style={{ width: 200, marginRight: 10 }}
onSearch={e => setParams({ serviceName: e}, true)}
/>
<Search
allowClear
placeholder="车牌号搜索"
style={{ width: 200, marginRight: 10 }}
onSearch={e => setParams({ plateNo: e}, true)}
/>
<Search
allowClear
placeholder="VIN搜索"
style={{ width: 200, marginRight: 10 }}
onSearch={e => setParams({ vin: e}, true)}
/>
|
fb24188b
jiangwei
客户定件计划进度查看
|
60
61
|
<Select
allowClear
|
81339a3c
jiangwei
客户订件进度增加筛选条件
|
62
|
placeholder="品牌筛选"
|
fb24188b
jiangwei
客户定件计划进度查看
|
63
64
65
66
67
68
69
70
71
|
style={{ width: 200, marginRight: 10 }}
onChange={v => setParams({ brandId: v }, true)}
showSearch
optionFilterProp="children"
>
{brands.map(item => <Option key={item.id} value={item.id}>{item.name}</Option>)}
</Select>
<Select
allowClear
|
81339a3c
jiangwei
客户订件进度增加筛选条件
|
72
|
placeholder="门店筛选"
|
fb24188b
jiangwei
客户定件计划进度查看
|
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
|
style={{ width: 200, marginRight: 10 }}
onChange={v => setParams({shopId: v }, true)}
showSearch
optionFilterProp="children"
>
{shops.map((item: PmsStoragePartShop.Option) => <Option key={item.id} value={item.id || ""}>{item.name || ""}</Option>)}
</Select>
<Select
allowClear
placeholder="状态筛选"
style={{ width: 200 }}
onChange={v => setParams({status: v }, true)}
showSearch
optionFilterProp="children"
>
<Option value={0} key="1">未确认</Option>
<Option value={1} key="2">未添加</Option>
<Option value={2} key="3">已添加</Option>
<Option value={3} key="4">已完成</Option>
</Select>
</div>
<Table
rowKey={(v: ListVO) => `${v.waitListIds}`}
dataSource={list}
pagination={paginationConfig}
loading={loading}
|
8ab0f994
jiangwei
表格宽度
|
99
|
scroll={{x: 1200}}
|
fb24188b
jiangwei
客户定件计划进度查看
|
100
|
>
|
8ab0f994
jiangwei
表格宽度
|
101
102
103
104
105
|
<Column title="配件编码" dataIndex="partCode" fixed="left" />
<Column title="配件名称" dataIndex="partName" />
<Column title="采购数量" dataIndex="cnt" />
<Column title="采购单价" dataIndex="price" />
<Column title="车牌号" dataIndex="plateNo" />
|
fb24188b
jiangwei
客户定件计划进度查看
|
106
107
108
|
<Column title="时间" dataIndex="planTime" />
<Column title="VIN" dataIndex="typeId" />
<Column title="工单号" dataIndex="remark" />
|
fb24188b
jiangwei
客户定件计划进度查看
|
109
110
|
<Column title="品牌" dataIndex="brandName" />
<Column title="门店名称" dataIndex="shopName" />
|
81339a3c
jiangwei
客户订件进度增加筛选条件
|
111
|
<Column title="服务顾问" dataIndex="userName" />
|
fb24188b
jiangwei
客户定件计划进度查看
|
112
|
<Column title="状态" dataIndex="status" />
|
8ab0f994
jiangwei
表格宽度
|
113
|
|
fb24188b
jiangwei
客户定件计划进度查看
|
114
115
116
|
{/* <Column title="接车服务顾问" dataIndex="userName" /> */}
{/* <Column title="库房名称" dataIndex="storageName" /> */}
{/* <Column title="订件数量" dataIndex="splitCnt" /> */}
|
8ab0f994
jiangwei
表格宽度
|
117
|
|
fb24188b
jiangwei
客户定件计划进度查看
|
118
119
120
|
<Column
title="进度"
fixed="right"
|
8ab0f994
jiangwei
表格宽度
|
121
|
width={100}
|
fb24188b
jiangwei
客户定件计划进度查看
|
122
123
124
125
126
127
128
129
130
131
132
|
render={(t, _: ListVO) => (
<a onClick={() => process(_.waitListIds)}>查看</a>
)}
/>
</Table>
<ProcessModal visible={currentInfo.visible} processItem={currentInfo.item} onCancel={() => setCurrentInfo({visible: false, item: [], loading: false})} />
</Spin>
</Card>
</PageHeaderWrapper>
);
}
|