From 4f437aec7cfb60fe87daec1c5e52b3ed1d10e719 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Thu, 25 Sep 2025 15:07:51 +0800
Subject: [PATCH] 1

---
 src/page/user/account.vue |  256 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 218 insertions(+), 38 deletions(-)

diff --git a/src/page/user/account.vue b/src/page/user/account.vue
index b140d42..f51411f 100644
--- a/src/page/user/account.vue
+++ b/src/page/user/account.vue
@@ -12,94 +12,208 @@
       </template>
     </tab-head>
 
-    <div class="wallet">
+    <!-- <div class="wallet">
       <div class="wallet_title flex-start">
         <img src="@/assets/img/钱袋.png" alt="" />
         <span>{{ $t("hj244") }}</span>
       </div>
 
-      <div class="wallet_price flex-between">
-        <span>MX$ 16,407,946.28</span>
-        <span>MX$ 3,247,918.14</span>
+      <div class="wallet_record flex-center" @click="toPage('/wallet')">
+        <span>{{ $t("我的钱包") }}</span>
+        <van-icon name="play" size=".5em" />
       </div>
 
-      <div class="wallet_price_name flex-between">
-        <span>{{ $t("hometips") }}</span>
-        <span>{{ $t("hj48") }}</span>
-      </div>
-
-      <div class="wallet_record flex-center">
+      <div class="wallet_record flex-center" @click="toPage('/Record')">
         <span>{{ $t("账户变动记录") }}</span>
         <van-icon name="play" size=".5em" />
       </div>
-    </div>
+    </div> -->
 
     <div class="account_tabs flex-between">
-      <div class="tab flex-center ">
+      <div class="tab flex-center" @click="czts()">
         <img src="@/assets/img/cz.png" alt="" />
         <span>{{ $t("hj172") }}</span>
       </div>
-      <div class="tab flex-center ">
+      <div class="tab flex-center" @click="toPage('/RechargeSure')">
         <img src="@/assets/img/tx.png" alt="" />
         <span>{{ $t("subdka") }}</span>
       </div>
-      <div class="tab flex-center ">
+      <div class="tab flex-center" @click="toPage('/wallet')">
+        <div class="qb_icon flex-center">
+          <img src="@/assets/img/qb.png" alt="" />
+        </div>
+        <span>{{ $t("hj244") }}</span>
+      </div>
+      <div class="tab flex-center" @click="toPage('/rechargelist')">
         <img src="@/assets/img/jl.png" alt="" />
         <span>{{ $t("jl") }}</span>
       </div>
     </div>
 
+    <!-- <div class="account_loan flex-between" @click="toPage('/loan')">
+      <div class="loan_left">
+        <p class="loan_left_title">{{ $t("待还款金额") }}</p>
+        <p>$ {{ userInfo.refundAmount || 0 }}</p>
+      </div>
+      <div class="flex-end loan_right">
+        {{ $t("我的贷款") }}
+        <van-icon name="play" style="margin-left:.5em" />
+      </div>
+    </div> -->
+
     <div class="account_card">
       <div class="held_head flex-between">
-        <div class="flex-center head_left">
+        <div class="flex-center head_left" @click="toPage('/tradeNew')">
           <span>{{ $t("hj2") }}</span>
           <img src="@/assets/img/cc_ss.png" alt="" />
         </div>
-        <div class="flex-center head_right">
-          <span>{{ $t("jl") }}</span>
+        <div class="flex-center head_right" @click="toPage('/stockRecord')">
+          <span>{{ $t("hj121") }}</span>
           <img src="@/assets/img/cc_jl.png" alt="" />
         </div>
       </div>
 
       <div class="held_item flex-between">
         <div class="item_left flex-start">
-          <span class="held_icon">MEX</span>
+          <span class="held_icon">US</span>
           <p>{{ $t("Worth") }}</p>
         </div>
         <div class="item_right flex-end">
-          3,010 MXN
+          {{ positionData.usMarketValue }} USD
         </div>
       </div>
 
       <div class="held_item flex-between">
         <div class="item_left flex-start">
-          <span class="held_icon">MEX</span>
+          <span class="held_icon">US</span>
           <p>{{ $t("持仓收益") }}</p>
         </div>
-        <div class="item_right flex-end" :class="'rise'">
-          <img src="@/assets/img/rise.png" alt="" />
-          2,010 (201%)
+        <div
+          class="item_right flex-end"
+          :class="{
+            descend: positionData.usPositionEarnings < 0,
+            rise: positionData.usPositionEarnings > 0
+          }"
+        >
+          <img
+            src="@/assets/img/rise.png"
+            v-if="positionData.usPositionEarnings > 0"
+          />
+          <img
+            src="@/assets/img/descend.png"
+            alt=""
+            v-else-if="positionData.usPositionEarnings < 0"
+          />
+          {{ positionData.usPositionEarnings }}
+          ({{ positionData.usPositionEarningsParent }})
         </div>
       </div>
 
       <div class="held_item flex-between">
         <div class="item_left flex-start">
-          <span class="held_icon2">US</span>
+          <span class="held_icon2">HK</span>
           <p>{{ $t("Worth") }}</p>
         </div>
         <div class="item_right flex-end">
-          685,059.11 USD
+          {{ positionData.hkMarketValue }} HKD
         </div>
       </div>
 
       <div class="held_item flex-between">
         <div class="item_left flex-start">
-          <span class="held_icon2">US</span>
+          <span class="held_icon2">HK</span>
           <p>{{ $t("持仓收益") }}</p>
         </div>
-        <div class="item_right flex-end" :class="'descend'">
-          <img src="@/assets/img/descend.png" alt="" />
-          191,980.42 (38.94%)
+        <div
+          class="item_right flex-end"
+          :class="{
+            descend: positionData.hkPositionEarnings < 0,
+            rise: positionData.hkPositionEarnings > 0
+          }"
+        >
+          <img
+            src="@/assets/img/rise.png"
+            v-if="positionData.hkPositionEarnings > 0"
+          />
+          <img
+            src="@/assets/img/descend.png"
+            alt=""
+            v-else-if="positionData.hkPositionEarnings < 0"
+          />
+          {{ positionData.hkPositionEarnings }}
+          ({{ positionData.hkPositionEarningsParent }})
+        </div>
+      </div>
+
+      <div class="held_item flex-between">
+        <div class="item_left flex-start">
+          <span class="held_icon2">IN</span>
+          <p>{{ $t("Worth") }}</p>
+        </div>
+        <div class="item_right flex-end">
+          {{ positionData.inMarketValue }} INR
+        </div>
+      </div>
+
+      <div class="held_item flex-between">
+        <div class="item_left flex-start">
+          <span class="held_icon2">IN</span>
+          <p>{{ $t("持仓收益") }}</p>
+        </div>
+        <div
+          class="item_right flex-end"
+          :class="{
+            descend: positionData.inPositionEarnings < 0,
+            rise: positionData.inPositionEarnings > 0
+          }"
+        >
+          <img
+            src="@/assets/img/rise.png"
+            v-if="positionData.inPositionEarnings > 0"
+          />
+          <img
+            src="@/assets/img/descend.png"
+            alt=""
+            v-else-if="positionData.inPositionEarnings < 0"
+          />
+          {{ positionData.inPositionEarnings }}
+          ({{ positionData.inPositionEarningsParent }})
+        </div>
+      </div>
+
+      <div class="held_item flex-between">
+        <div class="item_left flex-start">
+          <span class="held_icon2">TW</span>
+          <p>{{ $t("Worth") }}</p>
+        </div>
+        <div class="item_right flex-end">
+          {{ positionData.twMarketValue }} TWD
+        </div>
+      </div>
+
+      <div class="held_item flex-between">
+        <div class="item_left flex-start">
+          <span class="held_icon2">TW</span>
+          <p>{{ $t("持仓收益") }}</p>
+        </div>
+        <div
+          class="item_right flex-end"
+          :class="{
+            descend: positionData.twPositionEarnings < 0,
+            rise: positionData.twPositionEarnings > 0
+          }"
+        >
+          <img
+            src="@/assets/img/rise.png"
+            v-if="positionData.twPositionEarnings > 0"
+          />
+          <img
+            src="@/assets/img/descend.png"
+            alt=""
+            v-else-if="positionData.twPositionEarnings < 0"
+          />
+          {{ positionData.twPositionEarnings }}
+          ({{ positionData.twPositionEarningsParent }})
         </div>
       </div>
     </div>
@@ -107,6 +221,7 @@
 </template>
 
 <script>
+import { Toast } from "vant";
 import tabHead from "@/components/tabHead.vue";
 import * as api from "@/axios/api";
 export default {
@@ -116,12 +231,28 @@
   },
   data() {
     return {
-      userInfo: {}
+      userInfo: {}, // 用户信息
+      moneyData: [], // 账户金额, 包含可用余额数组
+      positionData: {} // 账户持仓数据
     };
   },
   methods: {
+    // 获取账户金额
+    async getMoney() {
+      let data = await api.getMoney();
+      if (data.status === 0) {
+        this.moneyData = data.data;
+      }
+    },
+    // 获取账户持仓数据
+    async getMyPositionProfitAndLose() {
+      let data = await api.getMyPositionProfitAndLose();
+      if (data.status === 0) {
+        this.positionData = data.data;
+      }
+    },
+    // 获取用户信息
     async getUserInfo() {
-      // 获取用户信息
       let data = await api.getUserInfodata();
       if (data.status === 0) {
         // 判断是否登录
@@ -131,10 +262,21 @@
       } else {
         this.$store.commit("dialogVisible", true);
       }
+    },
+    // 跳转
+    toPage(url) {
+      if (!url) return;
+      this.$router.push(url);
+    },
+    // 充值提示
+    czts() {
+      Toast(this.$t("充值提示"));
     }
   },
   created() {
     this.getUserInfo();
+    this.getMoney();
+    this.getMyPositionProfitAndLose();
   }
 };
 </script>
@@ -146,17 +288,37 @@
 @dark_green: #07c160;
 .account {
   width: 100%;
-  height: 100%;
+  min-height: 100vh;
   background: #fff;
   font-size: 10vw;
   padding-top: 0.2em;
   padding-bottom: 1.4rem;
+  .account_loan {
+    height: 2em;
+    background-color: #e5eff7;
+    width: 100%;
+    padding: 0 0.5em 0.15em;
+
+    .loan_left {
+      p {
+        font-size: 0.4em;
+      }
+      .loan_left_title {
+        font-size: 0.3em;
+        color: #999;
+        margin-bottom: 0.75em;
+      }
+    }
+    .loan_right {
+      font-size: 0.4em;
+    }
+  }
 
   .account_card {
     background-color: #f5f5f5;
     border-radius: 0.25em;
     width: 9.5em;
-    margin: 0.5em auto 0;
+    margin: 0.25em auto 0;
 
     .held_item {
       padding: 0.42em 0;
@@ -244,7 +406,7 @@
   }
 
   .account_tabs {
-    box-shadow: 0 -0.26667rem 0.53333rem #1a00394d;
+    // box-shadow: 0 -0.26667rem 0.53333rem #1a00394d;
     width: 100%;
     padding: 0.4em 0.25em 0.5em;
     background-color: #f1f1f1;
@@ -268,7 +430,20 @@
         font-size: 0.42em;
       }
 
-      img {
+      .qb_icon {
+        width: 1.6em;
+        height: 1.6em;
+        background-color: rgba(@green, 0.2);
+        border-radius: 50%;
+        margin-bottom: 0.3em;
+
+        img {
+          width: 1em;
+          height: auto;
+        }
+      }
+
+      & > img {
         width: 1.6em;
         margin-bottom: 0.3em;
       }
@@ -284,19 +459,24 @@
     color: #fff;
     .wallet_record {
       color: @green;
-      margin-top: 0.5em;
-      padding: 0.5em;
+      // margin-top: 0.5em;
+      padding: 0.3em;
       border-top: 0.01em solid rgba(#fff, 0.1);
       span {
         font-size: 0.4em;
       }
     }
     .wallet_price_name {
-      padding: 0 0.25em;
+      padding: 0 0.25em 0.25em;
       span {
         font-size: 0.3em;
       }
     }
+    .wallet_i_title {
+      border-top: rgba(#fff, 0.1) solid 0.01em;
+      font-size: 0.4em;
+      padding: 0.6em 0;
+    }
     .wallet_price {
       color: #f7b52b;
       padding: 0 0.25em;

--
Gitblit v1.9.3