useLoginSuccess.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { useLoginUserStore } from '@/stores/loginUser'
  2. import { useIncidentListSearchStore } from '@/stores/incidentListSearch'
  3. const loginUserStore = useLoginUserStore()
  4. const incidentListSearchStore = useIncidentListSearchStore();
  5. export function useLoginSuccess() {
  6. /**
  7. * 登录成功后的操作
  8. */
  9. const loginSuccess = (user) => {
  10. loginUserStore.setLoginHospital(user.infoPermission.hospitals);
  11. loginUserStore.setLoginUser(user.user);
  12. loginUserStore.setLoginUserMenu(user.menu);
  13. loginUserStore.setInfoPermission(user.infoPermission);
  14. incidentListSearchStore.clearIncidentListSearchData();
  15. let loginType = uni.getStorageSync('loginType'); //1:处理 2:报修
  16. // 判断用户标识是否为处理人
  17. if (user.user.engineer === 1) {
  18. if(loginType==1){
  19. uni.reLaunch({
  20. url: "/pages/incidentList/incidentList"
  21. })
  22. }else if(loginType==2){
  23. uni.reLaunch({
  24. url: "/pages/repair/home"
  25. })
  26. }
  27. } else {
  28. if(loginType==1){
  29. uni.reLaunch({
  30. url: "/pages/repairEntrance/repairEntrance"
  31. })
  32. }else if(loginType==2){
  33. uni.reLaunch({
  34. url: "/pages/repair/home"
  35. })
  36. }
  37. }
  38. }
  39. // 处理树数据(parent格式转为children格式)
  40. const transform = (data) =>{
  41. let nodes = data.menu
  42. let parents = [];
  43. const idMapping = nodes.reduce((acc, el, i) => {
  44. acc[el.id] = i;
  45. return acc;
  46. }, {});
  47. nodes.forEach((el) => {
  48. if (el.parentid === null || el.parentid === undefined) {
  49. parents.push(el);
  50. } else {
  51. const parentEl = nodes[idMapping[el.parentid]];
  52. parentEl.childrens = [...(parentEl.childrens || []), el];
  53. }
  54. });
  55. uni.setStorageSync('menuList',JSON.stringify(parents));
  56. }
  57. return {
  58. loginSuccess,
  59. transform
  60. };
  61. }