From 7043590a8a1d24a4c86472051c103a8e4dc2ddb4 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Sat, 09 Aug 2025 17:34:01 +0800
Subject: [PATCH] 1
---
src/page/kline/index.vue | 271 ++++++++++++++++++++++++++----------------------------
1 files changed, 131 insertions(+), 140 deletions(-)
diff --git a/src/page/kline/index.vue b/src/page/kline/index.vue
index f19d881..dbeb3d8 100644
--- a/src/page/kline/index.vue
+++ b/src/page/kline/index.vue
@@ -8,12 +8,15 @@
<img src="../../assets/img/zuojiantou.png" alt />
</div>
<div class="right_title">
- <div class="t_t" style="white-space: nowrap">
- <span>{{ singDetails.spell }}</span>
+ <div class="t_t line-one" style="white-space: nowrap">
+ <span>{{ singDetails.name }}</span>
+ </div>
+ <!-- <div class="t_t" style="white-space: nowrap">
+ <span>{{ singDetails.name }}({{ singDetails.gid }})</span>
</div>
<div class="b_t">
- <span>{{ singDetails.code }}</span>
- </div>
+ <span>{{ singDetails.spell }}</span>
+ </div> -->
</div>
</div>
<!-- 隐藏右侧金额显示 -->
@@ -44,7 +47,7 @@
(
Number($store.state.userInfo.userIndexAmt) / 0.9
).toFixed(2)
- : "₹" + $store.state.userInfo.userIndexAmt
+ : "" + $store.state.userInfo.userIndexAmt
}}
</span>
<span
@@ -55,7 +58,7 @@
style="white-space: nowarp"
>
{{
- "₹ " +
+ " " +
parseFloat(
$store.state.userInfo.enableAmt.toFixed(2)
).toLocaleString()
@@ -63,7 +66,7 @@
</span>
</div>
<div class="sanjiao">
-
+
</div>
</div>
<div class="bottom_balance">
@@ -74,16 +77,18 @@
</div>
</div> -->
</div>
+ <div class="flex-start" style="font-size: .4rem;">
+ <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="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>
@@ -93,23 +98,15 @@
}}{{ (singDetails.nowPrice - singDetails.preclose_px).toFixed(2) }}</span> -->
<span v-else>
{{
- (singDetails.nowPrice - singDetails.preclose_px).toFixed(
- 2
- ) || 0
- }}</span
- >
+ (singDetails.nowPrice - singDetails.preclose_px).toFixed(2)
+ }}</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 > 0 ? "+" : "" }}
- {{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span
- >
+ <span v-else>
+ ({{ singDetails.hcrate ? singDetails.hcrate : "0" }}%)</span>
</div>
</div>
</div>
@@ -120,24 +117,16 @@
<!-- <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">
@@ -146,42 +135,30 @@
<!-- <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>
</div>
</div>
<div class="k_line_detail">
- <Kline :type="singDetails.type" />
+ <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>
@@ -287,11 +264,7 @@
<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>
@@ -304,11 +277,7 @@
<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>
@@ -321,11 +290,7 @@
<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>
@@ -336,7 +301,7 @@
</div>
</div>
</div>
- <div
+ <!-- <div
class="jianjie"
v-if="
!(kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1)
@@ -351,8 +316,8 @@
<div class="jet">
<span>{{ jianjie }}</span>
</div>
- </div>
- <div
+ </div> -->
+ <!-- <div
class="hknews"
v-if="
kLineDetails.if_zhishu != '0' && singDetails.gid.indexOf('hk') > -1
@@ -385,8 +350,8 @@
</mt-tab-container-item>
</mt-tab-container>
</div>
- </div>
- <div class="hknews" v-else>
+ </div> -->
+ <!-- <div class="hknews" v-else>
<div class="news-tab">
<div class="t_title">
<span>{{ $t("hj6") }}</span>
@@ -413,39 +378,35 @@
</mt-tab-container-item>
</mt-tab-container>
</div>
- </div>
+ </div> -->
<!-- <div class="border_bottom"></div> -->
</div>
<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()">
- <a href="#"><img src="../../assets/img/xiaoxi.png" alt /></a>
- </div>
+ <!-- <div class="right_xx" @click="handleJj()">
+ <a href="#"><img src="../../assets/img/xiaoxi.png" alt/></a>
+ </div> -->
</div>
<div class="rights">
<div class="buy_btn">
<div class="top_buy" @click="goBuy(0)">
<span>{{ $t("hj84") }}</span>
</div>
- <div class="bottom_buy">
+ <!-- <div class="bottom_buy">
<span>{{ singDetails.nowPrice }}</span>
- </div>
+ </div> -->
</div>
<div class="sell_btn" @click="goBuy(1)">
<div class="top_sell">
<span>{{ $t("hj85") }}</span>
</div>
- <div class="bottom_sell">
+ <!-- <div class="bottom_sell">
<span>{{ singDetails.nowPrice }}</span>
- </div>
+ </div> -->
</div>
</div>
</div>
@@ -474,10 +435,11 @@
newsdetailList: [],
bayType: "",
timer: null,
+ key: 0
};
},
components: {
- Kline,
+ Kline
},
created() {
@@ -488,10 +450,9 @@
} else {
this.timer = setInterval(() => {
this.getSingDetails();
- }, 500);
+ }, 5000);
}
this.getOpation();
- // this.$Lazyload();
this.getUserInfo();
this.getNohknews();
},
@@ -504,7 +465,7 @@
// },
methods: {
async getHknews() {
- await api.queryIndexNews().then((res) => {
+ await api.queryIndexNews().then(res => {
if (res.status === 0) {
this.newsdetailList = res.data.data;
}
@@ -526,13 +487,13 @@
this.optionBtn = false;
this.$message({
message: this.$t("hj97"),
- type: "success",
+ type: "success"
});
} else {
this.optionBtn = false;
this.$message({
message: data.msg,
- type: "warning",
+ type: "warning"
});
}
} else {
@@ -542,12 +503,12 @@
this.optionBtn = false;
this.$message({
message: this.$t("hj96"),
- type: "success",
+ type: "success"
});
} else {
this.$message({
message: data.msg,
- type: "warning",
+ type: "warning"
});
this.optionBtn = false;
}
@@ -571,7 +532,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) {
@@ -584,9 +545,9 @@
async getSingDetails() {
let opts = {
code: this.kLineDetails.code,
- stockType: this.kLineDetails.type,
+ stockType: this.kLineDetails.type
};
- await api.getSingleStock(opts).then((res) => {
+ await api.getSingleStock(opts).then(res => {
if (res.status === 0) {
this.singDetails = res.data.stock;
this.bayType = res.data.stock.type;
@@ -598,7 +559,7 @@
}
const obj = {
pid: res.data.stock.code,
- type: res.data.stock.type,
+ type: res.data.stock.type
};
window.localStorage.setItem("kLine", JSON.stringify(obj));
// console.log(this.singDetails)
@@ -616,9 +577,9 @@
async getSingDetailUs() {
let opts = {
code: this.kLineDetails.code,
- stockType: this.kLineDetails.type,
+ stockType: this.kLineDetails.type
};
- await api.getUsDetail(opts).then((res) => {
+ await api.getUsDetail(opts).then(res => {
// console.log(res,1111123);
// var that = this
// if(!res){
@@ -662,8 +623,8 @@
this.$router.push({
path: "/newPage",
query: {
- listid: item.id,
- },
+ listid: item.id
+ }
});
},
goBuy(index) {
@@ -677,15 +638,17 @@
type: this.kLineDetails.if_zhishu,
id: this.singDetails.id,
name: this.kLineDetails.name,
+ spell: this.singDetails.spell,
if_us: this.kLineDetails.if_us,
bayType: this.bayType,
- },
+ gid: this.singDetails.gid
+ }
});
if (navigator.vibrate) {
// 支持
navigator.vibrate([55]);
}
- },
+ }
},
filters: {
getName(spell) {
@@ -747,8 +710,8 @@
.replace(/年|月/g, "-")
.replace(/日/g, " ");
return beijingDatetime; // 2017-03-31 16:02:06
- },
- },
+ }
+ }
};
</script>
@@ -840,7 +803,7 @@
height: calc(100% - 1.7rem);
overflow: auto;
- > .content {
+ >.content {
width: 100%;
height: 100%;
position: relative;
@@ -861,8 +824,24 @@
padding: 0 0.3rem;
background: #fff;
+ .detail_title_a {
+ font-size: .45rem;
+ font-weight: 500;
+ margin-top: .2rem;
+ line-height: .45rem;
+ }
+
+ .i_icon {
+ border-radius: 0 26em 26em 0;
+ background: #07c160;
+ color: #fff;
+ padding: 0.1em 0.5em 0.1em 0.4em;
+ margin-right: 0.3em;
+ font-size: 0.8em;
+ }
+
.top_back {
- width: 50%;
+ width: 90%;
height: 1.2rem;
display: flex;
align-items: center;
@@ -872,22 +851,26 @@
height: 80%;
display: flex;
align-items: center;
+ margin-right: 10vw;
- > img {
- margin-top: 0.2rem;
+ >img {
+ // margin-top: 0.2rem;
width: 0.6rem;
height: 0.6rem;
}
}
.right_title {
- width: 3rem;
- height: 80%;
+ width: 70%;
+ // height: 80%;
+ display: flex;
+ align-items: center;
+ justify-content: center;
.t_t {
width: 100%;
- height: 70%;
- display: flex;
+ height: 100%;
+ line-height: 1.2rem;
align-items: center;
font-size: 0.4615rem;
@@ -910,7 +893,7 @@
.k_line_detail {
width: 100%;
- height: 8.3rem;
+ height: 100vw;
background: #fff;
border-radius: 0 0 0.3rem 0.3rem;
}
@@ -931,9 +914,10 @@
.top_now {
width: 100%;
// height: 65%;
- font-size: 0.741rem;
+ font-size: 25px;
display: flex;
align-items: center;
+ font-weight: bold;
span {
font-weight: 500;
@@ -954,22 +938,23 @@
}
.right_ets {
- max-width: 60%;
+ 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;
justify-content: space-between;
align-items: center;
padding: 0 0.1rem;
+
.titles {
padding-right: 0.1rem;
}
@@ -1029,7 +1014,7 @@
justify-content: space-between;
margin-top: 0.6rem;
- > div {
+ >div {
width: 49%;
height: 100%;
}
@@ -1050,7 +1035,7 @@
display: flex;
margin-top: 0.08rem;
- > div {
+ >div {
width: 50%;
height: 100%;
display: flex;
@@ -1133,8 +1118,9 @@
height: 70%;
display: flex;
align-items: center;
+ padding-left: .3rem;
- > div {
+ >div {
width: 50%;
height: 100%;
display: flex;
@@ -1149,28 +1135,31 @@
}
.rights {
- width: 70%;
+ width: 80%;
height: 70%;
display: flex;
align-items: center;
- justify-content: space-around;
+ justify-content: center;
+ padding-right: .2rem;
- > div {
+ >div {
border-radius: 0.15rem;
}
.buy_btn {
- width: 45%;
- height: 100%;
+ width: 50%;
+ height: 80%;
background: rgb(225, 59, 69);
color: #fff;
+ border-radius: 3rem 0 0 3rem !important;
.top_buy {
width: 100%;
- height: 45%;
+ height: 100%;
display: flex;
justify-content: center;
- align-items: flex-end;
+ align-items: center;
+ font-size: 0.4rem;
}
.bottom_buy {
@@ -1185,17 +1174,19 @@
}
.sell_btn {
- width: 45%;
- height: 100%;
- background: rgb(68, 155, 84);
+ width: 50%;
+ height: 80%;
+ background: #c4d600;
color: #fff;
+ border-radius: 0 3rem 3rem 0 !important;
.top_sell {
width: 100%;
- height: 45%;
+ height: 100%;
display: flex;
justify-content: center;
- align-items: flex-end;
+ align-items: center;
+ font-size: 0.4rem;
}
.bottom_sell {
--
Gitblit v1.9.3