From 3003b7486ddeffd169f2b2f564fc0ff8c2c58bb3 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Tue, 22 Jul 2025 09:56:04 +0800
Subject: [PATCH] 1

---
 src/page/trading/buy.vue |  226 ++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 154 insertions(+), 72 deletions(-)

diff --git a/src/page/trading/buy.vue b/src/page/trading/buy.vue
index 4f8914c..1d8fec6 100644
--- a/src/page/trading/buy.vue
+++ b/src/page/trading/buy.vue
@@ -19,7 +19,10 @@
           <div class="cot">
             <div class="lefts">
               <div class="top_new">
-                <span>{{ nowPrice | _toLocaleString }}</span>
+                <span>
+                  {{ bayType | currencySymbol }}
+                  {{ nowPrice | _toLocaleString }}
+                </span>
               </div>
               <div class="bottom_es">
                 <span>{{ $t("hj98") }}</span>
@@ -32,7 +35,7 @@
                   @click="handleTradingClick(0)"
                   :class="tabsCurrentIndex === 0 ? 'actives' : ''"
                 >
-                  <span>{{ $t("hj84") }}</span>
+                  <span>Short</span>
                 </div>
 
                 <div
@@ -40,7 +43,7 @@
                   @click="handleTradingClick(1)"
                   :class="tabsCurrentIndex === 1 ? 'active' : ''"
                 >
-                  <span>{{ $t("hj85") }}</span>
+                  <span>Long</span>
                 </div>
               </div>
             </div>
@@ -115,29 +118,57 @@
           </div>
           <div class="tr_rs">
             <div class="top_bzz" style="padding-bottom: 0.2rem">
-              <span style="text-align: left">
-                {{ $t("交易总额") }}({{ moneyData.symbol || "$" }})
+              <span style="text-align: left"> {{ $t("交易总额") }}() </span>
+              <span style="text-align: right"> {{ $t("hj103") }}() </span>
+            </div>
+
+            <div class="bottom_bzz">
+              <span>
+                {{ bayType | currencySymbol }}
+                {{
+                  (nowPrice * selectCycle.replace("X", "") * num)
+                    | _toLocaleString
+                }}
+                <span v-if="bayType == 'US'">
+                  ≈ MX$
+                  {{
+                    (nowPrice * selectCycle.replace("X", "") * num * utm)
+                      | _toLocaleString
+                  }}
+                </span>
               </span>
-              <span style="text-align: right">
-                {{ $t("hj103") }}({{ moneyData.symbol || "$" }})
+              <span style="white-space: nowarp">
+                MX$ {{ moneyData.availableBalance | _toLocaleString }}
               </span>
+            </div>
+          </div>
+          <div class="tr_rs">
+            <div class="top_bzz" style="padding-bottom: 0.2rem">
+              <span style="text-align: left"> {{ $t("hj44") }}() </span>
+              <span style="text-align: right"> </span>
             </div>
 
             <div class="bottom_bzz">
               <span>
                 {{
-                  ((nowPrice / selectCycle.replace("X", "")) * num)
-                    | _toLocaleString
+                  (nowPrice * selectCycle.replace("X", "") * num * sxf).toFixed(
+                    2
+                  )
                 }}
+                <span v-if="bayType == 'US'">
+                  ≈ MX$
+                  {{
+                    (nowPrice * selectCycle.replace("X", "") * num * sxf * utm)
+                      | _toLocaleString
+                  }}
+                </span>
               </span>
-              <span style="white-space: nowarp">
-                {{ moneyData.availableBalance | _toLocaleString }}
-              </span>
+              <span style="white-space: nowarp"> </span>
             </div>
           </div>
         </div>
       </div>
-      <div class="switchs">
+      <!-- <div class="switchs">
         <div class="zy">
           <div class="left_zy">
             <span>{{ $t("hj104") }}</span>
