| 
					
				 | 
			
			
				@@ -35,6 +35,7 @@ import MSticky from '@/components/m-sticky'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useRoute, useRouter } from 'vue-router'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useStudentRegisterStore } from '@/store/modules/student-register-store'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import request from '@/helpers/request'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import requestStudent from './request' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { browser, checkPhone, getUrlCode, moneyFormat } from '@/helpers/utils'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import deepClone from '@/helpers/deep-clone'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import OWxTip from '@/components/m-wx-tip'; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -144,6 +145,10 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       loading: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dialogStatus: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dialogMessage: '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      confirmButtonText: '确定', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      cancelButtonText: '取消', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      messageAlign: 'center' as 'left' | 'center' | 'right', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       dialogConfirmStatus: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       contract_sign: false, // 是否实名认证 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       countDownTimePay: 60 * 1000, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -591,34 +596,119 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const paymentOrderUnpaid = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let result = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const { data } = await request.get('/edu-app/userPaymentOrder/unpaid'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await request.get( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '/edu-app/userPaymentOrder/schoolRegisterOrder?schoolId=' + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.schoolId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 判断是否有待支付订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (!data.id) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (data && data.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let isPadding = false; // 是否有待支付订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let paddingConfig = {} as any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let isFinal = false; // 是否有完成订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let finalConfig = {} as any; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          data.forEach((element: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 判断是否待支付 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (element.status === 'PAYING' || element.status === 'WAIT_PAY') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              isPadding = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              paddingConfig = element.paymentConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              element.status === 'PAID' || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              element.status === 'PART_REFUNDED' || 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              element.status === 'REFUNDED' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              isFinal = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              finalConfig = element.paymentConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 判断是否有完成订单 并且选择 自备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (isFinal && forms.joinType === 'tradition') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            setTimeout(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              showToast('您已通过数字化方式报名成功'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }, 100); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          // 提交报名信息时,判断该手机号是否存在待支付订单,若存则判断本次提交的报名方式,若本次提交的是团购则提示【您有待支付的报名订单,是否继续支付   重新下单/继续支付】,点击重新下单时,关闭老订单,创建新订单;若本次提交的是自备,则提示   【您有数字化方式报名的待支付订单,请关闭订单后重新报名   取消/关闭】取消则停留在当前界面,关闭则关闭订单,并停留在当前界面,用户需要再次点击报名按钮提交信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (isPadding && forms.joinType === 'tradition') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.dialogStatus = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.dialogMessage = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              '您有数字化方式报名的待支付订单,请关闭订单后重新报名'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.cancelButtonText = '取消'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.confirmButtonText = '关闭'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.dialogConfig = paddingConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.messageAlign = 'left'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          if (isPadding && forms.joinType === 'digitalize') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.dialogStatus = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.dialogMessage = '您有待支付的报名订单,是否继续支付'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.cancelButtonText = '重新下单'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.confirmButtonText = '继续支付'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.dialogConfig = paddingConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            forms.messageAlign = 'center'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // 判断是否可以取消订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (data.cancelPayment) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          await request.post( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            '/edu-app/userPaymentOrder/cancelPayment/' + data.orderNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          forms.countDownTime = data.cancelTimes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          countDown.reset(Number(data.cancelTimes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          countDown.start(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          forms.dialogMessage = `有待支付订单,请在${Math.ceil( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            countDown.current.value.total / 1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          )}s后重试`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          forms.dialogStatus = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          forms.dialogConfig = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          result = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // if (!data.id) return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // // 判断是否可以取消订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // if (data.cancelPayment) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   await request.post( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     '/edu-app/userPaymentOrder/cancelPayment/' + data.orderNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   forms.countDownTime = data.cancelTimes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   countDown.reset(Number(data.cancelTimes)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   countDown.start(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   forms.dialogMessage = `有待支付订单,请在${Math.ceil( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //     countDown.current.value.total / 1000 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   )}s后重试`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   forms.dialogStatus = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   forms.dialogConfig = data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //   result = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 重新下单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const resetOrderPayment = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const orderNo = forms.dialogConfig?.orderNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!orderNo) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await request.post( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '/edu-app/userPaymentOrder/cancelPayment/' + orderNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await onRegisterSubmit(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // 取消订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const cancelPaymentOrder = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const orderNo = forms.dialogConfig?.orderNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!orderNo) return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        await request.post( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '/edu-app/userPaymentOrder/cancelPayment/' + orderNo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } catch {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     const paymentContinue = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         const vipList = studentRegisterStore.getVip; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -853,7 +943,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       schoolId?: string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const { data } = await request.post( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        const { data } = await requestStudent.post( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           '/edu-app/open/studentRegisterPointRecord/update', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             data: { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1468,7 +1558,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <MDialog 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        {/* <MDialog 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           title="提示" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           v-model:show={forms.dialogStatus} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           message={forms.dialogMessage} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1489,6 +1579,52 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               applyOver(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /> */} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <MDialog 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          title="提示" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          v-model:show={forms.dialogStatus} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          message={forms.dialogMessage} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          allowHtml={true} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          primaryColor="#FF8057" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          showCancelButton={true} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          messageAlign={forms.messageAlign} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          confirmButtonText={forms.confirmButtonText} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          cancelButtonText={forms.cancelButtonText} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          onConfirm={async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (forms.joinType === 'tradition') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              await cancelPaymentOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              //取消支付,判断是否有结束时间,是否已经结束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (forms.registerExpireTime && forms.activeOverStatus) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                applyOver(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (forms.joinType === 'digitalize') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // 继续支付 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              const paymentConfig = forms.dialogConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              state.config = paymentConfig?.paymentConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              state.orderNo = paymentConfig?.orderNo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              await lastSubmit(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          onCancel={(val: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // countDown.pause(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (forms.joinType === 'tradition') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              forms.dialogStatus = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              //取消支付,判断是否有结束时间,是否已经结束 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              if (forms.registerExpireTime && forms.activeOverStatus) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                applyOver(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (forms.joinType === 'digitalize') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              // 重新下单 - 先关闭订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              resetOrderPayment(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <Popup 
			 |