Browse Source

[add][logic]

zhangwei 3 years ago
parent
commit
2a783b22a0

File diff suppressed because it is too large
+ 6 - 0
src/assets/svg/icon-BNB.svg


+ 4 - 0
src/assets/svg/icon-enter-ed.svg

@@ -0,0 +1,4 @@
+<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="12" cy="12" r="12" fill="#389AFF"/>
+<path d="M6 12.7949L9.99927 16.7945L17.2336 6.87267" stroke="white" stroke-width="1.8"/>
+</svg>

+ 1 - 1
src/http/account.js

@@ -4,7 +4,7 @@ import {
 
 export function getBalance(params) {
   return service({
-    url: `/wallet/account/getBalance`,
+    url: `/wallet/account/getAllAssetValuation`,
     method: 'post',
     data: params
   })

+ 11 - 0
src/http/pay.js

@@ -24,3 +24,14 @@ export function getPayConfig(params) {
     });
 }
 
+// ---- 充值 ----
+export function getTokenRechargeAddress(params) {
+    return service({
+        url: `/currency/getTokenRechargeAddress`,
+        method: "post",
+        data: params,
+    });
+}
+
+
+// ---- 提现 ----

+ 41 - 30
src/router/popup.js

@@ -8,6 +8,8 @@ import WithdrawConfirm from '@/view/popup/withdraw/confirm.vue'
 import WithdrawSuccess from '@/view/popup/withdraw/success.vue'
 import WithdrawHome from '@/view/popup/withdraw/home.vue'
 import Transactions from '@/view/popup/transactions.vue'
+
+import TopUp from '@/view/popup/top-up/index.vue'
 import TopUpInfo from '@/view/popup/top-up/info.vue'
 import TopUpHome from '@/view/popup/top-up/home.vue'
 
@@ -21,45 +23,54 @@ const routes = [
     {
         path: '/withdraw',
         name: 'withdraw',
-        component: Withdraw
+        component: Withdraw,
+        children: [
+            {
+                path: 'home',
+                name: 'WithdrawHome',
+                component: WithdrawHome
+            },
+            {
+                path: 'info',
+                name: 'WithdrawInfo',
+                component: WithdrawInfo,
+            },
+            {
+                path: 'confirm',
+                name: 'WithdrawConfirm',
+                component: WithdrawConfirm,
+            },
+            {
+                path: 'success',
+                name: 'WithdrawSuccess',
+                component: WithdrawSuccess,
+            }
+        ],
     },
     {
-        path: '/withdraw/home',
-        name: 'WithdrawHome',
-        component: WithdrawHome
-    },
+        path: '/top-up',
+        name: 'TopUp',
+        component: TopUp,
+        children: [
+            {
+                path: 'home',
+                name: 'TopUpHome',
+                component: TopUpHome
+            },
+            {
+                path: 'info',
+                name: 'TopUpInfo',
+                component: TopUpInfo
+            },
 
-    {
-        path: '/withdraw/info',
-        name: 'WithdrawInfo',
-        component: WithdrawInfo,
-    },
-    {
-        path: '/withdraw/confirm',
-        name: 'WithdrawConfirm',
-        component: WithdrawConfirm,
-    },
-    {
-        path: '/withdraw/success',
-        name: 'WithdrawSuccess',
-        component: WithdrawSuccess,
-    },
-    
-    {
-        path: '/top-up/home',
-        name: 'TopUpHome',
-        component: TopUpHome
-    },
-    {
-        path: '/top-up/info',
-        name: 'TopUpInfo',
-        component: TopUpInfo
+        ]
     },
     {
         path: '/transactions',
         name: 'Transactions',
         component: Transactions
     }
+
 ]
 
 

+ 9 - 4
src/view/popup/components/head.vue

@@ -26,8 +26,7 @@
     </div>
 </template>
 <script setup>
