user.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import { getMobileUserInfo, getDictOption, loginLog } from '@/api/index';
  2. const user = {
  3. state: {
  4. userInfo: null,
  5. activaTypeStore: null, //未拜访门店
  6. activaCreateTypeStore: null, //建店未完工、未结案门店
  7. storeType: [],
  8. },
  9. mutations: {
  10. SET_USER_INFO: (state, userInfo) => {
  11. state.userInfo = userInfo;
  12. },
  13. SET_ACTIVA_TYPE_STORE: (state, value) => {
  14. state.activaTypeStore = value;
  15. },
  16. SET_STORE_TYPE: (state, value) => {
  17. state.storeType = value;
  18. },
  19. SET_ACTIVA_CREATE_TYPE_STORE: (state, value) => {
  20. state.activaCreateTypeStore = value;
  21. },
  22. },
  23. actions: {
  24. // 获取用户信息
  25. getUserInfo({ dispatch, commit, state }) {
  26. return new Promise((resolve, reject) => {
  27. getMobileUserInfo()
  28. .then((res) => {
  29. commit('SET_USER_INFO', res.data);
  30. localStorage.setItem('nickName', res.data.nickName);
  31. localStorage.setItem('postName', res.data.postName);
  32. localStorage.setItem('zipPhoto', res.data.zipPhoto);
  33. //deptLevel 0:本部;1:公司;2:大区;3:销售部
  34. localStorage.setItem('deptLevel', res.data.depts[0].deptLevel);
  35. localStorage.setItem('userId', res.data.userId);
  36. localStorage.setItem('deptIds', JSON.stringify(res.data.deptIds));
  37. localStorage.setItem('chainUser', res.data.chainUser); //是否经销商用户 true
  38. localStorage.setItem('getRequestFlage', 'true');
  39. // userDeptLevel用户部门等级字段,0-总部,1-公司,2-大区,3-销售部,4-业务员
  40. localStorage.setItem('userDeptLevel', res.data.userDeptLevel);
  41. // 门店类型
  42. getDictOption({}, 'sfa_store_type').then((res) => {
  43. commit('SET_STORE_TYPE', res.data);
  44. resolve();
  45. });
  46. // 登录日志
  47. var appVersion = navigator.appVersion;
  48. var Logapp = appVersion.split('(')[1].split(';');
  49. var arrLog = '';
  50. if (Logapp[0] == 'Linux') {
  51. arrLog = {
  52. browser: navigator.appCodeName,
  53. os: Logapp[1],
  54. phoneBrand: Logapp[2].split('/')[1],
  55. phoneModel: Logapp[2].split('/')[0],
  56. };
  57. } else {
  58. arrLog = {
  59. browser: navigator.appCodeName,
  60. os: Logapp[0],
  61. phoneBrand: '',
  62. phoneModel: '',
  63. };
  64. }
  65. loginLog(arrLog);
  66. })
  67. .catch((error) => {
  68. reject(error);
  69. });
  70. });
  71. },
  72. // 储存提示类-未拜访-从那个店铺类型进入未拜访列表
  73. setActivaTypeStore({ commit }, value) {
  74. commit('SET_ACTIVA_TYPE_STORE', value);
  75. },
  76. // 储存提示类-建店-从那个店铺类型进入未完工、未结案列表
  77. activaCreateTypeStore({ commit }, value) {
  78. commit('SET_ACTIVA_CREATE_TYPE_STORE', value);
  79. },
  80. },
  81. };
  82. export default user;