index.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import api from '../common/config/caimeiApi.js'
  4. import authorize from '../common/config/authorize.js'
  5. import {
  6. defaultAllTabs,
  7. defaultServiceTabs ,
  8. defaultReturnTabs,
  9. defaultListTabsArr
  10. } from '../utils/config.tabs.js'
  11. Vue.use(Vuex)
  12. const handlebVisible = function(arr,val){
  13. return arr.some(item => item === val)
  14. }
  15. const store = new Vuex.Store({
  16. state: {
  17. isWxAuthorize: false,
  18. hasLogin: false,
  19. userInfo: {},
  20. USER_TYPE:4,
  21. isIphoneX: false,
  22. handleListTabs:[],
  23. handlebBtnVisible:false, // 收款列表操作按钮显示控制
  24. returnBtnVisible:false, // 收款列表口头返佣按钮显示控制
  25. examineBtnVisible:false, // 审核详情审核操作按钮显示控制
  26. },
  27. mutations: {
  28. login(state, provider) {
  29. //用户身份 1协销人员,2客服,3财务,4超级管理员
  30. /**
  31. * @用户权限:permissions
  32. * @1录入收款,2收款列表操作,3关联订单款,4关联返佣款,5口头返佣,6关联供应商退款,7审核订单款
  33. * @8收款详情分享,9非订单款查看(全部),10订单款查看(全部),11返佣款查看(全部),12供应商退款查看(全部)
  34. * @13订单款查看(协销自己机构),14返佣款查看(协销自己机构),15供应商退款查看(协销自己机构)
  35. **/
  36. state.hasLogin = true
  37. state.userInfo = provider
  38. state.USER_TYPE = provider.userType
  39. if(handlebVisible(provider.permissions,4)){// 控制口头返佣按钮显示
  40. state.returnBtnVisible = true
  41. console.log('returnBtnVisible',state.returnBtnVisible)
  42. }
  43. if(handlebVisible(provider.permissions,7)){// 控制审核按钮显示
  44. state.examineBtnVisible = true
  45. console.log('examineBtnVisible',state.examineBtnVisible)
  46. }
  47. if(handlebVisible(provider.permissions,2)){// 控制操作按钮显示
  48. state.handlebBtnVisible = true
  49. console.log('handlebBtnVisible',state.handlebBtnVisible)
  50. }
  51. if(provider.tabMenus){
  52. state.handleListTabs = provider.tabMenus.map(tab => {
  53. let name
  54. switch(tab){
  55. case 1: name = '订单'; break
  56. case 2: name = '非订单'; break
  57. case 3: name = '返佣'; break
  58. case 5: name = '供应商退款'; break
  59. }
  60. return { name : name, type : tab }
  61. })
  62. console.log('handleListTabs',state.handleListTabs)
  63. }
  64. uni.setStorage({ //缓存用户登陆状态
  65. key: 'userInfo',
  66. data: provider
  67. })
  68. },
  69. logout(state) {
  70. state.hasLogin = false
  71. state.userInfo = {}
  72. uni.removeStorage({
  73. key: 'userInfo'
  74. })
  75. uni.removeStorage({
  76. key: 'token'
  77. })
  78. },
  79. updateStatus(state, provider) {
  80. let TIME = api.formatDate()
  81. console.log(`${TIME}`, provider)
  82. state.userInfo = provider
  83. state.openid = provider.openid
  84. uni.setStorage({ //缓存用户openid
  85. key: 'openid',
  86. data: provider.openid
  87. })
  88. uni.setStorage({ //缓存用户登陆状态
  89. key: 'userInfo',
  90. data: provider
  91. })
  92. },
  93. setChangeVar(state, variable) {
  94. state.isIphoneX = variable
  95. },
  96. setIsIphone(state, variable) { // 记录设备信息是否为IphoneX
  97. state.isIphone = variable
  98. }
  99. },
  100. actions: {
  101. setVariableFun: function(context, vData) {
  102. context.commit('setChangeVar', vData)
  103. },
  104. setIsIphoneFun: function(context, vData) {
  105. context.commit('setIsIphone', vData)
  106. },
  107. }
  108. })
  109. export default store