1.31 财务分析,财务数据模块完善,产业链桑基图展示

This commit is contained in:
尚政杰
2026-01-31 17:19:16 +08:00
parent 1c13386dfc
commit 0a2dab4936
527 changed files with 3390 additions and 604 deletions

View File

@@ -1,11 +1,16 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const request_api = require("../../request/api.js");
const common_assets = require("../../common/assets.js");
const _sfc_main = {
data() {
return {
navH: common_vendor.inject("navHeight"),
contentTop: "",
allStockData: [],
filteredData: [],
currentDate: "",
// 最终要赋值的日期
topLists: [
{
title: "超大盘股",
@@ -24,10 +29,80 @@ const _sfc_main = {
};
},
onLoad(e) {
this.activeIndex = e.index;
this.currentDate = e.currentDate;
this.contentTop = this.navH + (20 + 70 + 25) / 750 * common_vendor.inject("windowWidth");
this.marketHeatmap();
},
methods: {}
methods: {
handleTypeClick(index) {
this.list2Index = index;
this.marketHeatmap();
},
getTableItem(obj) {
const marketCap = obj.market_cap ? obj.market_cap.toFixed(2) : "0.00";
const amount = obj.amount ? obj.amount.toFixed(2) : "0.00";
const changePercent = obj.change_percent ? Number(obj.change_percent) : 0;
let changePercentStr = "";
let changeType = "";
if (changePercent > 0) {
changePercentStr = `+${changePercent}%`;
changeType = "positive";
} else if (changePercent < 0) {
changePercentStr = `${changePercent}%`;
changeType = "negative";
} else {
changePercentStr = "0%";
changeType = "zero";
}
return [
[obj.stock_name, obj.stock_code],
[changePercentStr, "", changeType],
// 第三个元素存类型标记
[`${marketCap}亿元`],
[`${amount}亿元`],
[obj.industry || "暂无"]
// 处理行业为空的情况
];
},
marketHeatmap() {
let param = {
limit: 500,
date: this.currentDate
};
request_api.marketHeatmap(param).then((res) => {
this.allStockData = res.data || [];
this.filterStockByMarketCap();
}).catch((error) => {
});
},
// 根据市值区间筛选数据
filterStockByMarketCap() {
const {
list2Index,
allStockData
} = this;
let filtered = [];
switch (list2Index) {
case 0:
filtered = allStockData.filter((item) => item.market_cap > 1e3);
break;
case 1:
filtered = allStockData.filter((item) => item.market_cap >= 500 && item.market_cap <= 1e3);
break;
case 2:
filtered = allStockData.filter((item) => item.market_cap >= 100 && item.market_cap <= 500);
break;
default:
filtered = allStockData;
}
this.filteredData = filtered;
},
itemDetails(item) {
common_vendor.index.navigateTo({
url: "/pagesStock/stockCenterDetails/stockCenterDetails?code=" + item.stock_code
});
}
}
};
if (!Array) {
const _easycom_navBar2 = common_vendor.resolveComponent("navBar");
@@ -55,7 +130,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
b: $data.list2Index == index ? "#BB8520" : "#070707",
c: common_vendor.t(item.value),
d: $data.list2Index == index ? "#BB8520" : "#070707",
e: common_vendor.o(($event) => $data.list2Index = index, index),
e: common_vendor.o(($event) => $options.handleTypeClick(index), index),
f: index,
g: $data.list2Index == index ? "1rpx solid #F2C369" : "none"
};
@@ -66,18 +141,21 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
b: index
};
}),
j: common_vendor.f(10, (obj, j, i0) => {
j: common_vendor.f($data.filteredData, (obj, j, i0) => {
return {
a: common_vendor.f(["云南白药", "+0.04%", "996.85 亿元", "4.44 亿元", "医药生物"], (item, index, i1) => {
a: common_vendor.f($options.getTableItem(obj), (item, index, i1) => {
return common_vendor.e({
a: common_vendor.t(item),
a: common_vendor.t(item[0]),
b: index == 0
}, index == 0 ? {} : {}, {
c: index,
d: index == 0 ? "#222222" : index == 1 ? "#EC3440" : "#666666"
}, index == 0 ? {
c: common_vendor.t(item[1])
} : {}, {
d: index,
e: index == 0 ? "#222222" : index == 1 ? item[2] === "positive" ? "#EC3440" : "#01AB5D" : "#666666"
});
}),
b: j % 2 == 0 ? "#fff" : "#FAFAFC"
b: common_vendor.o(($event) => $options.itemDetails(obj)),
c: j % 2 == 0 ? "#fff" : "#FAFAFC"
};
}),
k: common_vendor.s("top:" + $data.contentTop + "px;")

View File

@@ -1 +1 @@
<view><nav-bar wx:if="{{a}}" u-i="1d94e03e-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="searchC fixed flex" style="{{g}}"><image class="icon" src="{{c}}" mode="widthFix"></image><input class="flex1" type="text" placeholder="输入股票代码或名称" placeholder-style="color:#eeeeee" confirm-type="search" bindconfirm="{{d}}" value="{{e}}" bindinput="{{f}}"/></view><scroll-view scroll-y class="stockDetailsC fixed" style="{{k}}"><view><view style="display:grid;grid-template-columns:repeat(3, 1fr);gap:16rpx;margin:0 20rpx"><view wx:for="{{h}}" wx:for-item="item" wx:key="f" bindtap="{{item.e}}" style="{{'padding:12rpx' + ';' + ('border-bottom:' + item.g)}}"><view style="{{'font-size:24rpx;color:#070707;font-weight:bold;text-align:center' + ';' + ('color:' + item.b)}}">{{item.a}}</view><view style="{{'font-size:20rpx;font-weight:400;text-align:center' + ';' + ('color:' + item.d)}}">{{item.c}}</view></view></view><view style="height:1rpx;margin:0 20rpx;background-color:#E7E7E7"></view><view style="display:grid;grid-template-columns:repeat(5, 1fr);gap:10rpx;background-color:#FAFAFC;line-height:60rpx;margin:0 20rpx;margin-top:20rpx"><view wx:for="{{i}}" wx:for-item="item" wx:key="b" style="color:#666666;font-size:20rpx;font-weight:500;text-align:center">{{item.a}}</view></view><view wx:for="{{j}}" wx:for-item="obj" style="{{'display:grid;grid-template-columns:repeat(5, 1fr);gap:10rpx;min-height:60rpx;margin:0 20rpx' + ';' + ('background-color:' + obj.b)}}"><view wx:for="{{obj.a}}" wx:for-item="item" wx:key="c" style="{{'padding:10rpx 0;color:#666666;font-size:20rpx;font-weight:500;text-align:center;display:flex;justify-content:center;align-items:center;flex-direction:column' + ';' + ('color:' + item.d)}}"><view>{{item.a}}</view><view wx:if="{{item.b}}" style="color:#666666;font-size:20rpx;font-weight:500">000768</view></view></view><view style="height:25rpx"></view></view></scroll-view></view>
<view><nav-bar wx:if="{{a}}" u-i="1d94e03e-0" bind:__l="__l" u-p="{{a}}"></nav-bar><image class="topBg absolute" src="{{b}}" mode="widthFix"></image><view class="searchC fixed flex" style="{{g}}"><image class="icon" src="{{c}}" mode="widthFix"></image><input class="flex1" type="text" placeholder="输入股票代码或名称" placeholder-style="color:#eeeeee" confirm-type="search" bindconfirm="{{d}}" value="{{e}}" bindinput="{{f}}"/></view><scroll-view scroll-y class="stockDetailsC fixed" style="{{k}}"><view><view style="display:grid;grid-template-columns:repeat(3, 1fr);gap:16rpx;margin:0 20rpx"><view wx:for="{{h}}" wx:for-item="item" wx:key="f" bindtap="{{item.e}}" style="{{'padding:12rpx' + ';' + ('border-bottom:' + item.g)}}"><view style="{{'font-size:24rpx;color:#070707;font-weight:bold;text-align:center' + ';' + ('color:' + item.b)}}">{{item.a}}</view><view style="{{'font-size:20rpx;font-weight:400;text-align:center' + ';' + ('color:' + item.d)}}">{{item.c}}</view></view></view><view style="height:1rpx;margin:0 20rpx;background-color:#E7E7E7"></view><view style="display:grid;grid-template-columns:repeat(5, 1fr);gap:10rpx;background-color:#FAFAFC;line-height:60rpx;margin:0 20rpx;margin-top:20rpx"><view wx:for="{{i}}" wx:for-item="item" wx:key="b" style="color:#666666;font-size:20rpx;font-weight:500;text-align:center">{{item.a}}</view></view><view wx:for="{{j}}" wx:for-item="obj" bindtap="{{obj.b}}" style="{{'display:grid;grid-template-columns:repeat(5, 1fr);gap:10rpx;min-height:60rpx;margin:0 20rpx' + ';' + ('background-color:' + obj.c)}}"><view wx:for="{{obj.a}}" wx:for-item="item" wx:key="d" style="{{'padding:10rpx 0;color:#666666;font-size:20rpx;font-weight:500;text-align:center;display:flex;justify-content:center;align-items:center;flex-direction:column' + ';' + ('color:' + item.e)}}"><view>{{item.a}}</view><view wx:if="{{item.b}}" style="color:#666666;font-size:20rpx;font-weight:500">{{item.c}}</view></view></view><view style="height:25rpx"></view></view></scroll-view></view>

View File

@@ -7,40 +7,91 @@ const _sfc_main = {
return {
navH: common_vendor.inject("navHeight"),
contentTop: "",
currentDate: "",
// 最终要赋值的日期
selectedDate: "",
// 临时存储选中的日期
allStockData: [],
filteredData: [],
conceptStocksList: [],
alertTypeConfig: {
"surge": {
text: "异动",
color: "#FF7A45",
// rgb(255, 122, 69)
filter: "brightness(0) saturate(100%) invert(54%) sepia(60%) saturate(467%) hue-rotate(344deg) brightness(102%) contrast(101%)"
},
"shrink_surge_up": {
text: "缩量急涨",
color: "#722ED1",
// rgb(114, 46, 209)
filter: "brightness(0) saturate(100%) invert(24%) sepia(90%) saturate(2865%) hue-rotate(266deg) brightness(87%) contrast(98%)"
},
"volume_surge_up": {
text: "放量急涨",
color: "#EB2F96",
// rgb(235, 47, 150)
filter: "brightness(0) saturate(100%) invert(34%) sepia(82%) saturate(1970%) hue-rotate(313deg) brightness(91%) contrast(94%)"
},
"volume_oscillation": {
text: "放量震荡",
color: "#13C2C2",
// rgb(19, 194, 194)
filter: "brightness(0) saturate(100%) invert(71%) sepia(62%) saturate(487%) hue-rotate(142deg) brightness(91%) contrast(93%)"
},
"surge_up": {
text: "急涨",
color: "#FF4D4F",
// rgb(255, 77, 79)
filter: "brightness(0) saturate(100%) invert(42%) sepia(93%) saturate(727%) hue-rotate(346deg) brightness(102%) contrast(104%)"
},
"surge_down": {
text: "急跌",
color: "#52C41A",
// rgb(82, 196, 26)
filter: "brightness(0) saturate(100%) invert(68%) sepia(65%) saturate(456%) hue-rotate(71deg) brightness(91%) contrast(86%)"
},
"shrink_surge_down": {
text: "缩量急跌",
color: "#FF7A45",
// rgb(255, 122, 69)
filter: "brightness(0) saturate(100%) invert(54%) sepia(60%) saturate(467%) hue-rotate(344deg) brightness(102%) contrast(101%)"
}
},
topLists: [
{
title: "大盘涨跌幅",
value: "+0.31%",
value: "+0.00%",
color: "#EC3440",
backIcon: "/static/icon/gegu/gg-top-0.png"
},
{
title: "涨停/跌停",
value: "+0.31%",
value: "+0.00%",
color: "#070707",
backIcon: "/static/icon/gegu/gg-top-1.png"
},
{
title: "多空对比",
value: "3572/1855",
value: "0/0",
color: "#070707",
backIcon: "/static/icon/gegu/gg-top-2.png"
},
{
title: "今日成交额",
value: "1.5万亿",
value: "0万亿",
color: "#070707",
backIcon: "/static/icon/gegu/gg-top-3.png"
},
{
title: "A股总市值",
value: "113.8万亿",
value: "0万亿",
color: "#070707",
backIcon: "/static/icon/gegu/gg-top-4.png"
},
{
title: "连板龙头",
value: "10只",
value: "0只",
color: "#F59B38",
backIcon: "/static/icon/gegu/gg-top-5.png"
}
@@ -81,41 +132,208 @@ const _sfc_main = {
title: "放量震荡",
backIcon: "/static/icon/gegu/cate-4.png"
}
]
],
marketAlertsList: [],
formattedAvg: 0,
upCount: 0,
downCount: 0,
limit_up_ratio: 0
};
},
onLoad(e) {
this.activeIndex = e.index;
this.contentTop = this.navH + (20 + 70 + 25) / 750 * common_vendor.inject("windowWidth");
this.conceptsDailyTop();
const now = /* @__PURE__ */ new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, "0");
const day = now.getDate().toString().padStart(2, "0");
this.currentDate = `${year}-${month}-${day}`;
},
onShow() {
this.marketHeatmap();
this.marketStatistics();
this.marketHotspotOverview();
this.marketHotspotListOverview();
},
methods: {
formatAlpha(value) {
if (value === null || value === void 0 || isNaN(Number(value))) {
return "0.0";
}
return Number(value).toFixed(1);
},
handleTypeClick(index) {
this.list2Index = index;
this.marketHeatmap(this.currentDate);
},
getTableItem(obj) {
const marketCap = obj.market_cap ? obj.market_cap.toFixed(2) : "0.00";
const amount = obj.amount ? obj.amount.toFixed(2) : "0.00";
const changePercent = obj.change_percent ? Number(obj.change_percent) : 0;
let changePercentStr = "";
let changeType = "";
if (changePercent > 0) {
changePercentStr = `+${changePercent}%`;
changeType = "positive";
} else if (changePercent < 0) {
changePercentStr = `${changePercent}%`;
changeType = "negative";
} else {
changePercentStr = "0%";
changeType = "zero";
}
return [
[obj.stock_name, obj.stock_code],
[changePercentStr, "", changeType],
// 第三个元素存类型标记
[`${marketCap}亿元`],
[`${amount}亿元`],
[obj.industry || "暂无"]
// 处理行业为空的情况
];
},
// 处理涨停比:转百分比 + 四舍五入(可指定保留小数位数)
formatLimitUpRatio(value, decimalPlaces = 0) {
if (!value || isNaN(Number(value))) {
return "0%";
}
const percentValue = Number(value) * 100;
const result = decimalPlaces === 0 ? Math.round(percentValue) : percentValue.toFixed(decimalPlaces);
return `${result}%`;
},
conceptsDailyTop() {
request_api.conceptsDailyTop().then((res) => {
}).catch((error) => {
});
},
marketHeatmap() {
request_api.marketHeatmap().then((res) => {
marketHeatmap(currentDate) {
let param = {
limit: 500
};
if (currentDate && currentDate !== "undefined" && currentDate.trim() !== "") {
param.date = currentDate;
}
request_api.marketHeatmap(param).then((res) => {
this.topLists[2].value = res.statistics.rising_count + "/" + res.statistics.falling_count;
this.allStockData = res.data || [];
const limitUpCount = this.allStockData.filter((s) => {
const changePercent = Number(s.change_percent);
return !isNaN(changePercent) && changePercent >= 9.9;
}).length;
const limitDownCount = this.allStockData.filter((s) => {
const changePercent = Number(s.change_percent);
return !isNaN(changePercent) && changePercent <= -9.9;
}).length;
this.topLists[1].value = limitUpCount + "/" + limitDownCount;
this.topLists[5].value = limitUpCount + "只";
this.filterStockByMarketCap();
}).catch((error) => {
});
},
// 根据市值区间筛选数据
filterStockByMarketCap() {
const {
list2Index,
allStockData
} = this;
let filtered = [];
switch (list2Index) {
case 0:
filtered = allStockData.filter((item) => item.market_cap > 1e3);
break;
case 1:
filtered = allStockData.filter((item) => item.market_cap >= 500 && item.market_cap <= 1e3);
break;
case 2:
filtered = allStockData.filter((item) => item.market_cap >= 100 && item.market_cap <= 500);
break;
default:
filtered = allStockData;
}
this.filteredData = filtered.slice(0, 10);
},
marketStatistics() {
request_api.marketStatistics().then((res) => {
this.topLists[3].value = this.formatToTrillion(res.summary.total_amount);
this.topLists[4].value = this.formatToTrillion(res.summary.total_market_cap);
}).catch((error) => {
this.topLists[3].value = "0.0 万亿";
this.topLists[4].value = "0.0 万亿";
});
},
formatToTrillion(num) {
if (typeof num !== "number" || isNaN(num)) {
return "0.0 万亿";
}
const trillionValue = (num / 1e4).toFixed(1);
return `${trillionValue} 万亿`;
},
marketHotspotListOverview() {
let param = {
date: this.currentDate
};
request_api.marketHotspotOverview(param).then((res) => {
var _a;
const alerts = ((_a = res == null ? void 0 : res.data) == null ? void 0 : _a.alerts) || [];
const changePct = res.data.index.change_pct;
let numPct = 0;
if (changePct && !isNaN(Number(changePct))) {
numPct = Number(changePct);
}
const roundedPct = Math.round(numPct * 100) / 100;
const fixedPct = roundedPct.toFixed(2);
let formattedPct = "";
if (roundedPct > 0) {
formattedPct = `+${fixedPct}%`;
} else if (roundedPct < 0) {
formattedPct = `${fixedPct}%`;
} else {
formattedPct = "0.00%";
}
const color = roundedPct > 0 ? "#EC3440" : roundedPct < 0 ? "#01AB5D" : "#666666";
this.topLists[0].value = formattedPct;
this.topLists[0].color = color;
const processedAlerts = alerts.map((alertItem) => {
const stocks = alertItem.stocks || [];
const validStocks = stocks.filter((s) => s.change_pct != null && !isNaN(Number(s.change_pct)));
const avgChange = validStocks.length > 0 ? validStocks.reduce((sum, s) => sum + Number(s.change_pct), 0) / validStocks.length : 0;
const upCount = validStocks.filter((s) => Number(s.change_pct) > 0).length;
const downCount = validStocks.filter((s) => Number(s.change_pct) < 0).length;
const roundedAvg = Math.round(avgChange * 100) / 100;
const formattedAvg = roundedAvg > 0 ? `+${roundedAvg.toFixed(2)}` : roundedAvg.toFixed(2);
return {
...alertItem,
alpha: avgChange,
// 供模板中判断颜色和显示数值
upCount,
// 上涨股票数
downCount,
// 下跌股票数
formattedAvg
// 格式化后的均涨值(带正负号)
};
});
const sortByTimeDesc = (a, b) => {
const timeToMinutes = (timeStr) => {
const [hours, minutes] = timeStr.split(":").map(Number);
return hours * 60 + minutes;
};
const minutesA = timeToMinutes(a.time);
const minutesB = timeToMinutes(b.time);
return minutesB - minutesA;
};
const sortedAlerts = processedAlerts.sort(sortByTimeDesc);
this.marketAlertsList = sortedAlerts;
}).catch((error) => {
});
},
marketHotspotOverview() {
request_api.marketHotspotOverview().then((res) => {
}).catch((error) => {
itemDetails(item) {
common_vendor.index.navigateTo({
url: "/pagesStock/stockCenterDetails/stockCenterDetails?code=" + item.stock_code
});
},
moreAction() {
common_vendor.index.navigateTo({
url: "/pages/geGuCenter/detail"
url: "/pages/geGuCenter/detail?currentDate=" + this.currentDate
});
},
allAction(index) {
@@ -134,15 +352,66 @@ const _sfc_main = {
this.$refs["detailPopup"].close();
}
},
handleDateChange(date) {
this.selectedDate = date;
common_vendor.index.__f__("log", "at pages/geGuCenter/geGuCenter.vue:719", "选中的日期:", date);
},
confirmAction(index) {
if (index == 1) {
this.$refs["typePopup"].close();
} else if (index == 2) {
if (this.selectedDate) {
this.currentDate = this.selectedDate;
common_vendor.index.__f__("log", "at pages/geGuCenter/geGuCenter.vue:728", "最终确认的日期:", this.currentDate);
} else {
const now = /* @__PURE__ */ new Date();
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, "0");
const day = now.getDate().toString().padStart(2, "0");
this.currentDate = `${year}-${month}-${day}`;
}
this.marketHeatmap(this.currentDate);
this.marketStatistics();
this.marketHotspotListOverview();
this.$refs["datePopup"].close();
}
},
bkydAction(item) {
this.$refs["detailPopup"].open();
this.formattedAvg = item.formattedAvg, this.upCount = item.upCount, this.downCount = item.downCount, this.limit_up_ratio = item.limit_up_ratio, this.conceptStocksDetails(item.concept_id);
},
conceptStocksDetails(concept_id) {
common_vendor.index.__f__("log", "at pages/geGuCenter/geGuCenter.vue:754", "concept_id", concept_id);
request_api.conceptStocks(concept_id, {}).then((res) => {
if (res.data && res.data.stocks) {
let rawData = res.data.stocks;
this.conceptStocksList = rawData.sort((a, b) => {
const aValue = a.change_pct === null || a.change_pct === void 0 ? -999 : Number(a.change_pct);
const bValue = b.change_pct === null || b.change_pct === void 0 ? -999 : Number(b.change_pct);
return bValue - aValue;
});
} else {
common_vendor.index.__f__("warn", "at pages/geGuCenter/geGuCenter.vue:773", "接口返回数据格式异常", res);
}
}).catch((error) => {
});
},
// 格式化涨跌幅显示(处理正负号、保留两位小数)
formatChangePct(change_pct) {
if (typeof change_pct !== "number")
return "0.00%";
const symbol = change_pct >= 0 ? "+" : "";
return `${symbol}${change_pct.toFixed(2)}%`;
},
// 获取涨跌幅文字颜色(涨红跌绿,平盘灰色)
getChangeColor(change_pct) {
if (typeof change_pct !== "number")
return "#888888";
if (change_pct > 0)
return "#EC3440";
if (change_pct < 0)
return "#00B42A";
return "#888888";
}
}
};
@@ -187,7 +456,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
c: $data.list2Index == index ? "#FFFAF1" : "#FFFFFF",
d: common_vendor.t(item.value),
e: $data.list2Index == index ? "#BB8520" : "#070707",
f: common_vendor.o(($event) => $data.list2Index = index, index),
f: common_vendor.o(($event) => $options.handleTypeClick(index), index),
g: index,
h: `1rpx solid ${$data.list2Index == index ? "#F2C369" : "#D2D2D2"}`
};
@@ -198,18 +467,21 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
b: index
};
}),
k: common_vendor.f(10, (obj, j, i0) => {
k: common_vendor.f($data.filteredData, (obj, j, i0) => {
return {
a: common_vendor.f(["云南白药", "+0.04%", "996.85 亿元", "4.44 亿元", "医药生物"], (item, index, i1) => {
a: common_vendor.f($options.getTableItem(obj), (item, index, i1) => {
return common_vendor.e({
a: common_vendor.t(item),
a: common_vendor.t(item[0]),
b: index == 0
}, index == 0 ? {} : {}, {
c: index,
d: index == 0 ? "#222222" : index == 1 ? "#EC3440" : "#666666"
}, index == 0 ? {
c: common_vendor.t(item[1])
} : {}, {
d: index,
e: index == 0 ? "#222222" : index == 1 ? item[2] === "positive" ? "#EC3440" : "#01AB5D" : "#666666"
});
}),
b: j % 2 == 0 ? "#fff" : "#FAFAFC"
b: common_vendor.o(($event) => $options.itemDetails(obj)),
c: j % 2 == 0 ? "#fff" : "#FAFAFC"
};
}),
l: common_assets._imports_1$2,
@@ -217,47 +489,79 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
n: common_assets._imports_3$7,
o: common_assets._imports_4$1,
p: common_vendor.o(($event) => $options.allAction(1)),
q: common_assets._imports_4$1,
r: common_vendor.o(($event) => $options.allAction(2)),
s: common_assets._imports_3$7,
t: common_vendor.f(10, (item, index, i0) => {
return {
a: index,
b: common_vendor.o(($event) => $options.bkydAction(item), index)
};
q: common_vendor.t($data.currentDate),
r: common_assets._imports_4$1,
s: common_vendor.o(($event) => $options.allAction(2)),
t: common_assets._imports_3$7,
v: common_vendor.f($data.marketAlertsList, (item, index, i0) => {
var _a, _b, _c, _d;
return common_vendor.e({
a: common_vendor.t(item.time),
b: common_vendor.t(item.concept_name),
c: ((_a = $data.alertTypeConfig[item.alert_type]) == null ? void 0 : _a.filter) || "",
d: common_vendor.t(((_b = $data.alertTypeConfig[item.alert_type]) == null ? void 0 : _b.text) || "异动"),
e: ((_c = $data.alertTypeConfig[item.alert_type]) == null ? void 0 : _c.color) || "#FF7A45",
f: "1rpx solid " + (((_d = $data.alertTypeConfig[item.alert_type]) == null ? void 0 : _d.color) || "#FF7A45"),
g: common_vendor.t(item.formattedAvg),
h: Number(item.alpha) > 0 ? "#EC3440" : "#01AB5D",
i: common_vendor.t(item.upCount),
j: item.upCount > 0 ? "#EC3440" : "#888888",
k: common_vendor.t(item.downCount),
l: item.downCount > 0 ? "#01AB5D" : "#888888",
m: common_vendor.t(Math.round(item.final_score)),
n: item && Number(item.limit_up_ratio) > 0 && !isNaN(Number(item.limit_up_ratio))
}, item && Number(item.limit_up_ratio) > 0 && !isNaN(Number(item.limit_up_ratio)) ? {
o: common_vendor.t($options.formatLimitUpRatio(item.limit_up_ratio, 0))
} : {}, {
p: index,
q: common_vendor.o(($event) => $options.bkydAction(item), index)
});
}),
v: common_assets._imports_5$3,
w: common_vendor.s("top:" + $data.contentTop + "px;"),
x: common_vendor.o(($event) => $options.closeAction(1)),
y: common_vendor.o(($event) => $options.confirmAction(1)),
z: common_vendor.f($data.typeList, (item, index, i0) => {
w: common_assets._imports_5$3,
x: common_vendor.s("top:" + $data.contentTop + "px;"),
y: common_vendor.o(($event) => $options.closeAction(1)),
z: common_vendor.o(($event) => $options.confirmAction(1)),
A: common_vendor.f($data.typeList, (item, index, i0) => {
return {
a: item.backIcon,
b: common_vendor.t(item.title),
c: index
};
}),
A: common_vendor.sr("typePopup", "c7f5c964-1"),
B: common_vendor.p({
B: common_vendor.sr("typePopup", "c7f5c964-1"),
C: common_vendor.p({
type: "bottom",
safeArea: false
}),
C: common_vendor.o(($event) => $options.closeAction(2)),
D: common_vendor.o(($event) => $options.confirmAction(2)),
E: common_vendor.sr("datePopup", "c7f5c964-2"),
F: common_vendor.p({
D: common_vendor.o(($event) => $options.closeAction(2)),
E: common_vendor.o(($event) => $options.confirmAction(2)),
F: common_vendor.o($options.handleDateChange),
G: common_vendor.sr("datePopup", "c7f5c964-2"),
H: common_vendor.p({
type: "bottom",
safeArea: false
}),
G: common_assets._imports_9$1,
H: common_vendor.o(($event) => $options.closeAction(3)),
I: common_vendor.f(10, (item, index, i0) => {
I: common_assets._imports_8,
J: common_vendor.o(($event) => $options.closeAction(3)),
K: common_vendor.t($data.formattedAvg),
L: Number($data.formattedAvg) > 0 ? "#EC3440" : "#01AB5D",
M: common_vendor.t($data.upCount),
N: $data.upCount > 0 ? "#EC3440" : "#888888",
O: common_vendor.t($data.downCount),
P: $data.downCount > 0 ? "#01AB5D" : "#888888",
Q: common_vendor.t($options.formatLimitUpRatio($data.limit_up_ratio, 0)),
R: common_vendor.f($data.conceptStocksList, (item, index, i0) => {
return {
a: index % 2 == 0 ? "#fff" : "#FAFAFC"
a: common_vendor.t(item.name),
b: common_vendor.t(item.code),
c: common_vendor.t($options.formatChangePct(item.change_pct)),
d: $options.getChangeColor(item.change_pct),
e: index,
f: index % 2 == 0 ? "#fff" : "#FAFAFC"
};
}),
J: common_vendor.sr("detailPopup", "c7f5c964-4"),
K: common_vendor.p({
S: common_vendor.sr("detailPopup", "c7f5c964-4"),
T: common_vendor.p({
type: "bottom",
safeArea: false
})

File diff suppressed because one or more lines are too long