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, // 收款列表口头返佣按钮显示控制 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供应商退款查看(协销自己机构) **/ state.hasLogin = true state.userInfo = provider state.USER_TYPE = provider.userType if(handlebVisible(provider.permissions,4)){// 控制口头返佣按钮显示 state.returnBtnVisible = true console.log('returnBtnVisible',state.returnBtnVisible) } if(handlebVisible(provider.permissions,7)){// 控制审核按钮显示 state.examineBtnVisible = true console.log('examineBtnVisible',state.examineBtnVisible) } if(handlebVisible(provider.permissions,2)){// 控制操作按钮显示 state.handlebBtnVisible = true console.log('handlebBtnVisible',state.handlebBtnVisible) } if(provider.tabMenus){ state.handleListTabs = provider.tabMenus.map(tab => { let name switch(tab){ case 1: name = '订单'; break case 2: name = '非订单'; break case 3: name = '返佣'; break case 5: name = '供应商退款'; break } return { name : name, type : tab } }) 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