| | |
| | | <span class="time">{{ chartData.market.time_str }}</span> |
| | | <span>{{ chartData.market.time_zone && $t(chartData.market.time_zone) }}</span> |
| | | </p> |
| | | <div :class="{ slide2: animated1 }" v-if="selectIndex === 1"> |
| | | <div :class="{ slide2: animated1 }" v-if="Number(selectIndex) === 1"> |
| | | <section class="value-container" v-if="showMore"> |
| | | <div class="flex-l"> |
| | | <p class="first-line red">{{ formatMoney(chartData?.close) }}</p> |
| | |
| | | showLength = 7 |
| | | }, |
| | | initFutrue(val) { |
| | | if (val) { |
| | | if (this.$route.query.selectIndex == 2) { |
| | | if (this.isUpdate) { |
| | | setTimeout(() => { |
| | | this.onTopTab(2) |
| | | if (!val || !this.symbol) return |
| | | if (Number(this.selectIndex) === 2 && this.curTab && typeof this[this.curTab] === 'function') { |
| | | this.$nextTick(() => { |
| | | this[this.curTab](this.symbol) |
| | | }) |
| | | } |
| | | this.isUpdate = false |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | |
| | | deep: null /// 深度 |
| | | }, |
| | | curTab: '', // 当前委托还是持有仓位 |
| | | selectIndex: 1, // 当前tab |
| | | selectIndex: 2, // 当前tab(仅AI量化) |
| | | initFutrue: {}, /// 交割合约 |
| | | show: false, // popup |
| | | animated1: false, |
| | |
| | | handleClickShowMore() { |
| | | this.showMore = !this.showMore |
| | | }, |
| | | onTopTab(evt) { // 当前tab 永续/交割 |
| | | onTopTab(evt) { // 仅AI量化 |
| | | const tab = Number(evt) === 1 ? 2 : Number(evt) |
| | | this.syncContractTab(tab, true) |
| | | if (String(this.$route.query.selectIndex) !== String(tab)) { |
| | | this.$router.replace({ |
| | | path: this.$route.path, |
| | | query: { ...this.$route.query, selectIndex: String(tab) } |
| | | }).catch(() => {}) |
| | | } |
| | | }, |
| | | syncContractTab(evt, bumpKey = true) { |
| | | const idx = Number(evt) |
| | | if (bumpKey) { |
| | | this.keyIndex += 1 |
| | | this.selectIndex = evt |
| | | } |
| | | this.selectIndex = idx |
| | | this.clearTimer() |
| | | if (this.selectIndex / 1 === 1) { |
| | | //this.curTab = 'fetchOrderListCur' |
| | | if (idx === 1) { |
| | | this.curTab = 'fetchOrderListHold' |
| | | // this.animated1 = true |
| | | // this.timer = setTimeout(() => { |
| | | // this.animated1 = false |
| | | // clearTimeout(this.timer) |
| | | // }, 200) |
| | | this.animated2 = true |
| | | this.timer = setTimeout(() => { |
| | | this.animated2 = false |
| | | clearTimeout(this.timer) |
| | | }, 200) |
| | | } else { |
| | | // this.animated2 = true |
| | | // this.timer = setTimeout(() => { |
| | | // this.animated2 = false |
| | | // clearTimeout(this.timer) |
| | | // }, 200) |
| | | this.curTab = 'fetchFutrueHoldList' |
| | | this.animated1 = true |
| | | this.timer = setTimeout(() => { |
| | | this.animated1 = false |
| | | clearTimeout(this.timer) |
| | | }, 200) |
| | | } |
| | | if (this.symbol && this.curTab && typeof this[this.curTab] === 'function') { |
| | | this.$nextTick(() => { |
| | | this[this.curTab](this.symbol) |
| | | }) |
| | | } |
| | | }, |
| | | onOrdered(evt) { // 下单过后的回调 |
| | | this.clearTimer() |
| | |
| | | if (!symbol && catchSymbol) { |
| | | symbol = catchSymbol |
| | | } else if (!symbol && !catchSymbol) { |
| | | return |
| | | symbol = 'btcusdt' |
| | | setStorage('symbol', symbol) |
| | | } |
| | | if (symbol) { |
| | | next(vm => { |
| | | if (selectIndex) { |
| | | // vm.selectIndex = selectIndex |
| | | if (vm.selectIndex / 1 === 2) { |
| | | let idx = selectIndex !== undefined && selectIndex !== null && selectIndex !== '' |
| | | ? Number(selectIndex) |
| | | : 2 |
| | | if (idx === 1) idx = 2 |
| | | vm.selectIndex = idx |
| | | vm.curTab = 'fetchFutrueHoldList' |
| | | } else { |
| | | //vm.curTab = 'fetchOrderListCur' |
| | | vm.curTab = 'fetchOrderListHold' |
| | | } |
| | | } else { |
| | | //vm.curTab = 'fetchOrderListCur' |
| | | vm.curTab = 'fetchOrderListHold' |
| | | } |
| | | vm.symbol = symbol |
| | | vm.init(symbol) |
| | | }) |
| | | } else { |
| | | next() |
| | | if (idx === 2) { |
| | | vm.$nextTick(() => vm.syncContractTab(2, false)) |
| | | } |
| | | }) |
| | | }, |
| | | beforeRouteUpdate(to, from, next) { |
| | | const selectIndex = to.query.selectIndex |
| | | if (selectIndex !== undefined && selectIndex !== null && selectIndex !== '') { |
| | | let idx = Number(selectIndex) |
| | | if (idx === 1) idx = 2 |
| | | if (Number(this.selectIndex) !== idx) { |
| | | this.syncContractTab(idx, true) |
| | | } |
| | | } |
| | | next() |
| | | }, |
| | | deactivated() { |
| | | this.closeSocket() |