| | |
| | | <span class="i_hint">{{ i.stockName }}</span> |
| | | </div> |
| | | <div class="i_name"> |
| | | {{ (i.buyNum * i.nowPrice).toFixed(2) }} |
| | | {{ (i.buyNum * i.targetPrice).toFixed(2) }} |
| | | </div> |
| | | </van-col> |
| | | <van-col span="3" class="item_n"> |
| | |
| | | <img src="@/assets/img/zhaobudao2.png" alt="" /> |
| | | </div> |
| | | |
| | | <n-pagination :pageNo.sync="pageNum" :pageSize="pageSize" :total="total" v-if="active != 'GaDan'"></n-pagination> |
| | | <n-pagination :pageNo.sync="pageNum" :pageSize="pageSize" :total="currentTotal" v-if="active != 'GaDan'"></n-pagination> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | pageNum: 1, |
| | | pageSize: 15, |
| | | total: 1, |
| | | list: [], |
| | | // 为每个tab使用独立的list变量 |
| | | lists: { |
| | | '': [], // 默认tab |
| | | 'US': [], // 美股指数 |
| | | 'JP': [], // 日股指数 |
| | | 'GaDan': [] // 挂单 |
| | | }, |
| | | // 为每个tab使用独立的total变量 |
| | | totals: { |
| | | '': 1, |
| | | 'US': 1, |
| | | 'JP': 1, |
| | | 'GaDan': 0 |
| | | }, |
| | | active: "", |
| | | types: { |
| | | 0: this.$t("日内"), |
| | |
| | | showPopover: false, |
| | | }; |
| | | }, |
| | | computed: { |
| | | // 当前tab对应的list |
| | | list() { |
| | | return this.lists[this.active] || []; |
| | | }, |
| | | // 当前tab对应的total |
| | | currentTotal() { |
| | | return this.totals[this.active] || 0; |
| | | } |
| | | }, |
| | | watch: { |
| | | pageNum() { |
| | | this.getList(); |
| | |
| | | }, |
| | | active(val) { |
| | | this.pageNum = 1; |
| | | this.list = [] |
| | | // 清空当前tab的数据 |
| | | if (this.lists[val]) { |
| | | this.lists[val] = []; |
| | | } |
| | | if (val == 'GaDan') { |
| | | this.stopTimer() |
| | | this.getList2(); |
| | |
| | | methods: { |
| | | // 获取持仓数据 |
| | | async getList() { |
| | | const currentActive = this.active; |
| | | let data = await api.getchicang({ |
| | | state: 0, |
| | | stockType: this.active, |
| | | stockType: currentActive, |
| | | pageNum: this.pageNum, |
| | | pageSize: this.pageSize |
| | | }); |
| | | |
| | | if (data.status === 0) { |
| | | this.list = data.data.list; |
| | | this.total = data.data.total; |
| | | // 只有当active没有变化时才更新数据,防止数据错乱 |
| | | if (this.active === currentActive) { |
| | | this.lists[currentActive] = data.data.list || []; |
| | | this.totals[currentActive] = data.data.total || 0; |
| | | this.total = data.data.total || 0; |
| | | } |
| | | } |
| | | }, |
| | | // 获取挂单数据 |
| | | async getList2() { |
| | | const currentActive = this.active; |
| | | let data = await api.getGdOrderList(); |
| | | |
| | | if (data.status === 0) { |
| | | this.list = data.data; |
| | | // 只有当active没有变化时才更新数据,防止数据错乱 |
| | | if (this.active === currentActive && currentActive === 'GaDan') { |
| | | this.lists['GaDan'] = data.data || []; |
| | | } |
| | | } |
| | | }, |
| | | // 跳转详情 |