From 93f9b248dd0eecbaa77006e5146c58c831d89d8e Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Mon, 07 Jul 2025 17:12:16 +0800
Subject: [PATCH] style

---
 src/views/cryptos/PerpetualContract/index.vue |   73 ++++++++++++++++++++++++------------
 1 files changed, 49 insertions(+), 24 deletions(-)

diff --git a/src/views/cryptos/PerpetualContract/index.vue b/src/views/cryptos/PerpetualContract/index.vue
index 49a97b6..c70bf4f 100644
--- a/src/views/cryptos/PerpetualContract/index.vue
+++ b/src/views/cryptos/PerpetualContract/index.vue
@@ -84,11 +84,12 @@
           </div>
         </section>
         <div class="mainBackground rounded-view" key="x">
-          <PerpetualOpen class="pl-30 pr-30" :key="keyIndex + 'a'" :selectIndex="selectIndex" :symbol="symbol"
+          <!-- 永续合约 -->
+          <!-- <PerpetualOpen class="pl-30 pr-30" :key="keyIndex + 'a'" :selectIndex="selectIndex" :symbol="symbol"
             :green-data="bids" :red-data="asks" :price="price" :init-open="initOpen" :init-close="initClose"
             :init-futrue="initFutrue" :currentType="currentType" @changeValueBack="changeValueBack"
             @changeCurrentType="changeCurrentType" @ordered="onOrdered">
-          </PerpetualOpen>
+          </PerpetualOpen> -->
           <div class="line"></div>
           <!-- 委托/持仓-->
           <PerpetualOrder class="pl-30 pr-30" :key="keyIndex + 'b'" :symbol="symbol" :order-cur="orderCur"
@@ -171,7 +172,7 @@
           </div>
         </section>
         <div class="mainBackground rounded-view" key="y">
-          <PerpetualOpen class="pl-30 pr-30" :key="keyIndex + 'c'" :selectIndex="selectIndex" :symbol="symbol"
+          <PerpetualOpen class="pl-30 pr-30" :key="symbol" :selectIndex="selectIndex" :symbol="symbol"
             :green-data="bids" :red-data="asks" :price="price" :init-open="initOpen" :init-close="initClose"
             :init-futrue="initFutrue" @ordered="onOrdered" @changeValueBack="changeValueBack">
           </PerpetualOpen>
@@ -187,8 +188,8 @@
     </div>
     <div class="fixed-box">
       <div class="flex justify-between items-center px-30 py-20" @click.stop="handleClickShowKlineChart()">
-        <span class="font-30  textColor2">{{ symbol.toUpperCase() }}&nbsp;&nbsp;{{ $t('k线图表') }}</span>
-        <van-icon class="textColor font-20" :name="showCharts ? 'arrow-down' : 'arrow-up'"></van-icon>
+        <span class="font-30  textColor2" style="color:#fff;">{{ symbol.toUpperCase() }}&nbsp;&nbsp;{{ $t('k线图表') }}</span>
+        <van-icon class="font-30" style="color:#fff;" :name="showCharts ? 'arrow-down' : 'arrow-up'"></van-icon>
       </div>
       <!-- <section class="indicator-index-container" v-if="showKlineChart">
         <div class="indicator-index-box">
@@ -227,7 +228,7 @@
 import PerpetualOpen from '@/components/Transform/perpetual-open/index.vue'
 import PerpetualOrder from '@/components/Transform/perpetual-order/index.vue'
 
-import { _getDeepData, _initOpen, _initClose, _futrueOrderInit, _contractApplyOrderList, contractOrder, _futrueOrderList } from "@/service/trade.api";
+import { _getDeepData, _initOpen, _initClose, _futrueOrderInit, _contractApplyOrderList, contractOrder, _futrueOrderList, _getKline } from "@/service/trade.api";
 import { _getBalance } from '@/service/user.api'
 import { _getHomeList } from '@/service/home.api'
 import { Popup, Swipe, SwipeItem } from 'vant';
@@ -259,6 +260,15 @@
     }),
   },
   watch: {
+  //   '$route.params.symbol': {
+  //   immediate: true,
+  //   handler(newVal) {
+  //     if (newVal) {
+  //       this.symbol = newVal
+  //       this.onUpdate(newVal) // 重新初始化数据
+  //     }
+  //   }
+  // },
     selectIndex(val) {
       showLength = 7
     },
@@ -358,12 +368,16 @@
       // this.balance = money
     })
   },
