From 8401c0c983557870264274e74f0f98d9cc96ea2e Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Mon, 23 Jun 2025 14:55:02 +0800
Subject: [PATCH] 计算手续费

---
 src/components/perpetual-open/index.vue |  116 +++++++++++++++++++++++++++++----------------------------
 1 files changed, 59 insertions(+), 57 deletions(-)

diff --git a/src/components/perpetual-open/index.vue b/src/components/perpetual-open/index.vue
index 07b5d11..24caf67 100644
--- a/src/components/perpetual-open/index.vue
+++ b/src/components/perpetual-open/index.vue
@@ -196,16 +196,14 @@
                 <!-- {{initFutrue.amount / (initData.amount + 0.0375) * form.lever_rate }}  //  -->
                 <!-- {{ initFutrue.amount }} // 余额 -->
               </span>
-              {{ form.lever_rate }}
+              <!-- {{ form.lever_rate }} -->
               <span
                 class="font-22 font-400 textColor"
                 v-if="form.lever_rate == 25"
               >
                 {{
-                  Math.floor(
-                    (initFutrue.amount / (initData.amount + 0.0375)) *
-                      form.lever_rate
-                  )
+                  Math.floor(initFutrue.amount / (initData.amount + 0.0375)) *
+                  form.lever_rate
                 }}
                 {{ $t("手数") }}
               </span>
@@ -214,10 +212,8 @@
                 v-if="form.lever_rate == 50"
               >
                 {{
-                  Math.floor(
-                    (initFutrue.amount / (initData.amount + 0.075)) *
-                      form.lever_rate
-                  )
+                  Math.floor(initFutrue.amount / (initData.amount + 0.075)) *
+                  form.lever_rate
                 }}
                 {{ $t("手数") }}
               </span>
@@ -226,10 +222,8 @@
                 v-if="form.lever_rate == 100"
               >
                 {{
-                  Math.floor(
-                    (initFutrue.amount / (initData.amount + 0.15)) *
-                      form.lever_rate
-                  )
+                  Math.floor(initFutrue.amount / (initData.amount + 0.15)) *
+                  form.lever_rate
                 }}
                 {{ $t("手数") }}
               </span>
@@ -238,10 +232,8 @@
                 v-if="form.lever_rate == 200"
               >
                 {{
-                  Math.floor(
-                    (initFutrue.amount / (initData.amount + 0.3)) *
-                      form.lever_rate
-                  )
+                  Math.floor(initFutrue.amount / (initData.amount + 0.3)) *
+                  form.lever_rate
                 }}
                 {{ $t("手数") }}
               </span>
@@ -292,22 +284,7 @@
 			      ? initData.fee * (form.amount / 1)
 			      : (initData.fee * (form.amount / 1) * form.lever_rate) | nan
 			  }} -->
-              <div class="textColor" v-if="form.lever_rate == 25">
-                {{ (initData.amount * (form.amount / 1) * 0.0375).toFixed(4) }}
-                USDT
-              </div>
-              <div class="textColor" v-if="form.lever_rate == 50">
-                {{ (initData.amount * (form.amount / 1) * 0.075).toFixed(4) }}
-                USDT
-              </div>
-              <div class="textColor" v-if="form.lever_rate == 100">
-                {{ (initData.amount * (form.amount / 1) * 0.15).toFixed(4) }}
-                USDT
-              </div>
-              <div class="textColor" v-if="form.lever_rate == 200">
-                {{ ((form.amount * 0.3) / form.lever_rate).toFixed(4) }}
-                USDT
-              </div>
+              <div class="textColor">{{ calculatedFee.toFixed(4) }} USDT</div>
             </div>
           </template>
           <div
@@ -748,6 +725,18 @@
           // 倍数
           obj.lever = [
             {
+              id: 25,
+              lever_rate: 25,
+            },
+            {
+              id: 50,
+              lever_rate: 50,
+            },
+            {
+              id: 100,
+              lever_rate: 100,
+            },
+            {
               id: 200,
               lever_rate: 200,
             },
@@ -760,6 +749,17 @@
     coudBuyVolume() {
       // 可买数量
       return Math.floor(this.initOpen.volume / 1 / this.form.lever_rate);
+    },
+    calculatedFee() {
+      const rateMap = {
+        25: 0.0375,
+        50: 0.075,
+        100: 0.15,
+        200: 0.3,
+      };
+      const rate = rateMap[this.form.lever_rate];
+      return (this.form.amount * rate) / this.form.lever_rate;
+      // : this.initData.amount * (this.form.amount / 1) * rate;
     },
   },
   filters: {
@@ -873,33 +873,33 @@
       let vol;
       // vol = this.initOpen.volume / 1;
       if (this.form.lever_rate == 25) {
-        vol = Math.floor(
-          // (this.initFutrue.amount - this.initFutrue.amount * 0.0375) /
-          //   this.initData.amount
-          (this.initFutrue.amount / (this.initData.amount + 0.0375)) *
-            this.form.lever_rate
-        );
+        vol =
+          Math.floor(
+            // (this.initFutrue.amount - this.initFutrue.amount * 0.0375) /
+            //   this.initData.amount
+            this.initFutrue.amount / (this.initData.amount + 0.0375)
+          ) * this.form.lever_rate;
       } else if (this.form.lever_rate == 50) {
-        vol = Math.floor(
-          // (this.initFutrue.amount - this.initFutrue.amount * 0.0375) /
-          //   this.initData.amount
-          (this.initFutrue.amount / (this.initData.amount + 0.075)) *
-            this.form.lever_rate
-        );
+        vol =
+          Math.floor(
+            // (this.initFutrue.amount - this.initFutrue.amount * 0.0375) /
+            //   this.initData.amount
+            this.initFutrue.amount / (this.initData.amount + 0.075)
+          ) * this.form.lever_rate;
       } else if (this.form.lever_rate == 100) {
-        vol = Math.floor(
-          // (this.initFutrue.amount - this.initFutrue.amount * 0.15) /
-          //   this.initData.amount
-          (this.initFutrue.amount / (this.initData.amount + 0.15)) *
-            this.form.lever_rate
-        );
+        vol =
+          Math.floor(
+            // (this.initFutrue.amount - this.initFutrue.amount * 0.15) /
+            //   this.initData.amount
+            this.initFutrue.amount / (this.initData.amount + 0.15)
+          ) * this.form.lever_rate;
       } else {
-        vol = Math.floor(
-          // (this.initFutrue.amount - this.initFutrue.amount * 0.3) /
-          //   this.initData.amount
-          (this.initFutrue.amount / (this.initData.amount + 0.3)) *
-            this.form.lever_rate
-        );
+        vol =
+          Math.floor(
+            // (this.initFutrue.amount - this.initFutrue.amount * 0.3) /
+            //   this.initData.amount
+            this.initFutrue.amount / (this.initData.amount + 0.3)
+          ) * this.form.lever_rate;
       }
       return Math.floor(vol);
     },
@@ -1178,11 +1178,13 @@
             this.$refs.sliderRef.emptyValue();
           }
           this.$toast(this.$t("操作成功"));
+
           _getBalance().then((data) => {
             // 刷新余额
             this.$store.commit("user/SET_USERINFO", {
               balance: data.money,
             });
+            location.reload();
           });
           this.$emit("ordered", emitFunc);
           if (this.selectIndex / 1 === 2) {

--
Gitblit v1.9.3