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
d77ca746
Commit
d77ca746
authored
Oct 27, 2020
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
280bff38
ef941cc9
Hide whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
525 additions
and
278 deletions
+525
-278
index.ts
config/routes/tranactionRoute/index.ts
+19
-3
index.tsx
...dSettle/amountAccountManage/memberAccountManage/index.tsx
+5
-5
memberAccountDetail.tsx
...AccountManage/memberAccountManage/memberAccountDetail.tsx
+45
-17
accountDetail.tsx
...yandSettle/capitalAccounts/accountLists/accountDetail.tsx
+72
-21
applyWithdraw.tsx
...yandSettle/capitalAccounts/accountLists/applyWithdraw.tsx
+63
-22
index.tsx
...pages/payandSettle/capitalAccounts/accountLists/index.tsx
+6
-7
index.tsx
...ayandSettle/capitalAccounts/accountLists/schema/index.tsx
+10
-2
constant.ts
src/pages/payandSettle/constant.ts
+15
-0
index.tsx
...e/creditApplication/components/OuterCirculation/index.tsx
+11
-7
index.tsx
...editApplication/components/QuotaApplicationInfo/index.tsx
+40
-31
index.ts
...plication/components/QuotaApplicationInfo/schema/index.ts
+5
-1
detail.tsx
.../payandSettle/creditApplication/quotaFormQuery/detail.tsx
+147
-94
index.tsx
...s/payandSettle/creditApplication/quotaFormQuery/index.tsx
+1
-1
index.tsx
...ages/payandSettle/creditApplication/quotaMenage/index.tsx
+29
-3
index.ts
...ayandSettle/creditApplication/quotaMenage/schema/index.ts
+2
-48
index.tsx
...Application/quotaPrSubmit/components/DetailInfo/index.tsx
+31
-13
index.tsx
...es/payandSettle/creditApplication/quotaPrSubmit/index.tsx
+3
-3
index.tsx
src/utils/index.tsx
+21
-0
No files found.
config/routes/tranactionRoute/index.ts
View file @
d77ca746
import
{
RouterChild
}
from
'../../utils'
;
//
import { RouterChild } from '../../utils';
import
goodsOffer
from
'./goodsOffer'
;
import
goodsOffer
from
'./goodsOffer'
;
import
inquiryQuote
from
'./inquiryQuote'
;
import
inquiryQuote
from
'./inquiryQuote'
;
import
confirmInquiryQuote
from
'./confirmInquiryQuote'
;
import
confirmInquiryQuote
from
'./confirmInquiryQuote'
;
...
@@ -11,7 +11,7 @@ import comfirmDemandPosts from './comfirmDemandPosts';
...
@@ -11,7 +11,7 @@ import comfirmDemandPosts from './comfirmDemandPosts';
/**
/**
* 交易能力路由
* 交易能力路由
*/
*/
const
TranactionRoute
:
RouterChild
=
{
const
TranactionRoute
=
{
path
:
'/memberCenter/tranactionAbility'
,
path
:
'/memberCenter/tranactionAbility'
,
name
:
'tranactionAbility'
,
name
:
'tranactionAbility'
,
icon
:
'smile'
,
icon
:
'smile'
,
...
@@ -191,12 +191,28 @@ const TranactionRoute: RouterChild = {
...
@@ -191,12 +191,28 @@ const TranactionRoute: RouterChild = {
// 新增交易规则
// 新增交易规则
{
{
path
:
'/memberCenter/tranactionAbility/transactionRules/add
Rule
'
,
path
:
'/memberCenter/tranactionAbility/transactionRules/add'
,
name
:
'addRule'
,
name
:
'addRule'
,
hideInMenu
:
true
,
hideInMenu
:
true
,
component
:
'@/pages/transaction/transactionRules/addRule'
,
component
:
'@/pages/transaction/transactionRules/addRule'
,
},
},
// 编辑交易规则
{
path
:
'/memberCenter/tranactionAbility/transactionRules/edit'
,
name
:
'editRule'
,
hideInMenu
:
true
,
component
:
'@/pages/transaction/transactionRules/addRule'
,
},
// 交易规则详情
{
path
:
'/memberCenter/tranactionAbility/transactionRules/detail'
,
name
:
'ruleDetail'
,
hideInMenu
:
true
,
component
:
'@/pages/transaction/transactionRules/addRule'
,
},
// 供应会员评价管理
// 供应会员评价管理
{
{
path
:
'/memberCenter/tranactionAbility/supplierEvaluation'
,
path
:
'/memberCenter/tranactionAbility/supplierEvaluation'
,
...
...
src/pages/payandSettle/amountAccountManage/memberAccountManage/index.tsx
View file @
d77ca746
...
@@ -60,21 +60,21 @@ const AccountLists: React.FC<{}> = () => {
...
@@ -60,21 +60,21 @@ const AccountLists: React.FC<{}> = () => {
},
},
{
{
title
:
'账户余额'
,
title
:
'账户余额'
,
dataIndex
:
'account
Status
'
,
dataIndex
:
'account
Balance
'
,
key
:
'account
Status
'
,
key
:
'account
Balance
'
,
render
:
text
=>
`¥
${
text
}
`
render
:
text
=>
`¥
${
text
.
toFixed
(
2
)
}
`
},
},
{
{
title
:
'锁定余额'
,
title
:
'锁定余额'
,
dataIndex
:
'lockBalance'
,
dataIndex
:
'lockBalance'
,
key
:
'lockBalance'
,
key
:
'lockBalance'
,
render
:
text
=>
`¥
${
text
}
`
render
:
text
=>
`¥
${
text
.
toFixed
(
2
)
}
`
},
},
{
{
title
:
'可用余额'
,
title
:
'可用余额'
,
dataIndex
:
'usableBalance'
,
dataIndex
:
'usableBalance'
,
key
:
'usableBalance'
,
key
:
'usableBalance'
,
render
:
(
t
,
r
)
=>
`¥
${
r
.
accountStatus
-
r
.
lockBalance
}
`
render
:
(
t
,
r
)
=>
`¥
${
((
r
.
accountBalance
*
100
-
r
.
lockBalance
*
100
)
/
100
).
toFixed
(
2
)
}
`
},
},
{
{
title
:
'会员状态'
,
title
:
'会员状态'
,
...
...
src/pages/payandSettle/amountAccountManage/memberAccountManage/memberAccountDetail.tsx
View file @
d77ca746
...
@@ -12,13 +12,15 @@ import { memberStatusMap, moveStatusMap, statusMap } from '../../constant'
...
@@ -12,13 +12,15 @@ import { memberStatusMap, moveStatusMap, statusMap } from '../../constant'
import
{
SettingOutlined
,
StopOutlined
}
from
'@ant-design/icons'
import
{
SettingOutlined
,
StopOutlined
}
from
'@ant-design/icons'
import
{
validatorByte
}
from
'@/utils/regExp'
import
{
validatorByte
}
from
'@/utils/regExp'
import
{
PublicApi
}
from
'@/services/api'
import
{
PublicApi
}
from
'@/services/api'
import
{
GetPayMemberAssetAccountGetMemberAssetAccountResponse
}
from
'@/services/PayApi
'
import
{
StandardTable
}
from
'god
'
const
{
TextArea
}
=
Input
const
{
TextArea
}
=
Input
const
AccountDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
AccountDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
refTrade
=
useRef
<
any
>
({})
const
refMove
=
useRef
<
any
>
({})
const
[
checkForm
]
=
Form
.
useForm
()
const
[
checkForm
]
=
Form
.
useForm
()
const
[
dealRecord
,
setDealRecord
]
=
useState
<
any
>
()
//
const [dealRecord, setDealRecord] = useState<any>()
const
[
moveRecord
,
setMoveRecord
]
=
useState
<
any
>
()
const
[
moveRecord
,
setMoveRecord
]
=
useState
<
any
>
()
const
[
isDisabled
,
setIsDisabled
]
=
useState
<
boolean
>
(
false
)
const
[
isDisabled
,
setIsDisabled
]
=
useState
<
boolean
>
(
false
)
const
[
visibleModal
,
setVisibleModal
]
=
useState
<
boolean
>
(
false
)
const
[
visibleModal
,
setVisibleModal
]
=
useState
<
boolean
>
(
false
)
...
@@ -26,7 +28,6 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -26,7 +28,6 @@ const AccountDetail: React.FC<{}> = () => {
useEffect
(()
=>
{
useEffect
(()
=>
{
getAccountInfo
()
getAccountInfo
()
// pay/memberAssetAccount/getMemberAssetAccount
},
[])
},
[])
const
getAccountInfo
=
async
()
=>
{
const
getAccountInfo
=
async
()
=>
{
...
@@ -35,13 +36,33 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -35,13 +36,33 @@ const AccountDetail: React.FC<{}> = () => {
const
{
code
,
data
}
=
res
const
{
code
,
data
}
=
res
setDetails
(
data
)
setDetails
(
data
)
if
(
code
===
1000
){
if
(
code
===
1000
){
let
tradeRecord
=
await
PublicApi
.
getPayMemberAssetAccountGetAccountTradeRecord
({
memberAssetAccountId
:
data
.
id
+
''
})
//
let tradeRecord = await PublicApi.getPayMemberAssetAccountGetAccountTradeRecord({memberAssetAccountId: data.id + ''})
let
statusRecord
=
await
PublicApi
.
getPayMemberAssetAccountGetAccountCheckRecord
({
memberAssetAccountId
:
data
.
id
+
''
})
let
statusRecord
=
await
PublicApi
.
getPayMemberAssetAccountGetAccountCheckRecord
({
memberAssetAccountId
:
data
.
id
+
''
})
setDealRecord
(
tradeRecord
.
data
)
//
setDealRecord(tradeRecord.data)
setMoveRecord
(
statusRecord
.
data
)
setMoveRecord
(
statusRecord
.
data
)
}
}
}
}
// 获取交易记录
const
fetchTradeData
=
(
params
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getPayMemberAssetAccountGetAccountTradeRecord
({
memberAssetAccountId
:
history
.
location
.
query
.
id
+
''
,
...
params
}).
then
(
res
=>
{
const
{
data
}
=
res
resolve
(
data
)
})
})
}
// // 获取流转记录
// const fetchMoveData = (params) => {
// return new Promise((resolve, reject) => {
// PublicApi.getPayMemberAssetAccountGetAccountCheckRecord({memberAssetAccountId: history.location.query.id + ''}).then(res => {
// const { data } = res
// resolve(data)
// })
// })
// }
const
columns
:
ColumnType
<
any
>
[]
=
[
const
columns
:
ColumnType
<
any
>
[]
=
[
{
{
title
:
'交易流水号'
,
title
:
'交易流水号'
,
...
@@ -65,11 +86,6 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -65,11 +86,6 @@ const AccountDetail: React.FC<{}> = () => {
key
:
'operation'
,
key
:
'operation'
,
},
},
{
{
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
},
{
title
:
'状态'
,
title
:
'状态'
,
dataIndex
:
'status'
,
dataIndex
:
'status'
,
key
:
'status'
,
key
:
'status'
,
...
@@ -91,8 +107,8 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -91,8 +107,8 @@ const AccountDetail: React.FC<{}> = () => {
},
},
{
{
title
:
'操作角色'
,
title
:
'操作角色'
,
dataIndex
:
'parentMemberRoleName'
,
dataIndex
:
[
'memberAssetAccount'
,
'parentMemberRoleName'
]
,
key
:
'
parentMemberRoleName
'
,
key
:
'
id
'
,
},
},
{
{
title
:
'状态'
,
title
:
'状态'
,
...
@@ -165,7 +181,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -165,7 +181,7 @@ const AccountDetail: React.FC<{}> = () => {
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
可用余额(元):
</
div
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
可用余额(元):
</
div
>
<
div
className=
{
styles
[
'statistic-amount'
]
}
>
<
div
className=
{
styles
[
'statistic-amount'
]
}
>
{
`${
details.accountBalance - details.lockBalance
}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
{
`${
((details.accountBalance*100 - details.lockBalance*100)/100).toFixed(2)
}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
...
@@ -191,7 +207,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -191,7 +207,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
账户余额(元):
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
账户余额(元):
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
accountBalance
}
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
accountBalance
?.
toFixed
(
2
)
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Row
>
<
Row
>
...
@@ -199,7 +215,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -199,7 +215,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
锁定金额(元):
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
锁定金额(元):
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
lockBalance
}
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
lockBalance
?.
toFixed
(
2
)
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Row
>
<
Row
>
...
@@ -222,12 +238,24 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -222,12 +238,24 @@ const AccountDetail: React.FC<{}> = () => {
</
Space
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"交易记录"
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"交易记录"
>
<
Table
dataSource=
{
dealRecord
}
columns=
{
columns
}
/>
<
StandardTable
columns=
{
columns
}
currentRef=
{
refTrade
}
fetchTableData=
{
(
params
:
any
)
=>
fetchTradeData
(
params
)
}
/>
</
Card
>
</
Card
>
</
Space
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"流转记录"
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"流转记录"
>
<
Table
dataSource=
{
moveRecord
}
columns=
{
moveColumns
}
/>
<
Table
columns=
{
moveColumns
}
dataSource=
{
moveRecord
}
pagination=
{
false
}
/>
{
/* <StandardTable
columns={moveColumns}
currentRef={refMove}
fetchTableData={(params: any) => fetchMoveData(params)}
tableProps={{
pagination: false
}}
/> */
}
</
Card
>
</
Card
>
</
Space
>
</
Space
>
<
Modal
<
Modal
...
...
src/pages/payandSettle/capitalAccounts/accountLists/accountDetail.tsx
View file @
d77ca746
import
React
,
{
useState
,
useEffect
,
useRef
,
ReactNode
}
from
'react'
import
React
,
{
useState
,
useEffect
,
useRef
,
ReactNode
}
from
'react'
import
{
history
}
from
'umi'
import
{
history
}
from
'umi'
import
{
Card
,
Space
,
Row
,
Col
,
Button
,
Table
}
from
'antd'
import
{
Card
,
Space
,
Row
,
Col
,
Button
,
Table
,
Modal
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
ReutrnEle
from
'@/components/ReturnEle'
import
ReutrnEle
from
'@/components/ReturnEle'
import
styles
from
'./index.less'
import
styles
from
'./index.less'
...
@@ -11,16 +11,20 @@ import { ColumnType } from 'antd/lib/table/interface'
...
@@ -11,16 +11,20 @@ import { ColumnType } from 'antd/lib/table/interface'
import
ModalForm
from
'@/components/ModalForm'
import
ModalForm
from
'@/components/ModalForm'
import
{
createFormActions
}
from
'@formily/antd'
import
{
createFormActions
}
from
'@formily/antd'
import
{
rechargeSchema
}
from
'./schema'
import
{
rechargeSchema
}
from
'./schema'
import
{
memberStatusMap
,
moveStatusMap
,
statusMap
}
from
'../../constant'
import
{
memberStatusMap
,
moveStatusMap
,
operationMap
,
statusMap
}
from
'../../constant'
import
{
PublicApi
}
from
'@/services/api'
import
{
PublicApi
}
from
'@/services/api'
import
{
StandardTable
}
from
'god'
const
schemaActions
=
createFormActions
()
const
schemaActions
=
createFormActions
()
const
AccountDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
AccountDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
modalRef
=
useRef
<
any
>
()
const
modalRef
=
useRef
<
any
>
()
const
refTrade
=
useRef
<
any
>
({})
// const refMove = useRef<any>({})
const
[
moveData
,
setMoveData
]
=
useState
<
any
>
()
const
[
details
,
setDetails
]
=
useState
<
any
>
({
accountBalance
:
0
,
lockBalance
:
0
})
const
[
details
,
setDetails
]
=
useState
<
any
>
({
accountBalance
:
0
,
lockBalance
:
0
})
const
[
dealRecord
,
setDealRecord
]
=
useState
<
any
>
([]
)
const
[
pageId
,
setPageId
]
=
useState
<
any
>
(
)
const
[
moveRecord
,
setMoveRecord
]
=
useState
<
any
>
([]
)
const
[
isBtnLoading
,
setIsBtnLoading
]
=
useState
<
boolean
>
(
false
)
useEffect
(()
=>
{
useEffect
(()
=>
{
getAccountInfo
()
getAccountInfo
()
...
@@ -28,17 +32,36 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -28,17 +32,36 @@ const AccountDetail: React.FC<{}> = () => {
const
getAccountInfo
=
async
()
=>
{
const
getAccountInfo
=
async
()
=>
{
const
{
id
}
=
history
.
location
.
query
const
{
id
}
=
history
.
location
.
query
setPageId
(
id
)
let
res
=
await
PublicApi
.
getPayAssetAccountGetAssetAccount
({
id
})
let
res
=
await
PublicApi
.
getPayAssetAccountGetAssetAccount
({
id
})
const
{
code
,
data
}
=
res
const
{
code
,
data
}
=
res
setDetails
(
data
)
setDetails
(
data
)
if
(
code
===
1000
){
PublicApi
.
getPayAssetAccountGetAccountStatusRecord
({
memberAssetAccountId
:
id
+
''
}).
then
(
res
=>
{
let
tradeRecord
=
await
PublicApi
.
getPayAssetAccountGetAccountTradeRecord
({
memberAssetAccountId
:
data
.
id
+
''
})
const
{
data
}
=
res
let
statusRecord
=
await
PublicApi
.
getPayAssetAccountGetAccountStatusRecord
({
memberAssetAccountId
:
data
.
id
+
''
})
setMoveData
(
data
)
setDealRecord
(
tradeRecord
.
data
)
})
setMoveRecord
(
statusRecord
.
data
)
}
}
// 获取交易记录
const
fetchTradeData
=
(
params
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getPayAssetAccountGetAccountTradeRecord
({
memberAssetAccountId
:
history
.
location
.
query
.
id
+
''
,
...
params
}).
then
(
res
=>
{
const
{
data
}
=
res
resolve
(
data
)
})
})
}
}
// // 获取流转记录
// const fetchMoveData = (params) => {
// return new Promise((resolve, reject) => {
// PublicApi.getPayAssetAccountGetAccountStatusRecord({memberAssetAccountId: history.location.query.id + ''}).then(res => {
// const { data } = res
// resolve(data)
// })
// })
// }
const
columns
:
ColumnType
<
any
>
[]
=
[
const
columns
:
ColumnType
<
any
>
[]
=
[
{
{
title
:
'交易流水号'
,
title
:
'交易流水号'
,
...
@@ -60,11 +83,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -60,11 +83,7 @@ const AccountDetail: React.FC<{}> = () => {
title
:
'交易项目'
,
title
:
'交易项目'
,
dataIndex
:
'operation'
,
dataIndex
:
'operation'
,
key
:
'operation'
,
key
:
'operation'
,
},
render
:
(
t
,
r
)
=>
operationMap
[
t
]
{
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
},
},
{
{
title
:
'状态'
,
title
:
'状态'
,
...
@@ -119,6 +138,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -119,6 +138,7 @@ const AccountDetail: React.FC<{}> = () => {
];
];
const
handleConfirm
=
()
=>
{
const
handleConfirm
=
()
=>
{
setIsBtnLoading
(
true
)
schemaActions
.
submit
()
schemaActions
.
submit
()
}
}
...
@@ -127,7 +147,21 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -127,7 +147,21 @@ const AccountDetail: React.FC<{}> = () => {
}
}
const
handleSubmit
=
(
value
)
=>
{
const
handleSubmit
=
(
value
)
=>
{
console
.
log
(
value
)
// 提交重置
let
parasm
=
{
memberAssetAccountId
:
pageId
,
money
:
Number
(
value
.
money
),
type
:
value
[
'type'
][
0
]
}
PublicApi
.
postPayAssetAccountRecharge
(
parasm
).
then
(
res
=>
{
if
(
res
.
code
===
1000
){
getAccountInfo
()
refTrade
.
current
.
reload
()
// refMove.current.reload()
}
modalRef
.
current
.
setVisible
(
false
)
setIsBtnLoading
(
false
)
})
}
}
const
handleRecharge
=
()
=>
{
const
handleRecharge
=
()
=>
{
...
@@ -149,7 +183,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -149,7 +183,7 @@ const AccountDetail: React.FC<{}> = () => {
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
可用余额(元):
</
div
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
可用余额(元):
</
div
>
<
div
className=
{
styles
[
'statistic-amount'
]
}
>
<
div
className=
{
styles
[
'statistic-amount'
]
}
>
{
`${
details.accountBalance - details.lockBalance
}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
{
`${
((details.accountBalance*100 - details.lockBalance*100)/100).toFixed(2)
}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
...
@@ -175,7 +209,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -175,7 +209,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
账户余额(元):
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
账户余额(元):
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
accountBalance
}
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
accountBalance
?.
toFixed
(
2
)
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Row
>
<
Row
>
...
@@ -183,7 +217,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -183,7 +217,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
锁定金额(元):
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
锁定金额(元):
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
lockBalance
}
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
lockBalance
?.
toFixed
(
2
)
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Row
>
<
Row
>
...
@@ -212,12 +246,24 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -212,12 +246,24 @@ const AccountDetail: React.FC<{}> = () => {
</
Space
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"交易记录"
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"交易记录"
>
<
Table
dataSource=
{
dealRecord
}
columns=
{
columns
}
/>
<
StandardTable
columns=
{
columns
}
currentRef=
{
refTrade
}
fetchTableData=
{
(
params
:
any
)
=>
fetchTradeData
(
params
)
}
/>
</
Card
>
</
Card
>
</
Space
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"流转记录"
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"流转记录"
>
<
Table
dataSource=
{
moveRecord
}
columns=
{
moveColumns
}
/>
<
Table
columns=
{
moveColumns
}
dataSource=
{
moveData
}
pagination=
{
false
}
/>
{
/* <StandardTable
columns={moveColumns}
currentRef={refMove}
fetchTableData={(params: any) => fetchMoveData(params)}
tableProps={{
pagination: false
}}
/> */
}
</
Card
>
</
Card
>
</
Space
>
</
Space
>
<
ModalForm
<
ModalForm
...
@@ -228,6 +274,11 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -228,6 +274,11 @@ const AccountDetail: React.FC<{}> = () => {
confirm=
{
handleConfirm
}
confirm=
{
handleConfirm
}
onSubmit=
{
handleSubmit
}
onSubmit=
{
handleSubmit
}
cancel=
{
handleCannel
}
cancel=
{
handleCannel
}
modalProps=
{
{
okText
:
"确定充值"
,
confirmLoading
:
isBtnLoading
,
destroyOnClose
:
true
}
}
// effects={($, {setFieldState}) => {
// effects={($, {setFieldState}) => {
// $('onFieldInputChange', 'money').subscribe(parentState => {
// $('onFieldInputChange', 'money').subscribe(parentState => {
// console.log(parentState.value)
// console.log(parentState.value)
...
...
src/pages/payandSettle/capitalAccounts/accountLists/applyWithdraw.tsx
View file @
d77ca746
import
React
,
{
useState
,
useEffect
,
useRef
,
ReactNode
}
from
'react'
import
React
,
{
useState
,
useEffect
,
useRef
,
ReactNode
}
from
'react'
import
{
history
}
from
'umi'
import
{
history
}
from
'umi'
import
{
Card
,
Space
,
Steps
,
Row
,
Col
,
Button
,
InputNumber
,
Table
}
from
'antd'
import
{
Card
,
Space
,
Steps
,
Row
,
Col
,
Button
,
InputNumber
,
Table
,
message
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
ReutrnEle
from
'@/components/ReturnEle'
import
ReutrnEle
from
'@/components/ReturnEle'
import
styles
from
'./index.less'
import
styles
from
'./index.less'
...
@@ -8,15 +8,19 @@ import StatusTag from '@/components/StatusTag'
...
@@ -8,15 +8,19 @@ import StatusTag from '@/components/StatusTag'
import
cx
from
'classnames'
import
cx
from
'classnames'
import
moment
from
'moment'
import
moment
from
'moment'
import
{
ColumnType
}
from
'antd/lib/table/interface'
import
{
ColumnType
}
from
'antd/lib/table/interface'
import
{
memberStatusMap
,
statusMap
}
from
'../../constant'
import
{
memberStatusMap
,
operationMap
,
statusMap
}
from
'../../constant'
import
{
PublicApi
}
from
'@/services/api'
import
{
PublicApi
}
from
'@/services/api'
import
{
GetSettleAccountsCorporateAccountConfigResponse
}
from
'@/services/SettleApi'
import
{
StandardTable
}
from
'god'
const
{
Step
}
=
Steps
;
const
{
Step
}
=
Steps
;
const
AccountDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
AccountDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
refTrade
=
useRef
<
any
>
({})
const
[
details
,
setDetails
]
=
useState
<
any
>
({
accountBalance
:
0
,
lockBalance
:
0
})
const
[
details
,
setDetails
]
=
useState
<
any
>
({
accountBalance
:
0
,
lockBalance
:
0
})
const
[
dealRecord
,
setDealRecord
]
=
useState
<
any
>
()
const
[
withdrawAmount
,
setWidthdrawAmount
]
=
useState
<
any
>
(
0
)
const
[
withdrawAmount
,
setWidthdrawAmount
]
=
useState
<
number
>
(
0
)
const
[
bankDetail
,
setBankDetail
]
=
useState
<
GetSettleAccountsCorporateAccountConfigResponse
>
()
const
[
btnLoading
,
setBtnLoading
]
=
useState
<
boolean
>
(
false
)
useEffect
(()
=>
{
useEffect
(()
=>
{
getAccountInfo
()
getAccountInfo
()
...
@@ -28,11 +32,20 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -28,11 +32,20 @@ const AccountDetail: React.FC<{}> = () => {
const
{
code
,
data
}
=
res
const
{
code
,
data
}
=
res
setDetails
(
data
)
setDetails
(
data
)
if
(
code
===
1000
){
if
(
code
===
1000
){
let
tradeRecord
=
await
PublicApi
.
getPayAssetAccountGetAccountTradeRecord
({
memberAssetAccountId
:
data
.
i
d
+
''
})
let
bankRes
=
await
PublicApi
.
getSettleAccountsCorporateAccountConfig
({
memberId
:
data
.
memberI
d
+
''
})
set
DealRecord
(
tradeRecord
.
data
)
set
BankDetail
(
bankRes
.
data
)
}
}
}
}
const
fetchTradeData
=
(
params
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
PublicApi
.
getPayAssetAccountGetAccountTradeRecord
({
memberAssetAccountId
:
history
.
location
.
query
.
id
+
''
,
...
params
}).
then
(
res
=>
{
const
{
data
}
=
res
resolve
(
data
)
})
})
}
const
columns
:
ColumnType
<
any
>
[]
=
[
const
columns
:
ColumnType
<
any
>
[]
=
[
{
{
title
:
'交易流水号'
,
title
:
'交易流水号'
,
...
@@ -54,11 +67,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -54,11 +67,7 @@ const AccountDetail: React.FC<{}> = () => {
title
:
'交易项目'
,
title
:
'交易项目'
,
dataIndex
:
'operation'
,
dataIndex
:
'operation'
,
key
:
'operation'
,
key
:
'operation'
,
},
render
:
(
t
,
r
)
=>
operationMap
[
t
]
{
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
},
},
{
{
title
:
'状态'
,
title
:
'状态'
,
...
@@ -74,7 +83,32 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -74,7 +83,32 @@ const AccountDetail: React.FC<{}> = () => {
];
];
const
handleAllCharge
=
()
=>
{
const
handleAllCharge
=
()
=>
{
setWidthdrawAmount
(
details
.
accountBalance
-
details
.
lockBalance
)
let
amount
=
(
details
.
accountBalance
*
100
-
details
.
lockBalance
*
100
)
/
100
setWidthdrawAmount
(
amount
)
}
// 提交提现申请
const
handleSubmitApply
=
()
=>
{
setBtnLoading
(
true
)
let
amount
=
(
details
.
accountBalance
*
100
-
details
.
lockBalance
*
100
)
/
100
if
(
withdrawAmount
>
0
&&
withdrawAmount
<=
amount
){
// 大于0并且小于可用金额
let
params
=
{
memberAssetAccountId
:
details
.
id
,
money
:
withdrawAmount
,
bankAccountName
:
bankDetail
.
name
,
bankAccount
:
bankDetail
.
bankAccount
,
bankName
:
bankDetail
.
bankDeposit
}
PublicApi
.
postPayAssetAccountCashOut
(
params
).
then
(
res
=>
{
setBtnLoading
(
false
)
getAccountInfo
()
setWidthdrawAmount
(
0
)
refTrade
.
current
.
reload
()
})
}
else
{
setBtnLoading
(
false
)
message
.
error
(
'请正确输入提现金额!'
)
}
}
}
return
(
return
(
...
@@ -108,8 +142,11 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -108,8 +142,11 @@ const AccountDetail: React.FC<{}> = () => {
formatter=
{
value
=>
`${value}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
formatter=
{
value
=>
`${value}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
parser=
{
value
=>
value
.
replace
(
/
\$\s?
|
(
,*
)
/g
,
''
)
}
parser=
{
value
=>
value
.
replace
(
/
\$\s?
|
(
,*
)
/g
,
''
)
}
className=
{
styles
[
'statistic-input'
]
}
className=
{
styles
[
'statistic-input'
]
}
onChange=
{
value
=>
setWidthdrawAmount
(
value
)
}
precision=
{
2
}
min=
{
0
}
/>
/>
<
Button
<
Button
type=
"text"
type=
"text"
size=
"small"
size=
"small"
style=
{
{
marginLeft
:
24
,
color
:
'#fff'
}
}
style=
{
{
marginLeft
:
24
,
color
:
'#fff'
}
}
...
@@ -121,12 +158,12 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -121,12 +158,12 @@ const AccountDetail: React.FC<{}> = () => {
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
span
className=
{
styles
[
'repayment-time'
]
}
>
<
span
className=
{
styles
[
'repayment-time'
]
}
>
最多可以提现:¥
{
details
.
accountBalance
-
details
.
lockBalance
}
最多可以提现:¥
{
((
details
.
accountBalance
*
100
-
details
.
lockBalance
*
100
)
/
100
).
toFixed
(
2
)
}
</
span
>
</
span
>
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-right'
]
}
>
<
div
className=
{
styles
[
'repayment-right'
]
}
>
<
Button
ghost
>
提交
</
Button
>
<
Button
ghost
onClick=
{
handleSubmitApply
}
loading=
{
btnLoading
}
>
提交
</
Button
>
</
div
>
</
div
>
</
div
>
</
div
>
</
Col
>
</
Col
>
...
@@ -137,7 +174,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -137,7 +174,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
账户归属:
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
账户归属:
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
parentMemberN
ame
}
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
bankDetail
?.
n
ame
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Row
>
<
Row
>
...
@@ -145,7 +182,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -145,7 +182,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
银行账号:
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
银行账号:
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
6214 7812 3456 7891 1234
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
bankDetail
?.
bankAccount
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Row
>
<
Row
>
...
@@ -153,7 +190,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -153,7 +190,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
开户行:
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
开户行:
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
中国建设银行广州市分行营业部
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
bankDetail
?.
bankDeposit
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
</
div
>
</
div
>
...
@@ -170,7 +207,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -170,7 +207,7 @@ const AccountDetail: React.FC<{}> = () => {
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
可用余额(元):
</
div
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
可用余额(元):
</
div
>
<
div
className=
{
styles
[
'statistic-amount'
]
}
>
<
div
className=
{
styles
[
'statistic-amount'
]
}
>
{
`${
details.accountBalance - details.lockBalance
}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
{
`${
((details.accountBalance*100 - details.lockBalance*100)/100).toFixed(2)
}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
</
div
>
</
div
>
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
...
@@ -196,7 +233,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -196,7 +233,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
账户余额(元):
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
账户余额(元):
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
accountBalance
}
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
accountBalance
?.
toFixed
(
2
)
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Row
>
<
Row
>
...
@@ -204,7 +241,7 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -204,7 +241,7 @@ const AccountDetail: React.FC<{}> = () => {
<
p
className=
{
styles
.
rightTitle
}
>
锁定金额(元):
</
p
>
<
p
className=
{
styles
.
rightTitle
}
>
锁定金额(元):
</
p
>
</
Col
>
</
Col
>
<
Col
span=
{
20
}
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
lockBalance
}
</
p
>
<
p
className=
{
styles
.
rightInfo
}
>
{
details
?.
lockBalance
?.
toFixed
(
2
)
}
</
p
>
</
Col
>
</
Col
>
</
Row
>
</
Row
>
<
Row
>
<
Row
>
...
@@ -225,7 +262,11 @@ const AccountDetail: React.FC<{}> = () => {
...
@@ -225,7 +262,11 @@ const AccountDetail: React.FC<{}> = () => {
</
Space
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"提现处理记录"
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"提现处理记录"
>
<
Table
dataSource=
{
dealRecord
}
columns=
{
columns
}
/>
<
StandardTable
columns=
{
columns
}
currentRef=
{
refTrade
}
fetchTableData=
{
(
params
:
any
)
=>
fetchTradeData
(
params
)
}
/>
</
Card
>
</
Card
>
</
Space
>
</
Space
>
</
PageHeaderWrapper
>
</
PageHeaderWrapper
>
...
...
src/pages/payandSettle/capitalAccounts/accountLists/index.tsx
View file @
d77ca746
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
import
{
Card
,
Space
,
Button
,
}
from
'antd'
import
{
Card
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
StandardTable
}
from
'god'
import
{
StandardTable
}
from
'god'
import
{
ColumnType
}
from
'antd/lib/table/interface'
import
{
ColumnType
}
from
'antd/lib/table/interface'
...
@@ -9,7 +9,6 @@ import { createFormActions, FormEffectHooks } from '@formily/antd'
...
@@ -9,7 +9,6 @@ import { createFormActions, FormEffectHooks } from '@formily/antd'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
{
searchSchema
}
from
'./schema'
import
{
searchSchema
}
from
'./schema'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
{
PlusOutlined
}
from
'@ant-design/icons'
import
EyePreview
from
'@/components/EyePreview'
import
EyePreview
from
'@/components/EyePreview'
import
{
DatePicker
}
from
'@formily/antd-components'
import
{
DatePicker
}
from
'@formily/antd-components'
import
StatusTag
from
'@/components/StatusTag'
import
StatusTag
from
'@/components/StatusTag'
...
@@ -69,21 +68,21 @@ const AccountLists: React.FC<{}> = () => {
...
@@ -69,21 +68,21 @@ const AccountLists: React.FC<{}> = () => {
},
},
{
{
title
:
'账户余额'
,
title
:
'账户余额'
,
dataIndex
:
'account
Status
'
,
dataIndex
:
'account
Balance
'
,
key
:
'account
Status
'
,
key
:
'account
Balance
'
,
render
:
text
=>
`¥
${
text
}
`
render
:
text
=>
`¥
${
text
.
toFixed
(
2
)
}
`
},
},
{
{
title
:
'锁定余额'
,
title
:
'锁定余额'
,
dataIndex
:
'lockBalance'
,
dataIndex
:
'lockBalance'
,
key
:
'lockBalance'
,
key
:
'lockBalance'
,
render
:
text
=>
`¥
${
text
}
`
render
:
text
=>
`¥
${
text
.
toFixed
(
2
)
}
`
},
},
{
{
title
:
'可用余额'
,
title
:
'可用余额'
,
dataIndex
:
'usableBalance'
,
dataIndex
:
'usableBalance'
,
key
:
'usableBalance'
,
key
:
'usableBalance'
,
render
:
(
t
,
r
)
=>
`¥
${
r
.
accountStatus
-
r
.
lockBalance
}
`
render
:
(
t
,
r
)
=>
`¥
${
((
r
.
accountBalance
*
100
-
r
.
lockBalance
*
100
)
/
100
).
toFixed
(
2
)
}
`
},
},
]
]
...
...
src/pages/payandSettle/capitalAccounts/accountLists/schema/index.tsx
View file @
d77ca746
...
@@ -121,6 +121,16 @@ export const rechargeSchema: ISchema = {
...
@@ -121,6 +121,16 @@ export const rechargeSchema: ISchema = {
required
:
true
,
required
:
true
,
message
:
'请输入充值金额'
message
:
'请输入充值金额'
},
},
{
validator
:
value
=>
{
return
isNaN
(
value
)
},
message
:
'请正确输入数字金额'
},
{
pattern
:
/^
\d
+
(\.\d{1,2})?
$/
,
message
:
'充值金额仅限两位小数'
,
},
]
]
},
},
...
@@ -129,8 +139,6 @@ export const rechargeSchema: ISchema = {
...
@@ -129,8 +139,6 @@ export const rechargeSchema: ISchema = {
"x-component"
:
'CardCheckBox'
,
"x-component"
:
'CardCheckBox'
,
"x-component-props"
:
{
"x-component-props"
:
{
dataSource
:
[
dataSource
:
[
// {id: 1, name: '支付宝', logo: 'https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/66bf577211624304947938a2afde771b1603682420367.png'},
// {id: 2, name: '微信', logo: 'https://shushangyun01.oss-cn-shenzhen.aliyuncs.com/733815c243ce4cec8a8cb10e0e92876f1603682449715.png'}
{
id
:
1
,
name
:
'支付宝'
,
logoUrl
:
alipay
},
{
id
:
1
,
name
:
'支付宝'
,
logoUrl
:
alipay
},
{
id
:
2
,
name
:
'微信'
,
logoUrl
:
wxpay
}
{
id
:
2
,
name
:
'微信'
,
logoUrl
:
wxpay
}
],
],
...
...
src/pages/payandSettle/constant.ts
View file @
d77ca746
...
@@ -99,6 +99,7 @@ export const CREDIT_OUTER_STATUS_BADGE_MAP = {
...
@@ -99,6 +99,7 @@ export const CREDIT_OUTER_STATUS_BADGE_MAP = {
* 资金账户相关常量
* 资金账户相关常量
*/
*/
// 交易记录状态
export
const
statusMap
=
{
export
const
statusMap
=
{
'1'
:
{
title
:
'申请提现'
,
type
:
'warning'
},
'1'
:
{
title
:
'申请提现'
,
type
:
'warning'
},
'2'
:
{
title
:
'审核通过'
,
type
:
'success'
},
'2'
:
{
title
:
'审核通过'
,
type
:
'success'
},
...
@@ -108,23 +109,36 @@ export const CREDIT_OUTER_STATUS_BADGE_MAP = {
...
@@ -108,23 +109,36 @@ export const CREDIT_OUTER_STATUS_BADGE_MAP = {
'6'
:
{
title
:
'确认到账'
,
type
:
'success'
},
'6'
:
{
title
:
'确认到账'
,
type
:
'success'
},
}
}
// 流转状态
export
const
moveStatusMap
=
{
export
const
moveStatusMap
=
{
'1'
:
{
title
:
'冻结'
,
type
:
'danger'
},
'1'
:
{
title
:
'冻结'
,
type
:
'danger'
},
'2'
:
{
title
:
'解冻'
,
type
:
'success'
},
'2'
:
{
title
:
'解冻'
,
type
:
'success'
},
}
}
// 会员状态
export
const
memberStatusMap
=
{
export
const
memberStatusMap
=
{
'1'
:
{
title
:
'正常'
,
type
:
'success'
},
'1'
:
{
title
:
'正常'
,
type
:
'success'
},
'2'
:
{
title
:
'已冻结'
,
type
:
'danger'
},
'2'
:
{
title
:
'已冻结'
,
type
:
'danger'
},
}
}
// 账户状态
export
const
accountStatusMap
=
{
export
const
accountStatusMap
=
{
'1'
:
{
title
:
'正常'
,
className
:
'commonStatusValid'
},
'1'
:
{
title
:
'正常'
,
className
:
'commonStatusValid'
},
'2'
:
{
title
:
'已冻结'
,
className
:
'commonStatusNoPass'
},
'2'
:
{
title
:
'已冻结'
,
className
:
'commonStatusNoPass'
},
}
}
// 会员等级类型
export
const
memberLevelTypeMap
=
{
export
const
memberLevelTypeMap
=
{
'1'
:
'平台会员'
,
'1'
:
'平台会员'
,
'2'
:
'商户会员'
,
'2'
:
'商户会员'
,
'3'
:
'渠道会员'
,
'3'
:
'渠道会员'
,
}
// 操作项目
export
const
operationMap
=
{
'1'
:
'账户充值'
,
'2'
:
'账户提现'
,
'3'
:
'订单支付'
,
'4'
:
'订单退款'
,
'5'
:
'订单返利'
}
}
\ No newline at end of file
src/pages/payandSettle/creditApplication/components/OuterCirculation/index.tsx
View file @
d77ca746
...
@@ -2,11 +2,11 @@
...
@@ -2,11 +2,11 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-09-29 10:47:07
* @Date: 2020-09-29 10:47:07
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-2
6 17:11:5
4
* @LastEditTime: 2020-10-2
7 10:33:2
4
* @Description: 外部流转组件
* @Description: 外部流转组件
*/
*/
import
React
from
'react'
;
import
React
from
'react'
;
import
{
Steps
}
from
'antd'
;
import
{
Steps
,
Empty
}
from
'antd'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
MellowCard
from
'@/components/MellowCard'
;
import
styles
from
'./index.less'
;
import
styles
from
'./index.less'
;
...
@@ -34,11 +34,15 @@ const OuterCirculation: React.FC<OuterCirculation> = ({
...
@@ -34,11 +34,15 @@ const OuterCirculation: React.FC<OuterCirculation> = ({
marginBottom
:
24
,
marginBottom
:
24
,
}
}
}
}
>
>
<
Steps
style=
{
{
marginTop
:
30
}
}
progressDot
current=
{
current
}
>
{
(
steps
&&
steps
.
length
>
0
)
?
(
{
steps
.
map
((
item
,
index
)
=>
(
<
Steps
style=
{
{
marginTop
:
30
}
}
progressDot
current=
{
current
}
>
<
Steps
.
Step
key=
{
index
}
title=
{
item
.
title
}
description=
{
item
.
description
}
/>
{
steps
.
map
((
item
,
index
)
=>
(
))
}
<
Steps
.
Step
key=
{
index
}
title=
{
item
.
title
}
description=
{
item
.
description
}
/>
</
Steps
>
))
}
</
Steps
>
)
:
(
<
Empty
image=
{
Empty
.
PRESENTED_IMAGE_SIMPLE
}
/>
)
}
</
MellowCard
>
</
MellowCard
>
);
);
};
};
...
...
src/pages/payandSettle/creditApplication/components/QuotaApplicationInfo/index.tsx
View file @
d77ca746
...
@@ -46,21 +46,28 @@ interface QuotaApplicationInfo {
...
@@ -46,21 +46,28 @@ interface QuotaApplicationInfo {
repayPeriod
:
number
,
repayPeriod
:
number
,
// 审批时间
// 审批时间
verifyTime
:
string
,
verifyTime
:
string
,
},
}
|
null
,
};
};
const
QuotaApplicationInfo
:
React
.
FC
<
QuotaApplicationInfo
>
=
({
const
QuotaApplicationInfo
:
React
.
FC
<
QuotaApplicationInfo
>
=
({
editable
=
false
,
editable
=
false
,
onSubmit
,
onSubmit
,
quotaInfo
=
{},
quotaInfo
=
{},
verify
=
{}
,
verify
,
})
=>
{
})
=>
{
const
[
modalVisible
,
setModalVisible
]
=
useState
(
false
);
const
[
modalVisible
,
setModalVisible
]
=
useState
(
false
);
const
handleSubmit
=
values
=>
{
const
handleSubmit
=
values
=>
{
if
(
onSubmit
)
{
if
(
onSubmit
)
{
const
{
billDay
,
repayPeriod
,
...
rest
}
=
values
;
const
{
applyQuota
,
billDay
,
repayPeriod
,
quotaSlide
,
...
rest
}
=
values
;
onSubmit
({
onSubmit
({
applyQuota
:
+
applyQuota
,
billDay
:
+
billDay
,
billDay
:
+
billDay
,
repayPeriod
:
+
repayPeriod
,
repayPeriod
:
+
repayPeriod
,
...
rest
,
...
rest
,
...
@@ -114,7 +121,7 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
...
@@ -114,7 +121,7 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
marginBottom
:
24
marginBottom
:
24
}
}
}
}
>
>
<
Col
span=
{
1
4
}
>
<
Col
span=
{
verify
?
14
:
2
4
}
>
<
MellowCard
<
MellowCard
title=
"授信申请信息"
title=
"授信申请信息"
extra=
{
(
extra=
{
(
...
@@ -210,36 +217,38 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
...
@@ -210,36 +217,38 @@ const QuotaApplicationInfo: React.FC<QuotaApplicationInfo> = ({
</
MellowCard
>
</
MellowCard
>
</
Col
>
</
Col
>
<
Col
span=
{
10
}
>
{
verify
?
(
<
MellowCard
<
Col
span=
{
10
}
>
title=
{
(
<
MellowCard
<
div
style=
{
{
color
:
'#fff'
}
}
>
title=
{
(
授信审批信息
<
div
style=
{
{
color
:
'#fff'
}
}
>
</
div
>
授信审批信息
)
}
</
div
>
style=
{
{
)
}
background
:
'#4279DF'
,
style=
{
{
}
}
background
:
'#4279DF'
,
fullHeight
}
}
>
fullHeight
<
div
className=
{
styles
.
approval
}
>
>
<
div
className=
{
styles
[
'approval-amountWrap'
]
}
>
<
div
className=
{
styles
.
approval
}
>
<
div
className=
{
styles
[
'approval-amountWrap'
]
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"审批额度(元)"
>
<
div
className=
{
styles
[
'approval-amount'
]
}
>
{
verify
.
quota
}
</
div
>
</
Descriptions
.
Item
>
</
Descriptions
>
</
div
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
column=
{
1
}
>
<
Descriptions
.
Item
label=
"审批额度(元)"
>
<
Descriptions
.
Item
label=
"审批账单日期"
>
{
verify
.
billDay
}
日
</
Descriptions
.
Item
>
<
div
className=
{
styles
[
'approval-amount'
]
}
>
<
Descriptions
.
Item
label=
"审批还款周期"
>
{
verify
.
repayPeriod
}
天
</
Descriptions
.
Item
>
{
verify
.
quota
}
<
Descriptions
.
Item
label=
"审批时间"
>
{
verify
.
verifyTime
}
</
Descriptions
.
Item
>
</
div
>
</
Descriptions
.
Item
>
</
Descriptions
>
</
Descriptions
>
</
div
>
</
div
>
<
Descriptions
column=
{
1
}
>
</
MellowCard
>
<
Descriptions
.
Item
label=
"审批账单日期"
>
{
verify
.
billDay
}
日
</
Descriptions
.
Item
>
</
Col
>
<
Descriptions
.
Item
label=
"审批还款周期"
>
{
verify
.
repayPeriod
}
天
</
Descriptions
.
Item
>
)
:
null
}
<
Descriptions
.
Item
label=
"审批时间"
>
{
verify
.
verifyTime
}
</
Descriptions
.
Item
>
</
Descriptions
>
</
div
>
</
MellowCard
>
</
Col
>
</
Row
>
</
Row
>
<
Modal
<
Modal
...
...
src/pages/payandSettle/creditApplication/components/QuotaApplicationInfo/schema/index.ts
View file @
d77ca746
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Author: XieZhiXiong
* @Date: 2020-09-29 15:51:31
* @Date: 2020-09-29 15:51:31
* @LastEditors: XieZhiXiong
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-2
6 18:46:02
* @LastEditTime: 2020-10-2
7 09:52:57
* @Description:
* @Description:
*/
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
ISchema
}
from
'@formily/antd'
;
...
@@ -32,6 +32,10 @@ export const editModalSchema: ISchema = {
...
@@ -32,6 +32,10 @@ export const editModalSchema: ISchema = {
required
:
true
,
required
:
true
,
message
:
'请填写申请调整额度'
,
message
:
'请填写申请调整额度'
,
},
},
{
pattern
:
PATTERN_MAPS
.
money
,
message
:
'请填写正数'
,
},
],
],
},
},
quotaSlide
:
{
quotaSlide
:
{
...
...
src/pages/payandSettle/creditApplication/quotaFormQuery/detail.tsx
View file @
d77ca746
import
React
,
{
Suspense
}
from
'react'
;
import
React
,
{
Suspense
,
useEffect
,
useState
}
from
'react'
;
import
{
import
{
PageHeader
,
PageHeader
,
Descriptions
,
Descriptions
,
...
@@ -11,114 +11,167 @@ import {
...
@@ -11,114 +11,167 @@ import {
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
history
}
from
'umi'
;
import
{
history
}
from
'umi'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
GetPayCreditApplyGetApplyDetailResponse
}
from
'@/services/PayApi'
;
import
{
CREDIT_INNER_STATUS
,
CREDIT_OUTER_STATUS
}
from
'@/constants'
;
import
{
usePageStatus
}
from
'@/hooks/usePageStatus'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
StatusTag
from
'@/components/StatusTag'
;
import
{
MEMBER_STATUS_TAG_MAP
,
CREDIT_OUTER_STATUS_TAG_MAP
,
CREDIT_OUTER_STATUS_BADGE_MAP
}
from
'../../constant'
;
const
OuterCirculation
=
React
.
lazy
(()
=>
import
(
'../components/OuterCirculation'
));
const
OuterCirculation
=
React
.
lazy
(()
=>
import
(
'../components/OuterCirculation'
));
const
QuotaApplicationInfo
=
React
.
lazy
(()
=>
import
(
'../components/QuotaApplicationInfo'
));
const
QuotaApplicationInfo
=
React
.
lazy
(()
=>
import
(
'../components/QuotaApplicationInfo'
));
const
HitoryList
=
React
.
lazy
(()
=>
import
(
'../components/HistoryList'
));
const
HitoryList
=
React
.
lazy
(()
=>
import
(
'../components/HistoryList'
));
const
OuterCirculationRecord
=
React
.
lazy
(()
=>
import
(
'../components/OuterCirculationRecord'
));
const
OuterCirculationRecord
=
React
.
lazy
(()
=>
import
(
'../components/OuterCirculationRecord'
));
interface
DetailInfo
{
// 授信id
id
:
string
;
// 申请id
applyId
:
string
;
// 是否是编辑的
isEdit
?:
boolean
;
};
interface
QuotaValues
{
// 申请调整额度
applyQuota
:
number
|
null
;
// 申请调整账单日期
billDay
:
number
|
null
;
// 申请还款周期
repayPeriod
:
number
|
null
;
};
const
QuotaFormQueryDetail
:
React
.
FC
=
()
=>
{
const
QuotaFormQueryDetail
:
React
.
FC
=
()
=>
{
const
{
id
}
=
usePageStatus
();
const
[
quotaInfo
,
setQuotaInfo
]
=
useState
<
GetPayCreditApplyGetApplyDetailResponse
>
(
null
);
const
[
quotaValues
,
setQuotaValues
]
=
useState
<
QuotaValues
>
({
applyQuota
:
null
,
billDay
:
null
,
repayPeriod
:
null
,
});
const
[
infoLoading
,
setInfoloading
]
=
useState
(
false
);
const
steps
=
[
const
getQuotaInfo
=
()
=>
{
{
if
(
!
id
)
{
title
:
'提交授信申请单'
,
return
;
description
:
'采购商'
,
}
},
setInfoloading
(
true
);
{
PublicApi
.
getPayCreditApplyGetApplyDetail
({
title
:
'确认授信申请单'
,
id
,
description
:
'供应商'
,
}).
then
(
res
=>
{
},
if
(
res
.
code
===
1000
)
{
{
setQuotaInfo
(
res
.
data
);
title
:
'完成'
,
setQuotaValues
({
description
:
''
,
applyQuota
:
res
.
data
.
applyQuota
,
},
billDay
:
res
.
data
.
billDay
,
];
repayPeriod
:
res
.
data
.
repayPeriod
,
});
}
}).
finally
(()
=>
{
setInfoloading
(
false
);
});
};
const
outerRecord
=
[
useEffect
(()
=>
{
{
getQuotaInfo
();
id
:
1
,
},
[]);
order
:
1
,
role
:
'采购商'
,
status
:
2
,
action
:
'提交授信申请单'
,
createTime
:
'2020-05-12 08:08'
,
opinion
:
'同意'
,
},
{
id
:
2
,
order
:
2
,
role
:
'采购商'
,
status
:
2
,
action
:
'提交授信申请单'
,
createTime
:
'2020-05-12 08:08'
,
opinion
:
'同意'
,
},
];
return
(
return
(
<
PageHeaderWrapper
<
Spin
spinning=
{
infoLoading
}
>
title=
{
<
PageHeaderWrapper
<>
title=
{
<
PageHeader
<>
style=
{
{
padding
:
'0'
}
}
<
PageHeader
onBack=
{
()
=>
history
.
goBack
()
}
style=
{
{
padding
:
'0'
}
}
title=
{
onBack=
{
()
=>
history
.
goBack
()
}
<
AvatarWrap
title=
{
info=
{
{
<
AvatarWrap
aloneTxt
:
'单'
,
info=
{
{
name
:
'申请单号:DPTY12'
,
aloneTxt
:
'单'
,
name
:
`申请单号:${quotaInfo && quotaInfo.applyNo ? quotaInfo.applyNo : ''}`
,
}
}
extra=
{
quotaInfo
&&
quotaInfo
.
member
?
quotaInfo
.
member
.
levelTag
||
''
:
''
}
/>
}
extra=
{
(
<>
</>
)
}
>
<
Descriptions
size=
"small"
column=
{
3
}
style=
{
{
padding
:
'0 32px'
,
}
}
}
}
extra=
"青铜会员"
>
/>
<
Descriptions
.
Item
label=
"会员归属"
>
{
'暂无'
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"会员类型"
>
{
quotaInfo
?.
member
?.
memberTypeName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"会员角色名称"
>
{
quotaInfo
?.
member
?.
roleName
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"会员状态"
>
<
StatusTag
type=
{
MEMBER_STATUS_TAG_MAP
[
quotaInfo
&&
quotaInfo
.
member
?
quotaInfo
.
member
.
status
||
1
:
1
]
}
title=
{
quotaInfo
&&
quotaInfo
.
member
?
quotaInfo
.
member
.
status
||
1
:
1
}
/>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"外部状态"
>
<
StatusTag
type=
{
CREDIT_OUTER_STATUS_TAG_MAP
[
quotaInfo
?.
outerStatus
]
}
title=
{
CREDIT_OUTER_STATUS
[
quotaInfo
?.
outerStatus
]
}
/>
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"内部状态"
>
<
Badge
color=
{
CREDIT_OUTER_STATUS_BADGE_MAP
[
quotaInfo
?.
innerStatus
]
}
text=
{
CREDIT_INNER_STATUS
[
quotaInfo
?.
innerStatus
]
}
/>
</
Descriptions
.
Item
>
</
Descriptions
>
</
PageHeader
>
</>
}
>
<
Suspense
fallback=
{
null
}
>
<
OuterCirculation
steps=
{
quotaInfo
&&
quotaInfo
.
outerVerifyRecordList
?
quotaInfo
.
outerVerifyRecordList
.
map
(
item
=>
({
title
:
item
.
operate
,
description
:
item
.
roleName
,
}))
:
[]
}
}
extra=
{
(
current=
{
0
}
<>
/>
</
Suspense
>
</>
)
}
<
Suspense
fallback=
{
null
}
>
>
<
QuotaApplicationInfo
<
Descriptions
quotaInfo=
{
{
size=
"small"
originalQuota
:
quotaInfo
?.
originalQuota
,
column=
{
3
}
applyQuota
:
quotaValues
.
applyQuota
,
style=
{
{
billDay
:
quotaValues
.
billDay
,
padding
:
'0 32px'
,
repayPeriod
:
quotaValues
.
repayPeriod
,
}
}
applyTime
:
quotaInfo
?.
applyTime
,
>
}
}
<
Descriptions
.
Item
label=
"会员归属"
>
广州白马皮具交易中心
</
Descriptions
.
Item
>
verify=
{
<
Descriptions
.
Item
label=
"会员类型"
>
企业会员
</
Descriptions
.
Item
>
quotaInfo
&&
quotaInfo
.
verify
?
{
<
Descriptions
.
Item
label=
"会员角色名称"
>
采购商
</
Descriptions
.
Item
>
quota
:
quotaInfo
?.
verify
?.
quota
,
<
Descriptions
.
Item
label=
"会员状态"
>
billDay
:
quotaInfo
?.
verify
?.
billDay
,
<
StatusTag
type=
"success"
title=
"正常"
/>
repayPeriod
:
quotaInfo
?.
verify
?.
repayPeriod
,
</
Descriptions
.
Item
>
verifyTime
:
quotaInfo
?.
verify
?.
verifyTime
,
<
Descriptions
.
Item
label=
"外部状态"
>
}
:
<
StatusTag
type=
"success"
title=
"接受申请"
/>
null
</
Descriptions
.
Item
>
}
<
Descriptions
.
Item
label=
"内部状态"
>
editable=
{
false
}
<
Badge
color=
"#41CC9E"
text=
"正常"
/>
/>
</
Descriptions
.
Item
>
</
Suspense
>
</
Descriptions
>
</
PageHeader
>
<
Suspense
fallback=
{
null
}
>
</>
<
HitoryList
dataSource=
{
quotaInfo
?.
historyApplyList
}
/>
}
</
Suspense
>
>
<
Suspense
fallback=
{
null
}
>
<
Suspense
fallback=
{
null
}
>
<
OuterCirculation
steps=
{
steps
}
/>
<
OuterCirculationRecord
dataSource=
{
quotaInfo
?.
outerVerifyRecordList
}
/>
</
Suspense
>
</
Suspense
>
</
PageHeaderWrapper
>
<
Suspense
fallback=
{
null
}
>
</
Spin
>
<
QuotaApplicationInfo
/>
</
Suspense
>
<
Suspense
fallback=
{
null
}
>
<
HitoryList
/>
</
Suspense
>
<
Suspense
fallback=
{
null
}
>
<
OuterCirculationRecord
dataSource=
{
outerRecord
}
/>
</
Suspense
>
</
PageHeaderWrapper
>
);
);
};
};
...
...
src/pages/payandSettle/creditApplication/quotaFormQuery/index.tsx
View file @
d77ca746
...
@@ -64,7 +64,7 @@ const QuotaFormQuery: React.FC = () => {
...
@@ -64,7 +64,7 @@ const QuotaFormQuery: React.FC = () => {
render
:
(
text
,
record
)
=>
(
render
:
(
text
,
record
)
=>
(
<>
<>
<
EyePreview
<
EyePreview
url=
{
`/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail`
}
url=
{
`/memberCenter/payandSettle/creditApplication/quotaFormQuery/detail
?id=${record.id}
`
}
>
>
{
text
}
{
text
}
</
EyePreview
>
</
EyePreview
>
...
...
src/pages/payandSettle/creditApplication/quotaMenage/index.tsx
View file @
d77ca746
...
@@ -9,6 +9,7 @@ import { PublicApi } from '@/services/api';
...
@@ -9,6 +9,7 @@ import { PublicApi } from '@/services/api';
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
coverColFiltersItem
}
from
'@/utils'
;
import
{
import
{
CREDIT_STATUS_NOT_APPLIED
,
CREDIT_STATUS_NOT_APPLIED
,
CREDIT_STATUS_APPLYING
,
CREDIT_STATUS_APPLYING
,
...
@@ -192,7 +193,32 @@ const QuotaMenage: React.FC = () => {
...
@@ -192,7 +193,32 @@ const QuotaMenage: React.FC = () => {
};
};
// 初始化高级筛选选项
// 初始化高级筛选选项
const
fetchSelectOptions
=
async
()
=>
{
const
fetchSearchItems
=
async
()
=>
{
const
res
=
await
PublicApi
.
getPayCreditApplyPageItemsByConsumer
();
if
(
res
.
code
===
1000
)
{
const
{
data
}
=
res
;
const
{
statusList
=
[],
repayStatusList
=
[],
}
=
data
;
const
newColumns
=
columns
.
slice
();
// filter 0 过滤掉全部选项
coverColFiltersItem
(
newColumns
,
'statusName'
,
statusList
.
map
(
item
=>
({
text
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
);
setColumns
(
newColumns
);
return
{
status
:
statusList
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
rePayStatus
:
repayStatusList
.
map
(
item
=>
({
label
:
item
.
name
,
value
:
item
.
status
})).
filter
(
item
=>
item
.
value
),
};
}
return
{};
return
{};
};
};
...
@@ -218,8 +244,8 @@ const QuotaMenage: React.FC = () => {
...
@@ -218,8 +244,8 @@ const QuotaMenage: React.FC = () => {
FORM_FILTER_PATH
,
FORM_FILTER_PATH
,
);
);
useAsyncInitSelect
(
useAsyncInitSelect
(
[
'
innerStatus'
,
'outer
Status'
],
[
'
status'
,
'rePay
Status'
],
fetchSe
lectOption
s
,
fetchSe
archItem
s
,
);
);
}
}
}
}
schema=
{
listSearchSchema
}
schema=
{
listSearchSchema
}
...
...
src/pages/payandSettle/creditApplication/quotaMenage/schema/index.ts
View file @
d77ca746
...
@@ -7,18 +7,6 @@
...
@@ -7,18 +7,6 @@
*/
*/
import
{
ISchema
}
from
'@formily/antd'
;
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
CREDIT_STATUS_NOT_APPLIED
,
CREDIT_STATUS_APPLYING
,
CREDIT_STATUS_NORMAL
,
CREDIT_STATUS_FROZEN
,
CREDIT_STATUS
,
CREDIT_REPAYMENT_STATUS_OUTSTANDING
,
CREDIT_REPAYMENT_STATUS_UNCONFIRMED
,
CREDIT_REPAYMENT_STATUS_PAID
,
CREDIT_REPAYMENT_STATUS_OVERDUE
,
CREDIT_REPAYMENT_STATUS
,
}
from
'@/constants'
;
export
const
listSearchSchema
:
ISchema
=
{
export
const
listSearchSchema
:
ISchema
=
{
type
:
'object'
,
type
:
'object'
,
...
@@ -49,24 +37,7 @@ export const listSearchSchema: ISchema = {
...
@@ -49,24 +37,7 @@ export const listSearchSchema: ISchema = {
rePayStatus
:
{
rePayStatus
:
{
type
:
'string'
,
type
:
'string'
,
default
:
undefined
,
default
:
undefined
,
enum
:
[
enum
:
[],
{
label
:
CREDIT_STATUS
[
CREDIT_STATUS_NOT_APPLIED
],
value
:
CREDIT_STATUS_NOT_APPLIED
,
},
{
label
:
CREDIT_STATUS
[
CREDIT_STATUS_APPLYING
],
value
:
CREDIT_STATUS_APPLYING
,
},
{
label
:
CREDIT_STATUS
[
CREDIT_STATUS_NORMAL
],
value
:
CREDIT_STATUS_NORMAL
,
},
{
label
:
CREDIT_STATUS
[
CREDIT_STATUS_FROZEN
],
value
:
CREDIT_STATUS_FROZEN
,
},
],
'x-component-props'
:
{
'x-component-props'
:
{
placeholder
:
'还款状态(全部)'
,
placeholder
:
'还款状态(全部)'
,
allowClear
:
true
,
allowClear
:
true
,
...
@@ -75,24 +46,7 @@ export const listSearchSchema: ISchema = {
...
@@ -75,24 +46,7 @@ export const listSearchSchema: ISchema = {
status
:
{
status
:
{
type
:
'string'
,
type
:
'string'
,
default
:
undefined
,
default
:
undefined
,
enum
:
[
enum
:
[],
{
label
:
CREDIT_REPAYMENT_STATUS
[
CREDIT_REPAYMENT_STATUS_OUTSTANDING
],
value
:
CREDIT_REPAYMENT_STATUS_OUTSTANDING
},
{
label
:
CREDIT_REPAYMENT_STATUS
[
CREDIT_REPAYMENT_STATUS_UNCONFIRMED
],
value
:
CREDIT_REPAYMENT_STATUS_UNCONFIRMED
},
{
label
:
CREDIT_REPAYMENT_STATUS
[
CREDIT_REPAYMENT_STATUS_PAID
],
value
:
CREDIT_REPAYMENT_STATUS_PAID
},
{
label
:
CREDIT_REPAYMENT_STATUS
[
CREDIT_REPAYMENT_STATUS_OVERDUE
],
value
:
CREDIT_REPAYMENT_STATUS_OVERDUE
},
],
'x-component-props'
:
{
'x-component-props'
:
{
placeholder
:
'状态(全部)'
,
placeholder
:
'状态(全部)'
,
allowClear
:
true
,
allowClear
:
true
,
...
...
src/pages/payandSettle/creditApplication/quotaPrSubmit/components/DetailInfo/index.tsx
View file @
d77ca746
...
@@ -24,19 +24,26 @@ const HitoryList = React.lazy(() => import('../../../components/HistoryList'));
...
@@ -24,19 +24,26 @@ const HitoryList = React.lazy(() => import('../../../components/HistoryList'));
const
OuterCirculationRecord
=
React
.
lazy
(()
=>
import
(
'../../../components/OuterCirculationRecord'
));
const
OuterCirculationRecord
=
React
.
lazy
(()
=>
import
(
'../../../components/OuterCirculationRecord'
));
interface
DetailInfo
{
interface
DetailInfo
{
// 授信id
id
:
string
;
id
:
string
;
// 申请id
applyId
:
string
;
// 是否是编辑的
// 是否是编辑的
isEdit
?:
boolean
;
isEdit
?:
boolean
;
};
};
interface
QuotaValues
{
interface
QuotaValues
{
// 申请调整额度
applyQuota
:
number
|
null
;
applyQuota
:
number
|
null
;
// 申请调整账单日期
billDay
:
number
|
null
;
billDay
:
number
|
null
;
// 申请还款周期
repayPeriod
:
number
|
null
;
repayPeriod
:
number
|
null
;
};
};
const
DetailInfo
:
React
.
FC
<
DetailInfo
>
=
({
const
DetailInfo
:
React
.
FC
<
DetailInfo
>
=
({
id
,
id
,
applyId
,
isEdit
=
false
,
isEdit
=
false
,
})
=>
{
})
=>
{
const
[
quotaInfo
,
setQuotaInfo
]
=
useState
<
GetPayCreditApplyGetApplyDetailResponse
>
(
null
);
const
[
quotaInfo
,
setQuotaInfo
]
=
useState
<
GetPayCreditApplyGetApplyDetailResponse
>
(
null
);
...
@@ -58,6 +65,11 @@ const DetailInfo: React.FC<DetailInfo> = ({
...
@@ -58,6 +65,11 @@ const DetailInfo: React.FC<DetailInfo> = ({
}).
then
(
res
=>
{
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
setQuotaInfo
(
res
.
data
);
setQuotaInfo
(
res
.
data
);
setQuotaValues
({
applyQuota
:
res
.
data
.
applyQuota
,
billDay
:
res
.
data
.
billDay
,
repayPeriod
:
res
.
data
.
repayPeriod
,
});
}
}
}).
finally
(()
=>
{
}).
finally
(()
=>
{
setInfoloading
(
false
);
setInfoloading
(
false
);
...
@@ -76,11 +88,14 @@ const DetailInfo: React.FC<DetailInfo> = ({
...
@@ -76,11 +88,14 @@ const DetailInfo: React.FC<DetailInfo> = ({
const
handleSubmit
=
()
=>
{
const
handleSubmit
=
()
=>
{
setSubmitLoading
(
true
);
setSubmitLoading
(
true
);
PublicApi
.
postPayCreditApplyAddCreditApply
({
PublicApi
.
postPayCreditApplyAddCreditApply
({
creditId
:
+
id
,
creditId
:
+
id
,
applyId
:
applyId
?
+
applyId
:
0
,
...
quotaValues
,
...
quotaValues
,
}).
then
(
res
=>
{
}).
then
(
res
=>
{
if
(
res
.
code
===
1000
)
{
if
(
res
.
code
===
1000
)
{
history
.
goBack
();
setTimeout
(()
=>
{
history
.
goBack
();
},
800
);
}
}
}).
finally
(()
=>
{
}).
finally
(()
=>
{
setSubmitLoading
(
false
);
setSubmitLoading
(
false
);
...
@@ -99,9 +114,9 @@ const DetailInfo: React.FC<DetailInfo> = ({
...
@@ -99,9 +114,9 @@ const DetailInfo: React.FC<DetailInfo> = ({
<
AvatarWrap
<
AvatarWrap
info=
{
{
info=
{
{
aloneTxt
:
'单'
,
aloneTxt
:
'单'
,
name
:
`申请单号:${quotaInfo
?.applyNo
}`
,
name
:
`申请单号:${quotaInfo
&& quotaInfo.applyNo ? quotaInfo.applyNo : ''
}`
,
}
}
}
}
extra=
{
quotaInfo
?.
member
?.
levelTag
}
extra=
{
quotaInfo
&&
quotaInfo
.
member
?
quotaInfo
.
member
.
levelTag
||
''
:
''
}
/>
/>
}
}
extra=
{
(
extra=
{
(
...
@@ -163,17 +178,20 @@ const DetailInfo: React.FC<DetailInfo> = ({
...
@@ -163,17 +178,20 @@ const DetailInfo: React.FC<DetailInfo> = ({
<
QuotaApplicationInfo
<
QuotaApplicationInfo
quotaInfo=
{
{
quotaInfo=
{
{
originalQuota
:
quotaInfo
?.
originalQuota
,
originalQuota
:
quotaInfo
?.
originalQuota
,
applyQuota
:
quota
Info
?
.
applyQuota
,
applyQuota
:
quota
Values
.
applyQuota
,
billDay
:
quota
Info
?
.
billDay
,
billDay
:
quota
Values
.
billDay
,
repayPeriod
:
quota
Info
?
.
repayPeriod
,
repayPeriod
:
quota
Values
.
repayPeriod
,
applyTime
:
quotaInfo
?.
applyTime
,
applyTime
:
quotaInfo
?.
applyTime
,
}
}
}
}
verify=
{
{
verify=
{
quota
:
quotaInfo
?.
verify
.
quota
,
quotaInfo
&&
quotaInfo
.
verify
?
{
billDay
:
quotaInfo
?.
verify
.
billDay
,
quota
:
quotaInfo
?.
verify
?.
quota
,
repayPeriod
:
quotaInfo
?.
verify
.
repayPeriod
,
billDay
:
quotaInfo
?.
verify
?.
billDay
,
verifyTime
:
quotaInfo
?.
verify
.
verifyTime
,
repayPeriod
:
quotaInfo
?.
verify
?.
repayPeriod
,
}
}
verifyTime
:
quotaInfo
?.
verify
?.
verifyTime
,
}
:
null
}
editable=
{
isEdit
}
editable=
{
isEdit
}
onSubmit=
{
handleQuotaSubmit
}
onSubmit=
{
handleQuotaSubmit
}
/>
/>
...
...
src/pages/payandSettle/creditApplication/quotaPrSubmit/index.tsx
View file @
d77ca746
...
@@ -35,7 +35,7 @@ const QuotaPrSubmit: React.FC = () => {
...
@@ -35,7 +35,7 @@ const QuotaPrSubmit: React.FC = () => {
render
:
(
text
,
record
)
=>
(
render
:
(
text
,
record
)
=>
(
<>
<>
<
EyePreview
<
EyePreview
url=
{
`/memberCenter/payandSettle/creditApplication/quotaPrSubmit/detail`
}
url=
{
`/memberCenter/payandSettle/creditApplication/quotaPrSubmit/detail
?id=${record.id}
`
}
>
>
{
text
}
{
text
}
</
EyePreview
>
</
EyePreview
>
...
@@ -84,7 +84,7 @@ const QuotaPrSubmit: React.FC = () => {
...
@@ -84,7 +84,7 @@ const QuotaPrSubmit: React.FC = () => {
filters
:
[],
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
onFilter
:
(
value
,
record
)
=>
record
.
outerStatus
===
value
,
render
:
(
text
,
record
)
=>
(
render
:
(
text
,
record
)
=>
(
<
StatusTag
type=
{
CREDIT_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
text
}
/>
<
StatusTag
type=
{
CREDIT_OUTER_STATUS_TAG_MAP
[
record
.
outerStatus
]
}
title=
{
record
.
outerStatusName
}
/>
),
),
},
},
{
{
...
@@ -93,7 +93,7 @@ const QuotaPrSubmit: React.FC = () => {
...
@@ -93,7 +93,7 @@ const QuotaPrSubmit: React.FC = () => {
align
:
'center'
,
align
:
'center'
,
filters
:
[],
filters
:
[],
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
onFilter
:
(
value
,
record
)
=>
record
.
innerStatus
===
value
,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
CREDIT_OUTER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
text
}
/>,
render
:
(
text
,
record
)
=>
<
Badge
color=
{
CREDIT_OUTER_STATUS_BADGE_MAP
[
record
.
innerStatus
]
}
text=
{
record
.
innerStatusName
}
/>,
},
},
{
{
title
:
'操作'
,
title
:
'操作'
,
...
...
src/utils/index.tsx
View file @
d77ca746
...
@@ -494,6 +494,27 @@ export const isJSONStr = str => {
...
@@ -494,6 +494,27 @@ export const isJSONStr = str => {
return
str
;
return
str
;
}
}
/**
* 给 Table columns 的 filters 赋值
* @param {array} data 需要赋值的数组
* @param {string} dataIndex 索引
* @param {array} item 需要赋值的值
*/
export
const
coverColFiltersItem
=
(
data
:
Array
<
{[
key
:
string
]:
any
}
>
,
dataIndex
:
string
,
item
:
{[
key
:
string
]:
any
}
)
=>
{
const
index
=
data
.
findIndex
(
i
=>
i
.
dataIndex
===
dataIndex
);
if
(
index
!==
-
1
)
{
data
.
splice
(
index
,
1
,
{
...
data
[
index
],
filters
:
item
,
});
}
};
export
default
{
export
default
{
isArray
,
isArray
,
isObject
,
isObject
,
...
...
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