ソースを参照

Update index.tsx

lex 1 年間 前
コミット
48517a58fc
1 ファイル変更37 行追加14 行削除
  1. 37 14
      src/views/student-register/index.tsx

+ 37 - 14
src/views/student-register/index.tsx

@@ -35,7 +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 requestStudent from './request';
 import { browser, checkPhone, getUrlCode, moneyFormat } from '@/helpers/utils';
 import deepClone from '@/helpers/deep-clone';
 import OWxTip from '@/components/m-wx-tip';
@@ -143,6 +143,9 @@ export default defineComponent({
       gradeStatus: false,
       classStatus: false,
       loading: false,
+      dialogStatusVisible: false,
+      dialogStatusMessage: '',
+
       dialogStatus: false,
       dialogMessage: '',
       confirmButtonText: '确定',
@@ -207,12 +210,12 @@ export default defineComponent({
       // 倒计时 60 秒
       time: forms.countDownTimePay,
       onChange(current: CurrentTime) {
-        forms.dialogMessage = `有待支付订单,请在${Math.ceil(
+        forms.dialogStatusMessage = `有待支付订单,请在${Math.ceil(
           current.total / 1000
         )}s后重试`;
       },
       onFinish() {
-        forms.dialogStatus = false;
+        forms.dialogStatusVisible = false;
       }
     });
 
@@ -605,6 +608,7 @@ export default defineComponent({
         if (data && data.length > 0) {
           let isPadding = false; // 是否有待支付订单
           let paddingConfig = {} as any;
+          let paddingData = {} as any;
           let isFinal = false; // 是否有完成订单
           let finalConfig = {} as any;
           data.forEach((element: any) => {
@@ -612,6 +616,7 @@ export default defineComponent({
             if (element.status === 'PAYING' || element.status === 'WAIT_PAY') {
               isPadding = true;
               paddingConfig = element.paymentConfig;
+              paddingData = element;
             }
 
             if (
@@ -644,13 +649,31 @@ export default defineComponent({
             return true;
           }
           if (isPadding && forms.joinType === 'digitalize') {
-            forms.dialogStatus = true;
-            forms.dialogMessage = '您有待支付的报名订单,是否继续支付';
-            forms.cancelButtonText = '重新下单';
-            forms.confirmButtonText = '继续支付';
-            forms.dialogConfig = paddingConfig;
-            forms.messageAlign = 'center';
-            return true;
+            // forms.dialogStatus = true;
+            // forms.dialogMessage = '您有待支付的报名订单,是否继续支付';
+            // forms.cancelButtonText = '重新下单';
+            // forms.confirmButtonText = '继续支付';
+            // forms.dialogConfig = paddingConfig;
+            // forms.messageAlign = 'center';
+            // return true;
+            // 判断是否可以取消订单
+            if (paddingData.cancelPayment) {
+              await request.post(
+                '/edu-app/userPaymentOrder/cancelPayment/' +
+                  paddingConfig.orderNo
+              );
+              return false;
+            } else {
+              forms.countDownTime = paddingData.cancelTimes;
+              countDown.reset(Number(paddingData.cancelTimes));
+              countDown.start();
+              forms.dialogStatusMessage = `有待支付订单,请在${Math.ceil(
+                countDown.current.value.total / 1000
+              )}s后重试`;
+              forms.dialogStatusVisible = true;
+              forms.dialogConfig = paddingData;
+              return true;
+            }
           }
 
           return false;
@@ -1558,10 +1581,10 @@ export default defineComponent({
           }}
         />
 
-        {/* <MDialog
+        <MDialog
           title="提示"
-          v-model:show={forms.dialogStatus}
-          message={forms.dialogMessage}
+          v-model:show={forms.dialogStatusVisible}
+          message={forms.dialogStatusMessage}
           allowHtml={true}
           primaryColor="#FF8057"
           confirmButtonText="继续支付"
@@ -1579,7 +1602,7 @@ export default defineComponent({
               applyOver();
             }
           }}
-        /> */}
+        />
 
         <MDialog
           title="提示"