Commit 7d84f2fe authored by 黄奎's avatar 黄奎

11

parent bc963964
...@@ -20,12 +20,13 @@ Vue.prototype.$message = message ...@@ -20,12 +20,13 @@ Vue.prototype.$message = message
Vue.prototype.$product = product Vue.prototype.$product = product
//域名管理对象 //域名管理对象
Vue.prototype.domainManager = function () { Vue.prototype.domainManager = function () {
let domainUrl = "http://192.168.5.214"; let domainUrl = "http://192.168.5.46";
let domainNameUrl = this.GetDomain(); let domainNameUrl = this.GetDomain();
if (domainNameUrl.indexOf('oytour') !== -1) { if (domainNameUrl.indexOf('oytour') !== -1) {
domainUrl = "https://reborn.oytour.com"; domainUrl = "https://reborn.oytour.com";
} }
domainUrl = "https://reborn.oytour.com"; domainUrl = "https://reborn.oytour.com";
var obj = { var obj = {
//主地址 //主地址
DomainUrl: domainUrl, DomainUrl: domainUrl,
...@@ -224,6 +225,8 @@ Vue.prototype.CommonJump = function (path, obj, type = 'push') { ...@@ -224,6 +225,8 @@ Vue.prototype.CommonJump = function (path, obj, type = 'push') {
}); });
} }
} }
Vue.prototype.$user = user Vue.prototype.$user = user
Vue.prototype.createCalendar = function (dateStr) { Vue.prototype.createCalendar = function (dateStr) {
var days = []; var days = [];
......
...@@ -346,7 +346,7 @@ ...@@ -346,7 +346,7 @@
</q-menu> </q-menu>
</q-btn>--> </q-btn>-->
<q-btn flat dense class="social-btn"> <q-btn flat dense class="social-btn" v-if="yyzlImg&&yyzlImg!=''">
<img src="../../assets/img/wechat.png" class="btn-img" style="width:25px;height:25px;display: block;" /> <img src="../../assets/img/wechat.png" class="btn-img" style="width:25px;height:25px;display: block;" />
<div class="social-pop"> <div class="social-pop">
<div class="arrow"></div> <div class="arrow"></div>
...@@ -356,7 +356,7 @@ ...@@ -356,7 +356,7 @@
</div> </div>
</div> </div>
</q-btn> </q-btn>
<q-btn flat dense class="social-btn"> <q-btn flat dense class="social-btn" v-if="xhsImgList&&xhsImgList.length>0">
<img src="../../assets/img/xiaohongshu.png" class="btn-img" style="width:25px;height:25px;display: block;" /> <img src="../../assets/img/xiaohongshu.png" class="btn-img" style="width:25px;height:25px;display: block;" />
<div class="social-pop xhs-pop"> <div class="social-pop xhs-pop">
<div class="arrow"></div> <div class="arrow"></div>
...@@ -368,13 +368,22 @@ ...@@ -368,13 +368,22 @@
</div> </div>
</div> </div>
</q-btn> </q-btn>
<q-btn flat dense class="social-btn" v-if="wbImg&&wbImg!=''">
<img src="../../assets/img/weibo.png" class="btn-img" style="width:25px;height:25px;display: block;" />
<div class="social-pop">
<div class="arrow"></div>
<div class="social-qrcode">
<img :src="wbImg" />
<div class="social-tip">扫码关注微博</div>
</div>
</div>
</q-btn>
<q-btn v-if="LoginUser.id <= 0" label="注册" flat></q-btn> <q-btn v-if="LoginUser.id <= 0" label="注册" flat></q-btn>
<template v-if="LoginUser.token"> <template v-if="LoginUser.token">
<q-btn-dropdown style="color: #444; font-weight: bold" class="q-ml-lg" unelevated> <q-btn-dropdown style="color: #444; font-weight: bold" class="q-ml-lg" unelevated>
<template v-slot:label> <template v-slot:label>
<img class="avatar" v-if="LoginUser.photo" :src="LoginUser.photo" /> <img class="avatar" v-if="LoginUser.photo" :src="LoginUser.photo" />
<img class="avatar" v-else src="../../assets/img/avatar.png" /> <img class="avatar" v-else src="../../assets/img/avatar.png" />
<!-- <span>{{LoginUser.name || LoginUser.mailbox}}</span> --> <!-- <span>{{LoginUser.name || LoginUser.mailbox}}</span> -->
</template> </template>
<div class="row no-wrap"> <div class="row no-wrap">
...@@ -520,12 +529,9 @@ ...@@ -520,12 +529,9 @@
selectedAreaId: "", selectedAreaId: "",
isHome: false, isHome: false,
isSearch: true, isSearch: true,
yyzlImg: "https://imgfile.oytour.com/static/b2c/yyzl.jpg", yyzlImg: "", //印象之旅
xhsImgList: [ xhsImgList: [], //小红书
"https://imgfile.oytour.com/static/b2c/JPtravel.png", wbImg: "", //微博
"https://imgfile.oytour.com/static/b2c/RoyalHolidays1.png",
"https://imgfile.oytour.com/static/b2c/RoyalHolidays2.png",
]
}; };
}, },
watch: { watch: {
...@@ -562,6 +568,18 @@ ...@@ -562,6 +568,18 @@
if (localStorage.b2bUser) { if (localStorage.b2bUser) {
this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser")); this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser"));
} }
var baseInfo = JSON.parse(window.localStorage.getItem('baseifo'));
if (baseInfo && baseInfo.Config && baseInfo.Config.platObj) {
if (baseInfo.Config.platObj.yyzlImg) {
this.yyzlImg = baseInfo.Config.platObj.yyzlImg;
}
if (baseInfo.Config.platObj.xhsImgList && baseInfo.Config.platObj.xhsImgList.length > 0) {
this.xhsImgList = baseInfo.Config.platObj.xhsImgList;
}
if (baseInfo.Config.platObj.wbImg) {
this.wbImg = baseInfo.Config.platObj.wbImg;
}
}
var newStartDate = new Date(); var newStartDate = new Date();
var newStartDateStr = this.formatDate( var newStartDateStr = this.formatDate(
newStartDate.getFullYear(), newStartDate.getFullYear(),
......
<style lang="scss" scoped> <style lang="scss" scoped>
.newHor_BtmContent { .newHor_BtmContent {
width: 100%; width: 100%;
background: $primary; background: $primary;
padding-top: 60px; padding-top: 60px;
} }
.newLogoText span:last-child{
.newLogoText span:last-child {
font-size: 1.1rem; font-size: 1.1rem;
top: -4px; top: -4px;
} }
.tracking-0{
.tracking-0 {
transition: all .3s; transition: all .3s;
} }
.tracking-0:hover{
.tracking-0:hover {
/* opacity: .5; */ /* opacity: .5; */
} }
.tracking-1{
.tracking-1 {
color: #fff; color: #fff;
} }
.tracking-1 a{
.tracking-1 a {
color: inherit; color: inherit;
cursor: pointer; cursor: pointer;
display: inline-block; display: inline-block;
text-decoration: none; text-decoration: none;
transition: opacity .3s; transition: opacity .3s;
} }
.tracking-1 a:hover{
.tracking-1 a:hover {
/* opacity: .5; */ /* opacity: .5; */
} }
.tracking-1 span::after {
.tracking-1 span::after {
content: ""; content: "";
display: block; display: block;
height: 1px; height: 1px;
...@@ -37,11 +44,14 @@ ...@@ -37,11 +44,14 @@
transform: rotate(-50deg) translateY(-50%); transform: rotate(-50deg) translateY(-50%);
background-color: #fff; background-color: #fff;
width: 6px; width: 6px;
} }
.l-footer--list a,.newHorw a{
.l-footer--list a,
.newHorw a {
text-decoration: none; text-decoration: none;
} }
.l-footer--list li::after{
.l-footer--list li::after {
background: linear-gradient(to bottom, $primary, #fff, $primary); background: linear-gradient(to bottom, $primary, #fff, $primary);
content: ""; content: "";
height: 100%; height: 100%;
...@@ -49,36 +59,45 @@ ...@@ -49,36 +59,45 @@
right: 0; right: 0;
top: 0; top: 0;
width: 1px; width: 1px;
} }
.l-footer--list li a p:first-child{
.l-footer--list li a p:first-child {
font-size: 1rem; font-size: 1rem;
transition: all .3s; transition: all .3s;
} }
.l-footer--list li a:hover p:first-child{
.l-footer--list li a:hover p:first-child {
opacity: .5; opacity: .5;
} }
.l-footer--list li{
.l-footer--list li {
padding: 0 20px; padding: 0 20px;
} }
.l-footer--list li:last-child::after{
.l-footer--list li:last-child::after {
width: 0; width: 0;
} }
.newHorText{
.newHorText {
padding: 60px 0; padding: 60px 0;
} }
.newHorText a{
.newHorText a {
text-decoration: none; text-decoration: none;
color: #fff; color: #fff;
position: relative; position: relative;
padding: 0 20px; padding: 0 20px;
} }
.newHorText a span{
.newHorText a span {
transition: all .3s; transition: all .3s;
} }
.newHorText a:hover span{
.newHorText a:hover span {
opacity: .5; opacity: .5;
} }
.newHorText a::after{
.newHorText a::after {
content: ""; content: "";
display: block; display: block;
height: 1px; height: 1px;
...@@ -88,21 +107,27 @@ ...@@ -88,21 +107,27 @@
transform: rotate(-50deg) translateY(-50%); transform: rotate(-50deg) translateY(-50%);
background-color: #fff; background-color: #fff;
width: 6px; width: 6px;
} }
.newHorText a:last-child::after{
.newHorText a:last-child::after {
width: 0; width: 0;
} }
.newHorw{
.newHorw {
opacity: .5; opacity: .5;
padding: 12px 0; padding: 12px 0;
} }
.newHorw,.newHorw a{
.newHorw,
.newHorw a {
color: #fff; color: #fff;
} }
.newHor-right span{
.newHor-right span {
position: relative; position: relative;
} }
.newHor-right span::after{
.newHor-right span::after {
content: ""; content: "";
display: block; display: block;
height: 1px; height: 1px;
...@@ -112,17 +137,81 @@ ...@@ -112,17 +137,81 @@
transform: rotate(-50deg) translateY(-50%); transform: rotate(-50deg) translateY(-50%);
background: #fff; background: #fff;
width: 6px; width: 6px;
} }
</style> </style>
<style scoped> <style scoped>
@import url("../../assets/css/home.css"); @import url("../../assets/css/home.css");
@import url("../../assets/css/app.css"); @import url("../../assets/css/app.css");
</style>
<style scoped>
/* ===== 平台整体(三列) ===== */
.platImg {
display: flex;
gap: 40px;
/* 三列之间的间距 */
align-items: flex-start;
justify-content: flex-start;
margin-top: 16px;
}
/* ===== 单列 ===== */
.plat-col {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
min-width: 120px;
/* 保证三列对齐 */
}
/* 平台标题 */
.plat-title {
font-size: 13px;
color: rgba(255, 255, 255, .8);
line-height: 1;
white-space: nowrap;
}
/* 二维码区域 */
.plat-qrs {
display: flex;
gap: 10px;
flex-wrap: wrap;
/* 小红书多张自动换行 */
justify-content: center;
}
/* 二维码 */
.plat-qrs img {
width: 80px;
height: 80px;
object-fit: cover;
border-radius: 6px;
background: #fff;
box-shadow: 0 4px 10px rgba(0, 0, 0, .12);
}
/* 手机端 */
@media (max-width: 768px) {
.platImg {
justify-content: center;
gap: 24px;
}
.plat-qrs img {
width: 60px;
height: 60px;
}
}
</style> </style>
<template> <template>
<div class="relative newHor_BtmContent" v-if="dataList&&dataList.Config"> <div class="relative newHor_BtmContent" v-if="dataList&&dataList.Config">
<div class="homeContainer"> <div class="homeContainer">
<div v-if="dataList.Config.FootLogo2" class="row justify-center" style="margin-bottom: 30px;"> <div v-if="dataList.Config.FootLogo2" class="row justify-center" style="margin-bottom: 30px;">
<q-img :src="dataList.Config.FootLogo2" style="width:40px;height:auto;"/> <q-img :src="dataList.Config.FootLogo2" style="width:40px;height:auto;" />
</div> </div>
<div class="row justify-between items-end"> <div class="row justify-between items-end">
...@@ -146,8 +235,7 @@ ...@@ -146,8 +235,7 @@
<div :class="[!$q.platform.is.desktop?'hidden':'']"> <div :class="[!$q.platform.is.desktop?'hidden':'']">
<ul class="l-footer--list row"> <ul class="l-footer--list row">
<li class="l-footer--list__item relative cursor-pointer" v-for="(item,index) in plugData.MenuList"> <li class="l-footer--list__item relative cursor-pointer" v-for="(item,index) in plugData.MenuList">
<a @click="OpenNewUrl(item.LinkUrl)" <a @click="OpenNewUrl(item.LinkUrl)" class="flex justify-center group">
class="flex justify-center group">
<p class="font-serif writing-modes-vertical leading-28 tracking-5 text-white <p class="font-serif writing-modes-vertical leading-28 tracking-5 text-white
transition-base pointer-events-none">{{item.MenuName}}</p> transition-base pointer-events-none">{{item.MenuName}}</p>
<p class="font-serifEn writing-modes-vertical text-s <p class="font-serifEn writing-modes-vertical text-s
...@@ -156,7 +244,6 @@ ...@@ -156,7 +244,6 @@
</li> </li>
</ul> </ul>
</div> </div>
<div :class="[$q.platform.is.desktop?'':'q-pt-lg']"> <div :class="[$q.platform.is.desktop?'':'q-pt-lg']">
<ul class="text-xs font-light newHor-right"> <ul class="text-xs font-light newHor-right">
<!-- <li class="flex -mx-4 my-2 tracking-1 sm:justify-end"> <!-- <li class="flex -mx-4 my-2 tracking-1 sm:justify-end">
...@@ -197,18 +284,37 @@ ...@@ -197,18 +284,37 @@
</li> </li>
</ul> </ul>
</div> </div>
<div class="platImg">
<!-- 公众号 -->
<div class="plat-col" v-if="yyzlImg&&yyzlImg!=''">
<div class="plat-title">公众号</div>
<div class="plat-qrs">
<img :src="yyzlImg" />
</div> </div>
</div>
<div class="row newHorText justify-center" <!-- 小红书 -->
:class="[$q.platform.is.desktop?'':'hidden']"> <div class="plat-col" v-if="xhsImgList&&xhsImgList.length>0">
<a @click="OpenNewUrl(item.LinkUrl)" v-for="(item,index) in plugData.BottomList" <div class="plat-title">小红书</div>
target="_self" class="text-xs font-serif icon-slash icon-slash-white transition-base cursor-pointer"> <div class="plat-qrs">
<img v-for="(item, index) in xhsImgList" :key="index" :src="item" />
</div>
</div>
<!-- 微博 -->
<div class="plat-col" v-if="wbImg&&wbImg!=''">
<div class="plat-title">微博</div>
<div class="plat-qrs">
<img :src="wbImg" />
</div>
</div>
</div>
</div>
<div class="row newHorText justify-center" :class="[$q.platform.is.desktop?'':'hidden']">
<a @click="OpenNewUrl(item.LinkUrl)" v-for="(item,index) in plugData.BottomList" target="_self"
class="text-xs font-serif icon-slash icon-slash-white transition-base cursor-pointer">
<span>{{item.LinkTitle}}</span> <span>{{item.LinkTitle}}</span>
</a> </a>
</div> </div>
</div> </div>
<div class="container newHorw"> <div class="container newHorw">
<div class="flex items-center justify-center font-light text-xs"> <div class="flex items-center justify-center font-light text-xs">
<div class="hidden icon-slash icon-slash-white"> <div class="hidden icon-slash icon-slash-white">
...@@ -216,7 +322,8 @@ ...@@ -216,7 +322,8 @@
</div> </div>
<div :class="[$q.platform.is.desktop?'text-center':'text-left q-px-md']"> <div :class="[$q.platform.is.desktop?'text-center':'text-left q-px-md']">
<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank" <a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank"
style="text-decoration: none;">蜀ICP备13000760号 ©</a> 2010-{{year}} {{ dataList.Config.Name }}. All Rights Reserved. 旅行社业务经营许可证 {{ dataList.Config.UnifyCode }} style="text-decoration: none;">蜀ICP备13000760号 ©</a> 2010-{{year}} {{ dataList.Config.Name }}. All Rights
Reserved. 旅行社业务经营许可证 {{ dataList.Config.UnifyCode }}
</div> </div>
</div> </div>
</div> </div>
...@@ -231,7 +338,10 @@ ...@@ -231,7 +338,10 @@
year: '', year: '',
windowWidth: window.innerWidth, windowWidth: window.innerWidth,
HomeData: [], HomeData: [],
plugData: {} plugData: {},
yyzlImg: "", //印象之旅
xhsImgList: [], //小红书
wbImg: "", //微博
}; };
}, },
destroyed() { destroyed() {
...@@ -245,8 +355,23 @@ ...@@ -245,8 +355,23 @@
var myDate = new Date(); var myDate = new Date();
this.year = myDate.getFullYear(); this.year = myDate.getFullYear();
var jObj = JSON.parse(window.localStorage.getItem('HomeData')); var jObj = JSON.parse(window.localStorage.getItem('HomeData'));
this.HomeData = jObj.filter(x=>{ return x.Id == 'index_nav' }) this.HomeData = jObj.filter(x => {
if(this.HomeData.length>0) this.plugData = this.HomeData[0].plugData return x.Id == 'index_nav'
})
if (this.HomeData.length > 0) this.plugData = this.HomeData[0].plugData
var baseInfo = JSON.parse(window.localStorage.getItem('baseifo'));
if (baseInfo && baseInfo.Config && baseInfo.Config.platObj) {
if (baseInfo.Config.platObj.yyzlImg) {
this.yyzlImg = baseInfo.Config.platObj.yyzlImg;
}
if (baseInfo.Config.platObj.xhsImgList && baseInfo.Config.platObj.xhsImgList.length > 0) {
this.xhsImgList = baseInfo.Config.platObj.xhsImgList;
}
if (baseInfo.Config.platObj.wbImg) {
this.wbImg = baseInfo.Config.platObj.wbImg;
}
}
}, },
computed: { computed: {
handleResize() { handleResize() {
...@@ -279,7 +404,7 @@ ...@@ -279,7 +404,7 @@
}, },
methods: { methods: {
navigateTo(urlInfo) { navigateTo(urlInfo) {
if(urlInfo.IsNewOpen === 1) { if (urlInfo.IsNewOpen === 1) {
window.open(urlInfo.NavUrl) window.open(urlInfo.NavUrl)
} else { } else {
window.location.href = urlINfo.NavUrl window.location.href = urlINfo.NavUrl
......
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