import { usePreserMember } from '../use-preser-member'; import { common } from '../../../utils'; import store from '../../../store'; import { queryMemberCardList_V3 } from '../common'; /** * 获取就诊人 * @param {string} type * memberList: 查询就诊人列表,仅返回就诊人列表 * * cardList: 查询就诊人列表并循环查询卡列表,返回所有就诊人下的所有卡 * * defaultList: 查询就诊人列表,返回所有人列表,如果有默认就诊人就返回默认就诊人的就诊卡,如果没有就选第0条 * * defaultInfo: 获取默认人下的所有卡,搭配cardType并过滤不是默认卡,仅返回默认cardTyp类型组合的一个对象 * @param {number} cardType (type为获取默认操作人,才有效果,1:获取默认人下默认就诊卡;14:取默认人下默认住院号) */ export const useGetMember = async (type = 'memberList', cardType = 1) => { return new Promise(async (resolve) => { let resp = uni.getStorageSync('memberList') || []; let memberList = []; let currentUser = {} as any; if (!resp.length) { await usePreserMember(); resp = store.state.memberList; } if (common.isNotEmpty(resp)) { memberList = resp; // 判断为获取默认就诊人 if (type == 'defaultInfo') { let memberLists = memberList.filter((item) => item.userMemberList[0].isDefaultMember == 1); // 判断过滤默认操作人 if (common.isNotEmpty(memberLists)) { currentUser = memberLists[0]; } else { // 没有默认操作人查询人列表第一条 currentUser = memberList[0]; } if (common.isNotEmpty(cardType)) { let { resp } = await queryMemberCardList_V3(currentUser.memberId); if (common.isNotEmpty(resp)) { currentUser.data_1 = resp; } } resolve(currentUser); } // 判断为获取默认列表 返回所有人列表,如果有默认就诊人就返回默认就诊人的就诊卡,如果没有就选第0条 if (type == 'defaultList') { let memberListIndex = 0; let userInfo = memberList[memberListIndex]; memberList.forEach((item, index) => { if (item.userMemberList[0].isDefaultMember == 1) { userInfo = item; memberListIndex = index; } }); let { resp } = await queryMemberCardList_V3(userInfo.memberId); if (common.isNotEmpty(resp)) { memberList[memberListIndex].data_1 = resp; } resolve(memberList); } // 判断为获取所有人下所有卡列数据 if (type == 'cardList') { for (var item of memberList) { let resp = await queryMemberCardList_V3(item.memberId); if (common.isNotEmpty(resp)) { item.Data_1 = resp; } else { item.Data_1 = []; } } } resolve(memberList); } else { resolve([]); } }); };