fix:修改常量为单独文件
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { PeriodRange, RankItem, TabMetric } from './MarketRankingTypes';
|
||||
import { MarketRankingModel } from './MarketRankingModel';
|
||||
import { formatGreatNumber, formatPercent, riseFallColor } from '../common/NumberFormat';
|
||||
import { PERIOD_RANGES, TAB_METRICS } from './MarketRankingConstant';
|
||||
|
||||
const NORMAL_SIZE = 3;
|
||||
const MAX_SIZE = 5;
|
||||
@@ -15,9 +16,9 @@ export struct MarketRanking {
|
||||
|
||||
// 第三列标题随 Tab 变化
|
||||
private thirdColumnTitle(): string {
|
||||
const metric = this.vm.tabMetrics[this.primaryIdx];
|
||||
const metric = TAB_METRICS[this.primaryIdx];
|
||||
if (metric.hasChildren) {
|
||||
return `${this.vm.periodRanges[this.secondaryIdx].label}${metric.label}`;
|
||||
return `${PERIOD_RANGES[this.secondaryIdx].label}${metric.label}`;
|
||||
}
|
||||
if (metric.id === 'rise' || metric.id === 'fall') {
|
||||
return '涨跌幅';
|
||||
@@ -27,13 +28,13 @@ export struct MarketRanking {
|
||||
|
||||
// 成交额/日增仓列用中性色,其余按涨跌上色
|
||||
private isNeutralColumn(): boolean {
|
||||
const id = this.vm.tabMetrics[this.primaryIdx].id;
|
||||
const id = TAB_METRICS[this.primaryIdx].id;
|
||||
return id === 'turnOver' || id === 'increPosit';
|
||||
}
|
||||
|
||||
// 第三列展示值:按当前一级 Tab 从对应原始字段取值并格式化
|
||||
private thirdColumnValue(item: RankItem): string {
|
||||
const id = this.vm.tabMetrics[this.primaryIdx].id;
|
||||
const id = TAB_METRICS[this.primaryIdx].id;
|
||||
if (id === 'turnOver') {
|
||||
return formatGreatNumber(item.turnover);
|
||||
}
|
||||
@@ -51,7 +52,7 @@ export struct MarketRanking {
|
||||
if (this.isNeutralColumn()) {
|
||||
return $r('app.color.text_primary');
|
||||
}
|
||||
const id = this.vm.tabMetrics[this.primaryIdx].id;
|
||||
const id = TAB_METRICS[this.primaryIdx].id;
|
||||
const raw = id === 'riseSpeed' || id === 'fallSpeed' ? item.chg_speed : item.price_chg;
|
||||
return riseFallColor(raw);
|
||||
}
|
||||
@@ -83,7 +84,7 @@ export struct MarketRanking {
|
||||
// 一级 Tab(胶囊按钮,可横向滚动)
|
||||
Scroll() {
|
||||
Row({ space: 8 }) {
|
||||
ForEach(this.vm.tabMetrics, (metric: TabMetric, index: number) => {
|
||||
ForEach(TAB_METRICS, (metric: TabMetric, index: number) => {
|
||||
Text(metric.label)
|
||||
.fontSize(14)
|
||||
.fontWeight(this.primaryIdx === index ? FontWeight.Bold : FontWeight.Normal)
|
||||
@@ -108,9 +109,9 @@ export struct MarketRanking {
|
||||
.align(Alignment.Start)
|
||||
|
||||
// 二级 Tab(仅涨速/跌速出现,右对齐文字 + 分隔线)
|
||||
if (this.vm.tabMetrics[this.primaryIdx].hasChildren) {
|
||||
if (TAB_METRICS[this.primaryIdx].hasChildren) {
|
||||
Row() {
|
||||
ForEach(this.vm.periodRanges, (period: PeriodRange, index: number) => {
|
||||
ForEach(PERIOD_RANGES, (period: PeriodRange, index: number) => {
|
||||
if (index !== 0) {
|
||||
Divider()
|
||||
.vertical(true)
|
||||
|
||||
@@ -6,8 +6,8 @@ import { MOCK_RANK_LISTS, MOCK_SPEED_LISTS } from './MarketRankingMock';
|
||||
// 状态持有 + 编排类;
|
||||
@Observed
|
||||
export class MarketRankingModel {
|
||||
tabMetrics: TabMetric[] = TAB_METRICS;
|
||||
periodRanges: PeriodRange[] = PERIOD_RANGES;
|
||||
private tabMetrics: TabMetric[] = TAB_METRICS;
|
||||
private periodRanges: PeriodRange[] = PERIOD_RANGES;
|
||||
rankLists: RankItem[][] = MOCK_RANK_LISTS;
|
||||
speedLists: RankItem[][][] = MOCK_SPEED_LISTS;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user