更新Company页面的UI为FUI风格
This commit is contained in:
@@ -1726,12 +1726,59 @@ export const eventHandlers = [
|
||||
});
|
||||
});
|
||||
|
||||
// 生成各层级的模拟涨跌幅数据
|
||||
const generatePriceData = () => {
|
||||
// 生成 -5% 到 +8% 之间的随机涨跌幅
|
||||
return parseFloat((Math.random() * 13 - 5).toFixed(2));
|
||||
};
|
||||
|
||||
// 为各层级生成涨跌幅 Map
|
||||
const priceDataMap = {
|
||||
lv1: {},
|
||||
lv2: {},
|
||||
lv3: {}
|
||||
};
|
||||
|
||||
// 为每个层级生成涨跌幅
|
||||
mainlineDefinitions.forEach(def => {
|
||||
if (!priceDataMap.lv1[def.lv1_name]) {
|
||||
priceDataMap.lv1[def.lv1_name] = generatePriceData();
|
||||
}
|
||||
if (!priceDataMap.lv2[def.lv2_name]) {
|
||||
priceDataMap.lv2[def.lv2_name] = generatePriceData();
|
||||
}
|
||||
if (!priceDataMap.lv3[def.lv3_name]) {
|
||||
priceDataMap.lv3[def.lv3_name] = generatePriceData();
|
||||
}
|
||||
});
|
||||
|
||||
const mainlines = Object.values(mainlineGroups)
|
||||
.map(group => ({
|
||||
...group,
|
||||
events: group.events.slice(0, limitPerMainline),
|
||||
event_count: Math.min(group.events.length, limitPerMainline)
|
||||
}))
|
||||
.map(group => {
|
||||
// 根据分组层级获取对应的涨跌幅
|
||||
let avgChangePct = null;
|
||||
if (groupBy === 'lv1' || groupBy.startsWith('L1_')) {
|
||||
// lv1 分组,使用 lv1 涨跌幅(如果是 L1_ 开头,则显示的是 lv2 分组,使用 lv2 涨跌幅)
|
||||
if (groupBy.startsWith('L1_')) {
|
||||
avgChangePct = priceDataMap.lv2[group.group_name] ?? null;
|
||||
} else {
|
||||
avgChangePct = priceDataMap.lv1[group.group_name] ?? null;
|
||||
}
|
||||
} else if (groupBy === 'lv3' || groupBy.startsWith('L2_')) {
|
||||
// lv3 分组,使用 lv3 涨跌幅
|
||||
avgChangePct = priceDataMap.lv3[group.group_name] ?? null;
|
||||
} else {
|
||||
// lv2 分组(默认),使用 lv2 涨跌幅
|
||||
avgChangePct = priceDataMap.lv2[group.group_name] ?? null;
|
||||
}
|
||||
|
||||
return {
|
||||
...group,
|
||||
events: group.events.slice(0, limitPerMainline),
|
||||
event_count: Math.min(group.events.length, limitPerMainline),
|
||||
avg_change_pct: avgChangePct,
|
||||
price_date: new Date().toISOString().split('T')[0]
|
||||
};
|
||||
})
|
||||
.filter(group => group.event_count > 0)
|
||||
.sort((a, b) => b.event_count - a.event_count);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user