Commit f63c6e01 authored by 罗超's avatar 罗超

Merge branch 'master' of http://gitlab.oytour.com/viitto/million

# Conflicts:
#	src/pages/login.vue
parents 3ee08a3c 7cca63b9
......@@ -39,7 +39,7 @@ body {
background-color: #f6f6f6;
}
.rounded-borders{
border-radius: 6px !important;
border-radius: 8px !important;
}
.section-block {
width: 100%;
......@@ -118,7 +118,7 @@ body.desktop .q-tree__node .q-focus-helper:after{
background: none !important;
}
.q-tree__node-header:hover{
background: #f1416c1a;
background: #E3F2FD;
}
.q-tree__arrow{
position: absolute;
......
......@@ -325,6 +325,7 @@ export default {
setTimeout(()=>{
this.p = {};
this.initModel()
this.getCarPriceData2()
},100)
this.$emit("reset");
},
......
......@@ -7,7 +7,7 @@
:class="{'max-width':$q.platform.is.mobile?'100vw':'auto'}">
<div class="non-selectable row">
<div class="q-pr-md cursor-pointer" @click="showImageHandler(item.roomImageURL,item.images)"
:class="{'col-2':$q.platform.is.desktop,'col-6':$q.platform.is.mobile}"
:class="{'col-2':$q.platform.is.desktop,'col-5':$q.platform.is.mobile}"
style="border-right: 1px solid #F5F5F5;">
<div class="relative rounded-borders overflow-hidden column bg-grey-1"
style="border: 1px solid #eee">
......@@ -43,24 +43,26 @@
</div>
</div>
<div class="col" :class="{'column':$q.platform.is.desktop,'row no-wrap scroll':$q.platform.is.mobile}">
<div class="col" :class="{'column':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<div class="relative q-pt-lg q-pb-sm q-pl-md" v-for="(subItem,indexs) in item.roomOptions"
:style="{'border-bottom': indexs+1!=item.roomOptions.length?'1px solid #F5F5F5':'',
'min-width':$q.platform.is.mobile?'150px':'auto'}">
<div class="q-pt-sm"
:class="{'row no-wrap justify-between':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<template v-if="$q.platform.is.desktop">
<div class="col-2 text-grey-6 q-pr-sm">
<div class="col-3 text-grey-6 q-pr-sm">
{{subItem.bookingDeadline}}
</div>
<div class="col">{{subItem.childRates}}</div>
<div class="col-2 text-red">
<div class="col-4 q-px-sm">{{subItem.childRates}}</div>
<div class="col text-red">
<div>入住时间 {{subItem['check-inStartTime']}}</div>
<div>最迟入住时间 {{subItem['finalCheck-inTime']}}</div>
<div>最迟退房时间 {{subItem['finalCheck-outTime']}}</div>
</div>
</template>
<div class="col" v-if="getPrice2(subItem.chargeableRateInfoPerPersonForANightBySetCurrency)">
<div class="col text-center"
:class="{'row justify-end q-pb-sm':$q.platform.is.mobile}"
v-if="getPrice2(subItem.chargeableRateInfoPerPersonForANightBySetCurrency)">
<span class="fz13">CNY</span>
<span class="text-red text-weight-bold q-px-sm"
:class="{'fz28':$q.platform.is.desktop}">{{getPrice2(subItem.chargeableRateInfoPerPersonForANightBySetCurrency)}}
......@@ -68,8 +70,9 @@
</span>
<!-- <span>{{getPrice(subItem.chargeableRateInfoPerPersonForANightBySetCurrency)}}</span> -->
</div>
<div>
<q-btn color="primary" label="立即預訂" unelevated :class="{'q-px-lg':$q.platform.is.desktop}"
<div :class="{'row justify-end':$q.platform.is.mobile}">
<q-btn color="primary" :size="$q.platform.is.desktop?'md':'sm'" label="立即預訂" unelevated
:class="{'q-px-xs':$q.platform.is.desktop}"
@click="goOrderHandler(subItem.roomOptionCd)"/>
</div>
</div>
......@@ -161,6 +164,15 @@
},
showImageHandler(url,img) {
this.images = img
let index = 0
let images = this.images
this.$viewerApi({
options: {
initialViewIndex: index,
},
images,
});
return
this.currentImage = url
this.showImagePriview = true
},
......
......@@ -251,3 +251,6 @@ a {
}
}
</style>
<style lang="scss" scoped>
::v-deep .q-img__content {background: linear-gradient(0deg, rgba(0,0,0,0.56), rgba(0,0,0,0));}
</style>
\ No newline at end of file
......@@ -255,3 +255,6 @@ a {
}
}
</style>
<style lang="scss" scoped>
::v-deep .q-img__content {background: linear-gradient(0deg, rgba(0,0,0,0.56), rgba(0,0,0,0));}
</style>
\ No newline at end of file
<style scoped>
<style lang="scss" scoped>
.header-box {
max-width: 1200px;
margin: 0 auto;
......@@ -29,7 +29,7 @@
}
.select {
color: #fff;
background-color: #ee4454;
background-color: var(--q-color-primary);
}
.menu-title {
font-weight: bold;
......@@ -101,6 +101,12 @@
border-radius: 10px;
}
.address-btn {
text-align: center;
width: 140px;
height: 36px;
line-height: 36px;
padding-left: 20px;
background: #fff;
margin: 0 10px 0 44px;
}
.address-btn:hover {
......@@ -160,7 +166,14 @@
font-weight: bold;
}
.category-btn {
text-align: center;
width: 100px;
height: 36px;
line-height: 36px;
background: #fff;
}
.category-btn:hover {
background: #F5F5F5;
}
.category-icon {
width: 16px;
......@@ -172,8 +185,8 @@
<q-separator color="grey-2" v-if="isHome" />
<div class="header-box flex q-py-sm" v-if="isHome">
<q-tabs align="center" shrink>
<q-btn
flat
<div
flat unelevated
class="address-btn"
@mouseenter="mouseenterAddress"
@mouseleave="mouseeleaveAddress"
......@@ -269,15 +282,14 @@
</div>
</div>
</q-menu>
</q-btn>
</div>
<q-separator style="height: 16px; margin: auto 0" vertical />
<q-btn
<div
class="all-type category-btn"
flat
label="全部分類"
flat unelevated
@mouseenter="typeHoverAll(true)"
@mouseleave="typeHoverAll(false)"
>
>全部分類
<q-menu
ref="menu0"
@mouseenter="menuFocusAll = 2"
......@@ -329,17 +341,17 @@
</div>
</div>
</q-menu>
</q-btn>
</div>
<template v-for="(x, i) in dataList.CategoryList">
<q-btn
<div
class="category-btn"
:key="i"
:label="x.CategoryName"
flat
flat unelevated
:content-style="{ hover: '#ff0000' }"
@mouseenter="typeHover(i, true)"
@mouseleave="typeHover(i, false)"
>
>{{x.CategoryName}}
<q-menu
ref="menu"
:key="i"
......@@ -373,7 +385,7 @@
</div>
</div>
</q-menu>
</q-btn>
</div>
</template>
</q-tabs>
</div></div>
......
<style scoped>
<style lang="scss" scoped>
.header-box {
max-width: 1200px;
margin: 0 auto;
......@@ -29,7 +29,7 @@
}
.select {
color: #fff;
background-color: #ee4454;
background-color: var(--q-color-primary);
}
.menu-title {
font-weight: bold;
......@@ -133,7 +133,7 @@
background-color: #eee;
}
.category-l2-select {
background: #ee4454;
background: var(--q-color-primary);
color: #fff;
}
.category-l3 {
......@@ -179,10 +179,10 @@
<img
:src="baseData.logo"
style="
height: 35px;
cursor: pointer;
filter: drop-shadow(0px 0px var(--q-color-primary));
"
:style="{'height':$q.platform.is.desktop?'35px':'30px'}"
class="q-mr-lg q-ml-sm"
@click="CommonJump('/index', {})"
/></div>
......
<style scoped>
.fill {
background-image: url('../../assets/subscriber-bg.png');
width: 100%;
height: 301px;
background-size: cover
}
.box {
max-width: 1200px;
......@@ -48,6 +50,9 @@ border-radius: 28px;
height: 46px;
border-radius: 23px;
}
::v-deep .q-field__control-container {
padding-left: 30px;
}
</style>>
<template>
<div class="fill">
......@@ -59,7 +64,7 @@ border-radius: 23px;
最高可省60%,只有订阅用户才能享受到隐藏优惠,点击“订阅”,即表示你同意我们的《訂閱條款》
</div>
<div class="email-box" :class="{'mobile':$q.platform.is.mobile}">
<q-input class="input" :class="{'mobile':$q.platform.is.mobile}" rounded outlined placeholder="請輸入您在使用的電子郵件"></q-input><q-btn color="primary" class="btn" label="提交"></q-btn>
<q-input class="input" :class="{'mobile':$q.platform.is.mobile}" rounded outlined placeholder="請輸入您在使用的電子郵件"></q-input><q-btn unelevated color="primary" class="btn" label="提交"></q-btn>
</div>
</div>
</div>
......
......@@ -139,21 +139,25 @@
square
id="search_key"
v-model="searchKey"
class="bg-grey-1 col"
class="bg-white col"
clearable
label="搜尋目的地、景點、行程觀光或酒店名稱..."
@focus="searchFocusHandler"
@blur="searchBlurHandler"
@keyup="searchChangeHandler"
@keypress.enter.native="goSearchHandler"
/>
>
<template v-slot:prepend>
<q-icon name="search" />
</template>
</q-input>
<q-btn
dark-percentage
color="primary"
style="border-radius: 0"
class="col-2"
unelevated
icon="search"
label="搜索"
@click="goSearchHandler"
/>
</div>
......@@ -178,7 +182,7 @@
</q-btn>
</div>
</div>
<div class="text-weight-bold q-pa-sm">熱門目的地</div>
<div class="text-weight-bold q-py-sm q-pl-md">熱門目的地</div>
<q-separator />
<div class="flex flex-wrap">
<div class="hot-tag" @click="handleHotTagClick(item)" :class="{'hot-tag-select': setectHotTag === item.Id}" :key="item.Id" v-for="item in hotList">{{item.Name}}</div>
......
......@@ -181,7 +181,7 @@
:options="optionsFn"
range
@range-end="dateRangeHandler"
mask="YYYY-MM-DD"
mask="YYYY/MM/DD"
></q-date>
</div>
</q-popup-proxy>
......@@ -507,6 +507,8 @@ export default {
this.dayArray.forEach((x) => {
x.checked = false;
});
this.msg.startDate = date.formatDate(new Date(this.qMsg.startDate), "YYYY/MM/DD")
this.msg.endDate = date.formatDate(new Date(this.qMsg.endDate), "YYYY/MM/DD")
this.dateRange = { from: this.msg.startDate, to: this.msg.endDate };
this.goSearchHandler();
},
......@@ -935,7 +937,7 @@ export default {
<style>
.addr-list:hover {
background: #f1416c1a;
background: #E3F2FD;
}
</style>
<style lang="scss" scoped>
......
......@@ -34,7 +34,7 @@
.fee_line {
width: 32px;
height: 2px;
background: #ee4454;
background: var(--q-color-primary);
display: inline-block;
}
......
......@@ -730,12 +730,7 @@ export default {
this.productType = 12
}
} else {
this.$q.notify({
type: "negative",
message: r.data.message,
position: "top",
timeout: 2000, // 以毫秒为单位; 0意味着没有超时
});
this.$message.error(r.data.message)
}
this.$q.loading.hide();
},
......
......@@ -878,11 +878,7 @@ export default {
});
} else {
this.$q.notify({
type: "negative",
message: r.data.message,
position: "top",
});
this.$message.error(r.data.message)
}
this.$q.loading.hide();
},
......@@ -912,13 +908,14 @@ export default {
let MailingMoneyList = x.PriceList.sort((a,b)=>{return b.MailingMoney-a.MailingMoney})
let dataObj = {
startDate: x.Date,
originalB2CPrice: x.PriceList[0].Price,
originalB2CPrice: x.PriceList[0].Price>0?x.PriceList[0].Price:'',
remainNum: 1,
Count: 1,
safeMoney: 0,
MailingMoney: MailingMoneyList[0].MailingMoney,
PriceList: x.PriceList,
}
x.Date = date.formatDate(new Date(x.Date), 'YYYY/MM/DD')
if(date.formatDate(Date.now(), 'YYYY/MM/DD')!=x.Date&&x.Date>date.formatDate(Date.now(), 'YYYY/MM/DD')){
arr.push(dataObj)
}
......
......@@ -465,12 +465,7 @@
this.parameters.SelffetchAddress = ''
}
} else {
this.$q.notify({
type: "negative",
message: r.data.message,
position: "top",
timeout: 2000, // 以毫秒为单位; 0意味着没有超时
});
this.$message.error(r.data.message)
}
this.$q.loading.hide();
},
......
This diff is collapsed.
......@@ -951,12 +951,7 @@ export default {
});
} else {
this.$q.notify({
type: "negative",
message: r.data.message,
position: "top",
timeout: 2000, // 以毫秒为单位; 0意味着没有超时
});
this.$message.error(r.data.message)
}
this.$q.loading.hide();
},
......
......@@ -1219,12 +1219,7 @@ export default {
}
});
} else {
this.$q.notify({
type: "negative",
message: r.data.message,
position: "top",
timeout: 2000, // 以毫秒为单位; 0意味着没有超时
});
this.$message.error(r.data.message)
}
this.$q.loading.hide();
},
......
......@@ -145,12 +145,24 @@ export default {
null
);
},
isWeChat() {
//window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,这个属性可以用来判断浏览器类型
var ua = window.navigator.userAgent.toLowerCase();
//通过正则表达式匹配ua中是否含有MicroMessenger字符串
return ua.match(/MicroMessenger/i) == "micromessenger";
},
changeWechat() {
const { AppID, State, OpenRedirectUri } = this.openInfo;
let redirect_uri = OpenRedirectUri;
console.log('${redirect_uri}/#/loginInfo',`${redirect_uri}/#/loginInfo`)
const url = `https://open.weixin.qq.com/connect/qrconnect?appid=${AppID}&redirect_uri=${encodeURIComponent(`http://www.oytour.com/#/loginInfo`)}&response_type=code&scope=snsapi_login&state=${State}&wechat_redirect=${redirect_uri}`;
let url = `https://open.weixin.qq.com/connect/qrconnect?appid=${AppID}&redirect_uri=${encodeURIComponent(`http://www.oytour.com/#/loginInfo`)}&response_type=code&scope=snsapi_login&state=${State}&wechat_redirect=${redirect_uri}`;
if (this.$q.platform.is.mobile && this.isWeChat()) {
// 移动端微信环境
url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${AppID}&redirect_uri=${encodeURIComponent(
"http://www.oytour.com/#/loginInfo"
)}&response_type=code&scope=snsapi_userinfo&state=${State}&wechat_redirect=${redirect_uri}`;
}
alert('url::' + url)
console.log('${redirect_uri}/#/loginInfo',`${redirect_uri}/#/loginInfo`, url)
window.location.href = url;
},
......@@ -168,6 +180,7 @@ export default {
(r) => {
if (r.data.resultCode == 1) {
this.getUserInfo()
this.$router.replace('/loginInfo')
this.$q.notify({
type: "positive",
message: r.data.message,
......
......@@ -130,6 +130,7 @@
@input="changeCountry"
emit-value
map-options
options-dense
ref="CountryId"
square
outlined
......
......@@ -142,13 +142,13 @@
/>
</div> -->
<div class="col">
<div class="title">電話(首次需驗證)</div>
<div class="title">電話</div>
<q-input
ref="Moblie"
class="form-item"
v-model="form.Moblie"
outlined
:rules="[(val) => !!val || '请输入電話(首次需驗證)']"
:rules="[(val) => !!val || '请输入電話']"
>
<template v-slot:prepend>
<div class="text-subtitle2">
......
......@@ -191,6 +191,7 @@
<div class="col">
<div class="title">國家/地區代碼</div>
<q-select
options-dense
emit-value
map-options
ref="AreaCode"
......@@ -233,6 +234,7 @@
<q-select
emit-value
map-options
options-dense
ref="card"
square
outlined
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment