From c264438b92a9ded3aa0796ab6968c70195ecac01 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Sun, 28 Sep 2025 15:09:58 +0800
Subject: [PATCH] 1

---
 src/page/trading/TradeNew.vue |   26 ++++++++++++++++++++++++--
 1 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/src/page/trading/TradeNew.vue b/src/page/trading/TradeNew.vue
index 76a7fba..3c6b5ce 100644
--- a/src/page/trading/TradeNew.vue
+++ b/src/page/trading/TradeNew.vue
@@ -1,6 +1,12 @@
 <template>
   <div class="trade_new">
-    <tab-head></tab-head>
+    <tab-head>
+      <van-popover v-model="showPopover" trigger="click" :actions="actions" @select="onSelect" slot="left">
+        <template #reference>
+          <van-button type="primary">{{ $t("一键平仓") }}</van-button>
+        </template>
+      </van-popover>
+    </tab-head>
 
     <div class="order_tabs">
       <van-tabs v-model="active" swipe-threshold="1">
@@ -84,6 +90,7 @@
 import tabHead from "@/components/tabHead.vue";
 import * as api from "@/axios/api";
 import nPagination from "@/components/nPagination.vue";
+import { Notify } from "vant";
 
 export default {
   components: {
@@ -102,7 +109,9 @@
         2: "IPO",
         3: this.$t("hj621"),
         4: "AI"
-      }
+      },
+      actions: [{ text: '确定', key: '1' }, { text: '取消', key: '2' }],
+      showPopover: false,
     };
   },
   watch: {
@@ -158,6 +167,19 @@
       times = setInterval(() => {
         this.getList();
       }, 3000);
+    },
+    // 一键平仓确认弹框
+    onSelect(action) {
+      if (action.key == 1) this.oneClose();
+    },
+    // 一键平仓
+    async oneClose() {
+      const res = await api.allsell();
+      if (res.status === 0) {
+        Notify({ type: "success", message: res.msg });
+      } else {
+        Notify({ type: "danger", message: res.msg });
+      }
     }
   }
 };

--
Gitblit v1.9.3