Browse Source

提交问卷默认加上患者信息,处理必填选项展示

wangjian 2 weeks ago
parent
commit
64609d6ae8

+ 34 - 7
pagesAdmin/satisfaction/business/satisfactionQuestions/satisfactionQuestions.vue

@@ -23,7 +23,7 @@
 						:class="item.QuestType == 'SubTitle' ? 'sub_title' : ''"
 					>
 						<view class="ques_title_box">
-							<text class="mustQuest_tag" wx:if="{{item.MustQuest}}">*</text>
+							<text class="mustQuest_tag" v-if="item.MustQuest">*</text>
 							<text v-if="item.QuestType != 'SubTitle'">{{ item.Sort }}.{{ item.Question }}</text>
 							<text v-if="item.QuestType == 'SubTitle'">{{ item.Num }}、{{ item.Question }}</text>
 						</view>
@@ -278,7 +278,7 @@
 						</view>
 						<image class="modal_user_right_img" :src="icon.satisfaction.right"></image>
 					</view>
-					<view class="modal_user_item" wx:else @click="goSelMember">
+					<view class="modal_user_item" v-else @click="goSelMember">
 						<view>点击选择答卷人</view>
 						<image class="modal_user_right_img" :src="icon.satisfaction.right"></image>
 					</view>
@@ -303,6 +303,7 @@ import {
 	UploadZxFile,
 	CommitAnswer_V3,
 	QuerySample_V3,
+	QueryMemberByCard_V3,
 } from '../../service';
 import icon from '@/utils/icon';
 import { common, throttle } from '@/utils';
@@ -343,6 +344,10 @@ let quesAnswers = reactive({
 	AnswerList: [],
 });
 
+let queryPatient = reactive({
+	cardNo: '',
+	cardType: ''
+});
 const { getCurrentUser } = mapGetters({
 	getCurrentUser: 'getCurrentUser',
 });
@@ -918,15 +923,37 @@ const submit = () => {
 			}
 		});
 		
+		const cardNo = currentUser.value?.cardNo ?? ''
+		const cardType = currentUser.value?.cardType ?? ''
+		let mobile = currentUser.value?.mobile ?? ''
+		let memberName = currentUser.value?.memberName ?? ''
+		
+		queryPatient.cardNo = cardNo;
+		queryPatient.cardType = cardType;
+		let patientInfoRes = await QueryMemberByCard_V3(queryPatient);
+		console.log('患者信息:', patientInfoRes);
+		let patientInfo = patientInfoRes.resData;
+		console.log('患者信息:', patientInfo);
+		if (!patientInfo) {
+		  uni.hideLoading();
+		  return;
+		}
+		
+		console.log('患者信息:', patientInfo);
+		
+		if (patientInfo.RespCode === '10000' && patientInfo.Data && patientInfo.Data.length > 0) {
+		  mobile = patientInfo.Data[0].mobile;
+		  memberName = patientInfo.Data[0].memberName;
+		}
+		console.log('mobile:', mobile);
+		console.log('memberName:', memberName);
+		
 		answers.AnswerList = JSON.stringify(quesAnswers.AnswerList);
 		// 安全读取 currentUser 字段,缺失则置空
-		const mobile = currentUser.value?.mobile ?? ''
-		const memberName = currentUser.value?.memberName ?? ''
-		const memberId = currentUser.value?.MemberId ?? currentUser.value?.memberId ?? ''
+		const memberId = currentUser.value?.MemberId ?? currentUser.value?.memberId ?? currentUser.value?.cardNo ?? ''
 		const sex = currentUser.value?.sex ?? ''
 		const age = currentUser.value?.age ?? ''
-		const cardNo = currentUser.value?.cardNo ?? ''
-		const cardType = currentUser.value?.cardType ?? ''
+		
 		// quesAnswers.IP = (await getIP()).cip;
 		// quesAnswers.Location = (await getIP()).cname;
 		quesAnswers.UserAgent = app.globalData.smallPro_systemInfo;

+ 10 - 0
pagesAdmin/satisfaction/service/satisfactionQuestions/index.ts

@@ -55,3 +55,13 @@ export const QueryMemberCardList_V3 = async (queryData: any) => {
 	);
 	return handle.catchPromiseNew(resp, () => resp);
 };
+
+export const QueryMemberByCard_V3 = async (queryData: any) => {
+	const resp = handle.promistHandleNew(
+		await request.doPost(
+			`${REQUEST_CONFIG.BASE_URL}wsgw/accountMember/api/QueryMemberByCard_V3/callApiJSON.do`,
+			queryData
+		)
+	);
+	return handle.catchPromiseNew(resp, () => resp);
+};