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
858fe182
Commit
858fe182
authored
Aug 26, 2021
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'v2' of
http://10.0.0.22:3000/lingxi/lingxi-business-paltform
into v2
parents
bc901a26
957577a3
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
331 additions
and
309 deletions
+331
-309
index.tsx
src/pages/commodity/products/constant/index.tsx
+2
-2
index.tsx
...d/components/bidConfirm/components/givenBidItem/index.tsx
+1
-1
index.ts
...s/transaction/purchaseOrder/orderCollectB2b/apis/index.ts
+1
-1
index.tsx
...er/orderCollectB2b/components/inquiryModalTable/index.tsx
+5
-5
index.tsx
...der/orderCollectB2b/components/memberModalTable/index.tsx
+0
-67
index.tsx
...der/orderCollectB2b/components/payInfoTableCell/index.tsx
+2
-4
index.tsx
...nsaction/purchaseOrder/orderCollectB2b/constant/index.tsx
+73
-7
index.ts
...ransaction/purchaseOrder/orderCollectB2b/effects/index.ts
+21
-10
index.tsx
...pages/transaction/purchaseOrder/orderCollectB2b/index.tsx
+149
-126
usePaymentInfo.tsx
...on/purchaseOrder/orderCollectB2b/model/usePaymentInfo.tsx
+23
-37
useProductTable.tsx
...n/purchaseOrder/orderCollectB2b/model/useProductTable.tsx
+1
-1
index.ts
...transaction/purchaseOrder/orderCollectB2b/schema/index.ts
+19
-30
index.tsx
...nsaction/purchaseOrder/orderCollectSrm/constant/index.tsx
+2
-2
index.tsx
...pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
+18
-14
ruleSetting.tsx
...s/transaction/transactionRules/components/ruleSetting.tsx
+14
-2
No files found.
src/pages/commodity/products/constant/index.tsx
View file @
858fe182
...
...
@@ -143,8 +143,8 @@ export const upperCommodityColumns: ColumnType<any>[] = [
title
:
'商品名称'
,
dataIndex
:
'name'
,
key
:
'name'
,
//
width: 240,
//
ellipsis: true,
width
:
240
,
ellipsis
:
true
,
},
{
title
:
'商品品类'
,
...
...
src/pages/procurement/callForBids/readyConfirmBid/components/bidConfirm/components/givenBidItem/index.tsx
View file @
858fe182
...
...
@@ -99,7 +99,7 @@ export const GivenBidItem:React.FC<GivenBidItemProps> = ({
defaultValue=
{
currentData
[
currentColumn
.
dataIndex
][
'awardRate'
]
}
min=
{
0
}
max=
{
100
}
formatter=
{
value
=>
`${
value
}%`
}
formatter=
{
value
=>
`${
Math.floor(Number(value) * 100) / 100
}%`
}
parser=
{
value
=>
value
.
replace
(
'%'
,
''
)
}
onChange=
{
onChangeInput
}
style=
{
{
display
:
'none'
}
}
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/apis/index.ts
View file @
858fe182
...
...
@@ -37,7 +37,7 @@ export const fetchOrderApi = {
},
/** 获取支付信息列表 */
async
getPayInfoList
(
params
)
{
const
{
data
}
=
await
PublicApi
.
getOrderInitializationPaymentInformation
(
params
)
const
{
data
}
=
await
PublicApi
.
postOrderBuyerCreateB2bPaymentFind
(
params
)
return
data
},
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/components/inquiryModalTable/index.tsx
View file @
858fe182
...
...
@@ -32,7 +32,7 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => {
const
handleConfirm
=
async
()
=>
{
const
item
=
rowSelectionCtl
.
selectRow
[
0
]
if
(
item
)
{
schemaAction
.
setFieldValue
(
'quot
ation
No'
,
item
.
quotationNo
)
schemaAction
.
setFieldValue
(
'quot
e
No'
,
item
.
quotationNo
)
const
data
=
await
fetchOrderApi
.
getProductListByQuotationOrderId
({
id
:
item
.
inquiryListId
})
...
...
@@ -50,11 +50,11 @@ const InquiryModalTable:React.FC<InquiryModalTableProps> = (props) => {
})
// 把地址信息冗余给商品字段render
schemaAction
.
setFieldValue
(
'products'
,
await
filterProductDataById
([],
newData
))
schemaAction
.
setFieldValue
(
'
supplyMembers
Name'
,
item
.
offerMemberName
)
schemaAction
.
setFieldValue
(
'
supplyMembers
Id'
,
item
.
offerMemberId
)
schemaAction
.
setFieldValue
(
'
supplyMembers
RoleId'
,
item
.
offerMemberRoleId
)
schemaAction
.
setFieldValue
(
'
vendorMember
Name'
,
item
.
offerMemberName
)
schemaAction
.
setFieldValue
(
'
vendorMember
Id'
,
item
.
offerMemberId
)
schemaAction
.
setFieldValue
(
'
vendor
RoleId'
,
item
.
offerMemberRoleId
)
// 询价单回显订单明细
schemaAction
.
setFieldValue
(
'
orderThe
'
,
item
.
details
)
schemaAction
.
setFieldValue
(
'
digest
'
,
item
.
details
)
}
confirmModal
&&
confirmModal
()
setVisible
(
false
)
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/components/memberModalTable/index.tsx
deleted
100644 → 0
View file @
bc901a26
import
React
,
{
useEffect
}
from
'react'
import
ModalTable
,
{
ModalTableProps
}
from
'@/components/ModalTable'
import
{
fetchOrderApi
}
from
'../../apis'
import
{
useModalTable
}
from
'../../model/useModalTable'
import
{
ISchemaFormActions
,
ISchemaFormAsyncActions
}
from
'@formily/antd'
import
{
memberColumns
}
from
'../../constant'
export
interface
MemberModalTableProps
extends
ModalTableProps
{
type
?:
'radio'
|
'checkbox'
,
schemaAction
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
currentRef
?:
any
,
confirmModal
?(),
productRef
?:
any
,
}
const
MemberModalTable
:
React
.
FC
<
MemberModalTableProps
>
=
(
props
)
=>
{
const
{
type
=
'radio'
,
schemaAction
,
confirmModal
,
currentRef
,
...
restProps
}
=
props
const
{
visible
,
setVisible
,
rowSelection
,
rowSelectionCtl
}
=
useModalTable
({
type
,
customKey
:
'id'
})
useEffect
(()
=>
{
if
(
currentRef
)
{
currentRef
.
current
=
{
setVisible
,
visible
,
rowSelectionCtl
}
}
},
[])
const
handleConfirm
=
()
=>
{
const
rowItem
=
rowSelectionCtl
.
selectRow
[
0
]
if
(
rowItem
)
{
schemaAction
.
setFieldValue
(
'supplyMembersName'
,
rowItem
.
name
)
schemaAction
.
setFieldValue
(
'supplyMembersId'
,
rowItem
.
memberId
)
schemaAction
.
setFieldValue
(
'supplyMembersRoleId'
,
rowItem
.
roleId
)
}
confirmModal
&&
confirmModal
()
setVisible
(
false
)
// 清空之前可能存在的商品支付信息数据
schemaAction
.
setFieldValue
(
'orderProductRequests'
,
[])
schemaAction
.
setFieldValue
(
'paymentInformationResponses'
,
[])
if
(
props
?.
productRef
)
{
props
.
productRef
.
current
.
rowSelectionCtl
.
setSelectRow
([])
props
.
productRef
.
current
.
rowSelectionCtl
.
setSelectedRowKeys
([])
}
}
return
(
<
ModalTable
modalTitle=
'选择供应会员'
columns=
{
memberColumns
}
visible=
{
visible
}
confirm=
{
handleConfirm
}
cancel=
{
()
=>
setVisible
(
false
)
}
fetchTableData=
{
(
params
)
=>
fetchOrderApi
.
getMemberListByModelType
({...
params
,
orderType
:
schemaAction
.
getFieldValue
(
'orderMode'
)})
}
rowSelection=
{
rowSelection
}
modalType=
'memberByDefault'
tableProps=
{
{
rowKey
:
'id'
}
}
{
...
restProps
}
/>
)
}
MemberModalTable
.
defaultProps
=
{}
export
default
MemberModalTable
src/pages/transaction/purchaseOrder/orderCollectB2b/components/payInfoTableCell/index.tsx
View file @
858fe182
...
...
@@ -21,7 +21,6 @@ const EditableContext = React.createContext<any>({});
export
const
EditableRow
:
React
.
FC
<
any
>
=
(
props
)
=>
{
const
[
form
]
=
Form
.
useForm
();
// form.setFieldsValue()
const
{
options
=
[]
}
=
props
?.
children
[
5
]?.
props
.
additionalProps
.
formItemProps
||
{}
const
[
childOptions
,
setChildOptions
]
=
useState
<
any
[]
>
(()
=>
{
const
{
payType
}
=
props
?.
children
[
5
]?.
props
.
record
||
{}
...
...
@@ -66,7 +65,6 @@ export const PayInfoCell:React.FC<PayInfoCellProps> = ({
const
formItemRef
=
useRef
<
any
>
();
const
{
form
,
childOptions
,
setChildOptions
,
originOptions
}
=
useContext
(
EditableContext
);
// fix: 没有childOptions 导致第一次进入编辑页面无法显示支付渠道
let
_childOptions
=
null
;
if
(
history
.
location
.
query
?.
id
&&
title
===
"支付渠道"
)
{
let
payList
=
originOptions
.
filter
(
item
=>
item
.
payType
===
record
.
payType
)
||
[]
...
...
@@ -113,14 +111,14 @@ export const PayInfoCell:React.FC<PayInfoCellProps> = ({
const
formId
=
dataIndex
+
colIndex
switch
(
type
)
{
case
'input'
:
{
return
<
Input
className=
"payRat
io
"
ref=
{
formItemRef
}
onPressEnter=
{
save
}
onBlur=
{
save
}
onChange=
{
handleInputChange
}
{
...
formItemProps
}
id=
{
formId
}
/>
return
<
Input
className=
"payRat
e
"
ref=
{
formItemRef
}
onPressEnter=
{
save
}
onBlur=
{
save
}
onChange=
{
handleInputChange
}
{
...
formItemProps
}
id=
{
formId
}
/>
}
case
'select'
:
{
const
{
options
,
...
rest
}
=
formItemProps
// 支付方式
if
(
dataIndex
===
'payType'
)
{
return
<
Select
ref=
{
formItemRef
}
options=
{
originOptions
.
map
(
v
=>
({
label
:
v
.
payTypeName
,
value
:
v
.
payType
,
disabled
:
v
?.
disabled
}))
}
// ?? 仅限线下支付下面只有一种方式
options=
{
originOptions
.
map
(
v
=>
({
label
:
v
.
payTypeName
,
value
:
v
.
payType
,
disabled
:
v
?.
disabled
}))
}
onChange=
{
e
=>
{
const
result
=
originOptions
.
find
(
v
=>
e
===
v
.
payType
)
setChildOptions
(
result
.
payChannels
.
map
(
v
=>
({
label
:
v
.
payChannelName
,
value
:
v
.
payChannel
})))
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/constant/index.tsx
View file @
858fe182
...
...
@@ -23,6 +23,71 @@ export const PriceComp = (props) => {
</
div
>
}
/** 修改合同下单 初始值转换 */
export
const
procurmentRenderInit
=
(
initValue
:
any
)
=>
{
return
{
...
initValue
.
requirement
.
detail
,
vendorMemberId
:
initValue
.
vendorMemberId
,
vendorMemberName
:
initValue
.
vendorMemberName
,
vendorRoleId
:
initValue
.
vendorRoleId
,
product
:
initValue
.
product
,
deliveryAddresId
:
initValue
.
consignee
.
consigneeId
,
hasInvoice
:
initValue
.
hasInvoice
,
orderId
:
initValue
.
orderId
,
orderKind
:
initValue
.
orderKind
,
orderMode
:
initValue
.
orderMode
,
orderModeName
:
initValue
.
orderModeName
,
type
:
initValue
.
orderTypeName
,
digest
:
initValue
.
digest
,
deliverDate
:
initValue
.
consignee
.
deliverDate
,
theInvoiceId
:
initValue
.
invoice
?.
invoiceId
||
null
,
hasContract
:
initValue
.
hasContract
,
contractNo
:
initValue
.
contract
.
contractNo
,
contract
:
{...
initValue
.
contract
},
}
}
/** 修改采购合同下单 回显商品字段转换 */
export
const
procurementRenderField
=
(
data
)
=>
{
const
_orderProductRequests
=
data
.
product
.
products
return
_orderProductRequests
.
map
(
item
=>
{
return
{
...
item
,
// 此id为sukId
relevanceProductId
:
item
.
quotedSkuId
,
// relevanceSkuId: item.quotedSkuId,
relevanceProductName
:
item
.
quotedName
,
relevanceProductBrand
:
item
.
quotedBrand
,
relevanceProductCategory
:
item
.
quotedCategory
,
relevanceProductSpec
:
item
.
quotedSpec
,
logistics
:
item
.
deliverType
,
id
:
item
.
productId
,
code
:
item
.
productNo
,
type
:
item
.
spec
,
// 冗余memberId memberRoleId查询自提地址使用
memberId
:
data
.
vendorMemberId
,
memberRoleId
:
data
.
vendorRoleId
,
}
})
}
/** B2B询价报价下单 字段转换 */
export
const
procurementProcessField
=
(
value
)
=>
{
value
.
products
=
value
.
products
.
map
(
item
=>
{
return
{
...
item
,
productId
:
item
.
commodityId
,
skuId
:
item
.
productId
,
name
:
item
.
productName
,
logo
:
item
.
imgUrl
,
deliveryType
:
item
.
deliveryType
.
deliveryType
,
quantity
:
item
.
purchaseCount
,
}
})
return
value
}
/***********控制订单模式联动其他字段的数组集合 *******/
export
const
orderCombination
=
{
...
...
@@ -157,8 +222,8 @@ export const inquiryColumns: any[] = [
export
const
paymentInformationColumns
:
any
[]
=
[
{
title
:
'支付次数'
,
dataIndex
:
'
payCount
'
,
key
:
'
payCount
'
dataIndex
:
'
batchNo
'
,
key
:
'
batchNo
'
},
{
title
:
'支付环节'
,
...
...
@@ -167,18 +232,19 @@ export const paymentInformationColumns: any[] = [
},
{
title
:
'外部状态'
,
dataIndex
:
'
externalStat
e'
,
key
:
'
externalStat
e'
,
dataIndex
:
'
outerStatusNam
e'
,
key
:
'
outerStatusNam
e'
,
},
{
title
:
'支付比例'
,
dataIndex
:
'payRat
io
'
,
key
:
'payRat
io
'
,
dataIndex
:
'payRat
e
'
,
key
:
'payRat
e
'
,
editable
:
true
,
forceEdit
:
true
,
formItem
:
'input'
,
formItemProps
:
{
addonAfter
:
'%'
addonAfter
:
'%'
,
disabled
:
true
},
width
:
200
,
render
:
text
=>
text
+
'%'
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/effects/index.ts
View file @
858fe182
...
...
@@ -68,6 +68,11 @@ export const useEditHideField = () => {
export
const
useProductTableChangeForPay
=
(
ctx
:
ISchemaFormActions
|
ISchemaFormAsyncActions
,
update
)
=>
{
const
{
pageStatus
}
=
usePageStatus
()
let
sumPrice
=
0
;
FormEffectHooks
.
onFieldValueChange$
(
'sumPrice'
).
subscribe
(
state
=>
{
sumPrice
=
state
.
value
})
FormEffectHooks
.
onFieldValueChange$
(
'products'
).
subscribe
(
state
=>
{
const
{
value
}
=
state
// 强制渲染一次, 用于触发金额总数
...
...
@@ -79,14 +84,20 @@ export const useProductTableChangeForPay = (ctx: ISchemaFormActions | ISchemaFor
if
(
pageStatus
===
PageStatus
.
EDIT
)
{
// 编辑下 支付信息联动实现
}
else
if
(
pageStatus
===
PageStatus
.
ADD
)
{
// 新增下 需要支付信息生成支付次数
const
shopId
=
ctx
.
getFieldValue
(
'shopId'
)
const
products
=
value
.
map
(
item
=>
({
productId
:
item
.
commodityId
,
skuId
:
item
.
productId
}))
if
(
shopId
&&
products
?.
length
)
fetchOrderApi
.
getPayInfoList
({
product
Id
:
productItem
.
productId
,
memberId
:
productItem
?.
memberId
||
ctx
.
getFieldValue
(
'supplyMembersId'
)
,
memberRoleId
:
productItem
?.
memberRoleId
||
ctx
.
getFieldValue
(
'supplyMembersRoleId'
)
,
product
s
:
products
,
memberId
:
productItem
?.
memberId
,
roleId
:
productItem
?.
memberRoleId
,
orderMode
:
orderMode
,
shopId
:
ctx
.
getFieldValue
(
'shopId'
)
shopId
:
shopId
}).
then
(
data
=>
{
ctx
.
setFieldValue
(
'paymentInformationResponses'
,
data
)
ctx
.
setFieldValue
(
'payments'
,
data
.
map
(
item
=>
({
...
item
,
payPrice
:
(
sumPrice
*
Number
(
item
.
payRate
)
/
100
).
toFixed
(
2
)
})))
}).
catch
(
err
=>
{
})
...
...
@@ -113,7 +124,7 @@ export const useOrderFormInitEffect = (ctx: ISchemaFormActions | ISchemaFormAsyn
useProductAddress
(
ctx
)
})
FormEffectHooks
.
onFieldValueChange$
(
'
needThe
Invoice'
).
subscribe
(
state
=>
{
FormEffectHooks
.
onFieldValueChange$
(
'
has
Invoice'
).
subscribe
(
state
=>
{
if
(
state
.
value
)
{
useInvoiceList
(
ctx
)
}
...
...
@@ -163,7 +174,7 @@ export const useOrderUpdateChangeOther = (ctx: ISchemaFormActions | ISchemaFormA
...
values
,
deliveryTime
:
moment
(
values
.
deliveryTime
).
valueOf
(),
theInvoiceId
:
value
?.
id
||
null
,
needTheInvoice
:
Number
(
values
.
needTheInvoice
)
,
hasInvoice
:
values
.
hasInvoice
,
deliveryAddresId
:
values
.
deliveryAddresId
,
id
,
},
{
ctlType
:
"none"
})
...
...
@@ -188,7 +199,7 @@ export const useOrderUpdateChangeOther = (ctx: ISchemaFormActions | ISchemaFormA
...
values
,
deliveryTime
:
moment
(
values
.
deliveryTime
).
valueOf
(),
theInvoiceId
:
values
.
theInvoiceId
,
needTheInvoice
:
Number
(
values
.
needTheInvoice
)
,
hasInvoice
:
values
.
hasInvoice
,
deliveryAddresId
:
value
?.
id
?
value
.
id
:
value
,
id
,
},
{
ctlType
:
"none"
})
...
...
@@ -213,8 +224,8 @@ export const useOrderUpdateChangeOther = (ctx: ISchemaFormActions | ISchemaFormA
*/
export
const
searchCustomerCategoryOptionEffect
=
(
ctx
:
any
,
mctx
:
any
,
fieldName
:
string
)
=>
{
const
params
:
any
=
{}
params
[
'memberId'
]
=
ctx
.
getFieldValue
(
'
supplyMembers
Id'
)
params
[
'memberRoleId'
]
=
ctx
.
getFieldValue
(
'
supplyMembers
RoleId'
)
params
[
'memberId'
]
=
ctx
.
getFieldValue
(
'
vendorMember
Id'
)
params
[
'memberRoleId'
]
=
ctx
.
getFieldValue
(
'
vendor
RoleId'
)
mctx
.
getFieldState
(
fieldName
,
state
=>
{
PublicApi
.
getProductCustomerGetMemberCustomerCategoryTree
(
params
).
then
(
res
=>
{
mctx
.
setFieldState
(
fieldName
,
state
=>
{
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/index.tsx
View file @
858fe182
...
...
@@ -9,22 +9,20 @@ import { SaveOutlined, LinkOutlined, PlusOutlined } from '@ant-design/icons'
import
NiceForm
from
'@/components/NiceForm'
import
{
mergeAllSchemas
}
from
'./schema'
import
{
useModelTypeChange
,
useEditHideField
,
useOrderFormInitEffect
,
useProductTableChangeForPay
,
useOrderUpdateChangeOther
}
from
'./effects'
import
{
orderCombination
,
orderTypeLabelMap
}
from
'./constant'
import
{
orderCombination
,
orderTypeLabelMap
,
procurementProcessField
}
from
'./constant'
import
{
OrderModalType
}
from
'@/constants/order'
import
ProductModalTable
from
'./components/productModalTable'
import
MemberModalTable
from
'./components/memberModalTable'
import
InquiryModalTable
from
'./components/inquiryModalTable'
import
CirculationRecord
from
'../components/circulationRecord'
import
SelectAddress
from
'./components/selectAddress'
import
SelectContract
from
'./components/selectContract'
import
TheInvoiceList
from
'./components/theInvoiceList'
import
moment
from
'moment'
import
{
usePaymentInfo
}
from
'./model/usePaymentInfo'
import
{
useProductTable
}
from
'./model/useProductTable'
import
styled
from
'styled-components'
import
{
useUpdate
}
from
'@umijs/hooks'
import
{
PublicApi
}
from
'@/services/api'
import
{
formatTimeString
,
omit
}
from
'@/utils'
import
{
formatTimeString
}
from
'@/utils'
import
{
changeRouterTitleByStatus
}
from
'../../_public/order/utils'
import
{
ReadyAddOrderDetailContext
}
from
'../context'
import
{
help
}
from
'../../common'
...
...
@@ -63,11 +61,15 @@ export const MoneyTotalBox = registerVirtualBox('moneyTotalBox', props => {
useEffect
(()
=>
{
if
(
sum
+
freePrice
)
{
form
.
notify
(
'sumPrice'
,
sum
+
freePrice
)
const
v
=
sum
+
freePrice
form
.
notify
(
'sumPrice'
,
v
)
addSchemaAction
.
setFieldValue
(
'sumPrice'
,
v
)
addSchemaAction
.
setFieldValue
(
'freight'
,
freePrice
)
}
},
[
sum
,
freePrice
])
useEffect
(()
=>
{
console
.
log
(
data
,
'ddd'
)
// 存在商品 并且有选择收货地址,则开始计算运费,此外 收货方式变动也要重新计算
if
(
data
&&
data
.
length
>
0
&&
receiverAddressId
)
{
// 筛选配送方式为物流的商品并且使用了运费模板
...
...
@@ -129,8 +131,8 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
})
const
[
paymentColumns
,
paymentComponents
,
paymentSave
]
=
usePaymentInfo
(
addSchemaAction
,
addSchemaAction
.
getFieldValue
(
'
supplyMembers
Id'
),
addSchemaAction
.
getFieldValue
(
'
supplyMembers
RoleId'
),
addSchemaAction
.
getFieldValue
(
'
vendorMember
Id'
),
addSchemaAction
.
getFieldValue
(
'
vendor
RoleId'
),
pageStatus
===
PageStatus
.
ADD
?
addSchemaAction
.
getFieldValue
(
'products'
)
:
initFormValue
.
products
)
// 订单商品
...
...
@@ -170,94 +172,133 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
},
[])
const
handleSubmit
=
async
(
value
)
=>
{
console
.
log
(
value
,
'value'
)
const
_orderProductRequests
=
JSON
.
parse
(
JSON
.
stringify
(
value
.
products
))
try
{
let
fnResult
=
null
switch
(
page_type
)
{
case
'0'
:
{
// 新增订单/编辑订单
const
params
=
{
...
value
,
deliveryTime
:
moment
(
value
.
deliveryTime
).
valueOf
(),
// 没用的字段
products
:
_orderProductRequests
.
map
(
v
=>
{
v
.
price
=
v
.
money
/
v
.
purchaseCount
/
v
.
memberPrice
v
.
isMemberPrice
=
Number
(
v
.
isMemberPrice
)
||
0
v
.
memberPrice
=
v
.
memberPrice
v
.
imgUrl
=
v
.
mainPic
?
v
.
mainPic
:
v
.
imgUrl
v
.
minOrder
=
v
.
minOrder
v
.
channelProductId
=
v
?.
channelProductId
||
v
?.
commodityUnitPriceAndPicId
return
v
}),
needTheInvoice
:
value
.
needTheInvoice
?
1
:
0
,
// 冗余交付信息
deliveryAddresId
:
value
.
deliveryAddresId
.
id
||
value
.
deliveryAddresId
,
...
omit
(
value
.
deliveryAddresId
,
[
'id'
]),
// 冗余发票信息
theInvoiceId
:
value
.
theInvoiceId
?
value
.
theInvoiceId
.
id
:
undefined
,
}
// 校验是否选择支付渠道/支付比例
const
judgementByPay
=
params
.
paymentInformationResponses
?.
length
&&
params
.
paymentInformationResponses
.
map
(
item
=>
{
if
(
item
.
payChannel
&&
item
.
payType
){
return
true
}
else
{
return
false
}
})
if
(
!
judgementByPay
||
judgementByPay
.
includes
(
false
)){
throw
new
Error
(
'请选择支付方式或支付渠道'
)
}
const
totalRatio
=
params
.
paymentInformationResponses
.
reduce
((
a
,
b
)
=>
a
+
Number
(
b
.
payRatio
||
0
),
0
)
const
judgementByRatio
=
params
.
paymentInformationResponses
?.
length
&&
params
.
paymentInformationResponses
.
map
(
item
=>
{
if
(
Number
(
item
.
payRatio
)
>
0
&&
Number
(
item
.
payRatio
)
<=
100
&&
totalRatio
===
100
){
return
true
}
else
{
return
false
}
})
if
(
!
judgementByRatio
||
judgementByRatio
.
includes
(
false
)){
throw
new
Error
(
'请正确填写支付比例'
)
}
// 新增订单/编辑订单
const
params
=
{
...
value
}
console
.
log
(
value
,
'value'
)
// 校验是否选择支付渠道/支付比例
const
judgementByPay
=
params
.
payments
?.
length
&&
params
.
payments
.
map
(
item
=>
{
if
(
item
.
payChannel
&&
item
.
payType
){
return
true
}
else
{
return
false
}
})
if
(
!
judgementByPay
||
judgementByPay
.
includes
(
false
)){
throw
new
Error
(
'请选择支付方式或支付渠道'
)
}
const
totalRatio
=
params
.
payments
.
reduce
((
a
,
b
)
=>
a
+
Number
(
b
.
payRate
||
0
),
0
)
const
judgementByRatio
=
params
.
payments
?.
length
&&
params
.
payments
.
map
(
item
=>
{
if
(
Number
(
item
.
payRate
)
>
0
&&
Number
(
item
.
payRate
)
<=
100
&&
totalRatio
===
100
){
return
true
}
else
{
return
false
}
})
if
(
!
judgementByRatio
||
judgementByRatio
.
includes
(
false
)){
throw
new
Error
(
'请正确填写支付比例'
)
}
// 校验采购数量
const
judgementByCount
=
params
.
products
?.
length
&&
params
.
products
.
map
(
item
=>
{
if
(
item
.
purchaseCount
){
return
true
}
else
{
return
false
}
})
if
(
!
judgementByCount
||
judgementByCount
.
includes
(
false
)){
throw
new
Error
(
'请填写商品采购数量'
)
}
// 使用发票即校验发票id
if
(
params
.
needTheInvoice
&&
!
params
.
theInvoiceId
)
{
throw
new
Error
(
'请新增或选择需要使用的发票'
)
}
// logistics render字段字符串化
params
.
products
=
params
.
products
.
map
(
item
=>
{
const
logistics
:
any
=
{
...
item
.
logistics
,
render
:
JSON
.
stringify
(
typeof
item
.
logistics
.
render
===
"object"
?
item
.
logistics
.
render
:
(
item
.
logistics
?.
render
?
item
.
logistics
.
render
.
replace
(
/
\"
/g
,
''
)
:
{}))
};
return
{
...
item
,
logistics
}
})
setBtnLoading
(
true
)
delete
params
.
type
if
(
id
)
{
fnResult
=
await
PublicApi
.
postOrderProcurementOrderUpdate
({...
params
,
id
})
}
else
{
fnResult
=
await
PublicApi
.
postOrderProcurementOrderAddReinsurancePolicy
(
params
)
}
break
;
// 校验采购数量
const
judgementByCount
=
params
.
products
?.
length
&&
params
.
products
.
map
(
item
=>
{
if
(
item
.
purchaseCount
){
return
true
}
else
{
return
false
}
})
if
(
!
judgementByCount
||
judgementByCount
.
includes
(
false
)){
throw
new
Error
(
'请填写商品采购数量'
)
}
// 使用发票即校验发票id
if
(
params
.
hasInvoice
&&
!
params
.
theInvoiceId
)
{
throw
new
Error
(
'请新增或选择需要使用的发票'
)
}
setBtnLoading
(
true
)
/** 字段转换 */
// 合同下单 取供应商默认的发货地址
const
{
data
:
deliveryAddress
}
=
await
PublicApi
.
getLogisticsSelectListMemberShipperAddress
({
memberId
:
params
.
vendorMemberId
,
roleId
:
params
.
vendorRoleId
})
params
.
products
=
params
.
products
.
map
(
item
=>
{
const
address
=
deliveryAddress
[
0
]
return
{
...
item
,
spec
:
item
.
type
,
quotedSpec
:
item
.
relevanceProductType
,
deliveryType
:
item
.
logistics
,
addressId
:
address
.
id
,
address
:
address
.
fullAddress
,
receiver
:
address
.
shipperName
,
phone
:
address
.
phone
,
}
})
// 发票数据字段转换
if
(
params
.
hasInvoice
)
{
params
.
invoice
=
{
invoiceId
:
params
.
theInvoiceId
.
id
,
invoiceKind
:
params
.
theInvoiceId
.
kind
,
invoiceType
:
params
.
theInvoiceId
.
type
,
title
:
params
.
theInvoiceId
.
invoiceTitle
,
taxNo
:
params
.
theInvoiceId
.
taxNo
,
bank
:
params
.
theInvoiceId
.
bankOfDeposit
,
account
:
params
.
theInvoiceId
.
account
,
address
:
params
.
theInvoiceId
.
address
,
phone
:
params
.
theInvoiceId
.
tel
,
defaultInvoice
:
!!
params
.
theInvoiceId
.
isDefault
,
}
}
// 交付地址数据字段转换拼接 查询省市区冗余
const
{
data
:
addressDetail
}
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
params
.
deliveryAddresId
?.
id
||
params
.
deliveryAddresId
})
params
.
consignee
=
{
deliverDate
:
params
.
deliverDate
,
consigneeId
:
addressDetail
.
id
,
consignee
:
addressDetail
.
receiverName
,
provinceCode
:
addressDetail
.
provinceCode
,
cityCode
:
addressDetail
.
cityCode
,
districtCode
:
addressDetail
.
districtCode
,
address
:
addressDetail
.
address
,
postalCode
:
addressDetail
.
postalCode
,
countryCode
:
addressDetail
.
areaCode
,
phone
:
addressDetail
.
phone
,
telephone
:
addressDetail
.
tel
,
defaultConsignee
:
!!
addressDetail
.
isDefault
,
}
// 其他需求
params
.
requirement
=
{
detail
:
{
pageRequire
:
params
.
pageRequire
,
restsRequire
:
params
.
restsRequire
,
}
}
const
_params
=
procurementProcessField
(
params
)
const
shops
=
addSchemaAction
.
getFieldState
(
'shopId'
).
props
.
enum
||
[]
const
shop
=
shops
.
filter
(
item
=>
item
.
value
===
params
.
shopId
)[
0
]
params
.
shopType
=
shop
[
'type'
]
params
.
shopEnvironment
=
shop
[
'environment'
]
params
.
shopName
=
shop
[
'label'
]
console
.
log
(
_params
)
if
(
id
)
{
fnResult
=
await
PublicApi
.
postOrderBuyerCreateB2bUpdate
({...
_params
,
orderId
:
id
})
}
else
{
fnResult
=
await
PublicApi
.
postOrderBuyerCreateB2b
(
_params
)
}
if
(
fnResult
.
code
===
1000
)
{
setTimeout
(()
=>
{
...
...
@@ -316,13 +357,13 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
handleSave
:
paymentSave
,
handleChange
:
(
record
,
value
=
100
)
=>
{
const
payPrice
=
(
value
/
100
*
productSumPriceRef
.
current
).
toFixed
(
2
)
const
newData
=
[...
addSchemaAction
.
getFieldValue
(
'payment
InformationResponse
s'
)];
const
newData
=
[...
addSchemaAction
.
getFieldValue
(
'payments'
)];
const
item
=
newData
[
index
];
newData
.
splice
(
index
,
1
,
{
...
item
,
payPrice
});
addSchemaAction
.
setFieldValue
(
'payment
InformationResponse
s'
,
newData
)
addSchemaAction
.
setFieldValue
(
'payments'
,
newData
)
}
}),
};
...
...
@@ -391,21 +432,8 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
})
}
})
// 监听商品总价的变更, 此处逻辑需优化
$
(
'sumPrice'
).
subscribe
(
payload
=>
{
const
payment
=
addSchemaAction
.
getFieldValue
(
'paymentInformationResponses'
)
const
oldData
=
payment
?
[...
payment
]
:
[];
if
(
oldData
&&
oldData
.
length
>
0
)
{
const
newData
=
oldData
.
map
(
v
=>
{
v
.
payPrice
=
(
v
.
payRatio
/
100
*
payload
).
toFixed
(
2
)
return
v
})
addSchemaAction
.
setFieldValue
(
'paymentInformationResponses'
,
newData
)
}
productSumPriceRef
.
current
=
payload
})
$
(
'onFieldInputChange'
,
'orderMode'
).
subscribe
(
state
=>
{
const
{
editable
,
value
}
=
state
const
{
value
}
=
state
// 处理商城类型选项 报价单文案 支付信息栏隐藏
if
(
value
)
{
const
enumList
=
ctx
.
getFieldState
(
'shopId'
).
props
.
enum
...
...
@@ -413,29 +441,13 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
state
.
visible
=
true
state
.
props
.
enum
=
enumList
.
filter
(
item
=>
item
.
type
===
1
&&
item
.
environment
===
1
)
})
ctx
.
setFieldState
(
'quot
ation
No'
,
state
=>
{
ctx
.
setFieldState
(
'quot
e
No'
,
state
=>
{
state
.
props
.
title
=
'对应报价单号'
})
ctx
.
setFieldState
(
'payInfo'
,
state
=>
{
state
.
visible
=
true
})
}
// 手动切换过下单模式, 需重置受下单模式影响的字段
if
(
editable
)
{
ctx
.
reset
({
validate
:
false
,
selector
:
'*(quotationNo,supplyMembersName,supplyMembersId,products,orderThe)'
})
// 清空弹窗所选的值
productRef
.
current
.
rowSelectionCtl
.
setSelectRow
([])
productRef
.
current
.
rowSelectionCtl
.
setSelectedRowKeys
([])
memberRef
.
current
.
rowSelectionCtl
.
setSelectRow
([])
memberRef
.
current
.
rowSelectionCtl
.
setSelectedRowKeys
([])
inquiryRef
.
current
.
rowSelectionCtl
.
setSelectRow
([])
inquiryRef
.
current
.
rowSelectionCtl
.
setSelectedRowKeys
([])
}
})
useOrderFormInitEffect
(
ctx
)
useModelTypeChange
(
state
=>
{
...
...
@@ -450,7 +462,19 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
// 编辑 地址和发票信息变动 触发订单更新
useOrderUpdateChangeOther
(
ctx
)
$
(
'onFieldValueChange'
,
'quotationNo'
).
subscribe
(
state
=>
{
// 监听商品总价的变更, 支付比例计算
$
(
'sumPrice'
).
subscribe
(
payload
=>
{
const
payment
=
addSchemaAction
.
getFieldValue
(
'payments'
)
if
(
payment
?.
length
)
{
addSchemaAction
.
setFieldValue
(
'payments'
,
payment
.
map
(
item
=>
({
...
item
,
payPrice
:
(
payload
*
Number
(
item
.
payRate
)
/
100
).
toFixed
(
2
)
})))
}
productSumPriceRef
.
current
=
payload
})
$
(
'onFieldValueChange'
,
'quoteNo'
).
subscribe
(
state
=>
{
const
modelType
=
ctx
.
getFieldValue
(
'orderMode'
)
if
(
state
.
value
&&
modelType
===
OrderModalType
[
"CONSOLIDATED_ORDER"
])
{
addSchemaAction
.
setFieldState
(
'products'
,
productState
=>
{
...
...
@@ -480,7 +504,6 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
/>
</
Card
>
<
ProductModalTable
currentRef=
{
productRef
}
schemaAction=
{
addSchemaAction
}
sectionProps=
{
sectionProps
}
forceRender
/>
<
MemberModalTable
currentRef=
{
memberRef
}
productRef=
{
productRef
}
schemaAction=
{
addSchemaAction
}
/>
{
/* 询价报价单弹窗 */
}
<
InquiryModalTable
currentRef=
{
inquiryRef
}
schemaAction=
{
addSchemaAction
}
/>
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/model/usePaymentInfo.tsx
View file @
858fe182
...
...
@@ -22,66 +22,52 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
}
},
[
memberId
])
useEffect
(()
=>
{
if
(
orderProducts
?.
length
)
{
restrictArrivalPay
(
columns
,
orderProducts
)
}
},
[
orderProducts
])
const
initPayWayList
=
(
memberId
,
memberRoleId
)
=>
{
let
result
=
[]
PublicApi
.
getOrderBuyerCreateB2bPayTypes
({
vendorMemberId
:
memberId
,
vendorRoleId
:
memberRoleId
}).
then
(
res
=>
{
const
{
data
=
[],
code
}
=
res
for
(
let
item
of
data
)
{
result
.
push
({
payTypeName
:
item
.
payTypeName
,
payType
:
item
.
payType
,
payChannels
:
[...
item
.
payChannels
]
})
}
})
return
result
}
const
getPayLists
=
(
memberId
,
memberRoleId
)
=>
{
// PublicApi.getPayPayWayList({memberId, memberRoleId}).then(res => {
PublicApi
.
postOrderCreatePaymentFind
({
const
shopId
=
ctx
.
getFieldValue
(
'shopId'
)
const
products
=
ctx
.
getFieldValue
(
'products'
).
map
(
item
=>
({
productId
:
item
.
commodityId
,
skuId
:
item
.
productId
}))
if
(
shopId
&&
products
?.
lenght
)
PublicApi
.
postOrderBuyerCreateB2bPaymentFind
({
memberId
,
roleId
:
memberRoleId
,
shopId
:
ctx
.
getFieldValue
(
'shopId'
)
,
shopId
:
shopId
,
orderMode
:
ctx
.
getFieldValue
(
'orderMode'
),
products
:
ctx
.
getFieldValue
(
'products'
).
map
(
item
=>
({
productId
:
item
.
commodityId
,
skuId
:
item
.
productId
}))
products
:
products
},
{
ctlType
:
'none'
}).
then
(
res
=>
{
const
{
code
,
data
}
=
res
if
(
code
===
1000
)
{
const
newColumns
=
[...
columns
]
newColumns
[
5
].
formItemProps
.
options
=
data
.
payTypes
// newColumns[5].formItemProps.options = initPayWayList(data)
newColumns
[
5
].
formItemProps
.
options
=
initPayWayList
(
memberId
,
memberRoleId
)
paywayData
.
current
=
data
// restrictArrivalPay(newColumns, orderProducts)
setColumns
(
newColumns
)
}
})
}
// 限制使用到付(多次支付和商品仅有物流)
const
restrictArrivalPay
=
(
cols
,
pros
)
=>
{
if
(
pros
?.
length
)
{
const
newColumns
=
[...
cols
]
let
options
=
newColumns
[
5
].
formItemProps
.
options
setTimeout
(()
=>
{
let
paymentDOM
=
document
.
getElementsByClassName
(
"payRatio"
)
// 多次支付也要禁用到付
if
((
paymentDOM
?.
length
>
1
)
||
(
pros
.
filter
(
item
=>
item
.
deliveryType
===
1
).
length
!==
pros
.
length
))
{
if
(
options
.
filter
(
_item
=>
_item
.
payType
===
4
).
length
)
options
.
filter
(
_item
=>
_item
.
payType
===
4
)[
0
].
disabled
=
true
}
else
{
if
(
options
.
filter
(
_item
=>
_item
.
payType
===
4
).
length
)
options
.
filter
(
_item
=>
_item
.
payType
===
4
)[
0
].
disabled
=
false
}
},
800
)
setColumns
(
newColumns
)
}
}
const
handleSave
=
row
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
const
newData
=
[...
ctx
.
getFieldValue
(
'payment
InformationResponse
s'
)];
const
newData
=
[...
ctx
.
getFieldValue
(
'payments'
)];
const
index
=
newData
.
findIndex
(
item
=>
row
.
payCount
===
item
.
payCount
);
const
item
=
newData
[
index
];
newData
.
splice
(
index
,
1
,
{
...
item
,
...
row
,
});
ctx
.
setFieldValue
(
'payment
InformationResponse
s'
,
newData
)
ctx
.
setFieldValue
(
'payments'
,
newData
)
resolve
({
item
,
newData
})
})
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/model/useProductTable.tsx
View file @
858fe182
...
...
@@ -155,7 +155,7 @@ export const useProductTable = (ctx: ISchemaFormActions | ISchemaFormAsyncAction
row
[
'money'
]
=
getUnitPriceTotal
(
row
)
// 通过下单模式判断 是否是手工或者渠道手工下单
let
addModel
=
ctx
.
getFieldValue
(
"orderMode"
)
row
[
'productId'
]
=
(
pageStatus
===
PageStatus
.
ADD
)
?
row
.
id
:
row
.
productId
row
[
'productId'
]
=
row
.
productId
newData
.
splice
(
index
,
1
,
{
...
item
,
...
row
,
...
...
src/pages/transaction/purchaseOrder/orderCollectB2b/schema/index.ts
View file @
858fe182
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
GlobalConfig
}
from
'@/global/config'
;
import
moment
from
'moment'
...
...
@@ -42,13 +41,13 @@ const basicInfo: ISchema = {
// 联动显示单据字段
{
type
:
'value:visible'
,
"target"
:
"quot
ation
No"
,
"target"
:
"quot
e
No"
,
"condition"
:
`{{orderCombination.showQuotationField.includes($value)}}`
},
// 联动显示单据按钮
{
type
:
"value:schema"
,
"target"
:
"quot
ation
No"
,
"target"
:
"quot
e
No"
,
condition
:
`{{!!$value && orderCombination.showQuotationSelectBtn.includes($value)}}`
,
schema
:
{
"x-component-props"
:
{
...
...
@@ -73,7 +72,7 @@ const basicInfo: ISchema = {
required
:
true
,
// visible: false,
},
orderThe
:
{
digest
:
{
type
:
'string'
,
title
:
'订单摘要'
,
"x-rules"
:
[
...
...
@@ -87,7 +86,7 @@ const basicInfo: ISchema = {
}
]
},
quot
ation
No
:
{
quot
e
No
:
{
type
:
'string'
,
title
:
'对应报价单号'
,
visible
:
false
,
...
...
@@ -108,7 +107,7 @@ const basicInfo: ISchema = {
}
],
},
supplyMembers
Name
:
{
vendorMember
Name
:
{
type
:
'string'
,
title
:
'供应会员'
,
"x-component-props"
:
{
...
...
@@ -116,11 +115,11 @@ const basicInfo: ISchema = {
},
required
:
true
,
},
supplyMembers
Id
:
{
vendorMember
Id
:
{
type
:
'string'
,
display
:
false
},
supplyMembers
RoleId
:
{
vendor
RoleId
:
{
type
:
'string'
,
display
:
false
},
...
...
@@ -159,26 +158,16 @@ const basicInfo: ISchema = {
title
:
'外部状态'
,
visible
:
false
},
contractId
:
{
sumPrice
:
{
type
:
'number'
,
title
:
'采购合同ID'
,
visible
:
false
},
contractNo
:
{
type
:
'string'
,
title
:
'合同下单的合同编号'
,
visible
:
false
},
sourceType
:
{
type
:
'number'
,
title
:
'合同下单的寻源类型'
,
visible
:
false
title
:
'总价'
,
visible
:
false
,
},
purchaseType
:
{
freight
:
{
type
:
'number'
,
title
:
'
合同下单的是否有限制下单金额
'
,
visible
:
false
}
,
title
:
'
运费
'
,
visible
:
false
,
}
}
},
...
...
@@ -218,7 +207,7 @@ export const payInfo: ISchema = {
tab
:
'支付信息'
,
},
properties
:
{
payment
InformationResponse
s
:
{
payments
:
{
type
:
'array'
,
"x-component"
:
'MultTable'
,
"x-component-props"
:
{
...
...
@@ -262,7 +251,7 @@ const submitInfo: ISchema = {
type
:
'object'
,
"x-component"
:
'mega-layout'
,
properties
:
{
deliver
yTim
e
:
{
deliver
Dat
e
:
{
type
:
'string'
,
"x-component"
:
'date'
,
title
:
'交付日期'
,
...
...
@@ -318,8 +307,8 @@ const ortherInfo: ISchema = {
wrapperCol
:
10
},
properties
:
{
needThe
Invoice
:
{
type
:
'
number
'
,
has
Invoice
:
{
type
:
'
boolean
'
,
"x-component"
:
'CheckboxSingle'
,
"x-component-props"
:
{
children
:
'需要发票'
,
...
...
@@ -328,7 +317,7 @@ const ortherInfo: ISchema = {
}
},
title
:
'发票'
,
default
:
0
,
default
:
false
,
"x-linkages"
:
[
{
type
:
'value:visible'
,
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/constant/index.tsx
View file @
858fe182
...
...
@@ -300,7 +300,7 @@ export const materialInfoColumns: any[] = [
dataIndex
:
'name'
,
align
:
'center'
,
key
:
'name'
,
render
:
(
t
,
r
)
=>
`
${
t
}
/
${
r
.
spec
}
`
render
:
(
t
,
r
)
=>
`
${
t
}
/
${
r
.
type
}
`
},
{
title
:
'品类'
,
...
...
@@ -325,7 +325,7 @@ export const materialInfoColumns: any[] = [
dataIndex
:
'relevanceProductId'
,
align
:
'center'
,
key
:
'relevanceProductId'
,
render
:
(
t
,
r
)
=>
t
?
`
${
t
}
/
${
r
.
relevanceProductName
||
''
}
/
${
r
.
relevanceProduct
Spec
||
''
}
/
${
r
.
relevanceProductCategory
||
''
}
/
${
r
.
relevanceProductBrand
||
''
}
`
:
''
render
:
(
t
,
r
)
=>
t
?
`
${
t
}
/
${
r
.
relevanceProductName
||
''
}
/
${
r
.
relevanceProduct
Type
||
''
}
/
${
r
.
relevanceProductCategory
||
''
}
/
${
r
.
relevanceProductBrand
||
''
}
`
:
''
},
{
title
:
'单价'
,
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/index.tsx
View file @
858fe182
...
...
@@ -197,22 +197,26 @@ const PurchaseOrderDetail:React.FC<PurchaseOrderDetailProps> = (props) => {
}
// 交付地址数据字段转换拼接 查询省市区冗余
const
{
data
:
addressDetail
}
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
const
{
data
:
addressDetail
,
code
}
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
params
.
deliveryAddresId
?.
id
||
params
.
deliveryAddresId
})
params
.
consignee
=
{
deliverDate
:
params
.
deliverDate
,
consigneeId
:
addressDetail
.
id
,
consignee
:
addressDetail
.
receiverName
,
provinceCode
:
addressDetail
.
provinceCode
,
cityCode
:
addressDetail
.
cityCode
,
districtCode
:
addressDetail
.
districtCode
,
address
:
addressDetail
.
address
,
postalCode
:
addressDetail
.
postalCode
,
countryCode
:
addressDetail
.
areaCode
,
phone
:
addressDetail
.
phone
,
telephone
:
addressDetail
.
tel
,
defaultConsignee
:
addressDetail
.
isDefault
,
if
(
code
===
1000
)
{
params
.
consignee
=
{
deliverDate
:
params
.
deliverDate
,
consigneeId
:
addressDetail
.
id
,
consignee
:
addressDetail
.
receiverName
,
provinceCode
:
addressDetail
.
provinceCode
,
cityCode
:
addressDetail
.
cityCode
,
districtCode
:
addressDetail
.
districtCode
,
address
:
addressDetail
.
address
,
postalCode
:
addressDetail
.
postalCode
,
countryCode
:
addressDetail
.
areaCode
,
phone
:
addressDetail
.
phone
,
telephone
:
addressDetail
.
tel
,
defaultConsignee
:
addressDetail
.
isDefault
,
}
}
else
{
throw
new
Error
(
'交付地址异常'
)
}
// 其他需求
...
...
src/pages/transaction/transactionRules/components/ruleSetting.tsx
View file @
858fe182
...
...
@@ -249,7 +249,13 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
if
(
data
.
allProducts
===
false
)
{
const
res
=
await
getBindingProducts
({
id
:
id
.
toString
(),
current
:
'1'
,
pageSize
:
'1000'
})
addSchemaAction
.
setFieldState
(
'products'
,
state
=>
{
state
.
value
=
res
.
data
state
.
value
=
res
.
data
.
map
(
item
=>
({
...
item
,
id
:
item
.
skuId
,
commodityId
:
item
.
productId
,
customerCategoryName
:
item
.
category
,
brandName
:
item
.
brand
,
}))
})
setProductsLength
(
res
.
totalCount
)
}
...
...
@@ -287,7 +293,13 @@ const RuleSetting:React.FC<RuleSettingProps> = (props) => {
const
paginationChange
=
async
(
page
:
number
,
size
:
number
)
=>
{
if
(
id
!==
''
)
{
const
result
=
await
getBindingProducts
({
id
,
current
:
page
.
toString
(),
pageSize
:
size
.
toString
()})
addSchemaAction
.
setFieldValue
(
'products'
,
result
.
data
)
addSchemaAction
.
setFieldValue
(
'products'
,
result
.
data
.
map
(
item
=>
({
...
item
,
id
:
item
.
skuId
,
commodityId
:
item
.
productId
,
customerCategoryName
:
item
.
category
,
brandName
:
item
.
brand
,
})))
}
}
...
...
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