| | |
| | | export function rtDk(options) { |
| | | return post(`/api/dk/rtDk.do?id=` + options); |
| | | } |
| | | // 获取最低手数和股数 |
| | | export function queryStockBuySetting(options) { |
| | | return get("/api/user/queryStockBuySetting.do", options); |
| | | } |
| | |
| | | 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; |
| | |
| | | "冻结资金": "凍結資金", |
| | | "待补资金": "待補資金", |
| | | "身份證件": "身份證件", |
| | | "一键平仓": "一鍵平倉" |
| | | "一键平仓": "一鍵平倉", |
| | | "交易数量": "交易數量" |
| | | } |
| | |
| | | "冻结资金": "Freeze funds", |
| | | "待补资金": "Pending replenishment funds", |
| | | "身份證件": "Identity document", |
| | | "一键平仓": "One-click liquidation" |
| | | "一键平仓": "One-click liquidation", |
| | | "交易数量": "Transaction quantity" |
| | | } |
| | |
| | | "冻结资金": "फ्रीज फंड्स", |
| | | "待补资金": "अनुपूरक निधि लंबित", |
| | | "身份證件": "पहचान प्रलेख", |
| | | "一键平仓": "एक कृपया बंद करें" |
| | | "一键平仓": "एक कृपया बंद करें", |
| | | "交易数量": "लेनदेन मात्रा" |
| | | } |
| | |
| | | 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, |
| | | }); |
| | | |
| | |
| | | <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"> |
| | |
| | | </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> |
| | |
| | | |
| | | <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> |
| | |
| | | <img src="@/assets/img/ic_number_jian.png" alt /> |
| | | </div> |
| | | <div class="addorj"></div> |
| | | <div |
| | | class="addorj" |
| | | @click=" |
| | | <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"> |
| | |
| | | <span> |
| | | {{ bayType | currencySymbol }} |
| | | {{ |
| | | (nowPrice * selectCycle.replace("X", "") * num) |
| | | (nowPrice * selectCycle.replace("X", "") * num * stockNum) |
| | | | _toLocaleString |
| | | }} |
| | | </span> |
| | |
| | | </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> |
| | | |
| | |
| | | } |
| | | ], |
| | | moneyData: {}, |
| | | gid: "" |
| | | gid: "", |
| | | stockNum: 0, // 一手的股数 |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | this.getMoneyData(); |
| | | this.getSettingInfo(); |
| | | this.queryStockConfig(); |
| | | this.getStockBuySetting(); |
| | | }, |
| | | watch: { |
| | | checkedZy(val) { |
| | |
| | | elAlertText: data.msg |
| | | }); |
| | | } |
| | | }, |
| | | // 获取每手的股数 |
| | | async getStockBuySetting() { |
| | | let data = await api.queryStockBuySetting({ stockType: this.bayType }); |
| | | if (data.status === 0) { |
| | | this.stockNum = data.data[0].stockNum; |
| | | } |
| | | } |
| | | }, |
| | | filters: { |
| | |
| | | </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"> |
| | |
| | | return { |
| | | pages: {}, |
| | | ordernum: "", |
| | | actions: [{ text: '确定', key: '1' }, { text: '取消', key: '2' }], |
| | | showPopover: false, |
| | | }; |
| | | }, |
| | | // 生命周期 - 创建完成(访问当前this实例) |
| | |
| | | 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> |