user.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import {getPermissionsMenu} from '@/api/system';
  2. export default {
  3. namespaced: true,
  4. state: {
  5. patiensInfo: sessionStorage.getItem('patiensInfo') ? JSON.parse(sessionStorage.getItem('patiensInfo')) : null, // 病人信息
  6. // userInfo: sessionStorage.getItem('userinfo') ? JSON.parse(sessionStorage.getItem('userinfo')) : {}, // 当前登录用户信息
  7. userInfo: sessionStorage.getItem('userinfo') ? JSON.parse(sessionStorage.getItem('userinfo')) : {}, // 当前登录用户信息
  8. permissions: sessionStorage.getItem('permissions') ? JSON.parse(sessionStorage.getItem('permissions')) : [], // 权限标识
  9. isSeeDoctor: sessionStorage.getItem('isSeeDoctor') ? sessionStorage.getItem('isSeeDoctor') : true, // 当前状态是就诊还是查看
  10. preNo: sessionStorage.getItem('edit_preNo') ? sessionStorage.getItem('edit_preNo') : '', // 当前(进入)状态是修改处方还是创建处方
  11. outpatientDiagnosis: sessionStorage.getItem('outpatientDiagnosis') ? sessionStorage.getItem('outpatientDiagnosis') : null, // 转病例到中医诊断
  12. emr: sessionStorage.getItem('emrDiagnosis') ? sessionStorage.getItem('emrDiagnosis') : null // 转病历到电子病历
  13. },
  14. mutations: {
  15. setPatiensInfo(state, data) {
  16. this.commit('user/setPreNo', '')
  17. sessionStorage.setItem('patiensInfo', JSON.stringify(data))
  18. state.patiensInfo = data
  19. },
  20. setUserinfo(state, data) {
  21. sessionStorage.setItem('userinfo', JSON.stringify(data))
  22. state.userInfo = data
  23. },
  24. setPermissions(state, data) {
  25. sessionStorage.setItem('permissions', JSON.stringify(data));
  26. state.permissions = data;
  27. },
  28. setIsSee(state, data) {
  29. sessionStorage.setItem('isSeeDoctor', data)
  30. state.isSeeDoctor = data
  31. },
  32. setPreNo(state, value) {
  33. sessionStorage.setItem('edit_preNo', value)
  34. state.preNo = value
  35. },
  36. // 患者转病历
  37. setOutpatientDiagnosis(state, data) {
  38. sessionStorage.setItem('outpatientDiagnosis', data)
  39. state.outpatientDiagnosis = data
  40. },
  41. setEmrDiagnosis(state, data) {
  42. sessionStorage.setItem('emrDiagnosis', data)
  43. state.emr = data
  44. }
  45. },
  46. getters: {
  47. user(state) {
  48. return state
  49. }
  50. },
  51. actions: {
  52. async setUserinfoAndPermissions(state, data) {
  53. state.commit('setUserinfo', data);
  54. let permissions = [];
  55. try {
  56. const roles = data.roles.map(item => getPermissionsMenu({RoleID: item.roleid}).then(res => res.Data.RoleRight.split(',')).catch(() => []));
  57. const results = await Promise.all(roles);
  58. permissions = [...new Set(results.flat(1))];
  59. } catch (e) {}
  60. state.commit('setPermissions', permissions);
  61. },
  62. }
  63. };