Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
B
bigwood
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
罗超
bigwood
Commits
ce47469e
Commit
ce47469e
authored
Nov 18, 2022
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提繳
parent
3f01643f
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
74 additions
and
9 deletions
+74
-9
hotel.ts
src/api/hotel.ts
+11
-0
OrderList.vue
src/components/hotel/order/list/OrderList.vue
+57
-9
index.ts
src/i18n/zh-TW/index.ts
+6
-0
No files found.
src/api/hotel.ts
View file @
ce47469e
...
@@ -17,6 +17,17 @@ class HotelService {
...
@@ -17,6 +17,17 @@ class HotelService {
return
request
(
'dict_post_Destination_GetChildList'
,
params
)
return
request
(
'dict_post_Destination_GetChildList'
,
params
)
}
}
/**
* 上次旅客名單
* @param OrderId 訂單ID
* @param GuestFile 文件路徑
* @returns
*/
static
async
SetGuestFile
(
OrderId
:
number
,
GuestFile
:
string
):
Promise
<
HttpResponse
>
{
let
GuestFileList
=
[
GuestFile
]
return
request
(
'dict_post_SetOrderGuestFile'
,
{
OrderId
,
GuestFileList
})
}
/**
/**
* 取消酒店订单
* 取消酒店订单
* @param OrderId 订单编号
* @param OrderId 订单编号
...
...
src/components/hotel/order/list/OrderList.vue
View file @
ce47469e
...
@@ -78,8 +78,8 @@
...
@@ -78,8 +78,8 @@
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-HandFittingFee=
"props"
>
<
template
v-slot:body-cell-HandFittingFee=
"props"
>
<q-td
:props=
"props"
:rowspan=
"x.DetailList.length"
v-if=
"props.rowIndex
==
0"
>
<q-td
:props=
"props"
:rowspan=
"x.DetailList.length"
v-if=
"props.rowIndex
==
0"
>
{{
moneyFormat
(
x
.
HandFittingFee
)
}}
{{
moneyFormat
(
x
.
HandFittingFee
)
}}
</q-td>
</q-td>
</
template
>
</
template
>
<
template
v-slot:body-cell-HotelName=
"props"
>
<
template
v-slot:body-cell-HotelName=
"props"
>
...
@@ -101,7 +101,15 @@
...
@@ -101,7 +101,15 @@
</div>
</div>
<div
v-if=
"x.CustomerPayType == 1 || x.CustomerPayType == 3"
>
<div
v-if=
"x.CustomerPayType == 1 || x.CustomerPayType == 3"
>
<div
class=
"f12"
v-html=
"$t('hotelorder.pay.t2', { e: x.UploadGuestDate })"
></div>
<div
class=
"f12"
v-html=
"$t('hotelorder.pay.t2', { e: x.UploadGuestDate })"
></div>
<q-btn
dense
outline
color=
"primary"
size=
"sm"
class=
"q-mt-sm"
:label=
"$t('hotelorder.uploadGuest')"
></q-btn>
<div
class=
"row items-center f12 q-mt-sm"
>
<div
class=
"text-accent q-mr-md"
v-if=
"x.GuestFileList.length>0"
>
{{x.GuestFileList[0].split('/').at(-1)}}
</div>
<q-btn
dense
unelevated
color=
"primary"
size=
"sm"
class=
"q-mr-sm"
v-if=
"x.GuestFileList.length>0"
>
<a
class=
"text-white"
style=
"text-decoration:none"
:href=
"x.GuestFileList[0]"
>
{{$t('upload.down')}}
</a>
</q-btn>
<n-upload
class=
"col"
:action=
"importFileUrl"
@
finish=
"handleFinish"
@
change=
"uploadHandleChange(x.OrderId)"
file-list-style=
"display:none"
>
<q-btn
dense
outline
color=
"primary"
size=
"sm"
:label=
"x.GuestFileList.length==0?$t('hotelorder.uploadGuest'):$t('upload.reload')"
></q-btn>
</n-upload>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -125,7 +133,7 @@
...
@@ -125,7 +133,7 @@
<div
class=
"row items-center justify-between q-mb-sm q-pb-sm"
style=
"border-bottom: 1px dashed #ddd"
v-if=
"x.CustomerPayType == 1 || x.CustomerPayType == 3"
>
<div
class=
"row items-center justify-between q-mb-sm q-pb-sm"
style=
"border-bottom: 1px dashed #ddd"
v-if=
"x.CustomerPayType == 1 || x.CustomerPayType == 3"
>
<div
class=
"f12 text-grey"
>
{{ $t('hotelorder.payType.t1') }}
</div>
<div
class=
"f12 text-grey"
>
{{ $t('hotelorder.payType.t1') }}
</div>
<div
class=
"dark"
>
<div
class=
"dark"
>
<span
class=
"f12"
>
{{ moneyFormat(x.SelfPayMoney
) }}
</span>
<span
class=
"f12"
>
{{ moneyFormat(x.SelfPayMoney) }}
</span>
<span
class=
"f12"
>
{{ $t('unit.jp') }}
</span>
<span
class=
"f12"
>
{{ $t('unit.jp') }}
</span>
</div>
</div>
</div>
</div>
...
@@ -137,7 +145,7 @@
...
@@ -137,7 +145,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"rounded-borders q-pa-sm justify-between"
:class=
"{ column: $q.platform.is.desktop, 'row items-center': $q.platform.is.mobile, 'bg-green-1': x.OrderStatus != 1, 'bg-grey-2': x.OrderStatus == 1 }"
>
<div
class=
"rounded-borders q-pa-sm justify-between"
:class=
"{ column: $q.platform.is.desktop, 'row items-center': $q.platform.is.mobile, 'bg-green-1': x.OrderStatus != 1, 'bg-grey-2': x.OrderStatus == 1 }"
>
<q-list
dense
v-if=
"x.OrderStatus == 1"
:class=
"{ 'row items-center justify-between full-width': $q.platform.is.mobile }"
>
<q-list
dense
v-if=
"x.OrderStatus == 1"
:class=
"{ 'row items-center justify-between full-width': $q.platform.is.mobile }"
>
<q-item
class=
"text-negative"
clickable
v-close-popup
@
click=
"cancelConfirmHandler(x.OrderId)"
>
<q-item
class=
"text-negative"
clickable
v-close-popup
@
click=
"cancelConfirmHandler(x.OrderId)"
>
<q-item-section>
<q-item-section>
...
@@ -216,6 +224,8 @@ import { useI18n } from 'vue-i18n'
...
@@ -216,6 +224,8 @@ import { useI18n } from 'vue-i18n'
import
svgIcon
from
'../../../global/svg-icon.vue'
import
svgIcon
from
'../../../global/svg-icon.vue'
import
{
useQuasar
}
from
'quasar'
import
{
useQuasar
}
from
'quasar'
import
{
currentRouter
}
from
'../../../../router'
import
{
currentRouter
}
from
'../../../../router'
import
{
UploadFileInfo
}
from
'naive-ui'
import
{
slice
}
from
'lodash'
export
default
defineComponent
({
export
default
defineComponent
({
components
:
{
svgIcon
},
components
:
{
svgIcon
},
...
@@ -237,6 +247,7 @@ export default defineComponent({
...
@@ -237,6 +247,7 @@ export default defineComponent({
orders
:
[]
as
Array
<
any
>
,
orders
:
[]
as
Array
<
any
>
,
status
:
[]
as
Array
<
StandardStatus
>
,
status
:
[]
as
Array
<
StandardStatus
>
,
rooms
:
[]
as
Array
<
RoomType
>
,
rooms
:
[]
as
Array
<
RoomType
>
,
uploadOrderId
:
0
,
pages
:
{
pages
:
{
pageIndex
:
1
,
pageIndex
:
1
,
pageSize
:
10
,
pageSize
:
10
,
...
@@ -255,7 +266,8 @@ export default defineComponent({
...
@@ -255,7 +266,8 @@ export default defineComponent({
{
name
:
'Money'
,
label
:
t
(
'hotelorder.col.m'
),
field
:
(
row
:
any
)
=>
(
row
.
HotelMoeny
+
row
.
TaxesPrice
).
toFixed
(
2
),
align
:
'left'
},
{
name
:
'Money'
,
label
:
t
(
'hotelorder.col.m'
),
field
:
(
row
:
any
)
=>
(
row
.
HotelMoeny
+
row
.
TaxesPrice
).
toFixed
(
2
),
align
:
'left'
},
{
name
:
'PayType'
,
label
:
t
(
'hotelorder.col.pt'
),
field
:
(
row
:
any
)
=>
(
row
.
PayType
==
1
?
t
(
'hotelorder.payType.t1'
)
:
t
(
'hotelorder.payType.t2'
)),
align
:
'left'
},
{
name
:
'PayType'
,
label
:
t
(
'hotelorder.col.pt'
),
field
:
(
row
:
any
)
=>
(
row
.
PayType
==
1
?
t
(
'hotelorder.payType.t1'
)
:
t
(
'hotelorder.payType.t2'
)),
align
:
'left'
},
{
name
:
'HandFittingFee'
,
label
:
t
(
'hotelorder.hands'
),
align
:
'left'
}
{
name
:
'HandFittingFee'
,
label
:
t
(
'hotelorder.hands'
),
align
:
'left'
}
]
as
any
]
as
any
,
importFileUrl
:
'https://mallApi.oytour.com/api/File/UploadTencent?MallBaseId=1'
})
})
const
methods
=
{
const
methods
=
{
...
@@ -292,7 +304,7 @@ export default defineComponent({
...
@@ -292,7 +304,7 @@ export default defineComponent({
data
.
loading
=
false
data
.
loading
=
false
})
})
},
},
cancelConfirmHandler
(
orderId
:
number
){
cancelConfirmHandler
(
orderId
:
number
)
{
$q
.
dialog
({
$q
.
dialog
({
title
:
t
(
'dialog.titles.horder'
),
title
:
t
(
'dialog.titles.horder'
),
message
:
t
(
'dialog.contents.horder'
),
message
:
t
(
'dialog.contents.horder'
),
...
@@ -332,14 +344,50 @@ export default defineComponent({
...
@@ -332,14 +344,50 @@ export default defineComponent({
data
.
pages
.
pageIndex
=
n
data
.
pages
.
pageIndex
=
n
methods
.
initOrders
()
methods
.
initOrders
()
},
},
uploadHandleChange
(
orderId
:
number
)
{
data
.
uploadOrderId
=
orderId
data
.
loading
=
true
},
init
()
{
init
()
{
data
.
status
=
getHotelOrderStatus
()
data
.
status
=
getHotelOrderStatus
()
data
.
rooms
=
getHotelRoomType
()
data
.
rooms
=
getHotelRoomType
()
methods
.
initOrders
()
methods
.
initOrders
()
},
},
modify
(
id
:
number
)
{
modify
(
id
:
number
)
{
//location.href =
//location.href =
currentRouter
.
push
(
'/hotel/modify/'
+
id
)
currentRouter
.
push
(
'/hotel/modify/'
+
id
)
},
handleFinish
(
options
:
{
file
:
UploadFileInfo
;
event
?:
ProgressEvent
})
{
data
.
loading
=
false
let
r
=
(
options
.
event
?.
target
as
XMLHttpRequest
).
response
if
(
r
){
let
res
=
JSON
.
parse
(
r
)
if
(
res
.
resultCode
==
ApiResult
.
SUCCESS
&&
res
.
data
){
methods
.
setGuestListHandler
(
res
.
data
)
}
else
{
message
.
errorMsg
(
t
(
'upload.failed'
))
data
.
loading
=
false
}
}
else
{
message
.
errorMsg
(
t
(
'upload.failed'
))
data
.
loading
=
false
}
},
setGuestListHandler
(
url
:
string
){
HotelService
.
SetGuestFile
(
data
.
uploadOrderId
,
url
).
then
(
r
=>
{
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
){
message
.
successMsg
(
t
(
'upload.success'
))
let
order
=
data
.
orders
.
find
(
x
=>
x
.
OrderId
==
data
.
uploadOrderId
)
order
.
GuestFileList
=
[
url
]
}
else
{
message
.
errorMsg
(
t
(
'upload.failed'
))
}
data
.
loading
=
false
}).
catch
(
r
=>
{
data
.
loading
=
false
message
.
errorMsg
(
r
.
message
)
})
}
}
}
}
...
...
src/i18n/zh-TW/index.ts
View file @
ce47469e
...
@@ -13,6 +13,12 @@ export default {
...
@@ -13,6 +13,12 @@ export default {
query
:
'檢索'
,
query
:
'檢索'
,
noneData
:
'沒有找到相關的數據'
,
noneData
:
'沒有找到相關的數據'
,
loading
:
'正在加載數據'
,
loading
:
'正在加載數據'
,
upload
:{
'success'
:
'上傳成功'
,
'failed'
:
'上傳失敗'
,
'down'
:
'下載'
,
'reload'
:
'重新上傳'
},
dialog
:{
dialog
:{
titles
:{
titles
:{
hotel
:
'移除酒店警示'
,
hotel
:
'移除酒店警示'
,
...
...
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