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
shenshaokai
jinfa-platform
Commits
e59bec76
Commit
e59bec76
authored
Dec 11, 2020
by
前端-钟卫鹏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:处理多支付订单按照支付环节依次支付,处理询价需求下单冗余render字段用于显示自提地址,获取支付方式添加会员角色id字段
parent
36e0ee0c
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
47 additions
and
13 deletions
+47
-13
addProducts.tsx
src/pages/commodity/products/addProducts.tsx
+1
-1
index.tsx
src/pages/transaction/components/orderPayTabs/index.tsx
+11
-1
index.tsx
...eOrder/orderCollect/components/demandModalTable/index.tsx
+4
-2
index.tsx
...Order/orderCollect/components/inquiryModalTable/index.tsx
+10
-3
index.tsx
...Order/orderCollect/components/productModalTable/index.tsx
+14
-2
index.tsx
src/pages/transaction/purchaseOrder/orderCollect/index.tsx
+1
-0
usePaymentInfo.tsx
...ction/purchaseOrder/orderCollect/model/usePaymentInfo.tsx
+4
-4
useProductTable.tsx
...tion/purchaseOrder/orderCollect/model/useProductTable.tsx
+2
-0
index.tsx
.../transaction/purchaseOrder/readyPayOrder/detail/index.tsx
+0
-0
No files found.
src/pages/commodity/products/addProducts.tsx
View file @
e59bec76
...
...
@@ -123,7 +123,7 @@ const AddProducts: React.FC<{}> = (props) => {
// 获取页面使用模板
const
productDescriptionTemplate
=
async
()
=>
{
//@ts-ignore
PublicApi
.
getTemplate
GoodsFindUseGoods
Template
({
siteId
}).
then
(
res
=>
{
PublicApi
.
getTemplate
WebPageTemplateWebFindGoodsDescribe
Template
({
siteId
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
setCurrentTemplateName
(
res
.
data
.
fileName
)
})
...
...
src/pages/transaction/components/orderPayTabs/index.tsx
View file @
e59bec76
...
...
@@ -35,8 +35,18 @@ const OrderPayTabs:React.FC<OrderPayTabsProps> = (props) => {
const
{
data
,
payList
,
ctl
}
=
useContext
(
OrderDetailContext
)
useEffect
(()
=>
{
// 过滤支付信息 取第一个待支付的id
if
(
data
?.
paymentInformationResponses
?.
length
)
{
let
payments
=
data
.
paymentInformationResponses
.
filter
(
item
=>
item
.
externalState
===
1
)
if
(
payments
.
length
)
{
ctl
.
setPayId
(
payments
[
0
].
id
)
}
}
},
[])
const
onChange
=
(
activeKey
)
=>
{
ctl
.
setPayId
(
activeKey
)
//
ctl.setPayId(activeKey)
}
return
(
...
...
src/pages/transaction/purchaseOrder/orderCollect/components/demandModalTable/index.tsx
View file @
e59bec76
...
...
@@ -5,6 +5,7 @@ import { useModalTable } from '../../model/useModalTable'
import
{
ISchemaFormActions
,
ISchemaFormAsyncActions
}
from
'@formily/antd'
import
{
inquiryColumns
}
from
'../../../readyAddOrder/constant'
import
{
PublicApi
}
from
'@/services/api'
import
{
filterProductDataById
}
from
'../productModalTable'
export
interface
DemandModalTableProps
extends
ModalTableProps
{
type
?:
'radio'
|
'checkbox'
,
...
...
@@ -30,13 +31,14 @@ const DemandModalTable:React.FC<DemandModalTableProps> = (props) => {
const
handleConfirm
=
async
()
=>
{
const
item
=
rowSelectionCtl
.
selectRow
[
0
]
console
.
log
(
item
,
'看需求报价item有没有member信息'
)
if
(
item
)
{
schemaAction
.
setFieldValue
(
'quotationNo'
,
item
.
quotationNo
)
const
data
=
await
fetchOrderApi
.
getProductListByDemandOrderId
({
id
:
item
.
id
})
schemaAction
.
setFieldValue
(
'orderProductRequests'
,
data
)
// schemaAction.setFieldValue('orderProductRequests', data)
// 把地址信息冗余给商品字段render
schemaAction
.
setFieldValue
(
'orderProductRequests'
,
await
filterProductDataById
([],
data
))
schemaAction
.
setFieldValue
(
'supplyMembersName'
,
item
.
offerMemberName
)
schemaAction
.
setFieldValue
(
'supplyMembersId'
,
item
.
offerMemberId
)
schemaAction
.
setFieldValue
(
'supplyMembersRoleId'
,
item
.
offerMemberRoleId
)
...
...
src/pages/transaction/purchaseOrder/orderCollect/components/inquiryModalTable/index.tsx
View file @
e59bec76
...
...
@@ -5,6 +5,7 @@ import { useModalTable } from '../../model/useModalTable'
import
{
ISchemaFormActions
,
ISchemaFormAsyncActions
}
from
'@formily/antd'
import
{
inquiryColumns
}
from
'../../constant'
import
{
PublicApi
}
from
'@/services/api'
import
{
filterProductDataById
}
from
'../productModalTable'
export
interface
InquiryModalTableProps
extends
ModalTableProps
{
type
?:
'radio'
|
'checkbox'
,
...
...
@@ -30,18 +31,24 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => {
const
handleConfirm
=
async
()
=>
{
const
item
=
rowSelectionCtl
.
selectRow
[
0
]
console
.
log
(
item
,
'看询价报价item有没有member信息'
)
if
(
item
)
{
schemaAction
.
setFieldValue
(
'quotationNo'
,
item
.
quotationNo
)
const
data
=
await
fetchOrderApi
.
getProductListByQuotationOrderId
({
id
:
item
.
inquiryListId
})
// 将询价报价单的id字段 冗余给商品列表
schemaAction
.
setFieldValue
(
'orderProductRequests'
,
data
.
map
((
v
:
any
)
=>
{
// schemaAction.setFieldValue('orderProductRequests', data.map((v: any) => {
// v.memberId = item.offerMemberId
// v.memberRoleId = item.offerMemberRoleId
// return v
// }))
let
newData
=
data
.
map
((
v
:
any
)
=>
{
v
.
memberId
=
item
.
offerMemberId
v
.
memberRoleId
=
item
.
offerMemberRoleId
return
v
}))
})
// 把地址信息冗余给商品字段render
schemaAction
.
setFieldValue
(
'orderProductRequests'
,
await
filterProductDataById
([],
newData
))
schemaAction
.
setFieldValue
(
'supplyMembersName'
,
item
.
offerMemberName
)
schemaAction
.
setFieldValue
(
'supplyMembersId'
,
item
.
offerMemberId
)
schemaAction
.
setFieldValue
(
'supplyMembersRoleId'
,
item
.
offerMemberRoleId
)
...
...
src/pages/transaction/purchaseOrder/orderCollect/components/productModalTable/index.tsx
View file @
e59bec76
...
...
@@ -74,7 +74,7 @@ const orderProductShopTypeMaps = {
export
const
AddressPop
=
(
props
)
=>
{
const
{
pickInfo
=
null
,
children
}
=
props
let
receiveInfo
=
pickInfo
?.
render
&&
JSON
.
parse
(
pickInfo
.
render
)
.
props
.
pickInfo
let
receiveInfo
=
pickInfo
?.
render
&&
JSON
.
parse
(
pickInfo
.
render
)
return
pickInfo
&&
pickInfo
.
deliveryType
===
2
?
<
Space
>
<
EnvironmentOutlined
style=
{
{
marginRight
:
8
}
}
/>
<
Popover
content=
{
...
...
@@ -83,8 +83,12 @@ export const AddressPop = (props) => {
<
h3
><
EnvironmentOutlined
/>
自提地址
</
h3
>
{
/* <p>{pickInfo.receiverName} / {pickInfo.phone}</p>
<p>{pickInfo.fullAddress}</p> */
}
{
receiveInfo
&&
<>
<
p
>
{
receiveInfo
.
shipperName
}
/
{
receiveInfo
.
phone
}
</
p
>
<
p
>
{
receiveInfo
.
provinceName
+
receiveInfo
.
cityName
+
receiveInfo
.
districtName
+
receiveInfo
.
address
}
</
p
>
</>
}
</
div
>
</
Row
>
}
>
...
...
@@ -103,11 +107,19 @@ export const filterProductDataById = (data, targetData) => {
next
.
unit
=
next
.
unit
||
next
.
unitName
next
.
productName
=
next
.
productName
||
next
.
name
// if (logistics.deliveryType === 2) {
// const { code, data } = await PublicApi.getLogisticsShipperAddressGet({
// id: logistics.sendAddress
// }, { ttl: 60 * 1000, useCache: true })
// logistics.render = code === 1000 ? <AddressPop pickInfo={data}>{DELIVERY_TYPE[logistics.deliveryType]}</AddressPop> : DELIVERY_TYPE[logistics.deliveryType]
// } else {
// logistics.render = DELIVERY_TYPE[logistics.deliveryType]
// }
if
(
logistics
.
deliveryType
===
2
)
{
const
{
code
,
data
}
=
await
PublicApi
.
getLogisticsShipperAddressGet
({
id
:
logistics
.
sendAddress
},
{
ttl
:
60
*
1000
,
useCache
:
true
})
logistics
.
render
=
code
===
1000
?
<
AddressPop
pickInfo=
{
data
}
>
{
DELIVERY_TYPE
[
logistics
.
deliveryType
]
}
</
AddressPop
>
:
DELIVERY_TYPE
[
logistics
.
deliveryType
]
logistics
.
render
=
data
}
else
{
logistics
.
render
=
DELIVERY_TYPE
[
logistics
.
deliveryType
]
}
...
...
src/pages/transaction/purchaseOrder/orderCollect/index.tsx
View file @
e59bec76
...
...
@@ -132,6 +132,7 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
const
[
paymentColumns
,
paymentComponents
,
paymentSave
]
=
usePaymentInfo
(
addSchemaAction
,
addSchemaAction
.
getFieldValue
(
'supplyMembersId'
),
addSchemaAction
.
getFieldValue
(
'supplyMembersRoleId'
),
pageStatus
===
PageStatus
.
ADD
?
addSchemaAction
.
getFieldValue
(
'orderProductRequests'
)
:
initFormValue
.
orderProductRequests
)
const
{
productAddButton
,
productRef
,
productColumns
,
productComponents
,
...
sectionProps
}
=
useProductTable
(
addSchemaAction
)
...
...
src/pages/transaction/purchaseOrder/orderCollect/model/usePaymentInfo.tsx
View file @
e59bec76
...
...
@@ -6,7 +6,7 @@ import { PublicApi } from '@/services/api'
import
{
ReadyAddOrderDetailContext
}
from
'../../context'
import
{
message
}
from
'antd'
export
const
usePaymentInfo
=
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
memberId
:
any
,
orderProducts
:
any
):
any
=>
{
export
const
usePaymentInfo
=
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
memberId
:
any
,
memberRoleId
:
any
,
orderProducts
:
any
):
any
=>
{
const
paywayData
=
useRef
<
any
>
({})
const
[
columns
,
setColumns
]
=
useState
<
any
[]
>
(
paymentInformationColumns
)
const
{
productSumPrice
}
=
useContext
(
ReadyAddOrderDetailContext
)
...
...
@@ -71,7 +71,7 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
useEffect
(()
=>
{
// 当选择报价单/会员/商品时有memberId传入时 调用支付方式api
if
(
memberId
)
{
getPayLists
(
memberId
)
getPayLists
(
memberId
,
memberRoleId
)
}
},
[
memberId
])
...
...
@@ -90,8 +90,8 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
}
},
[
orderProducts
,
columns
])
const
getPayLists
=
(
memberId
)
=>
{
PublicApi
.
getPayPayWayList
({
memberId
}).
then
(
res
=>
{
const
getPayLists
=
(
memberId
,
memberRoleId
)
=>
{
PublicApi
.
getPayPayWayList
({
memberId
,
memberRoleId
}).
then
(
res
=>
{
const
{
code
,
data
}
=
res
if
(
code
===
1000
)
{
const
newColumns
=
[...
columns
]
...
...
src/pages/transaction/purchaseOrder/orderCollect/model/useProductTable.tsx
View file @
e59bec76
...
...
@@ -100,7 +100,9 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
const
handleSave
=
row
=>
{
// 商品采购数量变动 清空之前的支付信息
if
(
pageStatus
===
PageStatus
.
ADD
)
{
ctx
.
setFieldValue
(
'paymentInformationResponses'
,
[])
}
return
new
Promise
((
resolve
,
reject
)
=>
{
const
newData
=
[...
ctx
.
getFieldValue
(
'orderProductRequests'
)];
...
...
src/pages/transaction/purchaseOrder/readyPayOrder/detail/index.tsx
View file @
e59bec76
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