|
|
@@ -359,6 +359,7 @@ let quesAnswers = reactive({
|
|
|
UserName: '',
|
|
|
Sex: '',
|
|
|
Age: '',
|
|
|
+ IdCard: '',
|
|
|
ThirdPartyId: '',
|
|
|
AnswerUseTime: 0,
|
|
|
PushDept: '',
|
|
|
@@ -373,6 +374,20 @@ let queryPatient = reactive({
|
|
|
cardNo: '',
|
|
|
cardType: ''
|
|
|
});
|
|
|
+
|
|
|
+const getAgeByBirthDate = (birthDate = '') => {
|
|
|
+ const birth = `${birthDate}`.replace(/-/g, '');
|
|
|
+ if (!/^\d{8}$/.test(birth)) return '';
|
|
|
+ const year = Number(birth.slice(0, 4));
|
|
|
+ const month = Number(birth.slice(4, 6));
|
|
|
+ const day = Number(birth.slice(6, 8));
|
|
|
+ const today = new Date();
|
|
|
+ let age = today.getFullYear() - year;
|
|
|
+ if (today.getMonth() + 1 < month || (today.getMonth() + 1 === month && today.getDate() < day)) {
|
|
|
+ age--;
|
|
|
+ }
|
|
|
+ return age >= 0 ? `${age}` : '';
|
|
|
+};
|
|
|
const { getCurrentUser } = mapGetters({
|
|
|
getCurrentUser: 'getCurrentUser',
|
|
|
});
|
|
|
@@ -1027,11 +1042,15 @@ const submit = () => {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- const cardNo = currentUser.value?.cardNo ?? ''
|
|
|
- const cardType = currentUser.value?.cardType ?? ''
|
|
|
- let mobile = currentUser.value?.mobile ?? ''
|
|
|
- let memberName = currentUser.value?.memberName ?? ''
|
|
|
-
|
|
|
+ const cardNo = currentUser.value?.cardNo ?? '';
|
|
|
+ const cardType = currentUser.value?.cardType ?? '';
|
|
|
+ let mobile = currentUser.value?.mobile ?? '';
|
|
|
+ let memberName = currentUser.value?.memberName ?? '';
|
|
|
+ let sex = currentUser.value?.sex ?? '';
|
|
|
+ let age = currentUser.value?.age ?? '';
|
|
|
+ let idCard = currentUser.value?.idCard ?? currentUser.value?.certNum ?? '';
|
|
|
+ let memberId = currentUser.value?.MemberId ?? currentUser.value?.memberId ?? currentUser.value?.cardNo ?? '';
|
|
|
+
|
|
|
queryPatient.cardNo = cardNo;
|
|
|
queryPatient.cardType = cardType;
|
|
|
let patientInfoRes = await QueryMemberByCard_V3(queryPatient);
|
|
|
@@ -1042,16 +1061,17 @@ const submit = () => {
|
|
|
}
|
|
|
|
|
|
if (patientInfo.RespCode === '10000' && patientInfo.Data && patientInfo.Data.length > 0) {
|
|
|
- mobile = patientInfo.Data[0].mobile;
|
|
|
- memberName = patientInfo.Data[0].memberName;
|
|
|
+ const patient = patientInfo.Data[0];
|
|
|
+ mobile = patient.mobile || mobile;
|
|
|
+ memberName = patient.memberName || memberName;
|
|
|
+ sex = patient.sex || sex;
|
|
|
+ age = currentUser.value?.age || getAgeByBirthDate(patient.birthDate);
|
|
|
+ idCard = patient.certNum || idCard;
|
|
|
+ memberId = patient.hisMemberId || patient.memberId || memberId;
|
|
|
}
|
|
|
|
|
|
answers.AnswerList = JSON.stringify(quesAnswers.AnswerList);
|
|
|
- // 安全读取 currentUser 字段,缺失则置空
|
|
|
- const memberId = currentUser.value?.MemberId ?? currentUser.value?.memberId ?? currentUser.value?.cardNo ?? ''
|
|
|
- const sex = currentUser.value?.sex ?? ''
|
|
|
- const age = currentUser.value?.age ?? ''
|
|
|
-
|
|
|
+
|
|
|
// quesAnswers.IP = (await getIP()).cip;
|
|
|
// quesAnswers.Location = (await getIP()).cname;
|
|
|
quesAnswers.UserAgent = app.globalData.smallPro_systemInfo;
|
|
|
@@ -1060,6 +1080,7 @@ const submit = () => {
|
|
|
quesAnswers.MemberId = memberId;
|
|
|
quesAnswers.Sex = sex;
|
|
|
quesAnswers.Age = age;
|
|
|
+ quesAnswers.IdCard = idCard;
|
|
|
quesAnswers.ThirdPartyId = memberId || uni.getStorageSync('openid');
|
|
|
quesAnswers.BedNo = '';
|
|
|
quesAnswers.HospitalNo = objType.value == '4' ? cardNo : '';
|