@@ -148,21 +179,16 @@
         </div>
         <div class="zy" v-show="checkedZy">
           <div class="left_zy">
-            <input
-              v-model="profitTarget"
-              onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
-              @input="zyInt"
-            />
+            <input v-model="profitTarget" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
+              @input="zyInt" />
           </div>
           <div class="right_sw" style="width: auto">
             <div class="addorj" @click="zYjian">
               <img src="@/assets/img/ic_number_jian.png" />
             </div>
             <div class="addorj"></div>
-            <div
-              class="addorj"
-              @click="profitTarget = (Number(profitTarget) + 1).toFixed(2)"
-            >
+            <div class="addorj"
+              @click="tabsCurrentIndex==0?profitTarget = (Number(profitTarget) + 1).toFixed(2):profitTarget = (Number(profitTarget) + 1).toFixed(2)">
               <img src="@/assets/img/ic_number_add.png" />
             </div>
           </div>
@@ -177,14 +203,11 @@
         </div>
         <div class="zy" v-show="checkedZs">
           <div class="left_zy">
-            <input
-              v-model="zhisun"
-              onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
-              @input="zsInt"
-            />
+            <input v-model="zhisun" onkeyup="value=value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="zsInt" />
           </div>
           <div class="right_sw" style="width: auto">
-            <div class="addorj" @click="zhisun--">
+            <div class="addorj"
+              @click="zSjian">
               <img src="@/assets/img/ic_number_jian.png" />
             </div>
             <div class="addorj"></div>
@@ -193,10 +216,11 @@
             </div>
           </div>
         </div>
-      </div>
+      </div> -->
       <div class="btn_buy" @click="gdOrSetBuy()">
-        <div :class="tabsCurrentIndex == 0 ? 'maichu' : ''">
-          <span>{{ tabsCurrentIndex == 0 ? $t("hj84") : $t("hj85") }}</span>
+        <!-- <div :class="tabsCurrentIndex == 0 ? 'maichu' : ''">#c4d600 -->
+        <div class="maichu" style="background-color:#c4d600">
+          <span>{{ tabsCurrentIndex == 0 ? $t("hj84") : $t("gm") }}</span>
         </div>
       </div>
     </div>
@@ -214,9 +238,11 @@
 <script>
 import * as api from "@/axios/api";
 import { mapActions } from "vuex";
+import { myMixin } from "@/mixins/myMixin";
 
 export default {
   name: "trBuy",
+  mixins: [myMixin],
   created() {
     if (this.$route.query.t) {
       this.tabsCurrentIndex = Number(this.$route.query.t);
@@ -274,30 +300,41 @@
       profitTarget: 0,
       if_us: 0,
       bayType: "",
+      sxf: "",
       id: "",
       actions: [
-        { name: "100X", subname: this.$t("hj102") },
-        { name: "200X", subname: this.$t("hj102") },
-        { name: "300X", subname: this.$t("hj102") },
+        {
+          name: "100X",
+          subname: this.$t("hj102")
+        },
+        {
+          name: "200X",
+          subname: this.$t("hj102")
+        },
+        {
+          name: "300X",
+          subname: this.$t("hj102")
+        }
       ],
       profitArr: [
         {
           name: this.$t("hj104"),
-          checked: false,
+          checked: false
         },
         {
           name: this.$t("hj105"),
-          checked: false,
+          checked: false
         },
         {
           name: this.$t("hj110"),
-          checked: false,
-        },
+          checked: false
+        }
       ],
       moneyData: {},
-      gid: "",
+      gid: ""
     };
   },
