From a1fb6cd3c3b8a48da4f9393e09718da04f51a373 Mon Sep 17 00:00:00 2001
From: DESKTOP-CVS3R96\我恁爹 <11>
Date: Tue, 15 Nov 2022 09:58:00 +0800
Subject: [PATCH] 11111

---
 src/page/home/home.vue |  210 ++++++++++++++++++++++++++++++++--------------------
 1 files changed, 130 insertions(+), 80 deletions(-)

diff --git a/src/page/home/home.vue b/src/page/home/home.vue
index add45d9..66896d7 100644
--- a/src/page/home/home.vue
+++ b/src/page/home/home.vue
@@ -30,16 +30,16 @@
         </div>
         <!-- 公告 -->
         <van-skeleton title :row="1" :loading="loading" />
-        <div class="announcement" v-if="!loading&&close">
+        <div class="announcement" v-if="!loading && close">
           <div class="an_content" @click="$router.push('/newGg')">
             <div class="an_left_icon">
               <img :src="Announcement" alt />
             </div>
-            <div class="an_right_message " >
+            <div class="an_right_message ">
               <div class="animate">
                 {{ artList.artTitle }}
               </div>
-              
+
             </div>
           </div>
         </div>
@@ -47,10 +47,10 @@
         <!-- 排行入门 -->
         <van-skeleton title :row="2" :loading="loading" />
 
-        <div class="navs" v-if="!loading&&close">
+        <div class="navs" v-if="!loading && close">
 
           <div class="navs_content">
-            <div class="chacha" @click="close=false">
+            <div class="chacha" @click="close = false">
               <div>
                 <img :src="clear" />
               </div>
@@ -74,7 +74,7 @@
         <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">
@@ -109,35 +109,40 @@
                   </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">
+                  <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.indexName }}
+                        {{ item2.name }}
                       </div>
                       <div class="numbers">
-                        {{ item2.currentPoint }}
+                        {{ item2.price }}
                       </div>
-                      <div class="percentage" :class="item2.floatRate > 0 ? 'gree' : 'redd'">
-                        <span style="font-weight: 500;">{{ item2.floatRate > 0 ? `+${item2.floatRate}%` :
-                            `${item2.floatRate}%`
+                      <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.indexCode }}</span>
+                        <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> -->
 
-                        <img v-for="items in item2.random" :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" />
                       </div>
                       <div class="numbers" :class="item2.floatPoint > 0 ? 'gree' : 'redd'">
-                        <span class="point">{{ item2.floatPoint > 0 ? `+${item2.floatPoint}%` : `${item2.floatPoint}%`
+                        <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(item2.random) + 'X' }}
+                          {{ getNum1(Number(item2.pnum.slice(0, 1))) + 'X' }}
                         </el-tag>
                       </div>
                     </div>
@@ -152,10 +157,10 @@
       <div class="news-tab">
         <mt-navbar v-model="news">
           <mt-tab-item id="tab_0">
-            <span class="tab-name">新闻</span>
+            <span class="tab-name">{{ $t('hj6') }}</span>
           </mt-tab-item>
           <mt-tab-item id="tab_1">
-            <span class="tab-name">经济</span>
+            <span class="tab-name">{{ $t('hj7') }}</span>
           </mt-tab-item>
           <mt-tab-item id="tab_2">
             <span class="tab-name">7×24</span>
@@ -180,13 +185,13 @@
               </div>
             </div>
           </mt-tab-container-item>
-          <mt-tab-container-item id="tab_1" >
+          <mt-tab-container-item id="tab_1">
             <div class="news-content">
               <div class="item-out" v-for="(item, inde) in newsContent4" :key="inde" @click="$router.push({
                 path: '/newPage', query: {
                   listid: item.id
                 }
-              })" >
+              })">
                 <div class="item-times">{{ item.addTime | gettime }}</div>
                 <div class="titContent" style="-webkit-box-orient: vertical;">{{ item.title }}</div>
               </div>
@@ -208,19 +213,13 @@
       </div>
     </div>
     <!-- tab -->
-
     <GoToLogin v-show="isGoTo" />
   </div>
 </template>
-
 <script>
-
 import AllList from "@/page/list/list-all";
 import HomeList from "./components/home-list";
 import Echart from "./components/echart.vue";
