فهرست منبع

大厅首冲图标 未登录 大厅首冲图标各地区 类型选择 cpf

zhejiushizhuce 2 سال پیش
والد
کامیت
0251d8a478
2فایلهای تغییر یافته به همراه84 افزوده شده و 24 حذف شده
  1. 79 20
      src/widgets/WFirstPay/index.jsx
  2. 5 4
      src/widgets/WWelfarebar/index.jsx

+ 79 - 20
src/widgets/WFirstPay/index.jsx

@@ -1,18 +1,20 @@
-import {useEffect, useState} from "react";
+import React, {useEffect, useState} from "react";
 import styles from "./styles.module.scss";
 import Modal from "@mui/material/Modal";
 import Fade from "@mui/material/Fade";
 import Grow from "@mui/material/Grow";
 import {useDispatch, useSelector} from "react-redux";
-import {getOFirstPay, getPaymentOrderStatus} from "@features/paySlice";
+import {getCPFFirst, getOFirstPay, getPaymentOrderStatus} from "@features/paySlice";
 import {ROUTE_PATH} from "@constants/routes";
 import {REQ_STATUS} from "@api/config";
 import {reqPaymentOrder} from "@features/api";
 import {useNavigate} from "react-router-dom";
-import {getUserInfo} from "@features/mainSlice";
+import {getUserInfo, isLogined} from "@features/mainSlice";
 import SmallLoading from "@components/SmallLoading";
 import {useThemeProvider} from "@contexts/themeContext";
-import {APP_WELFARE} from "@constants/app";
+import {APP_COUNTRY_CODE, APP_WELFARE} from "@constants/app";
+import BRCPFSave from "@widgets/WDeposit/BR/BRCPFSave/BRCPFSave";
+import RUPaytypeSelect from "@widgets/WDeposit/RU/RUPaytypeSelect";
 const i18n=global.i18n;
 
 const WFirstPay=()=>{
@@ -23,6 +25,9 @@ const WFirstPay=()=>{
     const user=useSelector(getUserInfo);
     const orderStatus=useSelector(getPaymentOrderStatus);
     const {setWelfTabState}=useThemeProvider();
+    const isLogin=useSelector(isLogined);
+    const cpfFirst=useSelector(getCPFFirst);
+    const areaItem=global.getLocalAreaItem();
     const show=()=>{
         setIsShow(true);
         setWelfTabState(APP_WELFARE.FIRST_PAY);
@@ -45,10 +50,42 @@ const WFirstPay=()=>{
         navigate(ROUTE_PATH.PAY_ORDER);
     }
     const onGetPaymentOder=(data)=>{
+        if (!isLogin){
+            hide();
+            navigate(ROUTE_PATH.SIGN_IN);
+            return;
+        }
         if (orderStatus===REQ_STATUS.LOADING)return;
-        data.user=user;
-        data.callback=onGetPaymentCallback;
-        dispatch(reqPaymentOrder(data));
+        let reqOrder=()=>{
+            data.user=user;
+            data.callback=onGetPaymentCallback;
+            dispatch(reqPaymentOrder(data));
+        }
+        if (areaItem.code===APP_COUNTRY_CODE.RU){
+            if (global.ruPaytypeSelect!=null){
+                global.ruPaytypeSelect.show((eventType)=>{
+                    data.eventType=eventType;
+                    reqOrder();
+                });
+            }
+        }
+        else if (areaItem.code===APP_COUNTRY_CODE.BR){
+            if (cpfFirst){
+                if (global.brCPFSave!=null){
+                    global.brCPFSave.show(()=>{
+                        data.cpf_first=1;
+                        reqOrder();
+                    })
+                }
+            }
+            else
+            {
+                reqOrder();
+            }
+        }
+        else{
+            reqOrder();
+        }
     }
     const renderMain=()=>{
         if (firstPayConf==null)return (<></>);
@@ -113,20 +150,42 @@ const WFirstPay=()=>{
             </button>
         )
     }
+    const renderPaytypeSelect=()=>{
+        if (areaItem.code===APP_COUNTRY_CODE.RU){
+            return (<RUPaytypeSelect/>)
+        }
+        else
+        {
+            return (<></>);
+        }
+    }
+    const renderCPFSave=()=>{
+        if (areaItem.code===APP_COUNTRY_CODE.BR){
+            return (<BRCPFSave/>)
+        }
+        else
+        {
+            return (<></>)
+        }
+    }
     return (
-        <Modal open={isShow} onClose={hide} closeAfterTransition>
-            <Fade in={isShow} timeout={500}>
-                <div className={styles.container}>
-                    <Grow in={isShow} timeout={500}>
-                        <div className={styles.f_con}>
-                            <img className={styles.title} src={require(`@assets/firstPay/${i18n.language}.png`)}/>
-                            {renderMain()}
-                            {renderPayBtn()}
-                        </div>
-                    </Grow>
-                </div>
-            </Fade>
-        </Modal>
+        <>
+            <Modal open={isShow} onClose={hide} closeAfterTransition>
+                <Fade in={isShow} timeout={500}>
+                    <div className={styles.container}>
+                        <Grow in={isShow} timeout={500}>
+                            <div className={styles.f_con}>
+                                <img className={styles.title} src={require(`@assets/firstPay/${i18n.language}.png`)}/>
+                                {renderMain()}
+                                {renderPayBtn()}
+                            </div>
+                        </Grow>
+                    </div>
+                </Fade>
+            </Modal>
+            {renderPaytypeSelect()}
+            {renderCPFSave()}
+        </>
     )
 }
 export default WFirstPay;

+ 5 - 4
src/widgets/WWelfarebar/index.jsx

@@ -1,6 +1,6 @@
 import styles from './styles.module.scss';
 import {useEffect, useRef, useState} from "react";
-import {reqFirstPayConfig, reqProtectCheck} from "@features/api";
+import {reqFirstPayConfig, reqProtectCheck, reqRechargeConfig} from "@features/api";
 import {useDispatch, useSelector} from "react-redux";
 import {getFirstBonus, getOpenRelief, getPopBindPhone, getUpgradeBonus, getUserInfo} from "@features/mainSlice";
 import {APP_WELFARE} from "@constants/app";
@@ -115,9 +115,9 @@ const WWelfarebar = () => {
     const checkFirstPay=()=>{
         let state=0;
         if (firstBonus){
-            if (user.UserID>0){
+            // if (user.UserID>0){
                 if (firstPayConf!=null)state=1;
-            }
+            // }
         }
         changeNewState(APP_WELFARE.FIRST_PAY,state);
     }
@@ -150,8 +150,9 @@ const WWelfarebar = () => {
         let UserID=user.UserID;
         if (UserID>0){
             dispatch(reqProtectCheck());
-            dispatch(reqFirstPayConfig());
         }
+        dispatch(reqRechargeConfig());
+        dispatch(reqFirstPayConfig());
     },[user.UserID]);
     useEffect(() => {
         checkProtectLimit();