+
   mounted() {
     this.bayType = this.$route.query.bayType;
     this.gid = this.$route.query.gid;
@@ -309,6 +346,7 @@
     this.setUseInfo();
     this.getMoneyData();
     this.getSettingInfo();
+    this.queryStockConfig();
   },
   watch: {
     checkedZy(val) {
@@ -322,9 +360,22 @@
         // 支持
         navigator.vibrate([55]);
       }
-    },
+    }
   },
   methods: {
+    async queryStockConfig() {
+      let data = await api.queryStockConfig();
+      if (data.status === 0) {
+        this.sxf = data.data.cValue;
+      }
+    },
+    zSjian() {
+      var newzishu = (Number(this.zhisun) - 1).toFixed(2);
+      if (Number(newzishu) < 1) {
+      } else {
+        this.zhisun = newzishu;
+      }
+    },
     ...mapActions(["setUseInfo"]),
     numInput(e) {
       // this.nowPrice / this.selectCycle.replace("X", "")
@@ -340,13 +391,19 @@
       // if()
       console.log(e.target.value);
     },
+    handleDoubleClick(event) {
+      console.log(1);
+      // console.log('Input field was double-clicked', event);
+    },
     async getMoneyData() {
       let data = await api.getMoney();
       let type = this.bayType === "SZHB" ? "US" : this.bayType;
       if (data.status === 0) {
-        const newArr = data.data.filter((item) => item.accectType === type);
+        // const newArr = data.data.filter(item => item.accectType === type);
+        // this.moneyData = newArr[0] || {};
 
-        this.moneyData = newArr[0] || {};
+        this.moneyData = data.data[0];
+
         // console.log(this.bayType, newArr);
         // 判断是否登录
         // this.moneyList = data.data;
@@ -403,18 +460,35 @@
       }
     },
     zYjian() {
-      if ((Number(this.profitTarget) - 1).toFixed(2) < this.nowPrice) {
-        this.profitTarget = this.nowPrice;
+      var newzishu = (Number(this.profitTarget) - 1).toFixed(2);
+      if (Number(newzishu) < 1) {
       } else {
-        this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2);
+        this.profitTarget = newzishu;
       }
+      // this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2);
+      // if(this.tabsCurrentIndex==0){
+      //   console.log( this.nowPrice);
+      //   if ((Number(this.profitTarget) - 1).toFixed(2) < this.nowPrice) {
+      //     this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2);
+      //   } else {
+      //     this.profitTarget = this.nowPrice;
+      //   }
+      // }else{
+      //   console.log(123);
+      //   if ((Number(this.profitTarget) - 1).toFixed(2) < this.nowPrice) {
+      //     this.profitTarget = this.nowPrice;
+      //   } else {
+      //     this.profitTarget = (Number(this.profitTarget) - 1).toFixed(2);
+      //   }
+      // }
     },
     zSjia() {
-      if ((Number(this.zhisun) + 1).toFixed(2) > this.nowPrice) {
-        this.zhisun = this.nowPrice;
-      } else {
-        this.zhisun++;
-      }
+      this.zhisun++;
+      // if ((Number(this.zhisun) + 1).toFixed(2) > this.nowPrice) {
+      //   this.zhisun = this.nowPrice;
+      // } else {
+      //   this.zhisun++;
+      // }
     },
     zsInt(e) {
       if (typeof e.target.value === "string") {
@@ -459,7 +533,7 @@
         stockId: this.code,
         buyNum: this.num,
         lever: this.selectLever,
-        targetPrice: this.nums,
+        targetPrice: this.nums
       };
       console.log(this.selectLever, "this.selectLever ");
 
@@ -481,14 +555,15 @@
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
           elAlertText: data.msg,
-          elAlertType: "success",
+          elAlertType: "success"
         });
         this.getUserInfo();
-        this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        // this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        this.$router.push("/tradeNew?index=1&buyType=" + this.bayType);
       } else {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: data.msg,
+          elAlertText: data.msg
         });
       }
     },
@@ -497,7 +572,7 @@
       if (this.$store.state.userInfo.isActive !== 2) {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: this.$t("hj111"),
+          elAlertText: this.$t("hj111")
         });
         this.$router.push("/authentications");
         return;
