feat(selfop): select inventory sales window and cutoff date

This commit is contained in:
2026-10-13 12:36:45 +08:00
parent 58df0ed9e3
commit 9dcd991ddb
7 changed files with 104 additions and 34 deletions
+5 -5
View File
@@ -47,7 +47,7 @@ export function beijingTime(value: string | null | undefined) {
}
export const statusLabels: Record<string, string> = {
COMPLETE: '完整', PARTIAL: '未完整', UNKNOWN: '未知', QUEUED: '排队中', RUNNING: '执行中',
WAITING: '等待中', WAITING_UPSTREAM: '等待上游', RETRY_WAIT: '待重试', YIELDED: '预算等待',
WAITING: '等待中', WAITING_UPSTREAM: '等待上游', WAITING_SOURCE: '等待来源数据', RETRY_WAIT: '待重试', YIELDED: '预算等待',
FAILED: '失败', DEAD: '待处理', SUCCEEDED: '执行成功', ROUTED: '账号共享采集完成',
SAMPLE_DONE: '测试样本结束', PUBLISHED: '已发布', REUSED: '沿用已有结果', NOT_PUBLISHED: '未发布',
PENDING: '待处理', BLOCKED: '修订阻断', OFF: '关闭', VALIDATION: '验证采样', BUSINESS: '正式采集',
@@ -61,17 +61,17 @@ export const statusLabels: Record<string, string> = {
UNCOVERED: '覆盖不足', INCOMPLETE: '未完整',
NO_AVAILABLE_INVENTORY: '无可售库存', UNIT_UNKNOWN_OR_CONFLICT: '数量单位待核对',
SALES_UNTRUSTED: '销量待核对', COVERAGE_INSUFFICIENT: '覆盖不足', OBSERVATION_INSUFFICIENT: '观察期不足',
SALES_UNKNOWN: '销量未知', NO_OUTBOUND_30_DAYS: '近30天无出库', INVENTORY_INVALID: '库存异常',
SALES_UNKNOWN: '销量未知', NO_OUTBOUND_IN_WINDOW: '所选窗口无出库', NO_OUTBOUND_30_DAYS: '近30天无出库', INVENTORY_INVALID: '库存异常',
INVENTORY_STALE: '库存过期', INVENTORY_UNKNOWN: '库存未知',
}
export const reasonLabels: Record<string, string> = {
UNASSESSABLE_SKUS: '存在待评估SKU', INVENTORY_UNAVAILABLE: '库存资料不可用', SALES_UNAVAILABLE: '销量资料不可用',
PHYSICAL_INVENTORY_UNKNOWN: '实物库存待核验', AVAILABLE_INVENTORY_UNKNOWN: '可售库存待核验',
SALES_QUANTITY_OR_UNIT_INVALID: '出库数量或单位异常', NO_ELIGIBLE_SKUS: '暂无符合条件的SKU',
NO_OUTBOUND_30D: '近30天无出库', COVERAGE_GT_THRESHOLD: '可售天数超过本次阈值',
NO_OUTBOUND_IN_WINDOW: '所选窗口无出库', NO_OUTBOUND_30D: '近30天无出库', COVERAGE_GT_THRESHOLD: '可售天数超过本次阈值',
FROZEN_STOCK: '存在冻结库存', DEFECTIVE_STOCK: '存在次品实物库存', UNASSESSABLE: '数据不足/待观察',
THRESHOLD_NOT_SET: '未设置查询阈值', NO_PHYSICAL_INVENTORY: '无实物库存',
METRIC_DEPENDENCY_UNKNOWN: '该指标依赖资料未知', SALES_WINDOW_UNAVAILABLE: '完整30日销量不可用',
METRIC_DEPENDENCY_UNKNOWN: '该指标依赖资料未知', SALES_WINDOW_UNAVAILABLE: '所选窗口完整销量不可用',
RISK_DEPENDENCY_UNKNOWN: '部分SKU关注判断未知', NO_OUTBOUND_IN_COLLECTED_HISTORY: '已采集历史内未见出库',
SALES_NOT_COVERED: '销量未覆盖', SKU_HISTORY_UNKNOWN: 'SKU历史未知', QUANTITY_UNIT_UNKNOWN: '数量单位未知',
INVENTORY_NOT_PUBLISHED: '库存尚未发布', SALES_NOT_PUBLISHED: '销量尚未发布', INVENTORY_STALE: '库存快照过期',
@@ -118,7 +118,7 @@ export class RetryIntent {
accepted() { this.pending = null }
}
export function hasActiveTask(tasks: readonly Task[]) {
return tasks.some(task => ['QUEUED', 'RUNNING', 'WAITING', 'WAITING_UPSTREAM', 'RETRY_WAIT', 'YIELDED'].includes(task.taskStatus))
return tasks.some(task => ['QUEUED', 'RUNNING', 'WAITING', 'WAITING_UPSTREAM', 'WAITING_SOURCE', 'RETRY_WAIT', 'YIELDED'].includes(task.taskStatus))
}
export class RuntimePoller {
private timer: ReturnType<typeof setTimeout> | null = null