Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-finance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-finance
Commits
3694a03f
提交
3694a03f
authored
9月 15, 2021
作者:
matian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update:Deal页面代码优化
上级
002997b6
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
89 行增加
和
124 行删除
+89
-124
Deal.vue
src/modules/payment/views/Deal.vue
+89
-124
没有找到文件。
src/modules/payment/views/Deal.vue
浏览文件 @
3694a03f
<
template
>
<div>
<app-card
title=
"支付明细信息"
>
<table
border=
"1"
width=
"100%"
cellspacing=
"0"
class=
"tableDetail"
>
<tr>
<th>
支付人姓名
</th>
<td>
{{
row
.
payer_name
}}
</td>
<th>
费用类型
</th>
<td>
{{
dealList
.
type_name
}}
</td>
<th>
支付金额
</th>
<td>
{{
row
.
amount
}}
</td>
<th>
支付状态
</th>
<td>
{{
row
.
payment_status
}}
</td>
</tr>
<tr>
<th>
支付方式
</th>
<td>
{{
row
.
payment_method
}}
</td>
<th>
其他支付方式
</th>
<td>
{{
row
.
payment_method_others
}}
</td>
<th>
支付时间
</th>
<td
colspan=
"3"
>
{{
row
.
payment_time
}}
</td>
</tr>
<tr>
<td></td>
<td
colspan=
"7"
>
<img
:src=
"row.payment_voucher_filename"
alt=
""
/>
</td>
</tr>
<tr>
<th>
项目
</th>
<td>
{{
dealList
.
project_id_name
}}
</td>
<th>
销售
</th>
<td>
{{
dealList
.
sales_rep_user_id_name
}}
</td>
<th>
渠道
</th>
<td
colspan=
"3"
>
{{
dealList
.
channel_id_name
}}
</td>
</tr>
<tr>
<th>
备注
</th>
<td
colspan=
"7"
>
{{
row
.
comment
}}
</td>
</tr>
<tr>
<th>
创建时间
</th>
<td
colspan=
"3"
>
{{
row
.
created_time
}}
</td>
<th>
更新时间
</th>
<td
colspan=
"3"
>
{{
row
.
updated_time
}}
</td>
</tr>
</table>
<!-- 财务 -->
<el-button
type=
"danger"
v-if=
"isFINANCE"
@
click=
"fetchToTicketDetail('FINANCE')"
>
{{
btnText1
}}
</el-button>
<!-- 业务 -->
<el-button
type=
"danger"
v-if=
"isBUSINESS"
@
click=
"fetchToTicketDetail('BUSINESS')"
>
{{
btnText2
}}
</el-button>
<app-card
title=
"订单信息"
style=
"margin-top: 20px"
>
<Order
:dealList=
"dealList"
/>
</app-card>
<app-card>
<el-form
ref=
"formRef"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"支付状态"
prop=
"payment_status"
>
<el-select
v-model=
"form.payment_status"
placeholder=
"请选择支付状态"
>
<el-option
label=
"支付已到账"
value=
"21"
></el-option>
<el-option
label=
"支付未到账"
value=
"22"
></el-option>
<el-option
label=
"支付申请作废"
value=
"23"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"手续费"
label-width=
"80px"
prop=
"service_charge"
>
<el-input
v-model=
"form.service_charge"
></el-input>
</el-form-item>
<el-form-item
label=
"到账时间"
prop=
"receiving_time"
>
<el-date-picker
v-model=
"form.receiving_time"
type=
"datetime"
range-separator=
"至"
start-placeholder=
"开始日期时间"
end-placeholder=
"结束日期时间"
value-format=
"yyyy-MM-dd HH:mm:ss"
size=
"small"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"comment"
>
<el-input
type=
"textarea"
v-model=
"form.comment"
>
</el-input>
</el-form-item>
<el-form-item
label=
"到账凭证"
prop=
"receiving_voucher_filename"
>
<el-upload
list-type=
"picture-card"
action=
""
multiple
:auto-upload=
"false"
:on-change=
"handleChange"
:on-remove=
"handleChange"
accept=
"image/*"
>
<i
class=
"el-icon-plus"
></i>
</el-upload>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"dealPay"
>
提交
</el-button>
</el-form-item>
</el-form>
<app-card
title=
"学员信息"
>
<Student
:dealList=
"dealList"
/>
</app-card>
<app-card
title=
"收款信息"
>
<Collection
:dealList=
"dealList"
/>
</app-card>
<app-card
title=
"发票信息"
>
<Ticket
:dealList=
"dealList"
/>
</app-card>
<app-card
title=
"渠道信息"
>
<Channel
:dealList=
"dealList"
/>
</app-card>
<app-card
title=
"支付待确认记录"
>
<Toconfirm
:dealList=
"dealList"
/>
</app-card>
<app-card
title=
"支付确认记录"
>
<Confirmed
:dealList=
"dealList"
/>
</app-card>
</div>
</
template
>
<
script
>
// 组件
import
AppCard
from
'@/components/base/AppCard.vue'
import
{
payConfirm
}
from
'../api'
import
Order
from
'../components/Order.vue'
import
Student
from
'../components/Student.vue'
import
Collection
from
'../components/Collection.vue'
import
Ticket
from
'../components/Ticket.vue'
import
Channel
from
'../components/Channel.vue'
import
Toconfirm
from
'../components/Toconfirm.vue'
import
Confirmed
from
'../components/Confirmed.vue'
import
{
payDetail
,
confirmPayDetail
,
cancelPayDetail
}
from
'../api'
export
default
{
components
:
{
AppCard
},
components
:
{
AppCard
,
Order
,
Student
,
Collection
,
Ticket
,
Channel
,
Toconfirm
,
Confirmed
},
data
()
{
return
{
row
:
{},
dealList
:
{},
form
:
{
service_charge
:
''
,
payment_status
:
''
,
receiving_time
:
''
,
comment
:
''
,
receiving_voucher_filename
:
[]
},
rules
:
{
payment_status
:
[{
required
:
true
,
message
:
'请选择支付状态'
,
trigger
:
'change'
}],
service_charge
:
[{
required
:
true
,
message
:
'请输入手续费'
,
trigger
:
'blur'
}],
receiving_time
:
[{
required
:
true
,
message
:
'请选择到账时间'
,
trigger
:
'blur'
}],
comment
:
[{
required
:
true
,
message
:
'请输入备注'
,
trigger
:
'blur'
}],
receiving_voucher_filename
:
[{
required
:
true
,
message
:
'请上传到账凭证'
,
trigger
:
'change'
}]
}
id
:
''
,
dealList
:
{}
}
},
mounted
()
{
this
.
row
=
JSON
.
parse
(
this
.
$route
.
query
.
row
)
this
.
dealList
=
JSON
.
parse
(
this
.
$route
.
query
.
dealList
)
computed
:
{
roles
()
{
return
this
.
$store
.
state
.
roles
},
isFINANCE
()
{
return
(
this
.
roles
.
includes
(
'finance_manager'
)
||
this
.
roles
.
includes
(
'finance_director'
)
||
this
.
roles
.
includes
(
'developer'
)
)
},
isBUSINESS
()
{
return
(
this
.
roles
.
includes
(
'admissions_director'
)
||
this
.
roles
.
includes
(
'dean_of_admissions'
)
||
this
.
roles
.
includes
(
'developer'
)
)
},
btnText1
()
{
return
this
.
dealList
.
finance_confirm_status
===
0
?
'财务确认足额支付'
:
'财务取消足额支付'
},
btnText2
()
{
return
this
.
dealList
.
business_confirm_status
===
0
?
'业务确认足额支付'
:
'业务取消足额支付'
}
},
beforeMount
()
{
this
.
id
=
this
.
$route
.
params
.
id
// 详情列表
// 获取发票详情信息
this
.
fetchTicketDetail
()
this
.
$store
.
dispatch
(
'getRoles'
)
},
methods
:
{
handleChange
(
file
,
fileList
)
{
this
.
form
.
receiving_voucher_filename
=
fileList
fetchTicketDetail
()
{
const
params
=
{
id
:
this
.
id
}
payDetail
(
params
)
.
then
(
res
=>
{
this
.
dealList
=
res
.
data
.
list
[
0
]
})
.
catch
(
error
=>
{
this
.
$message
.
error
(
error
.
message
)
})
},
// 确认支付
dealPay
()
{
const
id
=
this
.
row
.
id
this
.
$refs
.
formRef
.
validate
().
then
(()
=>
{
const
params
=
Object
.
assign
({
id
:
id
},
this
.
form
)
// 图片上传
this
.
form
.
receiving_voucher_filename
.
forEach
((
file
,
index
)
=>
{
params
[
`receiving_voucher_filename[
${
index
}
]`
]
=
file
.
raw
// 财务(业务)确认(取消)支付
fetchToTicketDetail
(
val
)
{
const
params
=
{
confirm_type
:
val
,
id
:
this
.
id
}
if
(
this
.
dealList
.
payment_status
===
'70'
)
{
// 确认
confirmPayDetail
(
params
).
then
(
res
=>
{
this
.
fetchTicketDetail
()
})
delete
params
.
receiving_voucher_filename
payConfirm
(
params
).
then
(
res
=>
{
history
.
go
(
-
1
)
}
else
{
// 取消
cancelPayDetail
(
params
).
then
(
res
=>
{
this
.
fetchTicketDetail
()
})
}
)
}
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论