navMenu.ts 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import session from '@/lib/session'
  2. export default {
  3. state: {
  4. index: "0",
  5. isCollapse: false,
  6. menus:[]
  7. },
  8. mutations: {
  9. // 初始化菜单
  10. InitNavMenu (state, payload) {
  11. if (payload != null) {
  12. session.Set("menus", JSON.stringify(payload), true)
  13. session.Set("isCollapse", "false", false)
  14. }
  15. const menus = JSON.parse(session.Get("menus", true));
  16. menus.forEach(item => {
  17. if(item.name == 'R-User'){
  18. const visibleChildren = item.children.filter(el => el.show);
  19. if (visibleChildren.length === 1 && visibleChildren[0].name === 'R-UserList') {
  20. console.log(visibleChildren[0].btns['R-UserList-Search'].show)
  21. if(visibleChildren[0].btns['R-UserList-Search'].show === false) {
  22. item.show = false
  23. }
  24. }
  25. }
  26. });
  27. state.menus = JSON.parse(session.Get("menus", true));
  28. console.log(state.menus, '---')
  29. state.isCollapse = session.Get("isCollapse", false) == "true" ? true: false
  30. },
  31. // 菜单切换
  32. SetCollapse (state, payload) {
  33. state.isCollapse = payload;
  34. session.Set("isCollapse", payload)
  35. }
  36. }
  37. }