完美的

This commit is contained in:
iqudoo
2026-06-15 17:53:51 +08:00
parent 25fa186d02
commit 43900a8b52
9 changed files with 324 additions and 97 deletions

View File

@@ -10,6 +10,19 @@ export const TEXT_EXTRACT_MODE_LABELS: Record<TextExtractMode, string> = {
prefix: '前 N 位',
suffix: '后 N 位',
};
/** 变量/内容值提取配置(元素、表格单元格、显示条件等共用) */
export interface ValueExtractConfig {
textExtractMode?: TextExtractMode;
textSplitDelimiter?: string;
textSplitIndex?: number;
textExtractLength?: number;
/** 反选:从原值中去掉「显示前缀 + 提取段 + 显示后缀」 */
textExtractInverse?: boolean;
textDisplayPrefix?: string;
textDisplaySuffix?: string;
}
export type ElementVisibilityMode = 'always' | 'conditional';
export type VisibilityOperator =
| 'empty'
@@ -23,7 +36,7 @@ export type VisibilityOperator =
/** 显示条件判断对象:变量值 或 本元素解析后的内容值 */
export type VisibilityRuleTarget = 'variable' | 'content';
export interface VisibilityRule {
export interface VisibilityRule extends ValueExtractConfig {
/** 条件对象,默认 variable */
target?: VisibilityRuleTarget;
variable: string;
@@ -87,6 +100,8 @@ export interface TableCellData {
textSplitDelimiter?: string;
textSplitIndex?: number;
textExtractLength?: number;
/** 反选:从原值中去掉「显示前缀 + 提取段 + 显示后缀」 */
textExtractInverse?: boolean;
textDisplayPrefix?: string;
textDisplaySuffix?: string;
}
@@ -175,6 +190,8 @@ export interface TemplateElement {
textSplitIndex?: number;
/** 前 N / 后 N 位提取时的位数 */
textExtractLength?: number;
/** 反选:从原值中去掉「显示前缀 + 提取段 + 显示后缀」 */
textExtractInverse?: boolean;
/** 提取后在显示文本前追加的前缀字符,仅 type=text不参与内容值条件 */
textDisplayPrefix?: string;
/** 提取后在显示文本后追加的后缀字符,仅 type=text不参与内容值条件 */