-import {
-  Toast
-} from "mint-ui";
 import * as api from "@/axios/api";
 import Logo from "@/assets/img/icon_home_logo.png";
 import Searchs from "@/assets/home/search.png";
@@ -237,13 +236,12 @@
 import banner3 from "@/assets/img/b3.png";
 // import indexData from "./data.json";
 import GoToLogin from '@/page/home/components/GoLogin.vue';
-
 export default {
   components: {
     HomeList,
     AllList,
     GoToLogin,
-    Echart
+    Echart,
   },
   props: {},
   data() {
@@ -257,7 +255,7 @@
       Huo,
       is_login: false,
       loading: true,
-      close:true,
+      close: true,
       proData: [], // 分割好的数据
       currentIndex: 0,
       bannerImgsArr: [{
@@ -270,22 +268,21 @@
       announcementMess: "20202/10 - 交易时间安排",
       navsArr: [{
         img: Tops,
-        title: "行情"
+        title: this.$t('hj1'),
       },
       {
         img: Rumen,
-        title: "持仓"
+        title: this.$t('hj2'),
       },
       {
         img: Xuexi,
-        title: "新股"
+        title: this.$t('hj3'),
       },
       {
         img: Guanyu,
-        title: "我的"
-      }
-      ],
-      artList:[],
+        title: this.$t('hj4'),
+      }],
+      artList: [],
       news: "tab_0",
       newsContent1: [],
       newsContent2: [],
@@ -293,64 +290,103 @@
       newsContent4: [],
       onlineService: "",
       isGoTo: false,
-      bannerList:[]
+      bannerList: [],
+      userInfo: [],
     };
   },
   methods: {
-
+    async getUserInfo() {
+      // 获取用户信息
+      let data = await api.getUserInfo();
+      if (data.status === 0) {
+        // 判断是否登录
+        this.$store.state.userInfo = data.data;
+        this.userInfo = data.data;
+      } else {
+      }
+    },
     getHuo() {
       //123随机
       var num = Math.floor(Math.random() * 3 + 1);
       return num;
-
-
     },
     //构造随机数列表  50 100 200
     getNum1(num) {
-    
       if (num == 1) {
         return 50;
       } else if (num == 2) {
         return 100;
-      } else if (num == 3) {
+      } else if (num >= 3) {
         return 200;
       }
     },
-    goJy(index){
+    goDetail(item) {
+      if (this.userInfo.length == 0) {
+        this.$store.commit('dialogVisible', true);
+        return;
+      }
+      this.$router.push({
+        path: "/kline",
+        query: {
+          name: item.name,
+          stockplate: item.stock_plate,
+          code: item.symbol.substring(2, item.symbol.length),
+          type: item.market,
+          sok: this.filterSH(item.market),
+          if_zhishu: '0',
+        }
+      });
+    },
+    filterSH(val) {
+      if (val === "sh") {
+        return 1;
+      } else if (val === "bj" || val === "sz") {
+        return 0;
+      }
+    },
+    goJy(index) {
+      if (this.userInfo.length == 0) {
+        this.$store.commit('dialogVisible', true);
+        return;
+      }
       switch (index) {
         case 0:
-          this.$router.push('/list');
+          this.$router.push('/trading-list');
           break;
-          case 1:
-          this.$router.push('/orderlist');
+        case 1:
+          this.$router.push('/warehouse');
           break;
-          case 2:
-          //this.$router.push();
+        case 2:
+          this.$router.push({ path: '/trading-list', query: { listid: 3 } });
           break;
-          case 3:
+        case 3:
           this.$router.push('/user');
           break;
-      
+
         default:
           break;
       }
+      if (navigator.vibrate) {
+        // 支持
+        navigator.vibrate([55]);
+      }
     },
-    async getBanner () {
+    async getBanner() {
       // 获取显示的banner
       let result = await api.getBannerByPlat({ platType: 'm' })
       if (result.status === 0) {
         this.bannerList = result.data
       } else {
-        Toast(result.msg)
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': result.msg });
       }
     },
     goOnline() {
       window.location.href = this.onlineService;
 
     },
-    async getArtList(){
+    async getArtList() {
       let data = await api.getArtList();
-      if(data.status == 0){
+      if (data.status == 0) {
         this.artList = data.data.list[0];
       }
     },
@@ -360,13 +396,13 @@
       if (data.status === 0) {
         this.onlineService = data.data.onlineService
       } else {
-        Toast(data.msg)
+        this.$store.commit('elAlertShow', { 'elAlertShow': true, 'elAlertText': data.msg });
       }
     },
     async getStock() {
       let data = await api.getIndexMarket();
-      for (var i = 0; i < data.data.length; i += 3) {
-        this.proData.push(data.data.slice(i, i + 3));
+      for (var i = 0; i < data.data.result.data.length; i += 3) {
+        this.proData.push(data.data.result.data.slice(i, i + 3));
       }
 
     },
@@ -408,7 +444,8 @@
 
     },
     handleSearchClick() {
-      this.loading = !this.loading;
+      //this.loading = !this.loading;
+      this.$router.push({ path: "/trading-list", query: { type: 1 } });
     }
   },
   filters: {
@@ -446,6 +483,7 @@
     this.ProcessData();
   },
   mounted() {
+    this.getUserInfo();
     this.getInfoSite();
     this.getNewsList(1);
     this.getNewsList(2);
@@ -454,11 +492,11 @@
     this.getArtList();
     this.getBanner()
 
-    
+
     setInterval(() => {
-      if(window.localStorage.getItem('USERTOKEN')){
+      if (window.localStorage.getItem('USERTOKEN')) {
         this.isGoTo = false;
-      }else{
+      } else {
         this.isGoTo = !this.isGoTo
       }
     }, 10000);
@@ -570,7 +608,7 @@
       align-items: center;
 
       .an_left_icon {
-        width: 5%;
+        width: 4%;
         height: 70%;
         display: flex;
         align-items: center;
@@ -582,14 +620,14 @@
       }
 
       .an_right_message {
-        width: 90%;
+        width: 93%;
         height: 100%;
         line-height: 0.559rem;
         align-items: center;
         align-content: center;
         font-size: 0.29rem;
         white-space: nowrap;
-         overflow: hidden;
+        overflow: hidden;
         // text-overflow:ellipsis;
       }
     }
@@ -716,7 +754,7 @@
     /deep/.van-swipe__indicator--active {
       width: 0.35rem !important;
       border-radius: 0.23rem;
-      background-color:  #aec7ec!important;
+      background-color: #aec7ec !important;
     }
 
     .fo_banner {
@@ -772,6 +810,9 @@
 
       .numberid {
         font-size: 0.28rem;
+        display: flex;
+
+        line-height: 0.5rem;
       }
 
       .numbers {
@@ -784,7 +825,8 @@
 
       .point {
         font-size: 0.28rem;
-
+        height: 0.5rem;
+        line-height: 0.5rem;
       }
 
       .percentage {
@@ -792,6 +834,13 @@
         height: 100%;
         display: flex;
         align-items: center;
+        text-align: center;
+        justify-content: center;
+      }
+
+      .percentage span {
+        height: 0.5rem;
+        line-height: 0.5rem;
       }
     }
 
@@ -951,19 +1000,20 @@
   border: 0.0513rem solid #41AC75;
   color: #41AC75;
 }
+
 .animate {
 
-padding-left: 20px;
+  padding-left: 20px;
 
-font-size: 12px;
+  font-size: 0.29rem;
 
-color: #000;
+  color: #000;
 
-display: inline-block;
+  display: inline-block;
 
-white-space: nowrap;
+  white-space: nowrap;
 
-animation: 10s wordsLoop linear infinite normal;
+  animation: 10s wordsLoop linear infinite normal;
 
 }
 
@@ -971,21 +1021,21 @@
 
 @keyframes wordsLoop {
 
-0% {
+  0% {
 
     transform: translateX(100%);
 
     -webkit-transform: translateX(100%);
 
-}
+  }
 
-100% {
+  100% {
 
     transform: translateX(-100%);
 
     -webkit-transform: translateX(-100%);
 
-}
+  }
 
 }
 
@@ -993,21 +1043,21 @@
 
 @-webkit-keyframes wordsLoop {
 
-0% {
+  0% {
 
     transform: translateX(100%);
 
     -webkit-transform: translateX(100%);
 
-}
+  }
 
-100% {
+  100% {
 
     transform: translateX(-100%);
 
     -webkit-transform: translateX(-100%);
 
-}
+  }
 
 }
 </style>

--
Gitblit v1.9.3