From 6ae727d83d6e42428711fa2337528679aae239eb Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Thu, 24 Apr 2025 17:17:05 +0800
Subject: [PATCH] feat
---
src/page/home/home.vue | 182 +++++++++++++++++++++++---------------------
1 files changed, 95 insertions(+), 87 deletions(-)
diff --git a/src/page/home/home.vue b/src/page/home/home.vue
index 89318d5..321b5f5 100644
--- a/src/page/home/home.vue
+++ b/src/page/home/home.vue
@@ -81,88 +81,54 @@
</div>
</div>
<!-- 最多关注 -->
- <!-- <van-skeleton title :row="6" :loading="loading" class="focus_skeleton" />-->
- <!-- <div class="focus_on" v-if="!loading">-->
- <!-- <div class="fo_content">-->
- <!-- <div class="top_title">-->
- <!-- {{ $t('hj5') }}-->
- <!-- </div>-->
- <!-- <div class="fo_banner">-->
- <!-- <van-swipe class="fo_my-swipe" :autoplay="0" indicator-color="white" @change="onChange">-->
- <!-- <!– <van-swipe-item v-for="(item, index) in proData" :key="index">-->
- <!-- <div class="item_cont" v-for="(item2, idx) in proData[currentIndex]" :key="idx">-->
- <!-- <div class="top_fo" style="width: 80%;">-->
- <!-- <div class="title" style="width: 30%;">-->
- <!-- <span>{{ item2.f14 }}</span>-->
- <!-- </div>-->
- <!-- <div class="percentage" :class="item2.f3 > 0 ? 'gree' : 'redd'">-->
+ <van-skeleton title :row="6" :loading="loading" class="focus_skeleton" />
+ <div class="focus_on" v-if="!loading">
+ <div class="fo_content">
+ <div class="top_title">
+ {{ $t('hj5') }}
+ </div>
+ <div class="fo_banner">
+ <van-swipe class="fo_my-swipe" :autoplay="0" indicator-color="white" @change="onChange">
- <!-- <span>{{ item2.f3 > 0 ? `+${item2.f3}%` : `${item2.f3}%` }}</span>-->
- <!-- </div>-->
- <!-- <div class="percentage"></div>-->
- <!-- <div class="percentage" style="width: 38%;position: absolute;right: 0;top: 5%;height: 80%;" :class="item2.f3 > 0 ? 'gree' : 'redd'">-->
- <!-- <echart :colorType="item2.f3" :ids="idx+'1'+index"></echart>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- <div class="bottom_fo" style="width: 80%;">-->
- <!-- <div class="title"style="width: 30%;">-->
- <!-- <span style="margin-right: 0.12rem;">{{ item2.f12 }}</span>-->
- <!-- <img v-for="item in getHuo()" :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" />-->
- <!-- </div>-->
- <!-- <div class="percentage" >-->
-
- <!-- <span>{{ item2.f2 }}</span>-->
- <!-- </div>-->
- <!-- <div class="percentage">-->
- <!-- <span></span>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- </van-swipe-item> –>-->
- <!-- <van-swipe-item v-for="(item, index) in proData" :key="index">-->
- <!-- <div class="item_cont" :class="idx != 2 ? 'item_conts' : ''"-->
- <!-- v-for="(item2, idx) in proData[currentIndex]" :key="idx" @click="goDetail(item2)">-->
- <!-- <div class="top_fo">-->
- <!-- <div class="title">-->
- <!-- {{ item2.name }}-->
- <!-- </div>-->
- <!-- <div class="numbers">-->
- <!-- {{ item2.price }}-->
- <!-- </div>-->
- <!-- <div class="percentage" :class="item2.range > 0 ? 'gree' : 'redd'">-->
- <!-- <span style="font-weight: 500;">{{ item2.range > 0 ? `${item2.range}` :-->
- <!-- `${item2.range}`-->
- <!-- }}</span>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- <div class="bottom_fo">-->
- <!-- <div class="title">-->
- <!-- <span class="numberid" style="margin-right: 0.12rem;">{{ item2.symbol }}</span>-->
- <!-- <!– <div v-for="(items, indexs) in Number(item2.pnum.slice(0, 1))"-->
- <!-- style="width: 0.4rem;height: 0.4rem;display: flex;">-->
- <!-- <img v-if="indexs < 3" :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" />-->
- <!-- </div> –>-->
-
- <!-- </div>-->
- <!-- <div class="numbers" :class="item2.floatPoint > 0 ? 'gree' : 'redd'">-->
- <!-- <img :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" />-->
- <!-- <span class="point" style="height: 0.4rem;">{{ item2.pnum-->
- <!-- }}</span>-->
- <!-- </div>-->
- <!-- <div class="percentage">-->
- <!-- <!– <span class="aikesi">100X</span> –>-->
- <!-- <el-tag key="100X"-->
- <!-- style="width: 80%;text-align: center;height: 0.45rem!important;line-height: 0.45rem!important;">-->
- <!-- {{ getNum1(Number(item2.pnum.slice(0, 1))) + 'X' }}-->
- <!-- </el-tag>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- </van-swipe-item>-->
- <!-- </van-swipe>-->
- <!-- </div>-->
- <!-- </div>-->
- <!-- </div>-->
+ <van-swipe-item v-for="(item, index) in proData" :key="index">
+ <div class="item_cont" :class="idx != 2 ? 'item_conts' : ''"
+ v-for="(item2, idx) in proData[currentIndex]" :key="idx" @click="goDetail(item2)">
+ <div class="top_fo">
+ <div class="title">
+ {{ item2.name }}
+ </div>
+ <div class="numbers">
+ {{ item2.nowPrice }}
+ </div>
+ <div class="percentage" :class="item2.hcrate > 0 ? 'gree' : 'redd'">
+ <span style="font-weight: 500;">{{ item2.hcrate > 0 ? `${item2.hcrate}` :
+ `${item2.hcrate}`
+ }}</span>
+ </div>
+ </div>
+ <div class="bottom_fo">
+ <div class="title">
+ <span class="numberid" style="margin-right: 0.12rem;">{{ item2.code }}</span>
+ </div>
+ <div class="numbers" :class="item2.hcrate > 0 ? 'gree' : 'redd'">
+<!-- <img :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" />
+ <span class="point" style="height: 0.4rem;">{{ item2.hcrate
+ }}</span>-->
+ </div>
+<!-- <div class="percentage">
+ <span class="aikesi">100X</span>
+ <el-tag key="100X"
+ style="width: 80%;text-align: center;height: 0.45rem!important;line-height: 0.45rem!important;">
+ {{ getNum1(Number(item2.pnum.slice(0, 1))) + 'X' }}
+ </el-tag>
+ </div>-->
+ </div>
+ </div>
+ </van-swipe-item>
+ </van-swipe>
+ </div>
+ </div>
+ </div>
</div>
<van-skeleton title :row="18" :loading="loading" />
<div class="news-tab">
@@ -264,7 +230,7 @@
</template>
<script>
import AllList from "@/page/list/list-all";
-import HomeList from "./components/home-list";
+import HomeList from './components/home-list';
import Echart from "./components/echart.vue";
import * as api from "@/axios/api";
import Logo from "@/assets/img/img_log_home.png";
@@ -285,6 +251,7 @@
// import indexData from "./data.json";
import GoToLogin from "@/page/home/components/GoLogin.vue";
import { MessageBox } from "mint-ui";
+import {getStockByType} from "@/axios/api";
export default {
components: {
HomeList,
@@ -376,6 +343,11 @@
text: "한국어",
icon: require("@/assets/ico/Korean.png"),
lang: "ko"
+ },
+ {
+ text: "العربية",
+ icon: require("@/assets/ico/sa.png"),
+ lang: "st"
}
// { text: "हिंदी", icon: require("@/assets/ico/india.png"), lang: "en" }
@@ -468,7 +440,31 @@
this.$store.commit("dialogVisible", true);
return;
}
+ // 点击进入详情
+ const obj = {
+ pid: item.code || "",
+ type: item.stock_type || ""
+ };
+ window.localStorage.setItem("kLine", JSON.stringify(obj));
+ // return;
+ var codes = item.code;
+ var names = item.name;
+ var ifZhishu = "0";
+ var ifUs =
+ item.stock_type === "us" ? "1" : item.stock_type === "hk" ? "2" : "";
this.$router.push({
+ path: "/kline",
+ query: {
+ name: names,
+ code: codes,
+ if_us: ifUs,
+ if_zhishu: ifZhishu,
+ sok: item.type ? item.type : this.filterSH(item.stock_type),
+ type: item.stock_type
+ }
+ });
+
+ /*this.$router.push({
path: "/kline",
query: {
name: item.name,
@@ -478,7 +474,7 @@
sok: this.filterSH(item.market),
if_zhishu: "0"
}
- });
+ });*/
},
filterSH(val) {
if (val === "sh") {
@@ -557,9 +553,17 @@
}
},
async getStock() {
- let data = await api.getIndexMarket();
- for (var i = 0; i < data.data.result.data.length; i += 3) {
- this.proData.push(data.data.result.data.slice(i, i + 3));
+ let p = {
+ pageNum: 1,
+ pageSize: 20,
+ stockPlate: "",
+ keyWords: "",
+ stockType: 'ST',
+ orderBy: this.orderBy
+ }
+ let data = await api.getStockByType(p);
+ for (var i = 0; i < data.data.list.length; i += 3) {
+ this.proData.push(data.data.list.slice(i, i + 3));
}
},
async getNewsList(type) {
@@ -940,7 +944,11 @@
}
.title {
- width: 30%;
+ white-space: nowrap; /* 防止文本换行 */
+ overflow: hidden; /* 隐藏溢出的内容 */
+ text-overflow: ellipsis; /* 使用省略号表示被截断的文本 */
+ font-size: 12px;
+ width: 55%;
height: 100%;
display: flex;
align-items: center;
--
Gitblit v1.9.3