Kaynağa Gözat

fix: 门诊缴费支付时添加loading

carver 2 yıl önce
ebeveyn
işleme
99eb4ca630

+ 59 - 54
antbuilder/industry/hospitalV2/components/hospital-payment-detail/index.js

@@ -140,55 +140,36 @@ Component({
 		async onPay(e) {
 			const { medicareBinded = false } = e.target.dataset;
 			const { order: oreder } = this.data;
+			try {
+				// 获取授权
+				await getSubscribeAuth();
 
-			// 获取智能消息推送授权
-			await getSubscribeAuth();
-
-			if (oreder.type === 1) {
-				await tradePay(
-					{
-						type: oreder.type,
-						idNum: oreder.outTradeNo,
-						depName: oreder.depName,
-					},
-					{
-						tradeType: "Appointment",
-					}
-				);
-			} else if (oreder.type === 2) {
-				// 充值
-				await tradePay(
-					{
-						type: oreder.type,
-						idNum: oreder.outTradeNo,
-						amount: oreder.amount,
-					},
-					{
-						tradeType: "Appointment",
-					}
-				);
-			} else {
-				// 门诊订单
-				const {
-					hisPatientId,
-					age,
-					sex,
-					orderId,
-					hisOrderNo,
-					amount,
-					deptName,
-					doctorName,
-					doctorCode,
-					total,
-					hisClinicCode,
-					name,
-					prescribeDate,
-				} = oreder;
-				await tradePay(
-					{
-						useBalance: !medicareBinded,
-						useMedicare: medicareBinded,
-						outTradeNo: oreder.outTradeNo,
+				if (oreder.type === 1) {
+					await tradePay(
+						{
+							type: oreder.type,
+							idNum: oreder.outTradeNo,
+							depName: oreder.depName,
+						},
+						{
+							tradeType: "Appointment",
+						}
+					);
+				} else if (oreder.type === 2) {
+					// 充值
+					await tradePay(
+						{
+							type: oreder.type,
+							idNum: oreder.outTradeNo,
+							amount: oreder.amount,
+						},
+						{
+							tradeType: "Appointment",
+						}
+					);
+				} else {
+					// 门诊订单
+					const {
 						hisPatientId,
 						age,
 						sex,
@@ -202,12 +183,36 @@ Component({
 						hisClinicCode,
 						name,
 						prescribeDate,
-					},
-					{
-						tradeType: "Outpatient",
-					}
-				);
-			} // 支付成功刷新页面
+					} = oreder;
+					await tradePay(
+						{
+							useBalance: !medicareBinded,
+							useMedicare: medicareBinded,
+							outTradeNo: oreder.outTradeNo,
+							hisPatientId,
+							age,
+							sex,
+							orderId,
+							hisOrderNo,
+							amount,
+							deptName,
+							doctorName,
+							doctorCode,
+							total,
+							hisClinicCode,
+							name,
+							prescribeDate,
+						},
+						{
+							tradeType: "Outpatient",
+						}
+					);
+				}
+			} catch (error) {
+			} finally {
+				my.hideLoading();
+			}
+			// 支付成功刷新页面
 
 			this.payDetail(this.$page.data.query); // 支付成功以后,发起消息订阅
 

+ 47 - 41
antbuilder/industry/hospitalV2/components/hospital-payment/index.js

@@ -153,47 +153,53 @@ Component({
 		// 付款
 		async onPayment(e) {
 			const { medicareBinded = false, item } = e.target.dataset; // 同意订阅消息后发起支付
-			// 获取智能消息推送授权
-			await getSubscribeAuth();
-			// 挂号
-			if (item.type === 1) {
-				await tradePay(
-					{
-						type: item.type,
-						idNum: item.outTradeNo,
-						depName: item.depName,
-					},
-					{
-						tradeType: "Appointment",
-					}
-				);
-			} else if (item.type === 2) {
-				// 充值
-				await tradePay(
-					{
-						type: item.type,
-						idNum: item.outTradeNo,
-						amount: item.amount,
-					},
-					{
-						tradeType: "Appointment",
-					}
-				);
-			} else {
-				// 门诊订单
-				await tradePay(
-					{
-						useBalance: !medicareBinded,
-						useMedicare: medicareBinded,
-						outTradeNo: item.outTradeNo,
-						...item,
-					},
-					{
-						tradeType: "Outpatient",
-					}
-				);
-			} // 支付成功去订单详情页
-
+			try {
+				my.showLoading();
+				// 获取智能消息推送授权
+				await getSubscribeAuth();
+				// 挂号
+				if (item.type === 1) {
+					await tradePay(
+						{
+							type: item.type,
+							idNum: item.outTradeNo,
+							depName: item.depName,
+						},
+						{
+							tradeType: "Appointment",
+						}
+					);
+				} else if (item.type === 2) {
+					// 充值
+					await tradePay(
+						{
+							type: item.type,
+							idNum: item.outTradeNo,
+							amount: item.amount,
+						},
+						{
+							tradeType: "Appointment",
+						}
+					);
+				} else {
+					// 门诊订单
+					await tradePay(
+						{
+							useBalance: !medicareBinded,
+							useMedicare: medicareBinded,
+							outTradeNo: item.outTradeNo,
+							...item,
+						},
+						{
+							tradeType: "Outpatient",
+						}
+					);
+				}
+			} catch (error) {
+			} finally {
+				my.hideLoading();
+			}
+			// 支付成功去订单详情页
 			this.toDetail({
 				target: {
 					dataset: {