| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- 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([]);
- }
- });
- };
|