ne1
zzzz
2024-04-07 4d1142f68ab46428939b6d16913b98cad406f082
src/page/home/home.vue
@@ -2,9 +2,7 @@
  <div class="wrapper">
    <div class="page_content">
      <div class="center_tabs">
        <!-- 顶部轮播图 -->
        <div class="banner_top">
          <!-- <van-skeleton title :row="3" :loading="loading" /> -->
          <van-swipe class="my-swipe" :autoplay="5000" indicator-color="white">
            <van-swipe-item
              v-for="(item, index) in bannerImgsArr"
@@ -33,7 +31,6 @@
        <div class="fg"></div>
        <div class="box-1">
          <ul class="menu" style="border-bottom: 0px">
            <!----><!---->
            <li @click="$router.push('/recharge')">
              <div class="link">
                <div class="icon">
@@ -128,6 +125,7 @@
              </div>
            </li>
          </ul>
          <!-- 多语言弹框 -->
          <van-popup
            v-model="settingDialog"
            position="bottom"
@@ -171,7 +169,6 @@
              </div>
              <div class="i-title">{{ $t("打新日曆") }}</div>
            </div>
            <!-- favoritesList -->
            <div
              class="item"
              style="margin-left: 10px"
@@ -195,69 +192,19 @@
            </div>
          </div>
        </div>
        <!-- <div class="txt_box">
          <div class="txt_box_top">{{ $t("hometips") }}</div>
          <div class="txt_box_box">
            <div class="txt_box_box_left" v-if="userInfo.length == 0">
              $0.00
            </div>
            <div class="txt_box_box_left" v-else>
              ${{ userInfo.totalAssets }}
            </div>
            <div class="txt_box_box_right" @click="gocz">{{ $t("btn1") }}</div>
          </div>
        </div> -->
      </div>
      <!-- <div class="navs">
        <div class="navs_content">
          <div
            v-for="(item, index) in navsArr"
            :key="index"
            @click="goJy(index)"
          >
            <div
              style="
                display: flex;
                justify-content: center;
                align-items: center;
                flex-direction: column;
              "
            >
              <div class="top_img">
                <div>
                  <img :src="item.img" alt />
                </div>
              </div>
              <div class="bottom_navs">
                <span>{{ item.title }}</span>
              </div>
            </div>
          </div>
        </div>
      </div> -->
      <!-- <van-skeleton title :row="18" :loading="loading" /> -->
      <!--    <div class='btns_box'>
      <div class="btns_box_left">
         <img src="../../assets/img/out.png" style="width: 20px;height: 20px;"/>
         <div class="btns_box_left_txt"></div>
      </div>
      <div class="btns_box_right"></div>
   </div> -->
      <!-- <van-skeleton title :row="18" :loading="loading" /> -->
      <div class="title-box">
        <div class="title">{{ $t("資訊") }}</div>
      </div>
      <div class="news-tab">
        <mt-navbar v-model="news">
          <mt-tab-item id="tab_0">
            <span class="tab-name">{{ $t("hj6") }}</span>
          </mt-tab-item>
          <mt-tab-item id="tab_1">
            <span class="tab-name">{{ $t("hj7") }}</span>
          </mt-tab-item>
          <mt-tab-item id="tab_2">
            <span class="tab-name">7×24</span>
          <mt-tab-item
            v-for="(item, index) in newListHeader"
            :id="item.id"
            :key="index"
          >
            <span class="tab-name">{{ $t(item.title) }}</span>
          </mt-tab-item>
        </mt-navbar>
        <mt-tab-container
@@ -265,11 +212,15 @@
          :swipeable="true"
          style="padding-top: 0.5rem"
        >
          <mt-tab-container-item id="tab_0">
          <mt-tab-container-item
            v-for="(items, index) in newListHeader"
            :id="items.id"
            :key="index"
          >
            <div class="news-content">
              <div
                class=""
                v-for="(item, inde) in newsContent1"
                v-for="(item, inde) in items.data"
                :key="inde"
                @click="
                  $router.push({
@@ -280,7 +231,9 @@
                  })
                "
              >
                <div class="item-times">{{ item.addTime | gettime }}</div>
                <div class="item-times">
                  {{ $moment(item.addTime).format("YYYY-MM-DD HH:mm:ss") }}
                </div>
                <div
                  class="titContent"
                  style="
@@ -291,54 +244,7 @@
                >
                  {{ item.title }}
                </div>
                <!-- <div class="block-out">
                  <div class="blocks">{{ item.sourceName }}</div>
                </div> -->
                <div class="neitu"><img :src="item.imgurl" /></div>
              </div>
            </div>
          </mt-tab-container-item>
          <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>
            </div>
          </mt-tab-container-item>
          <mt-tab-container-item id="tab_2">
            <div class="news-content">
              <div
                class="item-out"
                v-for="(item, inde) in newsContent2"
                :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>
            </div>
          </mt-tab-container-item>
