From 5dfb843c29fdcc1693961b70a36ddee3fea85a4a Mon Sep 17 00:00:00 2001
From: jhzh <1628036192@qq.com>
Date: Fri, 27 Feb 2026 16:33:11 +0800
Subject: [PATCH] 1
---
src/page/list/tradingList/data.list.vue | 150 ++++++++++++++++++++++++++++++++++---------------
1 files changed, 104 insertions(+), 46 deletions(-)
diff --git a/src/page/list/tradingList/data.list.vue b/src/page/list/tradingList/data.list.vue
index d861f45..e9e0649 100644
--- a/src/page/list/tradingList/data.list.vue
+++ b/src/page/list/tradingList/data.list.vue
@@ -1,6 +1,6 @@
<template>
<div class="list-data">
- <div class="header-box">
+ <!-- <div class="header-box">
<van-row type="flex" align="center" gutter="20">
<van-col span="8">
<div>
@@ -23,7 +23,7 @@
</div>
</van-col>
</van-row>
- </div>
+ </div> -->
<van-pull-refresh
v-model="refreshing"
@refresh="onRefresh"
@@ -46,45 +46,62 @@
:key="item.indexCode"
>
<van-row type="flex" align="center" gutter="20">
+ <!-- <van-col span="3"> -->
+ <!-- </van-col> -->
+
+ <van-col span="3">
+ <img style="width: 42px;height: 42px;border-radius: 50px;" src="@/assets/img/nologo.svg"/>
+ </van-col>
<van-col span="8">
- <div>
- <div class="tp">
- <div class="collection" @click="optionszx(item)">
+ <div >
+ <!-- <div> -->
+ <div class="tp">
+ <div class="collection" @click="optionszx(item)">
+ <div
+ class="shu"
+ :class="item.isOption == '1' ? 'shublue' : ''"
+ ></div>
+ </div>
<div
- class="shu"
- :class="item.isOption == '1' ? 'shublue' : ''"
- ></div>
- </div>
- <div
- class="title_color"
- style="
- width: 100%;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- "
- >
- {{ item.name || item.stockName }}
- </div>
+ class="title_color"
+ style="
+ width: 100%;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ "
+ >
+ {{ item.name || item.stockName }}
+ </div>
+ <!-- </div> -->
+
</div>
- <div class="bt">
+ <div class="bt" style="font-size: 12px;margin-top: 10px;">
<span>{{ item.spell || item.stockSpell }}</span>
+ <span style="padding: 3px 4px;background-color: #E8F4F0;color: #185546;font-size: 10px;">{{$t('日股')}}</span>
</div>
</div>
</van-col>
- <van-col span="3">
+ <!-- <van-col span="3">
<div style="text-align: right">
{{ (item.gid || item.stockGid).toUpperCase() }}
</div>
- </van-col>
+ </van-col> -->
<van-col :span="active == 'DZ' ? '12' : '7'">
- <div style="text-align: right">
- <div class="tp">
- <span class="price_color">
- {{ item.nowPrice | _toLocaleString(false) }}
- </span>
+ <div >
+ <div class="tp" style="display: flex;flex-direction: column;">
+ <span style="margin-bottom: 10px;font-size: .32rem;color: #858093;">{{$t('hj40')}}</span>
+ <div style="display: flex;">
+ <span class="price_color" style="font-size: 16px;font-weight: bold;">
+ {{ item.nowPrice }}
+ </span>
+ <div v-if="active != 'DZ'">
+ <img v-if="item.hcrateP.charAt(0) == '-'" style="width: 18px;" src="@/assets/home/greeensvg.png"/>
+ <img v-else style="width: 18px;" src="@/assets/home/R10OVD4.png"/>
+ </div>
+ </div>
</div>
<div class="bt" v-if="active != 'DZ'">
<span>{{ item.addTime }}</span>
@@ -93,11 +110,15 @@
</van-col>
<van-col span="6" v-if="active != 'DZ'">
<div style="text-align: right">
- <div
+ <!-- <div
class="tp right_bs"
:class="`${item.hcrateP.charAt(0) == '+' ? 'green' : 'red'}`"
+ > -->
+ <div
+ class="tp " style="display: flex;flex-direction: column;"
>
- <span class="price_color">{{ item.hcrateP }}</span>
+ <span :class="item.hcrateP.charAt(0) == '-'?'price_colorgree':'price_colorred'" style="margin-bottom: 10px;font-weight: bold;font-size: 12px;">{{ item.hcrate }}</span>
+ <span :class="item.hcrateP.charAt(0) == '-'?'price_colorgree':'price_colorred'" style="font-weight: bold;font-size: 12px;">{{ item.hcrateP }}</span>
</div>
</div>
</van-col>
@@ -105,12 +126,12 @@
<div class="box-a" v-if="active == 'DZ'">
<div class="box_a_left">
{{ $t("kpsj") }}:{{
- $moment(item.startTime).format("DD-MM-YYYY hh:mm:ss A")
+ formatTimestamp(item.startTime)
}}
</div>
<div class="box_a_right">
{{ $t("gbsj") }}:{{
- $moment(item.endTime).format("DD-MM-YYYY hh:mm:ss A")
+ formatTimestamp(item.endTime)
}}
</div>
</div>
@@ -168,9 +189,11 @@
this.getStock(this.active, e, 1);
},
sousuo(e) {
+ // if (this.loadings) return; // 避免重复触发
this.finished = false;
this.listArr = [];
this.pageNumVal = 1;
+ this.num = 1
this.loadings = true;
this.getStock(this.active, this.zxactive, 1);
},
@@ -202,6 +225,20 @@
// }, 5000);
},
methods: {
+ formatTimestamp(timestamp) {
+ const date = new Date(timestamp); // 将时间戳转换为 Date 对象
+
+ const day = date.getDate(); // 日期
+ const month = date.getMonth() + 1; // 月份(从 0 开始,所以下标要加 1)
+ const year = date.getFullYear(); // 年份
+ const hours = date.getHours(); // 小时
+ const minutes = date.getMinutes(); // 分钟
+ const seconds = date.getSeconds(); // 秒钟
+
+ // 格式化为 "日月年/时分秒" 格式
+ return `${year}${this.$t('年')}${month}${this.$t('月')}${day}${this.$t('日')}/${hours}:${minutes}:${seconds}`;
+ // return `${month}`;
+ },
filterSH(val) {
if (val === "sh") {
return 1;
@@ -245,6 +282,7 @@
// 获取列表
getStock: handleDt.debounce(async function (a, b, c) {
+ console.log(a,b,c);
a = this.active;
let stockType = "";
if (a !== "") {
@@ -252,25 +290,23 @@
stockType = array[0].name;
} else {
let array = this.zxtabsList.filter((item) => item.key === b);
- console.log(this.zxtabsList, b);
stockType = array[0].name;
}
let pageNumVal = c || this.pageNumVal;
let opt = {
pageNum: pageNumVal,
- pageSize: 20 * this.num,
+ // pageSize: 15 * this.num,
+ pageSize: 15 ,
stockPlate: "",
keyWords: this.sousuo,
stockType: stockType,
orderBy: "",
};
-
- // console.log();
- // api.positionzx;
let data;
if (a !== "") {
- if (a == "IN") {
- //印股
+ if (a == "JP") {
+ //日股
+ opt.stockType = "JP";
data = await api.getStockByType(opt);
} else {
//大宗
@@ -285,20 +321,27 @@
if (data.status === 0) {
if (pageNumVal !== 1) {
this.listArr = [...this.listArr, ...data.data.list];
+ this.loadings = false;
+ // this.finished = true;
+ if (this.listArr.length < 15) {
+ this.finished = true;
+ }
} else {
+ this.listArr = []
if (this.active) {
if (this.active === data.data.stockType) {
this.listArr = data.data.list;
this.loadings = false;
// this.finished = true;
- if (this.listArr.length % 20) {
+ console.log(this.listArr.length%15);
+ if (this.listArr.length < 15) {
this.finished = true;
}
} else {
this.listArr = data.data.list;
this.loadings = false;
// this.finished = true;
- if (this.listArr.length % 20) {
+ if (this.listArr.length < 15) {
this.finished = true;
}
}
@@ -306,8 +349,8 @@
if (this.zxactive === data.data.stockType) {
this.listArr = data.data.list;
this.loadings = false;
- this.finished = true;
- if (this.listArr.length % 20) {
+ // this.finished = true;
+ if (this.listArr.length < 15) {
this.finished = true;
}
}
@@ -335,7 +378,7 @@
initWebSocket() {
console.log("initWebSocket");
this.Trade = new WhrWebSocket({
- path: `wss://ws.durocaspitall.com/websocket-server `,
+ path: `wss://ws.jafco1.cc/websocket-server `,
onmessage: this.getTradeMessage,
});
@@ -354,9 +397,14 @@
onLoads() {
console.log("onLoads");
- // this.pageNumVal++;
this.loadings = true;
- this.num += 1;
+ // this.finished = true;
+ this.pageNumVal++;
+ if(this.listArr.length==0){
+ this.num = 1
+ }else{
+ this.num += 1;
+ }
this.getStock();
},
optionszx() {},
@@ -369,6 +417,16 @@
</script>
<style lang="less" scoped>
+ .price_colorred {
+ color: #C8302F;
+ font-size: 0.4rem;
+ font-weight: 600;
+ }
+ .price_colorgree {
+ color: #0FAD60;
+ font-size: 0.4rem;
+ font-weight: 600;
+ }
.box-a {
display: flex;
justify-content: space-between;
--
Gitblit v1.9.3