fix market ranking state and quote rendering
This commit is contained in:
@@ -1,7 +1,12 @@
|
||||
import { AbsRowData, RowData, TableData } from '@b2b/hq_table';
|
||||
import { TableRequestClient } from '@b2c/lib_baseui';
|
||||
import { TableConstants as BaseTableConstants, TableRequestClient } from '@b2c/lib_baseui';
|
||||
import { RequestHelper, StuffTableStruct } from '@kernel/lib_communication';
|
||||
import { applyStandardPriceToTableData } from 'biz_quote';
|
||||
import {
|
||||
QuoteCustomSettingManager,
|
||||
StandardPriceType,
|
||||
StandardPriceTypeHelper,
|
||||
applyStandardPriceToTableData,
|
||||
} from 'biz_quote';
|
||||
import {
|
||||
CardData,
|
||||
RankItem,
|
||||
@@ -16,6 +21,17 @@ import { TableConstants } from '../../market-ranking/TableConstants';
|
||||
|
||||
const FRAME_ID = 2201;
|
||||
const PAGE_ID = 4106;
|
||||
const REQUIRED_IDS_FOR_STANDARD_PRICE: number[] = [
|
||||
BaseTableConstants.DATA_ID_CODE_4,
|
||||
BaseTableConstants.DATA_ID_PRICE,
|
||||
BaseTableConstants.DATA_ID_ZF,
|
||||
BaseTableConstants.DATA_ID_ZD,
|
||||
BaseTableConstants.DATA_ID_MARKET,
|
||||
BaseTableConstants.DATA_ID_MARKET_OLD,
|
||||
StandardPriceTypeHelper.FIELD_ZUO_SHOU,
|
||||
StandardPriceTypeHelper.FIELD_JIN_KAI,
|
||||
StandardPriceTypeHelper.FIELD_ZUO_JIE,
|
||||
];
|
||||
|
||||
export type MarketRankingCardDataListener = (cardData: CardData) => void;
|
||||
|
||||
@@ -107,7 +123,9 @@ class MarketRankingTableRequestClient extends TableRequestClient {
|
||||
return value;
|
||||
}
|
||||
if (typeof value === 'string' && value !== '' && value !== '--') {
|
||||
const result: number = Number(value);
|
||||
// 行情解析及标准价换算后的字段可能带 "%" 等展示后缀。
|
||||
// 与仓库内其他行情卡片保持一致,读取开头的有效数值。
|
||||
const result: number = parseFloat(value);
|
||||
return Number.isNaN(result) ? undefined : result;
|
||||
}
|
||||
return undefined;
|
||||
@@ -142,14 +160,12 @@ export class MarketRankingHqRequestClient {
|
||||
const sortId: number = this.getSortId(primaryIdx, secondaryIdx);
|
||||
const fieldIds: number[] = [
|
||||
TableConstants.DATA_ID_NAME,
|
||||
TableConstants.DATA_ID_PRICE,
|
||||
TableConstants.DATA_ID_CODE_4,
|
||||
TableConstants.DATA_ID_MARKET,
|
||||
TableConstants.DATA_ID_ZF,
|
||||
TableConstants.DATA_ID_PRE_PRICE,
|
||||
TableConstants.DATA_ID_OPEN_PRICE,
|
||||
TableConstants.DATA_ID_JSJ,
|
||||
];
|
||||
REQUIRED_IDS_FOR_STANDARD_PRICE.forEach((fieldId: number): void => {
|
||||
if (!fieldIds.includes(fieldId)) {
|
||||
fieldIds.push(fieldId);
|
||||
}
|
||||
});
|
||||
if (!fieldIds.includes(sortId)) {
|
||||
fieldIds.push(sortId);
|
||||
}
|
||||
@@ -182,11 +198,15 @@ export class MarketRankingHqRequestClient {
|
||||
): string {
|
||||
const metric: TabMetric = TAB_METRICS[primaryIdx];
|
||||
const sortOrder: string = metric.sortOrder;
|
||||
const computeMode: StandardPriceType =
|
||||
QuoteCustomSettingManager.getInstance().getStandardPriceType();
|
||||
return `\r\nsortid=${sortId}\r\n` +
|
||||
`sortorder=${sortOrder}\r\n` +
|
||||
`push=1\r\n` +
|
||||
`dataitem=${fieldIds.map((fieldId: number): string => `${fieldId},`).join('')}\r\n` +
|
||||
`codelist=${this.formatCodeList(contracts)}\r\n` +
|
||||
`update=1\r\n` +
|
||||
`computemode=${computeMode}\r\n` +
|
||||
`scenario=qht_qihuo_sort\r\n` +
|
||||
`precision=1\r\n` +
|
||||
`pushtime=2.5\r\n`;
|
||||
|
||||
Reference in New Issue
Block a user