Commit 430001b7 authored by 罗超's avatar 罗超

临时提交

parent 51d6b1da
...@@ -15,11 +15,20 @@ export default { ...@@ -15,11 +15,20 @@ export default {
font-family: "oswald"; font-family: "oswald";
src: url("https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/smallapp/Oswald-Regular.ttf"); src: url("https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/smallapp/Oswald-Regular.ttf");
} }
@font-face{
font-family: 'FZDBSJW';
src: local('FZDaBiaoSong-B06S')
}
.text-subtitle1 {
font-size: 1.25rem !important;
}
body { body {
font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto,
Helvetica Neue, Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Helvetica Neue, Arial, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol,
Noto Color Emoji, MicrosoftJhengHeiBoldFix, "\5FAE\8EDF\6B63\9ED1\9AD4", Noto Color Emoji, MicrosoftJhengHeiBoldFix, "\5FAE\8EDF\6B63\9ED1\9AD4",
Microsoft JhengHei; Microsoft JhengHei;
font-family: Roboto, Arial,微軟正黑體修正, 微軟正黑體, "Microsoft JhengHei","Microsoft JhengHei UI", sans-serif !important;
background-color: #f6f6f6; background-color: #f6f6f6;
} }
.rounded-borders{ .rounded-borders{
...@@ -53,4 +62,46 @@ body { ...@@ -53,4 +62,46 @@ body {
letter-spacing: 0; letter-spacing: 0;
text-align: right; text-align: right;
} }
/************************************ 重新Tree样式 BEGIN************************************/
.q-tree__node-header{
padding:8px 16px !important;
position: relative;
border-radius: unset;
}
body.desktop .q-tree__node .q-focusable:focus > .q-focus-helper,
body.desktop .q-tree__node .q-manual-focusable--focused > .q-focus-helper,
body.desktop .q-tree__node .q-hoverable:hover > .q-focus-helper{
background: none !important;
opacity: 1 !important;
}
body.desktop .q-tree__node .q-focus-helper:before,
body.desktop .q-tree__node .q-focus-helper:after{
background: none !important;
}
.q-tree__node-header:hover{
background: #f1416c1a;
}
.q-tree__arrow{
position: absolute;
top:50%;
margin-top: -8px;
right: 16px;
color:transparent;
}
.q-tree__arrow::after{
content: 'keyboard_arrow_down' !important;
margin-left: -16px;
font-size: 20px;
color:#666;
}
.q-tree__arrow--rotate{
transform: rotate3d(0, 0, 1, 180deg) !important;
}
.q-checkbox__bg{
border: 1px solid currentColor !important;
}
.q-checkbox__inner{
color: rgb(0 0 0 / 72%) !important;
}
/************************************ 重新Tree样式 END************************************/
</style> </style>
...@@ -7,292 +7,291 @@ import 'viewerjs/dist/viewer.css' ...@@ -7,292 +7,291 @@ import 'viewerjs/dist/viewer.css'
import VueViewer from 'v-viewer' import VueViewer from 'v-viewer'
// import VueCoreVideoPlayer from 'vue-core-video-player' // import VueCoreVideoPlayer from 'vue-core-video-player'
Vue.prototype.$EventBus = new Vue() Vue.prototype.$EventBus = new Vue()
// Vue.use(VueCoreVideoPlayer) // Vue.use(VueCoreVideoPlayer)
Vue.use(VueViewer) Vue.use(VueViewer)
//域名管理对象 //域名管理对象
Vue.prototype.domainManager = function () { Vue.prototype.domainManager = function() {
let domainUrl = ''; let domainUrl = '';
domainUrl = "http://192.168.2.214:8082"; domainUrl = "http://192.168.2.214:8082";
domainUrl = "http://127.0.0.1"; domainUrl = "http://127.0.0.1";
let domainNameUrl = this.GetDomain(); let domainNameUrl = this.GetDomain();
domainNameUrl="http://tmb2b.oytour.com/" domainNameUrl = "http://tmb2b.oytour.com/"
if (domainNameUrl.indexOf('testerp.oytour') !== -1) { if (domainNameUrl.indexOf('testerp.oytour') !== -1) {
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.11:8083' domainUrl = 'http://192.168.10.11:8083'
} }
var obj = { var obj = {
//主地址 //主地址
DomainUrl: domainUrl, DomainUrl: domainUrl,
//常用提交数据URL //常用提交数据URL
PostUrl: domainUrl + "/api/common/post", PostUrl: domainUrl + "/api/common/post",
javaUrl: 'http://efficient.oytour.com' javaUrl: 'http://efficient.oytour.com'
}; };
return obj; return obj;
} }
//获取当前域名 //获取当前域名
Vue.prototype.GetDomain=function() Vue.prototype.GetDomain = function() {
{ var domainNameUrl = window.location.hostname;
var domainNameUrl =window.location.hostname; domainNameUrl = "t.oytour.com";
domainNameUrl="t.oytour.com";
return domainNameUrl; return domainNameUrl;
} }
Vue.prototype.groupBy = function (array, f){ Vue.prototype.groupBy = function(array, f) {
const groups = {}; const groups = {};
array.forEach((item) => { array.forEach((item) => {
const group = JSON.stringify(f(item)); const group = JSON.stringify(f(item));
groups[group] = groups[group] || []; groups[group] = groups[group] || [];
groups[group].push(item); groups[group].push(item);
}); });
return Object.keys(groups).map((group) => { return Object.keys(groups).map((group) => {
return { return {
key:group.replace(/\"/g,""), key: group.replace(/\"/g, ""),
data:groups[group] data: groups[group]
}; };
}); });
} }
Vue.prototype.moneyFormat = function(num, decimal = 2, split = ',') { Vue.prototype.moneyFormat = function(num, decimal = 2, split = ',') {
function thousandFormat (num){ function thousandFormat(num) {
const len = num.length const len = num.length
return len <= 3 ? num : thousandFormat(num.substr(0, len - 3)) + split + num.substr(len - 3, 3) return len <= 3 ? num : thousandFormat(num.substr(0, len - 3)) + split + num.substr(len - 3, 3)
} }
if (isFinite(num)) { // num是数字 if (isFinite(num)) { // num是数字
if (num === 0) { // 为0 if (num === 0) { // 为0
return num.toFixed(decimal) return num.toFixed(decimal)
} else { // 非0 } else { // 非0
var res = '' var res = ''
var dotIndex = String(num).indexOf('.') var dotIndex = String(num).indexOf('.')
if (dotIndex === -1) { // 整数 if (dotIndex === -1) { // 整数
res = thousandFormat(String(num)) + (decimal>0?'.':'') + '0'.repeat(decimal) res = thousandFormat(String(num)) + (decimal > 0 ? '.' : '') + '0'.repeat(decimal)
} else { } else {
decimal = decimal==0?2:decimal decimal = decimal == 0 ? 2 : decimal
const numStr = String((Math.round(num * Math.pow(10, decimal)) / Math.pow(10, decimal)).toFixed(decimal)) // 四舍五入,然后固定保留2位小数 const numStr = String((Math.round(num * Math.pow(10, decimal)) / Math.pow(10, decimal)).toFixed(decimal)) // 四舍五入,然后固定保留2位小数
const decimals = numStr.slice(dotIndex, dotIndex + decimal + 1) // 截取小数位 const decimals = numStr.slice(dotIndex, dotIndex + decimal + 1) // 截取小数位
res = thousandFormat(numStr.slice(0, dotIndex)) + decimals res = thousandFormat(numStr.slice(0, dotIndex)) + decimals
} }
return res return res
}
} else {
return '--'
}
} }
} else { //HTTP提交数据
return '--' Vue.prototype.apipost = function(cmd, msg, successCall, faildCall) {
}
}
//HTTP提交数据
Vue.prototype.apipost = function (cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") {
msg = {}
}
var timestamp = (new Date()).valueOf();
var apiurl = this.domainManager().PostUrl;
var token = "";
var key = "";
var tempLanguage = 0;
var GroupId = 0;
if (this.getLocalStorage() != null) {
token = this.getLocalStorage().token;
key = this.getLocalStorage().SecretKey;
}
if (localStorage.groupinfo && localStorage.groupinfo != 'undefined') {
var groupJson = JSON.parse(localStorage.groupinfo);
GroupId = groupJson.GroupId;
}
var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase();
var md5Str = md5(`cmd=${cmd}&msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`);
var postData = {
msg: msg,
cmd: cmd,
timestamp: timestamp,
token: token,
sign: md5Str,
languageId: tempLanguage,
GroupId: GroupId
}
this.$axios.post(apiurl, postData, {
headers: {
'Content-Type': 'application/json',
'Referer-Viitto': this.$route.path
}
})
.then(res => {
successCall(res);
}, faildCall)
}
Vue.prototype.apiJavaPost = function (cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") { if (msg == null || msg == "") {
msg = {} msg = {}
} }
var apiurl = this.domainManager().javaUrl + cmd;
var timestamp = (new Date()).valueOf(); var timestamp = (new Date()).valueOf();
this.apiurl = apiurl; var apiurl = this.domainManager().PostUrl;
var token = ""; var token = "";
var key = ""; var key = "";
var tempLanguage = 0;
var GroupId = 0; var GroupId = 0;
if (this.getLocalStorage() != null) { if (this.getLocalStorage() != null) {
token = this.getLocalStorage().token; token = this.getLocalStorage().token;
key = this.getLocalStorage().secretKey; key = this.getLocalStorage().SecretKey;
} }
if (localStorage.groupinfo && localStorage.groupinfo != 'undefined') { if (localStorage.groupinfo && localStorage.groupinfo != 'undefined') {
var groupJson = JSON.parse(localStorage.groupinfo); var groupJson = JSON.parse(localStorage.groupinfo);
GroupId = groupJson.GroupId; GroupId = groupJson.GroupId;
} }
var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase(); var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase();
var md5Str = md5(`msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`); var md5Str = md5(`cmd=${cmd}&msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`);
var postData = { var postData = {
"msg": msg, msg: msg,
"timestamp": timestamp, cmd: cmd,
"token": token, timestamp: timestamp,
"sign": md5Str, token: token,
"GroupId": GroupId sign: md5Str,
languageId: tempLanguage,
GroupId: GroupId
} }
this.$axios.post(apiurl, postData, { this.$axios.post(apiurl, postData, {
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',
'Referer-Viitto': this.$route.path 'Referer-Viitto': this.$route.path
}
})
.then(res => {
successCall(res);
}, faildCall)
}
Vue.prototype.apiJavaPost = function(cmd, msg, successCall, faildCall) {
if (msg == null || msg == "") {
msg = {}
}
var apiurl = this.domainManager().javaUrl + cmd;
var timestamp = (new Date()).valueOf();
this.apiurl = apiurl;
var token = "";
var key = "";
var GroupId = 0;
if (this.getLocalStorage() != null) {
token = this.getLocalStorage().token;
key = this.getLocalStorage().secretKey;
} }
}) if (localStorage.groupinfo && localStorage.groupinfo != 'undefined') {
.then(res => { var groupJson = JSON.parse(localStorage.groupinfo);
successCall(res) GroupId = groupJson.GroupId;
}, faildCall) }
}, var encodeMsg = encodeURIComponent(JSON.stringify(msg)).toLowerCase();
var md5Str = md5(`msg=${encodeMsg}&timestamp=${timestamp}&token=${token}&key=${key}`);
var postData = {
"msg": msg,
"timestamp": timestamp,
"token": token,
"sign": md5Str,
"GroupId": GroupId
}
this.$axios.post(apiurl, postData, {
headers: {
'Content-Type': 'application/json',
'Referer-Viitto': this.$route.path
}
})
.then(res => {
successCall(res)
}, faildCall)
},
//获取缓存
Vue.prototype.getLocalStorage = function () {
try {
var localStorageData = window.localStorage["b2bUser"];
if (localStorageData !== undefined && localStorageData != 'undefined') {
return JSON.parse(localStorageData);
} else {
return null;
}
} catch (error) {
return null;
}
} //获取缓存
Vue.prototype.getLocalStorage = function() {
try {
var localStorageData = window.localStorage["b2bUser"];
if (localStorageData !== undefined && localStorageData != 'undefined') {
return JSON.parse(localStorageData);
} else {
return null;
}
} catch (error) {
return null;
}
}
//向外跳转 //向外跳转
Vue.prototype.OpenNewUrl = function (URL) { Vue.prototype.OpenNewUrl = function(URL) {
if (URL && URL != '') { if (URL && URL != '') {
if (URL.indexOf("https") != -1) { if (URL.indexOf("https") != -1) {
var str = 'http://' + URL.substring(8); var str = 'http://' + URL.substring(8);
window.open(str, '_blank'); window.open(str, '_blank');
} else if (URL.indexOf("http") != -1) { } else if (URL.indexOf("http") != -1) {
var str = 'http://' + URL.substring(7); var str = 'http://' + URL.substring(7);
window.open(str, '_blank'); window.open(str, '_blank');
} else { } else {
window.open("http://" + URL, '_blank'); window.open("http://" + URL, '_blank');
}
} }
}
} }
//公用跳转 //公用跳转
Vue.prototype.CommonJump = function (path, obj) { Vue.prototype.CommonJump = function(path, obj) {
this.$router.push({ this.$router.push({
path: path, path: path,
query: obj query: obj
}); });
} }
Vue.prototype.createCalendar = function (dateStr) { Vue.prototype.createCalendar = function(dateStr) {
var days = []; var days = [];
var date; var date;
if (dateStr) { if (dateStr) {
date = new Date(dateStr); date = new Date(dateStr);
} else { } else {
var now = new Date(); var now = new Date();
date = new Date(this.formatDate(now.getFullYear(), now.getMonth() + 1, 1)); date = new Date(this.formatDate(now.getFullYear(), now.getMonth() + 1, 1));
} }
var currentDay = date.getDate(); var currentDay = date.getDate();
var currentYear = date.getFullYear(); var currentYear = date.getFullYear();
var currentMonth = date.getMonth() + 1; var currentMonth = date.getMonth() + 1;
var currentWeek = date.getDay(); // 1...6,0 var currentWeek = date.getDay(); // 1...6,0
var str = this.formatDate( var str = this.formatDate(
currentYear, currentYear,
currentMonth, currentMonth,
currentDay currentDay
); );
days.length = 0; days.length = 0;
// 当月第一天是周日,放在第一行第1个位置,前面0个 // 当月第一天是周日,放在第一行第1个位置,前面0个
//初始化第一周 //初始化第一周
for (var i = currentWeek; i >= 0; i--) { for (var i = currentWeek; i >= 0; i--) {
var d = new Date(str); var d = new Date(str);
d.setDate(d.getDate() - i); d.setDate(d.getDate() - i);
var dayobject = {}; var dayobject = {};
dayobject.day = d; dayobject.day = d;
days.push(dayobject); //将日期放入data 中的days数组 供页面渲染使用 days.push(dayobject); //将日期放入data 中的days数组 供页面渲染使用
} }
//其他周 //其他周
var temp = 35; var temp = 35;
if ( if (
currentWeek + currentWeek +
new Date(currentYear, currentMonth, 0).getDate() > 35 new Date(currentYear, currentMonth, 0).getDate() > 35
) { ) {
temp = 41; temp = 41;
} }
for (var i = 1; i < temp - currentWeek; i++) { for (var i = 1; i < temp - currentWeek; i++) {
var d = new Date(str); var d = new Date(str);
d.setDate(d.getDate() + i); d.setDate(d.getDate() + i);
var dayobject = {}; var dayobject = {};
dayobject.day = d; dayobject.day = d;
days.push(dayobject); days.push(dayobject);
} }
return { return {
DayArray: days, DayArray: days,
CurrentDay: currentDay, CurrentDay: currentDay,
CurrentMonth: currentMonth, CurrentMonth: currentMonth,
CurrentYear: currentYear, CurrentYear: currentYear,
CurrentWeek: currentWeek CurrentWeek: currentWeek
}; };
} }
//格式化日期 //格式化日期
Vue.prototype.formatDate = function (year, month, day) { Vue.prototype.formatDate = function(year, month, day) {
var y = year; var y = year;
var m = month; var m = month;
if (m < 10) m = "0" + m; if (m < 10) m = "0" + m;
var d = day; var d = day;
if (d < 10) d = "0" + d; if (d < 10) d = "0" + d;
return y + "-" + m + "-" + d; return y + "-" + m + "-" + d;
} }
//格式化日期二 //格式化日期二
Vue.prototype.formatDate2 = function (dateStr) { Vue.prototype.formatDate2 = function(dateStr) {
var date = new Date(dateStr); var date = new Date(dateStr);
return { return {
CYear: date.getFullYear(), CYear: date.getFullYear(),
CMonth: (date.getMonth() + 1), CMonth: (date.getMonth() + 1),
CDay: date.getDate(), CDay: date.getDate(),
} }
} }
//添加月份 //添加月份
Vue.prototype.AddMonth = function (dateStr, month) { Vue.prototype.AddMonth = function(dateStr, month) {
var v = new Date(dateStr); var v = new Date(dateStr);
if (v) { if (v) {
var t = new Date(v.getFullYear(), v.getMonth(), v.getDate(), v.getHours(), v.getMinutes(), v.getSeconds(), v.getMilliseconds()); var t = new Date(v.getFullYear(), v.getMonth(), v.getDate(), v.getHours(), v.getMinutes(), v.getSeconds(), v.getMilliseconds());
t.setMonth(v.getMonth() + month); t.setMonth(v.getMonth() + month);
if (t.getDate() != v.getDate()) { if (t.getDate() != v.getDate()) {
t.setDate(0); t.setDate(0);
}
return t;
} }
return t;
}
} }
//获取URL中参数 //获取URL中参数
Vue.prototype.getUrlKey = function (name, url) { Vue.prototype.getUrlKey = function(name, url) {
return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(url) || [, ""])[1].replace(/\+/g, '%20')) || null return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(url) || [, ""])[1].replace(/\+/g, '%20')) || null
}
Vue.prototype.GetHtml = function (str) {
if (str && str != "") {
return str.replace(/&lt;/g, '<').replace(/&gt;/g, '>')
.replace(/&amp;/g, '&').replace(/&quot;/g, '"').replace(/&apos;/g, "'");
}
return str;
} }
Vue.prototype.GetHtml = function(str) {
if (str && str != "") {
return str.replace(/&lt;/g, '<').replace(/&gt;/g, '>')
.replace(/&amp;/g, '&').replace(/&quot;/g, '"').replace(/&apos;/g, "'");
}
return str;
}
\ No newline at end of file
...@@ -213,7 +213,6 @@ export default { ...@@ -213,7 +213,6 @@ export default {
methods: { methods: {
handleScroll(e) { handleScroll(e) {
this.currentHeight = this.getScroll().top; this.currentHeight = this.getScroll().top;
console.log(this.currentHeight);
let h=document.location.hash let h=document.location.hash
if(h!='#/' && h!='#/index'){ if(h!='#/' && h!='#/index'){
window.removeEventListener("scroll", this.handleScroll) window.removeEventListener("scroll", this.handleScroll)
......
...@@ -359,7 +359,8 @@ color: #EE4454; ...@@ -359,7 +359,8 @@ color: #EE4454;
</template> </template>
</div> </div>
</q-toolbar> </q-toolbar>
<div class="header-box flex"> <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-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"> <span slot="default" class="flex item-center">
...@@ -500,7 +501,8 @@ export default { ...@@ -500,7 +501,8 @@ export default {
navsStyle: 1, navsStyle: 1,
areas: [], areas: [],
selectedArea: [], selectedArea: [],
selectedAreaId: '' selectedAreaId: '',
isHome:false
}; };
}, },
watch: { watch: {
...@@ -513,6 +515,13 @@ export default { ...@@ -513,6 +515,13 @@ export default {
this.initAreas(); this.initAreas();
}, },
deep: true deep: true
},
$route: {
handler: function(val, oldVal){
this.isHome = val.path==='/' || val.path==='/index'
},
// 深度观察监听
deep: true
} }
}, },
meta() { meta() {
...@@ -524,6 +533,7 @@ export default { ...@@ -524,6 +533,7 @@ export default {
}; };
}, },
mounted() { mounted() {
this.isHome = this.$router.history.current.path==='/' || this.$router.history.current.path==='/index'
if (localStorage.b2bUser) { if (localStorage.b2bUser) {
this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser")); this.LoginUser = JSON.parse(window.localStorage.getItem("b2bUser"));
} }
......
<style> <style>
.hor_BtmContent { .hor_BtmContent {
display: inline-block; /*display: inline-block;*/
width: 100%; width: 100%;
background: #fff; background: #2B2B2B;
padding-top: 60px;
}
.hor_BtmContent .footer-content {
max-width: 1200px;
margin:0 auto;
} }
.hor_BtmContent .footer-top { .hor_BtmContent .footer-top {
padding: 0 40px 18px; max-width: 1200px;
background: #2B2B2B; margin:0 auto;
} }
.hor_BtmContent .footer-link { .hor_BtmContent .footer-link {
...@@ -289,7 +293,7 @@ cursor: pointer; ...@@ -289,7 +293,7 @@ cursor: pointer;
</style> </style>
<template> <template>
<div class="hor_BtmContent"> <div class="hor_BtmContent">
<template v-if="dataList&&dataList.Config"> <template v-if="dataList&&dataList.Config && 1==0">
<div class="footer-top"> <div class="footer-top">
<div class="foot_content"> <div class="foot_content">
<div class="footer-box"> <div class="footer-box">
...@@ -301,8 +305,8 @@ cursor: pointer; ...@@ -301,8 +305,8 @@ cursor: pointer;
<div class="fb-page" :data-href="dataList.Config.FaceBookUrl" data-tabs="timeline" data-width="340" <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-height="130" data-small-header="false" data-adapt-container-width="false" data-hide-cover="false"
data-show-facepile="false"> data-show-facepile="false">
<blockquote :cite="dataList.Config.FaceBookUrl" class="fb-xfbml-parse-ignore"><a <!-- <blockquote :cite="dataList.Config.FaceBookUrl" class="fb-xfbml-parse-ignore"><a
:href="dataList.Config.FaceBookUrl">{{dataList.Config.Name}}</a></blockquote> :href="dataList.Config.FaceBookUrl">{{dataList.Config.Name}}</a></blockquote> -->
</div> </div>
</a> </a>
</div> </div>
...@@ -358,6 +362,36 @@ cursor: pointer; ...@@ -358,6 +362,36 @@ cursor: pointer;
</template> </template>
</div> </div>
</template> </template>
<div class="footer-content" v-if="dataList&&dataList.Config">
<div class="row justify-between full-width">
<div class="">
<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>
</div>
</div>
<div v-for="item in dataList.BottomList" :key="item.Id">
<div class="text-subtitle1 text-weight-bold text-white">{{ item.NavTitle }}</div>
<div class="q-mt-xl row" style="width:210px">
<div class="bg-white rounded-borders q-pa-xs overflow-hidden q-mb-md q-mr-md" @click="navigateTo(item2)" v-for="item2 in item.SubList" :key="item2.Id" style="width:40px;height:34px;">
<img style="width:100%" :src="item2.Icon" :title="item2.NavTitle" />
</div>
</div>
</div>
</div>
<div class="text-center q-py-xl text-grey-8" style="margin-top:35px">
蜀ICP备13000760号 © 2010-{{year}} {{ dataList.Config.Name }}. All Rights Reserved. 旅行社业务经营许可证 {{ dataList.Config.UnifyCode }}
</div>
</div>
</div> </div>
</template> </template>
<script> <script>
......
...@@ -61,6 +61,7 @@ ...@@ -61,6 +61,7 @@
tick-strategy="leaf" tick-strategy="leaf"
@update:ticked="handleAreaTicked" @update:ticked="handleAreaTicked"
:ticked="areaTicked" :ticked="areaTicked"
text-color="#666"
/> />
</q-card> </q-card>
<q-card flat class="rounded-borders q-py-md q-mt-lg"> <q-card flat class="rounded-borders q-py-md q-mt-lg">
...@@ -145,7 +146,7 @@ ...@@ -145,7 +146,7 @@
<q-card flat class="rounded-borders q-pa-md q-mt-lg"> <q-card flat class="rounded-borders q-pa-md q-mt-lg">
<div class="text-subtitle1 text-weight-bold">價錢篩選(CNY)</div> <div class="text-subtitle1 text-weight-bold">價錢篩選(CNY)</div>
<div <div
class="q-mt-md text-grey-6 text-subtitle1" class="q-mt-md text-grey-6 text-subtitle2 text-regular"
>{{ msg.priceRange.min }} - {{ msg.priceRange.max }}</div> >{{ msg.priceRange.min }} - {{ msg.priceRange.max }}</div>
<q-range <q-range
v-model="msg.priceRange" v-model="msg.priceRange"
...@@ -169,7 +170,7 @@ ...@@ -169,7 +170,7 @@
:key="yi" :key="yi"
> >
<q-checkbox v-model="y.checked" size="xs" @input="changeTripDayHandler" /> <q-checkbox v-model="y.checked" size="xs" @input="changeTripDayHandler" />
<span class="col text-grey-8" style="font-weight: 400"> <span class="col text-grey-8 text-subtitle2 text-regular q-mt-xs" style="font-weight: 400">
{{ {{
y.text y.text
}} }}
...@@ -217,7 +218,7 @@ ...@@ -217,7 +218,7 @@
>{{ x.label }}</q-chip> >{{ x.label }}</q-chip>
</div> </div>
</div> </div>
<div class="q-mt-lg"> <div class="q-mt-lg" v-if="!$q.loading.isActive && DataList.length>0">
<div <div
class="rounded-borders cursor-pointer overflow-hidden q-mb-md row bg-white" class="rounded-borders cursor-pointer overflow-hidden q-mb-md row bg-white"
@click="GotoDetails(x)" @click="GotoDetails(x)"
...@@ -275,7 +276,21 @@ ...@@ -275,7 +276,21 @@
</div> </div>
</div> </div>
</div> </div>
<div v-else-if="!$q.loading.isActive && DataList.length==0" class="text-center q-mt-xl">
<div class="text-center inline-block">
<p>
<img
src="~assets/sad.svg"
style="width:30vw;max-width:150px;"
>
</p>
<p class="text-faded">
我们找不到有关
<span v-if="msg.searchKey">\"{{msg.searchKey}}\"</span>
的旅游体验,输入其他字眼重试或探索以下人气体验
</p>
</div>
</div>
<div style="display: flex; justify-content: center"> <div style="display: flex; justify-content: center">
<q-pagination <q-pagination
v-if="PageCount > 1" v-if="PageCount > 1"
...@@ -413,6 +428,7 @@ export default { ...@@ -413,6 +428,7 @@ export default {
}); });
this.dateRange = { from: this.msg.startDate, to: this.msg.endDate }; this.dateRange = { from: this.msg.startDate, to: this.msg.endDate };
this.goSearchHandler(); this.goSearchHandler();
console.log(this.msg)
}, },
methods: { methods: {
handleSelected(target) { handleSelected(target) {
...@@ -651,8 +667,8 @@ export default { ...@@ -651,8 +667,8 @@ export default {
console.log('filterAddress2',this.areaListJSON, addressList) console.log('filterAddress2',this.areaListJSON, addressList)
}, },
goSearchHandler() { goSearchHandler() {
this.msg.webSiteCategoryIds = this.ticked.join(',') this.msg.webSiteCategoryIds = this.areaTicked.join(',')
// this.$q.loading.show(); this.$q.loading.show();
this.DataList = []; this.DataList = [];
let minTripDay = -1, let minTripDay = -1,
maxTripDay = -1, maxTripDay = -1,
...@@ -686,6 +702,7 @@ export default { ...@@ -686,6 +702,7 @@ export default {
this.msg, this.msg,
res => { res => {
this.$q.loading.hide(); this.$q.loading.hide();
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.PageCount = res.data.data.pageCount; this.PageCount = res.data.data.pageCount;
this.TotalCount = res.data.data.count; this.TotalCount = res.data.data.count;
......
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