-/* eslint-disable */
-import { defineProps, defineEmits, reactive, toRaw, toRefs, ref } from "vue";
+import { defineProps, defineEmits, reactive, ref } from "vue";
 import router from "@/router/popup.js";
 
 let props = defineProps({
@@ -35,7 +34,8 @@ let props = defineProps({
     show_state: String,
     show_refresh: Boolean,
     show_option: Boolean,
-    show_more: Boolean
+    show_more: Boolean,
+    back_url: String
 })
 
 let state = reactive({
@@ -46,7 +46,12 @@ let state = reactive({
 const emit = defineEmits(['on-refresh'])
 
 function clickBack() {
-    router.back()
+    if (props.back_url) {
+        router.replace(props.back_url)
+    } else {
+        router.back()
+    }
+
 }
 
 function clickRefresh() {

+ 3 - 6
src/view/popup/popup.vue

@@ -267,15 +267,11 @@ const queryWithdrawConfig = () => {
  */
 const getAccountBalance = () => {
     isRequestWithdrawBalance.value = false;
-    getBalance({
-        params: {
-            currencyCode: "USD",
-        },
-    }).then((res) => {
+    getBalance({}).then((res) => {
         isRequestWithdrawBalance.value = true;
         if (res.code == 0) {
             if (res.data) {
-                canWithdrawBalance.value = res.data.canWithdrawBalance;
+                canWithdrawBalance.value = res.data.allAssetValuationUSD;
             }
         }
     });
@@ -519,6 +515,7 @@ body {
             font-size: 15px;
 
             .top-up-btn {
+                cursor: pointer;
                 border: 1px solid #ffb443;
                 color: #fff;
                 background: #FFB443;

+ 11 - 4
src/view/popup/top-up/home.vue

@@ -1,7 +1,7 @@
 <template>
     <!-- 公共组件 -->
     <div class="info">
-        <v-head :title="'Withdraw'" :show_more="true" :show_refresh="true" ></v-head>
+        <v-head :title="'TopUp'" :show_more="true" :show_refresh="true" :back_url="'/'"></v-head>
         <currency-list style="height: calc(100% - 48px);" @selectCurrency="selectCurrency"></currency-list>
     </div>
 
@@ -10,11 +10,18 @@
 <script setup>
 import VHead from '@/view/popup/components/head.vue'
 import CurrencyList from "@/view/components/currency-list.vue";
-
+import { inject } from 'vue'
 import router from "@/router/popup.js";
 
-function selectCurrency(){
-    router.push('/top-up/info');
+let top_up_info = inject('top_up_info')
+
+function selectCurrency(_params) {
+    top_up_info.token = _params.currencyName || ''
+    top_up_info.net = _params.tokenChain || 'BNB Chain'
+    top_up_info.currency_code = _params.currencyCode
+    top_up_info.icon_token = _params.iconPath || ''
+    top_up_info.icon_net = require('@/assets/svg/icon-BNB.svg')
+    router.push({ path: '/top-up/info', query: { tokenChain: 123 } });
 }
 </script>
 

+ 13 - 0
src/view/popup/top-up/index.vue

@@ -0,0 +1,13 @@
+<template>
+  <router-view></router-view>
+</template>
+
+<script setup>
+import { provide, reactive } from 'vue'
+let top_up_info = reactive({})
+provide('top_up_info', top_up_info)
+</script>
+
+
+<style lang='scss' scoped>
+</style>

+ 66 - 31
src/view/popup/top-up/info.vue

@@ -10,33 +10,35 @@
                 <div class="token">
                     <div class="title">Token</div>
                     <div class="box">
-                        <img src="" alt="">
-                        <span>USDT</span>
+                        <img :src="top_up_info.icon_token" alt="">
+                        <span>{{ top_up_info.token }}</span>
                     </div>
                 </div>
 
                 <div class="net">
                     <div class="title">NetWork</div>
                     <div class="box">
-                        <img src="" alt="">
-                        <span>BNB Chain</span>
+                        <img :src="top_up_info.icon_net" alt="">
+                        <span>{{ top_up_info.net }}</span>
                     </div>
                 </div>
             </div>
             <div class="info">
                 <canvas id="canvas"></canvas>
-                <div class="txt">TJGkVQQ8e3HQSghPQkkYYE9AZf5Pmvc3vG</div>
-                <div class="copy-btn" :data-clipboard-text="'TJGkVQQ8e3HQSghPQkkYYE9AZf5Pmvc3vG'">Copy</div>
+                <div class="txt">{{ state.token_address }}</div>
+                <div class="copy-btn" :data-clipboard-text="'{{ state.token_address }}'">Copy</div>
             </div>
 
             <div class="tips">
                 <div class="tip-title">TIPS</div>
-                <div class="tip-content">asdasdasdasd</div>
+                <p>1、请通过客户端或在线钱包将您需要充值的相应币种数目发送到该地址。</p>
+                <p>2、发送完成后,系统会自动在此交易获得 相应数量确认后将该笔虚拟币充值到您在本站的账户,相应数量的确认需要大约 0.5 到 1 小时时间,请耐心等待</p>
+                <p>3、同一个地址可多次充值,不影响到账。最小充值金额 0.0001。</p>
             </div>
         </div>
         <!-- 底部 -->
         <div class="footer">
-            <div class="confirm-btn">
+            <div class="confirm-btn" @click="clickDone">
                 Done
             </div>
         </div>
@@ -45,18 +47,29 @@
 </template>
 
 <script setup>
-/* eslint-disable */
-import { onMounted, ref } from "vue";
+import { onMounted, reactive ,inject} from "vue";
 import VHead from '@/view/popup/components/head.vue'
 import { ElMessage } from 'element-plus'
+import { useRouter } from "vue-router";
+import { useRoute } from "vue-router";
+import { getTokenRechargeAddress } from "@/http/pay";
+let top_up_info = inject('top_up_info')
 
+const router = useRouter()
+const route = useRoute()
 var QRCode = require('qrcode')
 var ClipboardJS = require('clipboard')
+let state = reactive({
+    token_address: ''
+})
 
+const clickDone = () => {
+    router.back()
+}
 
-function createQRCode() {
+const createQRCode = (str) => {
     var canvas = document.getElementById('canvas')
-    QRCode.toCanvas(canvas, 'TJGkVQQ8e3HQSghPQkkYYE9AZf5Pmvc3vG', {
+    QRCode.toCanvas(canvas, str, {
         width: 150,
         height: 150,
         scale: 10, color: {
@@ -69,14 +82,16 @@ function createQRCode() {
         console.log('success!');
     })
 }
-function copyToken() {
+const copyToken = () => {
     var clipboard = new ClipboardJS('.copy-btn');
     clipboard.on('success', function (e) {
         ElMessage({
             message: 'copy success',
             grouping: true,
             type: 'success',
-            offset: 0
+            offset: -16,
+            appendTo: document.body
+
         })
         console.info('Action:', e.action);
         console.info('Text:', e.text);
@@ -91,7 +106,7 @@ function copyToken() {
             message: 'copy error',
             grouping: true,
             type: 'error',
-            offset: 0
+            offset: -16
         })
         console.error('Action:', e.action);
         console.error('Trigger:', e.trigger);
@@ -99,8 +114,25 @@ function copyToken() {
 }
 
 onMounted(() => {
-    createQRCode()
-    copyToken()
+    getTokenRechargeAddress({
+        params: {
+            "tokenChain": route.query.tokenChain || ''
+        },
+    }).then((res) => {
+        switch (res.code.toString()) {
+            case '0':
+                if (res.data && res.data.rechargeAddress) {
+                    state.token_address = res.data.rechargeAddress
+                    createQRCode(state.token_address)
+                    copyToken()
+                }
+                break;
+
+            default:
+                break;
+        }
+    })
+
 })
 
 
@@ -180,6 +212,8 @@ onMounted(() => {
                 margin-top: 5px;
                 font-weight: 400;
                 font-size: 15px;
+                width: 100%;
+                text-align: center;
             }
 
             .copy-btn {
@@ -201,40 +235,41 @@ onMounted(() => {
         .tips {
             margin-top: 14px;
             font-size: 13px;
+            height: 80px;
+            overflow: auto;
 
             .tip-title {
                 color: #000000;
             }
 
-            .tip-content {
-                color: red;
-            }
-
-            .tip-content {
-                color: #000000;
+            p {
+                margin: 0;
+                padding: 0;
             }
         }
 
     }
 
     .footer {
+        height: 80px;
+        width: 100%;
+        display: flex;
+        align-items: center;
+        justify-content: center;
+        position: absolute;
+        bottom: 0;
+
         .confirm-btn {
             width: 335px;
             height: 46px;
             text-align: center;
-            line-height: 60px;
+            line-height: 46px;
             border-radius: 100px;
             background: #389aff;
             font-weight: 600;
             font-size: 18px;
             color: #fff;
-            position: absolute;
-            left: 50%;
-            bottom: 35px;
-            transform: translateX(-50%);
-            display: flex;
-            align-items: center;
-            justify-content: center;
+
             cursor: pointer;
         }
     }

+ 51 - 14
src/view/popup/withdraw/confirm.vue

@@ -1,34 +1,34 @@
 <template>
     <!-- 公共组件 -->
     <div class="confirm">
-        <v-head :title="'Withdraw'" :show_more="true" ></v-head>
+        <v-head :title="'Withdraw'" :show_more="true"></v-head>
 
         <!-- 内容 -->
         <div class="content">
             <div class="order">
                 <div class="txt">Confirm order</div>
-                <div class="money">6.667 USDT</div>
+                <div class="money">{{ withdraw_info.data.amount }} {{ withdraw_info.data.currency_code }}</div>
                 <div class="txt">≈$6.67</div>
             </div>
             <div class="info">
                 <div class="item">
                     <div class="key">Address</div>
-                    <div class="val">TJGkVQQ8e3HQSghPQkkYYE9AZf5Pmvc3vG</div>
+                    <div class="val">{{ withdraw_info.data.input_address }}</div>
                 </div>
                 <div class="item">
                     <div class="key">Network</div>
-                    <div class="val">BNB Smart chain (BEP20)</div>
+                    <div class="val">{{ withdraw_info.net }}</div>
                 </div>
                 <div class="info-warn">
                     Ensure the network is correct
                 </div>
                 <div class="item">
-                    <div class="key">Amoun</div>
-                    <div class="val">6.66793014 USDT</div>
+                    <div class="key">Amout</div>
+                    <div class="val">{{ withdraw_info.data.amount }} {{ withdraw_info.data.currency_code }}</div>
                 </div>
                 <div class="item">
                     <div class="key">Network fee</div>
-                    <div class="val">0.8 USDT</div>
+                    <div class="val">{{ withdraw_info.data.fee_amount }} {{ withdraw_info.data.currency_code }}</div>
                 </div>
             </div>
 
@@ -40,11 +40,14 @@
         <!-- 底部 -->
         <div class="footer">
             <div class="left">
-                <img :src="require('@/assets/svg/icon-enter.svg')" alt="">
-                <span>同意用户协议</span>
+                <img :src="require('@/assets/svg/icon-enter-ed.svg')" alt="" v-if="state.img_enter_state"
+                    @click="clickEnter">
+                <img :src="require('@/assets/svg/icon-enter.svg')" alt="" v-else @click="clickEnter">
+                <span @click="clickEnter">同意</span> &nbsp;
+                <span class="agreement" @click="clickAgreement">用户协议</span>
             </div>
             <div class="right">
-                <div class="btn" @click="clickBtn">Confirm</div>
+                <div class="btn" @click="clickBtn" :class="{ enter: state.img_enter_state }">Confirm</div>
             </div>
         </div>
     </div>
@@ -52,12 +55,38 @@
 </template>
 
 <script setup>
+import { reactive, inject } from 'vue'
 import VHead from '@/view/popup/components/head.vue'
-
+import { withdrawRequest } from "@/http/account";
 import router from "@/router/popup.js";
+let withdraw_info = inject('withdraw_info')
+let state = reactive({
+    img_enter_state: false
+})
+
+const clickBtn = () => {
+    // withdrawRequest({
+    //     params: {
+    //         "amountValue": withdraw_info.data.amount,
+    //         "currencyCode": withdraw_info.data.currency_code,
+    //         "withdrawNetwork": withdraw_info.net,
+    //         "withdrawReceiveAccount": withdraw_info.data.input_address
+    //     }
+    // }).then((res) => {
+    //     if (res.code == 0) {
+    
+    //     }
+    // })
+    if(state.img_enter_state){
+        router.push('/withdraw/success')
+    }
+}
+const clickAgreement = ()=>{
+    // router.push('/')
+}
 
-function clickBtn(){
-  router.push('/withdraw/success')
+const clickEnter = () => {
+    state.img_enter_state = !state.img_enter_state
 }
 
 </script>
@@ -191,6 +220,7 @@ function clickBtn(){
         align-items: center;
 
         .left {
+            cursor: pointer;
             margin-left: 16px;
 
             display: flex;
@@ -203,10 +233,13 @@ function clickBtn(){
             }
 
             span {
-                font-weight: 500;
                 font-size: 14px;
 
             }
+            .agreement{
+                text-decoration:underline;
+                color: #389AFF;
+            }
         }
 
         .right {
@@ -225,6 +258,10 @@ function clickBtn(){
                 border-radius: 100px;
 
             }
+
+            .enter {
+                background: #389AFF;
+            }
         }
     }
 }

+ 10 - 4
src/view/popup/withdraw/home.vue

@@ -1,7 +1,7 @@
 <template>
     <!-- 公共组件 -->
     <div class="info">
-        <v-head :title="'Withdraw'" :show_more="true" ></v-head>
+        <v-head :title="'Withdraw'" :show_more="true" :back_url="'/'"></v-head>
         <currency-list style="height: calc(100% - 48px);" @selectCurrency="selectCurrency"></currency-list>
     </div>
 
@@ -10,11 +10,17 @@
 <script setup>
 import VHead from '@/view/popup/components/head.vue'
 import CurrencyList from "@/view/components/currency-list.vue";
-
 import router from "@/router/popup.js";
+import { inject } from 'vue'
+let withdraw_info = inject('withdraw_info')
 
-function selectCurrency(){
-  router.push('/withdraw/info')
+function selectCurrency(_params) {
+    withdraw_info.token = _params.currencyName || ''
+    withdraw_info.net = _params.tokenChain || 'BNB Chain'
+    withdraw_info.currency_code = _params.currencyCode
+    withdraw_info.icon_token = _params.iconPath || ''
+    withdraw_info.icon_net = require('@/assets/svg/icon-BNB.svg')
+    router.push('/withdraw/info')
 }
 </script>
 

+ 5 - 6
src/view/popup/withdraw/index.vue

@@ -1,14 +1,13 @@
 <template>
-   <div>index</div>
+  <router-view></router-view>
 </template>
 
-<script>
-export default {
-  name: 'withdraw-index',
-}
+<script setup>
+import { provide, reactive } from 'vue'
+let withdraw_info = reactive({})
+provide('withdraw_info', withdraw_info)
 </script>
 
 
 <style lang='scss' scoped>
-
 </style>

+ 129 - 18
src/view/popup/withdraw/info.vue

@@ -1,24 +1,24 @@
 <template>
   <!-- 公共组件 -->
   <div class="info">
-    <v-head :title="'Withdraw'" :show_more="true" ></v-head>
+    <v-head :title="'Withdraw'" :show_more="true"></v-head>
     <!-- 内容 -->
     <div class="content">
       <div class="area-input-1">
         <div class="token">
           <div class="title">Token</div>
           <div class="box">
-            <img src="" alt="">
-            <span>USDT</span>
+            <img :src="withdraw_info.icon_token" alt=""> 
+            <span>{{ withdraw_info.token }}</span>
           </div>
         </div>
 
         <div class="net">
           <div class="title">NetWork</div>
           <div class="box">
-            <img src="" alt="">
-            <span>BNB Chain</span>
-            <img :src="require('@/assets/svg/icon-botton-up.svg')" alt="" class="up">
+            <img :src="withdraw_info.icon_net" alt="">
+            <span>{{ withdraw_info.net }}</span>
+            <!-- <img :src="require('@/assets/svg/icon-botton-up.svg')" alt="" class="up"> -->
           </div>
         </div>
       </div>
@@ -26,20 +26,20 @@
       <div class="area-input-2">
         <div class="title">Wallet Address</div>
         <div class="box">
-          <input type="text" placeholder="Click to enter">
+          <input type="text" placeholder="Click to enter" v-model="state.input_address" @input="inputText">
         </div>
       </div>
 
       <div class="area-input-3">
         <div class="title">
           <span>Withdrawal Amount</span>
-          <span>Balance: 122.51</span>
+          <span>Balance: {{ state.balance || 0 }}</span>
         </div>
         <div class="box">
-          <input type="text" placeholder="0">
-          <span>Withdrawal All</span>
+          <input type="number" placeholder="0" @input="inputText" v-model="state.input_amount" :max="state.max_amount">
+          <span @click="clickWithdrawalAll">Withdrawal All</span>
         </div>
-        <div class="error">最少XXXX,最多XXXX</div>
+        <div class="error">{{ state.error_msg }}</div>
       </div>
 
       <div class="tips">
@@ -51,11 +51,11 @@
     <div class="footer">
       <div class="left">
         <div class="txt">Amount Account</div>
-        <div class="money">0</div>
-        <div class="txt">Network fee: 0.8 USDT</div>
+        <div class="money">{{ state.amount || 0 }} {{ state.currency_code }}</div>
+        <div class="txt">Network fee: {{ state.fee_amount }}</div>
       </div>
       <div class="right">
-        <div class="btn" @click="clickBtn">Confirm</div>
+        <div class="btn" @click="clickBtn" :class="{ enter: state.is_enter_state }">Confirm</div>
       </div>
     </div>
   </div>
@@ -65,9 +65,106 @@
 <script setup>
 import VHead from '@/view/popup/components/head.vue'
 import router from "@/router/popup.js";
+import { reactive, onMounted, inject } from 'vue'
+import { getWithdrawConfig } from "@/http/account";
+import { withdrawCalcFee } from "@/http/pay";
+
+let withdraw_info = inject('withdraw_info')
+
+let state = reactive({
+  input_address: '',
+  input_amount: 0,
+  is_enter_state: false,
+  error_msg: 'Wallet Address不能为空'
+})
+
+const inputWithdrawCalcFee = () => {
+  withdrawCalcFee({
+    params: {
+      "amountValue": state.input_amount,
+      "currencyCode": state.currency_code,
+      "withdrawNetwork": 0
+    }
+  }).then((res) => {
+    if (res.code == 0) {
+      if (res.data) {
+        state.currency_code = res.data.currencyCode || ''
+        state.fee_amount = res.data.feeAmountValue || 0
+        state.amount = res.data.finalAmountValue || 111
+
+        state.is_enter_state = true
+      }
+    }
 
-function clickBtn(){
-  router.push('/withdraw/confirm')
+  })
+}
+
+const inputText = () => {
+  if (state.input_address.trim().length == 0) {
+    state.error_msg = 'Wallet Address不能为空'
+    state.is_enter_state = false
+    return
+  }
+  if (state.input_amount > state.max_amount || state.input_amount < state.min_amount) {
+    state.error_msg = `最小为${state.min_amount},最大${state.max_amount}`
+    state.is_enter_state = false
+  } else {
+    state.error_msg = ''
+    inputWithdrawCalcFee()
+  }
+}
+
+const clickBtn = () => {
+  if (state.is_enter_state) {
+    withdraw_info.data = state
+    router.push('/withdraw/confirm')
+  }
+}
+
+const initConfig = () => {
+  state.fee_amount = 0.1
+  state.balance = 123
+  // 单次提现最小金额
+  state.min_amount = 11
+  // 单次提现最小金额
+  state.max_amount = 123
+  state.currency_code = 'USD'
+
+  // getWithdrawConfig({
+  //   params: {
+  //     "currencyCode": "string",
+  //     "withdrawNetwork": 0
+  //   }
+  // }).then((res) => {
+  //   switch (res.code.toString()) {
+  //     case '0':
+  //       // 关闭提现功能
+  //       if (!res.data.withdrawSwitch) {
+  //         state.error_msg = '关闭提现功能'
+  //         return
+  //       }
+  //       state.fee_amount = res.data.withdrawFee
+  // state.min_amount = res.data.withdrawPerMinAmount
+  // 
+  // state.max_amount = res.data.withdrawPerMaxAmount
+  //       break;
+  //     case '0':
+
+  //       break;
+
+  //     default:
+  //       break;
+  //   }
+  // })
+}
+
+onMounted(() => {
+  initConfig()
+})
+
+const clickWithdrawalAll = () => {
+  state.input_amount = state.max_amount
+  inputText()
 }
 </script>
 
@@ -147,22 +244,32 @@ function clickBtn(){
         height: 44px;
         display: flex;
         align-items: center;
-        padding: 5px 18px;
 
         input {
           outline: none;
           border: 0;
           flex: 1;
-          height: 100%;
+          height: 18px;
+          padding: 0 16px;
           font-weight: 500;
           font-size: 15px;
         }
 
+        input::-webkit-outer-spin-button,
+        input::-webkit-inner-spin-button {
+          -webkit-appearance: none;
+        }
+
+        input[type="number"] {
+          -moz-appearance: textfield;
+        }
+
         span {
           display: block;
           color: #389AFF;
           font-size: 13px;
           cursor: pointer;
+          margin-right: 16px;
         }
       }
 
@@ -232,6 +339,10 @@ function clickBtn(){
         border-radius: 100px;
 
       }
+
+      .enter {
+        background: #389AFF;
+      }
     }
   }
 }

+ 6 - 2
src/view/popup/withdraw/success.vue

@@ -2,7 +2,7 @@
     <!-- 公共组件 -->
     <div class="info">
         <v-head :title="'Withdraw'" :show_more="true"></v-head>
-        <state-page style="height: calc(100% - 48px);" :text="['123', '123']"></state-page>
+        <state-page style="height: calc(100% - 48px);" :text="['123', '123']" @onDone="onDone"></state-page>
     </div>
 
 </template>
@@ -10,7 +10,11 @@
 <script setup>
 import VHead from '@/view/popup/components/head.vue'
 import StatePage from "@/view/popup/components/state-page.vue";
-
+import { useRouter } from "vue-router";
+let router = useRouter()
+const onDone = () => {
+    router.replace('/withdraw/home')
+}
 
 </script>
 

Some files were not shown because too many files changed in this diff