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

解决冲突

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