Commit 3df9eaf1 authored by 沈良进's avatar 沈良进

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

parents 80efe44c 34adaaee
...@@ -118,7 +118,7 @@ body.desktop .q-tree__node .q-focus-helper:after{ ...@@ -118,7 +118,7 @@ body.desktop .q-tree__node .q-focus-helper:after{
background: none !important; background: none !important;
} }
.q-tree__node-header:hover{ .q-tree__node-header:hover{
background: #f1416c1a; background: #E3F2FD;
} }
.q-tree__arrow{ .q-tree__arrow{
position: absolute; position: absolute;
......
...@@ -50,17 +50,17 @@ ...@@ -50,17 +50,17 @@
<div class="q-pt-sm" <div class="q-pt-sm"
:class="{'row no-wrap justify-between':$q.platform.is.desktop,'column':$q.platform.is.mobile}"> :class="{'row no-wrap justify-between':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<template v-if="$q.platform.is.desktop"> <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}} {{subItem.bookingDeadline}}
</div> </div>
<div class="col">{{subItem.childRates}}</div> <div class="col-4 q-px-sm">{{subItem.childRates}}</div>
<div class="col-2 text-red"> <div class="col text-red">
<div>入住时间 {{subItem['check-inStartTime']}}</div> <div>入住时间 {{subItem['check-inStartTime']}}</div>
<div>最迟入住时间 {{subItem['finalCheck-inTime']}}</div> <div>最迟入住时间 {{subItem['finalCheck-inTime']}}</div>
<div>最迟退房时间 {{subItem['finalCheck-outTime']}}</div> <div>最迟退房时间 {{subItem['finalCheck-outTime']}}</div>
</div> </div>
</template> </template>
<div class="col" <div class="col text-center"
:class="{'row justify-end q-pb-sm':$q.platform.is.mobile}" :class="{'row justify-end q-pb-sm':$q.platform.is.mobile}"
v-if="getPrice2(subItem.chargeableRateInfoPerPersonForANightBySetCurrency)"> v-if="getPrice2(subItem.chargeableRateInfoPerPersonForANightBySetCurrency)">
<span class="fz13">CNY</span> <span class="fz13">CNY</span>
...@@ -71,7 +71,8 @@ ...@@ -71,7 +71,8 @@
<!-- <span>{{getPrice(subItem.chargeableRateInfoPerPersonForANightBySetCurrency)}}</span> --> <!-- <span>{{getPrice(subItem.chargeableRateInfoPerPersonForANightBySetCurrency)}}</span> -->
</div> </div>
<div :class="{'row justify-end':$q.platform.is.mobile}"> <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-lg':$q.platform.is.desktop}" <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)"/> @click="goOrderHandler(subItem.roomOptionCd)"/>
</div> </div>
</div> </div>
...@@ -163,6 +164,15 @@ ...@@ -163,6 +164,15 @@
}, },
showImageHandler(url,img) { showImageHandler(url,img) {
this.images = img this.images = img
let index = 0
let images = this.images
this.$viewerApi({
options: {
initialViewIndex: index,
},
images,
});
return
this.currentImage = url this.currentImage = url
this.showImagePriview = true this.showImagePriview = true
}, },
......
...@@ -158,6 +158,11 @@ ...@@ -158,6 +158,11 @@
.category-btn { .category-btn {
width: 100px; width: 100px;
} }
.mobile-logo{
max-height: 35px;
max-width: 120px;
object-fit: contain;
}
</style> </style>
<template> <template>
<q-header <q-header
...@@ -180,10 +185,11 @@ ...@@ -180,10 +185,11 @@
:src="baseData.logo" :src="baseData.logo"
style=" style="
cursor: pointer; cursor: pointer;
height: 35px;
filter: drop-shadow(0px 0px var(--q-color-primary)); filter: drop-shadow(0px 0px var(--q-color-primary));
" "
:style="{'height':$q.platform.is.desktop?'35px':'30px'}"
class="q-mr-lg q-ml-sm" class="q-mr-lg q-ml-sm"
:class="{'mobile-logo':$q.platform.is.mobile}"
@click="CommonJump('/index', {})" @click="CommonJump('/index', {})"
/></div> /></div>
<!-- <div style="transform:scale(0.6,0.6)"> --> <!-- <div style="transform:scale(0.6,0.6)"> -->
......
...@@ -937,7 +937,7 @@ export default { ...@@ -937,7 +937,7 @@ export default {
<style> <style>
.addr-list:hover { .addr-list:hover {
background: #f1416c1a; background: #E3F2FD;
} }
</style> </style>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -878,7 +878,7 @@ export default { ...@@ -878,7 +878,7 @@ export default {
}); });
} else { } else {
this.$message.error(r.data.message) this.$message.error(r.data.message)
} }
this.$q.loading.hide(); this.$q.loading.hide();
}, },
...@@ -908,13 +908,14 @@ export default { ...@@ -908,13 +908,14 @@ export default {
let MailingMoneyList = x.PriceList.sort((a,b)=>{return b.MailingMoney-a.MailingMoney}) let MailingMoneyList = x.PriceList.sort((a,b)=>{return b.MailingMoney-a.MailingMoney})
let dataObj = { let dataObj = {
startDate: x.Date, startDate: x.Date,
originalB2CPrice: x.PriceList[0].Price, originalB2CPrice: x.PriceList[0].Price>0?x.PriceList[0].Price:'',
remainNum: 1, remainNum: 1,
Count: 1, Count: 1,
safeMoney: 0, safeMoney: 0,
MailingMoney: MailingMoneyList[0].MailingMoney, MailingMoney: MailingMoneyList[0].MailingMoney,
PriceList: x.PriceList, 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')){ if(date.formatDate(Date.now(), 'YYYY/MM/DD')!=x.Date&&x.Date>date.formatDate(Date.now(), 'YYYY/MM/DD')){
arr.push(dataObj) arr.push(dataObj)
} }
......
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
<q-popup-proxy :offset="[0, 10]"> <q-popup-proxy :offset="[0, 10]">
<div class="q-pa-lg q-py-lg bg-white"> <div class="q-pa-lg q-py-lg bg-white">
<div class="column"> <div class="column">
<span class="text-grey-7 product-price fz14 q-mr-lg">客房</span> <span class="text-grey-7 fz14 q-mr-lg">客房</span>
<div> <div>
<q-input <q-input
v-model="roomGroup" v-model="roomGroup"
...@@ -1020,6 +1020,15 @@ export default { ...@@ -1020,6 +1020,15 @@ export default {
this.showOrderPreview = !this.showOrderPreview this.showOrderPreview = !this.showOrderPreview
}, },
showImageHandler(url) { showImageHandler(url) {
let index = 0
let images = this.images
this.$viewerApi({
options: {
initialViewIndex: index,
},
images,
});
return
this.currentImage = url this.currentImage = url
this.showImagePriview = true this.showImagePriview = true
}, },
......
...@@ -281,7 +281,7 @@ export default { ...@@ -281,7 +281,7 @@ export default {
flag: 2, flag: 2,
mylabel: "登入", mylabel: "登入",
loading: false, loading: false,
inSending: false, inSending:false
}; };
}, },
created() {}, created() {},
...@@ -289,11 +289,19 @@ export default { ...@@ -289,11 +289,19 @@ export default {
console.log("login", this.$route.query); console.log("login", this.$route.query);
const { code, state, path } = this.$route.query; const { code, state, path } = this.$route.query;
this.path = path; this.path = path;
if (code) {
this.fetchLoginInfo(code, state); try {
this.isLogin = false; if (code) {
this.loginType = "bindEmail"; this.fetchLoginInfo(code, state);
this.mylabel = "立即绑定"; this.isLogin = false;
this.loginType = "bindEmail";
this.mylabel = "立即绑定";
} else if(this.$q.platform.is.mobile && location.href.indexOf('?code=')!=-1){
let params = location.href.split('?')[1].split('#/')[0].split('&')
this.fetchLoginInfo(params[0].split('=')[1], params[1].split('=')[1]);
}
} catch (error) {
console.log(error.message)
} }
this.getOpenInfo(); this.getOpenInfo();
var jObj = JSON.parse(localStorage.getItem("groupinfo")); var jObj = JSON.parse(localStorage.getItem("groupinfo"));
...@@ -322,11 +330,13 @@ export default { ...@@ -322,11 +330,13 @@ export default {
{ {
code, code,
state, state,
platform:this.$q.platform.is.desktop?'':'mobile'
}, },
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
const { type, unoinid } = res.data.data; const { type, unoinid } = res.data.data;
if (type === 1) { if (type === 1) {
window.localStorage.setItem( window.localStorage.setItem(
"b2bUser", "b2bUser",
JSON.stringify(res.data.data) JSON.stringify(res.data.data)
...@@ -453,30 +463,25 @@ export default { ...@@ -453,30 +463,25 @@ export default {
this.loginType = "PassWord"; this.loginType = "PassWord";
} }
}, },
isWeChat() {
//window.navigator.userAgent属性包含了浏览器类型、版本、操作系统类型、浏览器引擎类型等信息,这个属性可以用来判断浏览器类型
var ua = window.navigator.userAgent.toLowerCase();
//通过正则表达式匹配ua中是否含有MicroMessenger字符串
return ua.match(/MicroMessenger/i) == "micromessenger";
},
useWechatLogin() { useWechatLogin() {
// this.loginType = "wechat"; // this.loginType = "wechat";
// this.setWechatCode() // this.setWechatCode()
const { AppID, State, OpenRedirectUri } = this.openInfo; const { AppID, State, OpenRedirectUri } = this.openInfo;
let redirect_uri = OpenRedirectUri; let redirect_uri = OpenRedirectUri;
let url = `https://open.weixin.qq.com/connect/qrconnect?appid=${AppID}&redirect_uri=${encodeURIComponent( if(this.$q.platform.is.desktop){
"http://www.oytour.com/#/login" const url = `https://open.weixin.qq.com/connect/qrconnect?appid=${AppID}&redirect_uri=${encodeURIComponent('http://www.oytour.com/#/login')}&response_type=code&scope=snsapi_login&state=${State}&wechat_redirect=${redirect_uri}`;
)}&response_type=code&scope=snsapi_login&state=${State}&wechat_redirect=${redirect_uri}`; // this.windowObjectReference = window.open(url, 'wechat', 'left: 20,top: 20,width:200,height:200,')
// this.windowObjectReference = window.open(url, 'wechat', 'left: 20,top: 20,width:200,height:200,') // console.log('windowObjectReference', this.windowObjectReference)
// console.log('windowObjectReference', this.windowObjectReference) // setTimeout(() => {console.log(this.windowObjectReference.close())}, 1000)
// setTimeout(() => {console.log(this.windowObjectReference.close())}, 1000) window.location.href = url;
if (this.$q.platform.is.mobile && this.isWeChat()) { }else{
// 移动端微信环境 const url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx44c35529819fc345&redirect_uri=${encodeURIComponent('http://www.oytour.com/#/login')}&response_type=code&scope=snsapi_userinfo&state=${State}&&connect_redirect=1#wechat_redirect`;
url = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${AppID}&redirect_uri=${encodeURIComponent( // this.windowObjectReference = window.open(url, 'wechat', 'left: 20,top: 20,width:200,height:200,')
"http://www.oytour.com/#/login" // console.log('windowObjectReference', this.windowObjectReference)
)}&response_type=code&scope=snsapi_userinfo&state=${State}&wechat_redirect=${redirect_uri}`; // setTimeout(() => {console.log(this.windowObjectReference.close())}, 1000)
window.location.href = url;
} }
window.location.href = url;
}, },
async login() { async login() {
if (this.loading) { if (this.loading) {
......
src/statics/icons/favicon-128x128.png

4.57 KB | W: | H:

src/statics/icons/favicon-128x128.png

11.3 KB | W: | H:

src/statics/icons/favicon-128x128.png
src/statics/icons/favicon-128x128.png
src/statics/icons/favicon-128x128.png
src/statics/icons/favicon-128x128.png
  • 2-up
  • Swipe
  • Onion skin
src/statics/icons/favicon-16x16.png

1.93 KB | W: | H:

src/statics/icons/favicon-16x16.png

1.62 KB | W: | H:

src/statics/icons/favicon-16x16.png
src/statics/icons/favicon-16x16.png
src/statics/icons/favicon-16x16.png
src/statics/icons/favicon-16x16.png
  • 2-up
  • Swipe
  • Onion skin
src/statics/icons/favicon-32x32.png

2.3 KB | W: | H:

src/statics/icons/favicon-32x32.png

2.77 KB | W: | H:

src/statics/icons/favicon-32x32.png
src/statics/icons/favicon-32x32.png
src/statics/icons/favicon-32x32.png
src/statics/icons/favicon-32x32.png
  • 2-up
  • Swipe
  • Onion skin
src/statics/icons/favicon-96x96.png

3.89 KB | W: | H:

src/statics/icons/favicon-96x96.png

8.68 KB | W: | H:

src/statics/icons/favicon-96x96.png
src/statics/icons/favicon-96x96.png
src/statics/icons/favicon-96x96.png
src/statics/icons/favicon-96x96.png
  • 2-up
  • Swipe
  • Onion skin
src/statics/icons/favicon.ico

48.1 KB | W: | H:

src/statics/icons/favicon.ico

66.1 KB | W: | H:

src/statics/icons/favicon.ico
src/statics/icons/favicon.ico
src/statics/icons/favicon.ico
src/statics/icons/favicon.ico
  • 2-up
  • Swipe
  • Onion skin
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