index.js 3.6 KB

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