From 61944978f51ca99a001162ac1ff3d32dcd5315ed Mon Sep 17 00:00:00 2001
From: PC-20250623MANY\Administrator <344137771@qq.com>
Date: Wed, 16 Jul 2025 14:54:58 +0800
Subject: [PATCH] 1
---
src/components/stock-list.vue | 78 +++++++++++++++++++++++++++++++++-----
1 files changed, 67 insertions(+), 11 deletions(-)
diff --git a/src/components/stock-list.vue b/src/components/stock-list.vue
index 30656ee..36a09df 100644
--- a/src/components/stock-list.vue
+++ b/src/components/stock-list.vue
@@ -6,7 +6,12 @@
<van-col span="8" class="flex-end head_item">{{ $t("Change") }}</van-col>
</van-row>
- <van-row class="markets_item" v-for="item in stockList" :key="item.id">
+ <van-row
+ class="markets_item"
+ v-for="item in stockList"
+ :key="item.id"
+ @click="toDetails(item)"
+ >
<van-col span="12" class="item_n">
<div class="flex-start">
<span class="i_icon">{{ item.stock_type }}</span>
@@ -22,10 +27,22 @@
<div class="flex-end">{{ item.hcrateP }}</div>
</van-col>
- <div class="edit flex-end" v-show="editorShow">
+ <div
+ class="edit flex-end"
+ v-show="editorShow"
+ @click.stop="deleteStock(item)"
+ >
<span>{{ $t("移除") }}</span>
</div>
</van-row>
+
+ <!-- 无数据时显示 -->
+ <div
+ class="no_data flex-center"
+ v-show="!stockList || stockList.length == 0"
+ >
+ <img src="@/assets/img/zhaobudao2.png" alt="" />
+ </div>
<n-pagination
:pageNo.sync="pageNum"
@@ -38,6 +55,7 @@
<script>
import nPagination from "@/components/nPagination.vue";
import * as api from "@/axios/api";
+import { Toast } from "vant";
export default {
name: "stock_list",
components: {
@@ -45,10 +63,9 @@
},
data() {
return {
- editorShow: false, // 编辑状态
pageNum: 1,
pageSize: 10,
- total: 0,
+ total: 1,
stockList: []
};
},
@@ -58,17 +75,29 @@
default: () => {
return {};
}
+ },
+ listApi: {
+ default: () => {
+ return api.getStockByType;
+ }
+ },
+ // 编辑状态
+ editorShow: {
+ type: Boolean,
+ default: false
}
},
watch: {
propOption: {
handler(val) {
+ this.pageNum = 1;
this.getStockList();
}
},
pageNum: {
handler(val) {
- console.log(val);
+ // this.stockList = [];
+ this.getStockList();
}
}
},
@@ -76,11 +105,8 @@
this.getStockList();
},
methods: {
- onEdit() {
- this.editorShow = !this.editorShow;
- },
+ // 获取数据
async getStockList() {
- // 获取数据
let opt = {
pageNum: this.pageNum,
pageSize: this.pageSize,
@@ -92,9 +118,39 @@
opt = { ...opt, ...this.propOption };
- let data = await api.getStockByType(opt);
+ let data = await this.listApi(opt);
this.stockList = data.data.list;
- this.total = data.data.total;
+ this.total = data.data.total || 1;
+ },
+ // 点击进入详情
+ toDetails(item) {
+ const obj = {
+ pid: item.code || "",
+ type: item.stock_type || ""
+ };
+ window.localStorage.setItem("kLine", JSON.stringify(obj));
+
+ this.$router.push({
+ path: "/kline",
+ query: {
+ code: item.code,
+ type: item.stock_type
+ }
+ });
+ },
+ // 删除自选股
+ async deleteStock(item) {
+ let opt = {
+ code: item.code
+ };
+ let data = await api.delOption(opt);
+ if (data.status === 0) {
+ this.$emit("update:editorShow", false);
+ Toast.success(data.msg);
+ this.getStockList();
+ } else {
+ Toast.fail(data.msg);
+ }
}
}
};
--
Gitblit v1.9.3