lxf
2025-07-16 8588fe30f17d0d28190a279aab8675de0dbf1a5b
src/components/Transform/trade-order-area/index.vue
@@ -39,6 +39,10 @@
      <input :placeholder="$t('数量')" class=" w-full h-70 border-none textColor font-28" v-model="form.volume"
        @input="onInput" />
      <span class="textColor font-28">{{ symbol.toLocaleUpperCase() }}</span>
      <span @click="fillAllBalance" class="cursor-pointer text-blue-500"
        style="padding: 0 10px;width: 80px;text-align: right;">{{
          $t('全部')
        }}</span>
    </div>
    <div v-if="isTotal" class="h-70 lh-70 inputBackground  mb-36 flex justify-center px-16">
      <input :placeholder="$t('总额')" class=" w-full h-70 border-none textColor font-28" v-model="form.total"
@@ -187,6 +191,24 @@
      this.form.total = ''
      this.form.volume = ''
    },
    fillAllBalance() {
      if (!this.userInfo.token) {
        this.$router.push('/login');
        return;
      }
      if (this.currentType === 'open') {
        // 买入模式:可用USDT / 当前价格
        const availableUsdt = parseFloat(this.initOpen.volume) || 0;
        const price = parseFloat(this.form.price) || 0;
        if (price > 0) {
          this.form.volume = (availableUsdt / price).toFixed(6);
        }
      } else {
        // 卖出模式:直接使用可用币种数量
        this.form.volume = parseFloat(this.initClose.volume) || 0;
      }
      this.onInput();
    },
    exchangeVal(val) {
      if (!this.userInfo.token) {
        this.$router.push('/login')
@@ -196,15 +218,20 @@
      if (!this.isTotal) {
        if (this.currentType == 'open') {
          let sum = (parseFloat(this.initOpen.volume) * (val / 100) / parseFloat(this.form.price))
          this.form.volume = Math.floor(sum * 100000) / 100000
          this.form.volume = Math.floor(sum * 100000) / 100000;
          this.onInput();
        } else {
          let sum = parseFloat(this.initClose.volume)
          this.form.volume = (Math.floor(sum * (val / 100) * 100000)) / 100000
          let sum = parseFloat(this.initClose.volume) || 0;
          console.log('sum1: ', sum, this.initClose.volume)
          this.form.volume = (Math.floor(sum * (val / 100) * 100000)) / 100000;
          this.onInput();
        }
      } else {
        if (this.currentType == 'open') {
          this.form.total = this.initOpen.volume * (val / 100)
        } else {
          console.log('volume1: ', this.initClose.volume)
          this.form.total = Math.floor((this.initClose.volume * (val / 100) * parseFloat(this.form.price)) * 1000) / 1000
        }
      }
@@ -220,7 +247,7 @@
      } else {
        vol = this.initClose.volume / 1
      }
      this.options.max = Number(vol.toFixed(3))
      this.options.max = vol ? Number(vol.toFixed(3)) : 0
      if (this.options.max > 0) {
        this.options.disabled = false
      } else {
@@ -237,7 +264,7 @@
          this.form.volume = maxSum
        }
      } else {
        if (this.form.volume * 1 / 1 > this.options.max / 1) {
        if (!isNaN(this.options.max) && this.form.volume * 1 > this.options.max) {
          this.form.volume = this.options.max / 1
        }
      }