bbc8cff2
by1642146903
配件计划管理调整
|
1
|
import React, {useState, useEffect, useMemo} from 'react';
|
dae4c757
baiyun
配件计划进度
|
2
|
import { Button, Modal, Table } from 'antd';
|
bbc8cff2
by1642146903
配件计划管理调整
|
3
4
|
import { getProgressDetail, ProgressVO, ListVO, Params, SubmitListVO } from "../api";
import useInitial from "@/hooks/useInitail";
|
dae4c757
baiyun
配件计划进度
|
5
6
|
import ProgressView from "./ProgressView";
import ShippingDetailModal from './ShippingDetailModal';
|
80be94ef
jiangwei
服务站配件、配件计划进度、客户订件...
|
7
|
import PartDetailModal from './PartDetailModal';
|
bbc8cff2
by1642146903
配件计划管理调整
|
8
|
import {flattenDeep} from "@/pages/pms/entity";
|
9c4c170d
jiangwei
fix
|
9
|
import {getDetail, DetailVO, Item} from "@/pages/pms/partPlan/PlanManage/subpages/Detail/api";
|
dae4c757
baiyun
配件计划进度
|
10
11
12
13
|
interface Props {
visible: boolean,
onCancel: Function,
|
7ae589ea
by1642146903
配件计划管理和配件计划进度整合
|
14
|
item: ListVO,
|
dae4c757
baiyun
配件计划进度
|
15
16
17
18
19
20
21
|
}
const { Column } = Table;
export default function DetailModal(props: Props) {
const { visible, onCancel, item } = props;
const params = {planId: item.planId};
const [delay, setDelay] = useState(true);
|
bbc8cff2
by1642146903
配件计划管理调整
|
22
23
24
|
// @ts-ignore
const { data: progresss, setParams: setProgresssParams } = useInitial<ProgressVO[], Params>(getProgressDetail, [], params, delay);
// @ts-ignore
|
9c4c170d
jiangwei
fix
|
25
|
const { data, setParams, loading } = useInitial<Item, Params>(getDetail, {}, params, delay);
|
dae4c757
baiyun
配件计划进度
|
26
27
|
const [visibleDetail, setVisibleDetail] = useState(false);
const [_item, setItem] = useState<SubmitListVO>({});
|
80be94ef
jiangwei
服务站配件、配件计划进度、客户订件...
|
28
|
const [visiblePartDetail, setVisiblePartDetail] = useState(false);
|
bbc8cff2
by1642146903
配件计划管理调整
|
29
|
const suppliers = useMemo(() => {
|
9c4c170d
jiangwei
fix
|
30
|
return flattenDeep(data.list?.map((it: DetailVO) => (it.suppliers || []).map(su => ({...it, ...su}))));
|
bbc8cff2
by1642146903
配件计划管理调整
|
31
|
}, [data]);
|
dae4c757
baiyun
配件计划进度
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
useEffect(() => {
if (visible) {
setProgresssParams(params, true);
setParams(params, true);
setDelay(false);
}
}, [visible]);
return (
<Modal
title="配件计划进度"
width={1000}
visible={visible}
maskClosable={false}
onCancel={() => onCancel()}
footer={
<Button onClick={() => onCancel()}>取消</Button>
}
>
<div style={{display: 'flex', flexDirection: 'row'}}>
<ProgressView data={progresss} />
|
12f15fa6
by1642146903
fix
|
54
|
<div style={{width: 700}}>
|
bbc8cff2
by1642146903
配件计划管理调整
|
55
|
<Table loading={loading} rowKey={(v: any) => `${v.planSupplierId}`} scroll={{y: 500, x: 650}} dataSource={suppliers} pagination={false}>
|
3aaadd4b
baiyun
样式
|
56
|
<Column title="品牌" dataIndex="brandName" />
|
bbc8cff2
by1642146903
配件计划管理调整
|
57
58
|
<Column title="结算商家" dataIndex="settleDealerName" />
<Column title="结算门店" dataIndex="settleShopName" />
|
3aaadd4b
baiyun
样式
|
59
|
<Column title="供应商" dataIndex="supplierName" />
|
bbc8cff2
by1642146903
配件计划管理调整
|
60
|
<Column title="总金额(元)" dataIndex="totalAmount" render={(t: number) => t && t.toFixed(2) || 0} />
|
dae4c757
baiyun
配件计划进度
|
61
62
|
<Column
title="操作"
|
80be94ef
jiangwei
服务站配件、配件计划进度、客户订件...
|
63
64
65
66
67
68
|
render={(text, _item: SubmitListVO) => (
<>
<a onClick={() => { setVisiblePartDetail(true); setItem(_item); }} style={{marginRight: 20}}>查看配件</a>
<a onClick={() => { setVisibleDetail(true); setItem(_item); }}>查看进度</a>
</>
)}
|
dae4c757
baiyun
配件计划进度
|
69
70
71
72
73
74
|
/>
</Table>
</div>
</div>
<ShippingDetailModal
visible={visibleDetail}
|
bbc8cff2
by1642146903
配件计划管理调整
|
75
|
item={{..._item, ...params}}
|
dae4c757
baiyun
配件计划进度
|
76
77
|
onCancel={() => setVisibleDetail(false)}
/>
|
12f15fa6
by1642146903
fix
|
78
|
<PartDetailModal
|
80be94ef
jiangwei
服务站配件、配件计划进度、客户订件...
|
79
80
81
82
|
visible={visiblePartDetail}
item={_item}
onCancel={() => setVisiblePartDetail(false)}
/>
|
dae4c757
baiyun
配件计划进度
|
83
84
85
|
</Modal>
);
}
|