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