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
793a9231
Commit
793a9231
authored
Dec 16, 2022
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
d1bb56ed
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
99 additions
and
56 deletions
+99
-56
DetailsList.vue
src/components/scattered/list/DetailsList.vue
+18
-23
dictionary.ts
src/config/dictionary.ts
+6
-1
index.ts
src/i18n/zh-TW/index.ts
+17
-0
HotelSure.vue
src/pages/scattered/HotelSure.vue
+42
-30
hotelDetails.vue
src/pages/scattered/hotelDetails.vue
+16
-2
No files found.
src/components/scattered/list/DetailsList.vue
View file @
793a9231
...
...
@@ -43,7 +43,7 @@
</div>
<q-card
class=
"q-my-md"
>
<
template
v-if=
"SimilarList&&SimilarList.length>0"
>
<div
class=
"row"
v-for=
"(item,index) in SimilarList"
:key=
"index"
>
<div
class=
"row"
v-for=
"(item,index) in SimilarList"
:key=
"index"
v-loading=
"loading"
>
<div
class=
"col-3 col row no-wrap justify-between q-pa-sm q-pr-lg"
style=
"border-right: 1px solid #eeeeee;"
>
<!-- @click="showImageHandler" -->
<div
class=
"col-6"
style=
"height: 100px;"
>
...
...
@@ -116,6 +116,7 @@
</template>
<
script
lang=
"ts"
>
import
{
useRouter
}
from
'vue-router'
import
{
useI18n
}
from
'vue-i18n'
import
svgIcon
from
'../../global/svg-icon.vue'
import
{
computed
,
inject
,
provide
,
reactive
,
ref
,
toRefs
,
defineComponent
,
onMounted
,
watch
}
from
'vue'
...
...
@@ -130,8 +131,9 @@
import
{
moneyFormat
}
from
'../../../utils/tools'
export
default
defineComponent
({
components
:
{
svgIcon
},
props
:[
'hotelDetails'
],
setup
(
props
)
{
props
:[
''
],
setup
(
props
,
context
)
{
const
$router
=
useRouter
()
const
$q
=
useQuasar
()
const
qDateProxy
=
ref
(
null
)
as
any
const
qNameProxy
=
ref
(
null
)
as
any
...
...
@@ -190,7 +192,14 @@
const
methods
=
{
goUrl
(
url
:
stringify
,
row
:
{}){
url
=
`
${
url
}
/
${
search
.
hotelId
}
/
${
row
.
roomOptionCd
}
`
window
.
open
(
url
,
'_blank'
)
let
d
=
{
room
:
data
.
room
,
auditNum
:
data
.
auditNum
,
childNum
:
data
.
childNum
,
}
context
.
emit
(
'goUrl'
,
url
,
d
)
// window.open(url, '_blank')
// $router.push({ path:url })
},
getPrice
(
price
){
return
Math
.
ceil
(
price
/
data
.
JapanIncrease
)
...
...
@@ -299,6 +308,7 @@
});
data
.
JapanIncrease
=
r
.
data
.
data
.
JapanIncrease
;
}
data
.
loading
=
false
}).
catch
(
e
=>
{
data
.
loading
=
false
message
.
errorMsg
(
e
.
message
)
...
...
@@ -359,18 +369,6 @@
optionsFn
(
cd
:
any
)
{
return
cd
>=
date
.
formatDate
(
date
.
addToDate
(
new
Date
(),
{
days
:
8
}),
'YYYY/MM/DD'
)
},
setData
(){
let
d
=
{
searchroomGroup
:
search
.
searchroomGroup
,
room
:
data
.
room
,
auditNum
:
data
.
auditNum
,
childNum
:
data
.
childNum
,
arrivalDate
:
search
.
arrivalDate
,
departureDate
:
search
.
departureDate
,
imgUrl
:
props
.
hotelDetails
.
hotelImageUrl1
}
localStorage
.
setItem
(
DirtionmaryHelper
.
SCATTERED_HOTEL_DATE
,
JSON
.
stringify
(
d
))
}
}
const
searchCnt
=
computed
(()
=>
{
let
setCnt
=
0
...
...
@@ -378,19 +376,16 @@
return
setCnt
})
watch
(
search
.
searchroomGroup
,
(
n
,
o
)
=>
{
methods
.
setData
()
})
watch
(
data
.
room
,
(
n
,
o
)
=>
{
methods
.
setData
()
})
watch
(
data
.
auditNum
,
(
n
,
o
)
=>
{
methods
.
setData
()
})
watch
(
data
.
childNum
,
(
n
,
o
)
=>
{
methods
.
setData
()
})
watch
(
props
.
hotelDetails
,
(
n
,
o
)
=>
{
methods
.
setData
()
})
onMounted
(()
=>
{
methods
.
initHotel
()
...
...
src/config/dictionary.ts
View file @
793a9231
...
...
@@ -60,10 +60,15 @@ class DirtionmaryHelper {
static
readonly
HOTEL_TIPS_LASTDATE
=
"hoteltipslastdate"
/**
* 散客预约酒店缓存客房数据等
* 散客预约酒店缓存
搜索
客房数据等
*/
static
readonly
SCATTERED_HOTEL_DATE
=
"scatteredhoteldate"
/**
* 散客预约酒店缓存客房下单是详情数据
*/
static
readonly
SCATTERED_HOTEL_ORDER
=
"scatteredhotelorder"
/**
* 用户是否在中国
*/
...
...
src/i18n/zh-TW/index.ts
View file @
793a9231
...
...
@@ -687,6 +687,23 @@ export default {
renju
:
'人均'
,
yuyue
:
'預約'
,
},
scatteredOrder
:{
prompt1
:
'超過13歲視為成人處理'
,
prompt2
:
'預定成功後房間將為您整晚保留'
,
fangxing
:
'房型'
,
xiyan
:
'吸烟'
,
xiyan0
:
'禁烟'
,
xiyan1
:
'可吸烟'
,
cesuo
:
'厕所'
,
you
:
'有'
,
wu
:
'无'
,
lutiankefang
:
'露天客房'
,
orderamount
:
'订单总额'
,
renmingbi
:
'人民币'
,
youhui
:
'优惠'
,
shifu
:
'实付'
,
yudinxinx
:
'预定信息'
}
}
//#endregion
...
...
src/pages/scattered/HotelSure.vue
View file @
793a9231
...
...
@@ -4,66 +4,76 @@
<div
class=
"bg-white rounded-border q-mb-md q-px-lg q-py-md"
>
<div
class=
"row items-center text-orange-6"
>
<q-btn
class=
"bg-orange-6 text-white"
round
size=
"sm"
icon=
"person"
/>
<!--
<q-icon
class=
"absolute"
style=
"left: 0;top: 5px;width: inherit;"
name=
"person"
size=
"18px"
></q-icon>
-->
<span
class=
"fz18 q-pl-lg"
>
超过13岁视为成人处理
</span>
<span
class=
"fz18 q-pl-lg"
>
{{
$t
(
'v101.scatteredOrder.prompt1'
)
}}
</span>
</div>
<div
class=
"row items-center text-green-6 q-mt-xs q-pt-sm"
>
<q-btn
class=
"bg-green-6 text-white"
round
size=
"sm"
icon=
"wallet"
/>
<span
class=
"fz18 q-pl-lg"
>
预定成功后房间将为您整晚保留
</span>
<span
class=
"fz18 q-pl-lg"
>
{{
$t
(
'v101.scatteredOrder.prompt2'
)
}}
</span>
</div>
</div>
<div
class=
"col row justify-between bg-white rounded-border q-mb-md q-pa-lg"
>
<div
class=
"col row"
>
<div
class=
"col-6"
>
<q-img
class=
"q-mr-lg"
src=
"../../assets/images/logo.png"
style=
"height: auto;width: 80px;"
spinner-color=
"drk"
spinner-size=
"20px"
mode=
"cover"
/>
</div>
<div
class=
"col-6 column"
>
<div
class=
"text-red fz18 text-weight-bold"
>
酒店名称
</div>
<div
class=
"col row bg-white rounded-border q-mb-md q-pa-lg"
>
<div
class=
"col-5 row"
>
<q-img
class=
"col-5 q-mr-lg"
:src=
"params.imgUrl"
style=
"height: auto;display: inline-block;"
spinner-color=
"drk"
spinner-size=
"20px"
mode=
"cover"
/>
<div
class=
"col column q-pl-lg"
>
<div
class=
"text-red fz18 text-weight-bold"
>
{{
dataList
.
hotelName
}}
</div>
<div
class=
"q-pt-xs"
>
<q-icon
class=
"text-grey-13 q-mr-xs"
name=
"place"
size=
"xs"
></q-icon>
<span
class=
"col fz14 text-weight-bold text-blick"
>
地名
</span>
<span
class=
"col fz14 text-weight-bold text-blick"
>
{{
dataList
.
address
}}
</span>
</div>
<div
class=
"q-pt-xs"
>
<span
class=
"text-grey-6 q-pr-lg"
>
房型
</span>
<span
class=
"text-grey-6 q-pr-lg"
>
{{
$t
(
'v101.scatteredOrder.fangxing'
)
}}
</span>
<span
class=
"text-grey-9 q-pr-lg"
>
<!--
{{
getGradeType
(
dataList
.
roomRateDetails
.
gradeType
)
}}{{
getRoomType
(
dataList
.
roomRateDetails
.
roomType
)
}}
-->
{{
roomRateDetails
?
getGradeType
(
roomRateDetails
.
gradeType
):
''
}}{{
roomRateDetails
?
getRoomType
(
roomRateDetails
.
roomType
):
''
}}
</span>
</div>
<div
class=
"q-pt-xs"
>
<span
class=
"text-grey-6 q-pr-lg"
>
吸烟
</span>
<span
class=
"text-grey-9"
>
禁烟
</span>
<span
class=
"text-grey-6 q-pr-lg"
>
{{
$t
(
'v101.scatteredOrder.xiyan'
)
}}
</span>
<span
class=
"text-grey-9"
>
<template
v-if=
"roomRateDetails.smoking==0"
>
{{
$t
(
'v101.scatteredOrder.xiyan0'
)
}}
</
template
>
<
template
v-if=
"roomRateDetails.smoking==1"
>
{{
$t
(
'v101.scatteredOrder.xiyan1'
)
}}
</
template
>
</span>
</div>
<div
class=
"q-pt-xs"
>
<span
class=
"text-grey-6 q-pr-lg"
>
厕所
</span>
<span
class=
"text-grey-9"
>
无
</span>
<span
class=
"text-grey-6 q-pr-lg"
>
{{$t('v101.scatteredOrder.cesuo')}}
</span>
<span
class=
"text-grey-9"
>
<
template
v-if=
"roomRateDetails.withBath==0"
>
{{
$t
(
'v101.scatteredOrder.wu'
)
}}
</
template
>
<
template
v-if=
"roomRateDetails.withBath==1"
>
{{
$t
(
'v101.scatteredOrder.you'
)
}}
</
template
>
</span>
</div>
<div
class=
"q-pt-xs"
>
<span
class=
"text-grey-6 q-pr-lg"
>
露天客房
</span>
<span
class=
"text-grey-9"
>
无
</span>
<span
class=
"text-grey-6 q-pr-lg"
>
{{$t('v101.scatteredOrder.lutiankefang')}}
</span>
<span
class=
"text-grey-9"
>
<
template
v-if=
"roomRateDetails.withOpenAirBath==0"
>
{{
$t
(
'v101.scatteredOrder.wu'
)
}}
</
template
>
<
template
v-if=
"roomRateDetails.withOpenAirBath==1"
>
{{
$t
(
'v101.scatteredOrder.you'
)
}}
</
template
>
</span>
</div>
</div>
</div>
<div
class=
"column q-pl-lg
col-4
"
>
<div
class=
"text-red fz18 text-weight-bold"
>
订单总额
</div>
<div
class=
"column q-pl-lg"
>
<div
class=
"text-red fz18 text-weight-bold"
>
{{$t('v101.scatteredOrder.orderamount')}}
</div>
<div
class=
"q-pt-md"
>
<div>
<span
class=
"text-grey-6"
>
円
</span>
<span
class=
"text-red fz16 text-weight-bold q-pl-lg"
>
10940
</span>
<span
class=
"text-red fz16 text-weight-bold q-pl-lg"
>
{{sureMsg.totalPriceJapanese}}
</span>
</div>
<div
class=
"q-pt-xs"
>
<span
class=
"text-grey-6"
>
{{$t('v101.scatteredOrder.renmingbi')}}
</span>
<span
class=
"text-red fz16 text-weight-bold q-pl-lg"
>
{{sureMsg.totalChargeableRateInfo}}
</span>
</div>
<div
class=
"q-pt-xs"
>
<span
class=
"text-grey-6"
>
优惠
</span>
<span
class=
"text-red fz16 text-weight-bold q-pl-lg"
>
0
</span>
<span
class=
"text-grey-6"
>
{{$t('v101.scatteredOrder.youhui')}}
</span>
<span
class=
"text-red fz16 text-weight-bold q-pl-lg"
>
{{sureMsg.DiscountMoney}}
</span>
</div>
<div
class=
"q-pt-xs"
>
<span
class=
"text-grey-6"
>
实付
</span>
<span
class=
"text-h6 text-red text-weight-bold q-pl-lg"
>
564
</span>
<span
class=
"text-grey-6"
>
{{$t('v101.scatteredOrder.shifu')}}
</span>
<span
class=
"text-h6 text-red text-weight-bold q-pl-lg"
>
{{SettlementPrice}}
</span>
</div>
</div>
</div>
</div>
<div
class=
"col column bg-white rounded-border q-mb-md"
>
<div
class=
"bg-light-blue-1 q-py-md q-px-lg fz14 rounded-borders row items-center text-weight-bold"
>
预定信息
{{$t('v101.scatteredOrder.yudinxinx')}}
</div>
<div
class=
"q-pa-lg column"
>
<div
class=
"row items-center q-mb-md"
>
...
...
@@ -369,7 +379,8 @@
loading
:
false
,
dateRange
:
''
as
any
,
//当前日期
dateRangeFormat
:
''
,
//可选日期
dataList
:
[]
as
Array
<
any
>
,
roomRateDetails
:
{}
as
any
,
dataList
:
{}
as
any
,
//确认MSG参数
sureMsg
:{
dataId
:
''
,
...
...
@@ -421,7 +432,7 @@
data
.
adultList
.
push
(
i
)
data
.
childrenList
.
push
(
i
)
}
data
.
getParamsMsg
=
JSON
.
parse
(
localStorage
.
getItem
(
DirtionmaryHelper
.
SCATTERED_HOTEL_
DATE
))
data
.
getParamsMsg
=
JSON
.
parse
(
localStorage
.
getItem
(
DirtionmaryHelper
.
SCATTERED_HOTEL_
ORDER
))
data
.
params
.
arrivalDate
=
data
.
getParamsMsg
.
arrivalDate
data
.
params
.
departureDate
=
data
.
getParamsMsg
.
departureDate
data
.
params
.
searchroomGroup
=
data
.
getParamsMsg
.
searchroomGroup
...
...
@@ -534,7 +545,8 @@
.
then
(
r
=>
{
if
(
r
.
data
.
resultCode
==
ApiResult
.
SUCCESS
)
{
data
.
dataList
=
r
.
data
.
data
;
console
.
log
(
data
.
dataList
.
roomRateDetails
,
'---1111'
)
data
.
roomRateDetails
=
r
.
data
.
data
.
roomRateDetails
console
.
log
(
data
.
roomRateDetails
,
'---1111'
)
if
(
Object
.
prototype
.
toString
.
call
(
data
.
dataList
.
roomGroup
)
==
'[object Object]'
){
let
arr
=
[];
arr
.
push
(
data
.
dataList
.
roomGroup
);
...
...
src/pages/scattered/hotelDetails.vue
View file @
793a9231
...
...
@@ -56,7 +56,7 @@
</GoogleMap>
</div>
</div>
<DetailsList
:hotelDetails=
"h
"
></DetailsList>
<DetailsList
@
goUrl=
"goUrl
"
></DetailsList>
<div
class=
"bg-light-blue-1 q-pa-md fz14 rounded-borders"
>
<div
class=
"text-weight-bold"
>
{{
$t
(
'v101.scatteredDetails.jiudianxinxi'
)
}}
</div>
<!--
<div
class=
"text-grey-8 q-mt-sm"
>
{{
h
.
Descriptions
}}
</div>
-->
...
...
@@ -218,7 +218,6 @@
data
.
scrollStyle
=
useScrollModule
().
scrollStyle
data
.
getParamsMsg
=
JSON
.
parse
(
localStorage
.
getItem
(
DirtionmaryHelper
.
SCATTERED_HOTEL_DATE
))
data
.
urlParamsMsg
=
currentRouter
.
currentRoute
.
value
.
params
console
.
log
(
data
.
getParamsMsg
.
searchroomGroup
,
'-----'
)
const
search
=
reactive
({
hotelId
:
data
.
urlParamsMsg
.
hotelId
,
sort
:
1
,
...
...
@@ -230,6 +229,21 @@
})
provide
(
DirtionmaryHelper
.
HOTEL_QUERY_PARAM
,
search
)
const
methods
=
{
goUrl
(
url
:
stringify
,
dataObj
:{}){
localStorage
.
removeItem
(
DirtionmaryHelper
.
SCATTERED_HOTEL_ORDER
)
let
d
=
{
searchroomGroup
:
search
.
searchroomGroup
,
room
:
dataObj
.
room
,
auditNum
:
dataObj
.
auditNum
,
childNum
:
dataObj
.
childNum
,
arrivalDate
:
search
.
arrivalDate
,
departureDate
:
search
.
departureDate
,
imgUrl
:
data
.
h
.
hotelImageUrl1
}
localStorage
.
setItem
(
DirtionmaryHelper
.
SCATTERED_HOTEL_ORDER
,
JSON
.
stringify
(
d
))
window
.
open
(
url
,
'_blank'
)
// $router.push({ path:url })
},
initMap
(
lat
:
any
,
lng
:
any
)
{
let
country
=
localStorage
.
getItem
(
DirtionmaryHelper
.
USER_IN_COUNTRY
)
??
'GW'
if
(
country
!=
'CN'
){
...
...
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