From ce34773d58c50449fa5279e1f3430b8b020eb448 Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Sun, 01 Feb 2026 14:48:47 +0800
Subject: [PATCH] 1
---
src/page/trading/buy.vue | 165 ++++++++++++++++++++++++------------------------------
1 files changed, 74 insertions(+), 91 deletions(-)
diff --git a/src/page/trading/buy.vue b/src/page/trading/buy.vue
index 1d8fec6..baf40b9 100644
--- a/src/page/trading/buy.vue
+++ b/src/page/trading/buy.vue
@@ -28,38 +28,25 @@
<span>{{ $t("hj98") }}</span>
</div>
</div>
- <div class="rights">
+ <!-- <div class="rights">
<div class="ese">
- <div
- class="mc"
- @click="handleTradingClick(0)"
- :class="tabsCurrentIndex === 0 ? 'actives' : ''"
- >
+ <div class="mc" @click="handleTradingClick(0)" :class="tabsCurrentIndex === 0 ? 'actives' : ''">
<span>Short</span>
</div>
- <div
- class="mr"
- @click="handleTradingClick(1)"
- :class="tabsCurrentIndex === 1 ? 'active' : ''"
- >
+ <div class="mr" @click="handleTradingClick(1)" :class="tabsCurrentIndex === 1 ? 'active' : ''">
<span>Long</span>
</div>
</div>
- </div>
+ </div> -->
</div>
</div>
</div>
<div class="price_tabs">
<div class="tabs">
- <div
- class="tab_item"
- v-for="(item, index) in priceTabs"
- :key="index"
- @click="handleTabsClick(item, index)"
- :class="priceTabsCurrentIndex === index ? 'active' : ''"
- >
+ <div class="tab_item" v-for="(item, index) in priceTabs" :key="index" @click="handleTabsClick(item, index)"
+ :class="priceTabsCurrentIndex === index ? 'active' : ''">
<span>{{ item }}</span>
</div>
</div>
@@ -76,14 +63,11 @@
<img src="@/assets/img/ic_number_jian.png" alt />
</div>
<div class="addorj"></div>
- <div
- class="addorj"
- @click="
- typeof nums == 'string'
- ? (nums = Number(Number(nums) + 1).toFixed(2))
- : (nums = (Number(nums) + 1).toFixed(2))
- "
- >
+ <div class="addorj" @click="
+ typeof nums == 'string'
+ ? (nums = Number(Number(nums) + 1).toFixed(2))
+ : (nums = (Number(nums) + 1).toFixed(2))
+ ">
<img src="@/assets/img/ic_number_add.png" />
</div>
</div>
@@ -93,12 +77,7 @@
</div>
<div class="tr_es flexJy">
<div class="top_input">
- <input
- type="number"
- onkeyup="value=value.replace(/[^\d]/g,'')"
- v-model="num"
- @input="numInput"
- />
+ <input type="number" onkeyup="value=value.replace(/[^\d]/g,'')" v-model="num" @input="numInput" />
</div>
<div class="right_sw flexJy" style="width: auto">
<div class="addorj" @click="jyslJian">
@@ -110,41 +89,35 @@
</div>
</div>
</div>
- <div class="tr_rs gg" @click="showGg = true">
+ <!-- <div class="tr_rs gg" @click="showGg = true">
<div class="top_bzz">
<span>{{ $t("hj101") }}</span>
<span>{{ selectCycle }}</span>
</div>
- </div>
+ </div> -->
<div class="tr_rs">
<div class="top_bzz" style="padding-bottom: 0.2rem">
- <span style="text-align: left"> {{ $t("交易总额") }}() </span>
- <span style="text-align: right"> {{ $t("hj103") }}() </span>
+ <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
+ (nowPrice * selectCycle.replace("X", "") * num * stockNum)
+ | _toLocaleString
}}
- <span v-if="bayType == 'US'">
- ≈ MX$
- {{
- (nowPrice * selectCycle.replace("X", "") * num * utm)
- | _toLocaleString
- }}
- </span>
</span>
<span style="white-space: nowarp">
- MX$ {{ moneyData.availableBalance | _toLocaleString }}
+ {{ bayType | currencySymbol }}
+ {{ 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: left"> {{ $t("hj44") }} </span>
<span style="text-align: right"> </span>
</div>
@@ -155,13 +128,6 @@
2
)
}}
- <span v-if="bayType == 'US'">
- ≈ MX$
- {{
- (nowPrice * selectCycle.replace("X", "") * num * sxf * utm)
- | _toLocaleString
- }}
- </span>
</span>
<span style="white-space: nowarp"> </span>
</div>
@@ -224,14 +190,8 @@
</div>
</div>
</div>
- <van-action-sheet
- v-model="showGg"
- :actions="siteLeverList"
- :cancel-text="$t('hj106')"
- :description="$t('hj107')"
- close-on-click-action
- @select="onSelect"
- />
+ <van-action-sheet v-model="showGg" :actions="siteLeverList" :cancel-text="$t('hj106')" :description="$t('hj107')"
+ close-on-click-action @select="onSelect" />
</div>
</template>
@@ -277,8 +237,8 @@
return {
tradingArr: [this.$t("hj84"), this.$t("hj85")],
tabsCurrentIndex: 0,
- // priceTabs: [this.$t("hj108"), this.$t("hj109")],
- priceTabs: [this.$t("hj108")],
+ priceTabs: [this.$t("hj108"), this.$t("hj109")],
+ // priceTabs: [this.$t("hj108")],
priceTabsCurrentIndex: 0,
num: 1,
nums: 1,
@@ -331,10 +291,20 @@
}
],
moneyData: {},
- gid: ""
+ gid: "",
+ stockNum: 0, // 一手的股数
};
},
-
+ computed: {
+ // 计算当前汇率
+ rate() {
+ let rate = 1;
+ if (this.bayType == "HK") rate = this.htu;
+ else if (this.bayType == "IN") rate = this.itu;
+ else if (this.bayType == "TW") rate = this.ttu;
+ return rate;
+ }
+ },
mounted() {
this.bayType = this.$route.query.bayType;
this.gid = this.$route.query.gid;
@@ -347,6 +317,7 @@
this.getMoneyData();
this.getSettingInfo();
this.queryStockConfig();
+ this.getStockBuySetting();
},
watch: {
checkedZy(val) {
@@ -361,6 +332,16 @@
navigator.vibrate([55]);
}
}
+ },
+ // 路由守卫 - 离开页面时清除 alert
+ beforeRouteLeave(to, from, next) {
+ // 如果 alert 正在显示,清除它
+ if (this.$store.state.elAlertShow) {
+ this.$store.commit("elAlertShow", {
+ elAlertShow: false
+ });
+ }
+ next();
},
methods: {
async queryStockConfig() {
@@ -382,8 +363,8 @@
// this.moneyData.availableBalance
let numbs = Math.floor(
this.moneyData.availableBalance /
- this.nowPrice /
- this.selectCycle.replace("X", "")
+ this.nowPrice /
+ this.selectCycle.replace("X", "")
);
if (e.target.value >= numbs) {
this.num = numbs;
@@ -397,16 +378,11 @@
},
async getMoneyData() {
let data = await api.getMoney();
- let type = this.bayType === "SZHB" ? "US" : this.bayType;
+ // let type = this.bayType === "SZHB" ? "US" : this.bayType;
if (data.status === 0) {
- // const newArr = data.data.filter(item => item.accectType === type);
- // this.moneyData = newArr[0] || {};
-
- this.moneyData = data.data[0];
-
- // console.log(this.bayType, newArr);
- // 判断是否登录
- // this.moneyList = data.data;
+ data.data.forEach(i => {
+ if (i.accectType == this.bayType) this.moneyData = i;
+ });
}
},
handleBack() {
@@ -421,14 +397,14 @@
jjjisua() {
let numbs = Math.floor(
this.moneyData.availableBalance /
- this.nowPrice /
- this.selectCycle.replace("X", "")
+ this.nowPrice /
+ this.selectCycle.replace("X", "")
);
typeof this.num == "string"
? (this.num = Number(Number(this.num) + 1))
: (this.num = Number(Number(this.num) + 1));
- console.log(this.num, numbs);
+ // console.log(this.num, numbs);
if (this.num >= numbs) {
this.num = numbs;
}
@@ -535,7 +511,7 @@
lever: this.selectLever,
targetPrice: this.nums
};
- console.log(this.selectLever, "this.selectLever ");
+ // console.log(this.selectLever, "this.selectLever ");
if (this.tabsCurrentIndex == 0) {
opts.buyType = 1;
@@ -729,6 +705,13 @@
elAlertText: data.msg
});
}
+ },
+ // 获取每手的股数
+ async getStockBuySetting() {
+ let data = await api.queryStockBuySetting({ stockType: this.bayType });
+ if (data.status === 0) {
+ this.stockNum = data.data[0].stockNum;
+ }
}
},
filters: {
@@ -749,7 +732,7 @@
min-height: 100vh;
background-color: #fff;
- > .content {
+ >.content {
width: 100%;
height: calc(100% - 1.6rem);
position: relative;
@@ -774,7 +757,7 @@
display: flex;
align-items: center;
- > img {
+ >img {
margin-top: 0.2rem;
width: 0.6rem;
height: 0.6rem;
@@ -850,13 +833,13 @@
align-items: center;
justify-content: flex-end;
- > div {
+ >div {
width: 65%;
height: 80%;
display: flex;
justify-content: center;
- > div {
+ >div {
width: 45%;
height: 70%;
background: rgb(236, 236, 236);
@@ -907,7 +890,7 @@
justify-content: center;
border-radius: 0.15rem;
- > div {
+ >div {
width: 49%;
height: 80%;
border-radius: 0.15rem;
@@ -959,7 +942,7 @@
height: 1.3rem;
margin-top: 0.4rem;
- > div {
+ >div {
width: 100%;
height: 50%;
color: rgb(160, 160, 160);
@@ -993,7 +976,7 @@
font-size: 0.3803rem;
border-bottom: 0.05rem solid rgb(236, 236, 236);
- > div {
+ >div {
color: #000;
}
}
@@ -1018,7 +1001,7 @@
align-items: center;
border-bottom: 0.05rem solid rgb(236, 236, 236);
- > div {
+ >div {
// width: 20%;
height: 50%;
display: flex;
@@ -1042,7 +1025,7 @@
align-items: flex-end;
// padding-top: 0.8rem;
- > div {
+ >div {
width: 100%;
height: 1.2821rem;
display: flex;
--
Gitblit v1.9.3