Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-app-operator-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-app-operator-master
Commits
d87c07ef
Commit
d87c07ef
authored
Mar 23, 2023
by
邓春圆
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
佣金付款单模块
parent
9cf4fdbf
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1594 additions
and
47 deletions
+1594
-47
financial.js
src/api/ecw/financial.js
+132
-0
commission-Payment.vue
src/views/ecw/financial/commission-Payment.vue
+266
-0
commission-payable.vue
src/views/ecw/financial/commission-payable.vue
+194
-0
commission-requestFunds.vue
src/views/ecw/financial/commission-requestFunds.vue
+865
-0
paymentVoucher.vue
src/views/ecw/financial/paymentVoucher.vue
+137
-47
No files found.
src/api/ecw/financial.js
View file @
d87c07ef
...
@@ -273,6 +273,14 @@ export function getPayableInfoByIds(query) {
...
@@ -273,6 +273,14 @@ export function getPayableInfoByIds(query) {
params
:
query
params
:
query
})
})
}
}
//获取佣金应付款详情
export
function
getCommissionPayable
(
params
){
return
request
({
url
:
'
/ecw/commission-payable/get
'
,
method
:
"
get
"
,
params
})
}
// 创建付款单
// 创建付款单
export
function
createPayment
(
data
)
{
export
function
createPayment
(
data
)
{
...
@@ -282,6 +290,14 @@ export function createPayment(data) {
...
@@ -282,6 +290,14 @@ export function createPayment(data) {
data
:
data
data
:
data
})
})
}
}
// 创建佣金订单
export
function
commissionPayment
(
data
){
return
request
({
url
:
'
/ecw/commission-payment/create
'
,
method
:
'
post
'
,
data
})
}
// 获取付款单列表
// 获取付款单列表
export
function
getPaymentList
(
query
)
{
export
function
getPaymentList
(
query
)
{
...
@@ -318,6 +334,14 @@ export function updatePayment(data) {
...
@@ -318,6 +334,14 @@ export function updatePayment(data) {
data
:
data
data
:
data
})
})
}
}
// 更新佣金付款单
export
function
commissionPaymentUpdate
(
data
){
return
request
({
url
:
'
/ecw/commission-payment/update
'
,
method
:
'
put
'
,
data
})
}
// 删除付款单
// 删除付款单
export
function
deletePayment
(
id
)
{
export
function
deletePayment
(
id
)
{
...
@@ -360,6 +384,24 @@ export function paymentVerifyCancel(id) {
...
@@ -360,6 +384,24 @@ export function paymentVerifyCancel(id) {
})
})
}
}
//获取佣金应付款
export
function
payablePage
(
params
){
return
request
({
url
:
'
/ecw/commission-payable/page
'
,
method
:
'
get
'
,
params
})
}
//获取佣金付款单
export
function
commissionPaymentPage
(
params
){
return
request
({
url
:
'
/ecw/commission-payment/page
'
,
method
:
'
get
'
,
params
})
}
// 根据流程主键获取付款单流程审核信息
// 根据流程主键获取付款单流程审核信息
export
function
getPaymentApprove
(
id
)
{
export
function
getPaymentApprove
(
id
)
{
return
request
({
return
request
({
...
@@ -465,4 +507,94 @@ export function cancelFinanceReceiptItemWriteOffNo(query) {
...
@@ -465,4 +507,94 @@ export function cancelFinanceReceiptItemWriteOffNo(query) {
data
:
query
data
:
query
})
})
}
}
// 取消审核
export
function
cancelFinancePaymentApproval
(
data
){
return
request
({
url
:
'
/ecw/payment/cancelFinancePaymentApproval
'
,
method
:
'
post
'
,
data
})
}
// 取消付款单反审核
export
function
cancelFinancePaymentApprovalNo
(
data
){
return
request
({
url
:
'
/ecw/payment/cancelFinancePaymentApprovalNo
'
,
method
:
'
post
'
,
data
})
}
// 取消付款单核销
export
function
cancelFinancePaymentWriteOff
(
data
){
return
request
({
url
:
'
/ecw/payment/cancelFinancePaymentWriteOff
'
,
method
:
'
post
'
,
data
})
}
export
function
cancelFinancePaymentWriteOffNo
(
data
){
return
request
({
url
:
'
/ecw/payment/cancelFinancePaymentWriteOffNo
'
,
method
:
'
post
'
,
data
})
}
//删除佣金付款单
export
function
commissionPaymentDelete
(
params
){
return
request
({
url
:
'
/ecw/commission-payment/delete
'
,
method
:
'
delete
'
,
params
})
}
//反审核佣金付款单
export
function
commissionPaymentVerifyCancel
(
data
){
return
request
({
url
:
'
/ecw/commission-payment/verifyCancel
'
,
method
:
'
post
'
,
data
})
}
// 佣金付款单核销
export
function
commissionPaymentVerification
(
data
){
return
request
({
url
:
'
/ecw/commission-payment/verification
'
,
method
:
'
post
'
,
data
})
}
//付款单反核销申请
export
function
commissionPaymentVerificationCancel
(
data
){
return
request
({
url
:
'
/ecw/commission-payment/verificationCancel
'
,
method
:
'
post
'
,
data
})
}
// 取消付款单反审核
export
function
commissionPaymentCancelFinancePaymentApprovalNo
(
data
){
return
request
({
url
:
'
/ecw/commission-payment/cancelFinancePaymentApprovalNo
'
,
method
:
'
post
'
,
data
})
}
// 取消付款单核销
export
function
commissionPaymentCancelFinancePaymentWriteOff
(
data
){
return
request
({
url
:
'
/ecw/commission-payment/cancelFinancePaymentWriteOff
'
,
method
:
'
post
'
,
data
})
}
// 取消付款单反核销
export
function
commissionPaymentCancelFinancePaymentWriteOffNo
(
data
){
return
request
({
url
:
'
/ecw/commission-payment/cancelFinancePaymentWriteOffNo
'
,
method
:
'
post
'
,
data
,
})
}
src/views/ecw/financial/commission-Payment.vue
0 → 100644
View file @
d87c07ef
<
template
>
<div
style=
"padding: 20px"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
style=
"font-size: 20px;"
>
{{
$t
(
'
佣金付款单
'
)
}}
</div>
<el-form
label-width=
"80px"
label-position=
"left"
>
<el-row
:gutter=
"30"
>
<el-col
:span=
"7"
>
<el-form-item
:label=
"$t('付款单号')"
>
<el-input></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('客户')"
>
<el-input
v-model=
"queryParams.searchKey"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('状态')"
>
<dict-selector
:type=
"DICT_TYPE.ECW_PAYMENT_STATE"
v-model=
"queryParams.state"
/>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
:label=
"$t('业务员')"
>
<el-select
v-model=
"queryParams.salesmanName"
:placeholder=
"$t('请选择业务员')"
>
<el-option
v-for=
"item in creatorData"
:key=
"item.id"
:label=
"item.nickname"
:value=
"item.nickname"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"7"
>
<el-form-item
:label=
"$t('创建时间')"
>
<el-date-picker
v-model=
"selectDate"
type=
"datetimerange"
range-separator=
"至"
:start-placeholder=
"$t('开始日期')"
:end-placeholder=
"$t('结束日期')"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('发票状态')"
>
<el-select
v-model=
"queryParams.invoiceStatus"
:placeholder=
"$t('请选择是否开票')"
>
<el-option
:label=
"$t('未开票')"
value=
"0"
/>
<el-option
:label=
"$t('已开票')"
value=
"1"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('订单编号')"
>
<el-input></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-form-item>
<el-button
type=
"primary"
@
click=
"getList"
>
{{
$t
(
'
查找
'
)
}}
</el-button>
<el-button
type=
"primary"
>
{{
$t
(
'
新增请款单
'
)
}}
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-table
:data=
"list"
style=
"margin-top: 30px"
>
<el-table-column
type=
"index"
:label=
"$t('序号')"
></el-table-column>
<el-table-column
prop=
"customerId"
:label=
"$t('付款单号')"
></el-table-column>
<el-table-column
prop=
"customerName"
:label=
"$t('客户')"
></el-table-column>
<el-table-column
:label=
"$t('创建时间')"
>
<template
v-slot=
"
{row}">
{{
parseTime
(
row
.
createTime
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('最后付款时间')"
>
<
template
v-slot=
"{row}"
>
{{
parseTime
(
row
.
latestPayAt
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"invoiceStatus"
:label=
"$t('发票')"
>
<
template
v-slot=
"{row}"
>
{{
row
.
invoiceStatus
?
$t
(
'
已开票
'
)
:
$t
(
'
未开票
'
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('状态')"
prop=
"state"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.ECW_PAYMENT_STATE"
:value=
"scope.row.state"
/>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{row}"
>
<el-button
type=
"text"
v-if=
"[0,2].includes(row.state)"
>
{{
$t
(
'
编辑
'
)
}}
</el-button>
<el-button
type=
"text"
@
click=
"deleteFn(row)"
v-if=
"[0,2].includes(row.state)"
>
{{
$t
(
'
删除
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"[3,4].includes(row.state)"
>
{{
$t
(
'
审核详情
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"[1,3,5].includes(row.state)"
@
click=
"bridgeFn('取消审核',7, row, '取消审核' )"
>
{{
$t
(
'
取消审核
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"[5,6].includes(row.state)"
@
click=
"bridgeFn('付款单反审核', 1, row, '提交反审核',)"
>
{{
$t
(
'
反审核
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"[5].includes(row.state)"
@
click=
"bridgeFn('付款单核销申请', 2, row, '提交核销')"
>
{{
$t
(
'
核销
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"[5,6].includes(row.state)"
>
{{
$t
(
'
打印
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"[8].includes(row.state)"
@
click=
"bridgeFn('付款单反核销申请', 3, row, '提交方核销')"
>
{{
$t
(
'
反核销
'
)
}}
</el-button>
<el-button
type=
"text"
v-if=
"[4,7].includes(row.state)"
@
click=
"bridgeFn('取消反核销',4, row, '提交取消反核销' )"
>
{{
$t
(
'
取消反核销
'
)
}}
</el-button>
<el-button
type=
"text"
@
click=
"bridgeFn('取消付款单核销',5, row, '取消付款单核销' )"
>
{{
$t
(
'
取消核销
'
)
}}
</el-button>
<el-button
type=
"text"
@
click=
"bridgeFn('取消付款反单核销',6, row, '取消付款反单核销' )"
>
{{
$t
(
'
取消反核销
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.page"
:limit.sync=
"queryParams.rows"
@
pagination=
"getList"
/>
<!--对话框 审核 -->
<el-dialog
width=
"30%"
:title=
"paymentTitle"
:visible.sync=
"paymentShow"
>
<div
class=
"cancel_content"
>
<span>
{{ $t('申请理由') }}
</span>
<el-input
type=
"textarea"
:rows=
"6"
v-model=
"paymentValue"
:placeholder=
"$t('请输入取消理由')"
></el-input>
</div>
<span
slot=
"footer"
class=
"dialog-footers"
>
<el-button
type=
"primary"
@
click=
"cancelWriteOffClick()"
>
{{ $t(butTitle) }}
</el-button>
<el-button
@
click=
"paymentShow = false"
>
{{ $t('取消') }}
</el-button>
</span>
</el-dialog>
</div>
</template>
<
script
>
import
{
listSimpleUsers
}
from
"
@/api/system/user
"
;
import
{
commissionPaymentCancelFinancePaymentApprovalNo
,
commissionPaymentCancelFinancePaymentWriteOff
,
commissionPaymentCancelFinancePaymentWriteOffNo
,
commissionPaymentDelete
,
commissionPaymentPage
,
commissionPaymentVerification
,
commissionPaymentVerificationCancel
,
commissionPaymentVerifyCancel
}
from
"
@/api/ecw/financial
"
;
import
{
parseTime
}
from
"
../../../utils/ruoyi
"
;
export
default
{
name
:
"
commission-Payment
"
,
created
()
{
// 业务员
listSimpleUsers
().
then
((
res
)
=>
(
this
.
creatorData
=
res
.
data
));
this
.
getList
();
},
data
(){
return
{
queryParams
:{
invoiceStatus
:
null
,
state
:
null
,
salesmanName
:
null
,
searchKey
:
null
,
page
:
1
,
rows
:
10
,
},
selectDate
:[],
creatorData
:[],
list
:[],
total
:
0
,
paymentRow
:{},
paymentIndex
:
0
,
paymentTitle
:
''
,
butTitle
:
''
,
paymentShow
:
false
,
paymentValue
:
''
}
},
methods
:{
parseTime
,
getList
(){
commissionPaymentPage
(
this
.
queryParams
).
then
(
r
=>
{
this
.
list
=
r
.
data
.
list
this
.
total
=
r
.
data
.
total
})
},
// 删除
deleteFn
(
row
){
this
.
$confirm
(
this
.
$t
(
'
是否删除此条佣金付款单
'
),
this
.
$t
(
'
提示
'
),
{
confirmButtonText
:
this
.
$t
(
'
确定
'
),
cancelButtonText
:
this
.
$t
(
'
取消
'
),
type
:
'
warning
'
}).
then
(()
=>
{
commissionPaymentDelete
({
id
:
row
.
id
}).
then
(
r
=>
{
this
.
$message
({
type
:
'
success
'
,
message
:
this
.
$t
(
'
删除成功!
'
)
});
this
.
getList
();
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'
info
'
,
message
:
this
.
$t
(
'
已取消删除
'
)
});
});
},
bridgeFn
(
title
,
index
,
row
,
butTitle
=
'
提交
'
){
this
.
paymentTitle
=
title
;
this
.
butTitle
=
butTitle
;
this
.
paymentIndex
=
index
;
this
.
paymentRow
=
row
;
this
.
paymentShow
=
true
;
},
//提交
cancelWriteOffClick
(){
if
(
!
this
.
paymentValue
)
return
this
.
$message
.
warning
(
this
.
$t
(
'
请输入理由!
'
))
let
resolve
=
()
=>
{
this
.
getList
();
this
.
paymentShow
=
false
;
this
.
paymentValue
=
''
this
.
$message
.
success
(
this
.
$t
(
'
操作成功!
'
));
}
let
reject
=
()
=>
{
this
.
paymentShow
=
false
;
}
let
p
=
{
"
paymentId
"
:
this
.
paymentRow
.
id
,
"
paymentNo
"
:
this
.
paymentRow
.
paymentNo
,
"
remark
"
:
this
.
paymentValue
,
}
switch
(
this
.
paymentIndex
){
case
1
:
commissionPaymentVerifyCancel
(
p
).
then
(
resolve
,
reject
)
break
;
case
2
:
commissionPaymentVerification
(
p
).
then
(
resolve
,
reject
)
break
;
case
3
:
commissionPaymentVerificationCancel
(
p
).
then
(
resolve
,
reject
)
break
;
case
4
:
commissionPaymentCancelFinancePaymentApprovalNo
(
p
).
then
(
resolve
,
reject
)
break
;
case
5
:
commissionPaymentCancelFinancePaymentWriteOff
(
p
).
then
(
resolve
,
reject
)
break
case
6
:
commissionPaymentCancelFinancePaymentWriteOffNo
(
p
).
then
(
resolve
,
reject
)
break
case
7
:
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
src/views/ecw/financial/commission-payable.vue
0 → 100644
View file @
d87c07ef
<
template
>
<div
style=
"padding: 20px"
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
style=
"font-size: 20px;"
>
{{
$t
(
'
应付款佣金
'
)
}}
</div>
<el-form
label-width=
"80px"
inline
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('订单号')"
>
<el-input
v-model=
"queryParams.orderNo"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('客户')"
>
<el-input
v-model=
"queryParams.customerName"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('始发仓')"
>
<el-select
v-model=
"queryParams.startWarehouseId"
:placeholder=
"$t('请选择始发仓')"
clearable
>
<el-option
v-for=
"item in exportWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('目的仓')"
>
<el-select
v-model=
"queryParams.destWarehouseId"
:placeholder=
"$t('请选择目的仓')"
clearable
>
<el-option
v-for=
"item in importWarehouseList"
:label=
"$l(item, 'title')"
:value=
"item.id"
:key=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('运输方式')"
>
<dict-selector
:type=
"DICT_TYPE.ECW_TRANSPORT_TYPE"
v-model=
"queryParams.transportId"
formatter=
"number"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('佣金类型')"
>
<dict-selector
:type=
"DICT_TYPE.COMMISSION_TYPE"
v-model=
"queryParams.feeType"
formatter=
"number"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
:label=
"$t('状态')"
>
<el-select
clearable
v-model=
"queryParams.state"
>
<el-option
v-for=
"(item) in STATE"
:label=
"$t(item.title)"
:value=
"item.value"
:key=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item>
<el-button
type=
"primary"
@
click=
"getList"
>
{{
$t
(
'
查找
'
)
}}
</el-button>
<el-button
type=
"primary"
@
click=
"$router.push(
{path:'/financial/commission-requestFunds',query:{payableId:0}})" >
{{
$t
(
'
新增请款单
'
)
}}
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-table
:data=
"list"
style=
"margin-top: 30px"
>
<el-table-column
:label=
"$t('订单编号')"
prop=
"orderNo"
></el-table-column>
<el-table-column
:label=
"$t('客户名称')"
prop=
"customerName"
></el-table-column>
<el-table-column
:label=
"$t('订单编号')"
prop=
"payableNo"
></el-table-column>
<el-table-column
:label=
"$t('佣金类型')"
>
<template
v-slot=
"
{row}">
<dict-tag
:type=
"DICT_TYPE.COMMISSION_TYPE"
:value=
"row.feeType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('金额')"
prop=
"totalAmount"
>
</el-table-column>
<el-table-column
:label=
"$t('应付生成时间')"
></el-table-column>
<el-table-column
:label=
"$t('状态')"
>
<
template
v-slot=
"{row}"
>
{{
$t
(
STATE
.
find
(
r
=>
r
.
value
===
row
.
state
).
title
)
}}
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('付款单号')"
prop=
"paymentNo"
></el-table-column>
<el-table-column
:label=
"$t('备注')"
prop=
"remark"
></el-table-column>
<el-table-column
:label=
"$t('操作')"
>
<
template
v-slot=
"{row}"
>
<el-button
type=
"text"
@
click=
"$router.push(
{path:'/financial/commission-requestFunds',query:{payableId:row.id}})" >
{{
$t
(
'
请款
'
)
}}
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page.sync=
"queryParams.page"
:limit.sync=
"queryParams.rows"
@
pagination=
"getList"
/>
</div>
</template>
<
script
>
import
{
getWarehouseList
}
from
"
@/api/ecw/warehouse
"
;
import
item
from
"
@/layout/components/Sidebar/Item.vue
"
;
import
{
payablePage
}
from
"
@/api/ecw/financial
"
;
import
Template
from
"
@/views/cms/template/index.vue
"
;
export
default
{
// 应付款佣金
name
:
"
commission-payable
"
,
components
:
{
Template
},
created
()
{
getWarehouseList
().
then
(
res
=>
this
.
warehouseList
=
res
.
data
)
this
.
getList
()
},
data
(){
return
{
STATE
:[
{
value
:
0
,
title
:
'
未付款
'
,
},
{
value
:
1
,
title
:
'
付款中
'
,
},
{
value
:
2
,
title
:
'
已付款
'
,
}
],
warehouseList
:[],
queryParams
:{
rows
:
10
,
page
:
1
,
orderNo
:
''
,
customerName
:
''
,
startWarehouseId
:
''
,
destWarehouseId
:
''
,
feeType
:
''
,
state
:
''
},
list
:[],
total
:
0
}
},
computed
:{
exportWarehouseList
(){
/* tradeType 1 进口,2出口,3进出口 */
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
2
||
item
.
tradeType
==
3
)
},
importWarehouseList
(){
return
this
.
warehouseList
.
filter
(
item
=>
item
.
tradeType
==
1
||
item
.
tradeType
==
3
)
},
},
methods
:{
getList
(){
payablePage
(
this
.
queryParams
).
then
(
r
=>
{
this
.
list
=
r
.
data
.
list
this
.
total
=
r
.
data
.
total
})
}
},
}
</
script
>
<
style
scoped
>
</
style
>
src/views/ecw/financial/commission-requestFunds.vue
0 → 100644
View file @
d87c07ef
This diff is collapsed.
Click to expand it.
src/views/ecw/financial/paymentVoucher.vue
View file @
d87c07ef
This diff is collapsed.
Click to expand it.
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