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">-->
-        <!--                &lt;!&ndash; <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> &ndash;&gt;-->
-        <!--                <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>-->
-        <!--                        &lt;!&ndash; <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> &ndash;&gt;-->
-
-        <!--                      </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">-->
-        <!--                        &lt;!&ndash; <span class="aikesi">100X</span> &ndash;&gt;-->
-        <!--                        <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