Commit 54333f83 authored by 沈良进's avatar 沈良进

底部,顶部导航优化

parent af342763
......@@ -47,7 +47,8 @@
}
.city-box {
padding: 14px 18px;
width: 641px;background: #F5F5F5;
width: 641px;
background: #f5f5f5;
}
.city {
width: 129px;
......@@ -59,23 +60,23 @@
}
.city2 {
width: 76px;
height: 32px;
background: #DBDBDB;
border-radius: 8px;
font-weight: bold;
line-height: 32px;
overflow: hidden;
padding: 0 8px;
margin-right: 20px;
height: 32px;
background: #dbdbdb;
border-radius: 8px;
font-weight: bold;
line-height: 32px;
overflow: hidden;
padding: 0 8px;
margin-right: 20px;
cursor: pointer;
}
.city3 {
height: 32px;
line-height: 32px;
height: 32px;
line-height: 32px;
/* display: inline-block; */
margin: 0 20px 4px 0;
cursor: pointer;
font-weight: bold;
font-weight: bold;
}
.city:hover {
background-color: #eeeeee;
......@@ -99,7 +100,7 @@ font-weight: bold;
.city-name {
text-align: center;
height: 22px;
background: rgba(0,0,0,0.2);
background: rgba(0, 0, 0, 0.2);
color: #fff;
padding: 0 5px;
border-radius: 10px;
......@@ -108,7 +109,7 @@ font-weight: bold;
margin: 0 10px 0 44px;
}
.all-type {
margin-left: 10px;
margin-left: 10px;
}
.all-menu {
width: 660px;
......@@ -125,38 +126,38 @@ margin-left: 10px;
font-size: 16px;
}
.category-l2 {
height: 34px;
border-radius: 8px;
line-height: 34px;
padding:0 8px;
cursor: pointer;
font-size:14px;
font-weight: 400;
height: 34px;
border-radius: 8px;
line-height: 34px;
padding: 0 8px;
cursor: pointer;
font-size: 14px;
font-weight: 400;
}
.category-l2:hover {
background-color: #eee;
}
.category-l2-select {
background: #EE4454;
color: #fff;
background: #ee4454;
color: #fff;
}
.category-l3 {
padding: 8px;
font-size: 12px;
font-weight: 400;
color: #A0A0A0;
border-radius: 8px;
cursor: pointer;
font-size: 12px;
font-weight: 400;
color: #a0a0a0;
border-radius: 8px;
cursor: pointer;
}
.category-l3:hover {
background-color: #eee;
}
.category-l3-select {
color: #EE4454;
color: #ee4454;
}
.category-box {
width: 140px;
padding:10px;
padding: 10px;
font-weight: bold;
}
.category-btn {
......@@ -170,7 +171,7 @@ color: #EE4454;
class="bg-white"
height-hint="108"
to="/index"
style="border-bottom:1px solid #eee;"
style="border-bottom: 1px solid #eee"
>
<q-toolbar
style="height: 50px; max-width: 1200px; margin: 0 auto"
......@@ -188,73 +189,8 @@ color: #EE4454;
class="q-mr-lg q-ml-sm"
@click="CommonJump('/index', {})"
/>
<!-- <q-tabs
align="center"
style="margin: 0 auto"
shrink
v-if="!$q.screen.xs && navsStyle == 1"
>
<template v-for="(x, i) in navs">
<q-btn
:key="i"
stretch
flat
:label="x.title"
type="a"
:href="x.url"
target="_blank"
:no-wrap="true"
size="16px"
:content-style="{ hover: '#ff0000' }"
/>
</template>
</q-tabs>
<div
class="col row justify-center full-height"
v-if="!$q.screen.xs && navsStyle == 2"
>
<div
class="full-height text-middle q-px-lg cursor-pointer nav-items"
v-for="(x, i) in navs"
:key="i"
>
<a :href="x.url" style="color: inherit;text-decoration: none;">{{ x.title }}</a>
<div class="secondMenu bg-tansparent">
<div class="bg-white rounded-borders q-pa-sm light-shadow " style="min-width:200px;">
<q-list dense>
<q-item clickable v-ripple v-for="(y,yi) in x.childs" :key="yi" class="text-middle rounded-borders text-dark text-no-wrap">
<a :href="y.url" style="color:inherit; text-decoration: none;">{{ y.title }}</a>
</q-item>
</q-list>
</div>
</div>
</div>
</div>
<q-btn
flat
dense
round
icon="menu"
aria-label="Menu"
v-if="$q.screen.xs"
style="margin-left: auto"
>
<q-menu>
<q-tabs align="left" vertical shrink>
<template v-for="(x, i) in baseData.nav.navs">
<q-btn
style="display: block"
:key="i"
stretch
flat
:label="x.title"
@click="OpenNewUrl(x.url)"
/>
</template>
</q-tabs>
</q-menu>
</q-btn>-->
<div>
<!-- pc -->
<div v-if="$q.platform.is.desktop">
<q-btn label="繁體中文" flat>
<q-menu>
<q-list>
......@@ -273,7 +209,11 @@ color: #EE4454;
unelevated
>
<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" />
<!-- <span>{{LoginUser.name || LoginUser.mailbox}}</span> -->
</template>
......@@ -340,15 +280,36 @@ color: #EE4454;
/>
</template>
</div>
<!-- 移动端 -->
<div v-else>
<img
class="avatar"
@click="avatarClick"
src="../../assets/img/avatar.png"
/>
</div>
</q-toolbar>
<q-separator color="grey-2" v-if="isHome"/>
<q-separator color="grey-2" v-if="isHome" />
<div class="header-box flex q-py-sm" v-if="isHome">
<q-tabs align="center" shrink>
<q-btn flat class="address-btn" @mouseenter="mouseenterAddress" @mouseleave="mouseeleaveAddress">
<q-btn
flat
class="address-btn"
@mouseenter="mouseenterAddress"
@mouseleave="mouseeleaveAddress"
>
<span slot="default" class="flex item-center">
<i class="iconfont icondingweixiao q-icon notranslate" style="font-size: 14px; margin-right: 8px"></i>選擇目的地
<i
class="iconfont icondingweixiao q-icon notranslate"
style="font-size: 14px; margin-right: 8px"
></i
>選擇目的地
</span>
<q-menu ref="address" @mouseenter="addressMenuEnter" class="light-shadow">
<q-menu
ref="address"
@mouseenter="addressMenuEnter"
class="light-shadow"
>
<div class="address-box flex">
<div class="menu-box">
<div
......@@ -356,11 +317,11 @@ color: #EE4454;
:key="item.Id"
class="menu-item"
@click="changeAreas(item)"
:class="{'select': selectedAreaId === item.Id}"
:class="{ select: selectedAreaId === item.Id }"
>
<div v-if="!item.tag" class="hot">{{item.Name}}</div>
<div v-if="!item.tag" class="hot">{{ item.Name }}</div>
<div v-else>
<div class="menu-title">{{item.Name}}</div>
<div class="menu-title">{{ item.Name }}</div>
<div class="menu-tag-box">
<span>加德滿都</span>
<span>加德滿都</span>
......@@ -371,77 +332,164 @@ color: #EE4454;
<!-- 热门城市 -->
<div class="col bg-grey-2">
<div v-if="!selectedAreaId" class="row q-pr-md">
<div @click="handleSelectArea(item)" v-for="item in selectedArea" class="q-mt-md q-ml-md" :key="item.Id" style="width:130px;height:70px;">
<q-img :src="item.ImageList[0]" spinner-color="grey-2" class="rounded-borders full-width full-height">
<div class="full-width full-height row items-center justify-center" style="background:none;">
<div style="background:rgba(0,0,0,.2);text-shadow: 2px 2px 5px rgb(0 0 0 / 50%);" class="rounded-borders q-px-md q-py-xs text-white cursor-pointer">{{item.Name}}</div>
<div
@click="handleSelectArea(item)"
v-for="item in selectedArea"
class="q-mt-md q-ml-md"
:key="item.Id"
style="width: 130px; height: 70px"
>
<q-img
:src="item.ImageList[0]"
spinner-color="grey-2"
class="rounded-borders full-width full-height"
>
<div
class="full-width full-height row items-center justify-center"
style="background: none"
>
<div
style="
background: rgba(0, 0, 0, 0.2);
text-shadow: 2px 2px 5px rgb(0 0 0 / 50%);
"
class="rounded-borders q-px-md q-py-xs text-white cursor-pointer"
>
{{ item.Name }}
</div>
</div>
</q-img>
</div>
</div>
<div v-else class="city-box">
<div class="row" v-for="item in selectedArea" :key="item.Id">
<div style="width:138px;">
<div @click="handleSelectArea(item)" class="q-py-xs q-px-md bg-grey-4 cursor-pointer text-black text-subtitle2 inline-block rounded-borders text-weight-bolder" >
{{item.Name}}
<div style="width: 138px">
<div
@click="handleSelectArea(item)"
class="q-py-xs q-px-md bg-grey-4 cursor-pointer text-black text-subtitle2 inline-block rounded-borders text-weight-bolder"
>
{{ item.Name }}
</div>
</div>
<div class="col q-mt-sm">
<div class="row q-col-gutter-lg">
<div @click="handleSelectArea(item2)" class="text-subtitle2 text-grey-9 cursor-pointer" v-for="item2 in item.SubList" :key="item2.Id">{{item2.Name}}</div>
<div
@click="handleSelectArea(item2)"
class="text-subtitle2 text-grey-9 cursor-pointer"
v-for="item2 in item.SubList"
:key="item2.Id"
>
{{ item2.Name }}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</q-menu>
</q-btn>
<q-separator style="height: 16px;margin: auto 0" vertical/>
<q-btn class="all-type category-btn" flat label="全部分類" @mouseenter="typeHoverAll(true)" @mouseleave="typeHoverAll(false)">
<q-menu ref="menu0" @mouseenter="menuFocusAll = 2" @mouseleave="menuLeaveAll">
<q-separator style="height: 16px; margin: auto 0" vertical />
<q-btn
class="all-type category-btn"
flat
label="全部分類"
@mouseenter="typeHoverAll(true)"
@mouseleave="typeHoverAll(false)"
>
<q-menu
ref="menu0"
@mouseenter="menuFocusAll = 2"
@mouseleave="menuLeaveAll"
>
<div class="all-menu">
<div class="flex">
<div class="category-item font-16" :key="i" v-for="(x, i) in dataList.CategoryList">{{x.CategoryName}}</div>
<div
class="category-item font-16"
:key="i"
v-for="(x, i) in dataList.CategoryList"
>
{{ x.CategoryName }}
</div>
</div>
<q-separator />
<div class="flex">
<div class="category-item" :key="i" v-for="(x, i) in dataList.CategoryList">
<div :key="item.Id" v-for="item in x.SubList">
<div @click="handleCategoryChage(item)" class="category-l2" :class="{'category-l2-select': selectCategory === item.Id}">{{item.CategoryName}}</div>
<div
class="category-item"
:key="i"
v-for="(x, i) in dataList.CategoryList"
>
<div :key="item.Id" v-for="item in x.SubList">
<div
@click="handleCategoryChage(item)"
class="category-l2"
:class="{
'category-l2-select': selectCategory === item.Id,
}"
>
{{ item.CategoryName }}
</div>
<div v-if="item.SubList.length">
<div @click="handleCategoryChage(item2)"
<div
@click="handleCategoryChage(item2)"
class="category-l3"
:class="{'category-l3-select': selectCategory === item2.Id}"
:class="{
'category-l3-select': selectCategory === item2.Id,
}"
:key="item2.Id"
v-for="item2 in item.SubList"
v-for="item2 in item.SubList"
>
<div>{{item2.CategoryName}}</div>
<div>{{ item2.CategoryName }}</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div></div>
</q-menu>
</q-btn>
<template v-for="(x, i) in dataList.CategoryList">
<q-btn class="category-btn" :key="i" :label="x.CategoryName" flat :content-style="{ hover: '#ff0000' }" @mouseenter="typeHover(i,true)" @mouseleave="typeHover(i,false)">
<q-menu ref="menu" :key="i" @mouseenter="menuFocus = 2" @mouseleave="menuLeave(i)">
<template v-for="(x, i) in dataList.CategoryList">
<q-btn
class="category-btn"
:key="i"
:label="x.CategoryName"
flat
:content-style="{ hover: '#ff0000' }"
@mouseenter="typeHover(i, true)"
@mouseleave="typeHover(i, false)"
>
<q-menu
ref="menu"
:key="i"
@mouseenter="menuFocus = 2"
@mouseleave="menuLeave(i)"
>
<div class="category-box">
<div :key="item.Id" v-for="item in x.SubList">
<div @click="handleCategoryChage(item)" class="category-l2" :class="{'category-l2-select': selectCategory === item.Id}">{{item.CategoryName}}</div>
<div :key="item.Id" v-for="item in x.SubList">
<div
@click="handleCategoryChage(item)"
class="category-l2"
:class="{
'category-l2-select': selectCategory === item.Id,
}"
>
{{ item.CategoryName }}
</div>
<div v-if="item.SubList.length">
<div @click="handleCategoryChage(item2)"
<div
@click="handleCategoryChage(item2)"
class="category-l3"
:class="{'category-l3-select': selectCategory === item2.Id}"
:class="{
'category-l3-select': selectCategory === item2.Id,
}"
:key="item2.Id"
v-for="item2 in item.SubList"
v-for="item2 in item.SubList"
>
<div>{{item2.CategoryName}}</div>
<div>{{ item2.CategoryName }}</div>
</div>
</div>
</div>
</div>
</div></div>
</q-menu>
</q-btn>
</template>
......@@ -455,16 +503,16 @@ export default {
props: {
baseData: {
type: Object,
default: {}
default: {},
},
dataList: {
type: Object,
default: {}
default: {},
},
title: {
type: String,
default: ""
}
default: "",
},
},
data() {
return {
......@@ -480,12 +528,12 @@ export default {
navsStyle: 1,
areas: [],
selectedArea: [],
selectedAreaId: '',
isHome:false
selectedAreaId: "",
isHome: false,
};
},
watch: {
title: function(val, oldval) {
title: function (val, oldval) {
this.subTitle = val;
},
baseData: {
......@@ -493,27 +541,32 @@ export default {
// this.initNavs();
this.initAreas();
},
deep: true
deep: true,
},
$route: {
handler: function(val, oldVal){
this.isHome = val.path==='/' || val.path==='/index'
handler: function (val, oldVal) {
this.isHome = val.path === "/" || val.path === "/index";
},
// 深度观察监听
deep: true
}
deep: true,
},
},
meta() {
return {
title:
this.subTitle != ""
? `${this.subTitle} - ${this.baseData.name}`
: this.baseData.name
: this.baseData.name,
};
},
mounted() {
this.isHome = this.$router.history.current.path==='/' || this.$router.history.current.path==='/index'
console.log('JSON.parse(window.localStorage.getItem("b2bUser"))', JSON.parse(window.localStorage.getItem("b2bUser")))
this.isHome =
this.$router.history.current.path === "/" ||
this.$router.history.current.path === "/index";
console.log(
'JSON.parse(window.localStorage.getItem("b2bUser"))',
JSON.parse(window.localStorage.getItem("b2bUser"))
);
if (localStorage.b2bUser) {
this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser"));
}
......@@ -536,9 +589,17 @@ export default {
// this.getCategoryList();
},
methods: {
avatarClick() {
if (this.LoginUser.token && 1=== 2) {
this.CommonJump("/userCenter");
} else {
// 展示登录弹窗
this.CommonJump("/login");
}
},
handleSelectArea(item) {
this.CommonJump("/city/" + item.Id, {
id: item.Id
id: item.Id,
});
},
handleCategoryChage(item) {
......@@ -546,86 +607,86 @@ export default {
qsearchKey: this.searchKey,
qsearchDate: this.searchDate,
qsearchEndDate: this.searchEndDate,
categoryId: item.Id
categoryId: item.Id,
});
},
mouseenterAddress() {
this.menuFocusAll = 0
this.menuFocus = 0
this.addressFocus = 1
this.$refs.address.show()
this.menuFocusAll = 0;
this.menuFocus = 0;
this.addressFocus = 1;
this.$refs.address.show();
},
mouseeleaveAddress() {
setTimeout(() => {
if(!this.addressFocus) {
this.$refs.address.hide()
if (!this.addressFocus) {
this.$refs.address.hide();
}
}, 50)
}, 50);
},
addressMenuEnter() {
this.addressFocus = 2
this.addressFocus = 2;
},
addressMenuLeave() {
this.addressFocus = 0
this.addressFocus = 0;
setTimeout(() => {
if(!this.addressFocus) {
this.$refs.address.hide()
if (!this.addressFocus) {
this.$refs.address.hide();
}
}, 50)
}, 50);
},
typeHoverAll(bool) {
if(bool) {
this.addressFocus = 0
this.menuFocus = 0
this.menuFocusAll = 1
if(this.currentMenu !== undefined) {
this.$refs.menu[this.currentMenu].hide()
if (bool) {
this.addressFocus = 0;
this.menuFocus = 0;
this.menuFocusAll = 1;
if (this.currentMenu !== undefined) {
this.$refs.menu[this.currentMenu].hide();
}
this.$refs.menu0.show()
this.$refs.menu0.show();
} else {
this.menuFocusAll = 0
this.menuFocusAll = 0;
setTimeout(() => {
if(!this.menuFocusAll) {
this.$refs.menu0.hide()
if (!this.menuFocusAll) {
this.$refs.menu0.hide();
}
}, 50)
}, 50);
}
this.currentMenu = undefined
this.currentMenu = undefined;
},
typeHover(index, bool) {
if(bool) {
this.addressFocus = 0
this.menuFocusAll = 0
this.menuFocus = 1
if(this.currentMenu !== undefined && index !== this.currentMenu) {
this.$refs.menu[this.currentMenu].hide()
if (bool) {
this.addressFocus = 0;
this.menuFocusAll = 0;
this.menuFocus = 1;
if (this.currentMenu !== undefined && index !== this.currentMenu) {
this.$refs.menu[this.currentMenu].hide();
}
this.$refs.menu[index].show()
this.$refs.menu[index].show();
} else {
this.menuFocus = 0
this.menuFocus = 0;
setTimeout(() => {
if(!this.menuFocus) {
this.$refs.menu[index].hide()
if (!this.menuFocus) {
this.$refs.menu[index].hide();
}
}, 50)
}, 50);
}
this.currentMenu = index
this.currentMenu = index;
},
menuLeaveAll() {
this.menuFocus = 0
this.menuFocus = 0;
setTimeout(() => {
if(!this.menuFocusAll) {
this.$refs.menu0.hide()
if (!this.menuFocusAll) {
this.$refs.menu0.hide();
}
}, 50)
}, 50);
},
menuLeave(i) {
this.menuFocus = 0
this.menuFocus = 0;
setTimeout(() => {
if(!this.menuFocus) {
this.$refs.menu[i].hide()
if (!this.menuFocus) {
this.$refs.menu[i].hide();
}
}, 50)
}, 50);
},
changeAreas(item) {
this.selectedArea = item.SubList;
......@@ -634,17 +695,17 @@ export default {
initNavs() {
this.navs = [];
if (this.baseData.nav.navs) {
this.baseData.nav.navs.forEach(x => {
this.baseData.nav.navs.forEach((x) => {
if (x.title.indexOf("^") != -1) {
console.log("in....");
let t = x.title.split("^");
let c = t[1].split(",");
x.childs = [];
c.forEach(y => {
c.forEach((y) => {
let yt = y.split("&");
x.childs.push({
title: yt[0],
url: x.url + "&" + yt[1]
url: x.url + "&" + yt[1],
});
});
x.title = t[0];
......@@ -653,7 +714,7 @@ 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 = [];
......@@ -661,15 +722,15 @@ export default {
this.areas.push({
Name: "热门目的地",
SubList: hotArr,
Id: ''
Id: "",
});
this.$EventBus.$emit('hotList', hotArr)
this.selectedArea = hotArr
this.$EventBus.$emit("hotList", hotArr);
this.selectedArea = hotArr;
this.areas = this.areas.concat(this.baseData.AreaList);
},
getHotList(arr) {
let hotArr = [];
arr.forEach(item => {
arr.forEach((item) => {
if (item.SubList && item.SubList.length) {
hotArr = hotArr.concat(this.getHotList(item.SubList));
} else {
......@@ -689,12 +750,12 @@ export default {
let locationName = this.GetDomain();
var msg = {
RB_Group_Id: this.RB_Group_Id,
B2BDomain: locationName
B2BDomain: locationName,
};
this.apipost(
"ws_post_GetHomeCategoryTreeList",
msg,
res => {
(res) => {
if (res.data.resultCode == 1) {
if (res.data.data) {
this.categoryList = res.data.data;
......@@ -706,10 +767,10 @@ export default {
document.URL.indexOf("www.oytour.com") != -1;
});
},
err => {}
(err) => {}
);
}
}
},
},
};
</script>
......
......@@ -362,20 +362,20 @@ cursor: pointer;
</template>
</div>
</template>
<div class="footer-content" v-if="dataList&&dataList.Config">
<div class="row justify-between full-width">
<div class="">
<div :class="$q.platform.is.desktop ? 'footer-content': 'q-pa-lg'" v-if="dataList&&dataList.Config">
<div :class="$q.platform.is.desktop ? 'row justify-between full-width': ''">
<div>
<img style="width:auto;height:35px;" :src="dataList.Config.WhiteLogo" />
<div class="rounded-borders q-mt-lg q-pa-md text-grey-8" style="background:rgba(255,255,255,.05)">
<div class="f12">服务热线:{{ dataList.Config.Tel }}</div>
<div class="q-mt-md">服务时间:08:00 至 21:00</div>
</div>
</div>
<div class="row">
<div v-for="(item,i) in dataList.FooterList" :key="item.Id" :class="{'q-ml-xl':i>0}">
<div class="text-subtitle1 text-weight-bold text-white">{{ item.NavTitle }}</div>
<div class="q-mt-xl" v-if="item.SubList">
<div class="q-mb-lg text-subtitle2 text-regular text-grey-8 cursor-pointer" v-for="item2 in item.SubList" :key="item2.Id" @click="navigateTo(item2)">{{item2.NavTitle}}</div>
<div :class="$q.platform.is.desktop ? 'row': 'q-mt-lg'">
<div v-for="(item,i) in dataList.FooterList" :key="item.Id" :class="{'q-ml-xl':i>0 && $q.platform.is.desktop}">
<div class=" text-weight-bold text-white" :class="$q.platform.is.desktop ? 'text-subtitle1': 'f14'">{{ item.NavTitle }}</div>
<div :class="$q.platform.is.desktop ? 'q-mt-xl': 'q-mt-md'" v-if="item.SubList">
<div :class="$q.platform.is.desktop ? 'text-subtitle2 text-regular': 'f12'" class="q-mb-lg text-grey-8 cursor-pointer" v-for="item2 in item.SubList" :key="item2.Id" @click="navigateTo(item2)">{{item2.NavTitle}}</div>
</div>
</div>
</div>
......@@ -388,7 +388,7 @@ cursor: pointer;
</div>
</div>
</div>
<div class="text-center q-py-xl text-grey-8" style="margin-top:35px">
<div class="q-py-xl text-grey-8" :class="$q.platform.is.desktop ? 'text-center' : ''" style="margin-top:35px">
蜀ICP备13000760号 © 2010-{{year}} {{ dataList.Config.Name }}. All Rights Reserved. 旅行社业务经营许可证 {{ dataList.Config.UnifyCode }}
</div>
</div>
......
......@@ -10,7 +10,7 @@
left: 0;
right: 0;
}
.login-box {
.login-box-pc {
max-width: 436px;
padding: 30px 40px;
margin: 100px auto;
......@@ -20,6 +20,12 @@
background: #ffffff;
border-radius: 18px;
}
.login-box {
max-width: 436px;
padding: 30px 40px;
background-clip: padding-box;
background: #ffffff;
}
.login-box .tw_logo {
margin: 0 auto 20px;
......@@ -83,8 +89,8 @@
}
</style>
<template>
<div class="login">
<div class="login-box">
<div :class="$q.platform.is.desktop ? 'login': 'full-width'">
<div class="login-box" :class="$q.platform.is.desktop ? 'login-box-pc': ''">
<!-- <img :src="logo" class="tw_logo" /> -->
<!-- <p class="tip-text">
還沒有帳號嗎?立即<a style="cursor:pointer;" @click="CommonJump('/register',{})">免費加入</a>
......
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