Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄庭坚
jinfa-platform
Commits
bd587335
Commit
bd587335
authored
Mar 30, 2022
by
rex
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增 送货单 SRM 的业务操作
parent
93cc9536
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
105 additions
and
18 deletions
+105
-18
HandleFormSubmit.ts
src/pages/order/assets/handles/HandleFormSubmit.ts
+44
-2
add.tsx
src/pages/order/deliveryNotice/manageSRM/add.tsx
+35
-12
form.ts
src/utils/form.ts
+26
-4
No files found.
src/pages/order/assets/handles/HandleFormSubmit.ts
View file @
bd587335
import
{
HandelFormFieldsKeyValue
}
from
"@/utils/form"
;
import
{
FormInstance
,
message
}
from
"antd"
import
{
postOrderDeliveryOrderSrmCreate
}
from
'@/services/OrderNewV2Api'
;
export
class
HandleFormSubmit
{
...
...
@@ -14,6 +16,10 @@ export class HandleFormSubmit {
return
this
.
#
tableData
;
}
getForm
()
{
return
this
.
#
form
;
}
getSubmitRequest
():
(
vals
:
any
)
=>
Promise
<
any
>
{
return
()
=>
Promise
.
resolve
(
''
);
}
...
...
@@ -27,7 +33,11 @@ export class HandleFormSubmit {
}
handleBeforeRequestParamas
(...
args
):
any
{
return
{};
let
result
=
{}
for
(
const
arg
of
args
)
{
result
=
{
...
result
,
...
arg
}
}
return
result
;
}
validateFormFields
()
{
...
...
@@ -38,7 +48,7 @@ export class HandleFormSubmit {
}
submit
()
{
if
(
this
.
handleBeforeFields
())
return
;
if
(
this
.
handleBeforeFields
())
return
Promise
.
reject
(
"error"
)
;
return
this
.
validateFormFields
()
}
...
...
@@ -76,3 +86,35 @@ export class ReceivingNoteAddService extends HandleFormSubmit {
}
export
class
DeliveryNoteAddService
extends
HandleFormSubmit
{
handleBeforeFields
():
boolean
{
let
b
=
this
.
getTableData
().
some
((
v
)
=>
Number
(
v
.
deliveryCount
)
<
Number
(
v
.
purchaseCount
))
if
(
b
)
{
message
.
error
(
'收货数量不能少于送货数量'
)
}
return
b
;
}
getSubmitRequest
()
{
return
postOrderDeliveryOrderSrmCreate
;
}
validateFormFields
()
{
return
this
.
getForm
().
validateFields
().
then
(
values
=>
{
values
=
HandelFormFieldsKeyValue
(
values
)
values
.
deliveryStartTime
=
values
.
deliveryRangeTime
[
0
]
values
.
deliveryEndTime
=
values
.
deliveryRangeTime
[
1
]
values
.
buyerRoleId
=
1
values
.
buyerMemberId
=
1
values
.
receiveVO
.
consignee
=
values
.
receiveVO
.
shipperName
var
params
=
this
.
handleBeforeRequestParamas
(
values
,
{
products
:
this
.
getTableData
()
});
return
this
.
getSubmitRequest
()(
params
)
})
}
}
src/pages/order/deliveryNotice/manageSRM/add.tsx
View file @
bd587335
...
...
@@ -5,18 +5,19 @@
*/
import
AnchorPage
,
{
AnchorsItem
}
from
'@/components/AnchorPage'
import
React
,
{
useCallback
,
useEffect
,
useState
,
useContext
}
from
'react'
import
{
BillsInfo
,
BuyerLabel
,
ConsigneeLabel
,
ConsigneePhoneLabel
,
ConsigneeTimeLabel
,
DeliveryAbstractLabel
,
DeliveryAddrLabel
,
DeliveryDateLabel
,
DeliveryGood
,
DeliveryInfo
,
DeliveryNameLabel
,
DeliveryNoLabel
,
DeliveryPhoneLabel
,
DeliverySlefAddrLabel
,
DeliveryTimeLabel
,
DeliveryTypeLabel
,
Distribution
,
LogisticsCarNoLabel
,
LogisticsCompanyLabel
,
LogisticsInfo
,
LogisticsNoLabel
,
NoteLabel
,
OutStatusLabel
}
from
'../../constants'
import
{
BillsInfo
,
BuyerLabel
,
ConsigneeLabel
,
ConsigneePhoneLabel
,
ConsigneeTimeLabel
,
DeliveryAbstractLabel
,
DeliveryAddrLabel
,
DeliveryDateLabel
,
DeliveryGood
,
DeliveryInfo
,
DeliveryNameLabel
,
DeliveryNoLabel
,
DeliveryPhoneLabel
,
DeliverySlefAddrLabel
,
DeliveryTimeLabel
,
DeliveryTypeLabel
,
Distribution
,
LogisticsCarNoLabel
,
LogisticsCompanyLabel
,
LogisticsInfo
,
LogisticsNoLabel
,
NoteLabel
,
OutStatusLabel
,
ReceivingAddress
}
from
'../../constants'
import
{
BaseInfo
as
ContentBox
}
from
'@/components/BaseInfo'
import
{
Input
,
Table
,
Row
,
Col
,
Select
,
Radio
,
Form
,
Button
}
from
'antd'
;
import
{
DeliveryNoticeTableColumn
}
from
'../../constants/page-table-column'
;
import
{
FormItem
}
from
'@/components/FormItem'
;
import
{
DatePickerSelect
}
from
'@/components/DatePickerSelect'
import
DatePicker
from
'@/components/DatePicker'
;
import
{
AddressDrawer
}
from
'@/components/AddressDrawer'
;
import
{
getLogisticsSelectListShipperAddress
,
postLogisticsShipperAddressAdd
,
postLogisticsShipperAddressUpdate
}
from
'@/services/LogisticsV2Api'
;
import
DeliveryGoodTableSelect
from
'../../components/DeliveryGoodTableSelect/DeliveryGoodTableSelect'
;
import
{
HarvestMaterialContextProvider
,
HarvestMaterialContext
}
from
'../../assets/context'
;
import
moment
from
'moment'
;
import
{
HandelFormFieldsKeyValue
}
from
'@/utils/form'
;
import
{
DeliveryNoteAddService
}
from
'../../assets/handles/HandleFormSubmit'
;
const
ContentBoxItem
=
ContentBox
.
BaseInfoItem
;
...
...
@@ -49,8 +50,9 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
"phone"
:
"demoData"
}
]);
const
dataSource$
=
useContext
(
HarvestMaterialContext
)
const
[
form
]
=
Form
.
useForm
()
const
service
=
new
DeliveryNoteAddService
(
form
);
const
[
anchors
,
setAnchors
]
=
useState
<
AnchorsItem
[]
>
([
BillsInfo
,
...
...
@@ -60,6 +62,8 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
DeliveryGood
,
])
const
initData
=
{
"digest"
:
"11"
,
"remark"
:
"22"
,
...
...
@@ -67,17 +71,26 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
"deliveryTime"
:
moment
(
'2015-01-14'
),
"executorVO.consignee"
:
"莫雷 "
,
"deliveryRangeTime"
:
[
moment
(
'2015-01-15'
),
moment
(
'2015-01-16'
)
moment
(
'2015-01-15
14:17:30
'
),
moment
(
'2015-01-16
14:45:30
'
)
],
"executorVO.phone"
:
"13286326255"
,
"sendTime"
:
moment
(
'2015-01-14 08:25:21'
),
"receiveVO"
:
{
"id"
:
5
,
"shipperName"
:
"李工"
,
"address"
:
"和平路"
,
"cityCode"
:
"120100"
,
"cityName"
:
"天津市"
,
"districtCode"
:
"120102"
,
"districtName"
:
"河东区"
,
"fullAddress"
:
"天津市天津市河东区和平路"
,
"id"
:
5
,
"isDefault"
:
1
,
"phone"
:
"18800000000"
,
"isDefault"
:
1
"provinceCode"
:
"120000"
,
"provinceName"
:
"天津市"
,
"shipperName"
:
"李工"
,
"streetCode"
:
null
,
"streetName"
:
null
},
"deliveryType"
:
1
,
"executorVO.carNumbers"
:
"11234"
,
...
...
@@ -90,10 +103,16 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
},
[])
const
handleSubmit
=
useCallback
(()
=>
{
// console.log(form.getFieldsValue())
console
.
log
(
tableDataSource
)
let
field
=
HandelFormFieldsKeyValue
(
form
.
getFieldsValue
());
service
.
setTableData
(
tableDataSource
);
service
.
submit
().
then
(
res
=>
{
console
.
log
(
res
)
});
},
[
form
,
tableDataSource
])
return
(
<
AnchorPage
title=
"送货单管理详情(SRM)"
anchors=
{
anchors
}
...
...
@@ -106,6 +125,10 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
<
Form
form=
{
form
}
>
<
FormItem
name=
"sourceType"
>
<
Input
value=
{
1
}
type=
"hidden"
/>
</
FormItem
>
<
ContentBox
title=
{
BillsInfo
.
name
}
id=
{
BillsInfo
.
key
}
>
<
FormItem
label=
{
DeliveryAbstractLabel
}
name=
"digest"
>
<
Input
/>
...
...
@@ -144,7 +167,7 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
<
DatePickerSelect
className=
"w-full"
/>
</
FormItem
>
<
FormItem
label=
{
DeliveryAddrLabel
}
name=
"receiveVO"
>
<
FormItem
label=
{
ReceivingAddress
}
name=
"receiveVO"
>
<
AddressDrawer
addressListRequest=
{
(
val
)
=>
{
return
getLogisticsSelectListShipperAddress
(
val
)
...
...
@@ -177,7 +200,7 @@ const DeliveryNoticeManageSRMDetails: React.FC = () => {
</
FormItem
>
<
FormItem
label=
{
LogisticsCompanyLabel
}
name=
"logisticsCompanyId"
>
<
Select
>
<
Select
.
Option
>
顺丰快递
</
Select
.
Option
>
<
Select
.
Option
value=
"顺丰快递"
>
顺丰快递
</
Select
.
Option
>
</
Select
>
</
FormItem
>
<
FormItem
label=
{
LogisticsNoLabel
}
name=
"logisticsNo"
>
...
...
src/utils/form.ts
View file @
bd587335
import
moment
,
{
isMoment
,
Moment
}
from
"moment"
;
export
function
HandelFormFieldsKeyValue
(
fields
)
{
let
result
=
{}
for
(
const
field
in
fields
)
{
const
split
=
field
.
split
(
'.'
);
if
(
split
.
length
>
1
)
{
//为空的时候创建一个默认对象
if
(
result
[
split
[
0
]]
===
undefined
)
{
result
[
split
[
0
]]
=
{}
}
result
[
split
[
0
]][
split
[
1
]]
=
momentFormatValue
(
fields
[
field
]);
}
else
{
if
([
'deliveryRangeTime'
].
includes
(
field
))
{
result
[
field
]
=
fields
[
field
].
map
(
v
=>
momentFormatValue
(
v
,
'HH:mm:ss'
))
}
else
{
result
[
field
]
=
momentFormatValue
(
fields
[
field
]);
}
}
}
return
result
;
}
export
function
momentFormatValue
(
value
,
format
=
"YYYY-MM-DD"
)
{
return
isMoment
(
value
)
?
value
.
format
(
format
)
:
value
}
function
HandelFormFieldsKeyValue
()
{
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment