Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
杨炀
/
dance-pc
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
4da7ea7d
authored
2025-08-18 10:57:37 +0800
by
zrj
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
8.18 hebing
1 parent
0def89d5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
96 additions
and
2 deletions
src/viewsPc/center/info/reservationInfo.vue
src/viewsPc/center/myReservation.vue
src/viewsPc/center/info/reservationInfo.vue
View file @
4da7ea7
<
template
>
<div
class=
"pd20"
>
<div
style=
"margin-bottom: 20px"
>
<el-button
type=
"primary"
@
click=
"downloadAll"
>
合并生成缴费单
</el-button>
<!--
<el-button
type=
"primary"
@
click=
"showDialog"
>
合并上传缴费单
</el-button>
-->
</div>
<div
v-for=
"b in list"
class=
"item"
>
<div
class=
"title"
>
<el-checkbox
v-model=
"b.ischeck"
></el-checkbox>
<label
v-if=
"b.orderType == 0"
class=
"blueTag"
>
{{
language
==
0
?
'酒店'
:
'HOTEL'
}}
</label>
<label
v-if=
"b.orderType == 1"
class=
"purpleTag"
>
{{
language
==
0
?
'车辆'
:
'TRANSPORTATION'
}}
</label>
<label
v-if=
"b.orderType == 2"
class=
"orangeTag"
>
{{
language
==
0
?
'餐饮'
:
'DINING'
}}
</label>
...
...
@@ -140,17 +145,37 @@
</el-col>
</el-row>
</div>
<el-dialog
v-model=
"show"
:title=
"language == 0 ? '上传:' : 'Upload:'"
width=
"1000px"
>
<div>
<el-row
class=
"proofBox"
>
<el-col
:lg=
"12"
>
<div
class=
"flex"
>
<label
style=
"width: 10em"
>
{{
language
==
0
?
'上传缴费凭证:'
:
'Upload proof:'
}}
</label>
<file-upload
v-model=
"pf"
:is-show-tip=
"false"
:button-text=
"language==0?'上传文件':'Upload'"
/>
</div>
</el-col>
<!-- 如果没审批通过-->
<el-col
:lg=
"24"
align=
"center"
justify=
"center"
>
<el-button
round
type=
"primary"
@
click=
"submitProofAll"
>
{{
language
==
'0'
?
'提交凭证'
:
'Submit Proof'
}}
</el-button>
</el-col>
</el-row>
</div>
</el-dialog>
</div>
</
template
>
<
script
setup
>
import
dayjs
from
"dayjs"
;
import
{
useStorage
}
from
"@vueuse/core"
;
import
{
cancelOrder
,
cancelOrder2
}
from
"/@/apiPc/booking"
;
import
{
cancelOrder
,
cancelOrder2
,
renewalProof
}
from
"/@/apiPc/booking"
;
import
{
ElMessage
}
from
"element-plus"
;
import
{
getCurrentInstance
}
from
"@vue/runtime-core"
;
import
{
ref
}
from
"vue"
;
defineProps
({
const
props
=
defineProps
({
list
:
{
type
:
Array
,
default
:
()
=>
[]
...
...
@@ -239,6 +264,69 @@ const downInvoice = (row) => {
},
`Invoice_
${
new
Date
().
getTime
()}
.pdf`
)
}
function
downloadAll
()
{
let
selectList
=
props
.
list
.
filter
(
item
=>
item
.
ischeck
==
true
)
if
(
selectList
.
length
>
0
)
{
let
flag
=
true
let
pType
=
selectList
[
0
].
paymentType
==
1
||
selectList
[
0
].
paymentType
==
4
?
0
:
1
selectList
.
forEach
(
n
=>
{
let
nType
=
n
.
paymentType
==
1
||
n
.
paymentType
==
4
?
0
:
1
if
(
nType
!=
pType
)
{
flag
=
false
}
})
if
(
!
flag
)
{
ElMessage
({
message
:
language
.
value
==
0
?
'存在不同货币结算的订单,无法合并!'
:
'Orders with different currency settlements cannot be merged!'
,
type
:
'warning'
})
}
let
ids
=
selectList
.
map
(
item
=>
item
.
id
)
downInvoices
(
ids
.
join
(
','
),
pType
)
}
else
{
ElMessage
({
message
:
language
.
value
==
0
?
'请选择缴费单!'
:
'Please select a order!'
,
type
:
'warning'
})
}
}
const
downInvoices
=
(
ids
,
language
)
=>
{
proxy
.
download
(
`/ota/orderRoom/exportRoomBillPaymentBatch`
,
{
ids
:
ids
,
language
:
language
,
},
`Invoice_
${
new
Date
().
getTime
()}
.pdf`
)
}
const
show
=
ref
(
false
)
const
pf
=
ref
([])
const
submitProofAll
=
()
=>
{
console
.
log
(
pf
.
value
)
// //提交凭证
// if (!pf.value) {
// ElMessage.warning(language.value == 0 ? '请上传凭证' : 'Please upload a voucher')
// return
// }
// booking.renewalProof({
// id: orderId.value,
// pic: form.value.pic[0]?.url
// }).then(res => {
// ElMessage.success({
// message: language.value == 0 ? '凭证提交成功' : 'Voucher submission successful',
// type: 'success'
// })
// getData()
// })
}
const
showDialog
=
()
=>
{
show
.
value
=
true
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
@@ -392,4 +480,9 @@ const downInvoice = (row) => {
}
}
.proofBox
{
padding
:
20px
;
margin
:
0
20px
;
border
:
1px
dashed
#999
;
}
</
style
>
...
...
src/viewsPc/center/myReservation.vue
View file @
4da7ea7
...
...
@@ -51,6 +51,7 @@ function getList() {
if
(
b
.
status
==
'0'
)
{
b
.
countdown
=
Number
(
b
.
surplus
)
}
b
.
ischeck
=
false
}
})
}
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
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 post a comment