From 066ec67b7080f07a0e47dda9864ee6be2e4b9053 Mon Sep 17 00:00:00 2001
From: lxf <1371462558@qq.com>
Date: Fri, 13 Jun 2025 14:03:54 +0800
Subject: [PATCH] Merge branch 'master' of http://124.156.157.155:8060/r/~admin/aerospace-pc

---
 src/views/wealth/transactionRecord.vue |  304 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 304 insertions(+), 0 deletions(-)

diff --git a/src/views/wealth/transactionRecord.vue b/src/views/wealth/transactionRecord.vue
new file mode 100644
index 0000000..6828fce
--- /dev/null
+++ b/src/views/wealth/transactionRecord.vue
@@ -0,0 +1,304 @@
+<template>
+  <div class="router-view">
+    <div class="trade">
+      <div class="recharge_content">
+        <el-tabs
+          v-model="activeName"
+          class="order-tab"
+          @tab-click="handleClick"
+        >
+          <el-tab-pane
+            v-for="(item, index) in labels"
+            :key="index"
+            :name="index"
+            :label="item"
+            name="financial"
+          >
+          </el-tab-pane>
+          <div class="list">
+            <div class="item" v-for="(item, index) in tableData" :key="index">
+              <div class="el-row">
+                <div class="el-col el-col-8">
+                  <div>
+                    {{
+                      activeName
+                        ? $t("message.home.pingcang") +
+                          $t("message.home.shijian")
+                        : $t("message.user.shijian")
+                    }}
+                  </div>
+                  <div class="value">{{ formatterDate(item) }}</div>
+                </div>
+                <div class="el-col el-col-8">
+                  <div>{{ $t("message.user.bizhong") }}</div>
+                  <div class="value">{{ item.name }}</div>
+                </div>
+                <div class="el-col el-col-8">
+                  <div>{{ $t("message.user.leixing") }}</div>
+                  <div
+                    class="value red"
+                    :class="item.direction == 'buy' ? 'green' : 'red'"
+                  >
+                    {{
+                      item.direction == "buy"
+                        ? $t("message.home.kaiduo")
+                        : $t("message.home.kaikong")
+                    }}
+                  </div>
+                </div>
+              </div>
+              <div class="el-row">
+                <div class="el-col el-col-8">
+                  <div>
+                    {{
+                      activeName
+                        ? $t("message.user.pingcangjiage")
+                        : $t("message.user.kaicangjiage")
+                    }}
+                  </div>
+                  <div class="value">
+                    {{
+                      activeName ? item.close_avg_price : item.close_avg_price
+                    }}
+                  </div>
+                </div>
+                <div class="el-col el-col-8">
+                  <div>{{ $t("message.user.chengjiaoshuliang") }}</div>
+                  <div class="value">{{ item.amount_open }}</div>
+                </div>
+                <div class="el-col el-col-8">
+                  <div>{{ $t("message.user.zhuangtai") }}</div>
+                  <div class="value">
+                    {{
+                      item.state == "created"
+                        ? $t("message.user.yipingcang")
+                        : $t("message.user.chicang")
+                    }}
+                  </div>
+                </div>
+              </div>
+              <div class="el-row">
+                <div class="el-col el-col-8">
+                  <div>
+                    {{ $t("message.home.gangganbeishu") }}
+                  </div>
+                  <div class="value">{{ item.lever_rate }}</div>
+                </div>
+                <div class="el-col el-col-8">
+                  <div>{{ $t("message.home.shouxufei") }}</div>
+                  <div class="value">{{ item.fee }}</div>
+                </div>
+                <div class="el-col el-col-8">
+                  <div>{{ $t("message.home.yingkui") }}</div>
+                  <div class="value">
+                    {{ item.profit }}/{{
+                      (() => {
+                        const base =
+                          item.trade_avg_price * item.amount_open || 1;
+                        let percent = (parseFloat(item.profit) / base) * 100;
+                        if (percent !== 0 && Math.abs(percent) < 0.000001) {
+                          percent = percent > 0 ? 0.000001 : -0.000001;
+                        }
+                        return percent.toFixed(6);
+                      })()
+                    }}%
+                  </div>
+                </div>
+              </div>
+            </div>
+          </div>
+          <!-- 分页 -->
+          <!-- <el-pagination
+            class="pagination-box"
+            v-model:current-page="pageNum"
+            default-page-size="20"
+            :total="tableLength"
+            @current-change="handleCurrentChange"
+          /> -->
+          <el-pagination
+            class="pagination-box"
+            background
+            v-model:current-page="pageNum"
+            @current-change="handleCurrentChange"
+            default-page-size="20"
+            layout="prev, pager, next"
+            :total="tableLength"
+          >
+          </el-pagination>
+        </el-tabs>
+      </div>
+    </div>
+  </div>
+  <footer-view></footer-view>
+</template>
+
+<script>
+import { getContractOrder } from "@/api/order.js";
+import dayjs from "dayjs";
+
+export default {
+  name: "financialHistory",
+  data() {
+    return {
+      activeName: 0,
+      labels: [this.$t("message.user.ma47"), this.$t("message.user.ma48")],
+      tableData: [],
+      mineData: [],
+      pageNum: 1,
+      tableLength: 0,
+    };
+  },
+  mounted() {
+    // if (this.$route.query.type) {
+    //   this.activeName = this.$route.query.type;
+    // }
+    let spToken = localStorage.getItem("spToken");
+    if (spToken) {
+      this.getList();
+      this.getMineList();
+    }
+  },
+  methods: {
+    handleClick(tab, event) {
+      console.log("handleClick: ");
+      this.pageNum = 1;
+      this.getList();
+    },
+    formatterDate(row) {
+      return dayjs.unix(row.create_time_ts).format("YYYY-MM-DD HH:mm:ss");
+    },
+    async getList() {
+      const data = {
+        page_no: this.pageNum,
+        type: this.activeName ? "orders" : "hisorders",
+        // symbol: "",
+      };
+      const res = await getContractOrder(data);
+      this.tableData = res.data;
+      this.tableLength = res.data.length;
+      if (this.tableLength == 0 || this.tableLength < 10) {
+        this.isNext = true;
+      } else {
+        this.isNext = false;
+      }
+    },
+    handleCurrentChange(val) {
+      this.pageNum = val;
+      this.getList();
+    },
+
+    getLocalLan() {
+      var lang = JSON.parse(localStorage.getItem("lang"));
+      // 简体中文:miner_name,繁体:miner_name_cn miner_name_en
+      if (lang == "en") {
+        return "miner_name_en";
+      } else if (lang == "cht") {
+        return "miner_name_cn";
+      } else if (lang == "zh-CN") {
+        return "miner_name";
+      }
+      return "miner_name_en";
+    },
+  },
+};
+</script>
+
+<style scoped>
+.router-view {
+  flex: 1;
+  background-color: #000;
+}
+
+.trade {
+  min-height: 700px;
+  background: #000;
+  padding-bottom: 16px;
+  padding-top: 28px;
+}
+
+.trade .recharge_content {
+  max-width: 1232px;
+  min-width: 976px;
+  margin: 0 auto;
+  color: #fff;
+}
+
+/deep/ .el-table {
+  border-radius: 8px;
+  padding: 16px;
+  background-color: #1b1e26 !important;
+}
+/deep/ .el-table th.el-table__cell {
+  background-color: #1b1e26 !important;
+  border-bottom: none !important;
+}
+/deep/ .el-table__inner-wrapper:before {
+  background-color: #1b1e26 !important;
+}
+/deep/ .el-tabs__nav-wrap:after {
+  background-color: #000 !important;
+}
+/deep/ .el-tabs__item,
+/deep/ .el-tabs__item:hover {
+  color: #b1b1b1 !important;
+  font-size: 18px;
+}
+/deep/ .el-tabs__item.is-active {
+  color: #f7b328 !important;
+  font-size: 18px !important;
+  font-weight: 600;
+}
+.list {
+  display: flex;
+  flex-wrap: wrap;
+  justify-content: space-between;
+}
+.list .item {
+  width: 47%;
+  background: #112639;
+  padding: 12px;
+  border-radius: 8px;
+  margin-bottom: 16px;
+  font-size: 12px;
+  color: #b1b1b180;
+}
+
+.el-row {
+  margin-bottom: 16px;
+
+  box-sizing: border-box;
+  display: flex;
+  flex-wrap: wrap;
+  position: relative;
+}
+
+.list .item .value {
+  font-size: 14px;
+  color: #b1b1b1;
+  margin-top: 6px;
+}
+.list .item .value.red {
+  color: red;
+}
+.list .item .value.green {
+  color: #1cd36d;
+}
+
+/deep/ .el-pagination button.is-disabled,
+/deep/ .el-pagination button:disabled,
+/deep/ .el-pager li,
+/deep/ .el-input__wrapper {
+  background-color: #1b1e26 !important;
+}
+/deep/ .el-pager li.is-active {
+  color: #f7b328 !important;
+}
+/deep/ .el-input__inner {
+  color: #fff;
+}
+.pagination-box {
+  justify-content: center;
+  display: flex;
+  margin-top: 20px;
+}
+</style>

--
Gitblit v1.9.3