el-menu没有使用router跳转,而是使用window.location.href,能够跳转到当前导航,但是当前导航菜单没有打开`/**
-
Created by Administrator on 2019/3/15.
*/
var UrlUtil = {getQueryString(name, route) {
var reg = new RegExp("(^|&)" + name + “=([^&]*)(&|$)”, “i”);
if (!route) {
var r = window.location.search.substr(1).match(reg);
} else {
var r = route.match(reg);
}
if (r != null) return unescape(r[2]);
return null;
},getWebBaseUrl() {
let url = window.location.href.split(“web”)[0];
return url;
},getAppBaseUrl() {
let url = window.location.href.split(“app”)[0];
return url;
},createWebUrl(controller, func, params) {
var str = ‘’;
if (params) {
// try {
// $.each(params, function (key, val) {
// if (val != ‘undefined’) {
// str += “&” + key + “=” + val;
// }
// });
// } catch {
for (var keys in params) {
if (params[keys] != ‘undefined’) {
str += “&” + keys + “=” + params[keys];
}
}
// }
}
var url = “./index.php?c=site&a=entry&m=cash&do=” + controller + “&f=” + func + str;
return url;
},createCashierUrl(d, f) {
let url = “./cashier.php?do=” + d + “&f=” + f;
return url;
},createUrl(f, d) {
let location = window.location; let searchStr = location.search; let hrefreg = function (name) { return new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); }; let urlreg = function (name) { return new RegExp(name, "i"); }; if (d) { let oldDo = window.location.search.substr(1).match(hrefreg('do')); let doArr = oldDo[0].split("="); doArr[1] = doArr[1].indexOf("&") < 0 ? d : d + "&"; let newDo = doArr.join("="); searchStr = searchStr.replace(urlreg(oldDo[0]), newDo); } if (f) { let oldf = window.location.search.substr(1).match(hrefreg('f')) let fArr = oldf[0].split("="); fArr[1] = fArr[1].indexOf("&") < 0 ? f : f + "&"; let newf = fArr.join("="); searchStr = searchStr.replace(urlreg(oldf[0]), newf); } return location.origin + location.pathname + searchStr + location.hash;
},
};
var UrlHelper = UrlUtil;`
created: function () {
this.doStr = UrlUtil.getQueryString('do');
this.fStr = UrlUtil.getQueryString('f');
var curRoute = [this.doStr, this.fStr];
this.activeItem = curRoute.join('-');
console.log(this.activeItem)
this.getNavList();
},
mounted: function () {
this.$nextTick(function () {
this.breadcrumbInit();
})
},
methods: {
//跳转后导航的变化
navTo () {
this.doStr = UrlUtil.getQueryString('do');
this.fStr = UrlUtil.getQueryString('f');
var curRoute = [this.doStr, this.fStr];
this.activeItem = curRoute.join('-');
},
selectHandle: function (i, indexPanth) {
if (i) {
var str = i.split("-")
window.location.href = './index.php?c=site&a=entry&m=cash&do=' + str[0] + '&f=' + str[1]
}
},
breadcrumbInit: function () {
var that = this
var refStr = this.doStr + "_" + this.fStr;
var breadcurmbList = [];
var activeEl = Array.isArray(that.$refs[refStr]) ? that.$refs[refStr][0] : that.$refs[
refStr];
if (!activeEl && that.count <= 5) {
setTimeout(function () {
that.breadcrumbInit();
that.count++;
}, 200);
return false;
}
that.count = 0;
if (activeEl) {
breadcurmbList.push(activeEl.$el.innerText);
(function addBreadcurmb(node) {
var newNode = node.$parent;
if (newNode.$el.firstChild.classList.contains("el-submenu__title")) {
var text = newNode.$el.firstChild.innerText;
breadcurmbList.unshift(text);
addBreadcurmb(newNode);
}
})(activeEl);
breadcurmbList.unshift('首页');
breadcrumb.list = breadcurmbList;
}
},
getNavList: function () {
var that = this;
var url = "/userProvider/menu/adminPageMenuList";
var params = {};
var headers;
// if(Store.getCookie("flag")){
// headers={
// "Cookie":"flag="+Store.getCookie("flag")+";"+"token="+Store.getCookie("token")+";"
// }
headers={
"token":"232323"
}
// }
try {
axios.post(url, params,headers)
.then(function (res) {
var data = res.data;
if (data.state == 0) {
that.navList = data.data;
}
})
} catch (err) {
$.ajax({
type: "POST",
url: url,
headers: {
source: 5,
token:Store.getCookie("token"),
flag:Store.getCookie("flag")
},
success: function (data) {
if (data.state == 0) {
that.navList = data.data;
}
}
});
}
},
getDo: function (url) {
return UrlUtil.getQueryString("do", url);
},
getF: function (url) {
return UrlUtil.getQueryString("f", url);
},
getIndex: function (name) {
var index = '';
switch (name) {
case '系统首页':
index = "";
break;
case '账目明细':
index = "account";
break;
case '网吧超市':
index = "waterbar";
break;
case '经营分析':
index = "analysis";
break;
case '网吧管理':
index = "manage";
break;
case '费率设置':
index = "rate";
break;
case '营销设置':
index = "marketing";
break;
case '操作日志':
index = "";
break;
case '财务系统':
index = "finance";
break;
case 'Ping++':
index = "pingplus";
break;
case '连锁管理':
index = "chain";
break;
default:
index = "";
break;
}
return index;
}
}