index.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. });
  65. });
  66. },
  67. GetUserPermission({ commit }, loginAccountId) {
  68. return new Promise((resolve, reject) => {
  69. api.getPermissionByUserId({ loginAccountId }).then((e) => {
  70. let res = e.data.result || [];
  71. let arr = [...new Set([...res, "VOYAGELIST"])];
  72. commit("setUserPermissionData", arr);
  73. localStorage.setItem("rolePermission", arr);
  74. let data = [];
  75. for (let i of menuData) {
  76. if (i.title == "航次") {
  77. data.push(i);
  78. } else {
  79. if (arr.indexOf(i.items[0].code) != -1) {
  80. data.push(i);
  81. }
  82. }
  83. }
  84. commit("setMenuData", data);
  85. });
  86. });
  87. },
  88. },
  89. });
  90. export default store;