From fbe4c23b9a0316937bc63213c910cbb393d6bc65 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Mon, 18 Aug 2025 18:32:23 +0800
Subject: [PATCH] 1
---
src/components/foot.vue | 37 +++-
src/assets/foot/tab_5.png | 0
src/page/kline/index.vue | 119 +++++++++----
src/axios/api.js | 4
src/components/index-component.vue | 25 +-
src/page/home/newList.vue | 2
src/router/index.js | 37 ++-
src/components/stock-list.vue | 3
src/page/user/myOrder.vue | 15
src/page/markets/markets.vue | 55 ++----
src/assets/img/down_4.png | 0
src/page/markets/marketsList.vue | 64 +++++++
src/page/kline/components/kLine.vue | 153 ++++++++++------
src/assets/foot/tab_5_a.png | 0
src/page/kline/kIndex.vue | 11
src/page/user/account.vue | 8
16 files changed, 350 insertions(+), 183 deletions(-)
diff --git a/src/assets/foot/tab_5.png b/src/assets/foot/tab_5.png
new file mode 100644
index 0000000..069503a
--- /dev/null
+++ b/src/assets/foot/tab_5.png
Binary files differ
diff --git a/src/assets/foot/tab_5_a.png b/src/assets/foot/tab_5_a.png
new file mode 100644
index 0000000..1e77565
--- /dev/null
+++ b/src/assets/foot/tab_5_a.png
Binary files differ
diff --git a/src/assets/img/down_4.png b/src/assets/img/down_4.png
new file mode 100644
index 0000000..3e2fb5c
--- /dev/null
+++ b/src/assets/img/down_4.png
Binary files differ
diff --git a/src/axios/api.js b/src/axios/api.js
index 6661e1a..b124f8e 100644
--- a/src/axios/api.js
+++ b/src/axios/api.js
@@ -667,3 +667,7 @@
export function rtDk(options) {
return post(`/api/dk/rtDk.do?id=` + options);
}
+// 市场指数图数据
+export function getIndexData() {
+ return post(`/api/stock/getIndexData.do`);
+}
diff --git a/src/components/foot.vue b/src/components/foot.vue
index 2a7ab3c..a2a60ea 100644
--- a/src/components/foot.vue
+++ b/src/components/foot.vue
@@ -7,19 +7,38 @@
<div class="footImgDeft">
<img
v-show="$store.state.select == '/markets'"
- src="../assets/foot/tab_1_a.png"
+ src="../assets/foot/tab_5_a.png"
/>
<img
v-show="$store.state.select != '/markets'"
- src="../assets/foot/tab_1.png"
+ src="../assets/foot/tab_5.png"
/>
</div>
<div :class="$store.state.select == '/markets' ? 'blueFont' : ''">
- {{ $t("hj62") }}
+ {{ $t("hj224") }}
</div>
</div>
<div
+ :class="touch == 2 ? 'footDemos' : 'footDemo'"
+ @click="goRouter('/markets-list', 2)"
+ >
+ <div class="footImgDeft">
+ <img
+ v-show="$store.state.select == '/markets-list'"
+ src="../assets/foot/tab_1_a.png"
+ />
+ <img
+ v-show="$store.state.select != '/markets-list'"
+ src="../assets/foot/tab_1.png"
+ />
+ </div>
+ <div :class="$store.state.select == '/markets-list' ? 'blueFont' : ''">
+ {{ $t("hj62") }}
+ </div>
+ </div>
+
+ <!-- <div
:class="touch == 2 ? 'footDemos' : 'footDemo'"
@click="goRouter('/fund_index', 2)"
>
@@ -36,24 +55,24 @@
<div :class="$store.state.select == '/fund_index' ? 'blueFont' : ''">
{{ $t("理财") }}
</div>
- </div>
+ </div> -->
<div
:class="touch == 3 ? 'footDemos' : 'footDemo'"
- @click="goRouter('/new-list', 3)"
+ @click="goRouter('/myorder', 3)"
>
<div class="footImgDeft">
<img
- v-show="$store.state.select == '/new-list'"
+ v-show="$store.state.select == '/myorder'"
src="../assets/foot/tab_3_a.png"
/>
<img
- v-show="$store.state.select != '/new-list'"
+ v-show="$store.state.select != '/myorder'"
src="../assets/foot/tab_3.png"
/>
</div>
- <div :class="$store.state.select == '/new-list' ? 'blueFont' : ''">
- {{ $t("hj6") }}
+ <div :class="$store.state.select == '/myorder' ? 'blueFont' : ''">
+ {{ $t("订单") }}
</div>
</div>
diff --git a/src/components/index-component.vue b/src/components/index-component.vue
index 44eb433..b75687c 100644
--- a/src/components/index-component.vue
+++ b/src/components/index-component.vue
@@ -1,15 +1,16 @@
<template>
- <div class="index_component" :class="dataObj.chg > 0 ? 'bg-green' : 'bg-red'" @click="toLine">
+ <div class="index_component bg-red" @click="toLine">
<div class="item_title">
- <span class="line-one">{{ dataObj.name }}</span>
+ <span class="line-one">{{ dataObj.symbol }}</span>
</div>
<div class="item_price">{{ dataObj.last }}</div>
<div class="item_index flex-between">
<span>{{ dataObj.chg }}</span>
<span>{{ dataObj.chgPct }}%</span>
</div>
- <div style="width:100%;flex:1">
- <Echart :ids="ids" :colorType="dataObj.chg / 1" :data="klist"></Echart>
+ <div style="width:100%;flex:1" class="flex-center">
+ <!-- <Echart :ids="ids" :colorType="dataObj.chg / 1" :data="klist"></Echart> -->
+ <img src="@/assets/img/down_4.png" style="width:80%;" />
</div>
</div>
</template>
@@ -25,7 +26,7 @@
},
dataObj: {
type: Object,
- default: () => { }
+ default: () => {}
}
},
computed: {
@@ -42,19 +43,20 @@
methods: {
// 跳转到指数图
toLine() {
+ return
// 点击进入详情
const obj = {
pid: this.dataObj.id || "",
- type: this.dataObj.stockType || ""
+ type: "US",
};
window.localStorage.setItem("kLine", JSON.stringify(obj));
this.$router.push({
path: "/kLineIndex",
+ // path: "/kline",
query: {
- // if_us: 1,
code: this.dataObj.id,
- type: this.dataObj.stockType
+ type: "US"
}
});
}
@@ -63,10 +65,10 @@
</script>
<style lang="less" scoped>
-@red: #ee0a24;
+@red: #f54346;
.bg-red {
- background-color: rgba(red, 0.1);
+ background: linear-gradient(180deg, #2d1b23, #161a23);
color: @red;
}
@@ -86,7 +88,8 @@
.item_title {
padding: 0 0.5em;
font-size: 0.35em;
- color: #333;
+ color: #fff;
+ text-align: center;
span {
width: 100%;
diff --git a/src/components/stock-list.vue b/src/components/stock-list.vue
index 6de35ee..fc578f4 100644
--- a/src/components/stock-list.vue
+++ b/src/components/stock-list.vue
@@ -89,7 +89,8 @@
default: false
}
},
- watch: {},
+ watch: {
+ },
mounted() {
this.init();
this.initWebSocket();
diff --git a/src/page/home/newList.vue b/src/page/home/newList.vue
index f1c6109..effcad0 100644
--- a/src/page/home/newList.vue
+++ b/src/page/home/newList.vue
@@ -1,6 +1,6 @@
<template>
<div class="new_list">
- <tab-head :title="$t('hj6')"></tab-head>
+ <!-- <tab-head :title="$t('hj6')"></tab-head> -->
<news-item v-for="item in newsList" :key="item.id" :item="item"></news-item>
diff --git a/src/page/kline/components/kLine.vue b/src/page/kline/components/kLine.vue
index fb9777c..4367ccf 100644
--- a/src/page/kline/components/kLine.vue
+++ b/src/page/kline/components/kLine.vue
@@ -6,27 +6,60 @@
<div class="periodWrap kline_periodWrap" ref="kline_periodWrap">
<!-- DWM 分 -->
<div class="btnGroup" style="position: relative">
- <div class="btn2" v-for="(item, index) in KLinePeriodMenu" :class="{ active: KLinePeriodIndex == index }"
- :key="item.ID" @click="OnClickKLinePeriodMenu(index, item, 'kline')">
+ <div
+ class="btn2"
+ v-for="(item, index) in KLinePeriodMenu"
+ :class="{ active: KLinePeriodIndex == index }"
+ :key="item.ID"
+ @click="OnClickKLinePeriodMenu(index, item, 'kline')"
+ >
<span>{{ item.Name }}</span>
</div>
- <div style="position: absolute; right: 0; top: 25px; z-index: 99" v-if="isShow == true">
- <div class="btnGroup" v-show="IsShowRightMenu" style="display: flex; flex-direction: column">
- <div class="btn" :class="{ active: KLineRightIndex == index }" v-for="(item, index) in KLineRightMenu"
- :key="item.ID" style="padding: 10px" @click="OnClickKLineRightMenu(index, item)">
+ <div
+ style="position: absolute; right: 0; top: 25px; z-index: 99"
+ v-if="isShow == true"
+ >
+ <div
+ class="btnGroup"
+ v-show="IsShowRightMenu"
+ style="display: flex; flex-direction: column"
+ >
+ <div
+ class="btn"
+ :class="{ active: KLineRightIndex == index }"
+ v-for="(item, index) in KLineRightMenu"
+ :key="item.ID"
+ style="padding: 10px"
+ @click="OnClickKLineRightMenu(index, item)"
+ >
{{ item.Name }}
</div>
- <div class="btn" v-for="item in KLineIndexMenu" :key="item.ID" style="padding: 10px"
- @click="ChangeKLineIndex(item)">
+ <div
+ class="btn"
+ v-for="item in KLineIndexMenu"
+ :key="item.ID"
+ style="padding: 10px"
+ @click="ChangeKLineIndex(item)"
+ >
{{ item.Name }}
</div>
</div>
</div>
</div>
</div>
- <div class="hqchart" id="hqchart_minute" ref="kline" v-show="chartType == 'minute'"></div>
- <div class="hqchart" id="hqchart_kline" ref="kline2" v-show="chartType == 'kline'"></div>
+ <div
+ class="hqchart"
+ id="hqchart_minute"
+ ref="kline"
+ v-show="chartType == 'minute'"
+ ></div>
+ <div
+ class="hqchart"
+ id="hqchart_kline"
+ ref="kline2"
+ v-show="chartType == 'kline'"
+ ></div>
</div>
</div>
</div>
@@ -43,12 +76,12 @@
import EastMoney from "../../../eastmoney/HQData.js";
import i18n from "@/locales/index.js";
-HQChart.Chart.MARKET_SUFFIX_NAME.GetMarketStatus = function (symbol) {
+HQChart.Chart.MARKET_SUFFIX_NAME.GetMarketStatus = function(symbol) {
return 2;
}; // 一直交易
-function DefaultData() { }
+function DefaultData() {}
-DefaultData.GetMinuteOption = function () {
+DefaultData.GetMinuteOption = function() {
var option = {
Type: "分钟走势图", // 创建图形类型
// Type:'分钟走势图横屏',
@@ -58,7 +91,7 @@
// { Index:"KDJ", Modify: false, Change: true, Close: true},
// { Index: "KDJ", Modify: false, Change: false, Close: false }
],
- SplashTitle: 'loading...',
+ SplashTitle: "loading...",
Symbol: "AAPL.usa",
IsAutoUpdate: true, // 是自动更新数据
AutoUpdateFrequency: 20000,
@@ -113,7 +146,7 @@
return option;
};
-DefaultData.GetMinuteIndexMenu = function () {
+DefaultData.GetMinuteIndexMenu = function() {
var data = [
{
Name: "MACD",
@@ -140,7 +173,7 @@
return data;
};
-DefaultData.GetKLineIndexMenu = function () {
+DefaultData.GetKLineIndexMenu = function() {
var data = [
{
Name: "MA",
@@ -177,7 +210,7 @@
return data;
};
-DefaultData.GetTestSymbolMenu = function () {
+DefaultData.GetTestSymbolMenu = function() {
// 品种代码规则 ${东方财富品种代码}_${东方财富市场}.${HQChart内部市场后缀}
var data = [
{
@@ -898,7 +931,7 @@
};
// k形图
-DefaultData.GetKLineOption = function () {
+DefaultData.GetKLineOption = function() {
var option = {
Type: "历史K线图", // 创建图形类型
Language: "EN", // 英文 'EN' 简体中文:'CN' 繁体中文:"TC"
@@ -919,7 +952,7 @@
}
// { Index: 'MACD', Modify: true, Change: true, Close: false }
],
- SplashTitle: 'loading...',
+ SplashTitle: "loading...",
Symbol: "600015.sh",
IsAutoUpdate: true, // 是自动更新数据
AutoUpdateFrequency: 15000,
@@ -995,7 +1028,7 @@
return option;
};
-DefaultData.GetMinuteDayMenu = function () {
+DefaultData.GetMinuteDayMenu = function() {
var data = [
{
Name: "1D",
@@ -1022,7 +1055,7 @@
return data;
};
-DefaultData.GetKLinePeriodMenu = function () {
+DefaultData.GetKLinePeriodMenu = function() {
var data = [
// { Name: i18n.t('hj86'), ID: 3 },分时额外处理
// { Name: i18n.t("hj86"), ID: 4 },
@@ -1055,7 +1088,7 @@
return data;
};
-DefaultData.GetKLineRightMenu = function () {
+DefaultData.GetKLineRightMenu = function() {
var data = [
{
Name: i18n.t("hj93"),
@@ -1176,7 +1209,7 @@
var self = this;
// 侦听元素的调整大小事件,并使用元素作为调整大小事件的参数来调用侦听器函数。传递给函数的选项将
// 覆盖实例选项
- erd.listenTo(this.$refs["rightContent"], function (element) {
+ erd.listenTo(this.$refs["rightContent"], function(element) {
var width = element.offsetWidth;
var height = element.offsetHeight;
self.tableHeight = height - 10; // 将监听到的宽高进行赋值
@@ -1221,8 +1254,9 @@
SetChartStyle() {
EastMoney.HQData.SetMinuteChartCoordinate();
var blackStyle = HQChart.Chart.HQChartStyle.GetStyleConfig(
- HQChart.Chart.STYLE_TYPE_ID.WHITE_ID
- ); // 读取黑色风格配置
+ // HQChart.Chart.STYLE_TYPE_ID.WHITE_ID // 白色风格
+ HQChart.Chart.STYLE_TYPE_ID.BLACK_ID // 黑色风格
+ );
blackStyle.UpBarColor = "#449b54"; //上涨
blackStyle.DownBarColor = "#e13b45";
@@ -1251,8 +1285,6 @@
option.NetworkFilter = (data, callback) => {
this.NetworkFilter(data, callback);
-
- // this.NetworkFilter(data, callback);
}; // 网络请求回调函数
var chart = HQChart.Chart.JSChart.Init(this.$refs.kline2);
HQChart.Chart.JSChart.GetResource().FrameLogo.Text = null;
@@ -1332,35 +1364,38 @@
clearInterval(this.timerss);
this.timerss = null;
}
+ this.getFilter(data, callback);
this.timerss = setInterval(() => {
- switch (data.Name) {
- // 分时图数据对接
- case "MinuteChartContainer::RequestMinuteData":
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "MinuteChartContainer::RequestHistoryMinuteData":
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
-
- case "KLineChartContainer::RequestHistoryData": // 日线全量数据下载
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "KLineChartContainer::RequestRealtimeData": // 日线实时数据更新
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "KLineChartContainer::RequestFlowCapitalData": // 流通股本
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "KLineChartContainer::ReqeustHistoryMinuteData": // 分钟全量数据下载
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- case "KLineChartContainer::RequestMinuteRealtimeData": // 分钟增量数据更新
- EastMoney.HQData.NetworkFilter(data, callback);
- break;
- }
+ this.getFilter(data, callback);
}, 5000);
},
+ getFilter(data, callback) {
+ switch (data.Name) {
+ // 分时图数据对接
+ case "MinuteChartContainer::RequestMinuteData":
+ EastMoney.HQData.NetworkFilter(data, callback);
+ break;
+ case "MinuteChartContainer::RequestHistoryMinuteData":
+ EastMoney.HQData.NetworkFilter(data, callback);
+ break;
+ case "KLineChartContainer::RequestHistoryData": // 日线全量数据下载
+ EastMoney.HQData.NetworkFilter(data, callback);
+ break;
+ case "KLineChartContainer::RequestRealtimeData": // 日线实时数据更新
+ EastMoney.HQData.NetworkFilter(data, callback);
+ break;
+ case "KLineChartContainer::RequestFlowCapitalData": // 流通股本
+ EastMoney.HQData.NetworkFilter(data, callback);
+ break;
+ case "KLineChartContainer::ReqeustHistoryMinuteData": // 分钟全量数据下载
+ EastMoney.HQData.NetworkFilter(data, callback);
+ break;
+ case "KLineChartContainer::RequestMinuteRealtimeData": // 分钟增量数据更新
+ EastMoney.HQData.NetworkFilter(data, callback);
+ break;
+ }
+ },
handleSelect(key, keyPath) {
console.log(key, keyPath);
this.ChangeSymbol(keyPath[1]);
@@ -1434,7 +1469,7 @@
justify-content: center;
// flex-direction: column;
- >.btn {
+ > .btn {
cursor: pointer;
width: 100%;
text-align: center;
@@ -1479,9 +1514,9 @@
.btnGroup {
// border: 1px solid #242424;
- color: #000;
+ color: #fff;
display: flex;
- background: #fff;
+ // background: #fff;
.btn {
margin: 0 0.1rem;
@@ -1499,7 +1534,7 @@
.active {
color: #c4d600;
font-weight: 800;
- background: rgb(245, 245, 245);
+ background: #444;
}
}
@@ -1514,14 +1549,14 @@
#hqchart_minute {
// height: 100%;
- background-color: #fff;
+ background-color: #000;
height: 5rem;
position: relative;
}
#hqchart_kline {
// height: 100% !important;
- background-color: #fff;
+ background-color: #000;
height: 5rem;
position: relative;
}
@@ -1546,7 +1581,7 @@
display: flex;
align-items: center;
justify-content: center;
- background: #fff !important;
+ // background: #fff !important;
}
.btnGroup {
diff --git a/src/page/kline/index.vue b/src/page/kline/index.vue
index 8eda9e0..a3a11f1 100644
--- a/src/page/kline/index.vue
+++ b/src/page/kline/index.vue
@@ -81,14 +81,19 @@
<span class="i_icon">{{ bayType }}</span>
<span class="i_hint" style="color:#777">{{ singDetails.spell }}</span>
</div>
- <div class="detail_title_a">{{ singDetails.name }}({{ singDetails.gid }})</div>
+ <div class="detail_title_a">
+ {{ singDetails.name }}({{ singDetails.gid }})
+ </div>
<div class="real_time_detail">
<div class="left_now_price">
<div class="top_now">
<!-- <span :class="singDetails.nowPrice - singDetails.preclose_px > 0 ? 'price green' : 'price red'">{{
singDetails.nowPrice
}}</span> -->
- <span :class="singDetails.hcrate > 0 ? 'price green' : 'price red'">{{ singDetails.nowPrice }}</span>
+ <span
+ :class="singDetails.hcrate > 0 ? 'price green' : 'price red'"
+ >{{ singDetails.nowPrice }}</span
+ >
</div>
<div class="bottom_now">
<div>
@@ -99,14 +104,19 @@
<span v-else>
{{
(singDetails.nowPrice - singDetails.preclose_px).toFixed(2)
- }}</span>
+ }}</span
+ >
</div>
- <div class="tew" :class="singDetails.hcrate > 0 ? 'number green' : 'number red'">
+ <div
+ class="tew"
+ :class="singDetails.hcrate > 0 ? 'number green' : 'number red'"
+ >
<span v-if="singDetails.nowPrice === 0">-</span>
<!-- <span v-else>({{ singDetails.nowPrice - singDetails.preclose_px > 0 ? '+' : '' }}
{{ singDetails.hcrate ? singDetails.hcrate : '0' }}%)</span> -->
<span v-else>
- ({{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span>
+ ({{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span
+ >
</div>
</div>
</div>
@@ -117,16 +127,24 @@
<!-- <span :class="singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{
singDetails.open_px
}}</span> -->
- <span :class="singDetails.hcrate > 0 ? 'number green' : 'number red'
- ">{{ singDetails.open_px }}</span>
+ <span
+ :class="
+ singDetails.hcrate > 0 ? 'number green' : 'number red'
+ "
+ >{{ singDetails.open_px }}</span
+ >
</div>
<div class="rights topes">
<span class="titles">{{ $t("hj73") }}</span>
<!-- <span :class="singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{
singDetails.today_max
}}</span> -->
- <span :class="singDetails.hcrate > 0 ? 'number green' : 'number red'
- ">{{ singDetails.today_max }}</span>
+ <span
+ :class="
+ singDetails.hcrate > 0 ? 'number green' : 'number red'
+ "
+ >{{ singDetails.today_max }}</span
+ >
</div>
</div>
<div class="bottoms">
@@ -135,16 +153,24 @@
<!-- <span :class="singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{
singDetails.preclose_px
}}</span> -->
- <span :class="singDetails.hcrate > 0 ? 'number green' : 'number red'
- ">{{ singDetails.preclose_px }}</span>
+ <span
+ :class="
+ singDetails.hcrate > 0 ? 'number green' : 'number red'
+ "
+ >{{ singDetails.preclose_px }}</span
+ >
</div>
<div class="rights bots">
<span class="titles">{{ $t("hj75") }}</span>
<!-- <span :class="singDetails.preclose_px < 0 ? 'number green' : 'number red'">{{
singDetails.today_min
}}</span> -->
- <span :class="singDetails.hcrate > 0 ? 'number green' : 'number red'
- ">{{ singDetails.today_min }}</span>
+ <span
+ :class="
+ singDetails.hcrate > 0 ? 'number green' : 'number red'
+ "
+ >{{ singDetails.today_min }}</span
+ >
</div>
</div>
</div>
@@ -153,12 +179,16 @@
<div class="k_line_detail">
<Kline :key="key" :type="singDetails.type" />
</div>
- <div class="priect_top_bottom" style="display: none" v-if="
- kLineDetails.if_us != 1 &&
- kLineDetails.type != 'hk' &&
- kLineDetails.type != 'hk' &&
- kLineDetails.if_zhishu == 0
- ">
+ <div
+ class="priect_top_bottom"
+ style="display: none"
+ v-if="
+ kLineDetails.if_us != 1 &&
+ kLineDetails.type != 'hk' &&
+ kLineDetails.type != 'hk' &&
+ kLineDetails.if_zhishu == 0
+ "
+ >
<div class="t_title">
<span>{{ $t("hj76") }}</span>
</div>
@@ -264,7 +294,11 @@
<div class="t_ma">
<span>{{ $t("hj80") }}</span>
</div>
- <div class="ets" v-for="(item, i) in timedata.data.details" :key="i">
+ <div
+ class="ets"
+ v-for="(item, i) in timedata.data.details"
+ :key="i"
+ >
<div class="left_sell1">
<span>{{ item.split(",")[0] }}</span>
</div>
@@ -277,7 +311,11 @@
<div class="t_ma">
<span>{{ $t("hj81") }}</span>
</div>
- <div class="ets" v-for="(item, i) in timedata.data.details" :key="i">
+ <div
+ class="ets"
+ v-for="(item, i) in timedata.data.details"
+ :key="i"
+ >
<div class="left_sell1">
<span>{{ item.split(",")[1] }}</span>
</div>
@@ -290,7 +328,11 @@
<div class="t_ma">
<span>{{ $t("hj82") }}</span>
</div>
- <div class="ets" v-for="(item, i) in timedata.data.details" :key="i">
+ <div
+ class="ets"
+ v-for="(item, i) in timedata.data.details"
+ :key="i"
+ >
<div class="left_sell1">
<span>{{ item.split(",")[2] }}</span>
</div>
@@ -384,7 +426,11 @@
<div class="btns">
<div class="lefts">
<div class="left_ca" @click="option()">
- <img src="../../assets/img/meishoucang.png" alt v-if="isOptionOpt === false" />
+ <img
+ src="../../assets/img/meishoucang.png"
+ alt
+ v-if="isOptionOpt === false"
+ />
<img src="../../assets/img/shoucangle.png" alt v-else />
</div>
<!-- <div class="right_xx" @click="handleJj()">
@@ -448,6 +494,7 @@
if (query.if_us === "1") {
this.getSingDetailUs();
} else {
+ this.getSingDetails();
this.timer = setInterval(() => {
this.getSingDetails();
}, 5000);
@@ -803,7 +850,7 @@
height: calc(100% - 1.7rem);
overflow: auto;
- >.content {
+ > .content {
width: 100%;
height: 100%;
position: relative;
@@ -825,10 +872,10 @@
// background: #fff;
.detail_title_a {
- font-size: .45rem;
+ font-size: 0.45rem;
font-weight: 500;
- margin-top: .2rem;
- line-height: .45rem;
+ margin-top: 0.2rem;
+ line-height: 0.45rem;
}
.i_icon {
@@ -853,7 +900,7 @@
align-items: center;
margin-right: 10vw;
- >img {
+ > img {
// margin-top: 0.2rem;
width: 0.6rem;
height: 0.6rem;
@@ -941,13 +988,13 @@
max-width: 70%;
height: 100%;
- >div {
+ > div {
width: 100%;
padding: 0.15rem 0;
display: flex;
align-items: center;
- >div {
+ > div {
// width: 50%;
height: 100%;
display: flex;
@@ -1014,7 +1061,7 @@
justify-content: space-between;
margin-top: 0.6rem;
- >div {
+ > div {
width: 49%;
height: 100%;
}
@@ -1035,7 +1082,7 @@
display: flex;
margin-top: 0.08rem;
- >div {
+ > div {
width: 50%;
height: 100%;
display: flex;
@@ -1118,9 +1165,9 @@
height: 70%;
display: flex;
align-items: center;
- padding-left: .3rem;
+ padding-left: 0.3rem;
- >div {
+ > div {
width: 50%;
height: 100%;
display: flex;
@@ -1140,9 +1187,9 @@
display: flex;
align-items: center;
justify-content: center;
- padding-right: .2rem;
+ padding-right: 0.2rem;
- >div {
+ > div {
border-radius: 0.15rem;
}
diff --git a/src/page/kline/kIndex.vue b/src/page/kline/kIndex.vue
index ff1c6cd..6ad23ec 100644
--- a/src/page/kline/kIndex.vue
+++ b/src/page/kline/kIndex.vue
@@ -5,7 +5,7 @@
<div class="ti_cont">
<div class="top_back">
<div class="left_back" @click="handleBackaa()">
- <img src="../../assets/img/zuojiantou.png" alt />
+ <img src="../../assets/img/backs.png" alt />
</div>
<div class="right_title">
<div class="t_t" style="white-space: nowrap">
@@ -256,11 +256,11 @@
</div>
</div>
</div>
- <div class="recommendation">
+ <!-- <div class="recommendation">
<div class="division"></div>
<div class="recommendation_title">{{ $t("相关股票") }}</div>
<stock-list :propOption="propOption"></stock-list>
- </div>
+ </div> -->
</div>
</template>
@@ -306,6 +306,7 @@
if (query.if_us === "1") {
this.getSingDetailUs();
} else {
+ this.getSingDetails();
this.timer = setInterval(() => {
this.getSingDetails();
}, 2000);
@@ -313,7 +314,7 @@
this.getOpation();
// this.$Lazyload();
this.getUserInfo();
- this.getNohknews();
+ // this.getNohknews();
},
beforeDestroy() {
this.clearInterval(this.timer); // 在组件销毁前清除定时器
@@ -696,7 +697,7 @@
width: 100%;
// height: 3.2rem;
padding: 0 0.3rem;
- background: #fff;
+ // background: #fff;
.top_back {
width: 50%;
diff --git a/src/page/markets/markets.vue b/src/page/markets/markets.vue
index 8f87a9e..a36afad 100644
--- a/src/page/markets/markets.vue
+++ b/src/page/markets/markets.vue
@@ -1,15 +1,6 @@
<template>
<div class="markets">
- <tab-head :title="$t('hj62')"></tab-head>
-
- <div class="tui-search">
- <van-field
- v-model="keyValue"
- :placeholder="$t('hj37')"
- right-icon="search"
- @click-right-icon="search"
- />
- </div>
+ <tab-head :title="$t('hj224')"></tab-head>
<div class="tui-tabs flex-start">
<div class="tab_item flex-center">
@@ -18,7 +9,7 @@
</div>
<div class="flex-between navs">
- <div class="nav_item" v-for="item in usDataStockBeans" :key="item.id">
+ <div class="nav_item" v-for="item in sList" :key="item.id">
<index-component :ids="'a' + item.id" :dataObj="item"></index-component>
</div>
</div>
@@ -43,13 +34,15 @@
</div>
</div>
- <stock-list :propOption="propOption" ref="stockList"></stock-list>
+ <new-list></new-list>
+
</div>
</template>
<script>
+import newList from "@/page/home/newList.vue";
+import indexComponent from "@/components/index-component.vue";
import tabHead from "@/components/tabHead.vue";
-import stockList from "@/components/stock-list.vue";
import * as api from "@/axios/api";
export default {
name: "markets",
@@ -58,7 +51,6 @@
pageNum: 1,
pageSize: 10,
kData: {},
- keyValue: "", // 搜索
tabs: [
{
name: this.$t("订单"),
@@ -76,47 +68,39 @@
img: require("@/assets/img/market_3.png")
}
],
- usDataStockBeans: []
+ sList: []
};
},
components: {
tabHead,
- stockList
+ indexComponent,
+ newList
},
watch: {},
- computed: {
- // 传递给列表组件的类型值
- propOption() {
- return { stockType: "US", keyWords: this.keyValue };
- }
+ created() {
+ this.getZs();
},
- async created() {},
mounted() {},
methods: {
- // 搜索
- search() {
- this.$refs.stockList.init();
+ // 获取三张指数图
+ async getZs() {
+ let data = await api.getIndexData();
+ if (data.status == 0) {
+ this.sList = data.data;
+ }
}
}
};
</script>
<style lang="less" scoped>
-/deep/ .van-cell {
- background-color: rgba(#000, 0);
- border: rgba(#fff, 0.5) 2px solid;
- border-radius: 5em;
-}
-/deep/ .van-icon {
- font-size: 1.6em;
-}
.markets {
font-size: 10vw;
width: 100vw;
min-height: 100vh;
padding-bottom: 1.5rem;
.navs {
- padding: 0 0.25em 0 0.25em;
+ padding: 0.25em 0.25em 0 0.25em;
.nav_item {
width: 2.833em;
@@ -172,9 +156,6 @@
font-size: 0.4em;
}
}
- }
- .tui-search {
- padding: 0.225em;
}
}
</style>
diff --git a/src/page/markets/marketsList.vue b/src/page/markets/marketsList.vue
new file mode 100644
index 0000000..820bbd4
--- /dev/null
+++ b/src/page/markets/marketsList.vue
@@ -0,0 +1,64 @@
+<template>
+ <div class="market_list">
+ <tab-head :title="$t('hj62')"></tab-head>
+
+ <div class="tui-search">
+ <van-field
+ v-model="keyValue"
+ :placeholder="$t('hj37')"
+ right-icon="search"
+ @click-right-icon="search"
+ />
+ </div>
+ <stock-list :propOption="propOption" ref="stockList"></stock-list>
+ </div>
+</template>
+
+<script>
+import tabHead from "@/components/tabHead.vue";
+import stockList from "@/components/stock-list.vue";
+export default {
+ data() {
+ return {
+ keyValue: "" // 搜索
+ };
+ },
+ components: {
+ stockList,
+ tabHead
+ },
+ computed: {
+ // 传递给列表组件的类型值
+ propOption() {
+ return { stockType: "US", keyWords: this.keyValue };
+ }
+ },
+ methods: {
+ // 搜索
+ search() {
+ this.$refs.stockList.init();
+ }
+ }
+};
+</script>
+
+<style lang="less" scoped>
+/deep/ .van-cell {
+ background-color: rgba(#000, 0);
+ border: rgba(#fff, 0.5) 2px solid;
+ border-radius: 5em;
+}
+/deep/ .van-icon {
+ font-size: 1.6em;
+}
+.market_list {
+ font-size: 10vw;
+ width: 100vw;
+ min-height: 100vh;
+ padding-bottom: 1.5rem;
+
+ .tui-search {
+ padding: 0.225em;
+ }
+}
+</style>
diff --git a/src/page/user/account.vue b/src/page/user/account.vue
index eb2f29a..cac7b5f 100644
--- a/src/page/user/account.vue
+++ b/src/page/user/account.vue
@@ -28,12 +28,12 @@
</div>
</div>
</div>
- <div class="all-assets flex-between">
+ <div class="all-assets flex-center">
<div class="assets-item flex-center">
<div class="all-size">{{ $t("hj48") }}</div>
<div class="big-size">{{ moneyData.availableBalance }}</div>
</div>
- <div class="assets-item flex-center">
+ <div class="assets-item flex-center" style="align-items: end;">
<div class="all-size">{{ $t("账户盈亏") }}</div>
<div class="big-size">{{ moneyData.cumulativeProfitAndLoss }}</div>
</div>
@@ -185,9 +185,11 @@
padding: 0.225rem 0 0.35rem;
justify-content: space-evenly;
.assets-item {
- width: 33.33%;
+ width: 50%;
flex-shrink: 0;
flex-direction: column;
+ align-items: start;
+ padding: 0 0.3rem;
.big-size {
font-size: 0.4rem;
color: #fff;
diff --git a/src/page/user/myOrder.vue b/src/page/user/myOrder.vue
index c767cee..77e1e28 100644
--- a/src/page/user/myOrder.vue
+++ b/src/page/user/myOrder.vue
@@ -1,5 +1,6 @@
<template>
<div class="my_order">
+ <tab-head :title="$t('订单')"></tab-head>
<van-tabs v-model="active" title-inactive-color="#898a8e">
<van-tab
:title="$t('hj2')"
@@ -197,8 +198,12 @@
</template>
<script>
+import tabHead from "@/components/tabHead.vue";
import * as api from "@/axios/api";
export default {
+ components: {
+ tabHead
+ },
data() {
return {
active: "0",
@@ -249,27 +254,21 @@
this.actIndex = index;
},
goBuy(i, index) {
- console.log("ddddd", i);
- return;
+ // console.log("ddddd", i);
+ // return;
this.$router.push({
path: "/TradingBuy",
query: {
t: index,
code: i.stockCode,
m: i.now_price,
- // type: i.if_zhishu,
id: i.stockId,
name: i.stockName,
spell: i.stockSpell,
- // if_us: i.if_us,
bayType: i.stockGid,
gid: i.stockGidJb
}
});
- if (navigator.vibrate) {
- // 支持
- navigator.vibrate([55]);
- }
},
// 平仓跳转详情
toDetails(i) {
diff --git a/src/router/index.js b/src/router/index.js
index 22d8071..9e96b6d 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -98,17 +98,17 @@
},
// #region 7.2 新增路由-------------------------------------
// 新首页
- {
- path: "/home_index",
- name: "home_index",
- meta: {
- title: i18n.t("hj224"),
- requireAuth: false,
- index: 0
- },
- component: () => import("@/page/home/homeIndex.vue")
- },
- // 市场
+ // {
+ // path: "/home_index",
+ // name: "home_index",
+ // meta: {
+ // title: i18n.t("hj224"),
+ // requireAuth: false,
+ // index: 0
+ // },
+ // component: () => import("@/page/home/homeIndex.vue")
+ // },
+ // 首页
{
path: "/markets",
name: "markets",
@@ -118,6 +118,17 @@
index: 0
},
component: () => import("@/page/markets/markets.vue")
+ },
+ // 股票列表页
+ {
+ path: "/markets-list",
+ name: "markets-list",
+ meta: {
+ title: i18n.t("hj62"),
+ requireAuth: true,
+ index: 0
+ },
+ component: () => import("@/page/markets/marketsList.vue")
},
{
path: "/transferNew",
@@ -349,8 +360,8 @@
meta: {
title: i18n.t("订单"),
requireAuth: false,
- hasHeader: true,
- show: true,
+ // hasHeader: true,
+ // show: true,
index: 1
},
component: () => import("@/page/user/myOrder.vue")
--
Gitblit v1.9.3