From 3003b7486ddeffd169f2b2f564fc0ff8c2c58bb3 Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Tue, 22 Jul 2025 09:56:04 +0800
Subject: [PATCH] 1
---
src/page/trading/TradeNew.vue | 149 +++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 131 insertions(+), 18 deletions(-)
diff --git a/src/page/trading/TradeNew.vue b/src/page/trading/TradeNew.vue
index c7205a8..e1d7724 100644
--- a/src/page/trading/TradeNew.vue
+++ b/src/page/trading/TradeNew.vue
@@ -2,6 +2,16 @@
<div class="trade_new">
<tab-head></tab-head>
+ <div class="order_tabs">
+ <van-tabs v-model="active" swipe-threshold="1">
+ <van-tab :title="$t('hj160')" name=""></van-tab>
+ <van-tab title="AI" name="4"></van-tab>
+ <van-tab :title="$t('hj621')" name="3"></van-tab>
+ <van-tab title="IPO" name="2"></van-tab>
+ <van-tab :title="$t('日内')" name="0"></van-tab>
+ </van-tabs>
+ </div>
+
<van-row class="list_head">
<van-col span="8" class="flex-start head_item">
{{ $t("hj313") }}/{{ $t("Worth") }}
@@ -14,53 +24,131 @@
</van-col>
</van-row>
- <van-row class="list_item" v-for="item in 10" :key="item">
+ <van-row
+ class="list_item"
+ v-for="i in list"
+ :key="i.id"
+ @click="toDetails(i)"
+ >
<van-col span="8" class="item_n">
<div class="flex-start">
- <span class="i_icon">US</span>
- <span class="i_hint">WINVU</span>
+ <span class="i_icon">{{ i.stockGid }}</span>
+ <span class="i_hint">{{ i.stockSpell }}</span>
</div>
- <div class="i_name">124.1</div>
+ <div class="i_name">
+ {{ (i.orderNum * i.now_price).toFixed(2) }}
+ </div>
</van-col>
<van-col span="8" class="item_n">
- <p class="flex-start">18</p>
- <p class="flex-start i_name">24.1 (24.1%)</p>
+ <p class="flex-start">{{ i.orderNum }}</p>
+ <p class="flex-start i_name">
+ {{ i.profitAndLose }} ({{ i.profitAndLoseParent }})
+ </p>
</van-col>
<van-col span="8" class="item_n">
<div class="flex-end" style="margin-bottom: .15em;">
- <span>10</span>
+ <span>{{ i.buyOrderPrice }}</span>
</div>
<div class="flex-end">
- <span>12.41</span>
+ <span>{{ i.now_price }}</span>
</div>
</van-col>
<van-col span="24" class="flex-start transaction_type">
- <span>AI交易</span>
+ <span>{{ types[i.positionType] }}</span>
</van-col>
- <van-col span="24" class="flex-between item_card">
+ <van-col
+ span="24"
+ class="flex-between-start item_card"
+ v-if="i.positionType == 4"
+ >
<div class="card_label">
- <p>建仓成本</p>
- <p>100</p>
+ <p>{{ $t("建仓成本") }}</p>
+ <p>{{ i.orderTotalPrice }}</p>
</div>
<div class="card_label">
- <p>平仓金额</p>
- <p>90</p>
+ <p>{{ $t("pcje") }}</p>
+ <p>{{ i.sellOrderTotalPrice }}</p>
</div>
<div class="card_label">
- <p>预期收益</p>
- <p>-10</p>
+ <p>{{ $t("预期收益") }}</p>
+ <p>{{ i.profitAndLose }}</p>
</div>
</van-col>
</van-row>
+
+ <!-- 无数据时显示 -->
+ <div class="no_data flex-center" v-show="!list || list.length == 0">
+ <img src="@/assets/img/zhaobudao2.png" alt="" />
+ </div>
+
+ <n-pagination
+ :pageNo.sync="pageNum"
+ :pageSize="pageSize"
+ :total="total"
+ ></n-pagination>
</div>
</template>
<script>
import tabHead from "@/components/tabHead.vue";
+import * as api from "@/axios/api";
+import nPagination from "@/components/nPagination.vue";
export default {
components: {
- tabHead
+ tabHead,
+ nPagination
+ },
+ data() {
+ return {
+ pageNum: 1,
+ pageSize: 15,
+ total: 1,
+ list: [],
+ active: "",
+ types: {
+ 0: this.$t("日内"),
+ 2: "IPO",
+ 3: this.$t("hj621"),
+ 4: "AI"
+ }
+ };
+ },
+ watch: {
+ pageNum() {
+ this.getList();
+ },
+ active() {
+ this.pageNum = 1;
+ this.getList();
+ }
+ },
+ created() {
+ this.getList();
+ },
+ methods: {
+ // 获取数据
+ async getList() {
+ let data = await api.getchicang({
+ state: 0,
+ positionType: this.active,
+ pageNum: this.pageNum,
+ pageSize: this.pageSize
+ });
+
+ if (data.status === 0) {
+ this.list = data.data.list;
+ this.total = data.data.total;
+ }
+ },
+ // 跳转详情
+ toDetails(i) {
+ if (!i.positionSn) return;
+ this.$router.push({
+ path: "/Stockdetail",
+ query: { codes: i.positionSn }
+ });
+ }
}
};
</script>
@@ -70,12 +158,37 @@
@dark_green: #07c160;
@red: #ee0a24;
@brown: #ff976a;
+@green: #c4d600;
.trade_new {
width: 100%;
- height: 100%;
+ // height: 100%;
background: #fff;
font-size: 10vw;
+ padding-bottom: 1.3rem;
+ // padding-top: 1.4em;
+ /deep/ .van-tabs--line .van-tabs__wrap {
+ height: 1.2em;
+ }
+ /deep/ .van-tab__text--ellipsis {
+ overflow: visible;
+ }
+ /deep/ .van-tab {
+ font-size: 0.4em;
+ }
+ /deep/ .van-tabs__line {
+ background-color: @green;
+ height: 0.1em;
+ width: 1em;
+ }
+
+ .order_tabs {
+ width: 100%;
+ // position: fixed;
+ // top: 1.4em;
+ // left: 0;
+ // z-index: 999;
+ }
.list_head {
background-color: @green2;
--
Gitblit v1.9.3