Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

xt_permission.js 2.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { xt_constantRouterMap, xt_asyncRouterMap } from '@/router'
  2. const xt_permission = {
  3. state: {
  4. routers: xt_constantRouterMap,
  5. addRouters: []
  6. },
  7. mutations: {
  8. XT_SET_ROUTERS: (state, payload) => {
  9. state.routers = payload.concatRouters
  10. state.addRouters = payload.addRouters
  11. }
  12. },
  13. actions: {
  14. xt_GenerateRoutes({ commit }, urls) {
  15. return new Promise(resolve => {
  16. setupRouters(urls)
  17. var addRouters = xt_filterAsyncRouter(xt_asyncRouterMap)
  18. commit('XT_SET_ROUTERS', { concatRouters:xt_constantRouterMap.concat(xt_asyncRouterMap), addRouters:addRouters })
  19. resolve()
  20. })
  21. }
  22. }
  23. }
  24. function xt_filterAsyncRouter(routers) {
  25. var addRouters = routers.filter(route => {
  26. if (route.is_menu == false) {
  27. return true
  28. }
  29. if (route.hidden == false) {
  30. if (route.children && route.children.length) {
  31. route.children = xt_filterAsyncRouter(route.children)
  32. }
  33. return true
  34. }
  35. return false
  36. })
  37. return addRouters
  38. }
  39. function setupRouters(urls) {
  40. // console.log(urls)
  41. xt_asyncRouterMap.forEach(router => {
  42. console.log(router)
  43. if (Object.prototype.toString.call(router.children) === '[object Array]') {
  44. router.hidden = true
  45. router.children.forEach(c_router => {
  46. // console.log(c_router.path)
  47. if (IndexOf(urls, c_router.path) !== -1) {
  48. // if (urls.indexOf(c_router.path) !== -1) {
  49. // console.log('router.children show : ' + c_router.path)
  50. router.hidden = false
  51. c_router.hidden = false
  52. } else {
  53. // console.log('router.children hide : ' + c_router.path)
  54. c_router.hidden = true
  55. }
  56. })
  57. } else {
  58. router.hidden = true
  59. if (IndexOf(urls, router.path) !== -1) {
  60. console.log('router show : ' + router.path)
  61. // if (urls.indexOf(router.path) !== -1) {
  62. router.hidden = false
  63. }
  64. }
  65. })
  66. }
  67. function IndexOf(array, obj) {
  68. for (var i = 0; i < array.length; i++) {
  69. if (array[i] === obj) {
  70. return i
  71. }
  72. }
  73. return -1
  74. }
  75. export default xt_permission