useLoginSuccess.js 1.5 KB

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