7402e159
jiangwei
配件采购
|
1
|
import React, { useEffect, useState } from 'react';
|
ccd54dcf
jiangwei
配件采购申请
|
2
|
import { Modal, Select, Button, Table, Form, message, Tabs, Input } from 'antd';
|
7402e159
jiangwei
配件采购
|
3
4
|
import ChoosePartModal from './ChoosePartModal';
import usePagination from '@/hooks/usePagination';
|
7402e159
jiangwei
配件采购
|
5
6
|
import { getStoragePage } from '@/pages/pms/storage/StorageManage/api';
import { getPageListApi, Item as item } from "@/pages/pms/partPlan/PlanSupplier/api";
|
ccd54dcf
jiangwei
配件采购申请
|
7
|
import {getPurchasePool, Item as poolitem} from '@/pages/pms/purchase/PurchasePool/api';
|
36b37433
jiangwei
接口联调
|
8
|
import PartModal from '@/pages/pms/purchase/PurchasePool/comonents/PartModal';
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
9
|
import {purchaseApply, getrelationlist, EditItem} from '../api';
|
e466f419
jiangwei
配件外采调整
|
10
|
import {getList, ListVO, Params} from '@/pages/pms/partPlan/PlanPool/api';
|
824c0e90
jiangwei
配件采购接口联调
|
11
|
import _ from 'lodash';
|
e466f419
jiangwei
配件外采调整
|
12
|
import useInitial from '@/hooks/useInitail';
|
67c1c3e7
jiangwei
配件外采计划池筛选条件
|
13
14
15
|
import PmsSelect from '@/pages/pms/comonents/PmsSelect';
import { getPartTypeApi } from '@/pages/pms/part/Repertory/api';
import {planPoolTypeData} from '@/pages/pms/entity';
|
7402e159
jiangwei
配件采购
|
16
17
18
19
20
21
22
23
|
const Option = Select.Option;
const {Item} = Form;
const {Column} = Table;
const {TabPane} = Tabs;
interface Props {
onCancel: () => any,
visible: boolean,
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
24
|
itemData?:EditItem,
|
7402e159
jiangwei
配件采购
|
25
|
setItemData?:Function
|
ccd54dcf
jiangwei
配件采购申请
|
26
27
28
29
|
}
interface Relation{
value: number,
name: string
|
7402e159
jiangwei
配件采购
|
30
31
|
}
|
ccd54dcf
jiangwei
配件采购申请
|
32
|
export default function PartStorageModal({ onCancel, visible, itemData, setItemData }: Props) {
|
070e843e
jiangwei
获取供应商结算方式
|
33
|
const { list: storages } = usePagination<PartStorageSpace.PageVO>(getStoragePage, { pageSize: 1000 });
|
e466f419
jiangwei
配件外采调整
|
34
35
36
37
38
|
const { list: suppliers } = usePagination<item>(getPageListApi, { supplierType: 40, pageSize: 500 });
const [delay, setDelay] = useState(true);
const {data: planeData, setParams, setData: setPlaneData} = useInitial<ListVO[], Params>(getList, [], {}, delay);
const {data: casData, setParams: casSetParams, setData: casSetData} = useInitial<poolitem[], Params>(getPurchasePool, [], {}, delay);
const [planePart, setPlanePart] = useState<ListVO[]>([]);
|
67c1c3e7
jiangwei
配件外采计划池筛选条件
|
39
40
|
const { data: partTypeData } = useInitial(getPartTypeApi, [], {});
|
7402e159
jiangwei
配件采购
|
41
42
43
44
|
const [choosePartVisable, setChoosePartVisable] = useState(false);
const [selectedParts, setSelectedParts] = useState<any[]>([]);
const [form] = Form.useForm();
const [btnloading, setBtnloading] = useState(false);
|
36b37433
jiangwei
接口联调
|
45
46
47
|
const [storageid, setStorageid] = useState<number>();
const [partParams, setPartParams] = useState<{stId?:number, spId?: number}>();
const [casPart, setCasPart] = useState<poolitem[]>();
|
ccd54dcf
jiangwei
配件采购申请
|
48
|
const [listRelation, setListRelation] = useState<Relation[]>();
|
36b37433
jiangwei
接口联调
|
49
50
|
const [partvisible, setPartvisible] = useState(false);
const [item, setItem] = useState();
|
31f79ffa
jiangwei
配件外采支付类型完善
|
51
|
const [settlementMethod, setSettlementMethod] = useState<number>();
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
52
53
|
// 编辑时数据回显
|
7402e159
jiangwei
配件采购
|
54
|
useEffect(() => {
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
55
56
57
58
59
|
if (itemData?.storageId) {
form.setFieldsValue({
storageId: itemData.storageId,
supplierId: itemData.supplierId,
settlementMethod: itemData.payType,
|
c8e9f248
jiangwei
配件外采申请增加是否推送外勤
|
60
61
|
proportion: itemData.proportion,
isOutSide: itemData.isOutSide ? "1" : "0"
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
62
|
});
|
070e843e
jiangwei
获取供应商结算方式
|
63
|
getrelationlist({tradeCompanyId: itemData.supplierId, compCategory: 1, dealerId: storages.find(i => i.id == itemData.storageId)?.dealerId}).then(res => {
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
64
65
|
if (res.success) {
setListRelation(res.data && res.data[0].settleMethodList);
|
31f79ffa
jiangwei
配件外采支付类型完善
|
66
|
form.setFieldsValue({accountCheckPeriod: res.data && res.data[0].accountCheckPeriod});
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
67
|
}
|
e466f419
jiangwei
配件外采调整
|
68
|
}).catch(e => message.error(e.message));
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
69
|
setPartParams({stId: itemData.storageId, spId: itemData.supplierId});
|
e466f419
jiangwei
配件外采调整
|
70
|
setStorageid(itemData.storageId);
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
71
72
|
setSelectedParts(itemData.parts || []);
setCasPart(itemData.poolParts);
|
e466f419
jiangwei
配件外采调整
|
73
|
setPlanePart(itemData.planParts || []);
|
7402e159
jiangwei
配件采购
|
74
75
76
77
|
return;
}
if (!visible) {
form.resetFields();
|
e466f419
jiangwei
配件外采调整
|
78
79
80
|
setStorageid(undefined);
setPlaneData([]);
casSetData([]);
|
7402e159
jiangwei
配件采购
|
81
|
setSelectedParts([]);
|
36b37433
jiangwei
接口联调
|
82
|
setCasPart([]);
|
e466f419
jiangwei
配件外采调整
|
83
|
setPlanePart([]);
|
824c0e90
jiangwei
配件采购接口联调
|
84
|
setListRelation([]);
|
7402e159
jiangwei
配件采购
|
85
|
}
|
e466f419
jiangwei
配件外采调整
|
86
|
}, [visible]);
|
7402e159
jiangwei
配件采购
|
87
|
|
e466f419
jiangwei
配件外采调整
|
88
89
90
91
|
//查询计划池配件和工单缺件配件
useEffect(() => {
if (storageid) {
setDelay(false);
|
80920026
jiangwei
配件池参数fix
|
92
|
setParams({}, true);
|
e466f419
jiangwei
配件外采调整
|
93
|
casSetParams({storageId: storageid}, true);
|
d56d0456
jiangwei
根据1.11需求修改
|
94
|
}
|
e466f419
jiangwei
配件外采调整
|
95
|
}, [storageid]);
|
7402e159
jiangwei
配件采购
|
96
|
|
ccd54dcf
jiangwei
配件采购申请
|
97
|
// 提交申请
|
7402e159
jiangwei
配件采购
|
98
|
function handSave() {
|
7402e159
jiangwei
配件采购
|
99
100
101
|
form.validateFields().then(fields => {
const supplier = suppliers.find(it => it.supplierId == fields.supplierId) || {};
const storage = storages.find(it => it.id == fields.storageId) || {};
|
36b37433
jiangwei
接口联调
|
102
103
104
105
106
|
const params = {
storageId: storage.id,
storageName: storage.storageName,
supplierId: supplier.supplierId,
supplierName: supplier.supplierName,
|
ccd54dcf
jiangwei
配件采购申请
|
107
108
|
proportion: fields.proportion,
payType: fields.settlementMethod,
|
31f79ffa
jiangwei
配件外采支付类型完善
|
109
|
accountCheckPeriod: settlementMethod == 2 ? fields.accountCheckPeriod : undefined,
|
e466f419
jiangwei
配件外采调整
|
110
111
112
|
parts: [...selectedParts.map(i => ({partId: i.partId, partCnt: i.partCnt, price: i.price, type: 1})),
...planePart.map(i => ({poolId: i.poolId, partId: i.partId, partCnt: i.cnt, price: i.price, type: 2})),
...(casPart?.map(i => (i.details?.map(it => ({partId: it.partId, partCnt: it.partCnt, poolId: it.poolId, expectInTime: it.expectInTime, price: it.price, type: 3})))).flat() || [])
|
c8e9f248
jiangwei
配件外采申请增加是否推送外勤
|
113
114
|
],
isOutSide: !!fields.isOutSide
|
36b37433
jiangwei
接口联调
|
115
|
};
|
c8e9f248
jiangwei
配件外采申请增加是否推送外勤
|
116
|
setBtnloading(true);
|
36b37433
jiangwei
接口联调
|
117
118
119
120
121
|
purchaseApply(params).then(res => {
message.success("提交成功");
setBtnloading(false);
setItemData && setItemData();
onCancel && onCancel();
|
95407d80
jiangwei
测试中的问题修复
|
122
|
setPartParams({});
|
36b37433
jiangwei
接口联调
|
123
124
125
126
|
}).catch(e => {
message.error(e.message);
setBtnloading(false);
});
|
7402e159
jiangwei
配件采购
|
127
128
|
});
}
|
67b0c63c
jiangwei
配件计划增加可调出配件查看和外采申请优化
|
129
|
|
7402e159
jiangwei
配件采购
|
130
131
132
133
|
return (
<Modal
width={1000}
visible={visible}
|
95407d80
jiangwei
测试中的问题修复
|
134
|
onCancel={() => { onCancel(); setPartParams({}); }}
|
8c2dce88
jiangwei
配件调拨、配件采购调整和弹出框优化
|
135
|
maskClosable={false}
|
d473f326
jiangwei
配件外采自测调整
|
136
|
title="新增配件外采申请"
|
7402e159
jiangwei
配件采购
|
137
|
footer={[
|
95407d80
jiangwei
测试中的问题修复
|
138
|
<Button key="cancel" onClick={() => { onCancel(); setPartParams({}); }} loading={btnloading}>取消</Button>,
|
7402e159
jiangwei
配件采购
|
139
140
141
142
143
144
|
<Button
key="submit"
onClick={handSave}
type="primary"
htmlType="submit"
loading={btnloading}
|
e466f419
jiangwei
配件外采调整
|
145
|
disabled={!selectedParts.length && !casPart?.length && !planePart.length}
|
7402e159
jiangwei
配件采购
|
146
147
148
149
150
151
152
|
>
提交申请
</Button>
]}
>
<Form
form={form}
|
ccd54dcf
jiangwei
配件采购申请
|
153
|
labelCol={{span: 4}}
|
7402e159
jiangwei
配件采购
|
154
155
|
wrapperCol={{span: 19}}
>
|
ccd54dcf
jiangwei
配件采购申请
|
156
|
<Item label="库房" name="storageId" required rules={[{ required: true, message: '请选择库房' }]}>
|
7402e159
jiangwei
配件采购
|
157
158
159
|
<Select
style={{ width: 250 }}
placeholder="请选择库房"
|
36b37433
jiangwei
接口联调
|
160
|
value={storageid}
|
e466f419
jiangwei
配件外采调整
|
161
162
163
164
165
166
|
onChange={v => {
setStorageid(v);
form.setFieldsValue({supplierId: '', settlementMethod: undefined, proportion: undefined});
setListRelation([]);
setSettlementMethod(undefined);
}}
|
b4b59dc8
jiangwei
配件系统选择器增加搜索功能
|
167
168
|
showSearch
optionFilterProp="children"
|
7402e159
jiangwei
配件采购
|
169
170
171
172
173
174
175
176
177
178
|
>
{storages.map((item) => (
<Option value={item.id} key={item.id}>{item.storageName}</Option>
))}
</Select>
</Item>
<Item label="供应商" name="supplierId" required rules={[{ required: true, message: '请选择供应商' }]}>
<Select
style={{ width: 250 }}
placeholder="请选择供应商"
|
b4b59dc8
jiangwei
配件系统选择器增加搜索功能
|
179
180
|
showSearch
optionFilterProp="children"
|
fa8b522f
jiangwei
外采fix
|
181
182
183
|
options={suppliers.filter((item, index, self) => {
return self.findIndex(el => el.supplierId == item.supplierId) === index;
}).map((item) => ({ value: item.supplierId, label: item.supplierName }))}
|
36b37433
jiangwei
接口联调
|
184
185
|
onChange={v => {
setPartParams({stId: storageid, spId: v});
|
67b0c63c
jiangwei
配件计划增加可调出配件查看和外采申请优化
|
186
187
188
|
setListRelation([]);
form.setFieldsValue({settlementMethod: undefined, proportion: undefined});
setSettlementMethod(undefined);
|
070e843e
jiangwei
获取供应商结算方式
|
189
|
getrelationlist({tradeCompanyId: v, compCategory: 1, dealerId: storages.find(i => i.id == storageid)?.dealerId}).then(res => {
|
fa8b522f
jiangwei
外采fix
|
190
191
192
|
if (res.data?.length) {
form.setFieldsValue({ proportion: res.data[0].billAmountRatio, accountCheckPeriod: res.data && res.data[0].accountCheckPeriod});
setListRelation(res.data && res.data[0].settleMethodList);
|
ccd54dcf
jiangwei
配件采购申请
|
193
|
}
|
e466f419
jiangwei
配件外采调整
|
194
|
}).catch(e => message.error(e.message));
|
36b37433
jiangwei
接口联调
|
195
|
}}
|
fa8b522f
jiangwei
外采fix
|
196
|
/>
|
7402e159
jiangwei
配件采购
|
197
198
199
200
201
|
</Item>
<Item label="结算方式" name="settlementMethod" required rules={[{ required: true, message: '请选择结算方式' }]}>
<Select
style={{ width: 250 }}
placeholder="请选择结算方式"
|
31f79ffa
jiangwei
配件外采支付类型完善
|
202
|
value={settlementMethod}
|
b4b59dc8
jiangwei
配件系统选择器增加搜索功能
|
203
204
|
showSearch
optionFilterProp="children"
|
31f79ffa
jiangwei
配件外采支付类型完善
|
205
|
onChange={setSettlementMethod}
|
e466f419
jiangwei
配件外采调整
|
206
207
|
onFocus={() => {
if (!form.getFieldValue("supplierId")) {
|
fa8b522f
jiangwei
外采fix
|
208
|
message.error("请先选择供应商");
|
e466f419
jiangwei
配件外采调整
|
209
210
211
|
return;
}
if (!listRelation?.length) {
|
fa8b522f
jiangwei
外采fix
|
212
|
message.error(`请财务先配置${suppliers.find(i => i.supplierId == form.getFieldValue('supplierId'))?.supplierName}的结算方式`);
|
e466f419
jiangwei
配件外采调整
|
213
214
|
}
}}
|
7402e159
jiangwei
配件采购
|
215
|
>
|
00502ebb
jiangwei
测试问题修改2.0
|
216
|
{listRelation?.map(i => <Option value={i.value} key={i.value}>{i.name}</Option>)}
|
7402e159
jiangwei
配件采购
|
217
218
|
</Select>
</Item>
|
31f79ffa
jiangwei
配件外采支付类型完善
|
219
220
221
222
223
224
225
226
227
228
|
{!!settlementMethod && settlementMethod == 2 && (
<Item label="对账周期" name="accountCheckPeriod">
<Input
style={{ width: 250 }}
addonAfter="日"
addonBefore="下月"
disabled
/>
</Item>
)}
|
ccd54dcf
jiangwei
配件采购申请
|
229
230
231
|
<Item label="发票金额要求比例" name="proportion">
<Input style={{ width: 250 }} disabled addonAfter="%" />
</Item>
|
c8e9f248
jiangwei
配件外采申请增加是否推送外勤
|
232
233
234
235
236
237
238
239
240
|
<Item label="是否推送外勤资格" name="isOutSide">
<Select
style={{ width: 250 }}
defaultValue="0"
>
<Option value="1" key="1">是</Option>
<Option value="0" key="0">否</Option>
</Select>
</Item>
|
7402e159
jiangwei
配件采购
|
241
|
</Form>
|
e466f419
jiangwei
配件外采调整
|
242
243
244
|
<Tabs animated>
<TabPane tab="配件" key="1">
<div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', marginBottom: 10}}>
|
824c0e90
jiangwei
配件采购接口联调
|
245
|
<Button type="primary" onClick={() => setChoosePartVisable(true)} disabled={!partParams?.spId || !partParams.stId}>选择配件</Button>
|
7402e159
jiangwei
配件采购
|
246
247
248
249
250
|
</div>
<Table
style={{width: '100%'}}
dataSource={selectedParts}
pagination={false}
|
e466f419
jiangwei
配件外采调整
|
251
|
scroll={{y: 300}}
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
252
|
rowKey={r => `${r.partCode}`}
|
7402e159
jiangwei
配件采购
|
253
254
255
256
|
>
<Column title="配件名称" dataIndex="partName" />
<Column title="配件编码" dataIndex="partCode" />
<Column title="采购数量" dataIndex="partCnt" />
|
36b37433
jiangwei
接口联调
|
257
|
<Column title="单价" dataIndex="price" />
|
faf0d065
jiangwei
界面优化和bug
|
258
|
<Column title="总价" render={r => _.ceil((r.partCnt * r.price), 2)} />
|
7402e159
jiangwei
配件采购
|
259
260
|
<Column
title="操作"
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
261
|
render={(_item: any) => (
|
7402e159
jiangwei
配件采购
|
262
263
264
265
266
267
268
|
<a onClick={() => setSelectedParts(selectedParts.filter(i => i.partCode != _item.partCode))}>
删除
</a>
)}
/>
</Table>
</TabPane>
|
e466f419
jiangwei
配件外采调整
|
269
270
271
272
|
<TabPane tab="计划待外采配件" key="3">
<div style={{display: 'flex', marginBottom: 10}}>
<Input.Search
allowClear
|
9ca4d316
jiangwei
搜索优化
|
273
|
enterButton
|
e466f419
jiangwei
配件外采调整
|
274
|
placeholder="请输入配件名称/编码"
|
9ca4d316
jiangwei
搜索优化
|
275
276
|
onSearch={e => setParams({keywords: e}, true)}
style={{ width: 220 }}
|
67c1c3e7
jiangwei
配件外采计划池筛选条件
|
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
|
/>
<PmsSelect
allowClear
style={{ width: 180, marginRight: 10, marginLeft: 10}}
onChange={v => {
setParams({poolType: v}, true);
}}
placeholder="请选择来源类型"
options={planPoolTypeData.map(i => ({value: i.value, label: i.label}))}
/>
<PmsSelect
allowClear
style={{ width: 180}}
onChange={v => setParams({partType: v}, true)}
placeholder="请选择配件类型"
options={partTypeData.map(i => ({value: i.value, label: i.label}))}
|
e466f419
jiangwei
配件外采调整
|
293
|
/>
|
dd4fc46d
jiangwei
配件外采外采池数据库房筛选
|
294
295
296
297
298
299
300
|
<PmsSelect
allowClear
style={{ width: 180, marginLeft: 10}}
onChange={v => setParams({storageId: v}, true)}
placeholder="请选择库房"
options={storages.map(i => ({value: i.id, label: i.storageName}))}
/>
|
e466f419
jiangwei
配件外采调整
|
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
|
</div>
<Table
style={{width: '100%'}}
dataSource={planeData}
pagination={false}
scroll={{y: 300}}
rowKey="poolId"
rowSelection={{
type: "checkbox",
onChange: (selectedRowKeys: any, selectedRows) => {
setPlanePart(selectedRows);
},
selectedRowKeys: [...(planePart?.map(i => i.poolId) || [])]
}}
>
<Column title="配件名称" dataIndex="partName" />
<Column title="配件编码" dataIndex="partCode" />
|
823e7083
jiangwei
配件标准搜索问题优化
|
318
|
<Column title="数据来源" dataIndex="typeName" />
|
c8dc9e64
jiangwei
配件类型
|
319
|
<Column title="配件类型" dataIndex="partTypeName" />
|
e466f419
jiangwei
配件外采调整
|
320
321
|
<Column title="采购单价(元)" dataIndex="price" />
<Column title="采购数量" dataIndex="cnt" />
|
dd4fc46d
jiangwei
配件外采外采池数据库房筛选
|
322
|
<Column title="库房" dataIndex="storageName" />
|
e466f419
jiangwei
配件外采调整
|
323
324
325
|
<Column title="总价(元)" render={r => _.ceil((r.cnt * r.price), 2)} />
</Table>
</TabPane>
|
7402e159
jiangwei
配件采购
|
326
|
<TabPane tab="工单缺件配件" key="2">
|
e466f419
jiangwei
配件外采调整
|
327
|
<div style={{display: 'flex', marginBottom: 10}}>
|
d56d0456
jiangwei
根据1.11需求修改
|
328
329
|
<Input.Search
allowClear
|
9ca4d316
jiangwei
搜索优化
|
330
|
enterButton
|
d56d0456
jiangwei
根据1.11需求修改
|
331
|
placeholder="请输入VIN/工单号"
|
9ca4d316
jiangwei
搜索优化
|
332
333
|
onSearch={e => casSetParams({keywords: e}, true)}
style={{ width: 220 }}
|
d56d0456
jiangwei
根据1.11需求修改
|
334
335
|
/>
</div>
|
7402e159
jiangwei
配件采购
|
336
337
|
<Table
style={{width: '100%'}}
|
e466f419
jiangwei
配件外采调整
|
338
|
dataSource={casData}
|
7402e159
jiangwei
配件采购
|
339
|
pagination={false}
|
e466f419
jiangwei
配件外采调整
|
340
|
scroll={{y: 300}}
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
341
|
rowKey="name"
|
7402e159
jiangwei
配件采购
|
342
343
344
|
rowSelection={{
type: "checkbox",
onChange: (selectedRowKeys: any, selectedRows) => {
|
36b37433
jiangwei
接口联调
|
345
|
setCasPart(selectedRows);
|
7402e159
jiangwei
配件采购
|
346
|
},
|
f5ff31c2
jiangwei
配件采购-->重新编辑申请联调
|
347
|
selectedRowKeys: [...(casPart?.map(i => i.name) || [])]
|
7402e159
jiangwei
配件采购
|
348
349
350
351
|
}}
>
<Column title="工单号" dataIndex="name" />
<Column title="VIN" dataIndex="id" />
|
d56d0456
jiangwei
根据1.11需求修改
|
352
|
<Column title="车牌号" dataIndex="plateNo" />
|
36b37433
jiangwei
接口联调
|
353
|
<Column title="缺件外采品种" render={(r) => <a onClick={() => { setPartvisible(true); setItem(r.details); }}>{r.kind}</a>} />
|
7402e159
jiangwei
配件采购
|
354
355
|
</Table>
</TabPane>
|
7402e159
jiangwei
配件采购
|
356
|
</Tabs>
|
824c0e90
jiangwei
配件采购接口联调
|
357
|
<div style={{display: 'flex', justifyContent: 'flex-end', marginTop: 20, marginBottom: 20}}>
|
e466f419
jiangwei
配件外采调整
|
358
359
360
361
362
363
|
<span>合计金额:{
((selectedParts.reduce((sum, i) => (sum + _.ceil(Number(i.partCnt * i.price), 2)), 0)) +
casPart?.map(i => i.details).flat().reduce((sum, item) => (sum + (item?.amount || 0)), 0) +
planePart.reduce((sum, it) => (sum + _.ceil(Number((it.price || 0) * (it.cnt || 0)), 2)), 0)).toFixed(2)
}
元
|
824c0e90
jiangwei
配件采购接口联调
|
364
365
|
</span>
</div>
|
7402e159
jiangwei
配件采购
|
366
|
<ChoosePartModal
|
36b37433
jiangwei
接口联调
|
367
|
partParams={partParams}
|
7402e159
jiangwei
配件采购
|
368
369
370
371
372
373
374
375
376
377
378
|
visible={choosePartVisable}
onCancel={() => setChoosePartVisable(false)}
onOk={(part) => {
const findPart = selectedParts.find(it => it.partId == part.partId);
if (JSON.stringify(findPart) != undefined) {
setSelectedParts([...selectedParts.filter(it => it.partId != part.partId), {...part}]);
} else {
setSelectedParts([...selectedParts, part]);
}
}}
/>
|
36b37433
jiangwei
接口联调
|
379
|
<PartModal visible={partvisible} item={item} onCancel={() => setPartvisible(false)} />
|
7402e159
jiangwei
配件采购
|
380
381
382
|
</Modal>
);
}
|