From 8f9e4fbc244af9e91f69f8b2851f4068abe7e600 Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Thu, 05 Jun 2025 15:17:24 +0800
Subject: [PATCH] style

---
 src/components/constract/PerpetualContract/orderCom/amountSlider.vue |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/src/components/constract/PerpetualContract/orderCom/amountSlider.vue b/src/components/constract/PerpetualContract/orderCom/amountSlider.vue
index 29b0ca4..fdd211e 100644
--- a/src/components/constract/PerpetualContract/orderCom/amountSlider.vue
+++ b/src/components/constract/PerpetualContract/orderCom/amountSlider.vue
@@ -23,6 +23,7 @@
         v-model="sliderAmount"
         :format-tooltip="(v) => `${v}%`"
         :marks="marks"
+        :step="25"
       >
       </el-slider>
     </div>
@@ -90,15 +91,32 @@
         0: "0",
         25: "25%",
         50: "50%",
-        75: "70%",
+        75: "75%",
         100: "100%",
       },
+      allowedSteps: [0, 25, 50, 75, 100],
     };
   },
   computed: {
     ...mapState(useUserStore, ["existToken"]),
   },
   methods: {
+    onSliderInput(val) {
+      // 只允许滑到指定点
+      const allowed = this.allowedSteps;
+      let closest = allowed[0];
+      let minDiff = Math.abs(val - allowed[0]);
+      for (let i = 1; i < allowed.length; i++) {
+        const diff = Math.abs(val - allowed[i]);
+        if (diff < minDiff) {
+          minDiff = diff;
+          closest = allowed[i];
+        }
+      }
+      if (this.sliderAmount !== closest) {
+        this.sliderAmount = closest;
+      }
+    },
     //输入框事件
     inputChange(val) {
       this.$emit("getAmount", val);
@@ -127,7 +145,7 @@
       }
     },
     emptyValue() {
-      this.sliderAmount = undefined;
+      this.sliderAmount = 0;
     },
   },
 };

--
Gitblit v1.9.3