|
|
@@ -1,50 +1,55 @@
|
|
|
// import { asyncRoutes, constantRoutes } from '@/router'
|
|
|
-import { constantRoutes } from '@/router'
|
|
|
-import { validatenull } from '@/utils/validate'
|
|
|
+import { constantRoutes } from "@/router";
|
|
|
+import { validatenull } from "@/utils/validate";
|
|
|
// for get menus from server
|
|
|
// import { getMenuByRole } from '@/api/menu'
|
|
|
-import { getRecuData,transData,GetDataByName } from '@/api/common'
|
|
|
-import Layout from '@/layout'
|
|
|
+import { getRecuData, transData, GetDataByName } from "@/api/common";
|
|
|
+import Layout from "@/layout";
|
|
|
|
|
|
function buildRouter(aMenu) {
|
|
|
- const aRouter = []
|
|
|
+ const aRouter = [];
|
|
|
|
|
|
- aMenu.forEach(item => {
|
|
|
+ aMenu.forEach((item) => {
|
|
|
if (!validatenull(item.component)) {
|
|
|
const oRouter = {
|
|
|
- meta: { 'title': '', 'icon': '' },
|
|
|
- children: []
|
|
|
- }
|
|
|
+ meta: { title: "", icon: "" },
|
|
|
+ children: [],
|
|
|
+ };
|
|
|
|
|
|
- if (item.component !== 'Iframe') {
|
|
|
- if (item.component === 'Layout') {
|
|
|
- oRouter.component = Layout
|
|
|
+ if (item.component !== "Iframe") {
|
|
|
+ if (item.component === "Layout") {
|
|
|
+ oRouter.component = Layout;
|
|
|
} else {
|
|
|
- oRouter.component = require('@/views/' + item.component + '.vue').default
|
|
|
+ console.log("@/views/" + item.component + ".vue");
|
|
|
+ oRouter.component = require("@/views/" +
|
|
|
+ item.component +
|
|
|
+ ".vue").default;
|
|
|
}
|
|
|
- oRouter.name = item.path
|
|
|
- oRouter.id = item.id || null
|
|
|
- if (item.redirect !== '') {
|
|
|
- oRouter.redirect = item.redirect || null
|
|
|
- oRouter.path = '/' + item.path
|
|
|
+ oRouter.name = item.path;
|
|
|
+ oRouter.id = item.id || null;
|
|
|
+ if (item.redirect !== "") {
|
|
|
+ oRouter.redirect = item.redirect || null;
|
|
|
+ oRouter.path = "/" + item.path;
|
|
|
} else {
|
|
|
- oRouter.path = item.path
|
|
|
+ oRouter.path = item.path;
|
|
|
}
|
|
|
// console.log(item)
|
|
|
- if(item.seebutton == 1 || item.seebutton == 2){
|
|
|
- oRouter.meta.icon = item.icon
|
|
|
- oRouter.meta.title = item.title
|
|
|
+ if (item.seebutton == 1 || item.seebutton == 2) {
|
|
|
+ oRouter.meta.icon = item.icon;
|
|
|
+ oRouter.meta.title = item.title;
|
|
|
// oRouter.meta.noCache = item.noCache || false
|
|
|
- oRouter.meta.noCache = true
|
|
|
+ oRouter.meta.noCache = true;
|
|
|
// oRouter.meta.breadcrumb = item.breadcrumb || true
|
|
|
- oRouter.children = validatenull(item.children) ? [] : buildRouter(item.children)
|
|
|
- aRouter.push(oRouter)
|
|
|
+ oRouter.children = validatenull(item.children)
|
|
|
+ ? []
|
|
|
+ : buildRouter(item.children);
|
|
|
+ aRouter.push(oRouter);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
|
|
|
- return aRouter
|
|
|
+ return aRouter;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -54,9 +59,9 @@ function buildRouter(aMenu) {
|
|
|
*/
|
|
|
function hasPermission(roles, route) {
|
|
|
if (route.meta && route.meta.roles) {
|
|
|
- return roles.some(role => route.meta.roles.includes(role))
|
|
|
+ return roles.some((role) => route.meta.roles.includes(role));
|
|
|
} else {
|
|
|
- return true
|
|
|
+ return true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -66,92 +71,97 @@ function hasPermission(roles, route) {
|
|
|
* @param roles
|
|
|
*/
|
|
|
export function filterAsyncRoutes(routes, roles) {
|
|
|
- const res = []
|
|
|
+ const res = [];
|
|
|
|
|
|
- routes.forEach(route => {
|
|
|
- const tmp = { ...route }
|
|
|
+ routes.forEach((route) => {
|
|
|
+ const tmp = { ...route };
|
|
|
if (hasPermission(roles, tmp)) {
|
|
|
if (tmp.children) {
|
|
|
- tmp.children = filterAsyncRoutes(tmp.children, roles)
|
|
|
+ tmp.children = filterAsyncRoutes(tmp.children, roles);
|
|
|
}
|
|
|
- res.push(tmp)
|
|
|
+ res.push(tmp);
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
|
|
|
- return res
|
|
|
+ return res;
|
|
|
}
|
|
|
|
|
|
const state = {
|
|
|
routes: [],
|
|
|
addRoutes: [],
|
|
|
data1: {
|
|
|
- name: 'getmenu',
|
|
|
- idname: 'id',
|
|
|
- parammaps: { id: -1 }
|
|
|
- }
|
|
|
-}
|
|
|
+ name: "getmenu",
|
|
|
+ idname: "id",
|
|
|
+ parammaps: { id: -1 },
|
|
|
+ },
|
|
|
+};
|
|
|
|
|
|
const mutations = {
|
|
|
SET_ROUTES: (state, routes) => {
|
|
|
// console.log(state,routes)
|
|
|
- state.addRoutes = routes
|
|
|
- state.routes = constantRoutes.concat(routes)
|
|
|
- }
|
|
|
-}
|
|
|
+ state.addRoutes = routes;
|
|
|
+ state.routes = constantRoutes.concat(routes);
|
|
|
+ },
|
|
|
+};
|
|
|
|
|
|
const actions = {
|
|
|
generateRoutes({ commit }, roles) {
|
|
|
return new Promise((resolve, reject) => {
|
|
|
- GetDataByName(state.data1).then(response => {
|
|
|
- if(response.data.list !== null){
|
|
|
- for(let i=0;i<response.data.list.length;i++){
|
|
|
- response.data.list[i].affix = true
|
|
|
- response.data.list[i].keepAlive = true
|
|
|
- if(response.data.list[i].children !== undefined){
|
|
|
- for(let j=0;j<response.data.list[i].children.length;j++){
|
|
|
- response.data.list[i].children[j].affix = true
|
|
|
- response.data.list[i].children[j].keepAlive = true
|
|
|
+ GetDataByName(state.data1).then((response) => {
|
|
|
+ if (response.data.list !== null) {
|
|
|
+ for (let i = 0; i < response.data.list.length; i++) {
|
|
|
+ response.data.list[i].affix = true;
|
|
|
+ response.data.list[i].keepAlive = true;
|
|
|
+ if (response.data.list[i].children !== undefined) {
|
|
|
+ for (let j = 0; j < response.data.list[i].children.length; j++) {
|
|
|
+ response.data.list[i].children[j].affix = true;
|
|
|
+ response.data.list[i].children[j].keepAlive = true;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- console.log(response.data.list,'==========9999')
|
|
|
+ console.log(response.data.list, "==========9999");
|
|
|
// const arrRout = response.data.list.filter((item)=>{
|
|
|
// return item.component != 'basicDate/leftoverManagement/index'
|
|
|
// })
|
|
|
- const menus = transData(response.data.list, 'id', 'parentId', 'children')
|
|
|
+ const menus = transData(
|
|
|
+ response.data.list,
|
|
|
+ "id",
|
|
|
+ "parentId",
|
|
|
+ "children"
|
|
|
+ );
|
|
|
// const menus = response.data
|
|
|
if (menus.length === 0) {
|
|
|
- reject('menus data is null1')
|
|
|
+ reject("menus data is null1");
|
|
|
}
|
|
|
- const accessedRoutes = buildRouter(menus)
|
|
|
+ const accessedRoutes = buildRouter(menus);
|
|
|
// final add 404
|
|
|
- accessedRoutes.push({ path: '*', redirect: '/404', hidden: true })
|
|
|
+ accessedRoutes.push({ path: "*", redirect: "/404", hidden: true });
|
|
|
// commit to stores
|
|
|
- commit('SET_ROUTES', accessedRoutes)
|
|
|
+ commit("SET_ROUTES", accessedRoutes);
|
|
|
// return for add to router
|
|
|
- resolve(accessedRoutes)
|
|
|
+ resolve(accessedRoutes);
|
|
|
} else {
|
|
|
- const menus = []
|
|
|
+ const menus = [];
|
|
|
// const menus = response.data
|
|
|
if (menus.length == 0) {
|
|
|
- reject('当前用户角色未分配页面权限,无法登录')
|
|
|
+ reject("当前用户角色未分配页面权限,无法登录");
|
|
|
}
|
|
|
- const accessedRoutes = buildRouter(menus)
|
|
|
+ const accessedRoutes = buildRouter(menus);
|
|
|
// final add 404
|
|
|
- accessedRoutes.push({ path: '*', redirect: '/404', hidden: true })
|
|
|
+ accessedRoutes.push({ path: "*", redirect: "/404", hidden: true });
|
|
|
// commit to stores
|
|
|
- commit('SET_ROUTES', accessedRoutes)
|
|
|
+ commit("SET_ROUTES", accessedRoutes);
|
|
|
// return for add to router
|
|
|
- resolve(accessedRoutes)
|
|
|
+ resolve(accessedRoutes);
|
|
|
}
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
-}
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+};
|
|
|
|
|
|
export default {
|
|
|
namespaced: true,
|
|
|
state,
|
|
|
mutations,
|
|
|
- actions
|
|
|
-}
|
|
|
+ actions,
|
|
|
+};
|