DESKTOP-CVS3R96\我恁爹
2022-11-14 f8b256ef152e54c19adb85856f62432d59c16b6e
src/page/home/home.vue
@@ -109,35 +109,37 @@
                  </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>
                        <img v-for="items in item2.random" :src="Huo" alt style="width: 0.4rem;height: 0.4rem;" />
                        <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'">
                        <span class="point">{{ item2.floatPoint > 0 ? `+${item2.floatPoint}%` : `${item2.floatPoint}%`
                        <span class="point">{{ 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>
@@ -208,19 +210,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 +233,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() {
@@ -293,39 +288,75 @@
      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;
      }
    },
    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');
          this.$router.push('/warehouse');
          break;
          case 2:
          //this.$router.push();
          this.$router.push({path:'/trading-list',query:{listid:3}});
          break;
          case 3:
          this.$router.push('/user');
@@ -334,6 +365,10 @@
        default:
          break;
      }
      if (navigator.vibrate) {
          // 支持
        navigator.vibrate([55]);
      }
    },
    async getBanner () {
      // 获取显示的banner
@@ -341,7 +376,7 @@
      if (result.status === 0) {
        this.bannerList = result.data
      } else {
        Toast(result.msg)
        this.$store.commit('elAlertShow',{'elAlertShow':true,'elAlertText': result.msg});
      }
    },
    goOnline() {
@@ -360,13 +395,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 +443,8 @@
    },
    handleSearchClick() {
      this.loading = !this.loading;
      //this.loading = !this.loading;
      this.$router.push({path:"/trading-list",query:{type:1}});
    }
  },
  filters: {
@@ -446,6 +482,7 @@
    this.ProcessData();
  },
  mounted() {
    this.getUserInfo();
    this.getInfoSite();
    this.getNewsList(1);
    this.getNewsList(2);
@@ -570,7 +607,7 @@
      align-items: center;
      .an_left_icon {
        width: 5%;
        width: 4%;
        height: 70%;
        display: flex;
        align-items: center;
@@ -582,7 +619,7 @@
      }
      .an_right_message {
        width: 90%;
        width: 93%;
        height: 100%;
        line-height: 0.559rem;
        align-items: center;
@@ -772,6 +809,9 @@
      .numberid {
        font-size: 0.28rem;
        display: flex;
        line-height: 0.5rem;
      }
      .numbers {
@@ -784,7 +824,8 @@
      .point {
        font-size: 0.28rem;
        height: 0.5rem;
        line-height: 0.5rem;
      }
      .percentage {
@@ -792,6 +833,12 @@
        height: 100%;
        display: flex;
        align-items: center;
        text-align: center;
        justify-content: center;
      }
      .percentage span{
        height: 0.5rem;
        line-height: 0.5rem;
      }
    }
@@ -955,7 +1002,7 @@
padding-left: 20px;
font-size: 12px;
font-size: 0.29rem;
color: #000;