+
   methods: {
     ...mapActions('home', [SET_COIN_LIST]),
     onUpdate(symbol) { // 更新
+      debugger
       this.currentType = 'long'
-      this.symbol = symbol
       this.closeSocket()
+      // this.clearTimer()
+
+      this.symbol = symbol
       this.init(symbol)
     },
     changeCurrentType(type) {
@@ -449,20 +463,18 @@
       this.clearTimer()
       // this.clearTimeout()
       this.initParam(this.symbol, evt) // 重新初始化
-      // TODO: 这里要做判断
-      if (this.selectIndex / 1 === 1) {
-        this[this.curTab](this.symbol) // 重新调取记录
-        console.log('this.curTab', this.curTab)
-      } else { // 交割合约
-        this[this.curTab](this.symbol)
-        // this.show = true
-        console.log('curTab', evt, this.curTab)
-
+        // 判断方法是否存在
+      const fn = this[this.curTab];
+      if (typeof fn === 'function') {
+        fn.call(this, this.symbol);
+        console.log('[onOrdered] 调用方法:', this.curTab, '参数:', this.symbol, '事件:', evt);
+      } else {
+        console.warn(`[onOrdered] curTab 方法不存在: ${this.curTab}`);
       }
       //console.log('下单后更新数据')
     },
     onTab(evt) { // 点击tab后的回调
-      console.log('evt', evt)
+      console.log('evt2', evt)
       this.clearTimer()
       // this.clearTimeout()
       this.curTab = evt
@@ -548,16 +560,25 @@
       if (type === 'open' || type === 'long' || type === 'short' || !type) {
         let initFunTimer = null;
         let initFun = () => {
-          _initOpen({ symbol: symbol }).then(data => {
-            console.log(data, '22222222')
+          _getKline(symbol, '1min').then(data => {
             this.initOpen = data
             clearTimeout(initFunTimer)
             initFunTimer = null
-          }).catch(err => {
+           }).catch(err => {
             initFunTimer = setTimeout(() => {
               initFun()
             }, 3000);
           })
+          // _initOpen({ symbol: symbol }).then(data => {
+          //   console.log(data, '22222222')
+          //   this.initOpen = data
+          //   clearTimeout(initFunTimer)
+          //   initFunTimer = null
+          // }).catch(err => {
+          //   initFunTimer = setTimeout(() => {
+          //     initFun()
+          //   }, 3000);
+          // })
         }
         initFun()
       }
@@ -617,7 +638,7 @@
         symbol: symbol,
         type: 'orders',
         page_no: 1,
-        symbolType: 'cryptos'
+        // symbolType: 'cryptos'
       }
       if (this.userInfo.token) {
         contractOrder(obj).then(data => {
@@ -638,12 +659,12 @@
     },
     fetchFutrueHoldList(symbol) { // 交割持仓
       if (this.userInfo.token) {
-        _futrueOrderList(symbol, 'orders', 1, 'cryptos').then(data => {
+        _futrueOrderList(symbol, 'orders', 1).then(data => {
           // this.futrueHold = data
           this.futrueHold = data.sort(this.sortData);
         })
         this.timer = setInterval(() => {
-          _futrueOrderList(symbol, 'orders', 1, 'cryptos').then(data => {
+          _futrueOrderList(symbol, 'orders', 1).then(data => {
             // if (typeof this.timer === 'string') {
             //   this.timer = null
             //   return
@@ -655,12 +676,16 @@
       }
     },
     fetchFutrueHistory(symbol) { // 交割历史持仓
-      _futrueOrderList(symbol, 'hisorders', 1, 'cryptos').then(data => {
+      _futrueOrderList(symbol, 'hisorders', 1 ).then(data => {
         this.futrueHistroy = data
         // this.clearTimeout()
       })
     },
     init(symbol) { // 初始化页面
+      // 在清理一遍
+      this.closeSocket()
+      this.clearTimer()
+
       this.symbol = symbol
       this.fetchQoutes(symbol)
       this.fetchDeepData(symbol)

--
Gitblit v1.9.3