From e5154e380a6d4c02e6c62cc6c579657a163c6a85 Mon Sep 17 00:00:00 2001 From: Alex Cheung Date: Thu, 21 Dec 2023 17:50:49 +0800 Subject: [PATCH] fix pop up payment window --- src/pages/Payment/MultiPaymentWindow.js | 188 ++++++++++++------------ src/pages/Payment/index.js | 5 +- 2 files changed, 98 insertions(+), 95 deletions(-) diff --git a/src/pages/Payment/MultiPaymentWindow.js b/src/pages/Payment/MultiPaymentWindow.js index decee26..8c94675 100644 --- a/src/pages/Payment/MultiPaymentWindow.js +++ b/src/pages/Payment/MultiPaymentWindow.js @@ -40,21 +40,21 @@ const MultiPaymentWindow = (props) => { const [paymentMethod, setPaymentMethod] = useState(""); const [transactionData, setTransactionData] = useState({}); const [availableMethodData, setAvailableMethodData] = useState([]); - const [onReady, setOnReady] = useState(false); + // const [onReady, setOnReady] = useState(false); useEffect(() => { console.log(props.transactionData) if(Object.keys(props.transactionData).length > 0){ setLoadtTransactionData(props.transactionData) } - }, []); + }, [props.transactionData]); - // useEffect(() => { - // console.log(props.availableMethods) - // if(props.availableMethods.length > 0){ - // setLoadAvailableMethodData(props.availableMethods) - // } - // }, [props.availableMethods]); + useEffect(() => { + console.log(props.availableMethods) + if(props.availableMethods.length > 0){ + setLoadAvailableMethodData(props.availableMethods) + } + }, [props.availableMethods]); useEffect(() => { if(Object.keys(loadtTransactionData).length > 0){ @@ -74,11 +74,11 @@ const MultiPaymentWindow = (props) => { } }, [loadAvailableMethodData]); - useEffect(() => { - if(availableMethodData.length > 0 && Object.keys(transactionData).length > 0){ - setOnReady(true) - } - }, [availableMethodData]); + // useEffect(() => { + // if(availableMethodData.length > 0 && Object.keys(transactionData).length > 0){ + // setOnReady(true) + // } + // }, [availableMethodData]); useEffect(() => { console.log(paymentMethod) @@ -98,93 +98,101 @@ const MultiPaymentWindow = (props) => { if(props.selectedPaymentMethod === ""){ setPaymentMethod("") } - setContent( - - - - - - 交易參考編號: - - - - - {transactionData.transactionid} - - - - - - - - - 付款金額: - - - - - {"HK$ "+FormatUtils.currencyFormat(props.totalAmount)} - - - - - - - - - 請選擇付款方式: - - - - - - - - - - - - - - - - - - - + if (availableMethodData.length>0){ + setContent( + + {/* + + + + 交易參考編號: + + + + + {props.transactionData.transactionid} + + - - {paymentMethod !=""? - + - 已選擇付款方式: + 付款金額: - {paymentMethod} + {"HK$ "+FormatUtils.currencyFormat(props.totalAmount)} + */} + + + + + 請選擇付款方式: + + + + + + + + + + + + + + + + + + + + + - : null} + {paymentMethod !=""? + + + + + 已選擇付款方式: + + + + + {paymentMethod} + + + + + : null} + + ) + }else{ + + + 付款功能現在不可用。 + - ) + } }, [availableMethodData]); const formik = useFormik({ @@ -229,15 +237,9 @@ const MultiPaymentWindow = (props) => { 支付金額: HK$ {FormatUtils.currencyFormat(props.totalAmount)} - {availableMethodData > 0 ? - !onReady ? + {!props.onReady ? :content - : - - 付款功能現在不可用。 - - } diff --git a/src/pages/Payment/index.js b/src/pages/Payment/index.js index 5576a61..3134492 100644 --- a/src/pages/Payment/index.js +++ b/src/pages/Payment/index.js @@ -64,7 +64,7 @@ const Index = () => { const [afterConfirmPayment, setAfterConfirmPayment] = useState(false); const [itemList, setItemList] = useState([]); - // const [onReady, setOnReady] = useState(false); + const [onReady, setOnReady] = useState(false); const [expiryDateErrText, setExpiryDateErrText] = React.useState(""); const [expiryDateErr, setExpiryDateErr] = React.useState(false); @@ -337,7 +337,7 @@ const Index = () => { setPPSStatus(method) } }); - // setOnReady(true) + setOnReady(true) } }, [availableMethods]); @@ -465,6 +465,7 @@ const Index = () => { selectedPaymentMethod={selectedPaymentMethod} setConfirmPayment={setConfirmPayment} getMethodImgClass = {getMethodImgClass} + onReady = {onReady} /> );