@@ -355,27 +261,11 @@
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";
import Searchs from "@/assets/ico/leng.png";
import Service from "@/assets/home/icon_talk.png";
import clear from "@/assets/home/close.png";
import Announcement from "@/assets/img/black_laba.png";
import Tops from "@/assets/home/1.png";
import Rumen from "@/assets/home/2.png";
import Xuexi from "@/assets/home/3.png";
import Guanyu from "@/assets/home/4.png";
import dazong from "@/assets/home/5.png";
import vip from "../../assets/img/app.png";
import vipa from "../../assets/img/huazhuan2.png";
import Huo from "@/assets/home/huo.png";
// import language from "@/assets/img/language.png";
import banner2 from "@/assets/img/b2.jpg";
import banner3 from "@/assets/img/b3.jpg";
import caidana from "@/assets/img/caidana.png";
import bangzhu from "@/assets/img/bangzhu.png";
import kefua from "@/assets/img/kefua.png";
import xiazai from "@/assets/img/xiazai.png";
// import indexData from "./data.json";
import GoToLogin from "@/page/home/components/GoLogin.vue";
import { MessageBox } from "mint-ui";
export default {
@@ -388,7 +278,24 @@
  props: {},
  data() {
    return {
      news: "tab_0",
      // 新闻导航
      newListHeader: [
        {
          title: "美国新闻",
          id: "tab_0",
          data: [],
          type: 1,
        },
        {
          title: "马来西亚新闻",
          id: "tab_1",
          data: [],
          type: 2,
        },
      ],
      settingDialog: false,
      // 多语言配置
      actions: [
        {
          text: "English",
@@ -408,18 +315,9 @@
          icon: require("@/assets/ico/india.png"),
          lang: "ry",
        },
      ],
      // language,
      Logo,
      Searchs,
      Service,
      clear,
      // 公告 icon 地址
      Announcement,
      indexData: [],
      Huo,
      is_login: false,
      loading: true,
      close: true,
      proData: [], // 分割好的数据
      currentIndex: 0,
@@ -434,28 +332,17 @@
          img: "https://api.trowegroup.com/bs/image/20240305/06eb4602ba7b3e570ccd70c0415884ec.png",
        },
      ],
      announcementMess: "20202/10 - 交易时间安排",
      // 公告列表
      artList: [],
      news: "tab_0",
      newsContent1: [],
      newsContent2: [],
      newsContent3: [],
      newsContent4: [],
      onlineService: "",
      isGoTo: false,
      bannerList: [],
      userInfo: [],
      showPopover: false,
    };
  },
  computed: {
    navsArr() {
      return [
        // {
        //     img: Tops,
        //     title: this.$t('yeb')
        //   },
        {
          img: xiazai,
          title: this.$t("hj1461"),
@@ -472,26 +359,6 @@
          img: caidana,
          title: this.$t("caidan"),
        },
        // {
        //   img: Rumen,
        //   title: this.$t('hj2')
        // },
        // {
        //   img: Xuexi,
        //   title: this.$t('hj3')
        // },
        // {
        //   img: Guanyu,
        //   title: this.$t('hj4')
        // },
        // {
        //   img: dazong,
        //   title: this.$t('hj261')
        // },
        // {
        //   img: vipa,
        //   title: this.$t('hj172')
        // }
      ];
    },
  },
@@ -630,11 +497,8 @@
      // 获取显示的banner
      let result = await api.getBannerByPlat({ platType: "m" });
      if (result.status === 0) {
        // this.bannerList = result.data
        var ajson = { bannerUrl: this.banner1 };
        this.bannerList.push(ajson);
        console.log(this.banner1);
        // console.log(this.bannerList);
      } else {
        this.$store.commit("elAlertShow", {
          elAlertShow: true,
@@ -645,6 +509,7 @@
    goOnline() {
      this.$router.push("/service");
    },
    // 获取公告
    async getArtList() {
      let data = await api.getArtList();
      if (data.status === 0) {
@@ -662,93 +527,28 @@
        });
      }
    },
    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));
      }
    },
    // 获取新闻列表
    async getNewsList(type) {
      let data = await api.queryNewsList(type);
      this.newListHeader.map((item) => {
        if (item.type === type) {
          item.data = data.data.list;
        }
      });
      this[`newsContent${type}`] = data.data.list;
    },
      switch (type) {
        case 1:
          this.newsContent1 = data.data.list;
          break;
        case 2:
          this.newsContent2 = data.data.list;
          break;
        case 3:
          this.newsContent3 = data.data.list;
          break;
        case 4:
          this.newsContent4 = data.data.list;
          break;
        case 5:
          this.newsContent5 = data.data.list;
          break;
      }
    },
    handleBannerClick(ind) {
      // console.log(ind);
    },
    ProcessData() {
      // 把数据分割成三等份
      // for (var i = 0; i < this.indexData.data.diff.length; i += 3) {
      //   this.proData.push(this.indexData.data.diff.slice(i, i + 3));
      // }
    },
    onChange(index) {
      this.currentIndex = index;
      this.proData[index].forEach((item) => {});
    },
    handleSearchClick() {
      // this.loading = !this.loading;
      this.$router.push({ path: "/trading-list", query: { type: 1 } });
    },
  },
  filters: {
    gettime(time) {
      if (!time) {
        return "";
      }
      var nd = new Date(time);
      var y = nd.getFullYear();
      var mm = nd.getMonth() + 1;
      var d = nd.getDate();
      var h = nd.getHours();
      var m = nd.getMinutes();
      var c = nd.getSeconds();
      if (mm < 10) {
        mm = "0" + mm;
      }
      if (d < 10) {
        d = "0" + d;
      }
      if (h < 10) {
        h = "0" + h;
      }
      if (m < 10) {
        m = "0" + m;
      }
      if (c < 10) {
        c = "0" + c;
      }
      // 17:35:2922-06-2022
      return y + "-" + mm + "-" + d + " " + h + ":" + m + ":" + c;
    },
  },
  created() {
    // this.getdialog()
    this.ProcessData();
  },
  mounted() {
    this.getUserInfo();
    this.getInfoSite();
    this.getNewsList(1);
    this.getNewsList(2);
    this.getNewsList(4);
    this.getStock();
    this.getArtList();
    this.getBanner();
@@ -759,10 +559,6 @@
        this.isGoTo = !this.isGoTo;
      }
    }, 10000);
    setTimeout(() => {
      this.loading = false;
    }, 2000);
  },
};
</script>