From b13d4a4289ca95318f10db5eba75310cae0db3d6 Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Wed, 11 Jun 2025 16:54:52 +0800
Subject: [PATCH] sytle

---
 src/components/constract/PerpetualContract/createOrder.vue |   81 +++++++++++++++++++++++++++++++---------
 1 files changed, 63 insertions(+), 18 deletions(-)

diff --git a/src/components/constract/PerpetualContract/createOrder.vue b/src/components/constract/PerpetualContract/createOrder.vue
index a70dba0..c243946 100644
--- a/src/components/constract/PerpetualContract/createOrder.vue
+++ b/src/components/constract/PerpetualContract/createOrder.vue
@@ -2,7 +2,7 @@
   <div>
     <div class="perpeCreateOrder" style="background: #1a1a1a">
       <!-- 开仓+ 平仓 -->
-      <div class="titles">
+      <!-- <div class="titles">
         <span
           v-for="(item, index) in title"
           :key="index"
@@ -10,7 +10,7 @@
           @click="changeTitle(item, index)"
           >{{ item }}</span
         >
-      </div>
+      </div> -->
       <!-- 全仓+杠杆 -->
       <div class="crossSettingBox">
         <div class="crossSettingItem" style="margin-right: 20px">
@@ -50,18 +50,18 @@
         v-if="existToken"
         @tab-click="handleTabClick"
       >
-        <el-tab-pane :label="$t('message.home.xianjia')" name="limit">
-        </el-tab-pane>
-        <!-- <el-tab-pane :label="$t('message.home.shijia')" name="opponent">
+        <!-- <el-tab-pane :label="$t('message.home.xianjia')" name="limit">
         </el-tab-pane> -->
+        <el-tab-pane :label="$t('message.home.shijia')" name="opponent">
+        </el-tab-pane>
       </el-tabs>
       <!-- 下单 -->
       <div class="place-order-form-box">
         <div class="common-form-box" id="leftPoForm">
-          <div class="avaliable-USD">
+          <!-- <div class="avaliable-USD">
             <div>{{ $t("message.jiaoyi.heyuezongzican") }}</div>
             <div>{{ availableMoney }} {{ unit }}</div>
-          </div>
+          </div> -->
           <!-- 价格输入 -->
           <div class="place-order-input-box" v-show="activeName === 'limit'">
             <div class="input-label-box">
@@ -128,7 +128,7 @@
               </div>
             </div>
             <!-- 做空 -->
-            <div class="btn-wrapper" v-show="isActive == 1">
+            <div class="btn-wrapper">
               <div class="submit-btn-box">
                 <button
                   side="sell"
@@ -236,7 +236,7 @@
       ],
       newPageData: {}, //替代pageData,因为不能修改props的数据
       isActive: 0, //开仓0or平仓1
-      activeName: "limit", //限价or市价
+      activeName: "opponent", //限价or市价
       directionName: "", //buy Or sell
       price: undefined, //输入的价格
       sessionObj: {}, //
@@ -249,8 +249,8 @@
 
       initClose: {},
       initOpen: {},
-      inputAmount: "0.00",
-      availableMoney: "0.00",
+      inputAmount: "0.000000",
+      availableMoney: "0.000000",
       closeBuyAmount: 0,
       closeSellAmount: 0,
       isNewPrice: 0,
@@ -324,12 +324,12 @@
           data = this.sessionObj?.amount * amount * 1;
         }
       }
-      return bigDecimal.round(data, 2);
+      return bigDecimal.round(data, 6);
     },
     // 获取保证金,开仓才需要
     getMargin: function () {
       const amount = this.inputAmount;
-      let data = "0.00";
+      let data = "0.000000";
       console.log(
         "getMargin",
         this.isActive,
@@ -350,15 +350,51 @@
           data = this.sessionObj.amount * amount * 1;
         }
       }
-      return bigDecimal.round(data, 2);
+      // 校验保证金不能大于余额
+      if (
+        Number(this.availableMoney) > 0 &&
+        Number(data) > Number(this.availableMoney)
+      ) {
+        // 自动限制为最大可用余额
+        data = this.availableMoney;
+        // 可选:提示
+        this.$nextTick(() => {
+          ElMessage.warning(this.$t("message.home.baozhengjinbuzu")); // 保证金不足
+        });
+      }
+      return bigDecimal.round(data, 6);
     },
     // 获取手续费
     getFee: function () {
+      // const amount = this.inputAmount;
+      // let data = "0.00";
+      // if (amount && this.isActive == 0) {
+      //   // 每手的数量*多少手(张)*每手的手续费
+      //   data = amount * this.sessionObj.fee;
+      // }
+      // return bigDecimal.round(data);
       const amount = this.inputAmount;
-      let data = "0.00";
+      let rate = 0;
+      // 根据当前杠杆设置费率
+      switch (Number(this.current_lever_rate_num)) {
+        case 25:
+          rate = 0.0375;
+          break;
+        case 50:
+          rate = 0.075;
+          break;
+        case 100:
+          rate = 0.15;
+          break;
+        case 200:
+          rate = 0.3;
+          break;
+        default:
+          rate = 0;
+      }
+      let data = 0;
       if (amount && this.isActive == 0) {
-        // 每手的数量*多少手(张)*每手的手续费
-        data = amount * this.sessionObj.fee;
+        data = amount * rate * 100; // 乘以100显示百分比
       }
       return bigDecimal.round(data, 2);
     },
@@ -368,7 +404,7 @@
     current_lever_rate(val) {
       this.$refs.sliderRef?.emptyValue();
       this.$refs.sliderRef?.cleanAmount();
-      this.inputAmount = "0.00";
+      this.inputAmount = "0.000000";
     },
     // 市价单,主动赋值
     clickData(val) {
@@ -427,6 +463,15 @@
       } else {
         if (this.lever_rate.length > 0) {
           return parseInt(amount / this.current_lever_rate_num);
+          // const contractSize = 1;
+          // const price = this.price || this.newPageData.close || 1;
+          // const availableMargin = amount; // 可用保证金
+          // const lever = this.current_lever_rate_num;
+
+          // const maxVolume = parseInt(
+          //   (availableMargin * lever) / (contractSize * price)
+          // );
+          // return maxVolume > 0 ? maxVolume : 0;
         } else if (this.lever_rate.length == 0) {
           return parseInt(amount / 1);
         }

--
Gitblit v1.9.3