Commit b181a58a authored by 罗超's avatar 罗超

修改问题

parent 9dae32dd
......@@ -25,8 +25,8 @@ Vue.prototype.domainManager = function() {
if (domainNameUrl.indexOf('testerp.oytour') !== -1) {
domainUrl = "http://testapi.oytour.com";
} else if (domainNameUrl.indexOf('oytour') !== -1) {
// domainUrl = "http://reborn.oytour.com";
domainUrl = 'http://192.168.10.206:8015' //'http://192.168.10.206:8015' ''http://192.168.10.11:8083' '
domainUrl = "http://reborn.oytour.com";
// 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) {
......
<<<<<<< HEAD
<style>
</style>
=======
>>>>>>> f1c336638dd7e228f10cc6497760343026d24a12
<style scoped>
.header-box {
max-width: 1200px;
......
......@@ -594,9 +594,10 @@ export default {
console.log(val)
if(val!='' && typeof val == 'string'){
this.searchKey=val
this.historys=Array.from(new Set([this.searchKey].concat(this.historys)))
localStorage['recent_search'] = JSON.stringify(this.historys)
}
this.historys=Array.from(new Set([this.searchKey].concat(this.historys)))
localStorage['recent_search'] = JSON.stringify(this.historys)
this.CommonJump("/search", {
qsearchKey: this.searchKey,
qsearchDate: this.searchDate,
......
<template>
<div class="items-start q-mt-lg" :class="$q.platform.is.desktop ? 'row' : 'colmuns'">
<div class="items-start q-mt-lg travel-list" :class="$q.platform.is.desktop ? 'row' : 'colmuns'">
<div 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>
......@@ -21,6 +21,8 @@
@update:ticked="handleAreaTicked"
:ticked="areaTicked"
text-color="#666"
no-nodes-label=" "
no-results-label=" "
/>
</q-card>
<q-card flat class="rounded-borders q-py-md q-mt-lg">
......@@ -744,6 +746,7 @@ this.dayArray = this.dayArray.filter(item => arr.includes(item.id))
.addr-list:hover {
background: #f1416c1a;
}
</style>
<style scoped>
.price-stuff {
......
......@@ -43,7 +43,7 @@
class="rounded-borders text-center text-weight-bold"
:class="{
'cursor-pointer hover-date': x.value != '' && x.price,
'cursor-not-allowed': !x.price && x.value != '',
'cursor-not-allowed': (!x.price || x.price.remainNum==0) && x.value != '',
'bg-primary': x.value != '' && x.value == currentDate,
}"
style="padding: 8px 4px; width: 14.285%"
......@@ -67,7 +67,7 @@
}"
>
{{
x.price ? moneyFormat(x.price.originalB2CPrice, 0) : "&nbsp;"
x.price && x.price.remainNum>0 ? moneyFormat(x.price.originalB2CPrice, 0) :(x.price && x.price.remainNum==0?'售罄':'&nbsp;')
}}
</div>
</div>
......@@ -164,7 +164,7 @@ export default {
}
while (newBeginDate <= newEndDate) {
let value = date.formatDate(newBeginDate, "YYYY-MM-DD");
let price = this.prices.find((x) => x.startDate == value && x.remainNum>0);
let price = this.prices.find((x) => x.startDate == value);
this.col.push({
value,
display: date.formatDate(newBeginDate, "DD"),
......@@ -180,7 +180,7 @@ export default {
}
},
chosenDateHandler(item) {
if (item.price) {
if (item.price && item.price.remainNum>0) {
this.currentDate = item.value;
this.$emit("change", item);
}
......
......@@ -42,11 +42,11 @@
<div class="q-mr-md col-3">餐食:</div>
<div class="col text-grey-6">{{ dinner }}</div>
</div>
<div class="row items-center q-pt-mb"
<!-- <div class="row items-center q-pt-mb"
:class="{'col-6':$q.platform.is.desktop,'col-12':$q.platform.is.mobile}" >
<div class="q-mr-md col-3">服務用語</div>
<div class="col text-grey-6">普通話/日本語</div>
</div>
</div> -->
</div>
</div>
</template>
......
......@@ -82,7 +82,7 @@
}
@keyframes icon-bounce {
0% {
transform: translateY(0) scale(1.15,.5);
transform: translateY(0) scale(1.15, 0.5);
}
20% {
transform: translateY(-20px) scaleY(1.1);
......@@ -94,11 +94,11 @@
transform: translateY(-10px) scale(1);
}
100% {
transform: translateY(0) scale(1.15,.8);
transform: translateY(0) scale(1.15, 0.8);
}
}
.desktop-navs{
width:100px;
.desktop-navs {
width: 100px;
}
.desktop-navs:hover img {
animation-name: icon-bounce;
......@@ -108,13 +108,10 @@
}
</style>
<template>
<div class="content-page" >
<div v-if="detail" :class="{'q-mx-md':$q.platform.is.mobile}">
<div class="content-page" style="min-height: 80vh">
<div v-if="detail" :class="{ 'q-mx-md': $q.platform.is.mobile }">
<div class="row items-center q-pt-md q-mb-lg">
<q-breadcrumbs
class="col f12 no-wrap q-mr-md"
style="font-size: 13px"
>
<q-breadcrumbs class="col f12 no-wrap q-mr-md" style="font-size: 13px">
<q-breadcrumbs-el
icon="home"
label="首頁"
......@@ -126,15 +123,37 @@
<!-- <div class="text-grey-6 f12">Product No. # {{ dataList.id }}</div> -->
</div>
<div class="relative row" :style="{'height':$q.platform.is.mobile?'200px':'370px'}">
<div class="absolute name" style="z-index: 1;">{{detail.AreaName}}</div>
<q-img :src="detail.ImageList[0]" spinner-color="dark" class="col rounded-borders full-height" />
<q-img :src="detail.ImageList[1]" v-if="detail.ImageList.length>1" spinner-color="dark" style="width:260px" class="full-height desktop-only rounded-borders q-ml-md" />
<div class="absolute q-py-sm q-px-md row items-center bg-dark text-white rounded-borders cursor-pointer" style="bottom:20px;left: 20px;">
<div
class="relative row"
:style="{ height: $q.platform.is.mobile ? '200px' : '370px' }"
>
<div class="absolute name" style="z-index: 1">
{{ detail.AreaName }}
</div>
<q-img
:src="detail.ImageList[0]"
spinner-color="dark"
class="col rounded-borders full-height"
/>
<q-img
:src="detail.ImageList[1]"
v-if="detail.ImageList.length > 1"
spinner-color="dark"
style="width: 260px"
class="full-height desktop-only rounded-borders q-ml-md"
/>
<div
class="absolute q-py-sm q-px-md row items-center bg-dark text-white rounded-borders cursor-pointer"
style="bottom: 20px; left: 20px"
>
<q-icon name="iconfont iconzhinanzhen" size="16px"></q-icon>
<span class="q-ml-sm">訪前須知</span>
</div>
<div class="absolute q-py-sm q-px-md row items-center bg-dark text-white rounded-borders cursor-pointer" style="bottom:20px;right: 20px;" @click="showPreview(detail.ImageList,0)">
<div
class="absolute q-py-sm q-px-md row items-center bg-dark text-white rounded-borders cursor-pointer"
style="bottom: 20px; right: 20px"
@click="showPreview(detail.ImageList, 0)"
>
<q-icon name="iconfont iconimage" size="16px"></q-icon>
<span class="q-ml-sm">查看照片</span>
</div>
......@@ -148,10 +167,38 @@
</div>
<div class="q-mt-md row justify-center">
<div class="bg-white row rounded-borders light-shadow" :class="{'q-pa-lg':$q.platform.is.desktop,'col-12 q-px-md q-pa-md':$q.platform.is.mobile}" style="max-width:100%">
<div class="text-center cursor-pointer" :class="{'desktop-navs ':$q.platform.is.desktop,'col-3 q-mb-md':$q.platform.is.mobile}" v-for="item in navList" :key="item.img" @click="navClick(item)">
<img width="30" height="30" :src="require(`../../assets/img/${item.img}.png`)" />
<div class="f12" :class="{'q-mt-md ':$q.platform.is.desktop,'q-mt-sm':$q.platform.is.mobile}">{{ item.title }}</div>
<div
class="bg-white row rounded-borders light-shadow"
:class="{
'q-pa-lg': $q.platform.is.desktop,
'col-12 q-px-md q-pa-md': $q.platform.is.mobile,
}"
style="max-width: 100%"
>
<div
class="text-center cursor-pointer"
:class="{
'desktop-navs ': $q.platform.is.desktop,
'col-3 q-mb-md': $q.platform.is.mobile,
}"
v-for="item in navList"
:key="item.img"
@click="navClick(item)"
>
<img
width="30"
height="30"
:src="require(`../../assets/img/${item.img}.png`)"
/>
<div
class="f12"
:class="{
'q-mt-md ': $q.platform.is.desktop,
'q-mt-sm': $q.platform.is.mobile,
}"
>
{{ item.title }}
</div>
</div>
</div>
<!-- <div v-for="item in navList" :key="item.img" class="nav-item" @click="navClick(item)">
......@@ -163,10 +210,10 @@
<div class="f16 bold text-center">{{ item.title }}</div>
</div> -->
</div>
<div v-if="detail.TopList.length>0">
<div v-if="detail.TopList.length > 0">
<div class="top-title">TOP榜单</div>
<div>本地销量最好的商品</div>
<q-carousel
v-model="hotSilder"
transition-prev="slide-right"
......@@ -180,22 +227,37 @@
height="300px"
flat
class="bg-transparent rounded-borders q-mt-md"
>
<q-carousel-slide :name="index" v-for="(item, index) in Math.ceil(detail.TopList.length/topPageCount)" :key="index" class="column no-wrap">
<div class="row fit justify-start items-center q-gutter-md q-col-gutter no-wrap">
<template v-for="(x,i) in topPageCount">
<goods-style1 v-if="(i+(index*topPageCount))<detail.TopList.length" :product="detail.TopList[i+(index*topPageCount)]" :key="detail.TopList[i+(index*topPageCount)].ConfigId" :class="{'col-3':topPageCount==4,'col-12':topPageCount==1}" ></goods-style1>
</template>
</div>
</q-carousel-slide>
>
<q-carousel-slide
:name="index"
v-for="(item, index) in Math.ceil(
detail.TopList.length / topPageCount
)"
:key="index"
class="column no-wrap"
>
<div
class="row fit justify-start items-center q-gutter-md q-col-gutter no-wrap"
>
<template v-for="(x, i) in topPageCount">
<goods-style1
v-if="i + index * topPageCount < detail.TopList.length"
:product="detail.TopList[i + index * topPageCount]"
:key="detail.TopList[i + index * topPageCount].ConfigId"
:class="{
'col-3': topPageCount == 4,
'col-12': topPageCount == 1,
}"
></goods-style1>
</template>
</div>
</q-carousel-slide>
</q-carousel>
</div>
<div class="top-title">最新推荐</div>
<div>已售出商品的最新榜單</div>
<!-- <div class="flex justify-between flex-wrap mt">
<likeCard @click.native="navToDetail(item)" v-for="item in detail.NewList" :data="item" :key="item.ID" />
</div> -->
<q-carousel
<div v-if="detail.NewList && detail.NewList.length>0">
<div class="top-title">最新推荐</div>
<div>已售出商品的最新榜單</div>
<q-carousel
v-model="newSilder"
transition-prev="slide-right"
transition-next="slide-left"
......@@ -208,17 +270,33 @@
height="400px"
flat
class="bg-transparent rounded-borders q-mt-md desktop-only"
>
<q-carousel-slide :name="index" v-for="(item, index) in Math.ceil(detail.NewList.length/4)" :key="index" class="column no-wrap">
<div class="row">
<template v-for="(x,i) in 4">
<goods-style2 v-if="(i+(index*4))<detail.NewList.length" :product="detail.NewList[i+(index*4)]" :key="detail.NewList[i+(index*4)].ConfigId" class="q-pr-md col-6 q-mb-md"></goods-style2>
</template>
</div>
</q-carousel-slide>
>
<q-carousel-slide
:name="index"
v-for="(item, index) in Math.ceil(detail.NewList.length / 4)"
:key="index"
class="column no-wrap"
>
<div class="row">
<template v-for="(x, i) in 4">
<goods-style2
v-if="i + index * 4 < detail.NewList.length"
:product="detail.NewList[i + index * 4]"
:key="detail.NewList[i + index * 4].ConfigId"
class="q-pr-md col-6 q-mb-md"
></goods-style2>
</template>
</div>
</q-carousel-slide>
</q-carousel>
<div class="mobile-only q-mt-md">
<goods-style2 :product="x" :key="i" class="q-pr-md col-6 q-mb-md" v-for="(x,i) in detail.NewList"></goods-style2>
<div class="mobile-only q-mt-md">
<goods-style2
:product="x"
:key="i"
class="q-pr-md col-6 q-mb-md"
v-for="(x, i) in detail.NewList"
></goods-style2>
</div>
</div>
<city-info :city="detail"></city-info>
<!-- <div class="top-title">關於{{detail.AreaName}}</div>
......@@ -274,9 +352,9 @@
</div>
</div> -->
<nearCity :name="detail.AreaName" :cityList="detail.AdjacentCityList" />
<q-dialog v-model="show">
<div style="width: 900px;">
<div id="dialog-map"></div>
<q-dialog v-model="show">
<div style="width: 900px">
<div id="dialog-map"></div>
</div>
</q-dialog>
</div>
......@@ -286,19 +364,26 @@
import topCard from "./components/top-card.vue";
import likeCard from "./components/like-card.vue";
import nearCity from "./components/near-city.vue";
import goodsStyle1 from '../../components/goods/style1.vue';
import goodsStyle2 from '../../components/goods/style2.vue';
import goodsStyle1 from "../../components/goods/style1.vue";
import goodsStyle2 from "../../components/goods/style2.vue";
import cityInfo from "./components/city-info.vue";
export default {
components: { topCard, likeCard, nearCity,goodsStyle1,goodsStyle2,cityInfo },
components: {
topCard,
likeCard,
nearCity,
goodsStyle1,
goodsStyle2,
cityInfo,
},
data() {
return {
show: false,
detail: null,
hotSilder:0,
newSilder:0,
topPageCount:4,
newPageCount:2,
hotSilder: 0,
newSilder: 0,
topPageCount: 4,
newPageCount: 2,
navList: [
{
title: "观光行程",
......@@ -320,9 +405,9 @@ export default {
};
},
mounted() {
if(this.$q.platform.is.mobile){
this.topPageCount=1
this.newPageCount=2
if (this.$q.platform.is.mobile) {
this.topPageCount = 1;
this.newPageCount = 2;
}
this.getData();
var newStartDate = new Date();
......@@ -342,17 +427,15 @@ export default {
},
methods: {
navClick(item) {
this.CommonJump(
"/search",
{
this.CommonJump("/search", {
areaId: this.detail.Id,
qsearchDate: this.searchDate,
qsearchEndDate: this.searchEndDate,
CategoryName: item.title}
);
CategoryName: item.title,
});
},
navToDetail(item) {
console.log('navToDetail', item)
console.log("navToDetail", item);
},
getData() {
this.$q.loading.show();
......@@ -360,12 +443,12 @@ export default {
"b2c_get_GetB2CIndexCityList",
{ AreaId: decodeURIComponent(this.$route.params.id) },
(r) => {
this.detail = r.data.data
this.detail = r.data.data;
this.$q.loading.hide();
this.$nextTick(() => {
this.createMap();
this.createTopMap()
})
this.createTopMap();
});
},
null
);
......@@ -405,16 +488,16 @@ export default {
offset: new BMapGL.Size(10, -80), // 设置标注的偏移量
});
this.map.addOverlay(label); // 将标注添加到地图中
const that = this
const that = this;
label.addEventListener("click", function () {
that.openDialog()
that.openDialog();
});
label.setStyle({
// 设置label的样式
color: "#000",
backgrond: "#fff",
padding: '4px',
border: 'none'
padding: "4px",
border: "none",
});
},
createTopMap() {
......@@ -452,27 +535,27 @@ export default {
offset: new BMapGL.Size(10, -80), // 设置标注的偏移量
});
this.topMap.addOverlay(label); // 将标注添加到地图中
const that = this
const that = this;
label.addEventListener("click", function () {
that.openDialog()
that.openDialog();
});
label.setStyle({
// 设置label的样式
color: "#000",
backgrond: "#fff",
padding: '4px',
border: 'none'
padding: "4px",
border: "none",
});
},
openDialog() {
this.show = true
this.show = true;
this.$nextTick(() => {
let map = new BMapGL.Map("dialog-map"); // 创建地图实例
this.map = map;
let pointA = new BMapGL.Point(this.detail.Lng, this.detail.Lat); // 创建点坐标
map.centerAndZoom(pointA, 11); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom()
})
let map = new BMapGL.Map("dialog-map"); // 创建地图实例
this.map = map;
let pointA = new BMapGL.Point(this.detail.Lng, this.detail.Lat); // 创建点坐标
map.centerAndZoom(pointA, 11); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom();
});
},
showPreview(images, index = 0) {
this.$viewerApi({
......@@ -484,4 +567,4 @@ export default {
},
},
};
</script>
\ No newline at end of file
</script>
......@@ -585,7 +585,7 @@
size="sm"
text-color="grey-2"
class="text-light"
label="15天前可免費取消"
label="取消需二次確認"
/> -->
</div>
<!-- <div class="text-grey f12">
......
......@@ -60,13 +60,13 @@
class="cursor-pointer"
@click="CommonJump('/index', {})"
/>
<q-breadcrumbs-el label="日本" class="cursor-pointer" />
<q-breadcrumbs-el>
<q-breadcrumbs-el :label="dataList.aimPlaceName" 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"
:label="dataList.title"
......@@ -133,7 +133,9 @@
class="q-mr-sm"
/>
<span
>日本 -
>{{ dataList.aimPlaceName }}
<span class="q-mx-sm">途徑:</span>
<span v-for="(x, i) in citys" :key="i">
<span class="cursor-pointer">{{ x }} </span>
......@@ -164,7 +166,7 @@
class="transparent q-mr-xl no-padding"
square
icon="iconfont iconcancel"
label="15天前可免費取消"
label="取消需二次確認"
/>
</div>
</div>
......@@ -303,7 +305,7 @@
size="sm"
text-color="grey-2"
class="text-light"
label="15天前可免費取消"
label="取消需二次確認"
/>
</div>
<div class="text-grey f12">
......@@ -348,7 +350,7 @@
class="transparent q-mr-xl no-padding"
square
icon="iconfont iconcancel"
label="15天前可免費取消"
label="取消需二次確認"
/>
<q-chip
class="transparent q-mr-xl no-padding"
......@@ -424,12 +426,12 @@
行程特色
</div>
<div
class="q-mt-md trip-text q-pb-xl"
class="q-mt-md trip-text q-pb-xl line-feature"
v-html="dataList.feature.featureContent"
v-if="dataList.feature.featureContent != ''"
></div>
<div
class="q-mt-md q-pb-xl"
class="q-mt-md q-pb-xl line-feature"
ref="diyContext"
:style="{ zoom: zoomDiyContext }"
v-html="dataList.feature.featureHtml"
......@@ -934,6 +936,9 @@ export default {
this.citys.push(x.cityName);
}
});
if(this.citys.length>0){
this.citys = Array.from(new Set(this.citys))
}
}
}
this.dataList.imgCover = JSON.parse(this.dataList.imgCover);
......@@ -1160,6 +1165,9 @@ export default {
</script>
<style>
.line-feature *{
line-height: normal !important;
}
.slider-item {
transform: scale(1);
transition-timing-function: ease;
......
......@@ -713,7 +713,7 @@ export default {
BrandId: 0,
TradeWay: 0,
PlatformOrder: "",
GuestNum: this.chosenObj.crCount + this.chosenObj.etCount +this.chosenObj+yeCount,
GuestNum: this.chosenObj.crCount + this.chosenObj.etCount +this.chosenObj.yeCount,
IsChildrenTour: this.price.isSupportChildren,
IsBirdDiscount: 2,
PredictRoomNum:
......
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