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
e4a50ec9
Commit
e4a50ec9
authored
Oct 20, 2020
by
Bill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
结算能力页面大致完成
parent
da6d156e
Show whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
2322 additions
and
77 deletions
+2322
-77
balanceRoute.ts
config/routes/balanceRoute.ts
+105
-4
bank.png
src/assets/imgs/bank.png
+0
-0
bank_account.png
src/assets/imgs/bank_account.png
+0
-0
company.png
src/assets/imgs/company.png
+0
-0
menu.ts
src/locales/zh-CN/menu.ts
+19
-1
index.tsx
src/pages/balance/accountsPayable/settlementList/index.tsx
+134
-0
logisticsDetail.tsx
...alance/accountsPayable/settlementList/logisticsDetail.tsx
+190
-0
productNoticeSettlementDetail.tsx
...sPayable/settlementList/productNoticeSettlementDetail.tsx
+190
-0
index.tsx
src/pages/balance/accountsReceivable/invoice/index.tsx
+153
-0
index.tsx
...pages/balance/accountsReceivable/settlementList/index.tsx
+134
-0
logisticsDetail.tsx
...nce/accountsReceivable/settlementList/logisticsDetail.tsx
+190
-0
productNoticeSettlementDetail.tsx
...ceivable/settlementList/productNoticeSettlementDetail.tsx
+190
-0
index.tsx
src/pages/balance/components/SchemaRadio/index.tsx
+34
-0
index.tsx
src/pages/balance/components/SchemaSwitch/index.tsx
+24
-0
index.less
src/pages/balance/components/SettleMethod/index.less
+15
-0
index.tsx
src/pages/balance/components/SettleMethod/index.tsx
+41
-0
index.tsx
...es/balance/platformSettlement/accountReceivable/index.tsx
+134
-0
info.tsx
...ges/balance/platformSettlement/accountReceivable/info.tsx
+190
-0
index.tsx
src/pages/balance/platformSettlement/integral/index.tsx
+134
-0
info.tsx
src/pages/balance/platformSettlement/integral/info.tsx
+190
-0
index.less
src/pages/balance/settleRules/corporateAccount/index.less
+13
-1
index.tsx
src/pages/balance/settleRules/corporateAccount/index.tsx
+110
-10
index.tsx
src/pages/balance/settleRules/memberSettle/index.tsx
+41
-15
info.tsx
src/pages/balance/settleRules/memberSettle/info.tsx
+1
-28
index.less
src/pages/balance/settleRules/receipt/index.less
+6
-1
index.tsx
src/pages/balance/settleRules/receipt/index.tsx
+39
-8
info.tsx
src/pages/balance/settleRules/receipt/info.tsx
+45
-9
No files found.
config/routes/balanceRoute.ts
View file @
e4a50ec9
...
...
@@ -7,7 +7,7 @@
/*
* @Author: Bill
* @Date: 2020-10-12 09:45:20
* @LastEditTime: 2020-10-
19 17:27:15
* @LastEditTime: 2020-10-
20 17:33:20
* @Description: 加工能力路由
*/
...
...
@@ -44,6 +44,7 @@ const HandlingRoute = {
name
:
'receiptInfoAdd'
,
icon
:
'smile'
,
component
:
'@/pages/balance/settleRules/receipt/info'
,
hideInMenu
:
true
,
},
// 结算规则配置 -> 发票详情
{
...
...
@@ -51,6 +52,7 @@ const HandlingRoute = {
name
:
'receiptInfo'
,
icon
:
'smile'
,
component
:
'@/pages/balance/settleRules/receipt/info'
,
hideInMenu
:
true
,
},
// 结算规则配置 -> 会员结算策略
{
...
...
@@ -64,13 +66,112 @@ const HandlingRoute = {
path
:
'/memberCenter/balance/settleRules/memberSettleList/add'
,
name
:
'memberSettleAdd'
,
icon
:
'smile'
,
component
:
'@/pages/balance/settleRules/memberSettle/
add
'
component
:
'@/pages/balance/settleRules/memberSettle/
info
'
},
]
},
// 平台结算管理
{
path
:
'/memberCenter/balance/platformSettlement'
,
name
:
'platformSettlement'
,
key
:
'platformSettlement'
,
routes
:
[
// 平台结算管理 -> 平台待收账款
{
path
:
'/memberCenter/balance/platformSettlement/accountReceivable'
,
name
:
'accountReceivable'
,
icon
:
'smile'
,
component
:
'@/pages/balance/platformSettlement/accountReceivable'
},
// 平台结算管理 -> 平台代收账款结算详情
{
path
:
'/memberCenter/balance/platformSettlement/accountReceivable/detail'
,
name
:
'accountReceivableInfo'
,
icon
:
'smile'
,
component
:
'@/pages/balance/platformSettlement/accountReceivable/info'
},
// 平台结算管理 -> 积分结算列表页
{
path
:
'/memberCenter/balance/platformSettlement/integral'
,
name
:
'integral'
,
icon
:
'smile'
,
component
:
'@/pages/balance/platformSettlement/integral'
},
// 平台结算管理 -> 积分结算详情页
{
path
:
'/memberCenter/balance/platformSettlement/integral/detail'
,
name
:
'integralInfo'
,
icon
:
'smile'
,
component
:
'@/pages/balance/platformSettlement/integral/info'
}
]
},
// 应付账款管理
{
path
:
'/memberCenter/balance/accountsPayable'
,
name
:
'accountsPayable'
,
key
:
'accountsPayable'
,
routes
:
[
// 应付账款管理 -> 应付账款结算列表页
{
path
:
'/memberCenter/balance/accountsPayable/settlementList'
,
name
:
'settlementList'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsPayable/settlementList'
},
// 应付账款管理 -> 物流单结算明细
{
path
:
'/memberCenter/balance/accountsPayable/settlementList/logisticsDetail'
,
name
:
'logisticsDetail'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsPayable/settlementList/logisticsDetail'
},
// 应付账款管理 -> 生产通知单结算明细
{
path
:
'/memberCenter/balance/accountsPayable/settlementList/productNoticeSettlementDetail'
,
name
:
'productNoticeSettlementDetail'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsPayable/settlementList/productNoticeSettlementDetail'
}
]
},
// 应收账款管理
{
path
:
'/memberCenter/balance/accountsReceivable'
,
name
:
'accountsReceivable'
,
key
:
'accountsReceivable'
,
routes
:
[
// 应收账款管理 -> 应收账款结算列表
{
path
:
'/memberCenter/balance/accountsReceivable/settlementList'
,
name
:
'settlementList'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsReceivable/settlementList'
},
// 应收账款管理 -> 物流单结算明细
{
path
:
'/memberCenter/balance/accountsReceivable/settlementList/logisticsDetail'
,
name
:
'logisticsDetail'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsReceivable/settlementList/logisticsDetail'
},
// 应收账款管理 -> 生产通知单结算明细
{
path
:
'/memberCenter/balance/accountsReceivable/settlementList/productNoticeSettlementDetail'
,
name
:
'productNoticeSettlementDetail'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsReceivable/settlementList/productNoticeSettlementDetail'
},
// 应收账款管理 -> 开票管理
{
path
:
'/memberCenter/balance/accountsReceivable/invoice'
,
name
:
'invoice'
,
icon
:
'smile'
,
component
:
'@/pages/balance/accountsReceivable/invoice'
}
]
},
]
}
...
...
src/assets/imgs/bank.png
0 → 100644
View file @
e4a50ec9
2.73 KB
src/assets/imgs/bank_account.png
0 → 100644
View file @
e4a50ec9
2.22 KB
src/assets/imgs/company.png
0 → 100644
View file @
e4a50ec9
2.88 KB
src/locales/zh-CN/menu.ts
View file @
e4a50ec9
...
...
@@ -6,8 +6,12 @@
* @LastEditTime: 2020-10-26 18:20:31
=======
* @LastEditors: Please set LastEditors
<<<<<<< HEAD
* @LastEditTime: 2020-10-19 17:28:01
>>>>>>> 69aca0d8... 添加结算 结算规则配置
=======
* @LastEditTime: 2020-10-20 13:40:28
>>>>>>> 26b20691... 结算能力页面大致完成
*/
export
default
{
...
...
@@ -502,5 +506,18 @@ export default {
'menu.balance.settleRules.receiptInfoAdd'
:
'新增发票信息'
,
'menu.balance.settleRules.receiptInfo'
:
'发票详情'
,
'menu.balance.settleRules.memberSettleAdd'
:
'新增会员结算策略'
,
'menu.balance.platformSettlement'
:
'平台结算管理'
,
'menu.balance.platformSettlement.accountReceivable'
:
'平台代收账款结算'
,
'menu.balance.platformSettlement.accountReceivableInfo'
:
'平台代收账款结算明细'
,
'menu.balance.platformSettlement.integral'
:
'平台积分管理'
,
'menu.balance.platformSettlement.integralInfo'
:
'平台积分管理详情'
,
'menu.balance.accountsPayable'
:
'应付账款管理'
,
'menu.balance.accountsPayable.settlementList'
:
'应付账款结算'
,
'menu.balance.accountsPayable.logisticsDetail'
:
'物流通知单结算明细'
,
'menu.balance.accountsPayable.productNoticeSettlementDetail'
:
'生产通知单结算明细'
,
'menu.balance.accountsReceivable'
:
'应收账款结算'
,
'menu.balance.accountsReceivable.settlementList'
:
'应付账款结算'
,
'menu.balance.accountsReceivable.logisticsDetail'
:
'物流通知单结算明细'
,
'menu.balance.accountsReceivable.productNoticeSettlementDetail'
:
'生产通知单结算明细'
,
'menu.balance.accountsReceivable.invoice'
:
'开票管理'
,
};
\ No newline at end of file
src/pages/balance/accountsPayable/settlementList/index.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 11:04:07
* @Description: 应付账款结算
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
}
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'
;
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
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.name'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
SettlementList
src/pages/balance/accountsPayable/settlementList/logisticsDetail.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 10:54:00
* @Description: 积分结算详情页
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
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'
;
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
logisticsDetail
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchListData
=
async
(
params
)
=>
{
return
{}
}
return
(
<
PageHeaderWrapper
title=
{
<>
<
PageHeader
style=
{
{
padding
:
'0'
}
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<
AvatarWrap
info=
{
{
name
:
"通知单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
)
}
/>
}
>
<
Descriptions
column=
{
3
}
style=
{
{
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
>
</
PageHeader
>
</>
}
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
<
div
>
<
Button
>
导出
</
Button
>
</
div
>
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.search'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
logisticsDetail
\ No newline at end of file
src/pages/balance/accountsPayable/settlementList/productNoticeSettlementDetail.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 10:54:00
* @Description: 积分结算详情页
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
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'
;
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
ProductNoticeSettlementDetail
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchListData
=
async
(
params
)
=>
{
return
{}
}
return
(
<
PageHeaderWrapper
title=
{
<>
<
PageHeader
style=
{
{
padding
:
'0'
}
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<
AvatarWrap
info=
{
{
name
:
"通知单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
)
}
/>
}
>
<
Descriptions
column=
{
3
}
style=
{
{
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
>
</
PageHeader
>
</>
}
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
<
div
>
<
Button
>
导出
</
Button
>
</
div
>
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.search'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
ProductNoticeSettlementDetail
\ No newline at end of file
src/pages/balance/accountsReceivable/invoice/index.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 11:04:07
* @Description: 应付账款结算
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
}
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'
;
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
SettlementList
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
fetchListData
=
async
(
params
)
=>
{
return
{}
}
return
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
<
div
>
<
Button
>
导出
</
Button
>
</
div
>
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.search'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
SettlementList
src/pages/balance/accountsReceivable/settlementList/index.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 11:04:07
* @Description: 应付账款结算
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
}
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'
;
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
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.name'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
SettlementList
src/pages/balance/accountsReceivable/settlementList/logisticsDetail.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 10:54:00
* @Description: 积分结算详情页
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
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'
;
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
logisticsDetail
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchListData
=
async
(
params
)
=>
{
return
{}
}
return
(
<
PageHeaderWrapper
title=
{
<>
<
PageHeader
style=
{
{
padding
:
'0'
}
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<
AvatarWrap
info=
{
{
name
:
"通知单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
)
}
/>
}
>
<
Descriptions
column=
{
3
}
style=
{
{
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
>
</
PageHeader
>
</>
}
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
<
div
>
<
Button
>
导出
</
Button
>
</
div
>
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.search'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
logisticsDetail
\ No newline at end of file
src/pages/balance/accountsReceivable/settlementList/productNoticeSettlementDetail.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 10:54:00
* @Description: 积分结算详情页
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
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'
;
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
ProductNoticeSettlementDetail
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchListData
=
async
(
params
)
=>
{
return
{}
}
return
(
<
PageHeaderWrapper
title=
{
<>
<
PageHeader
style=
{
{
padding
:
'0'
}
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<
AvatarWrap
info=
{
{
name
:
"通知单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
)
}
/>
}
>
<
Descriptions
column=
{
3
}
style=
{
{
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
>
</
PageHeader
>
</>
}
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
<
div
>
<
Button
>
导出
</
Button
>
</
div
>
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.search'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
ProductNoticeSettlementDetail
\ No newline at end of file
src/pages/balance/components/SchemaRadio/index.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: your name
* @Date: 2020-10-20 16:25:45
* @Description: switch 组件
*/
import
React
from
'react'
;
import
{
Radio
}
from
'antd'
;
const
SchemaRadio
=
(
props
)
=>
{
const
editable
=
props
.
editable
;
const
componentProps
=
props
.
props
[
"x-component-props"
];
const
options
=
componentProps
.
enum
const
handleChange
=
(
checked
)
=>
{
props
.
mutators
.
change
(
checked
)
}
return
(
<
Radio
.
Group
onChange=
{
handleChange
}
value=
{
props
.
value
||
componentProps
.
default
}
>
{
options
.
map
((
item
)
=>
{
return
(
<
Radio
value=
{
item
.
value
}
key=
{
item
.
value
}
>
{
item
.
label
}
</
Radio
>
)
})
}
</
Radio
.
Group
>
)
}
SchemaRadio
.
isFieldComponent
=
true
;
export
default
SchemaRadio
\ No newline at end of file
src/pages/balance/components/SchemaSwitch/index.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: your name
* @Date: 2020-10-20 16:25:45
* @Description: switch 组件
*/
import
React
from
'react'
;
import
{
Switch
}
from
'antd'
;
const
SchemaSwitch
=
(
props
)
=>
{
const
editable
=
props
.
editable
;
const
handleChange
=
(
checked
)
=>
{
props
.
mutators
.
change
(
checked
)
}
return
(
<
Switch
disabled=
{
!
editable
}
checked=
{
props
.
value
}
onChange=
{
handleChange
}
/>
)
}
SchemaSwitch
.
isFieldComponent
=
true
;
export
default
SchemaSwitch
\ No newline at end of file
src/pages/balance/components/SettleMethod/index.less
0 → 100644
View file @
e4a50ec9
.flexRow() {
display: flex;
flex-direction: row;
}
.period {
.flexRow();
margin-bottom: 20px;
.days {
.flexRow();
margin-left: 25px;
}
}
\ No newline at end of file
src/pages/balance/components/SettleMethod/index.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: bILL
* @Date: 2020-10-20 17:39:16
* @Description: 新增会员结算结算方式
*/
import
React
from
'react'
;
import
{
Radio
,
Input
}
from
'antd'
;
import
{
QuestionCircleOutlined
}
from
'@ant-design/icons'
;
import
styles
from
'./index.less'
const
SettleMethod
=
(
props
)
=>
{
console
.
log
(
props
);
return
(
<
div
>
<
div
className=
{
styles
.
period
}
>
<
div
>
<
Radio
>
账期(默认)
</
Radio
>
<
QuestionCircleOutlined
/>
</
div
>
<
div
className=
{
styles
.
days
}
>
<
div
style=
{
{
marginRight
:
'20px'
}
}
>
账期天数
</
div
>
<
div
><
Input
addonAfter=
{
"天"
}
/></
div
>
</
div
>
</
div
>
<
div
className=
{
styles
.
period
}
>
<
div
>
<
Radio
>
月结
</
Radio
><
QuestionCircleOutlined
/>
</
div
>
<
div
className=
{
styles
.
days
}
>
<
div
style=
{
{
marginRight
:
'20px'
}
}
>
每月结算日期:每月
</
div
>
<
div
><
Input
addonAfter=
{
"号"
}
/></
div
>
</
div
>
</
div
>
</
div
>
)
}
export
default
SettleMethod
;
\ No newline at end of file
src/pages/balance/platformSettlement/accountReceivable/index.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: your name
* @Date: 2020-10-20 09:37:53
* @Description: 平台代收账款结算
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
}
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'
;
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
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.name'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
AccountReceivable
\ No newline at end of file
src/pages/balance/platformSettlement/accountReceivable/info.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 09:59:50
* @Description: 平台代收账款结算详情
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
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'
;
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
Info
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchListData
=
async
(
params
)
=>
{
return
{}
}
return
(
<
PageHeaderWrapper
title=
{
<>
<
PageHeader
style=
{
{
padding
:
'0'
}
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<
AvatarWrap
info=
{
{
name
:
"通知单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
)
}
/>
}
>
<
Descriptions
column=
{
3
}
style=
{
{
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
>
</
PageHeader
>
</>
}
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
<
div
>
<
Button
>
导出
</
Button
>
</
div
>
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.search'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
Info
src/pages/balance/platformSettlement/integral/index.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 10:43:33
* @Description: 积分结算列表
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
Button
}
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'
;
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
(
<
PageHeaderWrapper
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.name'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
Integral
\ No newline at end of file
src/pages/balance/platformSettlement/integral/info.tsx
0 → 100644
View file @
e4a50ec9
/*
* @Author: Bill
* @Date: 2020-10-20 10:54:00
* @Description: 积分结算详情页
*/
import
React
,
{
useRef
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
{
Card
,
PageHeader
,
Descriptions
,
Button
}
from
'antd'
;
import
{
history
}
from
'umi'
;
import
AvatarWrap
from
'@/components/AvatarWrap'
;
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'
;
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
Info
:
React
.
FC
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchListData
=
async
(
params
)
=>
{
return
{}
}
return
(
<
PageHeaderWrapper
title=
{
<>
<
PageHeader
style=
{
{
padding
:
'0'
}
}
onBack=
{
()
=>
history
.
goBack
()
}
title=
{
<
AvatarWrap
info=
{
{
name
:
"通知单号:"
}
}
extra=
{
(
<
span
style=
{
{
fontSize
:
12
,
fontWeight
:
'normal'
}
}
>
{
"TPTY12"
}
</
span
>
)
}
/>
}
>
<
Descriptions
column=
{
3
}
style=
{
{
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
>
</
PageHeader
>
</>
}
>
<
Card
>
<
StandardTable
tableProps=
{
{
rowKey
:
'id'
,
}
}
columns=
{
[]
}
currentRef=
{
ref
}
fetchTableData=
{
(
params
:
any
)
=>
fetchListData
(
params
)
}
controlRender=
{
<
NiceForm
actions=
{
formActions
}
expressionScope=
{
{
exportBtn
:
(
<
div
>
<
Button
>
导出
</
Button
>
</
div
>
)
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.topLayout.search'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
/>
}
/>
</
Card
>
</
PageHeaderWrapper
>
)
}
export
default
Info
\ No newline at end of file
src/pages/balance/settleRules/corporateAccount/index.less
View file @
e4a50ec9
@margin-bottom: 24px;
@font-size: 14px;
@margin-right: 16px;
@color: #909399;
.item {
display: flex;
...
...
@@ -16,14 +17,24 @@
height: 48px;
border-radius: 50%;
margin-right: @margin-right;
background-color: red;
.img {
width: 100%;
height: 100%;
}
}
.itemName {
margin-right: @margin-right;
color: @color;
}
.itemValue {
margin-right: @margin-right;;
color: #303133;
}
.edit {
cursor: pointer;
}
}
\ No newline at end of file
src/pages/balance/settleRules/corporateAccount/index.tsx
View file @
e4a50ec9
import
React
,
{
useState
}
from
'react'
;
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
styles
from
'./index.less'
import
{
FormOutlined
}
from
'@ant-design/icons'
;
import
{
Input
}
from
'antd'
;
import
{
Button
,
Input
,
Space
}
from
'antd'
;
import
bank
from
'@/assets/imgs/bank.png'
;
import
bank_account
from
'@/assets/imgs/bank_account.png'
;
import
company
from
'@/assets/imgs/company.png'
;
import
config
from
'config/config'
;
interface
Config
{
name
:
string
,
image
:
any
,
value
:
string
,
isEdit
:
boolean
,
canEdit
:
boolean
,
cacheValue
:
string
,
changeEdit
?:
any
,
}
const
CONFIGS
:
Config
[]
=
[
{
name
:
'账号名称'
,
image
:
company
,
value
:
'广州市数商云网络科技有限公司'
,
cacheValue
:
'广州市数商云网络科技有限公司'
,
isEdit
:
false
,
canEdit
:
false
},
{
name
:
'银行账号'
,
image
:
bank_account
,
value
:
'6214 7812 3456 7891 1234'
,
cacheValue
:
'6214 7812 3456 7891 1234'
,
isEdit
:
false
,
canEdit
:
true
},
{
name
:
'开户行'
,
image
:
bank
,
value
:
'中国建设银行广州市分行营业部'
,
cacheValue
:
'中国建设银行广州市分行营业部'
,
isEdit
:
false
,
canEdit
:
true
},
]
const
ItemRender
:
React
.
FC
<
Config
>
=
(
props
)
=>
{
const
{
isEdit
,
name
,
canEdit
,
value
,
image
,
changeEdit
}
=
props
;
// const [inputValue, setInputValue] = useState(value);
const
handleClick
=
(
name
:
string
)
=>
{
changeEdit
(
name
,
{
isEdit
:
true
},
'change'
)
}
const
handleChange
=
(
value
:
string
,
name
:
string
)
=>
{
changeEdit
(
name
,
{
value
:
value
},
'change'
)
}
const
handleCancel
=
(
name
:
string
)
=>
{
changeEdit
(
name
,
{
isEdit
:
false
},
'cancel'
)
}
const
handleConfirm
=
(
name
:
string
)
=>
{
changeEdit
(
name
,
{
isEdit
:
false
},
'confirm'
);
}
const
ItemRender
=
()
=>
{
const
[
isEdit
,
setIsEdit
]
=
useState
(
false
)
return
(
<
div
className=
{
styles
.
item
}
>
<
div
className=
{
styles
.
image
}
></
div
>
<
div
className=
{
styles
.
itemName
}
>
账户名称
</
div
>
<
div
className=
{
styles
.
itemValue
}
>
{
isEdit
?
<
Input
/>
:
"广州市数商云网络科技有限公司"
}
</
div
>
<
div
className=
{
styles
.
edit
}
onClick=
{
()
=>
setIsEdit
(
true
)
}
>
<
div
className=
{
styles
.
image
}
>
<
img
src=
{
image
}
className=
{
styles
.
img
}
/>
</
div
>
<
div
className=
{
styles
.
itemName
}
>
{
name
}
</
div
>
<
div
className=
{
styles
.
itemValue
}
>
{
isEdit
?
<
Input
value=
{
value
}
onChange=
{
(
e
)
=>
handleChange
(
e
.
target
.
value
,
name
)
}
/>
:
value
}
</
div
>
{
canEdit
?
!
isEdit
?
<
div
className=
{
styles
.
edit
}
onClick=
{
()
=>
handleClick
(
name
)
}
>
<
FormOutlined
/>
</
div
>
:
<
div
>
<
Space
>
<
Button
type=
"primary"
onClick=
{
()
=>
handleConfirm
(
name
)
}
>
确定
</
Button
>
<
Button
onClick=
{
()
=>
handleCancel
(
name
)
}
>
取消
</
Button
>
</
Space
>
</
div
>
:
null
}
</
div
>
)
}
const
CorporateAccount
=
()
=>
{
const
[
configs
,
setConfigs
]
=
useState
<
Config
[]
>
(
CONFIGS
);
const
changeEdit
=
(
name
:
string
,
res
:
any
,
type
:
string
)
=>
{
let
temp
=
[...
configs
];
const
index
=
temp
.
findIndex
((
row
)
=>
row
.
name
===
name
);
const
target
=
temp
[
index
];
if
(
type
==
'change'
)
{
temp
[
index
]
=
{
...
target
,
...
res
,
}
}
else
if
(
type
==
'cancel'
)
{
temp
[
index
]
=
{
...
target
,
...
res
,
value
:
type
==
'cancel'
?
target
.
cacheValue
:
target
.
value
,
}
}
else
if
(
type
==
'confirm'
)
{
temp
[
index
]
=
{
...
target
,
...
res
,
cacheValue
:
type
==
'confirm'
?
target
.
value
:
target
.
cacheValue
}
}
setConfigs
(
temp
);
}
useEffect
(()
=>
{
// 进行基础赋值, fetchData
},
[])
return
(
<
PageHeaderWrapper
>
{
[
1
,
2
,
3
].
map
((
item
,
key
)
=>
{
configs
.
map
((
item
:
Config
,
key
)
=>
{
return
(
<
ItemRender
key=
{
key
}
/>
<
ItemRender
key=
{
item
.
name
}
{
...
item
}
changeEdit=
{
changeEdit
}
/>
)
})
}
...
...
src/pages/balance/settleRules/memberSettle/index.tsx
View file @
e4a50ec9
...
...
@@ -11,8 +11,11 @@ import NiceForm from '@/components/NiceForm';
import
{
StandardTable
}
from
'god'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
StatusSwitch
from
'@/components/StatusSwitch'
;
import
{
createFormActions
,
FormEffectHooks
,
FormPath
}
from
'@formily/antd'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
;
import
{
ColumnsType
}
from
'antd/es/table'
;
const
formActions
=
createFormActions
();
...
...
@@ -53,7 +56,23 @@ const schema = {
}
}
const
columns
=
[
const
MemberSettle
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchData
=
async
(
params
:
any
)
=>
{
console
.
log
(
params
);
// let res = await PublicApi.getMemberAbilityInfoPage(params);
// return res.data;
return
{}
};
const
handleModify
=
(
record
)
=>
{
console
.
log
(
record
);
}
const
columns
:
ColumnsType
<
any
>
=
[
{
title
:
'ID'
,
dataIndex
:
'id'
,
...
...
@@ -61,6 +80,17 @@ const columns = [
{
title
:
'策略名称'
,
dataIndex
:
'name'
,
render
:
(
text
,
record
)
=>
{
return
(
<
div
>
<
EyePreview
url=
{
`/content/columnInfo?id=${record.id}&preview=1`
}
>
{
text
}
</
EyePreview
>
</
div
>
)
}
},
{
title
:
'结算方式'
,
...
...
@@ -73,21 +103,17 @@ const columns = [
{
title
:
'状态'
,
dataIndex
:
'status'
,
render
:
(
text
,
record
)
=>
{
return
(
<
StatusSwitch
handleConfirm=
{
()
=>
handleModify
(
record
)
}
record=
{
record
}
fieldNames=
"status"
/>
)
}
},
]
const
MemberSettle
:
React
.
FC
<
{}
>
=
()
=>
{
const
ref
=
useRef
<
any
>
({});
const
fetchData
=
async
(
params
:
any
)
=>
{
console
.
log
(
params
);
// let res = await PublicApi.getMemberAbilityInfoPage(params);
// return res.data;
return
{}
};
]
return
(
<
PageHeaderWrapper
title=
{
"生产通知单查询"
}
...
...
src/pages/balance/settleRules/memberSettle/
add
.tsx
→
src/pages/balance/settleRules/memberSettle/
info
.tsx
View file @
e4a50ec9
...
...
@@ -19,37 +19,10 @@ 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'
;
const
formActions
=
createFormActions
();
const
flexRowStyle
=
{
display
:
'flex'
,
flexDirection
:
'row'
};
const
SettleMethod
=
()
=>
{
return
(
<
div
>
<
div
style=
{
{...
flexRowStyle
,
marginBottom
:
'20px'
}
}
>
<
div
>
<
Radio
>
账期(默认)
</
Radio
>
<
QuestionCircleOutlined
/>
</
div
>
<
div
style=
{
{...
flexRowStyle
,
marginLeft
:
'20px'
}
}
>
<
div
style=
{
{
marginRight
:
'20px'
}
}
>
账期天数
</
div
>
<
div
><
Input
addonAfter=
{
"天"
}
/></
div
>
</
div
>
</
div
>
<
div
style=
{
{...
flexRowStyle
}
}
>
<
div
>
<
Radio
>
月结
</
Radio
><
QuestionCircleOutlined
/>
</
div
>
<
div
style=
{
{...
flexRowStyle
,
marginLeft
:
'20px'
}
}
>
<
div
style=
{
{
marginRight
:
'20px'
}
}
>
每月结算日期:每月
</
div
>
<
div
><
Input
addonAfter=
{
"号"
}
/></
div
>
</
div
>
</
div
>
</
div
>
)
}
const
MemberSettleAdd
:
React
.
FC
=
()
=>
{
const
[
visible
,
setVisible
]
=
useState
(
false
)
const
tableAddButton
=
()
=>
{
...
...
src/pages/balance/settleRules/receipt/index.less
View file @
e4a50ec9
...
...
@@ -19,6 +19,10 @@
.edit {
margin-right: 12px;
cursor: pointer;
}
.remove {
cursor: pointer;
}
}
}
...
...
@@ -37,5 +41,5 @@
background: #FAFBFC;
border-radius: 2px;
border: 1px solid #DCDFE6;
cursor: pointer;
}
\ No newline at end of file
src/pages/balance/settleRules/receipt/index.tsx
View file @
e4a50ec9
...
...
@@ -4,22 +4,34 @@
* @desc 发票管理 发票列表
*/
import
React
from
'react'
;
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
Row
,
Col
,
Switch
}
from
'antd'
;
import
{
FormOutlined
,
DeleteOutlined
,
PlusOutlined
}
from
'@ant-design/icons'
import
styles
from
'./index.less'
import
styles
from
'./index.less'
;
import
{
history
,
Link
}
from
'umi'
;
interface
iProps
{
}
const
ReceiptItem
:
React
.
FC
=
()
=>
{
interface
ItemIprops
{
onRemove
:
any
}
const
ReceiptItem
:
React
.
FC
<
ItemIprops
>
=
(
props
)
=>
{
const
handleRouterPush
=
()
=>
{
history
.
push
(
'/memberCenter/balance/settleRules/receiptList/detail'
);
}
const
handleDelete
=
(
id
)
=>
{
console
.
log
(
props
);
props
.
onRemove
(
id
);
}
return
(
<
div
className=
{
styles
.
item
}
>
<
div
className=
{
styles
.
controller
}
>
<
div
className=
{
styles
.
edit
}
><
FormOutlined
/></
div
>
<
div
><
DeleteOutlined
/></
div
>
<
div
className=
{
styles
.
edit
}
onClick=
{
handleRouterPush
}
><
FormOutlined
/></
div
>
<
div
className=
{
styles
.
remove
}
onClick=
{
()
=>
handleDelete
(
1
)
}
><
DeleteOutlined
/></
div
>
</
div
>
<
Row
className=
{
styles
.
row
}
>
<
Col
span=
{
6
}
>
发票品类
</
Col
>
...
...
@@ -51,13 +63,32 @@ const ReceiptItem: React.FC = () => {
</
Row
>
<
Row
>
<
Col
span=
{
6
}
>
是否默认
</
Col
>
<
Col
span=
{
18
}
><
Switch
/></
Col
>
<
Col
span=
{
18
}
><
Switch
disabled
checked=
{
true
}
/></
Col
>
</
Row
>
</
div
>
)
}
const
Receipt
:
React
.
FC
<
iProps
>
=
()
=>
{
const
[
list
,
setList
]
=
useState
([]);
useEffect
(()
=>
{
// fetchData
async
function
fetchData
()
{
}
// fetchData()
},
[])
const
handleRouterAdd
=
()
=>
{
history
.
push
(
'/memberCenter/balance/settleRules/receiptList/add'
)
}
// 删除发票
const
remove
=
(
id
:
number
)
=>
{
console
.
log
(
id
);
}
return
(
<
PageHeaderWrapper
>
<
Row
gutter=
{
24
}
>
...
...
@@ -65,14 +96,14 @@ const Receipt: React.FC<iProps> = () => {
[
1
,].
map
((
item
)
=>
{
return
(
<
Col
span=
{
8
}
key=
{
item
}
className=
{
styles
.
margin
}
>
<
ReceiptItem
/>
<
ReceiptItem
onRemove=
{
remove
}
/>
</
Col
>
)
})
}
<
Col
span=
{
8
}
className=
{
styles
.
margin
}
>
<
div
className=
{
styles
.
add
}
>
<
div
className=
{
styles
.
add
}
onClick=
{
handleRouterAdd
}
>
<
div
>
<
PlusOutlined
/>
</
div
>
...
...
src/pages/balance/settleRules/receipt/info.tsx
View file @
e4a50ec9
...
...
@@ -4,11 +4,13 @@
* @Description: 结算规则配置 -> 发票管理 -> 新增发票 / 修改发票
*/
import
React
from
'react'
;
import
React
,
{
useState
,
useEffect
}
from
'react'
;
import
NiceForm
from
'@/components/NiceForm'
;
import
{
createFormActions
,
FormButtonGroup
,
Submit
,
Reset
}
from
'@formily/antd'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
;
import
{
Card
,
Switch
,
Button
}
from
'antd'
;
import
SchemaSwitch
from
'../../components/SchemaSwitch'
;
import
SchemaRadio
from
'../../components/SchemaRadio'
;
const
formActions
=
createFormActions
();
...
...
@@ -25,32 +27,48 @@ const schema = {
},
properties
:
{
consignor
:
{
type
:
'
radio
'
,
type
:
'
string
'
,
title
:
'发货人'
,
'x-component'
:
'SchemaRadio'
,
'x-component-props'
:
{
default
:
1
,
enum
:
[
{
label
:
'企业(默认)'
,
value
:
1
},
{
label
:
'个人'
,
value
:
2
},
],
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择发货人'
}
]
},
type
:
{
type
:
'
radio
'
,
type
:
'
string
'
,
title
:
'发货种类'
,
'x-component'
:
'SchemaRadio'
,
'x-component-props'
:
{
default
:
1
,
enum
:
[
{
label
:
'增值税普通发票(默认)'
,
value
:
1
},
{
label
:
'增值税专用发票'
,
value
:
2
}
],
},
'x-rules'
:
[
{
required
:
true
,
message
:
'请选择发货种类'
}
]
},
invoiceTitle
:
{
type
:
'string'
,
title
:
'发票抬头'
,
'x-rule'
:
[
'x-rule
s
'
:
[
{
required
:
true
,
message
:
'请填写发票抬头'
}
]
],
},
taxNumber
:
{
type
:
'string'
,
title
:
'纳税号'
,
'x-rule'
:
[
'x-rule
s
'
:
[
{
required
:
true
,
message
:
'请填写发票抬头'
}
]
},
...
...
@@ -98,7 +116,7 @@ const schema = {
isDefault
:
{
type
:
'object'
,
title
:
'是否默认'
,
'x-component'
:
'Switch'
'x-component'
:
'S
chemaS
witch'
},
}
...
...
@@ -107,14 +125,32 @@ const schema = {
}
const
Info
:
React
.
FC
=
()
=>
{
const
[
initialValue
,
setInitialValue
]
=
useState
({});
const
handleSubmit
=
(
value
)
=>
{
console
.
log
(
value
);
}
useEffect
(()
=>
{
async
function
fetchData
()
{
setInitialValue
({
consignor
:
2
,
type
:
2
,
address
:
'fuck you'
,
isDefault
:
true
})
}
fetchData
();
},
[])
return
(
<
PageHeaderWrapper
>
<
Card
>
<
NiceForm
components=
{
{
S
witch
}
}
components=
{
{
S
chemaSwitch
,
SchemaRadio
}
}
actions=
{
formActions
}
initialValues=
{
initialValue
}
expressionScope=
{
{}
}
// onSubmit={values => ref.current.reload(values)
}
onSubmit=
{
handleSubmit
}
schema=
{
schema
}
>
<
FormButtonGroup
offset=
{
4
}
>
...
...
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