li.shaoyi 4 miesięcy temu
rodzic
commit
3baab7d44c

+ 2 - 2
src/packages/tss/views/bank/wallet/components/deposit/Index.vue

@@ -12,13 +12,13 @@
                                 <Radio v-for="(value, index) in amountOptions" :key="index" :name="value">
                                     {{ currencyFormat(value, currentAccount.currencyid, {
                                         showSymbol: true
-                                        , fractionDigits: 0
+                                        , fractionDigits: currentAccount.fractionDigits
                                     }) }}
                                 </Radio>
                             </RadioGroup>
                             <div class="g-qty-group__stepper" style="padding: 15px 0;">
                                 <Stepper v-model="formData.Amount" theme="round" button-size="22" :min="0"
-                                    :step="qtyStep" :decimal-length="2" />
+                                    :step="qtyStep" :decimal-length="currentAccount.fractionDigits" />
                             </div>
                         </div>
                     </template>

+ 36 - 21
src/packages/tss/views/bank/wallet/components/withdraw/Index.vue

@@ -6,8 +6,9 @@
                 <Field class="form-field" type="number" :label="$t('banksign.wallet.withdraw.outamount')"
                     v-model="formData.Amount" :rules="formRules.Amount" label-align="top">
                     <template #input>
-                        <input v-model="formData.Amount"
-                            :placeholder="$t('banksign.wallet.withdraw.pleaseenteroutamount')" />
+                        <Stepper v-model="formData.Amount" theme="round" button-size="22" :min="0"
+                            :decimal-length="accountStore.currentAccount.fractionDigits" :show-plus="false"
+                            :show-minus="false" />
                         <div class="form-field__tips">
                             <label>{{ $t('banksign.wallet.withdraw.availableoutmoney') }}</label>
                             <span style="color: #FF0000;">{{ currencyFormat(fund.AvailableOutMoney,
@@ -23,33 +24,46 @@
                 </template>
             </CellGroup>
             <CellGroup>
-                <Cell v-if="sign.ismix === 0" :title="$t('banksign.wallet.withdraw.bankaccountname')" :value="handleNoneValue(sign.bankaccountname)" />
-                <Cell v-if="sign.ismix === 0" :title="$t('banksign.wallet.withdraw.bankname')" :value="handleNoneValue(sign.bankname)" />
-                <Cell v-if="sign.ismix === 0" :title="$t('banksign.wallet.withdraw.bankaccountno')" :value="handleNoneValue(sign.bankaccountno)" />
-                <Field v-if="sign.ismix === 1" :label="$t('banksign.bankchannel')" name="channel_code" is-link >
+                <Cell v-if="sign.ismix === 0" :title="$t('banksign.wallet.withdraw.bankaccountname')"
+                    :value="handleNoneValue(sign.bankaccountname)" />
+                <Cell v-if="sign.ismix === 0" :title="$t('banksign.wallet.withdraw.bankname')"
+                    :value="handleNoneValue(sign.bankname)" />
+                <Cell v-if="sign.ismix === 0" :title="$t('banksign.wallet.withdraw.bankaccountno')"
+                    :value="handleNoneValue(sign.bankaccountno)" />
+                <Field v-if="sign.ismix === 1" :label="$t('banksign.bankchannel')" name="channel_code" is-link>
                     <template #input>
-                        <app-select v-model="channel_code" :options="hybrids" :optionProps="{ label: 'channel_name', value: 'channel_code' }" @confirm="onHibirdChange" />
+                        <app-select v-model="channel_code" :options="hybrids"
+                            :optionProps="{ label: 'channel_name', value: 'channel_code' }" @confirm="onHibirdChange" />
                     </template>
                 </Field>
-                <Field v-if="sign.ismix === 1" name="bankaccountname" :label="$t('banksign.wallet.withdraw.bankaccountname')" 
-                    v-model.trim="sign.bankaccountname" @click="showReciver = true" is-link readonly />
-                <Field v-if="sign.ismix === 1 && channel_code != 'mypay'" type="number" name="phone_number" :label="$t('banksign.mobilephone')" maxlength="30" v-model.trim="onboard.phone_number" :placeholder="$t('banksign.Pleaseenteryourmobilephonenumber')"
-                    :rules="formRules.phone_number" />
-                <Field v-if="sign.ismix === 1 && channel_code != 'mypay'" type="number" name="cert_no" :label="$t('banksign.cardno')" maxlength="30" v-model.trim="onboard.cert_no" :placeholder="$t('user.authentication.pleaseenterthecardnum')" :rules="formRules.cert_no" />
-                <Field v-if="sign.ismix === 1 && channel_code != 'mypay'" :label="$t('banksign.banktype')" name="method_type" is-link >
+                <Field v-if="sign.ismix === 1" name="bankaccountname"
+                    :label="$t('banksign.wallet.withdraw.bankaccountname')" v-model.trim="sign.bankaccountname"
+                    @click="showReciver = true" is-link readonly />
+                <Field v-if="sign.ismix === 1 && channel_code != 'mypay'" type="number" name="phone_number"
+                    :label="$t('banksign.mobilephone')" maxlength="30" v-model.trim="onboard.phone_number"
+                    :placeholder="$t('banksign.Pleaseenteryourmobilephonenumber')" :rules="formRules.phone_number" />
+                <Field v-if="sign.ismix === 1 && channel_code != 'mypay'" type="number" name="cert_no"
+                    :label="$t('banksign.cardno')" maxlength="30" v-model.trim="onboard.cert_no"
+                    :placeholder="$t('user.authentication.pleaseenterthecardnum')" :rules="formRules.cert_no" />
+                <Field v-if="sign.ismix === 1 && channel_code != 'mypay'" :label="$t('banksign.banktype')"
+                    name="method_type" is-link>
                     <template #input>
                         <app-select v-model="method_type" :options="methodTypes" @confirm="onMethodTypeChange" />
                     </template>
                 </Field>
-                <Field v-if="sign.ismix === 1 && channel_code != 'mypay' && channel_banks.length != 0" :label="$t('banksign.bankname1')"
-                    :placeholder="$t('banksign.Pleaseselectyourbank')" name="bank_code" v-model="hyBankName"
-                    @click-input="showSelect = true" :rules="formRules.hyBankName" is-link />
-                <Field v-if="sign.ismix === 1 && channel_code === 'mypay' " name="bank" :label="$t('banksign.bankname1')" maxlength="30" v-model.trim="onboard.bank_name" :placeholder="$t('common.placeholder')"
+                <Field v-if="sign.ismix === 1 && channel_code != 'mypay' && channel_banks.length != 0"
+                    :label="$t('banksign.bankname1')" :placeholder="$t('banksign.Pleaseselectyourbank')"
+                    name="bank_code" v-model="hyBankName" @click-input="showSelect = true" :rules="formRules.hyBankName"
+                    is-link />
+                <Field v-if="sign.ismix === 1 && channel_code === 'mypay'" name="bank" :label="$t('banksign.bankname1')"
+                    maxlength="30" v-model.trim="onboard.bank_name" :placeholder="$t('common.placeholder')"
                     :rules="formRules.bank_name" />
-                <Field v-if="sign.ismix === 1" type="number" name="bank_account" :label="$t('banksign.bankno')" maxlength="30" v-model.trim="onboard.bank_account" :placeholder="$t('common.placeholder')"
-                        :rules="formRules.bank_account" />
-                <Field v-if="sign.ismix === 1 && channel_code === 'mypay' " name="bankbranch" :label="$t('banksign.branchbankname')" maxlength="30" v-model.trim="onboard.bankbranch" :placeholder="$t('common.placeholder')"
-                        :rules="formRules.bankbranch" />
+                <Field v-if="sign.ismix === 1" type="number" name="bank_account" :label="$t('banksign.bankno')"
+                    maxlength="30" v-model.trim="onboard.bank_account" :placeholder="$t('common.placeholder')"
+                    :rules="formRules.bank_account" />
+                <Field v-if="sign.ismix === 1 && channel_code === 'mypay'" name="bankbranch"
+                    :label="$t('banksign.branchbankname')" maxlength="30" v-model.trim="onboard.bankbranch"
+                    :placeholder="$t('common.placeholder')" :rules="formRules.bankbranch" />
             </CellGroup>
             <CellGroup v-if="msg_317">
                 <Cell :title="$t('common.tips')">
@@ -91,6 +105,7 @@ import { useNavigation } from '@mobile/router/navigation'
 import { useUserStore, useAccountStore, i18n } from '@/stores'
 import { handleNoneValue } from '@/filters'
 import moment from 'moment'
+import Stepper from '@mobile/components/base/stepper/index.vue'
 import AppSelect from '@mobile/components/base/select/index.vue'
 
 const { formData, onSubmit, sign } = useDoWithdraw()

+ 8 - 0
src/packages/tss/views/bank/wallet/components/withdraw/index.less

@@ -6,6 +6,14 @@
             align-items: flex-start;
         }
 
+        .van-stepper {
+            padding-top: 10px;
+
+            &__input {
+                text-align: left;
+            }
+        }
+
         &__tips {
             width: 100%;
             font-size: 12px;

+ 9 - 1
src/stores/modules/account.ts

@@ -1,6 +1,7 @@
 import { toRefs, computed, reactive } from 'vue'
 import { queryTaAccounts, getTodayAccountConfigInfo } from '@/services/api/account'
 import { defineStore } from '../store'
+import { useEnumStore } from './enum'
 import { useLoginStore } from './login'
 import { useUserStore } from './user'
 import { usePositionStore } from './position'
@@ -11,6 +12,7 @@ import eventBus from '@/services/bus'
  * @returns 
  */
 export const useAccountStore = defineStore(() => {
+    const enumStore = useEnumStore()
     const loginStore = useLoginStore()
     const userStore = useUserStore()
     const positionStore = usePositionStore()
@@ -45,6 +47,7 @@ export const useAccountStore = defineStore(() => {
             hazardRatio: number; // 风险率
             liquidationRate: number; // 斩仓率
             hazardRatioColor: string; // 风险率颜色
+            fractionDigits: number; // 币种小数位
         })[] = []
 
         state.accountList.forEach((item) => {
@@ -128,6 +131,10 @@ export const useAccountStore = defineStore(() => {
             // 计算斩仓率 任务 #5808
             const liquidationRate = cutriskratio ? hazardRatio / cutriskratio : 0
 
+            // 币种小数位
+            const currency = enumStore.getEnumTypeInfo('currency', item.currencyid)
+            const fractionDigits = currency ? Number(currency.param1) : 2
+
             result.push({
                 ...item,
                 freezeMargin,
@@ -137,7 +144,8 @@ export const useAccountStore = defineStore(() => {
                 hazardValue,
                 hazardRatio,
                 hazardRatioColor,
-                liquidationRate
+                liquidationRate,
+                fractionDigits
             })
         })