import { createStore } from "vuex"; import api from "../apis/fetch"; import router from "../router"; import { asyncRouterList } from "../router"; import menuData from "../auth/menuData"; console.log(import.meta.env.VITE_PROJECT_ENV); let baseurl = import.meta.env.VITE_BASEURL; const store = createStore({ state: { isLogin: false, firstTitle: "", secondTitle: "", currentMenuItem: "/cargoOwnerManage/cargoOwnerList", baseurl, basePermissionData: [], userPermission: [], menuData: [], baseParentNodes: [], }, getters: {}, mutations: { changefirstTitle(state, text) { state.firstTitle = text; }, changeTitleSecond(state, text) { state.secondTitle = text; }, changeLogin(state, b) { state.isLogin = b; }, setCurrentMenuItem(state, index) { state.currentMenuItem = index; }, setBasePermissionData(state, data) { state.basePermissionData = data; }, setUserPermissionData(state, data) { state.userPermission = data; }, setMenuData(state, data) { state.menuData = data; }, setBaseParentNodes(state, data) { state.baseParentNodes = data; }, }, actions: { GetBasePermissionData({ commit }, loginAccountId) { return new Promise((resolve, reject) => { api.getPermisiionData({ loginAccountId }).then((e) => { let data = e.data.result; let arr = []; function getParentNodes(data) { for (let i of data) { if (i.children.length) { arr.push(i.code); getParentNodes(i.children); } } } getParentNodes(data); commit("setBaseParentNodes", arr); commit("setBasePermissionData", data); }); }); }, GetUserPermission({ commit }, loginAccountId) { return new Promise((resolve, reject) => { api.getPermissionByUserId({ loginAccountId }).then((e) => { let res = e.data.result || []; let arr = [...new Set([...res, "VOYAGELIST"])]; commit("setUserPermissionData", arr); localStorage.setItem("rolePermission", arr); let data = []; for (let i of menuData) { if (i.title == "航次") { data.push(i); } else { if (arr.indexOf(i.items[0].code) != -1) { data.push(i); } } } commit("setMenuData", data); }); }); }, }, }); export default store;