From c03ae5893c55c8b30daed67e96d0a8d0a513451b Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Mon, 29 Sep 2025 13:40:32 +0800
Subject: [PATCH] 1
---
src/page/user/Warehouse/Stockdetail.vue | 26 +++++++-
src/locales/en.json | 3
src/page/trading/TradeNew.vue | 4
src/page/list/tradingList/data.list.vue | 2
src/axios/api.js | 4 +
src/page/trading/buy.vue | 94 ++++++++++++------------------
src/locales/hi.json | 3
src/components/stock-list.vue | 2
src/locales/cht.json | 3
9 files changed, 74 insertions(+), 67 deletions(-)
diff --git a/src/axios/api.js b/src/axios/api.js
index 7e1f527..3bc13f6 100644
--- a/src/axios/api.js
+++ b/src/axios/api.js
@@ -670,3 +670,7 @@
export function rtDk(options) {
return post(`/api/dk/rtDk.do?id=` + options);
}
+// 获取最低手数和股数
+export function queryStockBuySetting(options) {
+ return get("/api/user/queryStockBuySetting.do", options);
+}
diff --git a/src/components/stock-list.vue b/src/components/stock-list.vue
index c418f9b..2a42cf9 100644
--- a/src/components/stock-list.vue
+++ b/src/components/stock-list.vue
@@ -103,7 +103,7 @@
handler(val) {
// 根据当前股票类型连接对应的ws
if (val.stockType == "US")
- this.initWebSocket("wss://ws.isusstock.com/websocket-server");
+ this.initWebSocket("wss://usws.yanshiz.com/websocket-server");
else this.initWebSocket("wss://ws.acapl.net/websocket-server");
this.pageNum = 1;
diff --git a/src/locales/cht.json b/src/locales/cht.json
index f72956e..3f6d169 100644
--- a/src/locales/cht.json
+++ b/src/locales/cht.json
@@ -699,5 +699,6 @@
"冻结资金": "凍結資金",
"待补资金": "待補資金",
"身份證件": "身份證件",
- "一键平仓": "一鍵平倉"
+ "一键平仓": "一鍵平倉",
+ "交易数量": "交易數量"
}
diff --git a/src/locales/en.json b/src/locales/en.json
index 19b4b94..6ccc368 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -699,5 +699,6 @@
"冻结资金": "Freeze funds",
"待补资金": "Pending replenishment funds",
"身份證件": "Identity document",
- "一键平仓": "One-click liquidation"
+ "一键平仓": "One-click liquidation",
+ "交易数量": "Transaction quantity"
}
diff --git a/src/locales/hi.json b/src/locales/hi.json
index 7dbe042..fb106dc 100644
--- a/src/locales/hi.json
+++ b/src/locales/hi.json
@@ -699,5 +699,6 @@
"冻结资金": "फ्रीज फंड्स",
"待补资金": "अनुपूरक निधि लंबित",
"身份證件": "पहचान प्रलेख",
- "一键平仓": "एक कृपया बंद करें"
+ "一键平仓": "एक कृपया बंद करें",
+ "交易数量": "लेनदेन मात्रा"
}
\ No newline at end of file
diff --git a/src/page/list/tradingList/data.list.vue b/src/page/list/tradingList/data.list.vue
index 3c0a911..a77ebd4 100644
--- a/src/page/list/tradingList/data.list.vue
+++ b/src/page/list/tradingList/data.list.vue
@@ -334,7 +334,7 @@
initWebSocket() {
console.log("initWebSocket");
this.Trade = new WhrWebSocket({
- path: `wss://ws.acapl.net/websocket-server`,
+ path: `wss://usws.yanshiz.com/websocket-server`,
onmessage: this.getTradeMessage,
});
diff --git a/src/page/trading/TradeNew.vue b/src/page/trading/TradeNew.vue
index 3c6b5ce..46b5c15 100644
--- a/src/page/trading/TradeNew.vue
+++ b/src/page/trading/TradeNew.vue
@@ -1,11 +1,11 @@
<template>
<div class="trade_new">
<tab-head>
- <van-popover v-model="showPopover" trigger="click" :actions="actions" @select="onSelect" slot="left">
+ <!-- <van-popover v-model="showPopover" trigger="click" :actions="actions" @select="onSelect" slot="left">
<template #reference>
<van-button type="primary">{{ $t("一键平仓") }}</van-button>
</template>
- </van-popover>
+ </van-popover> -->
</tab-head>
<div class="order_tabs">
diff --git a/src/page/trading/buy.vue b/src/page/trading/buy.vue
index 3440e2b..ae50bb4 100644
--- a/src/page/trading/buy.vue
+++ b/src/page/trading/buy.vue
@@ -30,19 +30,11 @@
</div>
<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>
@@ -53,13 +45,8 @@
<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,29 +63,21 @@
<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>
</div>
<div class="num">
- <span>{{ $t("hj100") }}</span>
+ <span>{{ $t("交易数量") }}({{ $t('hj117') }})</span>
</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">
@@ -126,8 +105,8 @@
<span>
{{ bayType | currencySymbol }}
{{
- (nowPrice * selectCycle.replace("X", "") * num)
- | _toLocaleString
+ (nowPrice * selectCycle.replace("X", "") * num * stockNum)
+ | _toLocaleString
}}
</span>
<span style="white-space: nowarp">
@@ -211,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>
@@ -318,7 +291,8 @@
}
],
moneyData: {},
- gid: ""
+ gid: "",
+ stockNum: 0, // 一手的股数
};
},
computed: {
@@ -343,6 +317,7 @@
this.getMoneyData();
this.getSettingInfo();
this.queryStockConfig();
+ this.getStockBuySetting();
},
watch: {
checkedZy(val) {
@@ -378,8 +353,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;
@@ -412,8 +387,8 @@
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))
@@ -720,6 +695,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: {
@@ -740,7 +722,7 @@
min-height: 100vh;
background-color: #fff;
- > .content {
+ >.content {
width: 100%;
height: calc(100% - 1.6rem);
position: relative;
@@ -765,7 +747,7 @@
display: flex;
align-items: center;
- > img {
+ >img {
margin-top: 0.2rem;
width: 0.6rem;
height: 0.6rem;
@@ -841,13 +823,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);
@@ -898,7 +880,7 @@
justify-content: center;
border-radius: 0.15rem;
- > div {
+ >div {
width: 49%;
height: 80%;
border-radius: 0.15rem;
@@ -950,7 +932,7 @@
height: 1.3rem;
margin-top: 0.4rem;
- > div {
+ >div {
width: 100%;
height: 50%;
color: rgb(160, 160, 160);
@@ -984,7 +966,7 @@
font-size: 0.3803rem;
border-bottom: 0.05rem solid rgb(236, 236, 236);
- > div {
+ >div {
color: #000;
}
}
@@ -1009,7 +991,7 @@
align-items: center;
border-bottom: 0.05rem solid rgb(236, 236, 236);
- > div {
+ >div {
// width: 20%;
height: 50%;
display: flex;
@@ -1033,7 +1015,7 @@
align-items: flex-end;
// padding-top: 0.8rem;
- > div {
+ >div {
width: 100%;
height: 1.2821rem;
display: flex;
diff --git a/src/page/user/Warehouse/Stockdetail.vue b/src/page/user/Warehouse/Stockdetail.vue
index 39fd880..7cbdf6c 100644
--- a/src/page/user/Warehouse/Stockdetail.vue
+++ b/src/page/user/Warehouse/Stockdetail.vue
@@ -96,13 +96,13 @@
</div>
</div>
<div class="buttonbox flex-center" v-show="!pages.sellOrderTime">
- <van-button type="primary" @click="close"> {{ $t("平仓") }}</van-button>
+ <!-- <van-button type="primary" @click="close"> {{ $t("平仓") }}</van-button> -->
- <!-- <van-popover v-model="showPopover" trigger="click" placement="top" :actions="actions" @select="onSelect">
+ <van-popover v-model="showPopover" trigger="click" placement="top" :actions="actions" @select="onSelect">
<template #reference>
- <van-button type="primary"> {{ $t("一键平仓") }}</van-button>
+ <van-button type="primary"> {{ $t("平仓") }}</van-button>
</template>
- </van-popover> -->
+ </van-popover>
</div>
<Dialog ref="closeDialog" :title="$t('确认平仓')" :confirm="confirm">
@@ -142,6 +142,8 @@
return {
pages: {},
ordernum: "",
+ actions: [{ text: '确定', key: '1' }, { text: '取消', key: '2' }],
+ showPopover: false,
};
},
// 生命周期 - 创建完成(访问当前this实例)
@@ -200,6 +202,22 @@
Notify({ type: "danger", message: res.msg });
}
},
+ // 直接全部确认弹框
+ onSelect(action) {
+ if (action.key == 1) this.oneClose();
+ },
+ // 直接全部平仓
+ async oneClose() {
+ const res = await api.sell({
+ positionSn: this.pages.positionSn,
+ number: this.pages.orderNum
+ });
+ if (res.status === 0) {
+ Notify({ type: "success", message: res.msg });
+ } else {
+ Notify({ type: "danger", message: res.msg });
+ }
+ }
}
};
</script>
--
Gitblit v1.9.3