Commit fb797202 authored by youjie's avatar youjie

no message

parents 1a5d4838 597cccad
...@@ -19,7 +19,7 @@ Vue.prototype.domainManager = function () { ...@@ -19,7 +19,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:8015' domainUrl = 'http://192.168.10.11:8083'
} }
var obj = { var obj = {
//主地址 //主地址
......
...@@ -3,24 +3,139 @@ ...@@ -3,24 +3,139 @@
margin-right: 12px; margin-right: 12px;
} }
</style> </style>
<style scoped>
.flex {
display: flex;
}
.justify-between {
justify-content: space-between;
}
.item-center {
align-items: center;
}
.justify-center {
justify-content: center;
}
.padding-top {
padding-top: 10px;
}
.flex-center {
justify-content: center;
align-items: center;
}
.flex-wrap {
flex-wrap: wrap;
}
.header-box {
max-width: 1200px;
margin: 0 auto;
}
.address-box {
width: 815px;
height: 426px;
}
.menu-box {
width: 174px;
height: 426px;
overflow: auto;
}
.menu-item {
width: 139px;
margin: 15px auto;
height: 49px;
border-radius: 4px;
padding: 8px 16px;
cursor: pointer;
}
.hot {
line-height: 33px;
}
.select {
color: #fff;
background-color: #ee4454;
}
.menu-title {
font-weight: bold;
}
.menu-tag-box span {
margin-right: 20px;
}
.menu-tag-box:last-child {
margin-right: 0;
}
.city-box {
padding: 14px 18px;
width: 641px;
}
.city {
width: 129px;
height: 69px;
background: #ee4454;
border-radius: 10px;
margin: 11px;
display: inline-block;
position: relative;
cursor: pointer;
}
.city-img {
width: 129px;
height: 69px;
position: absolute;
top: 0;
left: 0;
}
.city-name-box {
z-index: 10;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.city-name {
text-align: center;
height: 22px;
background: rgba(0,0,0,0.2);
color: #fff;
padding: 0 5px;
border-radius: 10px;
}
.address-btn {
margin: 0 10px 0 44px;
}
.all-type {
margin-left: 10px;
}
.all-menu {
width: 820px;
padding: 10px;
}
.category-item {
width: 200px;
padding: 10px;
}
.font-16 {
font-size: 16px;
}
</style>
<template> <template>
<q-header <q-header
reveal reveal
:style="{ background: baseData.nav.bg, color: baseData.nav.color }" :style="{ background: baseData.nav.bg, color: baseData.nav.color }"
class="bg-white" class="bg-white"
height-hint="98" height-hint="108"
to="/index" to="/index"
style="border-bottom:1px solid #eee;" style="border-bottom:1px solid #eee;"
> >
<q-toolbar <q-toolbar
style="height: 60px; max-width: 1200px; margin: 0 auto" style="height: 50px; max-width: 1200px; margin: 0 auto"
class="zk_toolbar" class="zk_toolbar flex justify-between"
:class="{ 'q-px-none': $q.platform.is.desktop }" :class="{ 'q-px-none': $q.platform.is.desktop }"
> >
<img <img
:src="baseData.logo" :src="baseData.logo"
style=" style="
height: 45px; height: 35px;
cursor: pointer; cursor: pointer;
margin-right: 100px; margin-right: 100px;
filter: drop-shadow(0px 0px var(--q-color-primary)); filter: drop-shadow(0px 0px var(--q-color-primary));
...@@ -28,7 +143,7 @@ ...@@ -28,7 +143,7 @@
class="q-mr-lg q-ml-sm" class="q-mr-lg q-ml-sm"
@click="CommonJump('/index', {})" @click="CommonJump('/index', {})"
/> />
<q-tabs <!-- <q-tabs
align="center" align="center"
style="margin: 0 auto" style="margin: 0 auto"
shrink shrink
...@@ -93,95 +208,187 @@ ...@@ -93,95 +208,187 @@
</template> </template>
</q-tabs> </q-tabs>
</q-menu> </q-menu>
</q-btn> </q-btn>-->
<template v-if="LoginUser.accountId > 0"> <div>
<q-btn-dropdown <q-btn label="繁體中文" flat>
style="color: #444; font-weight: bold" <q-menu>
class="q-ml-lg" <q-list>
icon="iconfont iconicon-unlogin" <q-item clickable v-close-popup>
:label="LoginUser.name" <q-item-section>繁體中文</q-item-section>
unelevated </q-item>
> </q-list>
<div class="row no-wrap q-pa-md"> </q-menu>
<div class="column"> </q-btn>
<q-list> <q-btn label="帮助中心" flat></q-btn>
<q-item clickable v-close-popup to="/account"> <q-btn label="注册" flat></q-btn>
<q-item-section avatar> <template v-if="LoginUser.accountId > 0">
<q-avatar <q-btn-dropdown
icon="folder" style="color: #444; font-weight: bold"
color="primary" class="q-ml-lg"
text-color="white" icon="iconfont iconicon-unlogin"
/> :label="LoginUser.name"
</q-item-section> unelevated
<q-item-section> >
<q-item-label>帳號設定</q-item-label> <div class="row no-wrap q-pa-md">
</q-item-section> <div class="column">
</q-item> <q-list>
<q-item clickable v-close-popup to="/orderlist"> <q-item clickable v-close-popup to="/account">
<q-item-section avatar> <q-item-section avatar>
<q-avatar <q-avatar icon="folder" text-color="#474747" />
icon="assignment" </q-item-section>
color="secondary" <q-item-section>
text-color="white" <q-item-label>帳號設定</q-item-label>
/> </q-item-section>
</q-item-section> </q-item>
<q-item-section> <q-item clickable v-close-popup to="/orderlist">
<q-item-label>我的訂單</q-item-label> <q-item-section avatar>
</q-item-section> <q-avatar icon="assignment" text-color="#474747" />
</q-item> </q-item-section>
<q-item clickable v-close-popup to="/demandlist"> <q-item-section>
<q-item-section avatar> <q-item-label>我的訂單</q-item-label>
<q-avatar </q-item-section>
icon="assignment" </q-item>
color="secondary" <q-item clickable v-close-popup to="/demandlist">
text-color="white" <q-item-section avatar>
/> <q-avatar icon="assignment" text-color="#474747" />
</q-item-section> </q-item-section>
<q-item-section> <q-item-section>
<q-item-label>我的需求單</q-item-label> <q-item-label>我的需求單</q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> <q-separator inset class="q-mx-lg" />
</div> <div class="flex flex-center padding-top">
<q-separator vertical inset class="q-mx-lg" /> <q-btn label="登出" @click="loginOut" flat v-close-popup />
<div class="column items-center"> </div>
<q-avatar size="72px"> </q-list>
<img v-if="LoginUser.photo" :src="LoginUser.photo" />
<img v-else src="../../statics/img/default_head_img.jpg" />
</q-avatar>
<div class="text-subtitle1 q-mt-md q-mb-xs">
{{ LoginUser.name }}
</div> </div>
<q-btn <!-- <q-separator vertical inset class="q-mx-lg" />
color="primary" <div class="column items-center">
label="登出" <q-avatar size="72px">
@click="loginOut" <img v-if="LoginUser.photo" :src="LoginUser.photo" />
push <img v-else src="../../statics/img/default_head_img.jpg" />
size="sm" </q-avatar>
v-close-popup <div class="text-subtitle1 q-mt-md q-mb-xs">{{ LoginUser.name }}</div>
/> <q-btn color="primary" label="登出" @click="loginOut" push size="sm" v-close-popup />
</div>-->
</div> </div>
</div> </q-btn-dropdown>
</q-btn-dropdown> </template>
</template> <template v-else>
<template v-else> <q-btn
<q-btn flat
flat style="color: #444; font-weight: bold"
style="color: #444; font-weight: bold" class="q-ml-lg desktop-only"
class="q-ml-lg desktop-only" :label="$t('login')"
:label="$t('login')" icon="iconfont iconicon-unlogin"
icon="iconfont iconicon-unlogin" to="/login"
to="/login" />
/> <q-btn
<q-btn flat
flat style="color: #444; font-weight: bold"
style="color: #444; font-weight: bold" class="mobile-only"
class="mobile-only" icon="iconfont iconicon-unlogin"
icon="iconfont iconicon-unlogin" to="/login"
to="/login" />
/> </template>
</template> </div>
</q-toolbar> </q-toolbar>
<div class="header-box flex">
<q-tabs align="center" shrink>
<q-btn flat class="address-btn">
<span slot="default" class="flex item-center">
<i class="iconfont icondingweixiao q-icon notranslate" style="font-size: 14px; margin-right: 8px"></i>選擇目的地
</span>
<q-menu>
<div class="address-box flex">
<div class="menu-box">
<div
v-for="item in areas"
:key="item.Id"
class="menu-item"
@click="changeAreas(item)"
:class="{'select': true}"
>
<div v-if="!item.tag" class="hot">{{item.Name}}</div>
<div v-else>
<div class="menu-title">{{item.Name}}</div>
<div class="menu-tag-box">
<span>加德滿都</span>
<span>加德滿都</span>
</div>
</div>
</div>
</div>
<div class="city-box">
<div v-for="item in selectedArea" :key="item">
<div class="city" >
<img class="city-img" v-if="item.ImageList.length" :src="item.ImageList[0]" />
<div class="city-name-box flex flex-center"><div class="city-name">{{item.Name}}</div></div>
</div>
<template v-if="item.SubList">
<div class="city" v-for="item2 in item.SubList" :key="item2.Id">
<div>
<img class="city-img" v-if="item2.ImageList.length" :src="item2.ImageList[0]" />
<div class="city-name-box flex flex-center"><div class="city-name">{{item.Name}}</div></div>
</div>
</div>
</template>
</div>
</div>
</div>
</q-menu>
</q-btn>
<q-separator style="height: 16px;margin: auto 0" vertical/>
<q-btn class="all-type" flat label="全部分類">
<q-menu>
<div class="all-menu">
<div class="flex">
<div class="category-item font-16" :key="i" v-for="(x, i) in baseData.nav.navs">{{x.NavTitle}}</div>
</div>
<q-separator />
<div class="flex">
<div class="category-item" :key="i" v-for="(x, i) in baseData.nav.navs">
<q-list>
<q-item :key="item.Id" v-for="item in x.SubList" clickable v-close-popup>
<q-item-section>{{item.NavTitle}}</q-item-section>
<q-menu v-if="item.SubList.length">
<q-list>
<q-item
:key="item2.Id"
v-for="item2 in item.SubList"
clickable
v-close-popup
>
<q-item-section>{{item2.NavTitle}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-item>
</q-list>
</div>
</div></div>
</q-menu>
</q-btn>
<template v-for="(x, i) in baseData.nav.navs">
<q-btn :key="i" :label="x.NavTitle" flat :content-style="{ hover: '#ff0000' }">
<q-menu :key="i">
<q-list>
<q-item :key="item.Id" v-for="item in x.SubList" clickable v-close-popup>
<q-item-section v-if="!item.SubList.length">{{item.NavTitle}}</q-item-section>
<q-menu v-else>
<q-list>
<q-item :key="item2.Id" v-for="item2 in item.SubList" clickable v-close-popup>
<q-item-section>{{item2.NavTitle}}</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-item>
</q-list>
</q-menu>
</q-btn>
</template>
</q-tabs>
</div>
</q-header> </q-header>
</template> </template>
...@@ -190,61 +397,71 @@ export default { ...@@ -190,61 +397,71 @@ export default {
props: { props: {
baseData: { baseData: {
type: Object, type: Object,
default: {}, default: {}
}, },
title: { title: {
type: String, type: String,
default: "", default: ""
}, }
}, },
data() { data() {
return { return {
categoryList: [],
subTitle: "", subTitle: "",
LoginUser: {}, LoginUser: {},
navs: [], navs: [],
navsStyle: 1 navsStyle: 1,
areas: [],
selectedArea: []
}; };
}, },
watch: { watch: {
title: function (val, oldval) { title: function(val, oldval) {
this.subTitle = val; this.subTitle = val;
}, },
baseData: { baseData: {
handler(n, o) { handler(n, o) {
this.initNavs(); // this.initNavs();
this.initAreas();
}, },
deep: true, deep: true
}, }
}, },
meta() { meta() {
return { return {
title: title:
this.subTitle != "" this.subTitle != ""
? `${this.subTitle} - ${this.baseData.name}` ? `${this.subTitle} - ${this.baseData.name}`
: this.baseData.name, : this.baseData.name
}; };
}, },
mounted() { mounted() {
if (localStorage.b2bUser) { if (localStorage.b2bUser) {
this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser")); this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser"));
} }
this.initNavs(); // this.initAreas()
// this.initNavs();
this.getCategoryList();
}, },
methods: { methods: {
changeAreas(item) {
this.selectedArea = item.SubList;
this.selectedAreaId = item.Id;
},
initNavs() { initNavs() {
this.navs = []; this.navs = [];
if (this.baseData.nav.navs) { if (this.baseData.nav.navs) {
this.baseData.nav.navs.forEach((x) => { this.baseData.nav.navs.forEach(x => {
if (x.title.indexOf("^") != -1) { if (x.title.indexOf("^") != -1) {
console.log("in...."); console.log("in....");
let t = x.title.split("^"); let t = x.title.split("^");
let c = t[1].split(","); let c = t[1].split(",");
x.childs = []; x.childs = [];
c.forEach((y) => { c.forEach(y => {
let yt = y.split("&"); let yt = y.split("&");
x.childs.push({ x.childs.push({
title: yt[0], title: yt[0],
url: x.url + "&" + yt[1], url: x.url + "&" + yt[1]
}); });
}); });
x.title = t[0]; x.title = t[0];
...@@ -253,14 +470,61 @@ export default { ...@@ -253,14 +470,61 @@ export default {
}); });
} }
this.navsStyle = this.navs.findIndex((x) => x.childs) != -1 ? 2 : 1; this.navsStyle = this.navs.findIndex(x => x.childs) != -1 ? 2 : 1;
},
initAreas() {
this.areas = [];
let hotArr = this.getHotList(this.baseData.AreaList);
this.areas.push({
Name: "热门目的地",
SubList: hotArr
});
this.areas = this.areas.concat(this.baseData.AreaList);
console.log("this.hotArr", hotArr, this.baseData.AreaList, this.areas);
},
getHotList(arr) {
let hotArr = [];
arr.forEach(item => {
if (item.SubList && item.SubList.length) {
hotArr = hotArr.concat(this.getHotList(item.SubList));
} else {
if (item.IsHot === 1) {
hotArr.push(item);
}
}
});
return hotArr;
}, },
loginOut() { loginOut() {
localStorage.removeItem("b2bUser"); localStorage.removeItem("b2bUser");
this.LoginUser = {}; this.LoginUser = {};
this.CommonJump("/index", {}); this.CommonJump("/index", {});
}, },
}, getCategoryList() {
let locationName = this.GetDomain();
var msg = {
RB_Group_Id: this.RB_Group_Id,
B2BDomain: locationName
};
this.apipost(
"ws_post_GetHomeCategoryTreeList",
msg,
res => {
if (res.data.resultCode == 1) {
if (res.data.data) {
this.categoryList = res.data.data;
}
}
this.$nextTick(() => {
this.isPic =
document.URL.indexOf("localhost") != -1 ||
document.URL.indexOf("t.oytour.com") != -1;
});
},
err => {}
);
}
}
}; };
</script> </script>
...@@ -282,12 +546,12 @@ export default { ...@@ -282,12 +546,12 @@ export default {
height: 2px; height: 2px;
background: var(--q-color-primary); background: var(--q-color-primary);
} }
.nav-items:hover .secondMenu{ .nav-items:hover .secondMenu {
display: block; display: block;
} }
.secondMenu { .secondMenu {
display: none; display: none;
padding-top:5px; padding-top: 5px;
position: absolute; position: absolute;
top: 60px; top: 60px;
left: 0px; left: 0px;
......
<style>
.hor_BtmContent {
display: inline-block;
width: 100%;
background: #fff;
}
.hor_BtmContent .footer-top {
padding: 0 40px 18px;
background-color: #313131;
}
.hor_BtmContent .footer-link {
display: inline-block;
width: 100%;
height: 44px;
background-color: #292929;
text-align: left;
font-weight: 700;
}
.hor_BtmContent .hor_footuu li:first-child {
color: #fff;
margin-left: 24px;
}
.hor_BtmContent .hor_footuu {
margin: 0;
padding: 0;
}
.hor_BtmContent .hor_footuu li {
list-style-type: none;
display: inline-block;
margin-left: 30px;
font-size: 15px;
color: #76ccff;
line-height: 44px;
position: relative;
cursor: pointer;
}
.hor_BtmContent .hor_footuu li a {
color: #76ccff;
}
.hor_BtmContent .hor_BtmContent ul {
margin: 0;
padding: 0;
}
.hor_BtmContent .other_li:before {
position: absolute;
top: 10px;
left: -16px;
content: '';
width: 1px;
height: 25px;
background-color: rgba(58, 58, 58, .8);
}
.hor_BtmContent .foot_content {
display: flex;
justify-content: space-around;
width: 100%;
text-align: left;
}
.hor_BtmContent .footer-box {
width: 100%;
padding: 20px;
font-size: 14px;
text-align: left;
}
.hor_BtmContent .footer-box .footer_title1 {
font-size: 15px;
color: #fff;
margin-bottom: 15px;
font-weight: 400;
letter-spacing: 1px;
}
.hor_BtmContent .footer_table {
border-collapse: separate;
border-spacing: 0;
margin-bottom: 10px;
}
.hor_BtmContent .footer_table td {
color: #b1b1b1;
text-align: left;
vertical-align: middle;
font-size: 14px;
}
.hor_BtmContent .footer_tbtitle {
min-width: 100px;
color: #9bdaff !important;
}
.hor_BtmContent .footer-box>* {
display: block;
margin-bottom: 10px;
}
.hor_BtmContent .social-link a {
display: inline-block;
text-decoration: none;
width: 50px;
height: 50px;
border-radius: 50%;
color: #fff;
line-height: 55px;
text-align: center;
margin: 15px 0 0 20px;
-webkit-box-shadow: 0 3px 12px rgba(39, 39, 39, .95);
-moz-box-shadow: 0 3px 12px rgba(39, 39, 39, .95);
box-shadow: 0 3px 12px rgba(39, 39, 39, .95);
}
.hor_BtmContent .social-link a:first-child {
margin-left: 0;
}
.social-link a i {
font-size: 30px;
}
.hor_BtmContent .foot_line {
background-color: #1bb71f
}
.hor_BtmContent .foot_fb {
background-color: #334f8d;
}
.hor_BtmContent .foot_mail {
background-color: #00a6ff;
}
.hor_BtmContent .footer_logo_block {
display: block;
margin-top: 5px;
}
.hor_BtmContent .footer_fb_group {
display: block;
width: 300px;
height: 130px;
background-color: #2b2b2b;
}
.footer_fb_group a img {
height: 100%;
min-height: initial;
width: auto;
}
.hor_BtmContent .footer_qrcode a {
display: inline-block;
width: 100px;
height: 100px;
}
.hor_BtmContent .footer_qrcode a span {
color: #fff;
letter-spacing: 2px;
}
.hor_BtmContent .branch-company {
display: flex;
flex-wrap: wrap;
width: 100%;
margin-bottom: 20px;
background-color: #2d2d2d;
}
.hor_BtmContent .footer-bottom {
width: 100%;
padding: 30px;
text-align: center;
}
.hor_BtmContent .sponsor {
display: inline-block;
}
.hor_BtmContent .sponsor>a {
float: left;
width: 40px;
text-decoration: none;
margin-right: 10px;
}
.hor_BtmContent .sponsor>a img {
width: 100%;
}
.hor_BtmContent .copyright {
display: inline-block;
width: 100%;
font-size: 13px;
margin: 20px 0;
color: #757575;
}
.hor_BtmContent .branch-company .footer-box {
width: 33%;
}
.hor_BtmContent .footer-watermark {
position: fixed;
top: 110px;
z-index: 999;
width: auto;
}
.hor_BtmContent .footer_Left {
left: 10px;
}
.hor_BtmContent .footer_Right {
right: 10px;
}
.footer-watermark>div {
width: auto;
width: 140px;
height: 140px;
margin-bottom: 10px;
}
.footer-watermark>div img {
width: 100%;
height: 100%;
}
@media only screen and (max-width: 930px) {
.hor_BtmContent .footer-top {
padding: 0 15px;
}
.hor_BtmContent .footer-link {
height: auto;
}
.hor_BtmContent .hor_footuu li:first-child {
margin-left: 24px;
}
.hor_BtmContent .hor_footuu li {
font-size: 13px;
margin-left: 28px;
}
.hor_BtmContent .foot_content {
flex-wrap: wrap;
justify-content: flex-start;
}
.hor_BtmContent .footer-box {
width: 50% !important;
}
}
@media only screen and (max-width: 520px) {
.hor_BtmContent .footer-box {
width: 100% !important;
}
}
</style>
<template>
<div class="hor_BtmContent">
<template v-if="dataList&&dataList.Config">
<div class="footer-top">
<div class="footer-link">
<ul class="hor_footuu">
<li><a @click="CommonJump('/index',{})">{{dataList.Config.Name}}</a></li>
<li class="other_li" v-for="(item,index) in dataList.FooterList" :key="index">
<a @click="CommonJump(item.url,{})">{{item.title}}</a>
</li>
</ul>
</div>
<div class="foot_content">
<div class="footer-box">
<div class="footer_title1">聯絡資訊</div>
<table class="footer_table">
<tbody>
<tr>
<td class="footer_tbtitle">地址</td>
<td>
{{dataList.Config.Address}}
</td>
</tr>
<tr>
<td class="footer_tbtitle">電話</td>
<td>{{dataList.Config.Tel}}</td>
</tr>
<tr>
<td class="footer_tbtitle">傳真</td>
<td>{{dataList.Config.Fax}}</td>
</tr>
<tr>
<td class="footer_tbtitle">服務時間</td>
<td>{{dataList.Config.ServiceTime}}</td>
</tr>
</tbody>
</table>
<div class="social-link">
<a class="foot_line" @click="OpenNewUrl(dataList.Config.LineUrl)">
<i class="iconfont iconline"></i>
</a>
<a class="foot_fb" @click="OpenNewUrl(dataList.Config.FaceBookUrl)">
<i class="iconfont iconzan" style="position:relative;top:-2px;"></i>
</a>
<a class="foot_mail" @click="OpenNewUrl(dataList.Config.ServiceMail)">
<i class="iconfont iconemail"></i>
</a>
</div>
</div>
<div class="footer-box">
<div class="footer_title1">公司資訊</div>
<table class="footer_table">
<tbody>
<tr>
<td class="footer_tbtitle">{{dataList.Config.TypeStr}}</td>
<td>{{dataList.Config.JiaoGuanCode}}</td>
</tr>
<tr>
<td class="footer_tbtitle">品保協會會員</td>
<td>{{dataList.Config.PingBaoCode}}</td>
</tr>
<tr>
<td class="footer_tbtitle">統一編號</td>
<td>{{dataList.Config.UnifyCode}}</td>
</tr>
<tr>
<td class="footer_tbtitle">代表人</td>
<td>{{dataList.Config.Behalf}}</td>
</tr>
</tbody>
</table>
</div>
<div class="footer-box">
<div class="footer_logo_block">
<img style="width:120px;height:auto;" :src="dataList.Config.WhiteLogo" />
</div>
<div class="footer_fb_group">
<a :href="dataList.Config.FaceBookUrl">
<div class="fb-page" :data-href="dataList.Config.FaceBookUrl" data-tabs="timeline" data-width="340"
data-height="130" data-small-header="false" data-adapt-container-width="false" data-hide-cover="false"
data-show-facepile="false">
<blockquote :cite="dataList.Config.FaceBookUrl" class="fb-xfbml-parse-ignore"><a
:href="dataList.Config.FaceBookUrl">{{dataList.Config.Name}}</a></blockquote>
</div>
</a>
</div>
</div>
</div>
<div class="branch-company">
<div class="footer-box">
<template v-if="dataList.BranchList&&dataList.BranchList.length>0">
<div class="footer_title1">{{dataList.BranchList[0].Name}}</div>
<table class="footer_table">
<tbody>
<tr>
<td class="footer_tbtitle">地址</td>
<td>{{dataList.BranchList[0].Address}}</td>
</tr>
<tr>
<td class="footer_tbtitle">電話</td>
<td>{{dataList.BranchList[0].Tel}}</td>
</tr>
<tr>
<td class="footer_tbtitle">傳真</td>
<td>{{dataList.BranchList[0].Fax}}</td>
</tr>
</tbody>
</table>
</template>
</div>
</div>
</div>
<div class="footer-bottom">
<div class="sponsor">
<a @click="OpenNewUrl(item.url)" target="_blank" v-for="(item,index) in dataList.BottomList" :key="index">
<img :src="item.icon" />
</a>
</div>
<div class="copyright">
© {{year}} {{dataList.Config.Name}}. All rights reserved.
</div>
</div>
<div class="footer-watermark footer_Left">
<template v-if="dataList&&dataList.AdLeftList">
<div v-for="(item,index) in getAdLeftList" :key="index">
<a @click="OpenNewUrl(item.AdLink)">
<img style="width:100%" :src="item.AdImg" />
</a>
</div>
</template>
</div>
<div class="footer-watermark footer_Right">
<template v-if="dataList&&dataList.AdRightList">
<div v-for="(item,index) in getAdRightList" :key="index">
<a @click="OpenNewUrl(item.AdLink)">
<img style="width:100%" :src="item.AdImg" />
</a>
</div>
</template>
</div>
</template>
</div>
</template>
<script>
export default {
props: ["dataList"],
data() {
return {
year: ''
};
},
created() {},
mounted() {
//获取当前年
var myDate = new Date();
this.year = myDate.getFullYear();
},
computed: {
getAdLeftList() {
var tempArray = [];
var showId = this.getShowId();
if (this.dataList && this.dataList.AdLeftList) {
this.dataList.AdLeftList.forEach(item => {
if (item.ShowPage.indexOf(showId) > -1) {
tempArray.push(item);
}
});
}
return tempArray;
},
getAdRightList() {
var tempArray = [];
var showId = this.getShowId();
if (this.dataList && this.dataList.AdRightList) {
this.dataList.AdRightList.forEach(item => {
if (item.ShowPage.indexOf(showId) > -1) {
tempArray.push(item);
}
});
}
return tempArray;
}
},
methods: {
getShowId() {
let locationName = this.GetDomain();
var routeStr = this.$route.path.toLowerCase();
var showId = 0;
switch (routeStr) {
case "/index":
showId = 1;
break;
case '/search':
showId = 2;
break;
case '/trip':
showId = 3;
break;
case '/self':
showId = 4;
break;
}
return showId;
}
},
};
</script>
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
.hor_BtmContent .footer-top { .hor_BtmContent .footer-top {
padding: 0 40px 18px; padding: 0 40px 18px;
background-color: #313131; background: #2B2B2B;
} }
.hor_BtmContent .footer-link { .hor_BtmContent .footer-link {
...@@ -61,16 +61,9 @@ ...@@ -61,16 +61,9 @@
.hor_BtmContent .foot_content { .hor_BtmContent .foot_content {
display: flex; display: flex;
justify-content: space-around; justify-content: space-between;
width: 100%; max-width: 1200px;
text-align: left; margin: 0 auto;
}
.hor_BtmContent .footer-box {
width: 100%;
padding: 20px;
font-size: 14px;
text-align: left;
} }
.hor_BtmContent .footer-box .footer_title1 { .hor_BtmContent .footer-box .footer_title1 {
...@@ -254,11 +247,6 @@ ...@@ -254,11 +247,6 @@
margin-left: 28px; margin-left: 28px;
} }
.hor_BtmContent .foot_content {
flex-wrap: wrap;
justify-content: flex-start;
}
.hor_BtmContent .footer-box { .hor_BtmContent .footer-box {
width: 50% !important; width: 50% !important;
} }
...@@ -270,79 +258,40 @@ ...@@ -270,79 +258,40 @@
} }
} }
</style>
<style scoped>
.logo {
width: 40px;
height: 34px;
margin: 10px 16px 6px 0;
}
.nav-title1 {
height: 12px;
font-size: 14px;
font-family: Microsoft JhengHei;
font-weight: bold;
color: #FFFFFF;
line-height: 26px;
padding: 60px 0 25px 0;
cursor: pointer;
}
.nav-title2 {
font-size: 12px;
font-family: Microsoft JhengHei;
font-weight: 400;
color: #7A7A7A;
line-height: 26px;
cursor: pointer;
}
.margin-x {
margin: 0 10px 0 10px;
}
</style> </style>
<template> <template>
<div class="hor_BtmContent"> <div class="hor_BtmContent">
<template v-if="dataList&&dataList.Config"> <template v-if="dataList&&dataList.Config">
<div class="footer-top"> <div class="footer-top">
<div class="footer-link">
<ul class="hor_footuu">
<li><a @click="CommonJump('/index',{})">{{dataList.Config.Name}}</a></li>
<li class="other_li" v-for="(item,index) in dataList.FooterList" :key="index">
<a @click="CommonJump(item.url,{})">{{item.title}}</a>
</li>
</ul>
</div>
<div class="foot_content"> <div class="foot_content">
<div class="footer-box">
<div class="footer_title1">聯絡資訊</div>
<table class="footer_table">
<tbody>
<tr>
<td class="footer_tbtitle">地址</td>
<td>
{{dataList.Config.Address}}
</td>
</tr>
<tr>
<td class="footer_tbtitle">電話</td>
<td>{{dataList.Config.Tel}}</td>
</tr>
<tr>
<td class="footer_tbtitle">傳真</td>
<td>{{dataList.Config.Fax}}</td>
</tr>
<tr>
<td class="footer_tbtitle">服務時間</td>
<td>{{dataList.Config.ServiceTime}}</td>
</tr>
</tbody>
</table>
<div class="social-link">
<a class="foot_line" @click="OpenNewUrl(dataList.Config.LineUrl)">
<i class="iconfont iconline"></i>
</a>
<a class="foot_fb" @click="OpenNewUrl(dataList.Config.FaceBookUrl)">
<i class="iconfont iconzan" style="position:relative;top:-2px;"></i>
</a>
<a class="foot_mail" @click="OpenNewUrl(dataList.Config.ServiceMail)">
<i class="iconfont iconemail"></i>
</a>
</div>
</div>
<div class="footer-box">
<div class="footer_title1">公司資訊</div>
<table class="footer_table">
<tbody>
<tr>
<td class="footer_tbtitle">{{dataList.Config.TypeStr}}</td>
<td>{{dataList.Config.JiaoGuanCode}}</td>
</tr>
<tr>
<td class="footer_tbtitle">品保協會會員</td>
<td>{{dataList.Config.PingBaoCode}}</td>
</tr>
<tr>
<td class="footer_tbtitle">統一編號</td>
<td>{{dataList.Config.UnifyCode}}</td>
</tr>
<tr>
<td class="footer_tbtitle">代表人</td>
<td>{{dataList.Config.Behalf}}</td>
</tr>
</tbody>
</table>
</div>
<div class="footer-box"> <div class="footer-box">
<div class="footer_logo_block"> <div class="footer_logo_block">
<img style="width:120px;height:auto;" :src="dataList.Config.WhiteLogo" /> <img style="width:120px;height:auto;" :src="dataList.Config.WhiteLogo" />
...@@ -358,28 +307,25 @@ ...@@ -358,28 +307,25 @@
</a> </a>
</div> </div>
</div> </div>
</div> <!-- 中间导航 -->
<div class="branch-company"> <div class="flex">
<div class="footer-box"> <div class="margin-x" v-for="item in dataList.FooterList" :key="item.Id">
<template v-if="dataList.BranchList&&dataList.BranchList.length>0"> <div class="nav-title1">{{item.NavTitle}}</div>
<div class="footer_title1">{{dataList.BranchList[0].Name}}</div> <div v-if="item.SubList">
<table class="footer_table"> <div class="nav-title2" v-for="item2 in item.SubList" :key="item2.Id" @click="navigateTo(item2)">{{item2.NavTitle}}</div>
<tbody> </div>
<tr> </div>
<td class="footer_tbtitle">地址</td> </div>
<td>{{dataList.BranchList[0].Address}}</td> <!-- 右侧导航 -->
</tr> <div class="flex">
<tr> <div class="margin-x" v-for="item in dataList.BottomList" :key="item.Id">
<td class="footer_tbtitle">電話</td> <div class="nav-title1">{{item.NavTitle}}</div>
<td>{{dataList.BranchList[0].Tel}}</td> <div v-if="item.SubList">
</tr> <div @click="navigateTo(item2)" v-for="item2 in item.SubList" :key="item2.Id">
<tr> <img class="logo" :src="item2.Icon">
<td class="footer_tbtitle">傳真</td> </div>
<td>{{dataList.BranchList[0].Fax}}</td> </div>
</tr> </div>
</tbody>
</table>
</template>
</div> </div>
</div> </div>
</div> </div>
...@@ -455,6 +401,13 @@ ...@@ -455,6 +401,13 @@
} }
}, },
methods: { methods: {
navigateTo(urlInfo) {
if(urlInfo.IsNewOpen === 1) {
window.open(urlInfo.NavUrl)
} else {
window.location.href = urlINfo.NavUrl
}
},
getShowId() { getShowId() {
let locationName = this.GetDomain(); let locationName = this.GetDomain();
var routeStr = this.$route.path.toLowerCase(); var routeStr = this.$route.path.toLowerCase();
......
<style scoped>
.fill {
background-image: url('../../assets/subscriber-bg.png');
height: 301px;
}
.box {
max-width: 1200px;
margin: 0 auto;
}
.title {
font-size: 20px;
font-family: Microsoft JhengHei;
font-weight: bold;
color: #FFFFFF;
line-height: 26px;
text-align: center;
padding-top: 80px;
}
.desc {font-size: 12px;
font-family: Microsoft JhengHei;
font-weight: 400;
color: #FFFFFF;
margin: 10px 0 20px 0;
text-align: center;}
.email-box {
width: 630px;
height: 56px;
margin: 0 auto;
position: relative;
}
.input {
width: 630px;
height: 56px;
background-color: #fff;
border-radius: 28px;
}
.btn {
position: absolute;
right: 5px;
top: 5px;
width: 102px;
height: 46px;
background: #EE4454;
border-radius: 23px;
}
</style>>
<template>
<div class="fill">
<div class="box">
<div class="title">
輸入電子郵箱接收訂閱信息
</div>
<div class="desc">
最高可省60%,只有订阅用户才能享受到隐藏优惠,点击“订阅”,即表示你同意我们的《訂閱條款》
</div>
<div class="email-box">
<q-input class="input" rounded outlined placeholder="請輸入您在使用的電子郵件"></q-input><q-btn class="btn" label="提交"></q-btn>
</div>
</div>
</div>
</template>
<script>
export default {
// props: ["dataList"],
data() {
return {
year: ''
};
},
created() {},
mounted() {
//获取当前年
var myDate = new Date();
this.year = myDate.getFullYear();
},
methods: {
},
};
</script>
...@@ -166,19 +166,22 @@ ...@@ -166,19 +166,22 @@
> >
<div class="q-px-sm q-pt-sm" v-if="historys.length>0"> <div class="q-px-sm q-pt-sm" v-if="historys.length>0">
<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" /> <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" />
</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>
</q-btn> </q-btn>
</div> </div>
</div> </div>
<div class="text-weight-bold q-pa-sm">熱門目的地</div> <div class="text-weight-bold q-pa-sm">熱門目的地</div>
<q-separator /> <q-separator />
<div class="col full-width row"> <div>
<div :key="item" v-for="item in 12">熱門地址</div>
</div>
<!-- <div class="col full-width row">
<div style="width: 180px"> <div style="width: 180px">
<q-scroll-area <q-scroll-area
:thumb-style="thumbStyle" :thumb-style="thumbStyle"
...@@ -258,7 +261,7 @@ ...@@ -258,7 +261,7 @@
</template> </template>
</q-scroll-area> </q-scroll-area>
</div> </div>
</div> </div> -->
</div> </div>
</div> </div>
<div v-if="$q.screen.xs"> <div v-if="$q.screen.xs">
......
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
<i class="iconfont iconarrow-top"></i> <i class="iconfont iconarrow-top"></i>
</div> </div>
<q-footer elevated class="bg-grey-8 text-white" style="position: unset;"> <q-footer elevated class="bg-grey-8 text-white" style="position: unset;">
<subscriber></subscriber>
<horBtm :dataList="dataList"></horBtm> <horBtm :dataList="dataList"></horBtm>
</q-footer> </q-footer>
</q-layout> </q-layout>
...@@ -45,11 +46,13 @@ ...@@ -45,11 +46,13 @@
import horBigOne from "../components/navs/hor-big-one"; import horBigOne from "../components/navs/hor-big-one";
import horBigTwo from "../components/navs/hor-big-tow"; import horBigTwo from "../components/navs/hor-big-tow";
import horBtm from "../components/navs/hor-btm"; import horBtm from "../components/navs/hor-btm";
import subscriber from "../components/navs/subscriber";
export default { export default {
components: { components: {
horBigOne, horBigOne,
horBigTwo, horBigTwo,
horBtm horBtm,
subscriber
}, },
data() { data() {
return { return {
...@@ -176,6 +179,7 @@ ...@@ -176,6 +179,7 @@
this.baseinfo.nav.navs = this.dataList.HeaderList; this.baseinfo.nav.navs = this.dataList.HeaderList;
this.baseinfo.nav.bg = this.dataList this.baseinfo.nav.bg = this.dataList
.Config.BgColor; .Config.BgColor;
this.baseinfo.AreaList = this.dataList.AreaList
} }
} }
}, },
......
...@@ -1236,10 +1236,10 @@ ...@@ -1236,10 +1236,10 @@
babel-plugin-dynamic-import-node "^2.3.0" babel-plugin-dynamic-import-node "^2.3.0"
babel-plugin-module-resolver "^4.0.0" babel-plugin-module-resolver "^4.0.0"
"@quasar/extras@^1.15.10": "@quasar/extras@^1.0.0":
version "1.15.10" version "1.8.2"
resolved "https://registry.yarnpkg.com/@quasar/extras/-/extras-1.15.10.tgz#515298377249765f9ca0027f6843f6a8e61efcd8" resolved "https://registry.npmmirror.com/@quasar/extras/-/extras-1.8.2.tgz"
integrity sha512-6w8e+wPNfcWhzW43tlnJPHOrcNwAgaaNJ3zBz8k+BMqpenA3fHZhFhxCYEVRZVqPFE2IK/8nRiPBp4t9xlW5tA== integrity sha512-y3A4OO4DGDxuFyh/X4k5fS17TTxhpPauZv8Qr/0bso+RTk5f+3X4lLAcP7aaiqcBLOV8HsUKpGzNArMleClYgg==
"@quasar/fastclick@1.1.4": "@quasar/fastclick@1.1.4":
version "1.1.4" version "1.1.4"
...@@ -2114,11 +2114,6 @@ babel-plugin-transform-object-rest-spread@^6.26.0: ...@@ -2114,11 +2114,6 @@ babel-plugin-transform-object-rest-spread@^6.26.0:
babel-plugin-syntax-object-rest-spread "^6.8.0" babel-plugin-syntax-object-rest-spread "^6.8.0"
babel-runtime "^6.26.0" babel-runtime "^6.26.0"
babel-plugin-transform-remove-console@^6.9.4:
version "6.9.4"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-remove-console/-/babel-plugin-transform-remove-console-6.9.4.tgz#b980360c067384e24b357a588d807d3c83527780"
integrity sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg==
babel-runtime@^6.26.0: babel-runtime@^6.26.0:
version "6.26.0" version "6.26.0"
resolved "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz" resolved "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz"
...@@ -7627,10 +7622,10 @@ qs@~6.5.2: ...@@ -7627,10 +7622,10 @@ qs@~6.5.2:
resolved "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz" resolved "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz"
integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
quasar@^1.22.5: quasar@^1.0.0:
version "1.22.5" version "1.12.5"
resolved "https://registry.yarnpkg.com/quasar/-/quasar-1.22.5.tgz#7c33a02a5541b62b057f1d805b64cbcb59243152" resolved "https://registry.npmmirror.com/quasar/-/quasar-1.12.5.tgz"
integrity sha512-cb/Q1Nvx1Lo3i2Gq+7j6kN/DJzZrTPG6JJKus3WJ0YpqsiovoWchnbDrGkTyL8nCnj2Im4SAX50DF0Vbd6pK3w== integrity sha512-pZUE0v98Zo0n7jepF77GZq8wuM7AQlZhjhiofzAX7ROePxbAD/bdvfmm2KJhVqOKW0ipMAvmihB7rt5dm03lMA==
query-string@^4.1.0: query-string@^4.1.0:
version "4.3.4" version "4.3.4"
......
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