From 92dd4aaaa7fb67c4d65df18e0e69cbc6775575d3 Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Wed, 23 Apr 2025 19:19:13 +0800
Subject: [PATCH] feat 沙特添加石油黄金
---
src/page/list/detail.vue | 381 ++++++++++++++++++++++++++++-------------------------
1 files changed, 202 insertions(+), 179 deletions(-)
diff --git a/src/page/list/detail.vue b/src/page/list/detail.vue
index 5da29fb..c5f7d07 100644
--- a/src/page/list/detail.vue
+++ b/src/page/list/detail.vue
@@ -1,5 +1,7 @@
<template>
- <div :class="`wrapper ${$state.theme === 'red' ? 'red-theme' : 'black-theme'}`">
+ <div
+ :class="`wrapper ${$state.theme === 'red' ? 'red-theme' : 'black-theme'}`"
+ >
<!-- <div class="header">
<mt-header :title="detail.name+' ('+detail.code+')'">
<router-link to="/list" slot="left">
@@ -23,56 +25,102 @@
</div>
</div>
</div>
- <div class="page-part detail-part ">
- <!-- 明细 -->
- <div class="clearfix">
- <div class="pull-left col-xs-7">
- <p :class="detail.nowPrice - detail.preclose_px <0?'price green':'price red'">
- {{detail.nowPrice}}</p>
- <p :class="detail.nowPrice - detail.preclose_px <0?'gain green':'gain red'">
- {{detail.hcrate}}%</p>
- </div>
- <div class="pull-right col-xs-5">
- <ul class="price-detail text-center">
- <li>
- <p class="title">昨收</p>
- <p :class="detail.nowPrice - detail.preclose_px <0?'number green':'number red'">
- {{detail.preclose_px}}</p>
- </li>
- <li>
- <p class="title">今开</p>
- <p :class="detail.nowPrice - detail.preclose_px <0?'number green':'number red'">
- {{detail.open_px}}</p>
- </li>
- <li>
- <p class="title">最高</p>
- <p :class="detail.nowPrice - detail.preclose_px <0?'number green':'number red'">
- {{detail.today_max}}</p>
- </li>
- <li>
- <p class="title">最低</p>
- <p :class="detail.nowPrice - detail.preclose_px <0?'number green':'number red'">
- {{detail.today_min}}</p>
- </li>
- </ul>
- </div>
- </div>
- <div class="row detail-list">
- <div class="col-xs-4">
- <p class="title">成交量</p>
- <p class="number">{{(Number(detail.business_amount)/100/10000).toFixed(2)}}万</p>
- </div>
- <div class="col-xs-6">
- <p class="title">成交额</p>
- <p class="number">{{(Number(detail.business_balance)/100000000).toFixed(2)}}亿</p>
- </div>
- </div>
- </div>
+ <div class="page-part detail-part ">
+ <!-- 明细 -->
+ <div class="clearfix">
+ <div class="pull-left col-xs-7">
+ <p
+ :class="
+ detail.nowPrice - detail.preclose_px < 0
+ ? 'price green'
+ : 'price red'
+ "
+ >
+ {{ detail.nowPrice }}
+ </p>
+ <p
+ :class="
+ detail.nowPrice - detail.preclose_px < 0
+ ? 'gain green'
+ : 'gain red'
+ "
+ >
+ {{ detail.hcrate }}%
+ </p>
+ </div>
+ <div class="pull-right col-xs-5">
+ <ul class="price-detail text-center">
+ <li>
+ <p class="title">昨收</p>
+ <p
+ :class="
+ detail.nowPrice - detail.preclose_px < 0
+ ? 'number green'
+ : 'number red'
+ "
+ >
+ {{ detail.preclose_px }}
+ </p>
+ </li>
+ <li>
+ <p class="title">今开</p>
+ <p
+ :class="
+ detail.nowPrice - detail.preclose_px < 0
+ ? 'number green'
+ : 'number red'
+ "
+ >
+ {{ detail.open_px }}
+ </p>
+ </li>
+ <li>
+ <p class="title">最高</p>
+ <p
+ :class="
+ detail.nowPrice - detail.preclose_px < 0
+ ? 'number green'
+ : 'number red'
+ "
+ >
+ {{ detail.today_max }}
+ </p>
+ </li>
+ <li>
+ <p class="title">最低</p>
+ <p
+ :class="
+ detail.nowPrice - detail.preclose_px < 0
+ ? 'number green'
+ : 'number red'
+ "
+ >
+ {{ detail.today_min }}
+ </p>
+ </li>
+ </ul>
+ </div>
+ </div>
+ <div class="row detail-list">
+ <div class="col-xs-4">
+ <p class="title">成交量</p>
+ <p class="number">
+ {{ (Number(detail.business_amount) / 100 / 10000).toFixed(2) }}万
+ </p>
+ </div>
+ <div class="col-xs-6">
+ <p class="title">成交额</p>
+ <p class="number">
+ {{ (Number(detail.business_balance) / 100000000).toFixed(2) }}亿
+ </p>
+ </div>
+ </div>
+ </div>
<!-- <stockHq /> -->
- <div class="page-part box-part">
- <!-- 图 -->
- <imgBox :code="$route.query.code" :imgList='detail'/>
- </div>
+ <div class="page-part box-part">
+ <!-- 图 -->
+ <imgBox :code="$route.query.code" :imgList="detail" />
+ </div>
<!-- tab -->
<div class="news-tab">
<mt-navbar v-model="news">
@@ -101,90 +149,65 @@
<mt-tab-container v-model="news" :swipeable="true">
<mt-tab-container-item id="tab_0">
<div class="news-content">
- <div
- class="news-item"
- v-for="item of newsContent1"
- :key="item.id"
- >
- <p
- class="news-title"
- style="-webkit-box-orient: vertical;"
- >{{item.title}}</p>
+ <div class="news-item" v-for="item of newsContent1" :key="item.id">
+ <p class="news-title" style="-webkit-box-orient: vertical;">
+ {{ item.title }}
+ </p>
<span class="news-status">
<i class="glyphicon glyphicon-eye-open"></i>
- 浏览量:{{item.views}}
+ 浏览量:{{ item.views }}
</span>
</div>
</div>
</mt-tab-container-item>
<mt-tab-container-item id="tab_1">
<div class="news-content">
- <div
- class="news-item"
- v-for="item of newsContent2"
- :key="item.id"
- >
- <p
- class="news-title"
- style="-webkit-box-orient: vertical;"
- >{{item.title}}</p>
+ <div class="news-item" v-for="item of newsContent2" :key="item.id">
+ <p class="news-title" style="-webkit-box-orient: vertical;">
+ {{ item.title }}
+ </p>
<span class="news-status">
<i class="glyphicon glyphicon-eye-open"></i>
- 浏览量:{{item.views}}
+ 浏览量:{{ item.views }}
</span>
</div>
</div>
</mt-tab-container-item>
<mt-tab-container-item id="tab_2">
<div class="news-content">
- <div
- class="news-item"
- v-for="item of newsContent3"
- :key="item.id"
- >
- <p
- class="news-title"
- style="-webkit-box-orient: vertical;"
- >{{item.title}}</p>
+ <div class="news-item" v-for="item of newsContent3" :key="item.id">
+ <p class="news-title" style="-webkit-box-orient: vertical;">
+ {{ item.title }}
+ </p>
<span class="news-status">
<i class="glyphicon glyphicon-eye-open"></i>
- 浏览量:{{item.views}}
+ 浏览量:{{ item.views }}
</span>
</div>
</div>
</mt-tab-container-item>
<mt-tab-container-item id="tab_3">
<div class="news-content">
- <div
- class="news-item"
- v-for="item of newsContent4"
- :key="item.id"
- >
- <p
- class="news-title"
- style="-webkit-box-orient: vertical;"
- >{{item.title}}</p>
+ <div class="news-item" v-for="item of newsContent4" :key="item.id">
+ <p class="news-title" style="-webkit-box-orient: vertical;">
+ {{ item.title }}
+ </p>
<span class="news-status">
<i class="glyphicon glyphicon-eye-open"></i>
- 浏览量:{{item.views}}
+ 浏览量:{{ item.views }}
</span>
</div>
</div>
</mt-tab-container-item>
<mt-tab-container-item id="tab_4">
<div class="news-content">
- <div
- class="news-item"
- v-for="item of newsContent5"
- :key="item.id"
- >
- <p
- class="news-title"
- style="-webkit-box-orient: vertical;"
- >{{item.title}}</p>
+ <div class="news-item" v-for="item of newsContent5" :key="item.id">
+ <p class="news-title" style="-webkit-box-orient: vertical;">
+ {{ item.title }}
+ </p>
<span class="news-status">
<i class="glyphicon glyphicon-eye-open"></i>
- 浏览量:{{item.views}}
+ 浏览量:{{ item.views }}
</span>
</div>
</div>
@@ -193,15 +216,15 @@
</div>
<div class="btn-list">
<div class="btn btn1" @click="addOptions">
- <img :src="btnIcon1" alt="">
+ <img :src="btnIcon1" alt="" />
自选
</div>
<div class="btn btn2" @click="handleTwoBuyClick">
- <img :src="btnIcon2" alt="">
+ <img :src="btnIcon2" alt="" />
两融交易
</div>
<div class="btn btn3" @click="handleSubBuyClick">
- <img :src="btnIcon3" alt="">
+ <img :src="btnIcon3" alt="" />
分仓交易
</div>
</div>
@@ -214,7 +237,7 @@
import stockHq from "./compontent/stock/stockHq";
import { Toast } from "mint-ui";
import * as api from "@/axios/api";
-import foot from '@/components/foot/foot'
+import foot from "@/components/foot/foot";
export default {
components: {
@@ -258,23 +281,23 @@
sell2_num: "5100",
sell3_num: "2500",
sell4_num: "40200",
- sell5_num: "11500",
+ sell5_num: "11500"
}, // 详情
buyList: [
{ price: 33.5, price2: 14323.5 },
{ price: 33.5, price2: 14323.5 },
{ price: 33.5, price2: 14323.5 },
{ price: 33.5, price2: 14323.5 },
- { price: 33.5, price2: 14323.5 },
+ { price: 33.5, price2: 14323.5 }
],
isOptionOpt: false, // 是否已经添加自选
timer: null,
loading: false,
// 新闻
- news:'tab_0',
- btnIcon1: require('../../../static/img/detail/zixuan-icon.png'),
- btnIcon2: require('../../../static/img/detail/liangrong-icon.png'),
- btnIcon3: require('../../../static/img/detail/fencang-icon.png'),
+ news: "tab_0",
+ btnIcon1: require("../../../static/img/detail/zixuan-icon.png"),
+ btnIcon2: require("../../../static/img/detail/liangrong-icon.png"),
+ btnIcon3: require("../../../static/img/detail/fencang-icon.png"),
newsContent1: [], // 财经要闻
newsContent2: [], // 经济数据
newsContent3: [], // 全球股市
@@ -293,11 +316,11 @@
clearInterval(this.timer);
},
mounted() {
- this.getNewsList(1)
- this.getNewsList(2)
- this.getNewsList(3)
- this.getNewsList(4)
- this.getNewsList(5)
+ this.getNewsList(1);
+ this.getNewsList(2);
+ this.getNewsList(3);
+ this.getNewsList(4);
+ this.getNewsList(5);
this.getDetail();
if (this.$store.state.userInfo.phone) {
// 判断是否登录
@@ -311,42 +334,42 @@
// 两融交易
handleTwoBuyClick() {
this.$router.push({
- path: '/twoBuy',
+ path: "/twoBuy",
query: {
code: this.detail.code
}
- })
+ });
},
// 分仓交易
handleSubBuyClick() {
this.$router.push({
- path: '/subWarehouseBuy',
+ path: "/subWarehouseBuy",
query: {
code: this.detail.code
}
- })
+ });
},
toSearch() {
this.$router.push("/searchlist");
},
async getNewsList(type) {
let data = await api.queryNewsList(type);
- console.log('xinwen:',data)
- switch(type) {
+ console.log("xinwen:", data);
+ switch (type) {
case 1:
- this.newsContent1 = data.data.list
+ this.newsContent1 = data.data.list;
break;
case 2:
- this.newsContent2 = data.data.list
+ this.newsContent2 = data.data.list;
break;
case 3:
- this.newsContent3 = data.data.list
+ this.newsContent3 = data.data.list;
break;
case 4:
- this.newsContent4 = data.data.list
+ this.newsContent4 = data.data.list;
break;
case 5:
- this.newsContent5 = data.data.list
+ this.newsContent5 = data.data.list;
break;
}
},
@@ -369,7 +392,7 @@
},
async getOpation() {
let opts = {
- code: this.$route.query.code,
+ code: this.$route.query.code
};
let data = await api.isOption(opts);
if (data.status === 0) {
@@ -381,8 +404,8 @@
},
async getDetail() {
let opts = {
- code: this.$route.query.code,
- stockType: this.$route.query.stock_type,
+ code: this.$route.query.code || this.$route.query.name,
+ stockType: this.$route.query.stock_type
};
let data = await api.getSingleStock(opts);
this.loading = false;
@@ -424,11 +447,11 @@
name: this.detail.name,
code: this.detail.code,
hcrate: this.detail.hcrate,
- nowPrice: this.detail.nowPrice,
- },
+ nowPrice: this.detail.nowPrice
+ }
});
- },
- },
+ }
+ }
};
</script>
<style lang="less" scoped>
@@ -554,7 +577,7 @@
}
}
}
-.btn-list{
+.btn-list {
display: flex;
align-items: center;
justify-content: space-between;
@@ -564,108 +587,108 @@
position: fixed;
bottom: 0;
background-color: #16171d;
- .btn{
+ .btn {
width: 2.4rem;
height: 0.76rem;
border-radius: 1rem;
display: flex;
justify-content: center;
align-items: center;
- font-size:0.29rem;
- font-family:Microsoft YaHei;
- font-weight:400;
- color:rgba(255,255,255,1);
- img{
+ font-size: 0.29rem;
+ font-family: Microsoft YaHei;
+ font-weight: 400;
+ color: rgba(255, 255, 255, 1);
+ img {
width: 0.28rem;
margin-right: 0.1rem;
}
- &.btn1{
+ &.btn1 {
width: 1.85rem;
- background-color: #D63535;
+ background-color: #d63535;
}
- &.btn2{
- background-color: #7266BA;
+ &.btn2 {
+ background-color: #7266ba;
}
- &.btn3{
- background-color: #148EB4;
+ &.btn3 {
+ background-color: #148eb4;
}
}
}
-.red-theme{
- .exchangeData{
+.red-theme {
+ .exchangeData {
background-color: white;
- .overall-item{
- h4{
+ .overall-item {
+ h4 {
color: #656565;
}
- span{
+ span {
color: #212121;
}
}
}
- .news-tab{
- /deep/.mint-navbar{
+ .news-tab {
+ /deep/.mint-navbar {
background: white;
- .mint-tab-item{
+ .mint-tab-item {
background: white;
- .mint-tab-item-label{
+ .mint-tab-item-label {
color: #000000;
}
- &.is-selected{
- .mint-tab-item-label{
- color: #BB1815;
- .tab-name{
- &::after{
- background-color: #BB1815;
+ &.is-selected {
+ .mint-tab-item-label {
+ color: #bb1815;
+ .tab-name {
+ &::after {
+ background-color: #bb1815;
}
}
}
}
}
}
- .mint-tab-container{
+ .mint-tab-container {
background: white;
- .news-title{
+ .news-title {
color: #656565;
}
- .news-status{
- border-color: #DFDFDF;
+ .news-status {
+ border-color: #dfdfdf;
}
}
}
- .btn-list{
+ .btn-list {
background-color: #e9e9e9;
- .btn{
- &.btn1{
- background-color: #D63535;
+ .btn {
+ &.btn1 {
+ background-color: #d63535;
}
- &.btn2{
- background-color: #7266BA;
+ &.btn2 {
+ background-color: #7266ba;
}
- &.btn3{
- background-color: #138EB4;
+ &.btn3 {
+ background-color: #138eb4;
}
}
}
}
-.flex{
+.flex {
display: flex;
}
-.justify-between{
+.justify-between {
justify-content: space-between;
}
-.flex-wrap{
+.flex-wrap {
flex-wrap: wrap;
}
-.align-center{
+.align-center {
align-items: center;
}
-.detailName{
+.detailName {
font-size: 0.48rem;
color: #000;
font-weight: 700;
}
-.detailCode{
+.detailCode {
font-size: 0.16rem;
color: #bbb;
}
--
Gitblit v1.9.3