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
1945326c
Commit
1945326c
authored
Oct 29, 2020
by
Bill
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
4aa1ba56
7f749d46
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
477 additions
and
191 deletions
+477
-191
index.tsx
src/pages/balance/accountsPayable/settlementList/index.tsx
+3
-6
index.less
src/pages/balance/accountsReceivable/invoice/index.less
+5
-0
index.tsx
src/pages/balance/accountsReceivable/invoice/index.tsx
+33
-10
index.tsx
...pages/balance/accountsReceivable/invoice/schema/index.tsx
+8
-4
index.tsx
...pages/balance/accountsReceivable/settlementList/index.tsx
+2
-6
index.tsx
src/pages/balance/common/index.tsx
+11
-0
type.d.ts
src/pages/balance/common/type.d.ts
+68
-2
InvoiceArray.tsx
src/pages/balance/components/InvoiceCreate/InvoiceArray.tsx
+0
-1
InvoiceDrawer.tsx
src/pages/balance/components/InvoiceCreate/InvoiceDrawer.tsx
+117
-43
InvoiceInfo.tsx
src/pages/balance/components/InvoiceCreate/InvoiceInfo.tsx
+5
-3
index.less
src/pages/balance/components/InvoiceCreate/index.less
+28
-0
index.tsx
src/pages/balance/components/StatusActions/index.tsx
+1
-2
index.less
src/pages/balance/components/StatusTag/index.less
+4
-0
index.tsx
src/pages/balance/components/StatusTag/index.tsx
+52
-5
index.tsx
src/pages/balance/components/UploadPayVoucher/index.tsx
+1
-1
index.tsx
...es/balance/platformSettlement/accountReceivable/index.tsx
+70
-22
index.tsx
...nce/platformSettlement/accountReceivable/schema/index.tsx
+20
-13
index.tsx
src/pages/balance/platformSettlement/integral/index.tsx
+27
-56
info.tsx
src/pages/balance/platformSettlement/integral/info.tsx
+0
-1
info.tsx
src/pages/balance/settleRules/memberSettle/info.tsx
+22
-16
No files found.
src/pages/balance/accountsPayable/settlementList/index.tsx
View file @
1945326c
...
...
@@ -19,6 +19,8 @@ import StatusActions from '../../components/StatusActions';
import
{
PublicApi
}
from
'@/services/api'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
Moment
}
from
'moment'
;
import
{
payStatus
}
from
'../../common'
;
const
formActions
=
createFormActions
();
interface
SearchParams
{
...
...
@@ -75,12 +77,7 @@ const SettlementList = () => {
{
title
:
'支付方式'
,
dataIndex
:
'payWayName'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
filters
:
[
{
text
:
'待对账'
,
value
:
1
},
{
text
:
'待付款'
,
value
:
2
},
{
text
:
'待收款'
,
value
:
3
},
{
text
:
'以完成'
,
value
:
4
},
],
filters
:
payStatus
,
onFilter
:
(
value
:
number
,
record
:
any
)
=>
record
.
status
==
value
,
render
:
(
text
:
string
,
record
:
any
)
=>
{
return
(
...
...
src/pages/balance/accountsReceivable/invoice/index.less
0 → 100644
View file @
1945326c
.text {
color: @main-color;
cursor: pointer;
}
\ No newline at end of file
src/pages/balance/accountsReceivable/invoice/index.tsx
View file @
1945326c
...
...
@@ -17,7 +17,8 @@ import { schema } from './schema';
import
ModalContainer
from
'../../components/ModalContainer'
import
InvoiceCreate
from
'../../components/InvoiceCreate'
import
{
PublicApi
}
from
'@/services/api'
import
PayStatusTag
from
'@/components/StatusTag'
;
import
StatusTag
from
'../../components/StatusTag'
;
import
styles
from
'./index.less'
const
RangePicker
=
DatePicker
.
RangePicker
;
const
formActions
=
createFormActions
();
...
...
@@ -29,7 +30,7 @@ const columns = [
return
(
<
div
>
<
p
>
{
record
.
orderNo
}
</
p
>
<
Tag
>
{
record
.
settlementOrderTypeName
}
</
Tag
>
<
StatusTag
text=
{
record
.
settlementOrderTypeName
}
/
>
</
div
>
)
}
...
...
@@ -55,7 +56,7 @@ const columns = [
return
(
<
div
>
<
p
>
第
{
record
.
batch
}
次
</
p
>
<
p
>
{
record
.
payNode
}
</
p
>
<
p
>
{
record
.
payNode
}
</
p
>
</
div
>
)
}
...
...
@@ -65,11 +66,15 @@ const columns = [
{
title
:
'开票状态'
,
dataIndex
:
'invoiceStatus'
,
filters
:
[
{
text
:
'未开票'
,
value
:
0
},
{
text
:
'已开票'
,
value
:
1
},
],
onFilter
:
(
value
:
number
,
record
:
any
)
=>
record
.
invoiceStatus
==
value
,
render
:
(
text
,
record
)
=>
{
const
color
=
record
.
status
?
'green'
:
'blue'
return
(
<
div
>
<
Tag
color=
{
color
}
>
{
record
.
invoiceStatusName
}
</
Tag
>
<
StatusTag
text=
{
record
.
invoiceStatusName
}
/
>
</
div
>
)
}
...
...
@@ -77,6 +82,11 @@ const columns = [
{
title
:
'支付状态'
,
dataIndex
:
'status'
,
filters
:
[
{
text
:
'未支付'
,
value
:
'未支付'
},
{
text
:
'已支付'
,
value
:
'已支付'
},
],
onFilter
:
(
value
:
number
,
record
:
any
)
=>
record
.
payStatusName
==
value
,
render
:
(
text
,
record
)
=>
{
const
color
=
record
.
payStatusName
==
'已支付'
?
'green'
:
'#C0C4CC'
;
return
(
...
...
@@ -94,8 +104,16 @@ const columns = [
({
visible
,
show
,
cancel
})
=>
{
return
(
<>
<
InvoiceCreate
id=
{
record
.
id
}
title=
"开具发票"
width=
{
800
}
visible=
{
visible
}
onCancel=
{
cancel
}
/>
<
div
onClick=
{
show
}
>
{
record
.
invoiceStatus
==
1
?
'查看'
:
'开票'
}
</
div
>
<
InvoiceCreate
id=
{
record
.
id
}
type=
{
record
.
invoiceStatus
}
title=
"开具发票"
width=
{
800
}
visible=
{
visible
}
onCancel=
{
cancel
}
refresh=
{
()
=>
formActions
.
submit
()
}
/>
<
div
className=
{
styles
.
text
}
onClick=
{
show
}
>
{
record
.
invoiceStatus
==
1
?
'查看'
:
'开票'
}
</
div
>
</>
)
}
...
...
@@ -118,12 +136,17 @@ const SettlementList = () => {
// /settle/accounts/member/settlement/pageReceiptInvoice
const
searchParams
=
{
...
params
,
invoiceStatus
:
params
.
orderType
||
2
,
payStatus
:
params
.
status
||
2
,
invoiceStatus
:
typeof
params
.
invoiceStatus
==
'undefined'
?
2
:
params
.
invoiceStatus
,
payStatus
:
typeof
params
.
payStatus
==
'undefined'
?
2
:
params
.
payStatus
,
}
const
{
data
}
=
await
PublicApi
.
getSettleAccountsMemberSettlementPageReceiptInvoice
(
searchParams
);
return
data
}
const
reload
=
(
values
)
=>
{
ref
.
current
.
reload
(
values
);
}
return
(
<
PageHeaderWrapper
>
<
Card
>
...
...
@@ -153,7 +176,7 @@ const SettlementList = () => {
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
onSubmit=
{
reload
}
/>
}
/>
...
...
src/pages/balance/accountsReceivable/invoice/schema/index.tsx
View file @
1945326c
...
...
@@ -69,9 +69,11 @@ export const schema: ISchema = {
},
invoiceStatus
:
{
type
:
'string'
,
default
:
0
,
default
:
2
,
enum
:
[
{
label
:
'开票状态(全部)'
,
value
:
0
}
{
label
:
'开票状态(全部)'
,
value
:
2
},
{
label
:
'未开票'
,
value
:
0
},
{
label
:
'已开票'
,
value
:
1
}
],
'x-component-props'
:
{
placeholder
:
'开票状态(全部)'
,
...
...
@@ -80,9 +82,11 @@ export const schema: ISchema = {
},
payStatus
:
{
type
:
'string'
,
default
:
0
,
default
:
2
,
enum
:
[
{
label
:
'支付状态(全部)'
,
value
:
0
}
{
label
:
'支付状态(全部)'
,
value
:
2
},
{
label
:
'未支付'
,
value
:
0
},
{
label
:
'已支付'
,
value
:
1
}
],
'x-component-props'
:
{
placeholder
:
'支付状态(全部)'
,
...
...
src/pages/balance/accountsReceivable/settlementList/index.tsx
View file @
1945326c
...
...
@@ -18,6 +18,7 @@ import { PublicApi } from '@/services/api';
import
StatusActions
from
'../../components/StatusActions'
;
import
StatusTag
from
'../../components/StatusTag'
;
import
EyePreview
from
'@/components/EyePreview'
;
import
{
payStatus
}
from
'../../common'
;
const
formActions
=
createFormActions
();
...
...
@@ -57,12 +58,7 @@ const SettlementList = () => {
{
title
:
'支付方式'
,
dataIndex
:
'payWayName'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
filters
:
[
{
text
:
'待对账'
,
value
:
1
},
{
text
:
'待付款'
,
value
:
2
},
{
text
:
'待收款'
,
value
:
3
},
{
text
:
'以完成'
,
value
:
4
},
],
filters
:
payStatus
,
onFilter
:
(
value
:
number
,
record
:
any
)
=>
record
.
status
==
value
,
render
:
(
text
,
record
)
=>
{
return
(
...
...
src/pages/balance/common/index.tsx
0 → 100644
View file @
1945326c
/**
* 用于平台结算管理,应收,应付账款管理列表页 结算状态下拉筛选
*/
export
const
payStatus
=
[
{
text
:
'待对账'
,
value
:
1
},
{
text
:
'待付款'
,
value
:
2
},
{
text
:
'待收款'
,
value
:
3
},
{
text
:
'以完成'
,
value
:
4
},
];
\ No newline at end of file
src/pages/balance/common/type.d.ts
View file @
1945326c
...
...
@@ -18,4 +18,71 @@ export interface VoucherFileProps {
* 文件路径
*/
proveUrl
:
string
}
\ No newline at end of file
}
export
interface
ProveListProps
{
/**
* 发票号
*/
number
:
string
,
/**
* 开具时间
*/
invoiceDate
:
string
,
/**
* 备注
*/
remark
:
string
}
/**
* 开票管理中, 发票的信息, 用于开票管理查看发票,开票
*/
export
interface
InvoiceInfoProps
{
/**
* 开具类型
*/
typeName
:
string
,
/**
* 发票种类
*/
kindName
:
string
,
/**
* 发票抬头
*/
invoiceTitle
:
string
,
/**
* 纳税号
*/
taxNo
:
string
,
/**
* 开户行
*/
bankOfDeposit
:
string
,
/**
* 账号
*/
account
:
string
,
/**
* 电话
*/
tel
:
string
,
/**
* 地址
*/
address
:
string
,
/**
* 发票数组
*/
proveList
:
ProveListProps
[]
}
src/pages/balance/components/InvoiceCreate/InvoiceArray.tsx
View file @
1945326c
...
...
@@ -51,7 +51,6 @@ const InvoiceArray = (props) => {
...
componentProps
}
=
schema
.
getExtendsComponentProps
()
||
{}
console
.
log
(
componentProps
);
const
onAdd
=
()
=>
{
const
items
=
Array
.
isArray
(
schema
.
items
)
?
schema
.
items
[
schema
.
items
.
length
-
1
]
...
...
src/pages/balance/components/InvoiceCreate/InvoiceDrawer.tsx
View file @
1945326c
...
...
@@ -9,32 +9,84 @@ import { Drawer, Input, DatePicker } from 'antd';
import
InvoiceInfo
from
'./InvoiceInfo'
;
import
{
SchemaForm
,
SchemaField
,
SchemaMarkupField
as
Field
}
from
'@formily/antd'
import
InvoiceArray
from
'./InvoiceArray'
;
import
moment
from
'moment'
;
import
{
Button
}
from
'antd'
;
import
{
Button
,
Table
}
from
'antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PublicApi
}
from
'@/services/api'
;
import
{
InvoiceInfoProps
,
ProveListProps
}
from
'../../common/type'
;
import
{
Moment
}
from
'moment'
;
import
styles
from
'./index.less'
;
const
formActions
=
createFormActions
();
const
InvoiceDrawer
=
(
props
)
=>
{
const
{
visible
,
title
,
onCancel
,
width
}
=
props
;
const
[
invoiceInfo
,
setInvoiceInfo
]
=
useState
({})
interface
Iprops
{
visible
:
boolean
,
title
:
string
,
width
:
number
,
type
:
number
,
// 0 -> 开票, 1-> 查看
id
:
string
,
// 开票管理id,
onCancel
:
()
=>
void
,
refresh
:
()
=>
void
}
interface
SubmitProps
{
list
:
{
number
:
string
,
remark
:
string
,
invoiceDate
:
Moment
}[]
}
const
columns
=
[
{
title
:
'发票号码'
,
dataIndex
:
'number'
},
{
title
:
'发票时间'
,
dataIndex
:
'invoiceDate'
},
{
title
:
'备注'
,
dataIndex
:
'remark'
},
]
const
InvoiceDrawer
:
React
.
FC
<
Iprops
>
=
(
props
)
=>
{
const
{
visible
,
title
,
onCancel
,
width
,
type
,
id
}
=
props
;
const
[
invoiceInfo
,
setInvoiceInfo
]
=
useState
<
InvoiceInfoProps
>
(
null
);
const
[
submitLoading
,
setSubmitLoading
]
=
useState
<
boolean
>
(
false
)
const
handleSubmit
=
()
=>
{
formActions
.
submit
()
if
(
type
==
0
)
{
formActions
.
submit
()
}
}
const
handleForm
=
(
value
)
=>
{
console
.
log
(
value
);
const
handleForm
=
(
value
:
SubmitProps
)
=>
{
// 如果当前type 为查看,那么直接关闭
if
(
type
==
1
)
{
onCancel
();
return
;
}
const
{
kindName
,
typeName
,
...
rest
}
=
invoiceInfo
const
proveList
=
value
.
list
.
map
((
item
)
=>
{
return
{
number
:
item
.
number
,
remark
:
item
.
remark
,
invoiceDate
:
item
.
invoiceDate
.
format
(
'YYYY-MM-DD'
)}
})
const
postData
=
{
...
rest
,
proveList
:
proveList
,
kind
:
kindName
==
'增值税普通发票'
?
1
:
2
,
type
:
typeName
==
'企业'
?
1
:
2
,
receiptInvoiceId
:
parseInt
(
id
)
}
setSubmitLoading
(
true
)
console
.
log
(
postData
);
// /settle/accounts/member/settlement/invoiceProve
PublicApi
.
postSettleAccountsMemberSettlementInvoiceProve
(
postData
)
.
then
((
data
)
=>
{
if
(
data
.
code
===
1000
)
{
setSubmitLoading
(
false
)
props
.
refresh
();
onCancel
();
}
})
}
useEffect
(()
=>
{
if
(
props
.
visible
)
{
///settle/accounts/member/settlement/getInvoiceProveDetail
PublicApi
.
getSettleAccountsMemberSettlementGetInvoiceProveDetail
({
id
:
props
.
id
})
PublicApi
.
getSettleAccountsMemberSettlementGetInvoiceProveDetail
({
id
:
id
})
.
then
((
data
)
=>
{
if
(
data
.
code
===
1000
)
{
setInvoiceInfo
(
data
.
data
)
...
...
@@ -42,42 +94,64 @@ const InvoiceDrawer = (props) => {
})
}
},
[
props
.
id
,
props
.
visible
])
},
[
id
,
visible
])
return
(
<
Drawer
visible=
{
visible
}
title=
{
title
}
width=
{
width
}
onClose=
{
onCancel
}
footer=
{
<
div
style=
{
{
textAlign
:
'right'
,
}
}
>
<
Button
onClick=
{
onCancel
}
style=
{
{
marginRight
:
8
}
}
>
取消
</
Button
>
<
Button
onClick=
{
handleSubmit
}
type=
"primary"
>
确认
</
Button
>
</
div
>
}
>
<
Drawer
visible=
{
visible
}
title=
{
title
}
width=
{
width
}
onClose=
{
onCancel
}
footer=
{
<
div
style=
{
{
textAlign
:
'right'
,
}
}
>
<
Button
onClick=
{
onCancel
}
style=
{
{
marginRight
:
8
}
}
>
取消
</
Button
>
<
Button
onClick=
{
handleSubmit
}
type=
"primary"
>
确认
</
Button
>
</
div
>
}
>
<
InvoiceInfo
infos=
{
invoiceInfo
}
/>
<
div
style=
{
{
display
:
'flex'
,
margin
:
'50px 0 15px 0'
}
}
>
<
div
style=
{
{
width
:
'170px'
,
marginRight
:
'16px'
}
}
>
发票号码
</
div
>
<
div
style=
{
{
width
:
'140px'
,
marginRight
:
'16px'
}
}
>
开票日期
</
div
>
<
div
>
备注
</
div
>
</
div
>
<
SchemaForm
onSubmit=
{
handleForm
}
actions=
{
formActions
}
components=
{
{
InvoiceArray
,
Input
,
DatePicker
}
}
>
<
Field
name=
"userList"
type=
"array"
x
-
component=
"InvoiceArray"
>
<
Field
type=
"object"
>
<
Field
name=
"no"
x
-
component=
"Input"
x
-
rules=
{
[{
required
:
true
,
message
:
'请填写发票号'
}]
}
/>
<
Field
name=
"date"
x
-
component=
"DatePicker"
x
-
rules=
{
[{
required
:
true
,
message
:
'请选择发票日期'
}]
}
/>
<
Field
name=
"desc"
x
-
component=
"Input"
x
-
component
-
props=
{
{
style
:
{
width
:
'240px'
}}
}
/>
</
Field
>
</
Field
>
</
SchemaForm
>
{
type
==
0
?
(
<>
<
div
className=
{
styles
.
formHeader
}
>
<
div
className=
{
styles
.
invoiceNum
}
>
发票号码
</
div
>
<
div
className=
{
styles
.
invoiceDate
}
>
开票日期
</
div
>
<
div
>
备注
</
div
>
</
div
>
<
SchemaForm
onSubmit=
{
handleForm
}
actions=
{
formActions
}
components=
{
{
InvoiceArray
,
Input
,
DatePicker
}
}
>
<
Field
name=
"list"
type=
"array"
x
-
component=
"InvoiceArray"
>
<
Field
type=
"object"
>
<
Field
name=
"number"
x
-
component=
"Input"
x
-
rules=
{
[{
required
:
true
,
message
:
'请填写发票号'
}]
}
/>
<
Field
name=
"invoiceDate"
x
-
component=
"DatePicker"
x
-
rules=
{
[{
required
:
true
,
message
:
'请选择发票日期'
}]
}
/>
<
Field
name=
"remark"
x
-
component=
"Input"
x
-
component
-
props=
{
{
style
:
{
width
:
'240px'
}}
}
/>
</
Field
>
</
Field
>
</
SchemaForm
>
</>
)
:
(
<
Table
columns=
{
columns
}
dataSource=
{
invoiceInfo
?.
proveList
}
rowKey=
{
"number"
}
/>
)
}
</
Drawer
>
)
}
...
...
src/pages/balance/components/InvoiceCreate/InvoiceInfo.tsx
View file @
1945326c
...
...
@@ -6,9 +6,11 @@
import
React
from
'react'
;
import
{
Row
,
Col
}
from
'antd'
;
import
{
InvoiceInfoProps
}
from
'../../common/type'
;
import
styles
from
'./index.less'
;
interface
Iprops
{
infos
:
any
infos
:
InvoiceInfoProps
}
const
infoList
=
[
...
...
@@ -30,8 +32,8 @@ const InvoiceInfo: React.FC<Iprops> = (props) => {
{
infoList
.
map
((
item
)
=>
{
return
(
<
Row
style=
{
{
marginBottom
:
'24px'
,
fontSize
:
'13px'
}
}
key=
{
item
.
dataIndex
}
>
<
Col
span=
{
3
}
style=
{
{
color
:
'#909399'
}
}
>
{
item
.
title
}
</
Col
>
<
Row
className=
{
styles
.
row
}
key=
{
item
.
dataIndex
}
>
<
Col
span=
{
3
}
className=
{
styles
.
label
}
>
{
item
.
title
}
</
Col
>
<
Col
span=
{
16
}
>
{
infos
&&
infos
[
item
.
dataIndex
]
}
</
Col
>
</
Row
>
)
...
...
src/pages/balance/components/InvoiceCreate/index.less
0 → 100644
View file @
1945326c
@font-size: 13px;
@label-color: #909399;
@margin-top: 50px;
.row {
margin-bottom: @margin-lg;
font-size: @font-size;
.label {
color: @label-color;
}
}
.formHeader {
display: flex;
margin: 50px 0 @margin-md 0;
.invoiceNum {
width: 170px;
margin-right: @margin-md;
}
.invoiceDate {
width: 140px;
margin-right: @margin-md;
}
}
\ No newline at end of file
src/pages/balance/components/StatusActions/index.tsx
View file @
1945326c
...
...
@@ -20,7 +20,7 @@ interface Iprops {
settlementId
?:
number
,
// 结算方id
payName
?:
string
,
//付款方
excludes
:
number
[],
// 排除数组,比如当应付的时候,只留下查看凭证跟付款, 应收账款的时候保留三个
type
?:
number
,
// 1 -> 应付账款结算 2-> 应收账款结算, 用于判断 查看付款凭证
type
?:
number
,
// 1 -> 应付账款结算 2-> 应收账款结算, 用于判断
是否有
查看付款凭证
handleReconciledComfirm
?:
(
params
:
any
)
=>
void
// 对账确定回调
handleComfirmInCompletePayment
?:
(
params
:
any
)
=>
void
,
// 确认未到款回调
handleComfirmCompletePayment
?:
(
params
:
any
)
=>
void
,
//确认到款回调
...
...
@@ -90,7 +90,6 @@ const ConfirmCollected = (props) => {
const
WrapVoucher
=
({
id
,
type
})
=>
{
const
[
files
,
setFiles
]
=
useState
([]);
console
.
log
(
id
);
useEffect
(()
=>
{
if
(
id
)
{
const
service
=
type
==
1
...
...
src/pages/balance/components/StatusTag/index.less
0 → 100644
View file @
1945326c
.tag-out-border {
border: none;
}
\ No newline at end of file
src/pages/balance/components/StatusTag/index.tsx
View file @
1945326c
import
React
from
'react'
;
import
{
Tag
}
from
'antd'
;
import
'./index.less'
;
export
const
TO_BE_RECONCILED
=
1
;
// 待对账
export
const
TO_BE_PAY
=
2
// 待付款
...
...
@@ -14,13 +15,16 @@ export enum StatusEnum {
}
const
COLOR
=
[
"
purple"
,
// 随意给一个
"
"
,
// 随意给一个
"gold"
,
// 待对账
"red"
,
// 待付款
"blue"
,
// 代收款,
"green"
,
// 以完成
]
/**
* 以下用于 应收账款管理, 应付账款管理 列表页, 以及应收,应付款详情页状态
*/
const
STATUS_TEXT
=
[
"无"
,
"待对账"
,
...
...
@@ -36,6 +40,35 @@ const STATUS_TEXT_MAP = {
"已完成"
:
4
}
/**
* 开票管理, 开票类型, 其中 value 的值对应上面 COLOR 的值
*/
const
INVOICE_TYPE
=
{
"生产通知单"
:
0
,
"积分订单"
:
1
,
"退货申请单"
:
2
,
"订单"
:
3
,
"物流单"
:
4
,
}
/**
* 开票管理, 开票状态
*/
const
INVOICE_STATUS
=
{
"未开票"
:
3
,
"已开票"
:
4
,
}
/**
* 将开票类型跟 应收应付账款管理合并
*/
const
ALL_COLOR_MAP
=
{
...
INVOICE_TYPE
,
...
STATUS_TEXT_MAP
,
...
INVOICE_STATUS
}
interface
Iprops
{
status
?:
StatusEnum
,
text
?:
string
...
...
@@ -43,13 +76,26 @@ interface Iprops {
const
StatusTag
:
React
.
FC
<
Iprops
>
=
(
props
:
Iprops
)
=>
{
const
{
status
,
text
}
=
props
return
(
<
Tag
color=
{
text
?
COLOR
[
STATUS_TEXT_MAP
[
text
]]
:
COLOR
[
status
]
}
>
{
text
?
text
:
STATUS_TEXT
[
status
]
}
</
Tag
>
<
Tag
className=
"tag-out-border"
color=
{
text
?
COLOR
[
ALL_COLOR_MAP
[
text
]]
:
COLOR
[
status
]
}
>
{
text
||
STATUS_TEXT
[
status
]
}
</
Tag
>
)
}
StatusTag
.
defaultProps
=
{
status
:
1
}
//
StatusTag.defaultProps = {
//
status: 1
//
}
export
default
StatusTag
\ No newline at end of file
src/pages/balance/components/UploadPayVoucher/index.tsx
View file @
1945326c
...
...
@@ -117,7 +117,7 @@ const UploadPayVoucher: React.FC<Iprops> = (props) => {
<
Voucher
files=
{
fileList
}
/>
<
div
className=
{
styles
.
upload
}
>
<
Upload
{
...
uploadProps
}
>
<
Button
icon=
{
<
UploadOutlined
/>
}
>
上传凭证
</
Button
>
<
Button
icon=
{
<
UploadOutlined
/>
}
loading=
{
loading
}
>
上传凭证
</
Button
>
<
p
className=
{
styles
.
tips
}
>
单个凭证文件大小不能超过200K
</
p
>
</
Upload
>
</
div
>
...
...
src/pages/balance/platformSettlement/accountReceivable/index.tsx
View file @
1945326c
...
...
@@ -16,29 +16,36 @@ import { useAsyncInitSelect } from '@/formSchema/effects/useAsyncInitSelect';
import
{
schema
}
from
'./schema'
;
import
StatusTag
from
'../../components/StatusTag'
;
import
StatusActions
from
'../../components/StatusActions'
;
import
{
payStatus
}
from
'../../common'
;
import
{
PublicApi
}
from
'@/services/api'
const
formActions
=
createFormActions
();
const
AccountReceivable
=
()
=>
{
const
ref
=
useRef
<
any
>
({})
const
fetchListData
=
async
(
params
)
=>
{
return
{
data
:
[{
id
:
1
}]
,
totalCount
:
1
const
searchData
=
{
status
:
0
,
...
params
}
///settle/accounts/platform/settlement/pageReceivableSettlement
const
{
data
}
=
await
PublicApi
.
getSettleAccountsPlatformSettlementPageReceivableSettlement
(
searchData
);
return
data
}
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
:
'pay
Method
'
},
{
title
:
'结算单号'
,
dataIndex
:
'
settlementNo
'
},
{
title
:
'结算日期'
,
dataIndex
:
'
settlementDate
'
},
{
title
:
'结算方式'
,
dataIndex
:
'
settlementWayName
'
},
{
title
:
'总单数'
,
dataIndex
:
'
totalCount
'
},
{
title
:
'代收金额'
,
dataIndex
:
'
collectAmount
'
},
{
title
:
'佣金'
,
dataIndex
:
'
brokerage
'
},
{
title
:
'结算金额'
,
dataIndex
:
'
amount
'
},
{
title
:
'结算
时间'
,
dataIndex
:
'settlementTime
'
},
{
title
:
'支付方式'
,
dataIndex
:
'pay
WayName
'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
filters
:
payStatus
,
onFilter
:
(
value
:
number
,
record
:
any
)
=>
record
.
status
==
value
,
render
:
(
text
,
record
)
=>
{
return
(
<
StatusTag
status=
{
record
.
status
||
1
}
/>
...
...
@@ -50,7 +57,12 @@ const AccountReceivable = () => {
render
:
(
text
,
record
)
=>
{
return
(
<
StatusActions
status=
{
record
.
status
||
3
}
excludes=
{
[
2
]
}
id=
{
record
.
id
}
type=
{
2
}
status=
{
record
.
status
}
settlementDate=
{
record
.
settlementDate
}
payName=
{
"平台"
}
handleReconciledComfirm=
{
handleConfirm
}
handleComfirmInCompletePayment=
{
handleComfirmInCompletePayment
}
handleComfirmCompletePayment=
{
handleComfirmCompletePayment
}
...
...
@@ -60,22 +72,58 @@ const AccountReceivable = () => {
}
]
/**
/**
* 确认对账
* @param
cancel
关闭回调函数
* @param
{cancel: function, id: number} cancel 为
关闭回调函数
*/
const
handleConfirm
=
(
params
:
any
)
=>
{
console
.
log
(
123
)
params
.
onCancel
();
///settle/accounts/platform/settlement/confirmAccountComplete
PublicApi
.
postSettleAccountsMemberSettlementConfirmAccountComplete
({
settlementId
:
params
.
id
})
.
then
((
data
)
=>
{
if
(
data
.
code
===
1000
)
{
params
.
onCancel
();
formActions
.
submit
();
}
})
}
/**
* 确认未到款
* @param {onCancel:function, id: number, status: number}
*/
const
handleComfirmInCompletePayment
=
(
params
:
any
)
=>
{
console
.
log
(
params
);
params
.
onCancel
()
PublicApi
.
postSettleAccountsMemberSettlementConfirmPayProve
({
id
:
params
.
id
,
status
:
params
.
status
})
.
then
((
data
)
=>
{
if
(
data
.
code
===
1000
)
{
formActions
.
submit
();
params
.
onCancel
();
}
})
}
/**
* 确认到款
* @param {onCancel:function, id: number, status: number}
*/
const
handleComfirmCompletePayment
=
(
params
:
any
)
=>
{
params
.
onCancel
();
PublicApi
.
postSettleAccountsMemberSettlementConfirmPayProve
({
id
:
params
.
id
,
status
:
params
.
status
})
.
then
((
data
)
=>
{
if
(
data
.
code
===
1000
)
{
formActions
.
submit
();
params
.
onCancel
();
}
})
}
/**
* 搜索
*/
const
handleSearch
=
(
values
:
any
)
=>
{
const
format
=
'YYYY-MM-DD'
const
startTime
=
values
.
startTime
?.
format
(
format
);
const
endTime
=
values
.
endTime
?.
format
(
format
);
ref
.
current
.
reload
({...
values
,
startTime
,
endTime
});
}
return
(
...
...
@@ -95,14 +143,14 @@ const AccountReceivable = () => {
expressionScope=
{
{}
}
components=
{
{
DatePicker
}
}
effects=
{
(
$
,
actions
)
=>
{
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.
n
ame'
,
FORM_FILTER_PATH
);
useStateFilterSearchLinkageEffect
(
$
,
actions
,
'megaLayout.
settlementN
ame'
,
FORM_FILTER_PATH
);
// useAsyncInitSelect(
// ['innerStatus', 'outerStatus'],
// fetchSelectOptions,
// );
}
}
schema=
{
schema
}
onSubmit=
{
values
=>
ref
.
current
.
reload
(
values
)
}
onSubmit=
{
handleSearch
}
/>
}
/>
...
...
src/pages/balance/platformSettlement/accountReceivable/schema/index.tsx
View file @
1945326c
...
...
@@ -12,13 +12,13 @@ export const schema: ISchema = {
type
:
'object'
,
'x-component'
:
'mega-layout'
,
properties
:
{
n
ame
:
{
settlementN
ame
:
{
type
:
'string'
,
'x-component'
:
'Search'
,
'x-component-props'
:
{
placeholder
:
'搜索'
,
placeholder
:
'搜索
结算单号
'
,
align
:
'flex-left'
,
// tip: '输入通知单号、通知单摘要
进行搜索',
tip
:
'输入 结算单号
进行搜索'
,
},
},
[
FORM_FILTER_PATH
]:
{
...
...
@@ -47,21 +47,28 @@ export const schema: ISchema = {
},
status
:
{
type
:
'string'
,
enum
:
[],
enum
:
[
{
label
:
'结算状态(全部)'
,
value
:
0
},
{
label
:
'待对账'
,
value
:
1
},
{
label
:
'待付款'
,
value
:
2
},
{
label
:
'待收款'
,
value
:
3
},
{
label
:
'待完成'
,
value
:
4
},
],
default
:
0
,
'x-component-props'
:
{
placeholder
:
'结算状态(全部)'
,
allowClear
:
true
,
},
},
//
submit: {
//
'x-component': 'Submit',
//
'x-mega-props': {
//
span: 1,
//
},
//
'x-component-props': {
//
children: '查询',
//
},
//
},
submit
:
{
'x-component'
:
'Submit'
,
'x-mega-props'
:
{
span
:
1
,
},
'x-component-props'
:
{
children
:
'查询'
,
},
},
},
},
},
...
...
src/pages/balance/platformSettlement/integral/index.tsx
View file @
1945326c
...
...
@@ -14,9 +14,9 @@ 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
'
;
import
StatusActions
from
'../../components/StatusActions
'
;
import
StatusTag
from
'../../components/StatusTag
'
;
import
{
payStatus
}
from
'../../common
'
;
const
formActions
=
createFormActions
();
const
Integral
:
React
.
FC
=
()
=>
{
...
...
@@ -39,9 +39,11 @@ const Integral: React.FC = () => {
{
title
:
'支付方式'
,
dataIndex
:
'payMethod'
},
{
title
:
'结算状态'
,
dataIndex
:
'status'
,
filters
:
payStatus
,
onFilter
:
(
value
:
number
,
record
:
any
)
=>
record
.
status
==
value
,
render
:
(
text
,
record
)
=>
{
return
(
<
Tag
>
待对账
</
Tag
>
<
StatusTag
status=
{
record
.
status
||
1
}
/
>
)
}
},
...
...
@@ -50,56 +52,17 @@ const Integral: React.FC = () => {
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
>
<
StatusActions
excludes=
{
[
2
]
}
id=
{
record
.
id
}
type=
{
2
}
status=
{
record
.
status
}
settlementDate=
{
record
.
settlementDate
}
payName=
{
record
.
payName
}
handleReconciledComfirm=
{
handleConfirm
}
handleComfirmInCompletePayment=
{
handleComfirmInCompletePayment
}
handleComfirmCompletePayment=
{
handleComfirmCompletePayment
}
/>
</>
)
}
...
...
@@ -110,9 +73,17 @@ const Integral: React.FC = () => {
* 确认对账
* @param cancel 关闭回调函数
*/
const
handleConfirm
=
(
cancel
)
=>
{
const
handleConfirm
=
(
params
)
=>
{
console
.
log
(
123
)
cancel
();
params
.
cancel
();
}
const
handleComfirmInCompletePayment
=
(
params
:
any
)
=>
{
console
.
log
(
params
);
params
.
onCancel
()
}
const
handleComfirmCompletePayment
=
(
params
:
any
)
=>
{
params
.
onCancel
();
}
return
(
<
PageHeaderWrapper
>
...
...
src/pages/balance/platformSettlement/integral/info.tsx
View file @
1945326c
...
...
@@ -16,7 +16,6 @@ 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
=
[
...
...
src/pages/balance/settleRules/memberSettle/info.tsx
View file @
1945326c
...
...
@@ -7,7 +7,7 @@
import
React
,
{
useEffect
,
useState
}
from
'react'
;
import
{
PageHeaderWrapper
}
from
'@ant-design/pro-layout'
import
NiceForm
from
'@/components/NiceForm'
;
import
{
Card
,
Button
}
from
'antd'
;
import
{
Card
,
Button
,
message
}
from
'antd'
;
import
{
createFormActions
}
from
'@formily/antd'
;
import
{
PlusOutlined
}
from
'@ant-design/icons'
import
ModalTable
from
'@/components/ModalTable'
;
...
...
@@ -175,20 +175,26 @@ const MemberSettleAdd: React.FC = () => {
useEffect
(()
=>
{
if
(
id
)
{
async
function
getInfo
()
{
const
{
data
}
=
await
getSettleAccountsPlatformConfigGetMemberSettlementStrategyDetail
({
id
})
setInitialValue
({
name
:
data
.
name
,
settlementOrderType
:
data
.
settlementOrderType
.
toString
(),
memberList
:
data
.
memberList
,
settlementWay
:
{
active
:
data
.
settlementWay
,
otherValues
:
[
data
.
settlementDays
,
data
.
settlementDate
],
}
})
formActions
.
setFieldValue
(
'Tabs.memberTab.someLists'
,
data
.
memberList
);
// 必须设置key
memberRowCtl
.
setSelectRow
(
data
.
memberList
);
memberRowCtl
.
setSelectedRowKeys
(
data
.
memberList
.
map
((
item
)
=>
item
.
memberId
))
const
res
=
await
getSettleAccountsPlatformConfigGetMemberSettlementStrategyDetail
({
id
})
if
(
res
.
code
===
1000
)
{
setInitialValue
({
name
:
res
.
data
.
name
,
settlementOrderType
:
res
.
data
.
settlementOrderType
.
toString
(),
memberList
:
res
.
data
.
memberList
,
settlementWay
:
{
active
:
res
.
data
.
settlementWay
,
otherValues
:
[
res
.
data
.
settlementDays
,
res
.
data
.
settlementDate
],
}
})
formActions
.
setFieldValue
(
'Tabs.memberTab.someLists'
,
res
.
data
.
memberList
);
// 必须设置key
memberRowCtl
.
setSelectRow
(
res
.
data
.
memberList
);
memberRowCtl
.
setSelectedRowKeys
(
res
.
data
.
memberList
.
map
((
item
)
=>
item
.
memberId
))
}
else
{
message
.
error
({
content
:
res
.
message
})
}
}
getInfo
();
}
...
...
@@ -197,7 +203,7 @@ const MemberSettleAdd: React.FC = () => {
return
(
<
PageHeaderWrapper
extra=
{
[
<
Button
key=
"1"
type=
"primary"
onClick=
{
handleClick
}
>
<
Button
loading=
{
submitLoading
}
key=
"1"
type=
"primary"
onClick=
{
handleClick
}
>
保存
</
Button
>,
]
}
...
...
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