index.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. import { createStore } from "vuex";
  2. import api from "../apis/fetch";
  3. import router from "../router";
  4. import { asyncRouterList } from "../router";
  5. import menuData from "../auth/menuData";
  6. console.log(import.meta.env.VITE_PROJECT_ENV);
  7. let baseurl = import.meta.env.VITE_BASEURL;
  8. const store = createStore({
  9. state: {
  10. isLogin: false,
  11. firstTitle: "",
  12. secondTitle: "",
  13. currentMenuItem: "/cargoOwnerManage/cargoOwnerList",
  14. baseurl,
  15. basePermissionData: [],
  16. userPermission: [],
  17. menuData: [],
  18. baseParentNodes: [],
  19. },
  20. getters: {},
  21. mutations: {
  22. changefirstTitle(state, text) {
  23. state.firstTitle = text;
  24. },
  25. changeTitleSecond(state, text) {
  26. state.secondTitle = text;
  27. },
  28. changeLogin(state, b) {
  29. state.isLogin = b;
  30. },
  31. setCurrentMenuItem(state, index) {
  32. state.currentMenuItem = index;
  33. },
  34. setBasePermissionData(state, data) {
  35. state.basePermissionData = data;
  36. },
  37. setUserPermissionData(state, data) {
  38. state.userPermission = data;
  39. },
  40. setMenuData(state, data) {
  41. state.menuData = data;
  42. },
  43. setBaseParentNodes(state, data) {
  44. state.baseParentNodes = data;
  45. },
  46. },
  47. actions: {
  48. GetBasePermissionData({ commit }, loginAccountId) {
  49. return new Promise((resolve, reject) => {
  50. api.getPermisiionData({ loginAccountId }).then((e) => {
  51. let data = e.data.result;
  52. let arr = [];
  53. function getParentNodes(data) {
  54. for (let i of data) {
  55. if (i.children.length) {
  56. arr.push(i.code);
  57. getParentNodes(i.children);
  58. }
  59. }
  60. }
  61. getParentNodes(data);
  62. commit("setBaseParentNodes", arr);
  63. commit("setBasePermissionData", data);
  64. resolve(1);
  65. });
  66. });
  67. },
  68. GetUserPermission({ commit }, loginAccountId) {
  69. return new Promise((resolve, reject) => {
  70. api.getPermissionByUserId({ loginAccountId }).then((e) => {
  71. let res = e.data.result || [];
  72. let arr = [...new Set([...res])];
  73. commit("setUserPermissionData", arr);
  74. localStorage.setItem("rolePermission", arr);
  75. let data = [];
  76. for (let i in menuData) {
  77. // if (menuData[i].title == "航次管理") {
  78. // data[i] = menuData[i];
  79. // } else {
  80. if (arr.indexOf(menuData[i].code) != -1) {
  81. data[i] = menuData[i];
  82. let arr0 = [];
  83. for (let j in data[i].items) {
  84. if (arr.indexOf(data[i].items[j].code) != -1) {
  85. arr0.push(data[i].items[j]);
  86. }
  87. }
  88. data[i].items = arr0;
  89. }
  90. // }
  91. }
  92. data = data.filter((item) => {
  93. return item;
  94. });
  95. commit("setMenuData", data);
  96. resolve(1);
  97. });
  98. });
  99. },
  100. },
  101. });
  102. export default store;