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
linweijiong
jinfa-platform
Commits
f8c5fa61
Commit
f8c5fa61
authored
Oct 20, 2020
by
前端-许佳敏
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://10.0.0.22:3000/lingxi/lingxi-business-paltform
into dev
parents
c68893cb
5d08a772
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
947 additions
and
46 deletions
+947
-46
payandSettle.ts
config/routes/payandSettle.ts
+20
-0
global.less
src/global/styles/global.less
+19
-3
menu.ts
src/locales/zh-CN/menu.ts
+3
-0
addProducts.tsx
src/pages/commodity/products/addProducts.tsx
+17
-10
viewProducts.tsx
src/pages/commodity/products/viewProducts.tsx
+2
-2
index.less
...Settle/amountAccountManage/memberAccountManage/index.less
+0
-0
index.tsx
...dSettle/amountAccountManage/memberAccountManage/index.tsx
+125
-0
index.tsx
.../amountAccountManage/memberAccountManage/schema/index.tsx
+144
-0
accountDetail.tsx
...yandSettle/capitalAccounts/accountLists/accountDetail.tsx
+230
-6
applyWithdraw.tsx
...yandSettle/capitalAccounts/accountLists/applyWithdraw.tsx
+213
-0
index.less
...ages/payandSettle/capitalAccounts/accountLists/index.less
+97
-0
index.tsx
...pages/payandSettle/capitalAccounts/accountLists/index.tsx
+6
-13
index.tsx
...ayandSettle/capitalAccounts/accountLists/schema/index.tsx
+71
-12
No files found.
config/routes/payandSettle.ts
View file @
f8c5fa61
...
...
@@ -161,6 +161,26 @@ const payandSettleRoute: RouterChild = {
component
:
'@/pages/payandSettle/capitalAccounts/accountLists/accountDetail'
,
hideInMenu
:
true
,
},
// 申请提现
{
path
:
'/memberCenter/payandSettle/capitalAccounts/accountLists/applyWithdraw'
,
name
:
'applyWithdraw'
,
component
:
'@/pages/payandSettle/capitalAccounts/accountLists/applyWithdraw'
,
hideInMenu
:
true
,
},
],
},
// 资金账户管理
{
path
:
'/memberCenter/payandSettle/amountAccountManage'
,
name
:
'amountAccountManage'
,
routes
:
[
// 会员账户管理
{
path
:
'/memberCenter/payandSettle/amountAccountManage/memberAccountManage'
,
name
:
'memberAccountManage'
,
component
:
'@/pages/payandSettle/amountAccountManage/memberAccountManage'
,
},
],
},
]
...
...
src/global/styles/global.less
View file @
f8c5fa61
...
...
@@ -311,6 +311,23 @@ a {
margin-right: auto !important;
}
// 重置模态框宽度
.ant-modal {
width: 704px !important; // 重置模态框高度
}
\ No newline at end of file
width: 704px !important;
}
// 重置Card样式
.ant-card {
border-radius: 8px !important;
.ant-card-head {
border-bottom: none;
.ant-card-head-title {
// line-height: 24px;
// padding-bottom: 0;
font-size: 16px;
font-weight: 500;
color: #343031;
}
}
}
src/locales/zh-CN/menu.ts
View file @
f8c5fa61
...
...
@@ -339,6 +339,9 @@ export default {
'menu.payandSettle.capitalAccounts'
:
'资金账户'
,
'menu.payandSettle.capitalAccounts.accountLists'
:
'账户管理'
,
'menu.payandSettle.capitalAccounts.accountDetail'
:
'账户详情'
,
'menu.payandSettle.capitalAccounts.applyWithdraw'
:
'申请提现'
,
'menu.payandSettle.amountAccountManage'
:
'资金账户管理'
,
'menu.payandSettle.amountAccountManage.memberAccountManage'
:
'会员账户管理'
,
// 权限管理
'menu.systemSetting'
:
'系统'
,
...
...
src/pages/commodity/products/addProducts.tsx
View file @
f8c5fa61
...
...
@@ -158,10 +158,17 @@ const AddProducts: React.FC<{}> = (props) => {
}
}
_bacsicForm
.
customerCategoryId
=
_bacsicForm
.
customerCategoryId
[
_bacsicForm
.
customerCategoryId
.
length
-
1
]
// 移除描述中的[]
let
_productDescription
=
{
...
productDescription
}
for
(
let
i
in
_productDescription
){
if
(
_productDescription
[
i
].
length
===
0
){
delete
_productDescription
[
i
]
}
}
let
_params
=
{
...
_bacsicForm
,
commodityAttributeList
:
productSelectAttribute
,
commodityRemark
:
productDescription
,
commodityRemark
:
_
productDescription
,
isAllAttributePic
:
isAllAttributePic
,
}
// 处理地址
...
...
@@ -336,40 +343,40 @@ const AddProducts: React.FC<{}> = (props) => {
]
}
>
<
Card
>
<
Tabs
onChange=
{
callback
}
type=
"card"
defaultActiveKey=
"1
0000
"
>
<
TabPane
tab=
"基本信息"
key=
"1
0001
"
>
<
Tabs
onChange=
{
callback
}
type=
"card"
defaultActiveKey=
"1"
>
<
TabPane
tab=
"基本信息"
key=
"1"
>
<
BasicInfoForm
onRef=
{
(
refs
)
=>
setFormRefs
([...
formRefs
,
refs
])
}
onChangeAttributeList=
{
(
_lists
:
any
)
=>
setAttributeList
(
_lists
)
}
/>
</
TabPane
>
<
TabPane
tab=
"选择货品"
key=
"2
0002
"
>
<
TabPane
tab=
"选择货品"
key=
"2"
>
<
SelectGoodsForm
/>
</
TabPane
>
<
TabPane
tab=
"商品属性"
key=
"3
0003
"
>
<
TabPane
tab=
"商品属性"
key=
"3"
>
<
ProductAttributeForm
onRef=
{
(
refs
)
=>
setFormRefs
([...
formRefs
,
refs
])
}
attributesData=
{
attributeList
}
/>
</
TabPane
>
<
TabPane
tab=
"价格设置"
key=
"4
0004
"
>
<
TabPane
tab=
"价格设置"
key=
"4"
>
<
PriceAttributeForm
onRef=
{
(
refs
)
=>
setFormRefs
([...
formRefs
,
refs
])
}
/>
</
TabPane
>
<
TabPane
tab=
"商品图片"
key=
"5
0005
"
>
<
TabPane
tab=
"商品图片"
key=
"5"
>
<
ProductImageForm
/>
</
TabPane
>
<
TabPane
tab=
"商品描述"
key=
"6
0006
"
>
<
TabPane
tab=
"商品描述"
key=
"6"
>
{
renderTemplate
()
}
</
TabPane
>
<
TabPane
tab=
"物流信息"
key=
"7
0007
"
>
<
TabPane
tab=
"物流信息"
key=
"7"
>
<
LogisticsForm
onRef=
{
(
refs
)
=>
setFormRefs
([...
formRefs
,
refs
])
}
/>
</
TabPane
>
<
TabPane
tab=
"其他"
key=
"8
0008
"
>
<
TabPane
tab=
"其他"
key=
"8"
>
<
OtherForm
onRef=
{
(
refs
)
=>
setFormRefs
([...
formRefs
,
refs
])
}
/>
...
...
src/pages/commodity/products/viewProducts.tsx
View file @
f8c5fa61
...
...
@@ -16,7 +16,7 @@ import {
GetProductCommodityGetCommodityResponse
,
GetProductCommodityGetCommodityCheckRecordResponse
,
GetProductCommodityGetShopResponse
}
from
'@/services'
}
from
'@/services
/ProductApi
'
import
moment
from
'moment'
interface
IAttributeByValue
{
...
...
@@ -667,7 +667,7 @@ const viewProducts: React.FC<{}> = () => {
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"审核历史"
>
<
Table
dataSource=
{
checkRecord
}
columns=
{
columns
}
pagination=
{
false
}
/>
<
Table
dataSource=
{
checkRecord
}
columns=
{
columns
}
/>
</
Card
>
</
Space
>
</
PageHeaderWrapper
>
...
...
src/pages/payandSettle/amountAccountManage/memberAccountManage/index.less
0 → 100644
View file @
f8c5fa61
src/pages/payandSettle/amountAccountManage/memberAccountManage/index.tsx
0 → 100644
View file @
f8c5fa61
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
import
{
Card
,
Space
,
Button
,
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
StandardTable
}
from
'god'
import
{
ColumnType
}
from
'antd/lib/table/interface'
import
{
PublicApi
}
from
'@/services/api'
import
NiceForm
from
'@/components/NiceForm'
import
{
createFormActions
,
FormEffectHooks
}
from
'@formily/antd'
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
import
{
searchSchema
}
from
'./schema'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
{
PlusOutlined
}
from
'@ant-design/icons'
import
EyePreview
from
'@/components/EyePreview'
import
{
DatePicker
}
from
'@formily/antd-components'
const
formActions
=
createFormActions
();
const
AccountLists
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'账户归属'
,
dataIndex
:
'memberName'
,
key
:
'memberName'
,
className
:
'commonPickColor'
,
render
:
(
text
,
record
)
=>
<
EyePreview
url=
{
`/memberCenter/payandSettle/capitalAccounts/accountLists/accountDetail?id=${record.id}`
}
>
{
text
}
</
EyePreview
>
},
{
title
:
'会员类型'
,
dataIndex
:
'memberTypeName'
,
key
:
'memberTypeName'
,
},
{
title
:
'会员角色'
,
dataIndex
:
'memberRoleName'
,
key
:
'memberRoleName'
,
},
{
title
:
'会员等级'
,
dataIndex
:
'memberLevelName'
,
key
:
'memberLevelName'
,
},
{
title
:
'会员等级类型'
,
dataIndex
:
'memberLevelType'
,
key
:
'memberLevelType'
,
},
{
title
:
'会员状态'
,
dataIndex
:
'memberStatus'
,
key
:
'memberStatus'
,
},
{
title
:
'账户状态'
,
dataIndex
:
'accountStatus'
,
key
:
'accountStatus'
,
},
{
title
:
'账户余额'
,
dataIndex
:
'accountStatus'
,
key
:
'accountStatus'
,
render
:
text
=>
`¥
${
text
}
`
},
{
title
:
'锁定余额'
,
dataIndex
:
'lockBalance'
,
key
:
'lockBalance'
,
render
:
text
=>
`¥
${
text
}
`
},
{
title
:
'可用余额'
,
dataIndex
:
'usableBalance'
,
key
:
'usableBalance'
,
render
:
text
=>
`¥
${
text
}
`
},
]
const
fetchData
=
(
params
:
any
)
=>
{
console
.
log
(
params
)
return
new
Promise
((
resolve
,
reject
)
=>
{
let
obj
=
{
...
params
}
PublicApi
.
getPayAssetAccountGetAssetAccountList
(
obj
).
then
(
res
=>
{
resolve
(
res
.
data
)
})
})
}
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
columns=
{
columns
}
currentRef=
{
ref
}
tableProps=
{
{
rowKey
:
"id"
}
}
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
controlRender=
{
<
NiceForm
components=
{
{
RangePicker
:
DatePicker
.
RangePicker
}
}
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'parentMemberName'
,
FORM_FILTER_PATH
,
);
}
}
schema=
{
searchSchema
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
AccountLists
src/pages/payandSettle/amountAccountManage/memberAccountManage/schema/index.tsx
0 → 100644
View file @
f8c5fa61
import
{
ISchema
}
from
'@formily/antd'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
export
const
searchSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
mageLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
parentMemberName
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'账户归属'
,
align
:
'flex-left'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
rowStyle
:
{
flexWrap
:
'nowrap'
,
justifyContent
:
'end'
,
},
colStyle
:
{
marginRight
:
20
,
},
},
properties
:
{
memberStatus
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'会员状态'
,
style
:
{
width
:
'174px'
},
},
enum
:
[
{
label
:
'正常'
,
value
:
1
,
},
{
label
:
'已冻结'
,
value
:
2
,
}
],
},
accountStatus
:
{
type
:
'string'
,
'x-component-props'
:
{
placeholder
:
'账户状态'
,
style
:
{
width
:
'174px'
},
},
enum
:
[
{
label
:
'正常'
,
value
:
1
,
},
{
label
:
'已冻结'
,
value
:
2
,
}
],
},
"[startTime,endTime]"
:
{
type
:
'array'
,
"x-component"
:
'RangePicker'
,
'x-component-props'
:
{
placeholder
:
[
'开始时间'
,
'结束时间'
],
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
export
const
rechargeSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
NO_SUBMIT
:
{
type
:
'object'
,
"x-component"
:
"mega-layout"
,
"x-component-props"
:
{
labelAlign
:
'left'
,
labelCol
:
24
,
wrapperCol
:
24
},
properties
:
{
money
:
{
type
:
"string"
,
title
:
'充值金额'
,
'x-component-props'
:
{
addonBefore
:
"¥"
},
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入充值金额'
},
]
},
type
:
{
type
:
"array:number"
,
"x-component"
:
'CardCheckBox'
,
"x-component-props"
:
{
dataSource
:
[],
type
:
'radio'
// CardCheckBox 单选模式
},
"title"
:
"充值方式"
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请选择充值方式'
}
],
}
}
}
}
}
\ No newline at end of file
src/pages/payandSettle/capitalAccounts/accountLists/accountDetail.tsx
View file @
f8c5fa61
import
React
,
{
useState
,
useEffect
,
useRef
}
from
'react'
import
{
Card
}
from
'antd'
import
React
,
{
useState
,
useEffect
,
useRef
,
ReactNode
}
from
'react'
import
{
history
}
from
'umi'
import
{
Card
,
Space
,
Steps
,
Row
,
Col
,
Button
,
InputNumber
,
Table
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
ReutrnEle
from
'@/components/ReturnEle'
import
styles
from
'./index.less'
import
StatusTag
from
'@/components/StatusTag'
import
cx
from
'classnames'
import
moment
from
'moment'
import
{
ColumnType
}
from
'antd/lib/table/interface'
import
ModalForm
from
'@/components/ModalForm'
import
{
createFormActions
}
from
'@formily/antd'
import
{
rechargeSchema
}
from
'./schema'
import
{
visible
}
from
'chalk'
const
{
Step
}
=
Steps
;
const
schemaActions
=
createFormActions
()
const
statusMap
=
{
'1'
:
{
title
:
'申请提现'
,
type
:
'warnning'
},
'2'
:
{
title
:
'审核通过'
,
type
:
'success'
},
'3'
:
{
title
:
'审核不通过'
,
type
:
'default'
},
'4'
:
{
title
:
'提现成功'
,
type
:
'success'
},
'5'
:
{
title
:
'提现失败'
,
type
:
'danger'
},
'6'
:
{
title
:
'确认到账'
,
type
:
'success'
},
}
const
moveStatusMap
=
{
'1'
:
{
title
:
'冻结'
,
type
:
'danger'
},
'2'
:
{
title
:
'解冻'
,
type
:
'success'
},
}
const
AccountDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
modalRef
=
useRef
<
any
>
()
const
[
dealRecord
,
setDealRecord
]
=
useState
<
any
>
()
const
[
moveRecord
,
setMoveRecord
]
=
useState
<
any
>
()
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'交易流水号'
,
dataIndex
:
'tradeCode'
,
key
:
'tradeCode'
,
},
{
title
:
'交易时间'
,
dataIndex
:
'tradeTime'
,
key
:
'tradeTime'
,
render
:
(
text
:
any
)
=>
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
},
{
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
},
{
title
:
'交易项目'
,
dataIndex
:
'operation'
,
key
:
'operation'
,
},
{
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
},
{
title
:
'状态'
,
dataIndex
:
'status'
,
key
:
'status'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(<
StatusTag
title=
{
statusMap
[
text
][
'title'
]
}
type=
{
statusMap
[
text
][
'type'
]
}
/>)
},
{
title
:
'意见'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
},
];
const
moveColumns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'序号'
,
dataIndex
:
'id'
,
key
:
'id'
,
render
:
(
t
,
c
,
i
)
=>
i
+
1
},
{
title
:
'操作角色'
,
dataIndex
:
'parentMemberRoleName'
,
key
:
'parentMemberRoleName'
,
},
{
title
:
'状态'
,
dataIndex
:
'status'
,
key
:
'status'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(<
StatusTag
title=
{
moveStatusMap
[
text
][
'title'
]
}
type=
{
moveStatusMap
[
text
][
'type'
]
}
/>)
},
{
title
:
'操作'
,
dataIndex
:
'operation'
,
key
:
'operation'
,
render
:
(
t
,
r
)
=>
{
return
t
===
1
?
'冻结资金账户'
:
'解冻资金账户'
}
},
{
title
:
'操作时间'
,
dataIndex
:
'createTime'
,
key
:
'createTime'
,
render
:
(
text
:
any
)
=>
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
},
{
title
:
'意见'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
},
];
const
handleConfirm
=
()
=>
{
}
const
handleCannel
=
()
=>
{
}
const
handleSubmit
=
()
=>
{
schemaActions
.
submit
()
}
const
handleRecharge
=
()
=>
{
console
.
log
(
modalRef
)
modalRef
.
current
.
setVisible
(
true
)
}
// 前缀币制符号
// const characters = '$'
return
(
<
PageHeaderWrapper
>
<
Card
>
<
p
>
账户详情
</
p
>
</
Card
>
<
PageHeaderWrapper
title=
"账户详情"
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
/>
}
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"账户信息"
>
<
Row
gutter=
{
100
}
>
<
Col
span=
{
8
}
>
<
div
className=
{
cx
(
styles
.
repayment
,
styles
.
repayinfo
)
}
>
<
div
className=
{
styles
[
'repayment-left'
]
}
>
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
可用余额(元):
</
div
>
<
div
className=
{
styles
[
'statistic-amount'
]
}
>
{
`100000`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
span
className=
{
styles
[
'repayment-time'
]
}
>
温州市龙昌皮具有限公司
</
span
>
</
div
>
</
div
>
</
div
>
</
Col
>
<
Col
span=
{
10
}
>
<
div
className=
{
styles
.
infoRight
}
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
账户归属:
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
广州数商云网络科技有限公司
</
p
>
</
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
账户余额(元):
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
10,000
</
p
>
</
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
锁定金额(元):
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
0.00
</
p
>
</
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
账户状态:
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
><
StatusTag
type=
"success"
title=
"正常"
/></
p
>
</
Col
>
</
Row
>
</
div
>
</
Col
>
<
Col
span=
{
6
}
>
<
div
className=
{
styles
.
rightActions
}
>
<
Button
className=
{
styles
.
rightAction
}
type=
"primary"
onClick=
{
handleRecharge
}
>
充值
</
Button
>
<
Button
className=
{
styles
.
rightAction
}
>
申请提现
</
Button
>
</
div
>
</
Col
>
</
Row
>
</
Card
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"交易记录"
>
<
Table
dataSource=
{
dealRecord
}
columns=
{
columns
}
/>
</
Card
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"流转记录"
>
<
Table
dataSource=
{
moveRecord
}
columns=
{
moveColumns
}
/>
</
Card
>
</
Space
>
<
ModalForm
modalTitle=
'账户充值'
currentRef=
{
modalRef
}
schema=
{
rechargeSchema
}
actions=
{
schemaActions
}
confirm=
{
handleConfirm
}
onSubmit=
{
handleSubmit
}
cancel=
{
handleCannel
}
effects=
{
(
$
,
{
setFieldState
})
=>
{
// $('onFieldInputChange', 'money').subscribe(parentState =>
{
// console.log(parentState.value)
// setFieldState('money', state =>
{
// state.value = `$
{
parentState
.
value
}
`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
// })
// })
// useAsyncSelect('addresId', async () => (await PublicApi.getLogisticsSelectListShipperAddress()).data, ['fullAddress', 'id'])
}
}
/>
</
PageHeaderWrapper
>
)
}
...
...
src/pages/payandSettle/capitalAccounts/accountLists/applyWithdraw.tsx
0 → 100644
View file @
f8c5fa61
import
React
,
{
useState
,
useEffect
,
useRef
,
ReactNode
}
from
'react'
import
{
history
}
from
'umi'
import
{
Card
,
Space
,
Steps
,
Row
,
Col
,
Button
,
InputNumber
,
Table
}
from
'antd'
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
ReutrnEle
from
'@/components/ReturnEle'
import
styles
from
'./index.less'
import
StatusTag
from
'@/components/StatusTag'
import
cx
from
'classnames'
import
moment
from
'moment'
import
{
ColumnType
}
from
'antd/lib/table/interface'
const
{
Step
}
=
Steps
;
const
statusMap
=
{
'1'
:
{
title
:
'申请提现'
,
type
:
'warnning'
},
'2'
:
{
title
:
'审核通过'
,
type
:
'success'
},
'3'
:
{
title
:
'审核不通过'
,
type
:
'default'
},
'4'
:
{
title
:
'提现成功'
,
type
:
'success'
},
'5'
:
{
title
:
'提现失败'
,
type
:
'danger'
},
'6'
:
{
title
:
'确认到账'
,
type
:
'success'
},
}
const
AccountDetail
:
React
.
FC
<
{}
>
=
()
=>
{
const
[
dealRecord
,
setDealRecord
]
=
useState
<
any
>
()
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'交易流水号'
,
dataIndex
:
'tradeCode'
,
key
:
'tradeCode'
,
},
{
title
:
'交易时间'
,
dataIndex
:
'tradeTime'
,
key
:
'tradeTime'
,
render
:
(
text
:
any
)
=>
moment
(
text
).
format
(
"YYYY-MM-DD HH:mm:ss"
)
},
{
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
},
{
title
:
'交易项目'
,
dataIndex
:
'operation'
,
key
:
'operation'
,
},
{
title
:
'交易金额(元)'
,
dataIndex
:
'tradeMoney'
,
key
:
'tradeMoney'
,
},
{
title
:
'状态'
,
dataIndex
:
'status'
,
key
:
'status'
,
render
:
(
text
:
any
,
record
:
any
)
=>
(<
StatusTag
title=
{
statusMap
[
text
][
'title'
]
}
type=
{
statusMap
[
text
][
'type'
]
}
/>)
},
{
title
:
'意见'
,
dataIndex
:
'remark'
,
key
:
'remark'
,
},
];
return
(
<
PageHeaderWrapper
title=
"申请提现"
onBack=
{
()
=>
history
.
goBack
()
}
backIcon=
{
<
ReutrnEle
/>
}
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"外部流转"
>
<
Steps
progressDot
current=
{
0
}
>
<
Step
title=
"申请提现"
description=
"采购商"
/>
<
Step
title=
"审核提现"
description=
"平台"
/>
<
Step
title=
"支付提现"
description=
"平台"
/>
<
Step
title=
"完成"
description=
""
/>
</
Steps
>
</
Card
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"账户提现"
>
<
Row
gutter=
{
100
}
>
<
Col
span=
{
8
}
>
<
div
className=
{
styles
.
repayment
}
>
<
div
className=
{
styles
[
'repayment-left'
]
}
>
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
提现金额(元):
</
div
>
<
div
style=
{
{
display
:
'flex'
,
alignItems
:
'flex-end'
}
}
>
<
InputNumber
defaultValue=
{
0
}
formatter=
{
value
=>
`${value}`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
parser=
{
value
=>
value
.
replace
(
/
\$\s?
|
(
,*
)
/g
,
''
)
}
className=
{
styles
[
'statistic-input'
]
}
/>
<
Button
type=
"text"
size=
"small"
style=
{
{
marginLeft
:
24
,
color
:
'#fff'
}
}
>
全部提现
</
Button
>
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
span
className=
{
styles
[
'repayment-time'
]
}
>
最多可以提现:¥10,000.00
</
span
>
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-right'
]
}
>
<
Button
ghost
>
提交
</
Button
>
</
div
>
</
div
>
</
Col
>
<
Col
span=
{
16
}
>
<
div
className=
{
styles
.
infoRight
}
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
账户归属:
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
广州数商云网络科技有限公司
</
p
>
</
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
银行账号:
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
6214 7812 3456 7891 1234
</
p
>
</
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
开户行:
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
中国建设银行广州市分行营业部
</
p
>
</
Col
>
</
Row
>
</
div
>
</
Col
>
</
Row
>
</
Card
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"账户信息"
>
<
Row
gutter=
{
100
}
>
<
Col
span=
{
8
}
>
<
div
className=
{
cx
(
styles
.
repayment
,
styles
.
repayinfo
)
}
>
<
div
className=
{
styles
[
'repayment-left'
]
}
>
<
div
className=
{
styles
.
statistic
}
>
<
div
className=
{
styles
[
'statistic-title'
]
}
>
可用余额(元):
</
div
>
<
div
className=
{
styles
[
'statistic-amount'
]
}
>
{
`100000`
.
replace
(
/
\B(?=(\d
{3}
)
+
(?!\d))
/g
,
','
)
}
</
div
>
</
div
>
<
div
className=
{
styles
[
'repayment-end'
]
}
>
<
span
className=
{
styles
[
'repayment-time'
]
}
>
温州市龙昌皮具有限公司
</
span
>
</
div
>
</
div
>
</
div
>
</
Col
>
<
Col
span=
{
16
}
>
<
div
className=
{
styles
.
infoRight
}
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
账户归属:
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
广州数商云网络科技有限公司
</
p
>
</
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
账户余额(元):
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
10,000
</
p
>
</
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
锁定金额(元):
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
>
0.00
</
p
>
</
Col
>
</
Row
>
<
Row
>
<
Col
span=
{
4
}
>
<
p
className=
{
styles
.
rightTitle
}
>
账户状态:
</
p
>
</
Col
>
<
Col
span=
{
20
}
>
<
p
className=
{
styles
.
rightInfo
}
><
StatusTag
type=
"success"
title=
"正常"
/></
p
>
</
Col
>
</
Row
>
</
div
>
</
Col
>
</
Row
>
</
Card
>
</
Space
>
<
Space
direction=
"vertical"
style=
{
{
width
:
'100%'
}
}
>
<
Card
headStyle=
{
{
borderBottom
:
'none'
}
}
title=
"提现处理记录"
>
<
Table
dataSource=
{
dealRecord
}
columns=
{
columns
}
/>
</
Card
>
</
Space
>
</
PageHeaderWrapper
>
)
}
export
default
AccountDetail
src/pages/payandSettle/capitalAccounts/accountLists/index.less
0 → 100644
View file @
f8c5fa61
.repayment {
padding: 56px 24px 33px;
display: flex;
align-items: center;
background: #8777D9;
border-radius: 4px;
border: 1px solid #8777D9;
color: #fff;
&-left {
flex: 1;
}
&-right {
flex-shrink: 0;
}
&-end {
margin-top: 32px;
}
&-action {
margin-left: 24px;
}
&-time {
line-height: 22px;
margin-right: 8px;
font-weight: 400;
}
}
.statistic {
&-title {
margin-bottom: 28px;
line-height: 22px;
font-weight: 400;
}
&-amount {
line-height: 40px;
font-size: 32px;
font-weight: 500;
}
&-input {
display: block;
width: 180px;
line-height: 40px;
padding: 8px 0;
font-size: 32px;
font-weight: 500;
color: #fff;
background: none;
border-top: none;
border-right: none;
border-left: none;
border-image: initial;
outline: none;
border-bottom: 1px solid #fff;
}
}
.infoRight {
margin: 35px 0;
.rightTitle {
height: 36px;
font-weight: 400;
color: #6B778C;
line-height: 36px;
}
.rightInfo {
height: 36px;
font-weight: 500;
color: #303133;
line-height: 36px;
}
}
.repayinfo {
background-color: #4279DF;
}
// 账户详情右侧操作按钮
.rightActions {
display: flex;
margin-top: 70px;
.rightAction {
width: 88px;
height: 40px;
&:last-child{
background-color: #6B778C;
color: #fff;
margin-left: 24px;
}
}
}
\ No newline at end of file
src/pages/payandSettle/capitalAccounts/accountLists/index.tsx
View file @
f8c5fa61
...
...
@@ -11,23 +11,13 @@ import { searchSchema } from './schema'
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
import
{
PlusOutlined
}
from
'@ant-design/icons'
import
EyePreview
from
'@/components/EyePreview'
import
{
DatePicker
}
from
'@formily/antd-components'
const
formActions
=
createFormActions
();
const
AccountLists
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
// "memberName": "L1LCU",
// "memberTypeName": "hgVH2V",
// "memberRoleName": "7V4vEk",
// "memberLevelName": "DT5Q",
// "accountBalance": 1071807455613740.5,
// "lockBalance": -5417889512914380,
// "usableBalance": -604051859942576.9,
// "memberStatus": 6014545168701916,
// "accountStatus": 6386448687731208,
// "createTime": 5022413924183292
const
columns
:
ColumnType
<
any
>
[]
=
[
{
title
:
'账户归属'
,
...
...
@@ -57,8 +47,8 @@ const AccountLists: React.FC<{}> = () => {
},
{
title
:
'会员等级类型'
,
dataIndex
:
'
unitNam
e'
,
key
:
'
unit
'
,
dataIndex
:
'
memberLevelTyp
e'
,
key
:
'
memberLevelType
'
,
},
{
title
:
'会员状态'
,
...
...
@@ -110,6 +100,9 @@ const AccountLists: React.FC<{}> = () => {
fetchTableData=
{
(
params
:
any
)
=>
fetchData
(
params
)
}
controlRender=
{
<
NiceForm
components=
{
{
RangePicker
:
DatePicker
.
RangePicker
}
}
actions=
{
formActions
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
effects=
{
(
$
,
actions
)
=>
{
...
...
src/pages/payandSettle/capitalAccounts/accountLists/schema/index.tsx
View file @
f8c5fa61
...
...
@@ -72,16 +72,12 @@ export const searchSchema: ISchema = {
}
],
},
applyTime
:
{
type
:
"daterange"
,
properties
:
{
"[start,end]"
:
{
'x-component-props'
:
{
placeholder
:
[
'开始时间'
,
'结束时间'
],
style
:
{
width
:
'174px'
},
},
}
}
"[startTime,endTime]"
:
{
type
:
'array'
,
"x-component"
:
'RangePicker'
,
'x-component-props'
:
{
placeholder
:
[
'开始时间'
,
'结束时间'
],
},
},
submit
:
{
'x-component'
:
'Submit'
,
...
...
@@ -97,4 +93,67 @@ export const searchSchema: ISchema = {
},
},
},
};
\ No newline at end of file
};
export
const
rechargeSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
NO_SUBMIT
:
{
type
:
'object'
,
"x-component"
:
"mega-layout"
,
"x-component-props"
:
{
labelAlign
:
'left'
,
labelCol
:
24
,
wrapperCol
:
24
},
properties
:
{
// money: {
// type: 'number',
// title: '充值金额',
// "x-component-props": {
// style: {
// width: '100%'
// },
// },
// "x-rules": [
// {
// required: true,
// message: '请输入充值金额'
// },
// ]
// },
money
:
{
type
:
"string"
,
title
:
'充值金额'
,
'x-component-props'
:
{
addonBefore
:
"¥"
},
"x-rules"
:
[
{
required
:
true
,
message
:
'请输入充值金额'
},
]
},
type
:
{
type
:
"array:number"
,
"x-component"
:
'CardCheckBox'
,
"x-component-props"
:
{
dataSource
:
[],
type
:
'radio'
// CardCheckBox 单选模式
},
"title"
:
"充值方式"
,
"x-rules"
:
[
{
required
:
true
,
message
:
'请选择充值方式'
}
],
}
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment