import Vue from 'vue' import Vuex from 'vuex' import api from '../common/config/caimeiApi.js' import authorize from '../common/config/authorize.js' import { defaultAllTabs, defaultServiceTabs, defaultReturnTabs, defaultListTabsArr } from '../utils/config.tabs.js' Vue.use(Vuex) const handlebVisible = function(arr, val) { return arr.some(item => item === val) } const store = new Vuex.Store({ state: { isWxAuthorize: false, hasLogin: false, userInfo: {}, USER_TYPE: 4, isIphoneX: false, handleListTabs: [], handlebBtnVisible: false, // 收款列表操作按钮显示控制 returnBtnVisible: false, // 收款列表口头返佣按钮显示控制 serviceBtnVisible: false, // 收款列表平台服务费按钮显示控制 examineBtnVisible: false, // 审核详情审核操作按钮显示控制 }, mutations: { login(state, provider) { //用户身份 1协销人员,2客服,3财务,4超级管理员 /** * @用户权限:permissions * @1录入收款,2收款列表操作,3关联订单款,4关联返佣款,5口头返佣,6关联供应商退款,7审核订单款 * @8收款详情分享,9非订单款查看(全部),10订单款查看(全部),11返佣款查看(全部),12供应商退款查看(全部) * @13订单款查看(协销自己机构),14返佣款查看(协销自己机构),15供应商退款查看(协销自己机构) * @20平台服务费 **/ state.hasLogin = true state.userInfo = provider state.USER_TYPE = provider.userType if (handlebVisible(provider.permissions, 4)) { // 控制口头返佣按钮显示 state.returnBtnVisible = true } if (handlebVisible(provider.permissions, 20)) { // 控制平台服务费按钮显示 state.serviceBtnVisible = true } if (handlebVisible(provider.permissions, 7)) { // 控制审核按钮显示 state.examineBtnVisible = true } if (handlebVisible(provider.permissions, 2)) { // 控制操作按钮显示 state.handlebBtnVisible = true } if (provider.tabMenus) { const tabMenus = [] const tabMap = { 1:'订单', 2:'非订单', // 3:'返佣', 5:'供应商退款', 10:'平台服务费' } provider.tabMenus.forEach(type => { if (type != 3) { tabMenus.push({name: tabMap[type], type: type }) } }) state.handleListTabs = tabMenus console.log('handleListTabs', state.handleListTabs) } uni.setStorage({ //缓存用户登陆状态 key: 'userInfo', data: provider }) }, logout(state) { state.hasLogin = false state.userInfo = {} uni.removeStorage({ key: 'userInfo' }) uni.removeStorage({ key: 'token' }) }, updateStatus(state, provider) { let TIME = api.formatDate() console.log(`${TIME}`, provider) state.userInfo = provider state.openid = provider.openid uni.setStorage({ //缓存用户openid key: 'openid', data: provider.openid }) uni.setStorage({ //缓存用户登陆状态 key: 'userInfo', data: provider }) }, setChangeVar(state, variable) { state.isIphoneX = variable }, setIsIphone(state, variable) { // 记录设备信息是否为IphoneX state.isIphone = variable } }, actions: { setVariableFun: function(context, vData) { context.commit('setChangeVar', vData) }, setIsIphoneFun: function(context, vData) { context.commit('setIsIphone', vData) }, } }) export default store