@@ -512,13 +587,13 @@
         // stockId: this.detail.id,
         // buyNum: this.selectNumber ? this.selectNumber * 100 : 0, // 单位为手
         // buyType: this.selectType,
-        // lever: this.selectCycle ? this.selectCycle : 0,
+        lever: this.selectCycle ? this.selectCycle : 0,
         // subaccountNumber:this.subaccountNumber
 
         // 买入是买涨buyType:0, 卖出是买跌buyType:1,卖出的状态是0,买入的状态是1
         buyNum: this.num, // 单位为手
         // buyNum: (this.num.match(/\d+/g))[0] * 100, // 单位为手
-        lever: this.selectLever,
+        lever: this.selectLever
       };
       console.log(this.selectLever, "this.selectLever ");
       if (this.tabsCurrentIndex == 0) {
@@ -554,7 +629,7 @@
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
           elAlertText: data.msg,
-          elAlertType: "success",
+          elAlertType: "success"
         });
         this.getUserInfo();
         var buyType = "";
@@ -563,17 +638,18 @@
         } else {
           buyType = 0;
         }
-        this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        // this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        this.$router.push("/tradeNew?index=1&buyType=" + this.bayType);
       } else {
         if (data.msg.indexOf("不在交易时段内") > -1) {
           this.$store.commit("elAlertShow", {
             elAlertShow: true,
-            elAlertText: this.$t("hj113"),
+            elAlertText: this.$t("hj113")
           });
         } else {
           this.$store.commit("elAlertShow", {
             elAlertShow: true,
-            elAlertText: data.msg,
+            elAlertText: data.msg
           });
         }
       }
@@ -587,14 +663,15 @@
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
           elAlertText: data.msg,
-          elAlertType: "success",
+          elAlertType: "success"
         });
         this.getUserInfo();
-        this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        // this.$router.push("/warehouse?index=1&buyType=" + this.bayType);
+        this.$router.push("/tradeNew?index=1&buyType=" + this.bayType);
       } else {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: data.msg,
+          elAlertText: data.msg
         });
       }
     },
@@ -608,7 +685,7 @@
       } else {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: data.msg,
+          elAlertText: data.msg
         });
       }
       this.$store.state.user = this.user;
@@ -638,7 +715,10 @@
             i++
           ) {
             let val = this.$store.state.userInfo.siteLever.split("/")[i];
-            let item = { label: val, name: val + "X" };
+            let item = {
+              label: val,
+              name: val + "X"
+            };
             this.siteLeverList.push(item);
           }
           console.log(this.siteLeverList, " this.selectCycle");
@@ -646,10 +726,10 @@
       } else {
         this.$store.commit("elAlertShow", {
           elAlertShow: true,
-          elAlertText: data.msg,
+          elAlertText: data.msg
         });
       }
-    },
+    }
   },
   filters: {
     getName(name) {
@@ -658,8 +738,8 @@
       } else {
         return name;
       }
-    },
-  },
+    }
+  }
 };
 </script>
 
@@ -955,6 +1035,7 @@
 .btn_buy {
   width: 100%;
   height: auto;
+  bottom: 0;
   background: #fff;
   padding: 0.8rem 0.8rem;
   display: flex;
@@ -967,7 +1048,7 @@
     display: flex;
     justify-content: center;
     align-items: center;
-    background: rgb(68, 155, 84);
+    // background: rgb(68, 155, 84);
     color: #fff;
     font-size: 0.3846rem;
     border-radius: 0.15rem;
@@ -1025,7 +1106,7 @@
 }
 
 .maichu {
-  background-color: rgb(225, 59, 69) !important;
+  // background-color: rgb(225, 59, 69) !important;
 }
 
 .mr {
@@ -1069,6 +1150,7 @@
     transform: skew(-10deg, 0deg);
   }
 }
+
 /deep/.van-overlay {
   z-index: 10000 !important;
 }

--
Gitblit v1.9.3