user.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import { getMobileUserInfo, getDictOption, loginLog, getReportInfo } from '@/api/index';
  2. const user = {
  3. state: {
  4. userInfo: null,
  5. activaTypeStore: null, //未拜访门店
  6. activaCreateTypeStore: null, //建店未完工、未结案门店
  7. storeType: [],
  8. reportInfo: null,
  9. },
  10. mutations: {
  11. SET_USER_INFO: (state, userInfo) => {
  12. state.userInfo = userInfo;
  13. },
  14. SET_ACTIVA_TYPE_STORE: (state, value) => {
  15. state.activaTypeStore = value;
  16. },
  17. SET_STORE_TYPE: (state, value) => {
  18. state.storeType = value;
  19. },
  20. SET_ACTIVA_CREATE_TYPE_STORE: (state, value) => {
  21. state.activaCreateTypeStore = value;
  22. },
  23. SET_REPORT_INFO: (state, reportInfo) => {
  24. state.reportInfo = reportInfo;
  25. },
  26. },
  27. actions: {
  28. // 获取用户信息
  29. getUserInfo({ dispatch, commit, state }) {
  30. return new Promise((resolve, reject) => {
  31. getMobileUserInfo()
  32. .then((res) => {
  33. commit('SET_USER_INFO', res.data);
  34. localStorage.setItem('nickName', res.data.nickName);
  35. localStorage.setItem('postName', res.data.postName);
  36. localStorage.setItem('zipPhoto', res.data.zipPhoto);
  37. //deptLevel 0:本部;1:公司;2:大区;3:销售部
  38. localStorage.setItem('deptLevel', res.data.depts[0].deptLevel);
  39. localStorage.setItem('userId', res.data.userId);
  40. localStorage.setItem('deptIds', JSON.stringify(res.data.deptIds));
  41. localStorage.setItem('chainUser', res.data.chainUser); //是否经销商用户 true
  42. localStorage.setItem('getRequestFlage', 'true');
  43. // userDeptLevel用户部门等级字段,0-总部,1-公司,2-大区,3-销售部,4-业务员
  44. localStorage.setItem('userDeptLevel', res.data.userDeptLevel);
  45. getReportInfo({ isContent: false }).then((res) => {
  46. if (res.code == 200) {
  47. commit('SET_REPORT_INFO', res.data);
  48. localStorage.setItem('powerGrade', res.data.positionId);
  49. localStorage.setItem('isDiy', res.data.diy);
  50. localStorage.setItem('uType', res.data.userType);
  51. localStorage.setItem('jzType', res.data.jzType);
  52. localStorage.setItem('customerVisits', res.data.customerManagerVisits);
  53. localStorage.setItem('postType', res.data.postType);
  54. localStorage.setItem('reportType', res.data.reportType);
  55. // 门店类型
  56. getDictOption({}, 'sfa_store_type').then((res) => {
  57. commit('SET_STORE_TYPE', res.data);
  58. resolve();
  59. });
  60. }
  61. });
  62. // 登录日志
  63. var appVersion = navigator.appVersion;
  64. var Logapp = appVersion.split('(')[1].split(';');
  65. var arrLog = '';
  66. if (Logapp[0] == 'Linux') {
  67. arrLog = {
  68. browser: navigator.appCodeName,
  69. os: Logapp[1],
  70. phoneBrand: Logapp[2].split('/')[1],
  71. phoneModel: Logapp[2].split('/')[0],
  72. };
  73. } else {
  74. arrLog = {
  75. browser: navigator.appCodeName,
  76. os: Logapp[0],
  77. phoneBrand: '',
  78. phoneModel: '',
  79. };
  80. }
  81. loginLog(arrLog);
  82. })
  83. .catch((error) => {
  84. reject(error);
  85. });
  86. });
  87. },
  88. // 储存提示类-未拜访-从那个店铺类型进入未拜访列表
  89. setActivaTypeStore({ commit }, value) {
  90. commit('SET_ACTIVA_TYPE_STORE', value);
  91. },
  92. // 储存提示类-建店-从那个店铺类型进入未完工、未结案列表
  93. activaCreateTypeStore({ commit }, value) {
  94. commit('SET_ACTIVA_CREATE_TYPE_STORE', value);
  95. },
  96. // 获取用户ReportInfo
  97. getReportInfoDeta({ dispatch, commit, state }) {
  98. return new Promise((resolve, reject) => {
  99. getReportInfo({ isContent: false })
  100. .then((res) => {
  101. if (res.code == 200) {
  102. commit('SET_REPORT_INFO', res.data);
  103. localStorage.setItem('powerGrade', res.data.positionId);
  104. localStorage.setItem('isDiy', res.data.diy);
  105. localStorage.setItem('uType', res.data.userType);
  106. localStorage.setItem('jzType', res.data.jzType);
  107. localStorage.setItem('customerVisits', res.data.customerManagerVisits);
  108. localStorage.setItem('postType', res.data.postType);
  109. localStorage.setItem('reportType', res.data.reportType);
  110. resolve();
  111. }
  112. })
  113. .catch((error) => {
  114. reject(error);
  115. });
  116. });
  117. },
  118. },
  119. };
  120. export default user;