index.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  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. serviceBtnVisible: false, // 收款列表平台服务费按钮显示控制
  26. examineBtnVisible: false, // 审核详情审核操作按钮显示控制
  27. },
  28. mutations: {
  29. login(state, provider) {
  30. //用户身份 1协销人员,2客服,3财务,4超级管理员
  31. /**
  32. * @用户权限:permissions
  33. * @1录入收款,2收款列表操作,3关联订单款,4关联返佣款,5口头返佣,6关联供应商退款,7审核订单款
  34. * @8收款详情分享,9非订单款查看(全部),10订单款查看(全部),11返佣款查看(全部),12供应商退款查看(全部)
  35. * @13订单款查看(协销自己机构),14返佣款查看(协销自己机构),15供应商退款查看(协销自己机构)
  36. * @20平台服务费
  37. **/
  38. state.hasLogin = true
  39. state.userInfo = provider
  40. state.USER_TYPE = provider.userType
  41. if (handlebVisible(provider.permissions, 4)) { // 控制口头返佣按钮显示
  42. state.returnBtnVisible = true
  43. }
  44. if (handlebVisible(provider.permissions, 20)) { // 控制平台服务费按钮显示
  45. state.serviceBtnVisible = true
  46. }
  47. if (handlebVisible(provider.permissions, 7)) { // 控制审核按钮显示
  48. state.examineBtnVisible = true
  49. }
  50. if (handlebVisible(provider.permissions, 2)) { // 控制操作按钮显示
  51. state.handlebBtnVisible = true
  52. }
  53. if (provider.tabMenus) {
  54. const tabMenus = []
  55. const tabMap = {
  56. 1:'订单',
  57. 2:'非订单',
  58. // 3:'返佣',
  59. 5:'供应商退款',
  60. 10:'平台服务费'
  61. }
  62. provider.tabMenus.forEach(type => {
  63. if (type != 3) {
  64. tabMenus.push({name: tabMap[type], type: type })
  65. }
  66. })
  67. state.handleListTabs = tabMenus
  68. console.log('handleListTabs', state.handleListTabs)
  69. }
  70. uni.setStorage({ //缓存用户登陆状态
  71. key: 'userInfo',
  72. data: provider
  73. })
  74. },
  75. logout(state) {
  76. state.hasLogin = false
  77. state.userInfo = {}
  78. uni.removeStorage({
  79. key: 'userInfo'
  80. })
  81. uni.removeStorage({
  82. key: 'token'
  83. })
  84. },
  85. updateStatus(state, provider) {
  86. let TIME = api.formatDate()
  87. console.log(`${TIME}`, provider)
  88. state.userInfo = provider
  89. state.openid = provider.openid
  90. uni.setStorage({ //缓存用户openid
  91. key: 'openid',
  92. data: provider.openid
  93. })
  94. uni.setStorage({ //缓存用户登陆状态
  95. key: 'userInfo',
  96. data: provider
  97. })
  98. },
  99. setChangeVar(state, variable) {
  100. state.isIphoneX = variable
  101. },
  102. setIsIphone(state, variable) { // 记录设备信息是否为IphoneX
  103. state.isIphone = variable
  104. }
  105. },
  106. actions: {
  107. setVariableFun: function(context, vData) {
  108. context.commit('setChangeVar', vData)
  109. },
  110. setIsIphoneFun: function(context, vData) {
  111. context.commit('setIsIphone', vData)
  112. },
  113. }
  114. })
  115. export default store