| | |
| | | <!-- 订单 --> |
| | | <div v-if="existToken"> |
| | | <div v-if="typeNum == 0" class="submit-info-item"> |
| | | <div>{{ $t("message.home.kekaizhangshu") }}</div> |
| | | <div>{{ `${maxAmount} ${$t("message.home.zhang")}` }}</div> |
| | | <!-- <div>{{ $t("message.home.kekaizhangshu") }}</div> |
| | | <div>{{ `${maxAmount} ${$t("message.home.zhang")}` }}</div> --> |
| | | <div>{{ $t("message.jiaoyi.qianbaoyue") }}</div> |
| | | <div>{{ walletMoney }} USDT</div> |
| | | </div> |
| | | |
| | | <div v-if="typeNum == 1" class="submit-info-item"> |
| | |
| | | import { mapState, mapActions, mapStores } from "pinia"; |
| | | import { useUserStore } from "@/store/user"; |
| | | import { useCurrencyStore } from "@/store/currency"; |
| | | import Axios from "@/api/currency.js"; |
| | | import bus from "vue3-eventbus"; |
| | | |
| | | export default { |
| | | emits: ["getAmount"], |
| | | name: "amountSlider", |
| | |
| | | 100: "100%", |
| | | }, |
| | | allowedSteps: [0, 25, 50, 75, 100], |
| | | |
| | | totalAsset: "0.000000", //总资产 |
| | | walletMoney: "0.000000", //钱包余额 |
| | | profitLoss: "0.000000", //未实现盈亏 |
| | | marginRate: "0.000000", //保证金比率 |
| | | maintenanceMargin: "0.000000", //维持保证金 = 钱包余额 |
| | | }; |
| | | }, |
| | | mounted() { |
| | | if (this.existToken) { |
| | | this.timer = setInterval(() => { |
| | | this.getAssetTotal(); |
| | | }, 2000); |
| | | } |
| | | }, |
| | | computed: { |
| | | ...mapState(useUserStore, ["existToken"]), |
| | | //保证金余额 |
| | | marginBalance: function () { |
| | | // 钱包余额 + 未实现盈亏 |
| | | return bigDecimal.add(this.walletMoney, this.profitLoss); |
| | | }, |
| | | }, |
| | | methods: { |
| | | onSliderInput(val) { |
| | | // 只允许滑到指定点 |
| | | const allowed = this.allowedSteps; |
| | | let closest = allowed[0]; |
| | | let minDiff = Math.abs(val - allowed[0]); |
| | | for (let i = 1; i < allowed.length; i++) { |
| | | const diff = Math.abs(val - allowed[i]); |
| | | if (diff < minDiff) { |
| | | minDiff = diff; |
| | | closest = allowed[i]; |
| | | } |
| | | } |
| | | if (this.sliderAmount !== closest) { |
| | | this.sliderAmount = closest; |
| | | } |
| | | //获取资产总余额 |
| | | getAssetTotal() { |
| | | Axios.currencyPaypal().then((res) => { |
| | | const { total, money_wallet, money_contract, money_contract_profit } = |
| | | res.data; |
| | | this.totalAsset = total; //总资产 |
| | | this.walletMoney = bigDecimal.round(money_wallet, 6); //钱包余额 |
| | | this.profitLoss = bigDecimal.round(money_contract_profit, 6); //永续合约总未实现盈亏 |
| | | bus.emit("moneyContract", money_contract); //合约可用余额 |
| | | // bus.emit("moneyContract", this.walletMoney); //合约可用余额 |
| | | }); |
| | | }, |
| | | //输入框事件 |
| | | inputChange(val) { |