index.ts 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. import { usePreserMember } from '../use-preser-member';
  2. import { common } from '../../../utils';
  3. import store from '../../../store';
  4. import { queryMemberCardList_V3 } from '../common';
  5. /**
  6. * 获取就诊人
  7. * @param {string} type
  8. * memberList: 查询就诊人列表,仅返回就诊人列表
  9. *
  10. * cardList: 查询就诊人列表并循环查询卡列表,返回所有就诊人下的所有卡
  11. *
  12. * defaultList: 查询就诊人列表,返回所有人列表,如果有默认就诊人就返回默认就诊人的就诊卡,如果没有就选第0条
  13. *
  14. * defaultInfo: 获取默认人下的所有卡,搭配cardType并过滤不是默认卡,仅返回默认cardTyp类型组合的一个对象
  15. * @param {number} cardType (type为获取默认操作人,才有效果,1:获取默认人下默认就诊卡;14:取默认人下默认住院号)
  16. */
  17. export const useGetMember = async (type = 'memberList', cardType = 1) => {
  18. return new Promise(async (resolve) => {
  19. let resp = uni.getStorageSync('memberList') || [];
  20. let memberList = [];
  21. let currentUser = {} as any;
  22. if (!resp.length) {
  23. await usePreserMember();
  24. resp = store.state.memberList;
  25. }
  26. if (common.isNotEmpty(resp)) {
  27. memberList = resp;
  28. // 判断为获取默认就诊人
  29. if (type == 'defaultInfo') {
  30. let memberLists = memberList.filter((item) => item.userMemberList[0].isDefaultMember == 1);
  31. // 判断过滤默认操作人
  32. if (common.isNotEmpty(memberLists)) {
  33. currentUser = memberLists[0];
  34. } else {
  35. // 没有默认操作人查询人列表第一条
  36. currentUser = memberList[0];
  37. }
  38. if (common.isNotEmpty(cardType)) {
  39. let { resp } = await queryMemberCardList_V3(currentUser.memberId);
  40. if (common.isNotEmpty(resp)) {
  41. currentUser.data_1 = resp;
  42. }
  43. }
  44. resolve(currentUser);
  45. }
  46. // 判断为获取默认列表 返回所有人列表,如果有默认就诊人就返回默认就诊人的就诊卡,如果没有就选第0条
  47. if (type == 'defaultList') {
  48. let memberListIndex = 0;
  49. let userInfo = memberList[memberListIndex];
  50. memberList.forEach((item, index) => {
  51. if (item.userMemberList[0].isDefaultMember == 1) {
  52. userInfo = item;
  53. memberListIndex = index;
  54. }
  55. });
  56. let { resp } = await queryMemberCardList_V3(userInfo.memberId);
  57. if (common.isNotEmpty(resp)) {
  58. memberList[memberListIndex].data_1 = resp;
  59. }
  60. resolve(memberList);
  61. }
  62. // 判断为获取所有人下所有卡列数据
  63. if (type == 'cardList') {
  64. for (var item of memberList) {
  65. let resp = await queryMemberCardList_V3(item.memberId);
  66. if (common.isNotEmpty(resp)) {
  67. item.Data_1 = resp;
  68. } else {
  69. item.Data_1 = [];
  70. }
  71. }
  72. }
  73. resolve(memberList);
  74. } else {
  75. resolve([]);
  76. }
  77. });
  78. };