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
f79db54e
Commit
f79db54e
authored
Dec 30, 2020
by
Bill
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of 10.0.0.22:lingxi/lingxi-business-paltform into dev
parents
4d1bd2c4
5b69310e
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
317 additions
and
187 deletions
+317
-187
index.tsx
src/components/InputNumber/index.tsx
+35
-2
index.tsx
src/pages/lxMall/order/address/index.tsx
+9
-9
index.tsx
src/pages/lxMall/order/contract/index.tsx
+1
-1
index.tsx
src/pages/lxMall/order/index.tsx
+6
-4
index.tsx
src/pages/lxMall/order/payway/index.tsx
+5
-2
index.tsx
...editApplication/components/QuotaApplicationInfo/index.tsx
+3
-1
index.ts
...plication/components/QuotaApplicationInfo/schema/index.ts
+1
-1
detail.tsx
.../payandSettle/creditApplication/quotaFormQuery/detail.tsx
+0
-1
index.tsx
...lication/quotaMenage/detail/components/BillInfo/index.tsx
+2
-2
index.tsx
...tion/quotaMenage/detail/components/IntroduceRow/index.tsx
+17
-61
index.ts
...uotaMenage/detail/components/IntroduceRow/schema/index.ts
+1
-92
index.ts
...uotaMenage/detail/components/RefundModal/effects/index.ts
+0
-0
useBusinessEffects.ts
...tail/components/RefundModal/effects/useBusinessEffects.ts
+0
-0
index.tsx
...ation/quotaMenage/detail/components/RefundModal/index.tsx
+135
-0
index.ts
...quotaMenage/detail/components/RefundModal/schema/index.ts
+94
-0
index.tsx
...ation/quotaMenage/detail/components/TradeRecord/index.tsx
+2
-2
index.tsx
...cation/quotaMenage/detail/components/WxPayModal/index.tsx
+1
-4
index.tsx
...ages/payandSettle/creditApplication/quotaMenage/index.tsx
+1
-1
index.tsx
...itManage/quotaMenage/detail/components/BillInfo/index.tsx
+2
-2
index.tsx
...anage/quotaMenage/detail/components/TradeRecord/index.tsx
+2
-2
No files found.
src/components/InputNumber/index.tsx
View file @
f79db54e
...
...
@@ -35,17 +35,50 @@ const InputNumber: React.FC<InputNumberPropsType> = (props) => {
const
handleReduce
=
(
e
)
=>
{
e
.
stopPropagation
()
if
(
value
>
minCount
)
{
onChange
(
Number
(
value
)
-
1
,
'click'
)
onChange
(
accSub
(
value
,
1
)
,
'click'
)
}
}
const
handleAdd
=
(
e
)
=>
{
e
.
stopPropagation
()
if
(
value
<
maxCount
)
{
onChange
(
Number
(
value
)
+
1
,
'click'
)
onChange
(
accAdd
(
value
,
1
)
,
'click'
)
}
}
const
accAdd
=
(
num1
,
num2
)
=>
{
let
r1
,
r2
try
{
r1
=
num1
.
toString
().
split
(
'.'
)[
1
].
length
;
}
catch
(
e
){
r1
=
0
;
}
try
{
r2
=
num2
.
toString
().
split
(
"."
)[
1
].
length
;
}
catch
(
e
){
r2
=
0
;
}
const
m
=
Math
.
pow
(
10
,
Math
.
max
(
r1
,
r2
));
return
Math
.
round
(
num1
*
m
+
num2
*
m
)
/
m
;
}
const
accSub
=
(
num1
,
num2
)
=>
{
let
r1
,
r2
;
try
{
r1
=
num1
.
toString
().
split
(
'.'
)[
1
].
length
;
}
catch
(
e
){
r1
=
0
;
}
try
{
r2
=
num2
.
toString
().
split
(
"."
)[
1
].
length
;
}
catch
(
e
){
r2
=
0
;
}
const
m
=
Math
.
pow
(
10
,
Math
.
max
(
r1
,
r2
));
const
n
=
(
r1
>=
r2
)
?
r1
:
r2
;
return
(
Math
.
round
(
num1
*
m
-
num2
*
m
)
/
m
).
toFixed
(
n
);
}
const
handleChange
=
(
e
)
=>
{
const
{
value
}
=
e
.
target
;
const
reg
=
/^
\d
*
([
.
]?\d{0,3})
$/
...
...
src/pages/lxMall/order/address/index.tsx
View file @
f79db54e
...
...
@@ -24,11 +24,11 @@ const Address: React.FC<AddressPropsType> = (props) => {
},
[])
const
fetchAddressList
=
(
init
=
false
)
=>
{
let
param
=
{
const
param
:
any
=
{
current
:
1
,
pageSize
:
50
}
//@ts-ignore
PublicApi
.
getLogisticsReceiverAddressPage
(
param
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
setAddressList
(
res
.
data
?.
data
)
...
...
@@ -41,14 +41,14 @@ const Address: React.FC<AddressPropsType> = (props) => {
const
initDefaultAddress
=
async
(
addressList
:
GetLogisticsReceiverAddressPageResponseDetail
[])
=>
{
let
selectItem
for
(
le
t
item
of
addressList
)
{
for
(
cons
t
item
of
addressList
)
{
if
(
item
.
isDefault
===
1
)
{
selectItem
=
item
}
}
if
(
selectItem
)
{
setSelectKey
(
selectItem
.
id
)
le
t
res
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
selectItem
.
id
})
cons
t
res
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
selectItem
.
id
})
onChange
(
Object
.
assign
(
selectItem
,
res
.
data
))
}
}
...
...
@@ -56,13 +56,13 @@ const Address: React.FC<AddressPropsType> = (props) => {
const
handleSelect
=
async
(
e
:
any
)
=>
{
setSelectKey
(
e
.
target
.
value
)
let
selectItem
for
(
le
t
item
of
addressList
)
{
for
(
cons
t
item
of
addressList
)
{
if
(
item
.
id
===
e
.
target
.
value
)
{
selectItem
=
item
}
}
if
(
selectItem
)
{
le
t
res
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
selectItem
.
id
})
cons
t
res
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
selectItem
.
id
})
onChange
(
Object
.
assign
(
selectItem
,
res
.
data
))
}
}
...
...
@@ -91,11 +91,11 @@ const Address: React.FC<AddressPropsType> = (props) => {
}
const
handleSetDefaultAddress
=
async
(
addressItem
:
GetLogisticsReceiverAddressPageResponseDetail
)
=>
{
// eslint-disable-next-line @typescript-eslint/ban-ts-ignore
//@ts-ignore
le
t
addressDetailRes
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
addressItem
.
id
})
le
t
param
:
GetLogisticsReceiverAddressGetResponse
=
addressDetailRes
.
data
cons
t
addressDetailRes
=
await
PublicApi
.
getLogisticsReceiverAddressGet
({
id
:
addressItem
.
id
})
cons
t
param
:
GetLogisticsReceiverAddressGetResponse
=
addressDetailRes
.
data
param
.
isDefault
=
1
//@ts-ignore
PublicApi
.
postLogisticsReceiverAddressUpdate
(
param
).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
fetchAddressList
()
...
...
src/pages/lxMall/order/contract/index.tsx
View file @
f79db54e
...
...
@@ -26,7 +26,7 @@ const Contract: React.FC<ContractPropsType> = (props) => {
<
span
>
我同意签订:
</
span
>
</
Checkbox
>
{
contractInfo
&&
<
a
href=
{
contractInfo
?.
contractUrl
}
download
target=
"_blank"
className=
{
styles
.
checkbox_contract_text
}
>
《
{
contractInfo
?.
contractName
}
》
</
a
>
contractInfo
&&
<
a
href=
{
contractInfo
?.
contractUrl
}
download
rel=
"noreferrer"
target=
"_blank"
className=
{
styles
.
checkbox_contract_text
}
>
《
{
contractInfo
?.
contractName
}
》
</
a
>
}
</
div
>
</
div
>
...
...
src/pages/lxMall/order/index.tsx
View file @
f79db54e
...
...
@@ -85,13 +85,15 @@ const Order: React.FC<OrderPropsType> = (props) => {
message
.
error
(
"订单不存在"
)
history
.
goBack
()
}
if
(
storeId
)
{
initOrderInfo
()
}
return
()
=>
{
if
(
sessionStorage
.
getItem
(
"contractInfo"
))
{
sessionStorage
.
removeItem
(
"contractInfo"
)
}
}
},
[])
},
[
storeId
])
const
initOrderInfo
=
async
()
=>
{
const
result
=
[]
...
...
@@ -120,9 +122,9 @@ const Order: React.FC<OrderPropsType> = (props) => {
try
{
const
param
:
any
=
{
productId
,
shopId
,
storeId
,
memberId
:
o
rderInfo
.
supplyMembersId
,
memberRoleId
:
o
rderInfo
.
supplyMembersRoleId
,
shopId
:
storeId
,
memberId
:
sessionO
rderInfo
.
supplyMembersId
,
memberRoleId
:
sessionO
rderInfo
.
supplyMembersRoleId
,
}
const
rulesRes
=
await
PublicApi
.
getOrderTradingRulesByProductId
(
param
)
const
{
data
}
=
rulesRes
...
...
src/pages/lxMall/order/payway/index.tsx
View file @
f79db54e
...
...
@@ -33,8 +33,10 @@ const PayWay: React.FC<PayWayProps> = (props) => {
}
useEffect
(()
=>
{
if
(
expand
)
{
fetchCreditInfo
()
},
[])
}
},
[
expand
])
useEffect
(()
=>
{
if
(
payWayList
&&
payWayList
.
length
===
1
)
{
...
...
@@ -49,9 +51,10 @@ const PayWay: React.FC<PayWayProps> = (props) => {
}
PublicApi
.
getPayCreditGetCredit
(
param
).
then
(
res
=>
{
message
.
destroy
()
if
(
res
.
code
===
1000
)
{
setCreditInfo
(
res
.
data
)
}
else
{
message
.
destroy
()
}
})
}
...
...
src/pages/payandSettle/creditApplication/components/QuotaApplicationInfo/index.tsx
View file @
f79db54e
...
...
@@ -76,6 +76,7 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
fileList
,
...
rest
}
=
values
;
onSubmit
({
applyQuota
:
+
applyQuota
,
billDay
:
+
billDay
,
...
...
@@ -86,8 +87,9 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
.
map
(
item
=>
{
const
{
data
,
...
rest
}
=
item
;
return
{
data
:
data
.
url
,
...
rest
,
url
:
data
.
url
,
data
:
data
,
}
}),
...
rest
,
...
...
src/pages/payandSettle/creditApplication/components/QuotaApplicationInfo/schema/index.ts
View file @
f79db54e
...
...
@@ -115,7 +115,7 @@ export const editModalSchema: ISchema = {
},
'x-rules'
:
[
{
required
:
false
,
required
:
true
,
message
:
'请上传申请附件'
,
},
],
...
...
src/pages/payandSettle/creditApplication/quotaFormQuery/detail.tsx
View file @
f79db54e
...
...
@@ -10,7 +10,6 @@ const QuotaFormQueryDetail: React.FC = () => {
id=
{
id
}
creditId=
{
creditId
}
target=
"/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail"
isEdit
/>
);
};
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/BillInfo/index.tsx
View file @
f79db54e
...
...
@@ -79,7 +79,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
a
onClick=
{
()
=>
handleCheckVoucher
(
trade
.
payProveList
)
}
>
{
trade
.
tradeCode
}
</
a
>
</
Col
>
...
...
@@ -94,7 +94,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
</
Row
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
{
BILL_TRADE_OPERATION
[
trade
.
operation
]
}
</
Col
>
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/IntroduceRow/index.tsx
View file @
f79db54e
...
...
@@ -14,21 +14,19 @@ import {
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
lodash
from
'lodash'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
PAY_CHANNEL_WECHAT
}
from
'@/constants'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
{
Pie
}
from
'@/components/Charts'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
repaymentModalSchema
,
uploadVoucherModalSchema
}
from
'./schema'
;
import
{
createEffects
}
from
'./effects/repayment'
;
import
{
uploadVoucherModalSchema
}
from
'./schema'
;
import
TradeRecord
,
{
RecordParams
,
RecordRes
}
from
'../TradeRecord'
;
import
WxPayModal
from
'../WxPayModal'
;
import
RefundModal
from
'../RefundModal'
;
import
styles
from
'./index.less'
;
const
repaymentFormActions
=
createFormActions
();
const
uploadVoucherFormActions
=
createFormActions
();
const
{
onFormInit$
}
=
FormEffectHooks
;
const
{
Option
}
=
Select
;
export
interface
BillDetailParams
{
...
...
@@ -72,6 +70,10 @@ export interface BillDetailData {
* 收款人Id
*/
memberId
:
number
/**
* 收款人角色Id
*/
memberRoleId
:
number
};
export
interface
BillRecordParams
extends
RecordParams
{
...
...
@@ -113,7 +115,6 @@ interface IntroduceRowState {
name
:
string
,
bankAccount
:
string
,
bankDeposit
:
string
,
memberId
:
number
,
},
visibleRecord
:
boolean
;
visibleRepayment
:
boolean
;
...
...
@@ -144,7 +145,6 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
name
:
''
,
bankAccount
:
''
,
bankDeposit
:
''
,
memberId
:
0
,
},
visibleRecord
:
false
,
visibleRepayment
:
false
,
...
...
@@ -180,7 +180,7 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
id
:
`
${
id
}
`
,
}).
then
(
res
=>
{
this
.
setState
({
billInfo
:
res
});
this
.
getSettleAccounts
Corporate
AccountConfig
(
res
.
memberId
,
res
.
memberRoleId
);
this
.
getSettleAccounts
GetMember
AccountConfig
(
res
.
memberId
,
res
.
memberRoleId
);
}).
finally
(()
=>
{
this
.
setState
({
billInfoLoading
:
false
});
});
...
...
@@ -188,13 +188,13 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
};
// 获取对公账户信息
getSettleAccounts
Corporate
AccountConfig
=
(
memberId
:
number
,
memberRoleId
:
number
)
=>
{
getSettleAccounts
GetMember
AccountConfig
=
(
memberId
:
number
,
memberRoleId
:
number
)
=>
{
if
(
!
memberId
||
!
memberRoleId
)
{
return
;
}
PublicApi
.
getSettleAccounts
Corporate
AccountConfig
({
PublicApi
.
getSettleAccounts
GetMember
AccountConfig
({
memberId
:
`
${
memberId
}
`
,
memberR
oleId
:
`
${
memberRoleId
}
`
,
r
oleId
:
`
${
memberRoleId
}
`
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
this
.
setState
({
...
...
@@ -257,7 +257,7 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
switch
(
tradeChannel
)
{
// 微信支付
case
1
:
{
case
PAY_CHANNEL_WECHAT
:
{
this
.
setState
({
wxPayPrice
:
values
.
repayQuota
,
wxPayUrl
:
res
.
data
.
payQRCode
,
...
...
@@ -289,10 +289,10 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
};
handleUploadVoucherSubmit
=
values
=>
{
const
{
payProveList
}
=
values
;
const
{
payProveList
=
[]
}
=
values
;
const
{
repaymentValues
,
billId
,
bankAccount
}
=
this
.
state
;
if
(
!
bankAccount
||
!
bankAccount
.
id
||
!
bankAccount
.
memberId
)
{
if
(
!
bankAccount
||
!
bankAccount
.
id
)
{
message
.
error
(
'没有还款账户相关信息,无法还款'
);
return
;
}
...
...
@@ -317,7 +317,6 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
};
beforeUploadVoucher
=
file
=>
{
console
.
log
(
file
.
size
)
if
(
file
.
size
/
1024
>
200
)
{
message
.
warning
(
'图片大小超过200K'
);
return
Promise
.
reject
();
...
...
@@ -564,56 +563,13 @@ class IntroduceRow extends React.Component<IntroduceRowProps, IntroduceRowState>
</
Col
>
</
Row
>
<
Modal
title=
"还款"
width=
{
576
}
<
RefundModal
visible=
{
visibleRepayment
}
confirmLoading=
{
repaymentSubmitLoading
}
onOk=
{
()
=>
repaymentFormActions
.
submit
()
}
billInfo=
{
billInfo
}
onCancel=
{
()
=>
this
.
setState
({
visibleRepayment
:
false
})
}
destroyOnClose
>
<
NiceForm
previewPlaceholder=
""
effects=
{
(
$
,
actions
)
=>
{
const
{
setFieldState
,
setFieldValue
}
=
actions
;
onFormInit$
().
subscribe
(()
=>
{
// 初始化数据
setFieldState
(
'repayQuota'
,
fileState
=>
{
fileState
.
value
=
billInfo
.
residueRepayQuota
;
fileState
.
rules
=
fileState
.
rules
.
concat
({
validator
(
value
)
{
return
+
value
>
billInfo
.
residueRepayQuota
?
'输入值已超出还款金额'
:
''
;
}
});
});
setFieldState
(
'amountSlide'
,
fileState
=>
{
fileState
.
value
=
billInfo
.
residueRepayQuota
;
fileState
.
props
[
'x-component-props'
].
max
=
billInfo
.
residueRepayQuota
;
fileState
.
props
[
'x-component-props'
].
marks
=
{
0
:
{
label
:
0
,
},
[
billInfo
.
residueRepayQuota
]:
{
label
:
billInfo
.
residueRepayQuota
,
},
};
});
});
createEffects
(
$
,
actions
);
}
}
expressionScope=
{
{
}
}
actions=
{
repaymentFormActions
}
schema=
{
repaymentModalSchema
}
onSubmit=
{
this
.
handleRepaymentSubmit
}
confirmLoading=
{
repaymentSubmitLoading
}
/>
</
Modal
>
<
Modal
title=
"上传支付凭证"
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/IntroduceRow/schema/index.ts
View file @
f79db54e
import
{
ISchema
}
from
'@formily/antd'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
repaymentModalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
full
:
true
,
},
properties
:
{
repayQuota
:
{
type
:
'string'
,
title
:
'还款金额'
,
'x-component-props'
:
{
placeholder
:
''
,
addonBefore
:
'¥'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请填写还款金额'
,
},
],
},
amountSlide
:
{
type
:
'number'
,
title
:
''
,
'x-component'
:
'range'
,
'x-component-props'
:
{
min
:
0
,
// max: 20000,
},
},
tradeType
:
{
type
:
'number'
,
enum
:
[
{
label
:
'线上支付方式'
,
value
:
1
,
},
{
label
:
'线下支付方式'
,
value
:
2
,
},
],
default
:
1
,
title
:
'选择支付方式'
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择支付方式'
,
},
],
},
tradeChannel
:
{
type
:
'string'
,
title
:
'选择支付渠道'
,
enum
:
[
{
label
:
'微信'
,
value
:
1
,
},
{
label
:
'支付宝'
,
value
:
2
,
},
{
label
:
'银联'
,
value
:
3
,
},
],
default
:
1
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择支付渠道'
,
},
],
},
},
},
},
};
export
const
uploadVoucherModalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
...
...
@@ -139,7 +48,7 @@ export const uploadVoucherModalSchema: ISchema = {
},
'x-rules'
:
[
{
required
:
false
,
required
:
true
,
message
:
'请上传支付凭证'
,
},
],
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/
IntroduceRow/effects/repayment
/index.ts
→
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/
RefundModal/effects
/index.ts
View file @
f79db54e
File moved
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/
IntroduceRow/effects/repayment
/useBusinessEffects.ts
→
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/
RefundModal/effects
/useBusinessEffects.ts
View file @
f79db54e
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/RefundModal/index.tsx
0 → 100644
View file @
f79db54e
import
React
from
'react'
;
import
{
Modal
}
from
'antd'
;
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
BillDetailData
}
from
'../IntroduceRow'
;
import
{
repaymentModalSchema
}
from
'./schema'
;
import
{
createEffects
}
from
'./effects'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
const
{
onFormInit$
}
=
FormEffectHooks
;
const
repaymentFormActions
=
createFormActions
();
interface
RefundModalProps
{
/**
* 是否可见
*/
visible
:
boolean
,
/**
* 隐藏事件
*/
onCancel
:
()
=>
void
,
/**
* 确认按钮 loading
*/
confirmLoading
?:
boolean
,
/**
* 账单信息
*/
billInfo
:
BillDetailData
|
null
,
/**
* 提交事件
*/
onSubmit
:
(
values
:
any
)
=>
void
,
};
const
RefundModal
:
React
.
FC
<
RefundModalProps
>
=
(
props
)
=>
{
const
{
visible
,
onCancel
,
confirmLoading
,
billInfo
,
onSubmit
,
}
=
props
;
// 获取供应商支付渠道
const
getPayChannels
=
():
Promise
<
any
[]
>
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getPayCreditRepaymentList
({
payType
:
`
${
1
}
`
,
// 支付方式:1 线上支付
memberId
:
`
${
billInfo
.
memberId
}
`
,
memberRoleId
:
`
${
billInfo
.
memberRoleId
}
`
,
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
const
options
=
res
.
data
?
res
.
data
.
map
(
item
=>
({
label
:
item
.
way
,
value
:
item
.
wayId
,
}))
:
[];
resolve
(
options
);
}
reject
();
}).
catch
(()
=>
{
reject
();
});
});
};
const
handleRepaymentSubmit
=
(
values
)
=>
{
if
(
onSubmit
)
{
onSubmit
(
values
);
}
};
return
(
<
Modal
title=
"还款"
width=
{
576
}
visible=
{
visible
}
confirmLoading=
{
confirmLoading
}
onOk=
{
()
=>
repaymentFormActions
.
submit
()
}
onCancel=
{
onCancel
}
destroyOnClose
>
<
NiceForm
previewPlaceholder=
""
effects=
{
(
$
,
actions
)
=>
{
const
{
setFieldState
,
setFieldValue
}
=
actions
;
onFormInit$
().
subscribe
(()
=>
{
// 初始化数据
setFieldState
(
'repayQuota'
,
fileState
=>
{
fileState
.
value
=
billInfo
.
residueRepayQuota
;
fileState
.
rules
=
fileState
.
rules
.
concat
({
validator
(
value
)
{
return
+
value
>
billInfo
.
residueRepayQuota
?
'输入值已超出还款金额'
:
''
;
}
});
});
setFieldState
(
'amountSlide'
,
fileState
=>
{
fileState
.
value
=
billInfo
.
residueRepayQuota
;
fileState
.
props
[
'x-component-props'
].
max
=
billInfo
.
residueRepayQuota
;
fileState
.
props
[
'x-component-props'
].
marks
=
{
0
:
{
label
:
0
,
},
[
billInfo
.
residueRepayQuota
]:
{
label
:
billInfo
.
residueRepayQuota
,
},
};
});
});
createEffects
(
$
,
actions
);
console
.
log
(
'123'
)
useAsyncSelect
(
'tradeChannel'
,
getPayChannels
,
[
'label'
,
'value'
]);
}
}
expressionScope=
{
{
}
}
actions=
{
repaymentFormActions
}
schema=
{
repaymentModalSchema
}
onSubmit=
{
handleRepaymentSubmit
}
/>
</
Modal
>
);
};
export
default
RefundModal
;
\ No newline at end of file
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/RefundModal/schema/index.ts
0 → 100644
View file @
f79db54e
import
{
ISchema
}
from
'@formily/antd'
;
import
{
UPLOAD_TYPE
}
from
'@/constants'
;
export
const
repaymentModalSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
MEGA_LAYOUT
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
labelAlign
:
'top'
,
full
:
true
,
},
properties
:
{
repayQuota
:
{
type
:
'string'
,
title
:
'还款金额'
,
'x-component-props'
:
{
placeholder
:
''
,
addonBefore
:
'¥'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请填写还款金额'
,
},
],
},
amountSlide
:
{
type
:
'number'
,
title
:
''
,
'x-component'
:
'range'
,
'x-component-props'
:
{
min
:
0
,
// max: 20000,
},
},
tradeType
:
{
type
:
'number'
,
enum
:
[
{
label
:
'线上支付方式'
,
value
:
1
,
},
{
label
:
'线下支付方式'
,
value
:
2
,
},
],
default
:
1
,
title
:
'选择支付方式'
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择支付方式'
,
},
],
},
tradeChannel
:
{
type
:
'string'
,
title
:
'选择支付渠道'
,
enum
:
[
{
label
:
'微信'
,
value
:
1
,
},
{
label
:
'支付宝'
,
value
:
2
,
},
{
label
:
'银联'
,
value
:
3
,
},
],
default
:
1
,
'x-component-props'
:
{
placeholder
:
'请选择'
,
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择支付渠道'
,
},
],
},
},
},
},
};
\ No newline at end of file
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/TradeRecord/index.tsx
View file @
f79db54e
...
...
@@ -178,7 +178,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
<
TradeWrap
.
TradeItem
key=
{
item
.
tradeCode
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
a
onClick=
{
()
=>
this
.
handleCheckVoucher
(
item
.
payProveList
)
}
>
{
item
.
tradeCode
}
</
a
>
</
Col
>
...
...
@@ -193,7 +193,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
</
Row
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
{
item
.
operationName
}
</
Col
>
...
...
src/pages/payandSettle/creditApplication/quotaMenage/detail/components/WxPayModal/index.tsx
View file @
f79db54e
...
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-12-16 11:07:13
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-12-
16 15:09:21
* @LastEditTime: 2020-12-
30 13:50:05
* @Description: 微信支付弹窗
*/
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
;
...
...
@@ -80,7 +80,6 @@ const WxPayModal: React.FC<WxPayModalProps> = ({
timer
.
current
=
setTimeout
(()
=>
{
handleCheckResult
();
},
2000
);
console
.
log
(
'timer'
,
timer
)
}
else
{
clearTimeout
(
timer
.
current
);
timer
=
null
;
...
...
@@ -107,8 +106,6 @@ const WxPayModal: React.FC<WxPayModalProps> = ({
useEffect
(()
=>
{
if
(
!
visible
)
{
console
.
log
(
'隐藏咯'
)
console
.
log
(
'timer'
,
timer
.
current
)
if
(
timer
.
current
)
{
clearTimeout
(
timer
.
current
);
timer
.
current
=
null
;
...
...
src/pages/payandSettle/creditApplication/quotaMenage/index.tsx
View file @
f79db54e
...
...
@@ -115,7 +115,7 @@ const QuotaMenage: React.FC = () => {
{
text
?
(
<
StatusTag
type=
{
CREDIT_REPAYMENT_STATUS_TAG_MAP
[
record
.
repayStatus
]
}
title=
{
record
.
repayStatus
!==
CREDIT_REPAYMENT_STATUS_OVERDUE
?
text
:
record
.
overdueDay
}
title=
{
text
}
/>
)
:
null
}
</>
...
...
src/pages/payandSettle/creditManage/quotaMenage/detail/components/BillInfo/index.tsx
View file @
f79db54e
...
...
@@ -79,7 +79,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
<
a
onClick=
{
()
=>
handleCheckVoucher
(
trade
.
payProveList
)
}
>
{
trade
.
tradeCode
}
</
a
>
</
Col
>
...
...
@@ -94,7 +94,7 @@ const BillInfo: React.FC<BillInfoProps> = ({
</
Row
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
{
BILL_TRADE_OPERATION
[
trade
.
operation
]
}
</
Col
>
...
...
src/pages/payandSettle/creditManage/quotaMenage/detail/components/TradeRecord/index.tsx
View file @
f79db54e
...
...
@@ -240,7 +240,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
<
TradeWrap
.
TradeItem
key=
{
item
.
tradeCode
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"交易流水号"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
10
}
>
<
a
onClick=
{
()
=>
this
.
handleCheckVoucher
(
item
.
payProveList
)
}
>
{
item
.
tradeCode
}
</
a
>
</
Col
>
...
...
@@ -255,7 +255,7 @@ class TradeRecord extends React.Component<TradeRecordProps, TradeRecordState> {
</
Row
>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"交易项目"
>
<
Row
justify=
"space-between"
>
<
Row
justify=
"space-between"
style=
{
{
width
:
'100%'
}
}
>
<
Col
span=
{
12
}
>
{
item
.
operationName
}
</
Col
>
...
...
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