index.js 3.0 KB

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