Browse Source

feat: 修改

year 1 week ago
parent
commit
699703a01c

+ 5 - 2
src/app/[locale]/(TabBar)/deposit/component/deposit/index.module.scss

@@ -12,8 +12,8 @@
     }
     :global(.adm-list-item-content-main) {
         padding: 0.08rem 0;
-        display: flex;
-        align-items: center;
+        // display: flex;
+        // align-items: center;
     }
     :global(.adm-form-item-feedback-error) {
         font-size: 0.1rem;
@@ -21,6 +21,9 @@
     :global(.adm-list-item-content) {
         border: none !important;
     }
+    :global(.adm-form-item-required-asterisk) {
+        display: none;
+    }
     :global(.adm-list-item-content-prefix) {
         width: auto !important;
         padding-right: 0 !important;

+ 40 - 2
src/app/[locale]/(TabBar)/deposit/component/deposit/index.tsx

@@ -13,7 +13,7 @@ import { useEventPoint } from "@/hooks/useEventPoint";
 import { useRouter } from "@/i18n/routing";
 import { useSystemStore } from "@/stores/useSystemStore";
 import { useWalletStore } from "@/stores/useWalletStore";
-import { goBlankPage } from "@/utils";
+import { goBlankPage, inputNumber } from "@/utils";
 import { Button, Dialog, Form, Input, Toast } from "antd-mobile";
 import BigNumber from "bignumber.js";
 import clsx from "clsx";
@@ -262,6 +262,36 @@ const Deposit = () => {
         }
     };
 
+    const valuesChange = (data: any) => {
+        for (let key in data) {
+            switch (key) {
+                case "amount":
+                    {
+                        let curValue = data[key].trim();
+                        let max = shopType.condition.max;
+                        if (curValue > max) {
+                            curValue = new BigNumber(max).toFixed(0, BigNumber.ROUND_DOWN);
+                        }
+                        const toValue = inputNumber(curValue, { max });
+                        setAmount(toValue);
+                        formInstanceRef.current?.setFieldValue(key, toValue);
+                    }
+                    break;
+                case "passport":
+                    {
+                        let curValue = data[key].trim();
+                        const toValue = inputNumber(curValue, { length: 11, notNumber: true });
+                        formInstanceRef.current?.setFieldValue(key, toValue);
+                    }
+                    break;
+                default:
+                    let curValue = data[key].trim();
+                    formInstanceRef.current?.setFieldValue(key, curValue);
+                    break;
+            }
+        }
+    };
+
     return (
         <>
             <div className={styles.depositePage}>
@@ -302,7 +332,12 @@ const Deposit = () => {
                         ))}
                     </Swiper>
                 </div>
-                <Form className="mt-[.1rem]" ref={formInstanceRef} onFinish={onFinish}>
+                <Form
+                    className="mt-[.1rem]"
+                    ref={formInstanceRef}
+                    onFinish={onFinish}
+                    onValuesChange={valuesChange}
+                >
                     {formProd && (
                         <Form.Item
                             name="amount"
@@ -372,6 +407,7 @@ const Deposit = () => {
                                     name="name"
                                     label="Nome"
                                     className="mr-[.2rem] w-[1.5rem] border-b-[1px] border-[#3b4852]"
+                                    rules={[{ required: true }]}
                                 >
                                     <Input type={"text"} placeholder="Insira seu nome " />
                                 </Form.Item>
@@ -379,6 +415,7 @@ const Deposit = () => {
                                     name="lastname"
                                     label="Sobrenome"
                                     className="flex-1 border-b-[1px] border-[#3b4852]"
+                                    rules={[{ required: true }]}
                                 >
                                     <Input type={"text"} placeholder="Insira seu sobrenome" />
                                 </Form.Item>
@@ -387,6 +424,7 @@ const Deposit = () => {
                                 name="passport"
                                 label="CPF ID"
                                 className="border-b-[1px] border-[#3b4852]"
+                                rules={[{ required: true }]}
                             >
                                 <Input type={"text"} placeholder="Seu CPF(000.000.000-00)" />
                             </Form.Item>

+ 1 - 30
src/app/[locale]/(TabBar)/deposit/component/withdraw/index.tsx

@@ -9,7 +9,7 @@ import { useRouter } from "@/i18n/routing";
 import { useSystemStore } from "@/stores/useSystemStore";
 import { useUserInfoStore } from "@/stores/useUserInfoStore";
 import { useWalletStore } from "@/stores/useWalletStore";
-import { isEmail } from "@/utils";
+import { inputNumber, isEmail } from "@/utils";
 import { server } from "@/utils/client";
 import { percentage } from "@/utils/methods";
 import { Button, Form, Input, ProgressBar, Toast } from "antd-mobile";
@@ -166,35 +166,6 @@ const Withdraw = () => {
         }
     };
 
-    const inputNumber = (
-        value: string,
-        opts?: {
-            max?: number;
-            length?: number;
-            notNumber?: boolean;
-            fixed?: number;
-        }
-    ) => {
-        const toValue = value.replace(/[^0-9]/gi, "");
-        let toAmount = "";
-        let toFixedNum = opts?.fixed ? opts?.fixed : 0;
-        if (toValue && !opts?.notNumber) {
-            toAmount = new BigNumber(toValue).toFixed(toFixedNum, BigNumber.ROUND_DOWN);
-            if (opts?.max !== undefined && new BigNumber(toAmount).isGreaterThan(opts.max)) {
-                toAmount = new BigNumber(opts.max).toFixed(toFixedNum, BigNumber.ROUND_DOWN);
-            }
-        }
-        if (toValue && opts?.notNumber) {
-            toAmount = toValue;
-        }
-
-        if (opts?.length && toAmount.length > opts.length) {
-            toAmount = toAmount.slice(0, opts.length);
-        }
-
-        return toAmount;
-    };
-
     const ChannelValidator = (rules: any, value: string) => {
         if (!value) return Promise.reject(new Error(t("WithdrawPage.channel")));
         if (currentType.type === ChannelEnum.CPF) {

+ 28 - 0
src/utils/index.ts

@@ -123,3 +123,31 @@ export const commonMask = {
         }
     },
 };
+export const inputNumber = (
+    value: string,
+    opts?: {
+        max?: number;
+        length?: number;
+        notNumber?: boolean;
+        fixed?: number;
+    }
+) => {
+    const toValue = value.replace(/[^0-9]/gi, "");
+    let toAmount = "";
+    let toFixedNum = opts?.fixed ? opts?.fixed : 0;
+    if (toValue && !opts?.notNumber) {
+        toAmount = new BigNumber(toValue).toFixed(toFixedNum, BigNumber.ROUND_DOWN);
+        if (opts?.max !== undefined && new BigNumber(toAmount).isGreaterThan(opts.max)) {
+            toAmount = new BigNumber(opts.max).toFixed(toFixedNum, BigNumber.ROUND_DOWN);
+        }
+    }
+    if (toValue && opts?.notNumber) {
+        toAmount = toValue;
+    }
+
+    if (opts?.length && toAmount.length > opts.length) {
+        toAmount = toAmount.slice(0, opts.length);
+    }
+
+    return toAmount;
+};