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
271b7458
Commit
271b7458
authored
Oct 21, 2020
by
Bill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善页面
parent
e4a50ec9
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
1121 additions
and
744 deletions
+1121
-744
balanceRoute.ts
config/routes/balanceRoute.ts
+1
-1
image_icon.png
src/assets/imgs/image_icon.png
+0
-0
index.tsx
src/pages/balance/accountsPayable/settlementList/index.tsx
+75
-81
logisticsDetail.tsx
...alance/accountsPayable/settlementList/logisticsDetail.tsx
+16
-92
productNoticeSettlementDetail.tsx
...sPayable/settlementList/productNoticeSettlementDetail.tsx
+16
-92
index.tsx
...s/balance/accountsPayable/settlementList/schema/index.tsx
+153
-0
index.tsx
src/pages/balance/components/ConfirmAccount/index.tsx
+26
-0
index.tsx
src/pages/balance/components/ModalContainer/index.tsx
+34
-0
index.tsx
src/pages/balance/components/SettleMethod/index.tsx
+74
-11
index.tsx
src/pages/balance/components/UploadPayVoucher/index.tsx
+32
-0
index.less
src/pages/balance/components/Voucher/index.less
+28
-0
index.tsx
src/pages/balance/components/Voucher/index.tsx
+24
-0
index.tsx
...es/balance/platformSettlement/accountReceivable/index.tsx
+100
-81
info.tsx
...ges/balance/platformSettlement/accountReceivable/info.tsx
+23
-99
index.tsx
...nce/platformSettlement/accountReceivable/schema/index.tsx
+147
-0
index.tsx
src/pages/balance/platformSettlement/integral/index.tsx
+99
-83
info.tsx
src/pages/balance/platformSettlement/integral/info.tsx
+23
-100
index.tsx
...ages/balance/platformSettlement/integral/schema/index.tsx
+151
-0
info.tsx
src/pages/balance/settleRules/memberSettle/info.tsx
+71
-17
index.tsx
src/pages/balance/settleRules/memberSettle/schema/index.tsx
+28
-87
No files found.
config/routes/balanceRoute.ts
View file @
271b7458
...
...
@@ -7,7 +7,7 @@
/*
* @Author: Bill
* @Date: 2020-10-12 09:45:20
* @LastEditTime: 2020-10-2
0 17:33:20
* @LastEditTime: 2020-10-2
1 16:37:03
* @Description: 加工能力路由
*/
...
...
src/assets/imgs/image_icon.png
0 → 100644
View file @
271b7458
792 Bytes
src/pages/balance/accountsPayable/settlementList/index.tsx
View file @
271b7458
...
...
@@ -6,99 +6,92 @@
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
}
from
'antd'
;
import
{
Card
,
Button
,
DatePicker
,
Modal
,
Tag
,
Space
}
from
'antd'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
ISchema
,
createFormActions
}
from
'@formily/antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
schema
}
from
'./schema'
;
import
ModalContainer
from
'../../components/ModalContainer'
;
import
ConfirmAccount
from
'../../components/ConfirmAccount'
;
import
Voucher
from
'../../components/Voucher'
;
const
formActions
=
createFormActions
();
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
name
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入通知单号、通知单摘要进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
name
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
time
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
const
SettlementList
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
fetchListData
=
async
(
params
)
=>
{
return
{}
return
{
data
:
[{
id
:
1
}],
totalCount
:
1
}
}
const
columns
=
[
{
title
:
'结算单号'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'结算方式'
,
dataIndex
:
'num'
},
{
title
:
'总单数'
,
dataIndex
:
'num'
},
{
title
:
'代收金额'
,
dataIndex
:
'num'
},
{
title
:
'佣金'
,
dataIndex
:
'num'
},
{
title
:
'结算金额'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'支付方式'
,
dataIndex
:
'payMethod'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tag
>
待对账
</
Tag
>
)
}
},
{
title
:
'操作'
,
render
:
(
text
,
record
)
=>
{
return
(
<>
<
ModalContainer
>
{
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
Modal
width=
{
548
}
title=
"查看付款凭证"
onCancel=
{
cancel
}
visible=
{
visible
}
footer=
{
null
}
>
<
Voucher
/>
</
Modal
>
<
div
onClick=
{
show
}
>
查看付款凭证
</
div
>
</>
)
}
}
</
ModalContainer
>
<
ModalContainer
>
{
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
Modal
width=
{
548
}
title=
"确认付款凭证"
onCancel=
{
cancel
}
visible=
{
visible
}
footer=
{
(
<
Space
>
<
Button
>
取消
</
Button
>
<
Button
>
确认
</
Button
>
</
Space
>
)
}
>
<
Voucher
/>
</
Modal
>
<
div
onClick=
{
show
}
>
确认付款凭证
</
div
>
</>
)
}
}
</
ModalContainer
>
</>
)
}
}
]
return
(
<
PageHeaderWrapper
>
<
Card
>
...
...
@@ -106,12 +99,13 @@ const SettlementList = () => {
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
components=
{
{
DatePicker
}
}
expressionScope=
{
{}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.name'
,
FORM_FILTER_PATH
);
...
...
src/pages/balance/accountsPayable/settlementList/logisticsDetail.tsx
View file @
271b7458
...
...
@@ -15,99 +15,22 @@ import { ISchema, createFormActions } from '@formily/antd';
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
detailSchema
}
from
'./schema'
const
formActions
=
createFormActions
();
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
search
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
name
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
time
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
const
columns
=
[
{
title
:
'单据号'
,
dataIndex
:
'no'
},
{
title
:
'单据摘要'
,
dataIndex
:
'desc'
},
{
title
:
'单据类型'
,
dataIndex
:
'type'
},
{
title
:
'单据时间'
,
dataIndex
:
'time'
},
{
title
:
'总箱数'
,
dataIndex
:
'box'
},
{
title
:
'总重量'
,
dataIndex
:
'weight'
},
{
title
:
'总体积'
,
dataIndex
:
'volumn'
},
{
title
:
'接单金额'
,
dataIndex
:
'price'
},
{
title
:
'支付时间'
,
dataIndex
:
'payTime'
},
{
title
:
'结算金额'
,
dataIndex
:
'payPrice'
},
]
const
logisticsDetail
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
...
...
@@ -125,6 +48,7 @@ const logisticsDetail: React.FC = () => {
title=
{
<
AvatarWrap
info=
{
{
aloneTxt
:
'单'
,
name
:
"通知单号:"
}
}
extra=
{
(
...
...
@@ -155,7 +79,7 @@ const logisticsDetail: React.FC = () => {
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
...
...
@@ -175,7 +99,7 @@ const logisticsDetail: React.FC = () => {
// fetchSelectOptions,
// );
}
}
schema=
{
s
chema
}
schema=
{
detailS
chema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
...
...
src/pages/balance/accountsPayable/settlementList/productNoticeSettlementDetail.tsx
View file @
271b7458
...
...
@@ -15,99 +15,22 @@ import { ISchema, createFormActions } from '@formily/antd';
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
detailSchema
}
from
'./schema'
const
formActions
=
createFormActions
();
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
search
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
name
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
time
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
const
columns
=
[
{
title
:
'单据号'
,
dataIndex
:
'no'
},
{
title
:
'单据摘要'
,
dataIndex
:
'desc'
},
{
title
:
'单据类型'
,
dataIndex
:
'type'
},
{
title
:
'单据时间'
,
dataIndex
:
'time'
},
{
title
:
'单据总额'
,
dataIndex
:
'total'
},
{
title
:
'收货批次'
,
dataIndex
:
'batch'
},
{
title
:
'收货时间'
,
dataIndex
:
'receiveTime'
},
{
title
:
'收货数量'
,
dataIndex
:
'receiveCount'
},
{
title
:
'加工单价'
,
dataIndex
:
'unitPrice'
},
{
title
:
'结算金额'
,
dataIndex
:
'payPrice'
},
]
const
ProductNoticeSettlementDetail
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
...
...
@@ -125,6 +48,7 @@ const ProductNoticeSettlementDetail: React.FC = () => {
title=
{
<
AvatarWrap
info=
{
{
aloneTxt
:
'单'
,
name
:
"通知单号:"
}
}
extra=
{
(
...
...
@@ -155,7 +79,7 @@ const ProductNoticeSettlementDetail: React.FC = () => {
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
...
...
@@ -175,7 +99,7 @@ const ProductNoticeSettlementDetail: React.FC = () => {
// fetchSelectOptions,
// );
}
}
schema=
{
s
chema
}
schema=
{
detailS
chema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
...
...
src/pages/balance/accountsPayable/settlementList/schema/index.tsx
0 → 100644
View file @
271b7458
/*
* @Author: Bill
* @Date: 2020-10-21 17:41:36
* @Description: 应付账款结算Schema集合
*/
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
ISchema
,
createFormActions
}
from
'@formily/antd'
;
/**
* index.tsx 列表页搜索schema
* 应付账款结算 列表页 schema
*/
export
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
name
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
// tip: '输入通知单号、通知单摘要进行搜索',
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
startTime
:
{
type
:
'string'
,
'x-component'
:
'DatePicker'
,
'x-component-props'
:
{
allowClear
:
true
}
},
endTime
:
{
type
:
'string'
,
'x-component'
:
'DatePicker'
,
'x-component-props'
:
{
allowClear
:
true
}
},
status
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'结算状态(全部)'
,
allowClear
:
true
,
},
},
// submit: {
// 'x-component': 'Submit',
// 'x-mega-props': {
// span: 1,
// },
// 'x-component-props': {
// children: '查询',
// },
// },
},
},
},
},
},
};
/**
* 应付账款结算--物流单结算明细详情, 生产通知单结算明细
*/
export
const
detailSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
search
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
orderTime
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'下单时间(全部)'
,
allowClear
:
true
,
},
},
payTime
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'支付时间(全部)'
,
allowClear
:
true
,
},
},
// submit: {
// 'x-component': 'Submit',
// 'x-mega-props': {
// span: 1,
// },
// 'x-component-props': {
// children: '查询',
// },
// },
},
},
},
},
},
};
\ No newline at end of file
src/pages/balance/components/ConfirmAccount/index.tsx
0 → 100644
View file @
271b7458
/*
* @Author: your name
* @Date: 2020-10-21 15:59:41
* @desc:确认对账完成
*/
import
React
from
'react'
;
const
ConfirmAccount
=
()
=>
{
return
(
<
div
>
<
h3
style=
{
{
margin
:
0
}
}
>
是否确认以下对账已完成?
</
h3
>
<
div
style=
{
{
margin
:
'24px 0'
}
}
>
<
span
style=
{
{
color
:
'#909399'
,
width
:
'60px'
,
display
:
'inline-block'
}
}
>
结算日期:
</
span
>
<
span
>
2020-08-25
</
span
>
</
div
>
<
div
>
<
span
style=
{
{
color
:
'#909399'
,
width
:
'60px'
,
display
:
'inline-block'
}
}
>
付款方:
</
span
>
<
span
>
平台
</
span
>
</
div
>
</
div
>
)
}
export
default
ConfirmAccount
\ No newline at end of file
src/pages/balance/components/ModalContainer/index.tsx
0 → 100644
View file @
271b7458
import
React
,
{
Component
}
from
'react'
;
class
ModalContainer
extends
Component
{
state
=
{
visible
:
false
}
handleCancel
=
()
=>
{
this
.
setState
({
visible
:
false
})
}
show
=
()
=>
{
this
.
setState
({
visible
:
true
})
}
render
()
{
const
{
visible
}
=
this
.
state
;
const
{
children
}
=
this
.
props
;
return
(
children
({
visible
:
visible
,
show
:
this
.
show
,
cancel
:
this
.
handleCancel
})
)
}
}
export
default
ModalContainer
;
\ No newline at end of file
src/pages/balance/components/SettleMethod/index.tsx
View file @
271b7458
...
...
@@ -4,37 +4,99 @@
* @Description: 新增会员结算结算方式
*/
import
React
from
'react'
;
import
{
Radio
,
Input
}
from
'antd'
;
import
React
,
{
useEffect
,
useState
}
from
'react'
;
import
{
Radio
,
Input
,
Tooltip
}
from
'antd'
;
import
{
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
styles
from
'./index.less'
import
styles
from
'./index.less'
;
import
{
registerValidationRules
}
from
'@formily/antd'
// 或者 @formily/next
const
DAY
=
0
;
const
MONTH
=
1
;
registerValidationRules
({
settleMethodRule
:
value
=>
{
const
{
active
,
otherValues
}
=
value
;
const
isNumber
=
/^
\d
+$/
;
// 数字
const
pattern
=
/
[
0-9
]
+
\.[
0-9
]
*/
;
if
(
active
==
MONTH
)
{
return
(
otherValues
[
1
]
<
0
||
otherValues
[
1
]
>
31
)
||
pattern
.
test
(
otherValues
[
1
])
?
'只允许填写1-31号'
:
''
}
else
{
return
!
isNumber
.
test
(
otherValues
[
0
])
||
pattern
.
test
(
otherValues
[
0
])
?
'只允许填写正整数'
:
""
}
}
})
const
SettleMethod
=
(
props
)
=>
{
console
.
log
(
props
);
const
{
active
=
DAY
,
otherValues
=
[
30
,
1
]
}
=
props
.
value
||
{};
// const componentProps = props.props['x-component-props'] || {};
const
handleChange
=
(
e
,
type
)
=>
{
if
(
active
==
type
)
{
return
;
}
const
previewValue
=
otherValues
// setActive(type)
props
.
mutators
.
change
({
active
:
type
,
otherValues
:
previewValue
})
}
useEffect
(()
=>
{
const
componentProps
=
props
.
props
[
'x-component-props'
]
||
{};
const
defaultValue
=
componentProps
.
default
||
{};
if
(
typeof
props
.
initialValue
==
'undefined'
)
{
props
.
mutators
.
change
(
defaultValue
)
}
else
{
props
.
mutators
.
change
(
props
.
initialValue
)
}
},
[
props
.
initialValue
])
const
handleInputChange
=
(
value
,
type
)
=>
{
const
target
=
type
;
const
temp
=
[...
otherValues
];
temp
[
target
]
=
value
;
props
.
mutators
.
change
({
active
:
type
,
otherValues
:
temp
})
}
return
(
<
div
>
<
div
className=
{
styles
.
period
}
>
<
div
>
<
Radio
>
账期(默认)
</
Radio
>
<
QuestionCircleOutlined
/>
<
Radio
name=
"method"
checked=
{
active
==
DAY
}
onChange=
{
(
e
)
=>
handleChange
(
e
,
DAY
)
}
>
账期(默认)
</
Radio
>
<
Tooltip
title=
"选择账期并设置账期天数后,即结算时间为T+账期天数,系统每天自动将支付时间达到账期天数的支付金额进行结算,如设置账期天数为30天,则系统每天结算支付时间达到30天的支付金额"
>
<
QuestionCircleOutlined
/>
</
Tooltip
>
</
div
>
<
div
className=
{
styles
.
days
}
>
<
div
style=
{
{
marginRight
:
'20px'
}
}
>
账期天数
</
div
>
<
div
><
Input
addonAfter=
{
"天"
}
/></
div
>
<
div
style=
{
{
margin
:
'0 20px 0 12px'
}
}
>
账期天数
</
div
>
<
div
>
<
Input
addonAfter=
{
"天"
}
value=
{
otherValues
[
DAY
]
}
onChange=
{
(
e
)
=>
handleInputChange
(
e
.
target
.
value
,
DAY
)
}
disabled=
{
active
!==
DAY
}
style=
{
{
width
:
'160px'
}
}
/></
div
>
</
div
>
</
div
>
<
div
className=
{
styles
.
period
}
>
<
div
>
<
Radio
>
月结
</
Radio
><
QuestionCircleOutlined
/>
<
Radio
name=
"method"
checked=
{
active
==
MONTH
}
onChange=
{
(
e
)
=>
handleChange
(
e
,
MONTH
)
}
>
月结
</
Radio
>
<
Tooltip
title=
"选择月结并设置每月结算日期后,系统将在每月结算日当天自动将上月发生的支付金额进行结算,如每月结算日期设置为每月1号,则每月1号系统自动结算上月所有已发生的支付金额"
>
<
QuestionCircleOutlined
/>
</
Tooltip
>
</
div
>
<
div
className=
{
styles
.
days
}
>
<
div
style=
{
{
marginRight
:
'20px'
}
}
>
每月结算日期:每月
</
div
>
<
div
><
Input
addonAfter=
{
"号"
}
/></
div
>
</
div
>
<
div
><
Input
addonAfter=
{
"号"
}
style=
{
{
width
:
'160px'
}
}
value=
{
otherValues
[
MONTH
]
}
onChange=
{
(
e
)
=>
handleInputChange
(
e
.
target
.
value
,
MONTH
)
}
disabled=
{
active
!==
MONTH
}
/></
div
>
</
div
>
</
div
>
</
div
>
)
}
SettleMethod
.
isFieldComponent
=
true
;
export
default
SettleMethod
;
\ No newline at end of file
src/pages/balance/components/UploadPayVoucher/index.tsx
0 → 100644
View file @
271b7458
/*
* @Author: Bill
* @Date: 2020-10-21 18:13:06
* @Description: 上传付款凭证
*/
import
React
from
'react'
;
import
Voucher
from
'../Voucher'
;
const
UploadPayVoucher
=
()
=>
{
return
(
<
div
>
<
div
>
<
span
>
账户名称
</
span
>
<
span
>
温州市隆昌皮具有限公司
</
span
>
</
div
>
<
div
>
<
span
>
银行账号
</
span
>
<
span
>
3214 454646 145 46 1231
</
span
>
</
div
>
<
div
>
<
span
>
开户行
</
span
>
<
span
>
中国建设银行广州市分行营业部
</
span
>
</
div
>
<
h1
>
上传支付凭证
</
h1
>
<
Voucher
/>
</
div
>
)
}
export
default
UploadPayVoucher
;
\ No newline at end of file
src/pages/balance/components/Voucher/index.less
0 → 100644
View file @
271b7458
.container {
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: center;
background: #FAFBFC;
border-radius: 4px;
color: @main-color;
font-size: 12px;
height: 32px;
padding: 0 10px;
.image {
width: 20px;
height: 20px;
margin-right: 15px;
.icon {
width: 100%;
height: 100%;
}
}
.view {
margin-left: auto;
}
}
\ No newline at end of file
src/pages/balance/components/Voucher/index.tsx
0 → 100644
View file @
271b7458
/*
* @Author: Bill
* @Date: 2020-10-21 16:05:03
* @Description: 付款凭证
*/
import
React
from
'react'
;
import
styles
from
'./index.less'
import
image_icon
from
'@/assets/imgs/image_icon.png'
;
const
Voucher
=
()
=>
{
return
(
<
div
className=
{
styles
.
container
}
>
{
/* <div></div>/ */
}
<
div
className=
{
styles
.
image
}
>
<
img
src=
{
image_icon
}
className=
{
styles
.
icon
}
/>
</
div
>
<
div
className=
{
styles
.
text
}
>
20187878.jpg
</
div
>
<
div
className=
{
styles
.
view
}
>
预览
</
div
>
</
div
>
)
}
export
default
Voucher
;
src/pages/balance/platformSettlement/accountReceivable/index.tsx
View file @
271b7458
...
...
@@ -6,99 +6,116 @@
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
}
from
'antd'
;
import
{
Card
,
Button
,
DatePicker
,
Tag
,
Modal
,
Space
}
from
'antd'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
ISchema
,
createFormActions
}
from
'@formily/antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
schema
}
from
'./schema'
;
import
ModalContainer
from
'../../components/ModalContainer'
;
import
ConfirmAccount
from
'../../components/ConfirmAccount'
;
import
Voucher
from
'../../components/Voucher'
;
const
formActions
=
createFormActions
();
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
name
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入通知单号、通知单摘要进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
name
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
time
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
const
AccountReceivable
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
fetchListData
=
async
(
params
)
=>
{
return
{}
return
{
data
:
[{
id
:
1
}],
totalCount
:
1
}
}
const
columns
=
[
{
title
:
'结算单号'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'结算方式'
,
dataIndex
:
'num'
},
{
title
:
'总单数'
,
dataIndex
:
'num'
},
{
title
:
'代收金额'
,
dataIndex
:
'num'
},
{
title
:
'佣金'
,
dataIndex
:
'num'
},
{
title
:
'结算金额'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'支付方式'
,
dataIndex
:
'payMethod'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tag
>
待对账
</
Tag
>
)
}
},
{
title
:
'操作'
,
render
:
(
text
,
record
)
=>
{
return
(
<>
<
ModalContainer
>
{
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
Modal
width=
{
400
}
title=
"确认对账完成"
visible=
{
visible
}
onCancel=
{
cancel
}
onOk=
{
()
=>
handleConfirm
(
cancel
)
}
>
<
ConfirmAccount
/>
</
Modal
>
<
div
onClick=
{
show
}
>
确认对账完成
</
div
>
</>
)
}
}
</
ModalContainer
>
<
ModalContainer
>
{
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
Modal
width=
{
548
}
title=
"查看付款凭证"
onCancel=
{
cancel
}
visible=
{
visible
}
footer=
{
null
}
>
<
Voucher
/>
</
Modal
>
<
div
onClick=
{
show
}
>
查看付款凭证
</
div
>
</>
)
}
}
</
ModalContainer
>
<
ModalContainer
>
{
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
Modal
width=
{
548
}
title=
"确认付款凭证"
onCancel=
{
cancel
}
visible=
{
visible
}
footer=
{
(
<
Space
>
<
Button
>
取消
</
Button
>
<
Button
>
确认未到款
</
Button
>
<
Button
>
确认到款
</
Button
>
</
Space
>
)
}
>
<
Voucher
/>
</
Modal
>
<
div
onClick=
{
show
}
>
确认付款凭证
</
div
>
</>
)
}
}
</
ModalContainer
>
</>
)
}
}
]
/**
* 确认对账
* @param cancel 关闭回调函数
*/
const
handleConfirm
=
(
cancel
)
=>
{
console
.
log
(
123
)
cancel
();
}
return
(
<
PageHeaderWrapper
>
<
Card
>
...
...
@@ -106,13 +123,15 @@ const AccountReceivable = () => {
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
columns=
{
columns
}
currentRef=
{
ref
}
// rowSelection={rowSelection}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{}
}
components=
{
{
DatePicker
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.name'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
...
...
src/pages/balance/platformSettlement/accountReceivable/info.tsx
View file @
271b7458
...
...
@@ -15,99 +15,23 @@ import { ISchema, createFormActions } from '@formily/antd';
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
detailSchema
}
from
'./schema'
;
const
formActions
=
createFormActions
();
const
columns
=
[
{
title
:
'单据号'
,
dataIndex
:
'no'
},
{
title
:
'单据摘要'
,
dataIndex
:
'desc'
},
{
title
:
'单据类型'
,
dataIndex
:
'type'
},
{
title
:
'单据时间'
,
dataIndex
:
'time'
},
{
title
:
'订单类型'
,
dataIndex
:
'orderType'
},
{
title
:
'单据总额'
,
dataIndex
:
'total'
},
{
title
:
'代收金额'
,
dataIndex
:
'price'
},
{
title
:
'支付时间'
,
dataIndex
:
'payTime'
},
{
title
:
'佣金比例'
,
dataIndex
:
'percent'
},
{
title
:
'扣减佣金'
,
dataIndex
:
'koujian'
},
{
title
:
'本期结余额'
,
dataIndex
:
'rest'
}
]
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
search
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
name
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
time
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
const
Info
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
...
...
@@ -125,7 +49,8 @@ const Info: React.FC = () => {
title=
{
<
AvatarWrap
info=
{
{
name
:
"通知单号:"
aloneTxt
:
'单'
,
name
:
"结算单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
...
...
@@ -139,12 +64,11 @@ const Info: React.FC = () => {
padding
:
'0 32px'
,
}
}
>
<
Descriptions
.
Item
label=
"通知单摘要"
>
{
"进口头层黄牛皮荔枝纹"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"供应会员:"
>
{
"广州白马皮具交易中心"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"单据时间:"
>
{
"2020-09-09 12:58:25"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"通知单来源:"
>
{
"订单加工"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"外部状态:"
>
{
"以完成通知单"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"内部状态:"
>
{
"审核通过"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"结算日期:"
>
{
"2020-08-25"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"结算单数:"
>
{
"1,238"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"结算金额:"
>
{
"¥668,684,59"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"结算方式:"
>
{
"月结"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"外部状态:"
>
{
"待对账"
}
</
Descriptions
.
Item
>
</
Descriptions
>
</
PageHeader
>
</>
...
...
@@ -155,7 +79,7 @@ const Info: React.FC = () => {
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
...
...
@@ -175,7 +99,7 @@ const Info: React.FC = () => {
// fetchSelectOptions,
// );
}
}
schema=
{
s
chema
}
schema=
{
detailS
chema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
...
...
src/pages/balance/platformSettlement/accountReceivable/schema/index.tsx
0 → 100644
View file @
271b7458
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
ISchema
,
createFormActions
}
from
'@formily/antd'
;
/**
* index.tsx 列表页搜索schema
* 平台代收账款结算 schema
*/
export
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
name
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
// tip: '输入通知单号、通知单摘要进行搜索',
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
startTime
:
{
type
:
'string'
,
'x-component'
:
'DatePicker'
,
'x-component-props'
:
{
allowClear
:
true
}
},
endTime
:
{
type
:
'string'
,
'x-component'
:
'DatePicker'
,
'x-component-props'
:
{
allowClear
:
true
}
},
status
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'结算状态(全部)'
,
allowClear
:
true
,
},
},
// submit: {
// 'x-component': 'Submit',
// 'x-mega-props': {
// span: 1,
// },
// 'x-component-props': {
// children: '查询',
// },
// },
},
},
},
},
},
};
/**
* 平台代收账款结算--详情
*/
export
const
detailSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
search
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
orderTime
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
payTime
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
// submit: {
// 'x-component': 'Submit',
// 'x-mega-props': {
// span: 1,
// },
// 'x-component-props': {
// children: '查询',
// },
// },
},
},
},
},
},
};
\ No newline at end of file
src/pages/balance/platformSettlement/integral/index.tsx
View file @
271b7458
...
...
@@ -6,98 +6,113 @@
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
}
from
'antd'
;
import
{
Card
,
Button
,
Modal
,
Tag
,
Space
,
DatePicker
}
from
'antd'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
ISchema
,
createFormActions
}
from
'@formily/antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
schema
}
from
'./schema/index'
;
import
ModalContainer
from
'../../components/ModalContainer'
;
import
ConfirmAccount
from
'../../components/ConfirmAccount'
;
import
Voucher
from
'../../components/Voucher'
;
const
formActions
=
createFormActions
();
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
name
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
tip
:
'输入通知单号、通知单摘要进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
name
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
time
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
const
Integral
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
fetchListData
=
async
(
params
)
=>
{
return
{}
return
{
data
:
[{
id
:
1
}],
totalCount
:
1
}
}
const
columns
=
[
{
title
:
'结算单号'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'结算方式'
,
dataIndex
:
'num'
},
{
title
:
'总单数'
,
dataIndex
:
'num'
},
{
title
:
'代收金额'
,
dataIndex
:
'num'
},
{
title
:
'佣金'
,
dataIndex
:
'num'
},
{
title
:
'结算金额'
,
dataIndex
:
'num'
},
{
title
:
'结算日期'
,
dataIndex
:
'num'
},
{
title
:
'支付方式'
,
dataIndex
:
'payMethod'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tag
>
待对账
</
Tag
>
)
}
},
{
title
:
'操作'
,
render
:
(
text
,
record
)
=>
{
return
(
<>
<
ModalContainer
>
{
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
Modal
width=
{
400
}
title=
"确认对账完成"
visible=
{
visible
}
onCancel=
{
cancel
}
onOk=
{
()
=>
handleConfirm
(
cancel
)
}
>
<
ConfirmAccount
/>
</
Modal
>
<
div
onClick=
{
show
}
>
确认对账完成
</
div
>
</>
)
}
}
</
ModalContainer
>
<
ModalContainer
>
{
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
Modal
width=
{
548
}
title=
"查看付款凭证"
onCancel=
{
cancel
}
visible=
{
visible
}
footer=
{
null
}
>
<
Voucher
/>
</
Modal
>
<
div
onClick=
{
show
}
>
查看付款凭证
</
div
>
</>
)
}
}
</
ModalContainer
>
<
ModalContainer
>
{
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
Modal
width=
{
548
}
title=
"确认付款凭证"
onCancel=
{
cancel
}
visible=
{
visible
}
footer=
{
(
<
Space
>
<
Button
>
取消
</
Button
>
<
Button
>
确认未到款
</
Button
>
<
Button
>
确认到款
</
Button
>
</
Space
>
)
}
>
<
Voucher
/>
</
Modal
>
<
div
onClick=
{
show
}
>
确认付款凭证
</
div
>
</>
)
}
}
</
ModalContainer
>
</>
)
}
}
]
/**
* 确认对账
* @param cancel 关闭回调函数
*/
const
handleConfirm
=
(
cancel
)
=>
{
console
.
log
(
123
)
cancel
();
}
return
(
<
PageHeaderWrapper
>
...
...
@@ -106,12 +121,13 @@ const Integral: React.FC = () => {
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
components=
{
{
DatePicker
}
}
expressionScope=
{
{}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.name'
,
FORM_FILTER_PATH
);
...
...
src/pages/balance/platformSettlement/integral/info.tsx
View file @
271b7458
...
...
@@ -15,100 +15,23 @@ import { ISchema, createFormActions } from '@formily/antd';
import
{
StandardTable
}
from
'god'
;
import
{
useStateFilterSearchLinkageEffect
}
from
'@/formSchema/effects/useFilterSearch'
;
import
{
useAsyncInitSelect
}
from
'@/formSchema/effects/useAsyncInitSelect'
;
import
{
detailSchema
}
from
'./schema'
;
const
formActions
=
createFormActions
();
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
search
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
name
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
time
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'单据时间(全部)'
,
allowClear
:
true
,
},
},
outerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'外部状态(全部)'
,
allowClear
:
true
,
},
},
innerStatus
:
{
type
:
'string'
,
default
:
undefined
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'内部状态(全部)'
,
allowClear
:
true
,
},
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
},
},
};
const
columns
=
[
{
title
:
'单据号'
,
dataIndex
:
'no'
},
{
title
:
'单据摘要'
,
dataIndex
:
'desc'
},
{
title
:
'单据类型'
,
dataIndex
:
'type'
},
{
title
:
'单据时间'
,
dataIndex
:
'time'
},
{
title
:
'订单类型'
,
dataIndex
:
'orderType'
},
{
title
:
'单据总额'
,
dataIndex
:
'total'
},
{
title
:
'代收金额'
,
dataIndex
:
'price'
},
{
title
:
'支付时间'
,
dataIndex
:
'payTime'
},
{
title
:
'佣金比例'
,
dataIndex
:
'percent'
},
{
title
:
'扣减佣金'
,
dataIndex
:
'koujian'
},
{
title
:
'本期结余额'
,
dataIndex
:
'rest'
}
]
const
Info
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchListData
=
async
(
params
)
=>
{
...
...
@@ -125,7 +48,8 @@ const Info: React.FC = () => {
title=
{
<
AvatarWrap
info=
{
{
name
:
"通知单号:"
aloneTxt
:
'单'
,
name
:
"结算单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
...
...
@@ -139,12 +63,11 @@ const Info: React.FC = () => {
padding
:
'0 32px'
,
}
}
>
<
Descriptions
.
Item
label=
"通知单摘要"
>
{
"进口头层黄牛皮荔枝纹"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"供应会员:"
>
{
"广州白马皮具交易中心"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"单据时间:"
>
{
"2020-09-09 12:58:25"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"通知单来源:"
>
{
"订单加工"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"外部状态:"
>
{
"以完成通知单"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"内部状态:"
>
{
"审核通过"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"结算日期:"
>
{
"2020-08-25"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"结算单数:"
>
{
"1,238"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"结算金额:"
>
{
"¥668,684,59"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"结算方式:"
>
{
"月结"
}
</
Descriptions
.
Item
>
<
Descriptions
.
Item
label=
"外部状态:"
>
{
"待对账"
}
</
Descriptions
.
Item
>
</
Descriptions
>
</
PageHeader
>
</>
...
...
@@ -155,7 +78,7 @@ const Info: React.FC = () => {
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
columns=
{
columns
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
...
...
@@ -175,7 +98,7 @@ const Info: React.FC = () => {
// fetchSelectOptions,
// );
}
}
schema=
{
s
chema
}
schema=
{
detailS
chema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
...
...
src/pages/balance/platformSettlement/integral/schema/index.tsx
0 → 100644
View file @
271b7458
/*
* @Author: Bill
* @Date: 2020-10-21 16:24:01
* @Description: 平台积分结算 schema集合
*/
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
ISchema
}
from
'@formily/antd'
;
/**
* 平台积分管理 列表页
*/
export
const
schema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
name
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
align
:
'flex-left'
,
// tip: '输入通知单号、通知单摘要进行搜索',
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
'x-component-props'
:
{
grid
:
true
,
full
:
true
,
autoRow
:
true
,
columns
:
6
,
},
properties
:
{
startTime
:
{
type
:
'string'
,
'x-component'
:
'DatePicker'
,
'x-component-props'
:
{
allowClear
:
true
}
},
endTime
:
{
type
:
'string'
,
'x-component'
:
'DatePicker'
,
'x-component-props'
:
{
allowClear
:
true
}
},
status
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'结算状态(全部)'
,
allowClear
:
true
,
},
},
// submit: {
// 'x-component': 'Submit',
// 'x-mega-props': {
// span: 1,
// },
// 'x-component-props': {
// children: '查询',
// },
// },
},
},
},
},
},
};
/**
* 平台积分结算- 平台积分结算明细
*/
export
const
detailSchema
:
ISchema
=
{
type
:
'object'
,
properties
:
{
megaLayout
:
{
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
topLayout
:
{
type
:
'object'
,
'x-component'
:
'Mega-Layout'
,
'x-component-props'
:
{
grid
:
true
,
},
properties
:
{
ctl
:
{
type
:
'object'
,
'x-component'
:
'Children'
,
'x-component-props'
:
{
children
:
'{{exportBtn}}'
,
},
},
search
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
},
},
},
},
[
FORM_FILTER_PATH
]:
{
type
:
'object'
,
'x-component'
:
'flex-layout'
,
'x-component-props'
:
{
colStyle
:
{
marginLeft
:
20
,
},
},
properties
:
{
orderTime
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
payTime
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'加工企业名称(全部)'
,
allowClear
:
true
,
},
},
// submit: {
// 'x-component': 'Submit',
// 'x-mega-props': {
// span: 1,
// },
// 'x-component-props': {
// children: '查询',
// },
// },
},
},
},
},
},
};
\ No newline at end of file
src/pages/balance/settleRules/memberSettle/info.tsx
View file @
271b7458
...
...
@@ -4,11 +4,11 @@
* @Description: 新建会员策略支付策略
*/
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
use
Effect
,
use
State
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
NiceForm
from
'@/components/NiceForm'
;
import
{
Card
,
Button
,
Radio
,
Input
}
from
'antd'
;
import
{
createFormActions
,
FormButtonGroup
}
from
'@formily/antd'
;
import
{
Card
,
Button
}
from
'antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
import
ModalTable
from
'@/components/ModalTable'
;
import
SearchSelect
from
'@/components/NiceForm/components/SearchSelect'
...
...
@@ -18,13 +18,37 @@ import { useStateFilterSearchLinkageEffect } from '@/formSchema/effects/useFilte
import
{
addSchema
,
memberSchema
}
from
'./schema'
;
import
{
FORM_FILTER_PATH
}
from
'@/formSchema/const'
;
import
{
useAsyncSelect
}
from
'@/formSchema/effects/useAsyncSelect'
;
import
{
QuestionCircleOutlined
}
from
'@ant-design/icons'
import
SettleMethod
from
'../../components/SettleMethod'
;
import
{
useRowSelectionTable
}
from
'@/hooks/useRowSelectionTable'
;
import
{
PublicApi
}
from
'@/services/api'
;
const
formActions
=
createFormActions
();
const
common_columns
:
any
=
[
{
title
:
'ID'
,
dataIndex
:
'id'
},
{
title
:
'会员名称'
,
dataIndex
:
'name'
},
{
title
:
'会员类型'
,
dataIndex
:
'type'
},
{
title
:
'会员角色'
,
dataIndex
:
'role'
},
{
title
:
'会员等级'
,
dataIndex
:
'level'
},
]
const
columns
=
common_columns
.
concat
(
[
{
title
:
'操作'
,
render
:
(
text
,
record
)
=>
{
return
(
<
div
>
删除
</
div
>
)
}
}
]
);
const
MemberSettleAdd
:
React
.
FC
=
()
=>
{
const
[
visible
,
setVisible
]
=
useState
(
false
)
const
[
memberRowSelection
,
memberRowCtl
]
=
useRowSelectionTable
({
customKey
:
'id'
});
const
[
initialValue
,
setInitialValue
]
=
useState
({});
const
isEdit
=
false
;
const
tableAddButton
=
()
=>
{
return
(
<
div
>
...
...
@@ -41,30 +65,60 @@ const MemberSettleAdd: React.FC = () => {
)
}
const
handleOkAddMember
=
()
=>
{
}
useEffect
(()
=>
{
if
(
isEdit
)
{
setInitialValue
({
name
:
'test'
,
methods
:
{
active
:
1
,
otherValues
:
[
25
,
2
]
}
})
}
},
[])
const
handleCancelAddMember
=
()
=>
{
setVisible
(
false
);
}
// 获取
渠道
会员
// 获取
适用
会员
const
fetchMemberData
=
async
(
params
:
any
)
=>
{
// params.roleId = selectedOption.value
return
{}
const
{
data
}
=
await
PublicApi
.
getManageContentInformationPage
(
params
);
return
data
}
// 使用会员弹框确认
const
handleOkAddMember
=
()
=>
{
formActions
.
setFieldValue
(
'Tabs.memberTab.someLists'
,
memberRowCtl
.
selectRow
);
setVisible
(
false
);
}
const
handleSubmit
=
(
value
)
=>
{
console
.
log
(
value
);
}
const
handleClick
=
()
=>
{
formActions
.
submit
()
}
return
(
<
PageHeaderWrapper
>
<
PageHeaderWrapper
// onBack={() => history.goBack()}
// backIcon={<ReutrnEle description="返回" />}
extra=
{
[
<
Button
key=
"1"
type=
"primary"
onClick=
{
handleClick
}
>
保存
</
Button
>,
]
}
>
<
Card
>
<
NiceForm
actions=
{
formActions
}
initialValues=
{
initialValue
}
expressionScope=
{
{
tableAddButton
:
tableAddButton
(),
method
:
<
SettleMethod
/>
tableColumns
:
columns
}
}
components=
{
{
Radio
}
}
// onSubmit={values => ref.current.reload
(values)}
components=
{
{
SettleMethod
}
}
onSubmit=
{
values
=>
handleSubmit
(
values
)
}
schema=
{
addSchema
}
/>
...
...
@@ -73,8 +127,8 @@ const MemberSettleAdd: React.FC = () => {
confirm=
{
handleOkAddMember
}
cancel=
{
handleCancelAddMember
}
visible=
{
visible
}
columns=
{
[]
}
//
rowSelection={memberRowSelection}
columns=
{
common_columns
}
rowSelection=
{
memberRowSelection
}
fetchTableData=
{
params
=>
fetchMemberData
(
params
)
}
tableProps=
{
{
rowKey
:
'id'
,
...
...
src/pages/balance/settleRules/memberSettle/schema/index.tsx
View file @
271b7458
...
...
@@ -33,88 +33,30 @@ export const addSchema = {
{
required
:
true
,
message
:
'请填写策略名称'
},
]
},
// methodLayout: {
// type: 'object',
// 'x-component': 'mega-layout',
// 'x-component-props': {
// grid: true,
// columns: 1,
// label: '结算方式',
// autoRow: true
// },
// properties: {
// column1: {
// type: 'object',
// 'x-component': 'mega-layout',
// 'x-component-props': {
// grid: true,
// columns: 3,
// style: {
// marginBottom: 0
// }
// },
// properties: {
// method1: {
// type: 'object',
// 'x-component': 'Radio',
// 'x-component-props': {
// children: '账期(默认)'
// }
// },
// day: {
// 'x-mega-props': {
// span: 2,
// labelCol: 6,
// wrapperCol: 8, // 独立作用域
// addonAfter: '天'
// },
// type: 'string',
// title: '账单天数',
// }
// }
// },
// column2: {
// type: 'object',
// 'x-component': 'mega-layout',
// 'x-component-props': {
// grid: true,
// columns: 4
// },
// properties: {
// method1: {
// type: 'object',
// 'x-component': 'Radio',
// 'x-component-props': {
// children: '月结'
// }
// },
// month: {
// 'x-mega-props': {
// span: 3,
// labelCol: 10,
// wrapperCol: 8, // 独立作用域
// addonAfter: '号'
// },
// type: 'string',
// title: '每月结算日期:每月',
// }
// }
// },
// }
// },
method
:
{
methods
:
{
title
:
'结算方式'
,
'x-component'
:
'Children'
,
'x-component'
:
'SettleMethod'
,
'x-rules'
:
[
{
required
:
true
,
message
:
'请填写消息'
},
{
settleMethodRule
:
true
}
],
'x-component-props'
:
{
children
:
'{{method}}'
default
:
{
active
:
1
,
otherValues
:
[
30
,
1
]
}
}
},
},
doc
:
{
type
:
'string'
,
enum
:
[],
enum
:
[
{
label
:
'1'
,
value
:
'123'
}
],
title
:
'结算单据'
,
'x-rules'
:
[
{
required
:
true
,
message
:
'请填写策略名称'
},
...
...
@@ -140,7 +82,7 @@ export const addSchema = {
'x-component-props'
:
{
rowKey
:
'id'
,
prefix
:
"{{tableAddButton}}"
,
columns
:
[]
columns
:
"{{tableColumns}}"
// columns: "{{tableColumns}}",
}
}
...
...
@@ -177,28 +119,27 @@ export const memberSchema = {
},
},
properties
:
{
customerCategoryNam
e
:
{
memberTyp
e
:
{
type
:
'string'
,
// "x-component": 'SearchSelect'
,
enum
:
[]
,
"x-component-props"
:
{
placeholder
:
'
请输入品类
'
,
placeholder
:
'
选择会员类型
'
,
// className: 'fixed-ant-selected-down',
// fetchSearch: PublicApi.getProductSelectGetSelectCategory,
}
},
brandNam
e
:
{
memberRol
e
:
{
type
:
'string'
,
// "x-component": 'SearchSelect'
,
enum
:
[]
,
"x-component-props"
:
{
placeholder
:
'请输入品牌'
,
// fetchSearch: PublicApi.getProductSelectGetSelectBrand,
placeholder
:
'选择会员角色'
,
}
},
parentMemberId
:
{
memberlevel
:
{
type
:
'string'
,
enum
:
[],
'x-component-props'
:
{
placeholder
:
'
上级渠道
'
,
placeholder
:
'
选择会员等级
'
,
},
},
submit
:
{
...
...
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