From 9ddad348a549154e7b328f9d7dd9517d2abd330c Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Tue, 30 Sep 2025 09:47:25 +0800
Subject: [PATCH] 1
---
src/page/markets/markets.vue | 83 +++++++++++++++++++++++------------------
1 files changed, 46 insertions(+), 37 deletions(-)
diff --git a/src/page/markets/markets.vue b/src/page/markets/markets.vue
index f334895..f5e80ae 100644
--- a/src/page/markets/markets.vue
+++ b/src/page/markets/markets.vue
@@ -1,7 +1,13 @@
<template>
<div class="markets">
<tab-head :rightShow="false">
- <van-popover v-model="switchShow" trigger="click" :actions="actions" @select="onSelect" placement="bottom-end">
+ <van-popover
+ v-model="switchShow"
+ trigger="click"
+ :actions="actions"
+ @select="onSelect"
+ placement="bottom-end"
+ >
<template #reference>
<div class="switch flex-center">
<van-icon name="exchange" size=".45em" />
@@ -12,15 +18,19 @@
</tab-head>
<div class="tabs flex-between">
- <div class="tab_item flex-center" :class="{ active: item.pid == tab }" v-for="item in tabList" :key="item.pid"
- @click="tab = item.pid">
- <span>{{ item.abbreviation }}</span>
+ <div
+ class="tab_item flex-center"
+ :class="{ active: item.pid == tab }"
+ v-for="item in tabList"
+ :key="item.pid"
+ @click="tab = item.pid"
+ >
+ <span class="line-one">{{ item.name }}</span>
</div>
</div>
<div class="markets_echart">
<index-component :ids="'markets'" :dataObj="kData"></index-component>
- <!-- <van-skeleton title :row="3" /> -->
</div>
<stock-list :propOption="propOption"></stock-list>
@@ -43,29 +53,30 @@
{
text: this.$t("美国"),
value: "US",
- name: "美国"
+ name: this.$t("美国")
},
{
- text: this.$t("墨西哥"),
- value: "MEX",
- name: "墨西哥"
+ text: this.$t("hk1"),
+ value: "HK",
+ name: this.$t("hk1")
+ },
+ {
+ text: this.$t("tw"),
+ value: "TW",
+ name: this.$t("tw")
+ },
+ {
+ text: this.$t("id1"),
+ value: "IN",
+ name: this.$t("id1")
}
],
tabList: [],
- usList: [
- { abbreviation: "Dow Jones" },
- { abbreviation: "S&P 500" },
- { abbreviation: "NASDAQ" }
- ],
- mxList: [
- { abbreviation: "IPC" },
- { abbreviation: "INMEX" },
- { abbreviation: "NASDAQ" }
- ],
tab: 1,
pageNum: 1,
pageSize: 10,
- kData: {}
+ kData: {},
+ times: null
};
},
components: {
@@ -76,8 +87,11 @@
},
watch: {
tab() {
- this.getIndicesAndKData();
+ this.init();
}
+ },
+ beforeDestroy() {
+ if (this.times) clearInterval(this.times);
},
computed: {
switchText() {
@@ -95,16 +109,13 @@
this.$store.commit("MARKET_CHANGE", this.actions[0]);
}
await this.getTabData();
- this.tab = this.tabList[0].pid;
},
- mounted() {
- },
+ mounted() {},
methods: {
// 选择
async onSelect(e) {
this.$store.commit("MARKET_CHANGE", e);
await this.getTabData();
- this.tab = this.tabList[0].pid;
},
// 获取tab数据
async getTabData() {
@@ -112,15 +123,8 @@
let data = await api.getIndicesList({
stockType
});
-
- // 数据重构
- let list = [];
- if (stockType == "US") list = this.usList;
- if (stockType == "MEX") list = this.mxList;
- this.tabList = list.map((item, index) => {
- item = { ...item, ...data.data[index + 1] };
- return item;
- });
+ this.tabList = data.data;
+ this.tab = this.tabList[1].pid;
// console.log("dadadadadad", this.tabList);
},
@@ -133,10 +137,14 @@
this.kData = data.data;
// console.log("getIndicesAndKData", this.kData);
},
- // tab切换
- tabChange() {
+ // 初始化
+ init() {
+ if (this.times) clearInterval(this.times);
this.getIndicesAndKData();
- },
+ this.times = setInterval(() => {
+ this.getIndicesAndKData();
+ }, 2000);
+ }
}
};
</script>
@@ -174,6 +182,7 @@
width: 32%;
height: 0.8em;
border-radius: 0.5em;
+ padding: 0 0.25em;
span {
font-size: 0.4em;
--
Gitblit v1.9.3