|
<template>
|
<!-- 最多关注-->
|
<div class="center_tabs">
|
<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="list">
|
<table border="1" class="list_item" width="100%">
|
<tr class="thh">
|
<th>{{ $t("hj39") }}</th>
|
<th>{{ $t("hj40") }}</th>
|
<th>{{ $t("hj41") }}</th>
|
</tr>
|
<tr
|
v-for="(item, index) in listArr"
|
:key="index"
|
@click="handleGoToKlineDetail(item, index)"
|
>
|
<td>
|
<div class="name">{{ item.name }}</div>
|
<div class="text">{{ item.gid }}</div>
|
</td>
|
|
<td>
|
<div class="name" :class="item.nowPrice > 0 ? 'red' : 'green'">
|
{{ item.nowPrice }}
|
</div>
|
<div class="text">{{ item.today_min }}</div>
|
</td>
|
|
<td>
|
<div class="name" :class="item.nowPrice > 0 ? 'red' : 'green'">
|
{{ item.hcrate }}
|
</div>
|
<div class="text">{{ item.preclose_px }}</div>
|
</td>
|
</tr>
|
</table>
|
|
<!-- <div class="list_items">
|
<div class="item" v-for="(item, index) in listArr" :key="index" @click="handleGoToKlineDetail(item, index)">
|
{{ item }}
|
</div>
|
</div> -->
|
</div>
|
</div>
|
</div>
|
</div>
|
</template>
|
<script>
|
import AllList from "@/page/list/list-all";
|
import * as api from "@/axios/api";
|
import handleDt from "@/utils/deTh";
|
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/home/6.png";
|
import Huo from "@/assets/home/huo.png";
|
import banner1 from "@/assets/img/b1.png";
|
import banner2 from "@/assets/img/b2.png";
|
import banner3 from "@/assets/img/b3.png";
|
// import indexData from "./data.json";
|
import GoToLogin from "@/page/home/components/GoLogin.vue";
|
import { MessageBox } from "mint-ui";
|
import { color } from "echarts/lib/export";
|
export default {
|
components: {
|
AllList,
|
GoToLogin,
|
},
|
props: {},
|
data() {
|
return {
|
Logo,
|
Searchs,
|
Service,
|
clear,
|
Announcement,
|
indexData: [],
|
Huo,
|
is_login: false,
|
loading: true,
|
close: true,
|
proData: [], // 分割好的数据
|
currentIndex: 0,
|
bannerImgsArr: [
|
{
|
img: banner1,
|
},
|
{
|
img: banner2,
|
},
|
{
|
img: banner3,
|
},
|
],
|
announcementMess: "20202/10 - 交易时间安排",
|
|
artList: [],
|
news: "tab_0",
|
newsContent1: [],
|
newsContent2: [],
|
newsContent3: [],
|
newsContent4: [],
|
onlineService: "",
|
isGoTo: false,
|
bannerList: [],
|
userInfo: [],
|
showPopover: false,
|
|
listArr: [],
|
};
|
},
|
computed: {
|
navsArr() {
|
return [
|
{
|
img: Tops,
|
title: this.$t("hj1"),
|
},
|
{
|
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: vip,
|
// title: this.$t('hj279')
|
// }
|
];
|
},
|
},
|
methods: {
|
handleGoToKlineDetail() {},
|
getStock001: handleDt.debounce(async function () {
|
let data = await api.getOptionStock();
|
|
if (data.status === 0) {
|
this.listArr = data.data.list;
|
} else {
|
// this.texts = data.msg
|
// this.alertShow = true
|
}
|
}, 500),
|
|
getdialog() {
|
MessageBox.confirm(this.$t("hj252"), this.$t("hj165"), {
|
confirmButtonText: this.$t("hj161"),
|
cancelButtonText: this.$t("hj106"),
|
})
|
.then(async () => {})
|
.catch(() => {});
|
// MessageBox.confirm('老号被盗请勿转账,请认准新tg:@BEINL2', this.$t('hj165'), {
|
// confirmButtonText: this.$t('hj161'),
|
// cancelButtonText: this.$t('hj106'),
|
// }).then(async () => {
|
|
// }).catch(() => {
|
|
// });
|
},
|
onSelect(e) {
|
this.$i18n.locale = e.lang;
|
window.localStorage.setItem("language", e.lang);
|
},
|
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) {
|
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("/trading-list");
|
break;
|
case 1:
|
this.$router.push("/warehouse");
|
break;
|
case 2:
|
this.$router.push({ path: "/trading-list", query: { listid: 5 } });
|
break;
|
case 3:
|
this.$router.push("/user");
|
break;
|
case 4:
|
this.$router.push("/Subscription?idx=1");
|
break;
|
case 5:
|
this.$router.push("/Subscription?idx=2");
|
break;
|
default:
|
break;
|
}
|
if (navigator.vibrate) {
|
// 支持
|
navigator.vibrate([55]);
|
}
|
},
|
async getBanner() {
|
// 获取显示的banner
|
let result = await api.getBannerByPlat({ platType: "m" });
|
if (result.status === 0) {
|
this.bannerList = result.data;
|
} else {
|
this.$store.commit("elAlertShow", {
|
elAlertShow: true,
|
elAlertText: result.msg,
|
});
|
}
|
},
|
goOnline() {
|
this.$router.push("/service");
|
},
|
async getArtList() {
|
let data = await api.getArtList();
|
if (data.status == 0) {
|
this.artList = data.data.list[0];
|
}
|
},
|
async getInfoSite() {
|
let data = await api.getInfoSite();
|
if (data.status === 0) {
|
this.onlineService = data.data.onlineService;
|
} else {
|
this.$store.commit("elAlertShow", {
|
elAlertShow: true,
|
elAlertText: data.msg,
|
});
|
}
|
},
|
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);
|
|
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.getStock001();
|
// this.getUserInfo()
|
this.getInfoSite();
|
this.getNewsList(1);
|
this.getNewsList(2);
|
this.getNewsList(4);
|
this.getStock();
|
this.getArtList();
|
this.getBanner();
|
|
setInterval(() => {
|
if (window.localStorage.getItem("USERTOKEN")) {
|
this.isGoTo = false;
|
} else {
|
this.isGoTo = !this.isGoTo;
|
}
|
}, 10000);
|
|
setTimeout(() => {
|
this.loading = false;
|
}, 2000);
|
},
|
};
|
</script>
|
<style lang="less" scoped>
|
.wrapper {
|
width: 100%;
|
height: 100%;
|
|
padding-top: 0.3128rem;
|
|
.page_content {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
|
.top_logo {
|
width: 100%;
|
height: 0.7949rem;
|
display: flex;
|
padding-right: 0.3rem;
|
|
> div {
|
width: 50%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
}
|
|
.img_logo {
|
width: 1.1rem;
|
height: 1.1rem;
|
margin-left: 0.3846rem;
|
|
> img {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
|
.right_search {
|
justify-content: flex-end;
|
width: 50%;
|
|
> div {
|
width: 34%;
|
height: 0.4615rem;
|
display: flex;
|
justify-content: space-between;
|
|
> div {
|
width: 0.5615rem;
|
height: 0.5615rem;
|
|
> img {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
}
|
}
|
}
|
|
.center_tabs {
|
width: 100%;
|
height: auto;
|
margin-top: 0.2308rem;
|
|
> .banner_top {
|
width: 100%;
|
|
img {
|
width: 100%;
|
height: 100%;
|
}
|
|
.van-swipe-item {
|
height: 3.0615rem;
|
padding: 0 0.264rem;
|
border-radius: 0.3rem;
|
}
|
|
.van-swipe-item img {
|
border-radius: 0.3rem;
|
}
|
}
|
|
> .announcement {
|
width: 100%;
|
height: auto;
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
padding: 0.2rem 0 0.2rem 0;
|
|
> .an_content {
|
width: 95%;
|
height: 0.559rem;
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
|
.an_left_icon {
|
width: 4%;
|
height: 70%;
|
display: flex;
|
align-items: center;
|
|
> img {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
|
.an_right_message {
|
width: 93%;
|
height: 100%;
|
line-height: 0.559rem;
|
align-items: center;
|
align-content: center;
|
font-size: 0.29rem;
|
white-space: nowrap;
|
overflow: hidden;
|
// text-overflow:ellipsis;
|
}
|
}
|
}
|
|
.navs {
|
width: 100%;
|
height: 2.6154rem;
|
|
display: flex;
|
justify-content: center;
|
|
> .navs_content {
|
position: relative;
|
overflow: hidden;
|
width: 95%;
|
height: 100%;
|
margin: 0 auto;
|
border-radius: 0.2564rem;
|
display: flex;
|
justify-content: space-between;
|
|
> .chacha {
|
width: 1rem;
|
height: 1rem;
|
border-radius: 100%;
|
background-color: rgb(210, 210, 212);
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
position: absolute;
|
right: -0.4rem;
|
top: -0.4rem;
|
|
> div {
|
width: 0.3554rem;
|
height: 0.3554rem;
|
margin-top: 0.3rem;
|
margin-left: 0.15rem;
|
|
> img {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
}
|
|
> div {
|
width: 16%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
|
> div {
|
width: 100%;
|
height: 60%;
|
|
> .top_img {
|
width: 100%;
|
height: 70%;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
|
> div {
|
width: 0.9718rem;
|
height: 0.9718rem;
|
|
> img {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
}
|
|
> .bottom_navs {
|
width: 100%;
|
height: 30%;
|
display: flex;
|
justify-content: center;
|
align-items: center;
|
font-size: 0.33rem;
|
margin-top: 0.15rem;
|
}
|
}
|
}
|
}
|
}
|
|
.focus_on {
|
width: 100%;
|
height: 7.4321rem;
|
margin-top: 0.2564rem;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
|
.fo_content {
|
width: 95%;
|
height: 100%;
|
padding: 0 0.2564rem;
|
border-radius: 0.2564rem;
|
padding-top: 0.2rem;
|
|
.top_title {
|
width: 100%;
|
height: 0.8821rem;
|
display: flex;
|
font-size: 0.4rem;
|
font-weight: 800;
|
align-items: center;
|
}
|
}
|
|
/deep/.van-swipe__indicators {
|
bottom: 0.1rem;
|
}
|
|
/deep/.van-swipe__indicator {
|
background-color: #2d8cf0 !important;
|
opacity: 1;
|
}
|
|
/deep/.van-swipe__indicator--active {
|
width: 0.35rem !important;
|
border-radius: 0.23rem;
|
background-color: #aec7ec !important;
|
}
|
|
.fo_banner {
|
width: 100%;
|
height: calc(100% - 0.8821rem - 0.3rem);
|
}
|
}
|
|
.item_cont {
|
width: 100%;
|
height: 1.5385rem;
|
border-bottom: 0.5px solid #ececec;
|
position: relative;
|
border: none;
|
display: flex;
|
flex-wrap: wrap;
|
align-content: center;
|
|
> div {
|
width: 100%;
|
height: 30%;
|
}
|
|
.top_fo,
|
.bottom_fo {
|
display: flex;
|
justify-content: space-between;
|
|
span {
|
display: inline-block;
|
}
|
|
.title {
|
width: 30%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
font-weight: 500;
|
}
|
|
.aikesi {
|
width: auto;
|
height: 0.3rem;
|
background: #dbe3f0;
|
color: #546daf;
|
padding-left: 0.2rem;
|
padding-right: 0.2rem;
|
font-size: 0.15rem;
|
line-height: 0.3rem;
|
margin-right: 0.1rem;
|
}
|
|
.numberid {
|
font-size: 0.28rem;
|
display: flex;
|
|
line-height: 0.5rem;
|
}
|
|
.numbers {
|
width: 20%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
}
|
|
.point {
|
font-size: 0.28rem;
|
height: 0.5rem;
|
line-height: 0.5rem;
|
}
|
|
.percentage {
|
width: 20%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
text-align: center;
|
justify-content: center;
|
}
|
|
.percentage span {
|
height: 0.5rem;
|
line-height: 0.5rem;
|
}
|
}
|
|
.top_fo {
|
font-size: 0.3846rem !important;
|
}
|
|
.bottom_fo {
|
margin-top: 0.1rem;
|
font-size: 0.1846rem;
|
color: #999898;
|
}
|
|
.percentage.gree {
|
color: green !important;
|
}
|
|
.percentage.redd {
|
color: red !important;
|
}
|
}
|
}
|
|
.item_conts::after {
|
content: "";
|
position: absolute;
|
bottom: 0;
|
background: #ececec;
|
width: 100%;
|
height: 1px;
|
-webkit-transform: scaleY(0.5);
|
transform: scaleY(0.5);
|
-webkit-transform-origin: 0 0;
|
transform-origin: 0 0;
|
}
|
|
.my-swipe .van-swipe-item {
|
font-size: 0.5128rem;
|
line-height: 3.8462rem;
|
text-align: center;
|
overflow: hidden;
|
}
|
|
.fo_my-swipe .van-swipe-item {
|
font-size: 0.5128rem;
|
line-height: 3.8462rem;
|
overflow: hidden;
|
}
|
|
.fo_my-swipe {
|
width: 100%;
|
height: 100%;
|
}
|
|
.focus_skeleton {
|
margin-top: 1rem;
|
}
|
|
.van-skeleton__row,
|
.van-skeleton__title {
|
height: 0.7rem;
|
}
|
|
.news-tab {
|
width: 95%;
|
position: relative;
|
left: 0;
|
right: 0;
|
margin: auto;
|
margin-top: 0.2rem;
|
border-radius: 0.4rem 0.4rem 0 0;
|
padding-top: 0.3rem;
|
|
/deep/.is-selected .tab-name {
|
position: relative;
|
}
|
|
/deep/.mint-navbar .mint-tab-item.is-selected {
|
border: 0 !important;
|
border-bottom: none;
|
}
|
|
/deep/.is-selected .tab-name:after {
|
position: absolute;
|
display: block;
|
content: "";
|
height: 0.07rem;
|
background-color: #1381a4;
|
width: 100%;
|
left: 0;
|
bottom: -0.25rem;
|
}
|
}
|
|
.news-content {
|
position: relative;
|
padding: 0.3rem;
|
}
|
|
.item-out {
|
position: relative;
|
border-left: 0.01rem solid rgba(192, 192, 192, 0.8);
|
padding: 0 0.25rem 1rem 0.25rem;
|
}
|
|
.item-out::before {
|
content: "●";
|
position: absolute;
|
top: -0.1rem;
|
left: -0.128rem;
|
margin: auto;
|
}
|
|
.item-times {
|
color: #999;
|
margin-bottom: 0.15rem;
|
}
|
|
.titContent {
|
position: relative;
|
width: 100%;
|
font-size: 0.35rem;
|
line-height: 0.46rem;
|
overflow: hidden;
|
text-overflow: ellipsis;
|
-webkit-line-clamp: 2;
|
display: -webkit-box;
|
}
|
|
.neitu {
|
width: 100%;
|
border-radius: 0.05rem;
|
margin-top: 0.3rem;
|
margin-bottom: 0.8rem;
|
}
|
|
.neitu img {
|
width: 100%;
|
border-radius: 0.05rem;
|
}
|
|
.block-out {
|
margin-top: 0.2rem;
|
}
|
|
.blocks {
|
width: auto;
|
font-size: 0.32rem;
|
padding: 0.08rem 0.15rem 0.08rem 0.15rem;
|
display: inline-block;
|
border: 0.0513rem solid #41ac75;
|
color: #41ac75;
|
}
|
|
.animate {
|
padding-left: 20px;
|
|
font-size: 0.29rem;
|
|
color: #000;
|
|
display: inline-block;
|
|
white-space: nowrap;
|
|
animation: 10s wordsLoop linear infinite normal;
|
}
|
|
@keyframes wordsLoop {
|
0% {
|
transform: translateX(100%);
|
|
-webkit-transform: translateX(100%);
|
}
|
|
100% {
|
transform: translateX(-100%);
|
|
-webkit-transform: translateX(-100%);
|
}
|
}
|
|
@-webkit-keyframes wordsLoop {
|
0% {
|
transform: translateX(100%);
|
|
-webkit-transform: translateX(100%);
|
}
|
|
100% {
|
transform: translateX(-100%);
|
|
-webkit-transform: translateX(-100%);
|
}
|
}
|
|
.list_item {
|
th {
|
padding-bottom: 0.6rem;
|
color: #999;
|
}
|
|
.name {
|
color: #020202;
|
font-size: 0.4rem;
|
font-weight: 600;
|
padding-left: 0.2rem;
|
margin-bottom: 0.15rem;
|
border-left: 5px solid #999;
|
}
|
|
.red {
|
color: red;
|
}
|
|
.green {
|
color: green;
|
}
|
|
.text {
|
padding-bottom: 0.5rem;
|
}
|
}
|
</style>
|
|