Commit 00a84cdc authored by 吴春's avatar 吴春

解决冲突

parents 8571f9e4 ab3f04b9
...@@ -12,13 +12,13 @@ const product = { ...@@ -12,13 +12,13 @@ const product = {
// 接送机,包车 // 接送机,包车
url = "/detailCar/" + configId url = "/detailCar/" + configId
} else if (t === 3) { } else if (t === 3) {
url = "/detailHotal/" + configId url = "/detailHotal/" + configId + '/' + productInfo.b2CPrice
} else if (t === 2) { } else if (t === 2) {
url = "/detailsScenicSpotTicket/" + configId url = "/detailsScenicSpotTicket/" + configId
} else if (t === 1) { } else if (t === 1) {
url = "/detail/" + encodeURIComponent(productInfo.id ? productInfo.id : productInfo.ID) + "/" + 0 + "/" + configId url = "/detail/" + encodeURIComponent(productInfo.id ? productInfo.id : productInfo.ID) + "/" + 0 + "/" + configId
} else if (t === 5) { } else if (t === 5) {
url = "/detailHotal/" + configId+'/'+productInfo.b2CPrice url = "/detailHotal/" + configId + '/' + productInfo.b2CPrice
} }
} else { } else {
throw new Error("參數不合法"); throw new Error("參數不合法");
......
...@@ -26,7 +26,7 @@ Vue.prototype.domainManager = function() { ...@@ -26,7 +26,7 @@ Vue.prototype.domainManager = function() {
domainUrl = "http://testapi.oytour.com"; domainUrl = "http://testapi.oytour.com";
} else if (domainNameUrl.indexOf('oytour') !== -1) { } else if (domainNameUrl.indexOf('oytour') !== -1) {
domainUrl = "http://reborn.oytour.com"; domainUrl = "http://reborn.oytour.com";
domainUrl = 'http://192.168.10.206' //'http://192.168.10.206:8015' ''http://192.168.10.11:8083' ' //domainUrl = 'http://192.168.10.206:8015' //'http://192.168.10.206:8015' ''http://192.168.10.11:8083' '
} }
var obj = { var obj = {
//主地址 //主地址
...@@ -41,7 +41,7 @@ Vue.prototype.domainManager = function() { ...@@ -41,7 +41,7 @@ Vue.prototype.domainManager = function() {
//获取当前域名 //获取当前域名
Vue.prototype.GetDomain = function() { Vue.prototype.GetDomain = function() {
var domainNameUrl = window.location.hostname; var domainNameUrl = window.location.hostname;
domainNameUrl = "t.oytour.com"; domainNameUrl = "www.oytour.com";
return domainNameUrl; return domainNameUrl;
} }
Vue.prototype.groupBy = function(array, f) { Vue.prototype.groupBy = function(array, f) {
......
...@@ -55,6 +55,7 @@ export default { ...@@ -55,6 +55,7 @@ export default {
}, },
watch: { watch: {
value: function() { value: function() {
console.log('switch change', this.value)
this.inputSelect = this.value this.inputSelect = this.value
} }
}, },
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</div> </div>
</div> </div>
</template> </template>
<div class="row no-wrap"> <!-- <div class="row no-wrap">
<div v-if="dataList.CarType!=1" :class="{'col':dataList.PlaceList.length>2}"> <div v-if="dataList.CarType!=1" :class="{'col':dataList.PlaceList.length>2}">
<div class="text-grey-6 f12 q-my-md">選擇上車範圍</div> <div class="text-grey-6 f12 q-my-md">選擇上車範圍</div>
<div class="row wrap"> <div class="row wrap">
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
<template v-if="TicketIds&&TicketIds.length>0"> <template v-if="TicketIds&&TicketIds.length>0">
<div class="text-grey-6 f12 q-my-md">選擇車類型</div> <div class="text-grey-6 f12 q-my-md">選擇車類型</div>
...@@ -123,17 +123,14 @@ ...@@ -123,17 +123,14 @@
<span class="f12 text-negative" <span class="f12 text-negative"
:class="{'q-mr-lg':$q.platform.is.desktop}" :class="{'q-mr-lg':$q.platform.is.desktop}"
v-if="(p.startDate&&!selectedCarObj) v-if="(p.startDate&&!selectedCarObj)
||(p.startDate&&dataList.CarType==1&&(!selectedAirportObj||!unCarObj)) ||(p.startDate&&dataList.CarType==1&&!selectedAirportObj)
||(p.startDate&&dataList.CarType==2&&(!selectedAirportObj||!onCarObj)) ||(p.startDate&&dataList.CarType==2&&!selectedAirportObj)" >
||(p.startDate&&dataList.CarType==3&&(!onCarObj||!unCarObj))" > {{`請選擇上面的${dataList.CarType==3?'車類型':dataList.CarType==1?'機場、車類型':'機場、車類型'}`}}
{{`請選擇上面的${dataList.CarType==3?'車類型、上車下車點':dataList.CarType==1?'機場、車類型、下車點':'機場、車類型、上車點'}`}}
</span> </span>
</span> </span>
<q-btn color="primary" label="立即訂購" unelevated class="q-px-lg" <q-btn color="primary" label="立即訂購" unelevated class="q-px-lg"
:disable="sumPrice==0||!selectedCarObj :disable="sumPrice==0||!selectedCarObj
||(dataList.CarType!=3&&!selectedAirportObj) ||(dataList.CarType!=3&&!selectedAirportObj)"
||(dataList.CarType==1&&!unCarObj)||(dataList.CarType==2&&!onCarObj)
||(dataList.CarType==3&&(!onCarObj||!unCarObj))"
@click="goOrderHandler"/> @click="goOrderHandler"/>
</div> </div>
...@@ -152,9 +149,9 @@ export default { ...@@ -152,9 +149,9 @@ export default {
if(n&&n.startDate){ if(n&&n.startDate){
this.chosenObj.startDate = n.startDate; this.chosenObj.startDate = n.startDate;
let arr = this.dataAll.filter(x=> x.Date==this.chosenObj.startDate) let arr = this.dataAll.filter(x=> x.Date==this.chosenObj.startDate)
this.TicketIds = arr[0].Price.map(x=> {return x.TicketId}) if(arr.length>0){
// this.selectedCar = this.dataList.CarTypeList[0].Id this.TicketIds = arr[0].Price.map(x=> {return x.TicketId})
// this.selectedCarObj = this.dataList.CarTypeList[0] }
} }
this.calcMoney() this.calcMoney()
...@@ -170,6 +167,14 @@ export default { ...@@ -170,6 +167,14 @@ export default {
deep: true, deep: true,
immediate: true immediate: true
}, },
Month:{
handler(n, o) {
this.selectedCarObj = this.dataList.CarTypeList[0]
// this.getCarPriceData2()
},
deep: true,
immediate: true
}
}, },
data() { data() {
return { return {
...@@ -189,7 +194,7 @@ export default { ...@@ -189,7 +194,7 @@ export default {
if(this.p.startDate){ if(this.p.startDate){
this.chosenObj.startDate = this.p.startDate; this.chosenObj.startDate = this.p.startDate;
this.calcMoney() this.calcMoney()
this.getCarPriceData2() // this.getCarPriceData2()
} }
this.getCarPriceData() this.getCarPriceData()
}, },
...@@ -312,13 +317,11 @@ export default { ...@@ -312,13 +317,11 @@ export default {
remark: "", remark: "",
}; };
}, },
resetHandler(type) { resetHandler() {
if(type&&type!=1){ this.selectedCarObj = null
this.selectedCarObj = null this.selectedAirportObj = null
this.selectedAirportObj = null this.onCarObj = null
this.onCarObj = null this.unCarObj = null
this.unCarObj = null
}
setTimeout(()=>{ setTimeout(()=>{
this.p = {}; this.p = {};
this.initModel() this.initModel()
......
<template> <template>
<div class="rounded-borders overflow-hidden q-pb-md" :style="{'width':width,'background-color':bgColor}" v-if="product"> <div class="rounded-borders overflow-hidden q-pb-md" :style="{'width':width,'background-color':bgColor}" v-if="product">
<q-img :src="product.ImgCover" spinner-color="white" :ratio="16/9" fit="cover"> <q-img :src="product.ImgCover==''?'http://www.oytour.com':product.ImgCover" spinner-color="white" :ratio="16/9" fit="cover">
<div class="absolute-top text-shadow" style="background: linear-gradient(rgba(0, 0, 0, 0.5),rgba(0, 0, 0, 0));"> <div class="absolute-top text-shadow" style="background: linear-gradient(rgba(0, 0, 0, 0.5),rgba(0, 0, 0, 0));">
{{ formatEnum(product.ProductType) }} {{ formatEnum(product.ProductType) }}
</div> </div>
<template v-slot:error>
<div class="absolute-full flex flex-center bg-grey-3 text-white">
暫無圖片
</div>
</template>
</q-img> </q-img>
<div class="ellipsis-2-lines text-body1 q-ma-md cursor-pointer" style="height: 74px;" @click="CommonJump(product,{},'blank')">{{ product.Title }}</div> <div class="ellipsis-2-lines text-body1 q-ma-md cursor-pointer" style="height: 74px;" @click="CommonJump(product,{},'blank')">{{ product.Title }}</div>
<div class="text-subtitle2 text-weight-bolder text-dark q-mx-md"> <div class="text-subtitle2 text-weight-bolder text-dark q-mx-md">
......
<template> <template>
<!-- <div class="rounded-borders overflow-hidden q-pb-md" :style="{'width':width,'background-color':bgColor}" v-if="product">
<q-img :src="product.ImgCover" spinner-color="white" :ratio="16/9" fit="cover" />
<div class="ellipsis-2-lines text-body1 q-ma-md cursor-pointer">{{ product.Title }}{{ product.Title }}{{ product.Title }}{{ product.Title }}{{ product.Title }}</div>
<div class="text-subtitle2 text-weight-bolder text-dark q-mx-md">
<span>CNY {{moneyFormat(product.B2CPrice,2)}}</span>
<span class="f12 q-ml-sm"></span>
</div>
</div> -->
<div class="rounded-borders overflow-hidden" v-if="product"> <div class="rounded-borders overflow-hidden" v-if="product">
<div class="row" :style="{'background-color':bgColor}" > <div class="row" :style="{'background-color':bgColor}" >
<q-img :src="product.ImgCover" spinner-color="dark" :ratio="4/3" fit="cover" class=" col-5" > <q-img :src="product.ImgCover==''?'http://www.oytour.com':product.ImgCover" spinner-color="dark" :ratio="4/3" fit="cover" class=" col-5" >
<div class="absolute-top text-shadow" style="background: linear-gradient(rgba(0, 0, 0, 0.5),rgba(0, 0, 0, 0));"> <div class="absolute-top text-shadow" style="background: linear-gradient(rgba(0, 0, 0, 0.5),rgba(0, 0, 0, 0));">
{{ formatEnum(product.ProductType) }} {{ formatEnum(product.ProductType) }}
</div> </div>
<template v-slot:error>
<div class="absolute-full flex flex-center bg-grey-3 text-white">
暫無圖片
</div>
</template>
</q-img> </q-img>
<div class="q-px-md col"> <div class="q-px-md col">
<div class="ellipsis-2-lines text-body1 q-ma-md cursor-pointer" style="height:50px;" @click="CommonJump(product,{},'blank')">{{ product.Title }}</div> <div class="ellipsis-2-lines text-body1 q-ma-md cursor-pointer" style="height:50px;" @click="CommonJump(product,{},'blank')">{{ product.Title }}</div>
......
<template> <template>
<section class="photo1 section-block"> <section class="photo1 section-block">
<div class="photo" v-if="plugData.ImageUrl"> <div class="photo mobile-only rounded-borders" v-if="plugData.ImageUrl" style="overflow:hidden;margin-bottom: 0px;">
<img :src="plugData.ImageUrl" :alt="plugData.Title" /> <img :src="plugData.ImageUrl" :alt="plugData.Title" style="height:20vh;width:auto;" />
</div>
<div class="photo desktop-only" v-if="plugData.ImageUrl">
<img :src="plugData.ImageUrl" :alt="plugData.Title"/>
</div> </div>
</section> </section>
</template> </template>
......
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
:key="index" :key="index"
class="relative-position" class="relative-position"
style=" min-width: 200px;" style=" min-width: 200px;"
:class="{ 'col': current != index && $q.platform.is.desktop, 'col-4': current == index&& $q.platform.is.desktop }" :class="{ 'col': ((current != index && $q.platform.is.desktop) || realCount!=5), 'col-4': current == index && $q.platform.is.desktop && realCount==5 }"
@mouseenter="hoverHandler(index)" @mouseenter="hoverHandler(index)"
> >
<q-img <q-img
...@@ -55,10 +55,10 @@ ...@@ -55,10 +55,10 @@
{{ {{
item.TripTitle.split('|')[0]}} item.TripTitle.split('|')[0]}}
</a> </a>
<div class="q-mt-sm row items-center no-wrap overflow-hidden" v-if="current==index && plugData.Title.indexOf('|tag')!=-1"> <div class="q-mt-sm row items-center no-wrap overflow-hidden" v-if="current==index && plugData.Title.indexOf('|tag')!=-1 && realCount==5">
<q-chip outline color="grey-2" class="f12 cursor-pointer" text-color="grey-2" >觀光行程</q-chip> <q-chip outline color="grey-2" class="f12 cursor-pointer" text-color="grey-2" clickable @click="goProductListHandler(0,item.TripTitle.split('|')[1])">觀光行程</q-chip>
<q-chip outline color="grey-2" class="f12 cursor-pointer" text-color="grey-2" >熱門票券</q-chip> <q-chip outline color="grey-2" class="f12 cursor-pointer" text-color="grey-2" clickable @click="goProductListHandler(1,item.TripTitle.split('|')[1])">熱門票券</q-chip>
<q-chip style="background:rgba(255,255,255,.3)" class="f12 cursor-pointer" text-color="grey-2" >更多在地體驗</q-chip> <q-chip style="background:rgba(255,255,255,.3)" clickable class="f12 cursor-pointer" text-color="grey-2" @click="CommonJump(`/city/${item.TripTitle.split('|')[1]}`,{},'blank')">更多在地體驗</q-chip>
</div> </div>
</div> </div>
</div> </div>
...@@ -70,14 +70,20 @@ ...@@ -70,14 +70,20 @@
</template> </template>
<script> <script>
import {date} from 'quasar'
//圖片 - 6x1 //圖片 - 6x1
export default { export default {
props: ["plugData"], props: ["plugData"],
data() { data() {
return { return {
current: 0, current: 0,
realCount: 0
}; };
}, },
created() {
//console.log(this.plugData.Details,this.plugData.Details.filter(x=> x.ImageUrl!=''))
this.realCount = this.plugData.Details.filter(x=> x.ImageUrl!='').length
},
methods: { methods: {
hoverHandler(i) { hoverHandler(i) {
this.current = i; this.current = i;
...@@ -89,6 +95,15 @@ export default { ...@@ -89,6 +95,15 @@ export default {
arr=strs[1].split(',') arr=strs[1].split(',')
} }
return arr return arr
},
goProductListHandler(t,id){
let CategoryName=t==0?'观光行程':'景点门票'
this.CommonJump('/search',{
areaId:id,
qsearchDate:date.formatDate(new Date(),'YYYY-MM-DD'),
qsearchEndDate:date.formatDate(date.addToDate(new Date(),{month:2}),'YYYY-MM-DD'),
CategoryName
})
} }
}, },
}; };
......
...@@ -2,24 +2,31 @@ ...@@ -2,24 +2,31 @@
<!--圖片 - 4x4--> <!--圖片 - 4x4-->
<div class="q-mt-md"> <div class="q-mt-md">
<section class="pr1 section-block"> <section class="pr1 section-block">
<div class="mobile-only">
<h2 class="block-title">{{plugData.Title}}</h2>
<p class="title-teaser">{{plugData.SubTitle}}</p>
</div>
<div class="pr-banner-block"> <div class="pr-banner-block">
<ul class="pr-banner-list"> <ul class="pr-banner-list">
<li v-for="(item,index) in plugData.Details" :key="index"> <li v-for="(item,index) in plugData.Details" :key="index" class="relative-position">
<a @click="OpenNewUrl(item.LinkUrl)" :title="item.TripTitle" <a @click="OpenNewUrl(item.LinkUrl+'/0')" class="rounded-borders" :title="item.TripTitle"
:style="{backgroundImage:`url('${(item.TripImageUrl&&item.TripImageUrl!=''?item.TripImageUrl:item.ImageUrl)}')`}"></a> :style="{backgroundImage:`url('${(item.TripImageUrl&&item.TripImageUrl!=''?item.TripImageUrl:item.ImageUrl)}')`}"></a>
<div class="absolute absolute-bottom-left absolute-bottom-right rounded-borders q-pa-md text-shadow text-subtitle2 text-white" style=" background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5))">
{{ item.TripTitle }}
</div>
</li> </li>
</ul> </ul>
</div> </div>
<div class="pr-text-block"> <div class="pr-text-block light-shadow rounded-borders desktop-only">
<h2 class="block-title">{{plugData.Title}}</h2> <h2 class="block-title">{{plugData.Title}}</h2>
<p class="title-teaser">{{plugData.SubTitle}}</p> <p class="title-teaser">{{plugData.SubTitle}}</p>
<ul class="pr-text-list"> <ul class="pr-text-list">
<li v-for="(item,index) in plugData.Details" :key="index"> <li v-for="(item,index) in plugData.Details" :key="index">
<a @click="OpenNewUrl(item.LinkUrl)"> <a @click="OpenNewUrl(item.LinkUrl+'/0')">
<h3 class="pd-title">{{item.TripTitle}}</h3> <h3 class="text-subtitle2">{{item.TripTitle}}</h3>
<div class="price"> <div class="price text-dark">
<small class="unit">NT$</small>{{item.Price}} <small class="text-subtitle2 q-mr-sm">CNY</small>
<small class="unit">元起</small> <span class="text-subtitle2 text-weight-bolder text-dark">{{ moneyFormat(item.Price,2) }}</span>
</div> </div>
</a> </a>
</li> </li>
...@@ -162,7 +169,6 @@ ...@@ -162,7 +169,6 @@
color: #00afff; color: #00afff;
font-size: 20px; font-size: 20px;
font-weight: 700; font-weight: 700;
font-family: "oswald";
} }
.pr1 .pr-text-block .pr-text-list .price .unit { .pr1 .pr-text-block .pr-text-list .price .unit {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<!--圖片 - 4x1--> <!--圖片 - 4x1-->
<div :class="{'q-mt-md':plugData.Title.split('|')[0]=='','q-mt-xl':plugData.Title.split('|')[0]!=''}"> <div :class="{'q-mt-md':plugData.Title.split('|')[0]=='','q-mt-xl':plugData.Title.split('|')[0]!=''}">
<section class="tour1 section-block" v-if="plugData"> <section class="tour1 section-block" v-if="plugData">
<h2 class="block-title">{{ plugData.Title.split("|")[0] }}</h2> <h2 class="block-title" style="line-height: normal !important;">{{ plugData.Title.split("|")[0] }}</h2>
<p class="title-teaser">{{ plugData.SubTitle }}</p> <p class="title-teaser">{{ plugData.SubTitle }}</p>
<ul class="pd-list" v-if="showType == 1"> <ul class="pd-list" v-if="showType == 1">
<li <li
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
v-if="item.TripImageUrl" v-if="item.TripImageUrl"
> >
<a <a
@click="OpenNewUrl(item.LinkUrl)" @click="OpenNewUrl(item)"
:title="item.TripTitle" :title="item.TripTitle"
class="pd-link" class="pd-link"
> >
...@@ -40,27 +40,17 @@ ...@@ -40,27 +40,17 @@
</a> </a>
</li> </li>
</ul> </ul>
<div class="row q-col-gutter-md" style="item" v-else-if="showType == 2"> <div class="q-col-gutter-md q-mt-md" :class="{'row':$q.platform.is.desktop,'':$q.platform.is.mobile}" v-else-if="showType == 2">
<template v-for="(item, index) in plugData.Details"> <template v-for="(item, index) in plugData.Details">
<div <div
class="col-3 relative-position column" class="relative-position "
:key="index" :key="index"
:class="{'col-3 column':$q.platform.is.desktop}"
v-if="item.TripImageUrl" v-if="item.TripImageUrl"
> >
<div <div
class="absolute-top-left q-pa-sm" class="absolute-top-left q-pa-sm"
style=" style="background: linear-gradient(rgba(0, 0, 0, 0.5),rgba(0, 0, 0, 0));top: 16px;left: 16px;right: 0;border-radius: 12px;z-index: 1;"
background: linear-gradient(
to bottom,
rgba(0, 0, 0, 0.5),
rgba(0, 0, 0, 0)
);
top: 16px;
left: 16px;
right: 0;
border-radius: 12px;
z-index: 1;
"
> >
<div <div
class="text-grey-4" class="text-grey-4"
...@@ -78,7 +68,7 @@ ...@@ -78,7 +68,7 @@
style="border-radius: 12px" style="border-radius: 12px"
/> />
<div class="col"> <div class="col">
<div class="q-mt-md text-subtitle1 text-dark ellipsis-2-lines cursor-pointer" @click="OpenNewUrl(item.LinkUrl)"> <div class="q-mt-md text-subtitle1 text-dark ellipsis-2-lines cursor-pointer" @click="OpenNewUrl(item)">
<!-- --> <!-- -->
{{ item.TripTitle }} {{ item.TripTitle }}
</div> </div>
...@@ -127,8 +117,8 @@ export default { ...@@ -127,8 +117,8 @@ export default {
} }
}, },
methods: { methods: {
OpenNewUrl(url){ OpenNewUrl(item){
window.location.href=url this.CommonJump('/detail/home/0/'+item.TripId,{},'blank')
} }
}, },
}; };
......
...@@ -103,6 +103,9 @@ ...@@ -103,6 +103,9 @@
.address-btn { .address-btn {
margin: 0 10px 0 44px; margin: 0 10px 0 44px;
} }
.address-btn:hover {
background: #F5F5F5;
}
.all-type { .all-type {
margin-left: 10px; margin-left: 10px;
} }
...@@ -130,11 +133,11 @@ ...@@ -130,11 +133,11 @@
font-weight: 400; font-weight: 400;
} }
.category-l2:hover { .category-l2:hover {
background: #ee4454; background: var(--q-color-primary);
color: #fff; color: #fff;
} }
.category-l2-select { .category-l2-select {
background: #ee4454; background: var(--q-color-primary);
color: #fff; color: #fff;
} }
.category-l3 { .category-l3 {
...@@ -159,6 +162,10 @@ ...@@ -159,6 +162,10 @@
.category-btn { .category-btn {
width: 100px; width: 100px;
} }
.category-icon {
width: 16px;
height: 16px;
}
</style> </style>
<template> <template>
<div> <div>
...@@ -283,6 +290,7 @@ ...@@ -283,6 +290,7 @@
:key="i" :key="i"
v-for="(x, i) in dataList.CategoryList" v-for="(x, i) in dataList.CategoryList"
> >
<img class="category-icon" :src="require(`../../assets/img/home/${['guanguang','jindian','hotel','car'][i]}.png`)"/>
{{ x.CategoryName }} {{ x.CategoryName }}
</div> </div>
</div> </div>
...@@ -471,9 +479,7 @@ export default { ...@@ -471,9 +479,7 @@ export default {
} }
}, },
handleSelectArea(item) { handleSelectArea(item) {
this.CommonJump("/city/" + item.Id, { this.CommonJump("/city/" + item.Id);
id: item.Id,
});
}, },
handleCategoryChage(item) { handleCategoryChage(item) {
this.CommonJump("/search", { this.CommonJump("/search", {
......
...@@ -187,6 +187,9 @@ ...@@ -187,6 +187,9 @@
class="q-mr-lg q-ml-sm" class="q-mr-lg q-ml-sm"
@click="CommonJump('/index', {})" @click="CommonJump('/index', {})"
/></div> /></div>
<!-- <div style="transform:scale(0.6,0.6)"> -->
<searchSf2 v-if="!isHome" :plugData="plugData"></searchSf2>
<!-- </div> -->
<!-- pc --> <!-- pc -->
<div v-if="$q.platform.is.desktop"> <div v-if="$q.platform.is.desktop">
<q-btn label="繁體中文" flat> <q-btn label="繁體中文" flat>
...@@ -342,8 +345,9 @@ ...@@ -342,8 +345,9 @@
import popup from "../props/index"; import popup from "../props/index";
import CityCategoryMobile from "./city-category-mobile.vue"; import CityCategoryMobile from "./city-category-mobile.vue";
import cityCategory from "./city-category.vue"; import cityCategory from "./city-category.vue";
import searchSf2 from '../search_sf/search-top.vue'
export default { export default {
components: { cityCategory, CityCategoryMobile, popup }, components: { cityCategory, CityCategoryMobile, popup,searchSf2 },
props: { props: {
baseData: { baseData: {
type: Object, type: Object,
...@@ -360,6 +364,7 @@ export default { ...@@ -360,6 +364,7 @@ export default {
}, },
data() { data() {
return { return {
plugData: {details: [], Title: ''},
showDialog: false, showDialog: false,
searchDate: "", searchDate: "",
searchEndDate: "", searchEndDate: "",
...@@ -375,6 +380,7 @@ export default { ...@@ -375,6 +380,7 @@ export default {
selectedArea: [], selectedArea: [],
selectedAreaId: "", selectedAreaId: "",
isHome: false, isHome: false,
isSearch: true,
}; };
}, },
watch: { watch: {
...@@ -390,7 +396,9 @@ export default { ...@@ -390,7 +396,9 @@ export default {
}, },
$route: { $route: {
handler: function (val, oldVal) { handler: function (val, oldVal) {
console.log('val', val, oldVal)
this.isHome = val.path === "/" || val.path === "/index"; this.isHome = val.path === "/" || val.path === "/index";
// this.isSearch = val.path === "/search";
}, },
// 深度观察监听 // 深度观察监听
deep: true, deep: true,
...@@ -408,6 +416,7 @@ export default { ...@@ -408,6 +416,7 @@ export default {
this.isHome = this.isHome =
this.$router.history.current.path === "/" || this.$router.history.current.path === "/" ||
this.$router.history.current.path === "/index"; this.$router.history.current.path === "/index";
// this.isSearch = this.$router.history.current.path === "/search";
console.log( console.log(
'JSON.parse(window.localStorage.getItem("b2bUser"))', 'JSON.parse(window.localStorage.getItem("b2bUser"))',
JSON.parse(window.localStorage.getItem("b2bUser")) JSON.parse(window.localStorage.getItem("b2bUser"))
......
This diff is collapsed.
...@@ -170,7 +170,8 @@ ...@@ -170,7 +170,8 @@
<div class="q-mb-sm text-weight-bold">歷史搜索</div> <div class="q-mb-sm text-weight-bold">歷史搜索</div>
<div class="row"> <div class="row">
<div class="col overflow-hidden" style="height:36px"> <div class="col overflow-hidden" style="height:36px">
<q-chip style="background:#f6f7f9;" @click="goSearchHandler(x)" clickable text-color="dark" class="cursor-pointer" :label="x" v-for="(x,i) in historys" :key="i" /> <template v-for="(x,i) in historys">
<q-chip v-if="x" style="background:#f6f7f9;" @click="goSearchHandler(x)" clickable text-color="dark" class="cursor-pointer" :label="x" :key="i" /></template>
</div> </div>
<q-btn text-color="grey-6" icon="delete" class="q-py-none" dense size="sm" flat @click="clearHistorys"> <q-btn text-color="grey-6" icon="delete" class="q-py-none" dense size="sm" flat @click="clearHistorys">
<q-tooltip class="bg-dark" co>清空歷史</q-tooltip> <q-tooltip class="bg-dark" co>清空歷史</q-tooltip>
......
<template> <template>
<div <div
class="items-start q-mt-lg travel-list" class="items-start travel-list"
:class="$q.platform.is.desktop ? 'row' : 'colmuns'" :class="$q.platform.is.desktop ? 'row q-mt-lg' : 'colmuns'"
> >
<div class="col-3" :class="$q.platform.is.desktop ? 'q-mr-lg' : 'q-ma-md'"> <!-- 移动端 -->
<div v-if="$q.platform.is.mobile">
<div class="flex">
<div @click="showAddress = true" class="nav-item">目的地<i class="iconfont iconarrowdown text-grey-6" style="margin-top: 3px; margin-left:4px"></i></div>
<div @click="showCategory = true" class="nav-item">商品類別<i class="iconfont iconarrowdown text-grey-6" style="margin-top: 3px; margin-left:4px"></i></div>
<div @click="showDate = true" class="nav-item">旅程時間<i class="iconfont iconarrowdown text-grey-6" style="margin-top: 3px; margin-left:4px"></i></div>
<div @click="showPrice = true" class="nav-item">價錢/时间<i class="iconfont iconarrowdown text-grey-6" style="margin-top: 3px; margin-left:4px"></i></div>
</div>
<popup mode="top" v-model="showAddress">
<q-card flat class="rounded-borders q-py-md">
<div class="text-subtitle1 text-weight-bold q-mx-md">篩選目的地</div>
<q-input
v-model="searchAdd.name"
type="text"
standout
placeholder="搜尋目的地"
class="q-ma-md"
@input="changeAddrSearchHandler"
/>
<q-tree
ref="area"
:nodes="areaList"
no-connectors
node-key="Id"
label-key="Name"
tick-strategy="leaf"
@update:ticked="handleAreaTicked"
:ticked="areaTicked"
text-color="#666"
no-nodes-label=" "
no-results-label=" "
/>
</q-card>
</popup>
<popup mode="top" v-model="showCategory">
<q-card flat class="rounded-borders q-py-md q-mt-lg">
<div class="text-subtitle1 text-weight-bold q-mx-md">所有商品類別</div>
<q-tree
ref="category"
:nodes="goodsType"
no-connectors
node-key="Id"
label-key="CategoryName"
tick-strategy="leaf"
@update:ticked="handleTicked"
:ticked="ticked"
/>
</q-card></popup>
<popup mode="top" v-model="showDate">
<q-card flat class="rounded-borders q-mt-lg overflow-hidden">
<div class="q-my-sm q-mx-lg f20 bold">旅程時間</div>
<div
class="addr-list q-px-md q-py-sm row items-center"
v-for="(y, yi) in dayArray"
:key="yi"
>
<q-checkbox
v-model="y.checked"
size="xs"
@input="changeTripDayHandler"
/>
<span
class="col text-grey-8 text-subtitle2 text-regular q-mt-xs"
style="font-weight: 400"
>
{{ y.text }}
</span>
</div>
</q-card>
</popup>
<popup mode="top" v-model="showPrice">
<q-card flat class="rounded-borders q-pa-md q-mt-lg">
<div class="text-subtitle1 text-weight-bold">價錢篩選(CNY)</div>
<div class="q-mt-md text-grey-6 text-subtitle2 text-regular">
{{ msg.priceRange.min }} - {{ msg.priceRange.max }}
</div>
<q-range
v-model="msg.priceRange"
:min="priceModel.min"
:max="priceModel.max"
:step="1"
@change="testHandler"
color="primary"
class="q-mt-md"
/>
</q-card><q-card flat class="rounded-borders q-mt-lg row no-padding q-mb-lg">
<div
class="q-px-md q-py-sm "
style="border-right: 1px solid #eee; border-radius: 0 !important"
>
<q-icon name="iconfont iconigw-l-date-trade" size="24px" />
</div>
<div class="row items-center justify-center col">
<span class="text-grey-8">
{{
msg.startDate
? `${msg.startDate} - ${msg.endDate}`
: "篩選出發日期"
}}
</span>
<q-popup-proxy :offset="[0, 0]" ref="qDateProxy">
<div>
<q-date
v-model="dateRange"
:options="optionsFn"
range
@range-end="dateRangeHandler"
mask="YYYY-MM-DD"
></q-date>
</div>
</q-popup-proxy>
</div>
</q-card></popup>
</div>
<div v-else class="col-3" :class="$q.platform.is.desktop ? 'q-mr-lg' : 'q-ma-md'">
<q-card flat class="rounded-borders q-py-md"> <q-card flat class="rounded-borders q-py-md">
<div class="text-subtitle1 text-weight-bold q-mx-md">篩選目的地</div> <div class="text-subtitle1 text-weight-bold q-mx-md">篩選目的地</div>
<q-input <q-input
...@@ -271,11 +388,17 @@ ...@@ -271,11 +388,17 @@
</template> </template>
<script> <script>
import popup from "../props/index";
import { date } from "quasar"; import { date } from "quasar";
export default { export default {
props: ["qMsg"], props: ["qMsg"],
components: {popup},
data() { data() {
return { return {
showAddress: false,
showCategory: false,
showDate: false,
showPrice: false,
areaTicked: [], areaTicked: [],
ticked: [], ticked: [],
selected: [], selected: [],
...@@ -388,6 +511,9 @@ export default { ...@@ -388,6 +511,9 @@ export default {
this.goSearchHandler(); this.goSearchHandler();
}, },
mounted() { mounted() {
console.log('kkday', this.msg)
this.areaTicked = this.msg.areaId ? [this.msg.areaId] : (this.msg.areaIds ? this.msg.areaIds : []);
this.msg.placeIds = this.getChoseAddressCity().join(",");
var CategoryName = this.getUrlKey("CategoryName", window.location.href); var CategoryName = this.getUrlKey("CategoryName", window.location.href);
if (CategoryName) { if (CategoryName) {
let list = this.goodsType.find( let list = this.goodsType.find(
...@@ -419,6 +545,7 @@ export default { ...@@ -419,6 +545,7 @@ export default {
this.areaTicked = target; this.areaTicked = target;
console.log("this.areaTicked", target); console.log("this.areaTicked", target);
this.msg.placeIds = this.getChoseAddressCity().join(","); this.msg.placeIds = this.getChoseAddressCity().join(",");
console.log('handleAreaTicked', this.areaTicked, this.msg.placeIds)
this.goSearchHandler(); this.goSearchHandler();
}, },
initAreaList() { initAreaList() {
...@@ -454,7 +581,7 @@ export default { ...@@ -454,7 +581,7 @@ export default {
if (this.msg.areaId) { if (this.msg.areaId) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.area.setTicked([...new Set(arr)], true); this.$refs.area?.setTicked([...new Set(arr)], true);
}); });
} }
}, },
...@@ -578,7 +705,7 @@ export default { ...@@ -578,7 +705,7 @@ export default {
this.goodsTypeJSON = JSON.stringify(this.goodsType); this.goodsTypeJSON = JSON.stringify(this.goodsType);
if (this.msg.categoryId) { if (this.msg.categoryId) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.category.setTicked([...new Set(arr)], true); this.$refs.category?.setTicked([...new Set(arr)], true);
}); });
} }
}, },
...@@ -772,11 +899,11 @@ export default { ...@@ -772,11 +899,11 @@ export default {
this.goodsType = category.children; this.goodsType = category.children;
// this.ticked = categoryInfo; // this.ticked = categoryInfo;
console.log("this.areaListJSONTMP", this.areaListJSONTMP, this.areaList); console.log("this.areaListJSONTMP", this.areaListJSONTMP, this.areaList);
this.priceModel = { min: priceInfo.minPrice, max: priceInfo.maxPrice }; // this.priceModel = { min: priceInfo.minPrice, max: priceInfo.maxPrice };
this.msg.priceRange = { // this.msg.priceRange = {
min: priceInfo.minPrice, // min: priceInfo.minPrice,
max: priceInfo.maxPrice, // max: priceInfo.maxPrice,
}; // };
let arr = []; let arr = [];
dayInfo.forEach((item) => { dayInfo.forEach((item) => {
if (item < 6) { if (item < 6) {
...@@ -811,9 +938,23 @@ export default { ...@@ -811,9 +938,23 @@ export default {
background: #f1416c1a; background: #f1416c1a;
} }
</style> </style>
<style scoped> <style lang="scss" scoped>
::v-deep .q-menu {
width: 100% !important;
}
.price-stuff { .price-stuff {
font-size: 12px; font-size: 12px;
margin-left: 4px; margin-left: 4px;
} }
.nav-item {
width: 25%;
height: 40px;
line-height: 40px;
text-align: center;
background: #fff;
font-weight: bold;
}
.nav-item:hover {
background: #f5f5f5;
}
</style> </style>
...@@ -122,10 +122,10 @@ export default { ...@@ -122,10 +122,10 @@ export default {
}, },
methods: { methods: {
init() { init() {
this.createChosenDateHandler(); this.createChosenDateHandler();
let startDate = this.prices.length>0&&this.prices[0].startDate?this.prices[0].startDate:''
let firstMonth = date.formatDate( let firstMonth = date.formatDate(
new Date(this.prices[0].startDate), new Date(startDate),
"YYYY/MM" "YYYY/MM"
); );
console.log(firstMonth) console.log(firstMonth)
...@@ -150,6 +150,8 @@ export default { ...@@ -150,6 +150,8 @@ export default {
}, },
changeShowMonthHandler(i) { changeShowMonthHandler(i) {
this.currentMonth += i; this.currentMonth += i;
let value = this.months[this.currentMonth].value
this.$emit('getQuotationData',value)
this.changeMonthHandler(); this.changeMonthHandler();
}, },
changeMonthHandler() { changeMonthHandler() {
...@@ -178,8 +180,6 @@ export default { ...@@ -178,8 +180,6 @@ export default {
value: "", value: "",
}); });
} }
let value = this.months[this.currentMonth].value
this.$emit('getQuotationData',value)
}, },
chosenDateHandler(item) { chosenDateHandler(item) {
if (item.price && item.price.remainNum>0) { if (item.price && item.price.remainNum>0) {
......
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/.scroll{
overflow: inherit;
}
.banner { .banner {
width: 100%; width: 100%;
} }
...@@ -70,7 +73,7 @@ ...@@ -70,7 +73,7 @@
.circle { .circle {
width: 32px; width: 32px;
height: 32px; height: 32px;
background: $primary; background: var(--q-color-primary);
border-radius: 50%; border-radius: 50%;
text-align: center; text-align: center;
color: #fff; color: #fff;
...@@ -227,7 +230,7 @@ margin-right: 70px; ...@@ -227,7 +230,7 @@ margin-right: 70px;
control-type="regular" control-type="regular"
padding padding
arrows arrows
height="100px" height="115px"
flat flat
class="bg-transparent rounded-borders q-mt-md" class="bg-transparent rounded-borders q-mt-md"
> >
......
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
></travelList> ></travelList>
</div> </div>
</template> </template>
<end-page v-if="isPic"></end-page> <end-page v-if="isPic" class="desktop-only"></end-page>
</q-page> </q-page>
</template> </template>
......
...@@ -521,13 +521,6 @@ ...@@ -521,13 +521,6 @@
style="border: none; border-top: 1px dashed #eee !important" style="border: none; border-top: 1px dashed #eee !important"
class="bg-transparent q-mb-sm" class="bg-transparent q-mb-sm"
/> />
<div class="row q-mb-sm items-center">
<div class="col">總金額</div>
<div class="text-subtitle2 text-weight-bolder text-primary">
CNY {{ moneyFormat(sumPrice, 2) }}
</div>
</div>
<hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" />
<div class="row q-mb-sm items-center"> <div class="row q-mb-sm items-center">
<div class="col">優惠金額</div> <div class="col">優惠金額</div>
<div <div
...@@ -538,6 +531,13 @@ ...@@ -538,6 +531,13 @@
</div> </div>
<div class="text-grey-5" v-else>暫無優惠</div> <div class="text-grey-5" v-else>暫無優惠</div>
</div> </div>
<hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" />
<div class="row q-mb-sm items-center">
<div class="col">總金額</div>
<div class="text-subtitle2 text-weight-bolder text-primary">
CNY {{ moneyFormat(sumPrice, 2) }}
</div>
</div>
<hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" /> <hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" />
<div class="row q-mb-sm items-center" v-if="chosenObj.Count>0"> <div class="row q-mb-sm items-center" v-if="chosenObj.Count>0">
<div class="col">支付金額</div> <div class="col">支付金額</div>
......
This diff is collapsed.
...@@ -286,13 +286,8 @@ ...@@ -286,13 +286,8 @@
style="border: none; border-top: 1px dashed #eee !important" style="border: none; border-top: 1px dashed #eee !important"
class="bg-transparent q-mb-sm" class="bg-transparent q-mb-sm"
/> />
<div class="row q-mb-sm items-center">
<div class="col">總金額</div>
<div class="text-subtitle2 text-weight-bolder text-primary">
CNY {{ moneyFormat(sumPrice, 2) }}
</div>
</div>
<hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" />
<div class="row q-mb-sm items-center" v-if="parameters.MailingState==2&&parameters.MailingMoney>0"> <div class="row q-mb-sm items-center" v-if="parameters.MailingState==2&&parameters.MailingMoney>0">
<div class="col">邮寄费</div> <div class="col">邮寄费</div>
<div <div
...@@ -311,6 +306,13 @@ ...@@ -311,6 +306,13 @@
</div> </div>
<div class="text-grey-5" v-else>暫無優惠</div> <div class="text-grey-5" v-else>暫無優惠</div>
</div> </div>
<hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" />
<div class="row q-mb-sm items-center">
<div class="col">總金額</div>
<div class="text-subtitle2 text-weight-bolder text-primary">
CNY {{ moneyFormat(sumPrice, 2) }}
</div>
</div>
<div class="row q-mb-sm items-center"> <div class="row q-mb-sm items-center">
<div class="col">支付金額</div> <div class="col">支付金額</div>
<div class="text-h6 text-weight-bolder text-primary product-price"> <div class="text-h6 text-weight-bolder text-primary product-price">
......
...@@ -1456,6 +1456,7 @@ export default { ...@@ -1456,6 +1456,7 @@ export default {
var qsearchDate = this.getUrlKey("qsearchDate", window.location.href); var qsearchDate = this.getUrlKey("qsearchDate", window.location.href);
var qsearchEndDate = this.getUrlKey("qsearchEndDate", window.location.href); var qsearchEndDate = this.getUrlKey("qsearchEndDate", window.location.href);
var areaId = this.getUrlKey("areaId", window.location.href); var areaId = this.getUrlKey("areaId", window.location.href);
var areaIds = this.getUrlKey("areaIds", window.location.href)
var categoryId = this.getUrlKey("categoryId", window.location.href); var categoryId = this.getUrlKey("categoryId", window.location.href);
if (qsearchKey) { if (qsearchKey) {
this.qMsg.searchKey = qsearchKey; this.qMsg.searchKey = qsearchKey;
...@@ -1469,6 +1470,9 @@ export default { ...@@ -1469,6 +1470,9 @@ export default {
if (areaId) { if (areaId) {
this.qMsg.areaId = Number(areaId); this.qMsg.areaId = Number(areaId);
} }
if (areaIds) {
this.qMsg.areaIds = areaIds.split(',').map(item => Number(item));
}
if (categoryId) { if (categoryId) {
this.qMsg.categoryId = Number(categoryId); this.qMsg.categoryId = Number(categoryId);
} }
......
This diff is collapsed.
...@@ -58,20 +58,14 @@ ...@@ -58,20 +58,14 @@
class="cursor-pointer" class="cursor-pointer"
@click="CommonJump('/index', {})" @click="CommonJump('/index', {})"
/> />
<q-breadcrumbs-el label="日本" class="cursor-pointer" /> <q-breadcrumbs-el :label="dataList.CityList2[0].CountryName" class="cursor-pointer" />
<q-breadcrumbs-el>
<span v-for="(x, i) in citys" :key="i">
<span class="cursor-pointer">{{ x }} </span>
<span v-if="i + 1 != citys.length" class="q-mr-sm"></span>
</span>
</q-breadcrumbs-el>
<q-breadcrumbs-el <q-breadcrumbs-el
v-if="$q.platform.is.desktop" v-if="$q.platform.is.desktop"
:label="dataList.title" :label="dataList.Name"
class="text-grey-6 ellipsis" class="text-grey-6 ellipsis"
/> />
</q-breadcrumbs> </q-breadcrumbs>
<div class="text-grey-6 f12">Product No. # {{ dataList.id }}</div> <div class="text-grey-6 f12">Product No. # {{ dataList.Id }}</div>
</div> </div>
<div style="padding-bottom: calc((100% - 0px) / 3); position: relative"> <div style="padding-bottom: calc((100% - 0px) / 3); position: relative">
<div <div
...@@ -120,7 +114,6 @@ ...@@ -120,7 +114,6 @@
<div <div
class="q-py-lg" class="q-py-lg"
:class="{ row: $q.platform.is.desktop, column: $q.platform.is.mobile }" :class="{ row: $q.platform.is.desktop, column: $q.platform.is.mobile }"
style="border-bottom: 1px solid #eee"
> >
<div class="col q-mr-lg"> <div class="col q-mr-lg">
<div class="text-h6 ellipsis-2-lines">{{ dataList.Name }}</div> <div class="text-h6 ellipsis-2-lines">{{ dataList.Name }}</div>
...@@ -155,7 +148,7 @@ ...@@ -155,7 +148,7 @@
class="transparent q-mr-xl no-padding" class="transparent q-mr-xl no-padding"
square square
icon="iconfont iconcancel" icon="iconfont iconcancel"
label="3天前可免費取消" :label="`${dataList.FreeCancelDay}天前可免费取消`"
/> />
</div> </div>
</div> </div>
...@@ -173,31 +166,17 @@ ...@@ -173,31 +166,17 @@
<span class="f12 text-grey-6"></span> <span class="f12 text-grey-6"></span>
</div> </div>
<div v-else class="text-subtitle1 text-grey-6">暫無報價</div> <div v-else class="text-subtitle1 text-grey-6">暫無報價</div>
<!-- :disable="priceList.length>0?false:true" -->
<q-btn <q-btn
color="primary" color="primary"
label="選擇方案" label="選擇方案"
unelevated unelevated
:disable="priceList.length>0?false:true"
@click="goScrollHandler(priceListHeight)" @click="goScrollHandler(priceListHeight)"
:class="{ 'q-mt-md full-width': $q.platform.is.desktop }" :class="{ 'q-mt-md full-width': $q.platform.is.desktop }"
/> />
</div> </div>
</div> </div>
<div class="q-mt-lg" v-if="dataList.productRecommend">
<div
class="q-mt-sm"
v-for="(x, i) in dataList.productRecommend.split('\n')"
:key="i"
>
<q-icon
name="iconfont iconhongqi"
color="primary"
size="16px"
class="q-mr-md"
/>
{{ x }}
</div>
</div>
</div> </div>
<div <div
class="bg-white" class="bg-white"
...@@ -233,7 +212,7 @@ ...@@ -233,7 +212,7 @@
</div> </div>
<div <div
v-if="dataList" v-if="dataList"
class="q-pa-lg bg-grey-3 q-mt-lg text-grey-9" class="q-pa-lg bg-grey-3 text-grey-9"
ref="pricelist" ref="pricelist"
> >
<div <div
...@@ -260,6 +239,7 @@ ...@@ -260,6 +239,7 @@
class="bg-white q-pa-md" class="bg-white q-pa-md"
:priceList="priceList" :priceList="priceList"
@change="changeChosenDateHandler" @change="changeChosenDateHandler"
@getQuotationData="getCarPriceData2"
ref="calendar" ref="calendar"
></calendar> ></calendar>
</q-popup-proxy> </q-popup-proxy>
...@@ -271,6 +251,7 @@ ...@@ -271,6 +251,7 @@
:price="currentPrice" :price="currentPrice"
@reset="resetHandler" @reset="resetHandler"
@getPriceList="getPriceList" @getPriceList="getPriceList"
ref="orderPreview"
></order-preview> ></order-preview>
</div> </div>
...@@ -278,9 +259,9 @@ ...@@ -278,9 +259,9 @@
<div class="text-h6 q-pt-lg" v-if="$q.platform.is.mobile"> <div class="text-h6 q-pt-lg" v-if="$q.platform.is.mobile">
所選方案詳情 所選方案詳情
</div> </div>
<!-- v-if="priceList && priceList.length > 0" -->
<div <div
class="bg-white rounded-borders q-mt-md" class="bg-white rounded-borders q-mt-md"
v-if="priceList && priceList.length > 0"
> >
<div class="q-pa-md row"> <div class="q-pa-md row">
<div class="col"> <div class="col">
...@@ -309,12 +290,13 @@ ...@@ -309,12 +290,13 @@
</div> </div>
<div class="" v-if="$q.platform.is.desktop"> <div class="" v-if="$q.platform.is.desktop">
<div class="row items-center"> <div class="row items-center">
<span class="product-price text-h6 q-mr-md" <span v-if="priceList.length>0&&priceList[0].originalB2CPrice > 0" class="product-price text-h6 q-mr-md"
>CNY >CNY
{{ {{
moneyFormat(priceList[0].originalB2CPrice, 0) moneyFormat(priceList[0].originalB2CPrice, 0)
}}</span }}</span
> >
<span v-else class="col"></span>
<q-btn <q-btn
color="primary" color="primary"
outline outline
...@@ -323,7 +305,7 @@ ...@@ -323,7 +305,7 @@
class="q-px-lg" class="q-px-lg"
/> />
</div> </div>
<div class="text-info q-mt-md text-right"> <div class="text-info q-mt-md text-right" v-if="priceList.length>0">
最早可預訂日期:{{ priceList[0].startDate }} 最早可預訂日期:{{ priceList[0].startDate }}
</div> </div>
</div> </div>
...@@ -356,6 +338,7 @@ ...@@ -356,6 +338,7 @@
<calendar <calendar
:priceList="priceList" :priceList="priceList"
@change="changeChosenDateHandler" @change="changeChosenDateHandler"
@getQuotationData="getCarPriceData2"
ref="calendar" ref="calendar"
></calendar> ></calendar>
</div> </div>
...@@ -367,6 +350,7 @@ ...@@ -367,6 +350,7 @@
:price="currentPrice" :price="currentPrice"
@reset="resetHandler" @reset="resetHandler"
@getPriceList="getPriceList" @getPriceList="getPriceList"
ref="orderPreview"
></order-preview> ></order-preview>
</div> </div>
</div> </div>
...@@ -980,7 +964,12 @@ export default { ...@@ -980,7 +964,12 @@ export default {
); );
}, },
// 获取车的详情 // 获取车的详情
getCarPriceData2() { getCarPriceData2(time) {
// 日历翻页更新报价
if(time){
this.currentYM.str = time
this.$refs.orderPreview.resetHandler()
}
this.priceList = [] this.priceList = []
this.apipost( this.apipost(
"b2c_get_GetCarSingleProductMonthPrice", "b2c_get_GetCarSingleProductMonthPrice",
...@@ -1005,9 +994,19 @@ export default { ...@@ -1005,9 +994,19 @@ export default {
if(date.formatDate(Date.now(), 'YYYY-MM-DD')!=x.Date){ if(date.formatDate(Date.now(), 'YYYY-MM-DD')!=x.Date){
arr.push(dataObj) arr.push(dataObj)
} }
} }
}) })
if(arr.length==0){
let dataObj = {
startDate: this.currentYM.str,
originalB2CPrice: '',
remainNum: 0,
Count: 0,
isSupportChildren: 0,
safeMoney: 0,
}
arr.push(dataObj)
}
this.priceList = JSON.parse(JSON.stringify(arr)) this.priceList = JSON.parse(JSON.stringify(arr))
} }
......
...@@ -146,12 +146,14 @@ ...@@ -146,12 +146,14 @@
<span <span
>{{ dataList.aimPlaceName }} >{{ dataList.aimPlaceName }}
<span class="q-mx-sm">途徑:</span> <template v-if="citys.length>0">
<span class="q-mx-sm">途徑:</span>
<span v-for="(x, i) in citys" :key="i"> <span v-for="(x, i) in citys" :key="i">
<span class="cursor-pointer">{{ x }} </span> <span class="cursor-pointer">{{ x }} </span>
<span v-if="i + 1 != citys.length" class="q-mr-sm">,</span> <span v-if="i + 1 != citys.length" class="q-mr-sm">,</span>
</span> </span>
</template>
</span> </span>
</div> </div>
<div class="q-mt-md row"> <div class="q-mt-md row">
...@@ -580,7 +582,7 @@ ...@@ -580,7 +582,7 @@
'q-mx-md': $q.screen.width < 1220 && $q.platform.is.mobile, 'q-mx-md': $q.screen.width < 1220 && $q.platform.is.mobile,
}" }"
></div> ></div>
<div <!-- <div
class="text-h5 text-weight-bold text-left q-mt-xl" class="text-h5 text-weight-bold text-left q-mt-xl"
ref="cancelTips" ref="cancelTips"
:class="{ :class="{
...@@ -588,8 +590,17 @@ ...@@ -588,8 +590,17 @@
}" }"
> >
取消政策 取消政策
</div> -->
<div class="q-mt-lg f12 text-grey-6">
<q-icon name="iconfont icontishi" class="q-mr-sm" />
<span
>注意:由于站内商品来自全球各地,订单取消时间将依该供应商所在时区判定。供应商需
2-5
个工作天进行取消流程,依照您购买的商品取消政策收取手续费,并于取消流程完成后14
个工作天内退款。</span
>
</div> </div>
<div <!-- <div
class="q-mt-lg trip-text q-mb-xl" class="q-mt-lg trip-text q-mb-xl"
:class="{ :class="{
'q-mx-md': $q.screen.width < 1220 && $q.platform.is.mobile, 'q-mx-md': $q.screen.width < 1220 && $q.platform.is.mobile,
...@@ -615,7 +626,7 @@ ...@@ -615,7 +626,7 @@
个工作天内退款。</span 个工作天内退款。</span
> >
</div> </div>
</div> </div> -->
</div> </div>
<template v-if="$q.platform.is.desktop"> <template v-if="$q.platform.is.desktop">
...@@ -703,9 +714,9 @@ export default { ...@@ -703,9 +714,9 @@ export default {
loop: true, loop: true,
}, },
warnBuy: [ warnBuy: [
"未满 2 岁幼儿不占位可免费参加(不含座位,餐点,门票,床位),请先于下订时在「备注栏」告知。", "未满 2 岁幼儿我們將按照嬰兒價格執行。請下單是注意區分",
"如需要單人房,請購買單房", "如需要單人房,請購買單房",
"不占床2-11(包含)岁幼童可购买儿童价,如需占床請購買成人價", "不占床2-11(包含)岁幼童可购买儿童价,如需占床請購買佔床產品",
"12歲以上皆視同成人售價", "12歲以上皆視同成人售價",
], ],
showOrderPreview: false, showOrderPreview: false,
...@@ -751,12 +762,12 @@ export default { ...@@ -751,12 +762,12 @@ export default {
isActive: false, isActive: false,
display: "溫馨提示", display: "溫馨提示",
}, },
{ // {
val: "cancelTips", // val: "cancelTips",
top: 0, // top: 0,
isActive: false, // isActive: false,
display: "取消政策", // display: "取消政策",
}, // },
], ],
priceListHeight: 0, priceListHeight: 0,
stickyHeight: 0, stickyHeight: 0,
...@@ -1227,6 +1238,9 @@ export default { ...@@ -1227,6 +1238,9 @@ export default {
.line-feature * { .line-feature * {
line-height: normal !important; line-height: normal !important;
} }
.line-feature .draggable{
position: absolute;
}
.slider-item { .slider-item {
transform: scale(1); transform: scale(1);
transition-timing-function: ease; transition-timing-function: ease;
......
...@@ -269,7 +269,7 @@ ...@@ -269,7 +269,7 @@
placeholder="" placeholder=""
mask="#" mask="#"
reverse-fill-mask reverse-fill-mask
:disable="!numberOfChildren?true:false"
/> />
<!-- :rules="[(val) => !!val || '請輸儿童數']" --> <!-- :rules="[(val) => !!val || '請輸儿童數']" -->
</div> </div>
...@@ -713,10 +713,11 @@ export default { ...@@ -713,10 +713,11 @@ export default {
return this.orderKey != ""; return this.orderKey != "";
}, },
async submit() { async submit() {
let roomGroupLen = this.msg.searchroomGroup.length; let roomGroupLen = this.msg.searchroomGroup.length;
//判断选择的人数与入住人数 //判断选择的人数与入住人数
let Count1=0 let Count1=0
let roomGroup = JSON.parse(JSON.stringify(this.parameters.roomGroup)) let roomGroup = this.parameters.roomGroup
roomGroup.forEach(x=>{ roomGroup.forEach(x=>{
Count1+= Number(x.roomMaleCount)+Number(x.roomFemaleCount)+Number(x.roomChildCount) Count1+= Number(x.roomMaleCount)+Number(x.roomFemaleCount)+Number(x.roomChildCount)
}) })
...@@ -727,6 +728,15 @@ export default { ...@@ -727,6 +728,15 @@ export default {
this.$message.error('入住人數與總入住數不匹配'); this.$message.error('入住人數與總入住數不匹配');
return; return;
} }
for (let i = 0; i < roomGroup.length; i++) {
roomGroup[i].roomMaleCount = roomGroup[i].roomMaleCount?roomGroup[i].roomMaleCount:0
roomGroup[i].roomFemaleCount = roomGroup[i].roomFemaleCount?roomGroup[i].roomFemaleCount:0
roomGroup[i].roomChildCount = roomGroup[i].roomChildCount?roomGroup[i].roomChildCount:0
if(!roomGroup[i].roomMaleCount&&!roomGroup[i].roomMaleCount){
this.$message.error('一個房間至少入住一人');
return;
}
}
this.parameters.CustomerId = this.userInfo.Id; this.parameters.CustomerId = this.userInfo.Id;
this.parameters.EmployeeIdStr = this.userInfo.Surname+this.userInfo.Name this.parameters.EmployeeIdStr = this.userInfo.Surname+this.userInfo.Name
this.$refs.mail.validate() this.$refs.mail.validate()
...@@ -736,12 +746,8 @@ export default { ...@@ -736,12 +746,8 @@ export default {
this.$refs.guestAddress.validate() this.$refs.guestAddress.validate()
this.$refs.checkInTime.validate() this.$refs.checkInTime.validate()
this.parameters.guestEmail = this.userInfo.Mailbox this.parameters.guestEmail = this.userInfo.Mailbox
for (let i = 0; i < this.parameters.roomGroup.length; i++) {
if(!this.parameters.roomGroup[i].roomMaleCount&&!this.parameters.roomGroup[i].roomMaleCount){
this.$message.error('一個房間至少入住一人');
return;
}
}
let flag = true let flag = true
......
<style lang="scss" scoped> <style lang="scss" scoped>
.select-day { .select-day {
background: $primary; background: var(--q-color-primary);
color: #fff !important; color: #fff !important;
border-radius: 8px; border-radius: 8px;
} }
......
...@@ -327,7 +327,16 @@ export default { ...@@ -327,7 +327,16 @@ export default {
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) {
this.CommonJump("/index", {});
window.localStorage.setItem(
"b2bUser",
JSON.stringify(res.data.data)
);
if (this.path) {
this.CommonJump(this.path, {});
} else {
this.CommonJump("/index", {});
}
} else { } else {
this.isLogin = false; this.isLogin = false;
// 绑定邮箱 // 绑定邮箱
......
...@@ -68,7 +68,7 @@ ...@@ -68,7 +68,7 @@
width: 20px; width: 20px;
height: 4px; height: 4px;
border-radius: 2px; border-radius: 2px;
background-color: $primary; background-color: var(--q-color-primary);
margin: -8px auto 0 auto; margin: -8px auto 0 auto;
} }
.img { .img {
...@@ -158,8 +158,12 @@ ...@@ -158,8 +158,12 @@
</div> </div>
</div> </div>
</div> </div>
<div v-if="!couponList.length "> <div v-if="!couponList.length " class="text-center q-my-xl">
<none-data></none-data> <none-data
iconType="order"
title="沒有找到您的優惠券信息哦"
subtitle=""
></none-data>
</div> </div>
</div> </div>
<div v-show="pageCount" class="mt flex justify-end"> <div v-show="pageCount" class="mt flex justify-end">
...@@ -176,7 +180,7 @@ ...@@ -176,7 +180,7 @@
</div> </div>
</template> </template>
<script> <script>
import noneData from '../../components/noneData.vue' import noneData from 'src/components/common/noneData.vue'
export default { export default {
components: { components: {
noneData noneData
......
...@@ -147,7 +147,7 @@ export default { ...@@ -147,7 +147,7 @@ export default {
changeWechat() { changeWechat() {
const { AppID, State, OpenRedirectUri } = this.openInfo; const { AppID, State, OpenRedirectUri } = this.openInfo;
let redirect_uri = OpenRedirectUri; let redirect_uri = OpenRedirectUri;
const url = `https://open.weixin.qq.com/connect/qrconnect?appid=${AppID}&redirect_uri=${redirect_uri}/loginInfo&response_type=code&scope=snsapi_login&state=${State}&wechat_redirect=${redirect_uri}`; const url = `https://open.weixin.qq.com/connect/qrconnect?appid=${AppID}&redirect_uri=${redirect_uri}/#/loginInfo&response_type=code&scope=snsapi_login&state=${State}&wechat_redirect=${redirect_uri}`;
window.location.href = url; window.location.href = url;
}, },
changeEmail() { changeEmail() {
......
...@@ -68,7 +68,7 @@ margin: 10px 13px 0 13px; ...@@ -68,7 +68,7 @@ margin: 10px 13px 0 13px;
line-height: 14px; line-height: 14px;
border-radius: 50%; border-radius: 50%;
color: #fff; color: #fff;
background-color: $primary; background-color: var(--q-color-primary);
} }
</style> </style>
<template> <template>
......
...@@ -126,7 +126,7 @@ export default { ...@@ -126,7 +126,7 @@ export default {
this.$q.loading.show(); this.$q.loading.show();
this.apipost( this.apipost(
"CarSingle_post_GetTYMyCarOrderInfo", "CarSingle_post_GetAdminCarOrderInfo",
{ OrderId: this.orderInfo.ErpOrderId }, { OrderId: this.orderInfo.ErpOrderId },
(r) => { (r) => {
if (r.data.resultCode == 1) { if (r.data.resultCode == 1) {
......
...@@ -31,7 +31,9 @@ ...@@ -31,7 +31,9 @@
</div></div> </div></div>
</template> </template>
<script> <script>
import componentsMap from 'src/components/car/Map.vue';
export default { export default {
components: {componentsMap},
props: { props: {
orderInfo: { orderInfo: {
type: Object, type: Object,
...@@ -52,8 +54,11 @@ export default { ...@@ -52,8 +54,11 @@ export default {
this.$q.loading.show(); this.$q.loading.show();
this.apipost( this.apipost(
"dmc_post_Get_GetJAPAN_HotelDetail", "dmc_post_Get_GetJAPAN_HotelDetail",
{ ProductId: this.orderInfo.GoodsId }, { groupBookingFlg: "0",
hotelImageSize: 5,
photoGalleryGetFlg: 1,hotelId: this.orderInfo.GoodsId },
(res) => { (res) => {
console.log('this.travelLngLat', res)
this.$q.loading.hide(); this.$q.loading.hide();
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.hotelDetails = res.data.data.hotelDetails; this.hotelDetails = res.data.data.hotelDetails;
...@@ -64,6 +69,7 @@ export default { ...@@ -64,6 +69,7 @@ export default {
Lng: this.hotelSummary.longitudeW, Lng: this.hotelSummary.longitudeW,
Address: this.hotelSummary.hotelName Address: this.hotelSummary.hotelName
}); });
console.log('this.travelLngLat', this.travelLngLat)
} else { } else {
this.$message.error(res.data.message); this.$message.error(res.data.message);
} }
......
...@@ -4,28 +4,27 @@ ...@@ -4,28 +4,27 @@
<template> <template>
<div> <div>
<div class="row q-mb-sm items-center"> <div class="row q-mb-sm items-center">
<div class="col">總金額</div> <div class="q-mr-lg">總金額</div>
<div class="text-subtitle2 text-weight-bolder text-primary"> <div class="text-subtitle2 text-weight-bolder ">
CNY {{ moneyFormat(sumPrice, 2) }} CNY {{ moneyFormat(sumPrice, 2) }}
</div> </div>
</div> </div>
<hr style="border:none;border-top:1px dashed #EEE !important;" class="bg-transparent q-mb-sm" /> <div class="row q-mb-sm items-center">
<div class="row q-mb-sm items-center" v-if="DiscountsMoney > 0"> <div class="q-mr-lg">優惠金額</div>
<div class="col">優惠金額</div>
<div <div
class="text-subtitle2 text-weight-bolder text-teal" class="text-subtitle2 text-weight-bolder text-teal"
v-if="DiscountsMoney > 0" v-if="DiscountMoney > 0"
> >
CNY - {{ moneyFormat(DiscountsMoney, 2) }} CNY - {{ moneyFormat(DiscountMoney, 2) }}
</div> </div>
<div class="text-grey-5" v-else>暫無優惠</div> <div class="text-grey-5" v-else>暫無優惠</div>
</div> </div>
<div class="row q-mb-sm items-center"> <!-- <div class="row q-mb-sm items-center">
<div class="col">支付金額</div> <div class="q-mr-lg">支付金額</div>
<div class="text-h6 text-weight-bolder text-primary product-price"> <div class="text-h6 text-weight-bolder product-price">
CNY {{ moneyFormat(Money, 2) }} CNY {{ moneyFormat(TotalPrice, 2) }}
</div> </div>
</div> </div> -->
</div> </div>
</template> </template>
<script> <script>
...@@ -40,13 +39,12 @@ export default { ...@@ -40,13 +39,12 @@ export default {
return { return {
details: null, details: null,
sumPrice: 0,//总金额 sumPrice: 0,//总金额
DiscountsMoney: 0,//优惠金额 DiscountMoney: 0,//优惠金额
Money: 0, // 支付金額 TotalPrice: 0, // 支付金額
} }
}, },
mounted() { mounted() {
this.getGroupData() this.getGroupData()
this.getCarOrder()
}, },
methods: { methods: {
// 获取团的详情 // 获取团的详情
...@@ -54,23 +52,22 @@ export default { ...@@ -54,23 +52,22 @@ export default {
// this.$q.loading.show(); // this.$q.loading.show();
this.apipost( this.apipost(
"dmc_post_GetThirdHotelOrder", "dmc_post_GetThirdHotelOrder",
{ ProductId: this.orderInfo.GoodsId }, { OrderID: this.orderInfo.ErpOrderId },
(r) => { (r) => {
if (r.data.resultCode == 1) { if (r.data.resultCode == 1) {
this.dataList = r.data.data; this.dataList = r.data.data;
const {DiscountsMoney,MailingState,Money} = r.data.data; const {DiscountMoney,TotalPrice} = r.data.data;
console.log('getTicket Data', r.data.data,DiscountsMoney,MailingState,Money) console.log('getTicket Data', r.data.data)
// sumPrice: 0,//总金额 // sumPrice: 0,//总金额
// DiscountsMoney: 0,//优惠金额 // DiscountMoney: 0,//优惠金额
// Money: 0, // 支付金額 // TotalPrice: 0, // 支付金額
// MailingState: '',//邮寄状态 1自取 2邮寄 // MailingState: '',//邮寄状态 1自取 2邮寄
this.Money = Money; this.TotalPrice = TotalPrice;
this.DiscountsMoney = DiscountsMoney this.DiscountMoney = DiscountMoney
this.MailingState = MailingState; this.sumPrice = TotalPrice + DiscountMoney
this.sumPrice = Money + DiscountsMoney
// this.sumPrice = this.moneyFormat(this.sumPrice, 2) // this.sumPrice = this.moneyFormat(this.sumPrice, 2)
// this.Money = this.moneyFormat(this.Money, 2) // this.TotalPrice = this.moneyFormat(this.TotalPrice, 2)
// this.DiscountsMoney = this.moneyFormat(this.DiscountsMoney, 2) // this.DiscountMoney = this.moneyFormat(this.DiscountMoney, 2)
} else { } else {
this.$q.notify({ this.$q.notify({
type: "negative", type: "negative",
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
</div> </div>
<div class=""> <div class="">
<div class="f12 text-grey-6">訂單編號:#{{detail.OrderNo}}</div> <div class="f12 text-grey-6">訂單編號:#{{detail.OrderNo}}</div>
<div class="f12 text-grey-6 q-mt-md">下單日期:{{detail.CreateTime}}</div> <div class="f12 text-grey-6 q-mt-md">下單日期:{{detail.SelectStartTime}}</div>
</div> </div>
</div> </div>
<q-separator color="grey-2" class="q-my-md" /> <q-separator color="grey-2" class="q-my-md" />
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<span class="q-ml-sm text-weight-bolder">{{ moneyFormat(detail.TotalPrice,2) }}</span> <span class="q-ml-sm text-weight-bolder">{{ moneyFormat(detail.TotalPrice,2) }}</span>
</div> </div>
<div class="row items-center"> <div class="row items-center">
<q-btn color="primary" flat dense class="q-mr-md q-px-md"> <q-btn color="primary" flat dense class="q-mr-md q-px-md" @click="navigateToWechat">
<i class="iconfont iconmessage1"></i>联系客服</q-btn> <i class="iconfont iconmessage1"></i>联系客服</q-btn>
<q-btn color="primary" dense flat class="q-mr-md q-px-md" @click="showCode = true"> <q-btn color="primary" dense flat class="q-mr-md q-px-md" @click="showCode = true">
<i class="iconfont iconiconfontscan"></i>扫码咨询</q-btn> <i class="iconfont iconiconfontscan"></i>扫码咨询</q-btn>
...@@ -37,12 +37,12 @@ ...@@ -37,12 +37,12 @@
<q-btn color="primary" unelevated dense label="前往付款" @click="goPayOrder" class="q-px-md"/> --> <q-btn color="primary" unelevated dense label="前往付款" @click="goPayOrder" class="q-px-md"/> -->
<div class="text-right" v-if="detail.OrderStatus==1"> <div class="text-right" v-if="detail.OrderStatus==1">
<q-btn color="primary" dense outline class="q-px-sm" label="取消訂單" @click="cancalOrder(item.orderNo)" /> <q-btn color="primary" dense outline class="q-px-sm" label="取消訂單" @click="cancalOrder(detail.OrderNo)" />
<q-btn color="primary" dense unelevated class="q-px-sm q-ml-sm" label="立即支付" @click="CommonJump('/pay/'+item.orderNo,{},'blank')" /> <q-btn color="primary" dense unelevated class="q-px-sm q-ml-sm" label="立即支付" @click="CommonJump('/pay/'+detail.OrderNo,{},'blank')" />
</div> </div>
<div class="text-right" v-else> <!-- <div class="text-right" v-else>
<q-btn color="dark" dense flat class="q-px-sm" @click="CommonJump('/orderinfo/'+orderNo,{},'blank')" label="查看訂單" /> <q-btn color="dark" dense flat class="q-px-sm" @click="CommonJump('/orderinfo/'+orderNo,{},'blank')" label="查看訂單" />
</div> </div> -->
</div> </div>
</div> </div>
</q-card> </q-card>
...@@ -90,13 +90,13 @@ ...@@ -90,13 +90,13 @@
<div class="q-mt-sm text-body1">{{detail.Mailbox}}</div> <div class="q-mt-sm text-body1">{{detail.Mailbox}}</div>
</div> </div>
</div> </div>
<div> <!-- <div>
<q-separator color="grey-2" class="q-my-md" /> <q-separator color="grey-2" class="q-my-md" />
<div class="text-subtitle1 text-weight-bolder">用戶備註</div> <div class="text-subtitle1 text-weight-bolder">用戶備註</div>
<div class="rounded-borders bg-orange-1 col q-mt-md q-pa-md text-orange"> <div class="rounded-borders bg-orange-1 col q-mt-md q-pa-md text-orange">
凍死了防控就是大陸飛科技阿斯蒂芬盧卡斯經費達拉斯 {{detail.Remarks}}
</div> </div>
</div> </div> -->
</q-card> </q-card>
<q-card class="rounded-borders q-pa-md q-mt-md" flat v-if="![1,2,3].includes(detail.GoodsType)"> <q-card class="rounded-borders q-pa-md q-mt-md" flat v-if="![1,2,3].includes(detail.GoodsType)">
<div v-if="detail.OrderNo"> <div v-if="detail.OrderNo">
...@@ -120,6 +120,7 @@ ...@@ -120,6 +120,7 @@
</template> </template>
<script> <script>
import noneData from 'src/components/common/noneData.vue'
import componentsMap from "../../../components/car/Map.vue"; import componentsMap from "../../../components/car/Map.vue";
import carPriceDetail from './carPriceDetail.vue' import carPriceDetail from './carPriceDetail.vue'
import groupPriceDetail from './groupPriceDetail.vue' import groupPriceDetail from './groupPriceDetail.vue'
...@@ -130,7 +131,7 @@ import groupMap from './groupMap.vue' ...@@ -130,7 +131,7 @@ import groupMap from './groupMap.vue'
import hotelMap from './hotelMap.vue' import hotelMap from './hotelMap.vue'
import ticketMap from './ticketMap.vue' import ticketMap from './ticketMap.vue'
export default { export default {
components: {componentsMap, carPriceDetail,groupPriceDetail,hotelPriceDetail,ticketPriceDetail,carMap,groupMap,hotelMap,ticketMap}, components: {noneData,componentsMap, carPriceDetail,groupPriceDetail,hotelPriceDetail,ticketPriceDetail,carMap,groupMap,hotelMap,ticketMap},
// GoodsType: this.productType,//商品类型(见枚举) 12包车 13 接机 14送机 // GoodsType: this.productType,//商品类型(见枚举) 12包车 13 接机 14送机
data() { data() {
return { return {
...@@ -167,7 +168,7 @@ methods: { ...@@ -167,7 +168,7 @@ methods: {
this.apipost('GetCancelOrder_post',{OrderNo: this.orderNo},r=>{ this.apipost('GetCancelOrder_post',{OrderNo: this.orderNo},r=>{
if(r.data.resultCode==1){ if(r.data.resultCode==1){
this.$message.success('訂單取消成功') this.$message.success('訂單取消成功')
this.getOrderList() window.location.reload()
}else{ }else{
this.$message.error('訂單取消失敗,請重新嘗試') this.$message.error('訂單取消失敗,請重新嘗試')
} }
...@@ -194,7 +195,7 @@ methods: { ...@@ -194,7 +195,7 @@ methods: {
this.iconColor = ["","blue","blue", "green", "grey"][this.detail.OrderStatus] this.iconColor = ["","blue","blue", "green", "grey"][this.detail.OrderStatus]
console.log('get detail', this.orderIcon, this.iconColor) console.log('get detail', this.orderIcon, this.iconColor)
this.orderNo=orderNo this.orderNo=orderNo
this.orderInfo=r.data.data this.orderInfo=res.data.data
this.loading=false this.loading=false
} else { } else {
// this.$notify(res.data.message); // this.$notify(res.data.message);
...@@ -209,6 +210,9 @@ methods: { ...@@ -209,6 +210,9 @@ methods: {
null null
); );
}, },
navigateToWechat() {
window.open('https://work.weixin.qq.com/kfid/kfcaec7130ac124872a', '_blank')
}
} }
} }
</script> </script>
......
...@@ -31,7 +31,9 @@ ...@@ -31,7 +31,9 @@
</div></div> </div></div>
</template> </template>
<script> <script>
import componentsMap from "src/components/car/Map.vue";
export default { export default {
components: {componentsMap},
props: { props: {
orderInfo: { orderInfo: {
type: Object, type: Object,
...@@ -60,7 +62,7 @@ export default { ...@@ -60,7 +62,7 @@ export default {
this.$q.loading.show(); this.$q.loading.show();
this.apipost( this.apipost(
"b2c_get_GetTicketCouponsDetail", "b2c_get_GetTicketCouponsDetail",
{ CouponsId: this.msg.configId }, { CouponsId: this.orderInfo.GoodsId },
(r) => { (r) => {
if (r.data.resultCode == 1) { if (r.data.resultCode == 1) {
let addList = function (arr) { let addList = function (arr) {
...@@ -89,28 +91,6 @@ export default { ...@@ -89,28 +91,6 @@ export default {
}, 1000); }, 1000);
}); });
} }
this.$nextTick(() => {
this.getCarPriceData()
setTimeout(() => {
this.navs.forEach((x) => {
x.top =
this.$refs[x.val].getBoundingClientRect().top + this.currentHeight - 60;
});
this.priceListHeight =
this.$refs.pricelist.getBoundingClientRect().top +
this.currentHeight -
60;
}, 1000);
try {
document
.querySelector("#scrollId .q-page-container")
.addEventListener("scroll", this.handleScrollDay);
} catch (error) {
// console.log(document.querySelector('#scrollId .q-page-container'))
// console.log('异常信息', error)
}
});
} else { } else {
this.$q.notify({ this.$q.notify({
......
...@@ -26,7 +26,6 @@ ...@@ -26,7 +26,6 @@
min-height: 40px; min-height: 40px;
} }
.title { .title {
margin-top: 20px;
margin-bottom: 10px; margin-bottom: 10px;
margin-left: 10px; margin-left: 10px;
} }
...@@ -113,7 +112,7 @@ ...@@ -113,7 +112,7 @@
<div class="f22 bold">{{form.Id ? '编辑': '添加'}}邮寄地址</div> <div class="f22 bold">{{form.Id ? '编辑': '添加'}}邮寄地址</div>
<form @submit.prevent.stop="submit" class="q-gutter-md"> <form @submit.prevent.stop="submit" class="q-gutter-md">
<div> <div>
<div :class="$q.platform.is.desktop ? 'row': 'culmuns'"> <div class="q-mt-xl" :class="$q.platform.is.desktop ? 'row': 'culmuns'">
<div class="col"> <div class="col">
<div class="title">全名</div> <div class="title">全名</div>
<q-input <q-input
...@@ -171,6 +170,7 @@ ...@@ -171,6 +170,7 @@
v-model="form.Mobile" v-model="form.Mobile"
outlined outlined
:rules="[(val) => !!val || '请输入手機號碼']" :rules="[(val) => !!val || '请输入手機號碼']"
mask="#" reverse-fill-mask
> >
<template v-slot:prepend> <template v-slot:prepend>
<div class="text-subtitle2"> <div class="text-subtitle2">
...@@ -186,7 +186,7 @@ ...@@ -186,7 +186,7 @@
placeholder="城市" placeholder="城市"
v-model="form.CityName" v-model="form.CityName"
outlined outlined
:rules="[(val) => !!val || '请输入電話(首次需驗證)']" :rules="[(val) => !!val || '请输入城市']"
></q-input> ></q-input>
</div> </div>
</div> </div>
...@@ -205,6 +205,7 @@ ...@@ -205,6 +205,7 @@
<div class="col"> <div class="col">
<div class="title">郵政編碼</div> <div class="title">郵政編碼</div>
<q-input <q-input
mask="#" reverse-fill-mask
ref="PostalCode" ref="PostalCode"
class="form-item" class="form-item"
placeholder="郵政編碼" placeholder="郵政編碼"
...@@ -214,8 +215,8 @@ ...@@ -214,8 +215,8 @@
></q-input> ></q-input>
</div> </div>
</div> </div>
<div class="flex items-center q-my-sm"> <div class="flex items-center q-mb-lg">
<BaseSwitch v-model="form.IsDefault"></BaseSwitch <BaseSwitch ref="switch" v-model="form.IsDefault" :value="form.IsDefault"></BaseSwitch
><span class="q-ml-sm">保存為默認地址</span></div> ><span class="q-ml-sm">保存為默認地址</span></div>
<div> <div>
<q-btn color="primary" type="submit" unelevated label="保存" /> <q-btn color="primary" type="submit" unelevated label="保存" />
...@@ -353,6 +354,11 @@ export default { ...@@ -353,6 +354,11 @@ export default {
this.form = {...item}; this.form = {...item};
this.form.AreaCode = Number(this.form.AreaCode) this.form.AreaCode = Number(this.form.AreaCode)
this.form.IsDefault = this.form.IsDefault === 1 this.form.IsDefault = this.form.IsDefault === 1
this.$nextTick(() => {
this.$refs.switch.inputSelect = this.form.IsDefault
})
console.log('this.form.IsDefault', this.form.IsDefault)
this.isShowDialog = true; this.isShowDialog = true;
}, },
deleteUser(item) { deleteUser(item) {
......
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
<q-btn color="primary" class="q-mt-sm" @click="removeAccount">删除您的帐户及个人数据</q-btn> <q-btn color="primary" class="q-mt-sm" @click="removeAccount">删除您的帐户及个人数据</q-btn>
</div> </div>
</div> </div>
<q-dialog content-style="width: 900px" v-model="showRemove"> <q-dialog v-model="showRemove">
<removeAccount></removeAccount> <removeAccount></removeAccount>
</q-dialog> </q-dialog>
</div> </div>
...@@ -272,6 +272,10 @@ export default { ...@@ -272,6 +272,10 @@ export default {
this.form, this.form,
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.form= {
OldPassword: "",
NewPassword: "",
}
// this.$notify(res.data.message); // this.$notify(res.data.message);
this.$q.notify({ this.$q.notify({
type: "positive", type: "positive",
......
...@@ -217,7 +217,7 @@ export default { ...@@ -217,7 +217,7 @@ export default {
Appellation: "", Appellation: "",
EnName: "", EnName: "",
EnSurname: "", EnSurname: "",
Country: "", Country: undefined,
Moblie: "", Moblie: "",
}, },
model: "", model: "",
...@@ -297,6 +297,12 @@ export default { ...@@ -297,6 +297,12 @@ export default {
(res) => { (res) => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.form = res.data.data; this.form = res.data.data;
if(!this.form.Country) {
this.form.Country = undefined
}
if(!this.form.Appellation) {
this.form.Appellation = undefined
}
if (this.phoneCountList.length) { if (this.phoneCountList.length) {
this.changeCountry(this.form.Country); this.changeCountry(this.form.Country);
} }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
width: 900px; width: 900px;
} }
.title { .title {
margin: 20px 10px 10px 10px; margin: 0 10px 10px 10px;
} }
.card { .card {
margin: 10px; margin: 10px;
...@@ -39,10 +39,8 @@ ...@@ -39,10 +39,8 @@
::v-deep .q-field__marginal { ::v-deep .q-field__marginal {
height: 40px; height: 40px;
} }
.title { ::v-deep .q-field--auto-height .q-field__native {
margin-top: 20px; min-height: 40px;
margin-bottom: 10px;
margin-left: 10px;
} }
.phone { .phone {
margin-left: 100px; margin-left: 100px;
...@@ -71,12 +69,13 @@ ...@@ -71,12 +69,13 @@
width: 20px; width: 20px;
height: 4px; height: 4px;
border-radius: 2px; border-radius: 2px;
background-color: $primary; background-color: var(--q-color-primary);
margin: -8px auto 0 auto; margin: -8px auto 0 auto;
} }
.card-info { .card-info {
height: 20px; height: 20px;
padding: 0 4px; padding: 0 4px;
margin: 0 0 20px 0;
background: #dddddd; background: #dddddd;
border-radius: 8px; border-radius: 8px;
} }
...@@ -87,8 +86,8 @@ ...@@ -87,8 +86,8 @@
<div class="card" v-for="item in pageData" :key="item.id"> <div class="card" v-for="item in pageData" :key="item.id">
<div class="flex card-title justify-between"> <div class="flex card-title justify-between">
<div class="flex"> <div class="flex">
<span>{{ item.Name }}</span> <span>{{item.SurName}} {{ item.Name }}</span>
<span v-if="$q.platform.is.desktop" class="phone">手機號:{{ item.Mobile }}</span> <span v-if="$q.platform.is.desktop" class="phone">手機號:+{{ item.AreaCode }} {{ item.Mobile }}</span>
</div> </div>
<span> <span>
<span class="user-edit" @click="editUser(item)">编辑</span> <span class="user-edit" @click="editUser(item)">编辑</span>
...@@ -97,18 +96,18 @@ ...@@ -97,18 +96,18 @@
> >
</span> </span>
</div> </div>
<div class="q-pa-sm"> <div class="q-pa-sm q-ml-sm">
<span class="q-ml-sm" v-if="$q.platform.is.mobile">手機號:{{ item.Mobile }}</span> <span v-if="$q.platform.is.mobile">手機號:{{ item.Mobile }}</span>
<div class="q-pa-sm full-width" <div :class="$q.platform.is.desktop ? 'row': 'culmuns'">
<div class="col-6 q-py-sm"
:class="{ 'border-b': index < item.CardList.length - 1 }" :class="{ 'border-b': index < item.CardList.length - 1 }"
v-for="(el, index) in item.CardList" v-for="(el, index) in item.CardList"
:key="index" :key="index"
> >
<div :class="$q.platform.is.desktop ? 'row': 'culmuns'"> <div>{{ el.TypeName }}:{{ el.CardNo }}</div>
<div class="col-6">{{ el.TypeName }}</div>
<div class="col-6" :class="$q.platform.is.mobile ? 'q-mt-xs': ''">{{ el.CardNo }}</div>
</div>
</div> </div>
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -144,7 +143,7 @@ ...@@ -144,7 +143,7 @@
<form @submit.prevent.stop="submit" class="q-gutter-md"> <form @submit.prevent.stop="submit" class="q-gutter-md">
<div> <div>
<div :class="$q.platform.is.desktop ? 'row': 'culmuns'"> <div :class="$q.platform.is.desktop ? 'row': 'culmuns'">
<div class="col"> <div class="col q-mt-md">
<div class="title"></div> <div class="title"></div>
<q-input <q-input
class="form-item" class="form-item"
...@@ -167,23 +166,23 @@ ...@@ -167,23 +166,23 @@
</div> </div>
<div :class="$q.platform.is.desktop ? 'row': 'culmuns'"> <div :class="$q.platform.is.desktop ? 'row': 'culmuns'">
<div class="col"> <div class="col">
<div class="title">姓氏(需與旅遊證件一致</div> <div class="title">姓氏(请输入英文字母</div>
<q-input <q-input
class="form-item" class="form-item"
v-model="form.EnName" v-model="form.EnName"
outlined outlined
ref="EnName" ref="EnName"
:rules="[(val) => !!val || '请输入姓氏(需與旅遊證件一致)']" :rules="[(val) => !!val || '请输入姓氏(请输入英文字母)']"
></q-input> ></q-input>
</div> </div>
<div class="col"> <div class="col">
<div class="title">名字(需與旅遊證件一致</div> <div class="title">名字(请输入英文字母</div>
<q-input <q-input
ref="EnSurName" ref="EnSurName"
class="form-item" class="form-item"
v-model="form.EnSurName" v-model="form.EnSurName"
outlined outlined
:rules="[(val) => !!val || '请输入名字(需與旅遊證件一致)']" :rules="[(val) => !!val || '请输入名字(请输入英文字母)']"
></q-input> ></q-input>
</div> </div>
</div> </div>
......
...@@ -7,14 +7,14 @@ const ProductTypeEnum = Object.freeze({ ...@@ -7,14 +7,14 @@ const ProductTypeEnum = Object.freeze({
*/ */
ONE_DAY: { ONE_DAY: {
value: 1, value: 1,
desc: '一日游产品' desc: '當地遊产品'
}, },
/** /**
* 多日游 * 多日游
*/ */
TEAM_TRIP: { TEAM_TRIP: {
value: 2, value: 2,
desc: '多日游产品' desc: '出境遊产品'
}, },
/** /**
* 小包团 * 小包团
......
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