From 58b0f1e9bd03a472321acf1dfc4e89fc4ce9df7a Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Mon, 29 Sep 2025 01:14:10 +0800
Subject: [PATCH] 9.28更换api

---
 src/page/user/myOrder.vue |  198 ++++++++++++++++++++++++++-----------------------
 1 files changed, 105 insertions(+), 93 deletions(-)

diff --git a/src/page/user/myOrder.vue b/src/page/user/myOrder.vue
index e3bc967..ed248a0 100644
--- a/src/page/user/myOrder.vue
+++ b/src/page/user/myOrder.vue
@@ -10,18 +10,13 @@
               {{ $t("浮動盈虧") }}
               <van-icon name="eye-o" />
             </div>
-            <div
-              class="price"
-              :style="
-                `color:${
-                  moneyData.profitAndLoss > 0
-                    ? 'red'
-                    : moneyData.profitAndLoss < 0
-                    ? 'green'
-                    : ''
-                }`
-              "
-            >
+            <div class="price" :style="`color:${moneyData.profitAndLoss > 0
+              ? 'red'
+              : moneyData.profitAndLoss < 0
+                ? 'green'
+                : ''
+              }`
+              ">
               {{ moneyData.symbol }} {{ moneyData.profitAndLoss }}
             </div>
           </div>
@@ -49,24 +44,15 @@
           </div>
         </div>
         <div class="control flex-between">
-          <div
-            class="control-item flex-center"
-            @click="$router.push('/markets-list')"
-          >
+          <div class="control-item flex-center" @click="$router.push('/markets-list')">
             <img src="@/assets/img/mr.png" />
             <div class="action-item-text">{{ $t("gm") }}</div>
           </div>
-          <div
-            class="control-item flex-center"
-            @click="$router.push('/markets-list')"
-          >
+          <div class="control-item flex-center" @click="$router.push('/markets-list')">
             <img src="@/assets/img/mc.png" />
             <div class="action-item-text">{{ $t("hj78") }}</div>
           </div>
-          <div
-            class="control-item flex-center"
-            @click="$router.push('/Record')"
-          >
+          <div class="control-item flex-center" @click="$router.push('/Record')">
             <img src="@/assets/img/pc.png" />
             <div class="action-item-text">{{ $t("jl") }}</div>
           </div>
@@ -75,25 +61,15 @@
     </div>
 
     <van-tabs v-model="active" title-inactive-color="#898a8e">
-      <van-tab
-        :title="$t('hj2')"
-        name="0"
-        title-style="font-size:0.4rem;"
-      ></van-tab>
-      <van-tab
-        :title="$t('hj121')"
-        name="1"
-        title-style="font-size:0.4rem;"
-      ></van-tab>
+      <van-tab :title="$t('hj2')" name="0" title-style="font-size:0.4rem;"></van-tab>
+      <van-tab :title="$t('hj121')" name="1" title-style="font-size:0.4rem;"></van-tab>
     </van-tabs>
 
     <div class="mo_list" v-if="active == '0'">
-      <div
-        class="mol_item"
-        v-for="(i, index) in list"
-        :key="i.id"
-        @click="open(i, index)"
-      >
+      <div class="mo_all_sell" @click="allsellclick()">
+        <div>{{ $t("gball") }}</div>
+      </div>
+      <div class="mol_item" v-for="(i, index) in list" :key="i.id" @click="open(i, index)">
         <div class="moli_title flex-between">
           <div>
             {{ i.stockSpell }}
@@ -167,9 +143,7 @@
           </div>
 
           <div class="tui-wrapItem" style="width: 22%;">
-            <div
-              style="font-size: 0.28rem;margin-bottom: .25rem;text-align: center;"
-            >
+            <div style="font-size: 0.28rem;margin-bottom: .25rem;text-align: center;">
               {{ $t("持股") }}/{{ $t("可卖") }}
             </div>
             <div style="font-size: .4rem;text-align: center;">
@@ -181,9 +155,7 @@
           </div>
 
           <div class="tui-wrapItem" style="width: 25%;">
-            <div
-              style="font-size: 0.28rem;margin-bottom: .25rem;text-align: end;"
-            >
+            <div style="font-size: 0.28rem;margin-bottom: .25rem;text-align: end;">
               {{ $t("Current") }}/{{ $t("Cost") }}
             </div>
             <div style="font-size: .4rem;text-align: end;">
@@ -195,37 +167,25 @@
           </div>
 
           <div class="tui-wrapItem" style="width: 28%;">
-            <div
-              style="font-size: 0.28rem;margin-bottom: .25rem;text-align: end;"
-            >
+            <div style="font-size: 0.28rem;margin-bottom: .25rem;text-align: end;">
               {{ $t("盈虧") }}/{{ $t("hj141") }}
             </div>
-            <div
-              style="font-size: .4rem;text-align: end;"
-              :style="
-                `color:${
-                  i.profitAndLose < 0
-                    ? 'green'
-                    : i.profitAndLose > 0
-                    ? 'red'
-                    : ''
-                }`
-              "
-            >
+            <div style="font-size: .4rem;text-align: end;" :style="`color:${i.profitAndLose < 0
+              ? 'green'
+              : i.profitAndLose > 0
+                ? 'red'
+                : ''
+              }`
+              ">
               {{ i.profitAndLose }}
             </div>
-            <div
-              style="font-size: .28rem;text-align: end;"
-              :style="
-                `color:${
-                  i.profitAndLose < 0
-                    ? 'green'
-                    : i.profitAndLose > 0
-                    ? 'red'
-                    : ''
-                }`
-              "
-            >
+            <div style="font-size: .28rem;text-align: end;" :style="`color:${i.profitAndLose < 0
+              ? 'green'
+              : i.profitAndLose > 0
+                ? 'red'
+                : ''
+              }`
+              ">
               {{ i.profitAndLoseParent }}
             </div>
           </div>
@@ -253,12 +213,7 @@
     </div>
 
     <div class="mo_list" v-if="active == '1'">
-      <div
-        class="mol_item"
-        v-for="(i, index) in list2"
-        :key="i.id"
-        @click="open(i, index)"
-      >
+      <div class="mol_item" v-for="(i, index) in list2" :key="i.id" @click="open(i, index)">
         <div class="moli_title flex-between">
           <div>
             {{ i.stockSpell }}
@@ -285,18 +240,13 @@
             <div>
               {{ $t("盈虧") }}
             </div>
-            <div
-              style="margin-left: .25rem;font-size: .4rem;"
-              :style="
-                `color:${
-                  i.profitAndLose > 0
-                    ? 'green'
-                    : i.profitAndLose < 0
-                    ? 'red'
-                    : ''
-                }`
-              "
-            >
+            <div style="margin-left: .25rem;font-size: .4rem;" :style="`color:${i.profitAndLose > 0
+              ? 'green'
+              : i.profitAndLose < 0
+                ? 'red'
+                : ''
+              }`
+              ">
               {{ i.profitAndLose }}
             </div>
           </div>
@@ -347,8 +297,11 @@
 </template>
 
 <script>
+let teimss = null; // 轮询获取账户金额计时器
+let teimss2 = null; // 轮询获取持仓数据计时器
 import tabHead from "@/components/tabHead.vue";
 import * as api from "@/axios/api";
+import { Notify } from "vant";
 export default {
   components: {
     tabHead
@@ -371,6 +324,13 @@
       handler(state) {
         this.pageNum = 1;
         this.getList(state);
+
+        clearInterval(teimss2);
+        // 判断如果是获取平仓数据就不再轮询
+        if(state == '1') return
+        teimss2 = setInterval(() => {
+          this.getList(state);
+        }, 3000);
       },
       immediate: true
     }
@@ -383,7 +343,14 @@
     }
   },
   created() {
-    if (!this.Operation) this.getMoney();
+    this.getMoney();
+    teimss = setInterval(() => {
+      this.getMoney();
+    }, 3000);
+  },
+  beforeDestroy() {
+    clearInterval(teimss);
+    clearInterval(teimss2);
   },
   methods: {
     // 获取 持仓 数据
@@ -393,11 +360,21 @@
         pageNum: this.pageNum,
         pageSize: this.pageSize
       };
+      
       let data = await api.getchicang(opt);
-
       if (data.status === 0) {
         if (this.active == "0") this.list = data.data.list;
         else this.list2 = data.data.list;
+      }
+    },
+    // 一键平仓
+    async allsellclick(){
+      let data = await api.allsell();
+      if (data.status === 0) {
+        Notify({ type: "success", message: data.msg });
+        this.getList(state);
+      } else {
+        Notify({ type: "danger", message: data.msg });
       }
     },
     open(i, index) {
@@ -442,40 +419,59 @@
 </script>
 
 <style lang="less" scoped>
+.mo_all_sell{
+  padding: 20px 10px;
+  background: linear-gradient(90deg, #585fb4, #48529e);
+  border-radius: 25px;
+  text-align: center;
+  margin: 15px ;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
 /deep/ .van-tabs__nav {
   background: none;
+
   .van-tab__text--ellipsis {
     overflow: visible;
   }
+
   .van-tab--active {
     color: #ccc !important;
   }
 }
+
 /deep/ .van-tabs__line {
   background-color: rgb(82, 91, 173);
 }
+
 .my_order {
   width: 100%;
   font-size: 0.3rem;
   background-color: rgba(#000, 0.9);
+
   .tui-money {
     margin-top: 0.65rem;
     margin-bottom: 0.3rem;
     width: 100%;
     background: linear-gradient(90deg, #585fb4, #48529e);
     border-radius: 0.175rem;
+
     .control {
       width: 100%;
       padding: 0.2rem 0.3rem;
+
       .control-item {
         width: 33%;
         padding-top: 0.1rem;
         flex-direction: column;
+
         .action-item-text {
           font-size: 0.3rem;
           line-height: 0.3rem;
           color: #aaa;
         }
+
         img {
           width: 0.5rem;
           height: 0.5rem;
@@ -483,30 +479,36 @@
         }
       }
     }
+
     .all-assets {
       width: 100%;
       padding: 0.225rem 0.3rem 0.35rem;
       justify-content: space-evenly;
       border-bottom: #aaa solid 1px;
+
       .assets-item {
         width: 33%;
         flex-shrink: 0;
         flex-direction: column;
+
         .big-size {
           font-size: 0.35rem;
           color: #fff;
           padding-top: 0.15rem;
         }
+
         .all-size {
           font-size: 0.35rem;
           color: #c4c7e4;
         }
       }
     }
+
     .normal {
       padding: 0.375rem 0;
       margin: 0 0.375rem;
       position: relative;
+
       .price {
         font-size: 0.825rem;
         line-height: 0.825rem;
@@ -514,6 +516,7 @@
         padding-top: 0.3rem;
         color: #fff;
       }
+
       .text-xs {
         font-size: 0.45rem;
         color: #c7c9e6;
@@ -521,27 +524,33 @@
       }
     }
   }
+
   .mo_list {
     padding: 0 0.35rem;
+
     .mol_item {
       margin: 0 0 0.3rem;
       background-color: #13161e;
       border-radius: 0.325rem;
       color: #898a8e;
       margin-top: 0.3rem;
+
       .jiaoyi-action {
         width: 100%;
         height: 1.5rem;
         background-color: #191d27;
+
         .action-item {
           width: 33%;
           flex-shrink: 0;
           flex-direction: column;
+
           .action-item-text {
             font-size: 0.3rem;
             line-height: 0.3rem;
             color: #898a8e;
           }
+
           img {
             width: 0.5rem;
             height: 0.5rem;
@@ -549,16 +558,19 @@
           }
         }
       }
+
       .tui-wrapItem {
         padding: 0.175rem 0rem 0;
         color: #898a8e;
         width: 54%;
         line-height: 0.4rem;
       }
+
       .moli_orderTitle {
         padding: 0.3rem 0.3rem 0;
         color: #ccc;
       }
+
       .moli_title {
         padding: 0.3rem;
         border-bottom: 1px solid #494949;

--
Gitblit v1.9.3