基础组件完善
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* 评查点分组表
|
||||
*/
|
||||
interface EvaluationPointGroup {
|
||||
id: number; // 主键,自增
|
||||
pid: number | null; // 所属分组ID,外键引用本表,可为空
|
||||
code: string; // 分组编码,唯一且非空
|
||||
name: string; // 分组名称,非空
|
||||
description?: string; // 分组描述,可为空
|
||||
is_enabled: boolean; // 是否启用,默认true
|
||||
created_at: string; // 创建时间,带时区,默认当前时间
|
||||
updated_at: string; // 更新时间,带时区,默认当前时间
|
||||
}
|
||||
|
||||
export type { EvaluationPointGroup };
|
||||
@@ -0,0 +1,308 @@
|
||||
/**
|
||||
* 评查点数据类型定义
|
||||
*/
|
||||
interface EvaluationPoint {
|
||||
id?: number;
|
||||
name?: string; // 评查点名称
|
||||
code?: string; // 评查点编码
|
||||
risk?: string; // 风险级别
|
||||
is_enabled?: boolean; // 是否启用
|
||||
description?: string; // 描述
|
||||
references_laws?: { // 法律法规引用
|
||||
name?: string; // 法规名称
|
||||
articles?: string[]; // 条款列表
|
||||
content?: string; // 法规内容
|
||||
};
|
||||
evaluation_point_groups_pid?: number | null; // 评查点类型组ID
|
||||
evaluation_point_groups_id?: number | null; // 所属评查组ID
|
||||
extraction_config?: ExtactionConfigType; // 抽取配置
|
||||
evaluation_config?: EvaluationConfigType; // 评查配置
|
||||
pass_message?: string; // 通过消息
|
||||
fail_message?: string; // 失败消息
|
||||
suggestion_message?: string; // 建议消息
|
||||
suggestion_message_type?: SuggestionMessageType; // 建议消息类型 默认warning(info/warning/error)
|
||||
post_action?: PostActionType; // 评查后动作 可为空(none/manual/replace)
|
||||
action_config?: string; // 动作配置
|
||||
score?: number; // 分数
|
||||
}
|
||||
|
||||
/**
|
||||
* 风险级别类型定义
|
||||
*/
|
||||
type RiskLevelType = 'high' | 'medium' | 'low';
|
||||
|
||||
/**
|
||||
* 建议消息类型定义
|
||||
*/
|
||||
type SuggestionMessageType = 'info' | 'warning' | 'error';
|
||||
|
||||
/**
|
||||
* 评查后动作类型定义
|
||||
*/
|
||||
type PostActionType = 'none' | 'manual' | 'replace';
|
||||
|
||||
/**
|
||||
* 抽取配置类型定义
|
||||
*/
|
||||
interface ExtactionConfigType {
|
||||
llm: {
|
||||
fields: string[];
|
||||
prompt_setting: PromptSetting;
|
||||
};
|
||||
vlm: {
|
||||
fields: Array<{
|
||||
name: string;
|
||||
type: VLMFieldType; // 多模态字段类型 默认、货币、打印、印章、骑缝章、英文、数字、手写
|
||||
}>;
|
||||
prompt_setting: PromptSetting;
|
||||
};
|
||||
regex: {
|
||||
fields: Array<{
|
||||
field: string;
|
||||
pattern: string;
|
||||
}>;
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* VLM字段类型定义
|
||||
*/
|
||||
type VLMFieldType = 'default' | 'currency' | 'print' | 'seal' | 'cross-seal' | 'english' | 'number' | 'handwriting';
|
||||
|
||||
/**
|
||||
* 提示配置类型定义
|
||||
*/
|
||||
interface PromptSetting {
|
||||
type: PromptType; // "system" or "custom" 如果为 "custom" 则为自定义提示
|
||||
template: string; // 提示模板
|
||||
}
|
||||
|
||||
/**
|
||||
* 提示类型定义
|
||||
*/
|
||||
type PromptType = 'system' | 'custom';
|
||||
|
||||
/**
|
||||
* 评查配置类型定义
|
||||
*/
|
||||
interface EvaluationConfigType {
|
||||
logicType: LogicType;
|
||||
customLogic: string; // 自定义逻辑:(规则1 AND 规则2) OR 规则3
|
||||
rules: Rule[];
|
||||
}
|
||||
|
||||
/**
|
||||
* 逻辑类型定义
|
||||
*/
|
||||
type LogicType = 'and' | 'or' | 'custom';
|
||||
|
||||
interface Rule {
|
||||
id: string;
|
||||
type: RuleType; // 规则类型 有无、一致性、格式、逻辑、正则、AI、代码
|
||||
config: {
|
||||
// exists 规则配置
|
||||
fields?: string[];
|
||||
logic?: LogicOperator;
|
||||
|
||||
// consistency 规则配置
|
||||
pairs?: Array<{
|
||||
sourceField: string;
|
||||
targetField: string;
|
||||
compareMethod: CompareMethod; // 比较方法 包含、精确、大模型语义
|
||||
}>;
|
||||
|
||||
// format 规则配置
|
||||
field?: string;
|
||||
formatType?: FormatType; // 格式类型 日期格式、数字格式、电话号码、电子邮箱、银行卡号、身份证号码、邮政编码、统一社会信用代码
|
||||
parameters?: string;
|
||||
|
||||
// logic 规则配置
|
||||
conditions?: Array<{
|
||||
field: string;
|
||||
operator: ComparisonOperator; // 比较运算符 等于、不等于、大于、大于等于、小于、小于等于、包含、不包含
|
||||
value: string;
|
||||
}>;
|
||||
|
||||
// regex 规则配置
|
||||
pattern?: string;
|
||||
matchType?: MatchType; // 匹配类型 必须匹配(符合为通过)、不得匹配(不符合为通过)
|
||||
|
||||
// ai 规则配置
|
||||
model?: string; // 大模型名称
|
||||
temperature?: number; // 温度
|
||||
prompt?: string; // 提示
|
||||
|
||||
// code 规则配置
|
||||
language?: ProgrammingLanguage;
|
||||
code?: string;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 规则类型定义
|
||||
*/
|
||||
type RuleType = 'exists' | 'consistency' | 'format' | 'logic' | 'regex' | 'ai' | 'code';
|
||||
|
||||
/**
|
||||
* 逻辑操作符定义
|
||||
*/
|
||||
type LogicOperator = 'and' | 'or';
|
||||
|
||||
/**
|
||||
* 比较方法定义
|
||||
*/
|
||||
type CompareMethod = 'contains' | 'exact' | 'semantic';
|
||||
|
||||
/**
|
||||
* 格式类型定义
|
||||
*/
|
||||
type FormatType = 'date' | 'number' | 'phone' | 'email' | 'bank' | 'id' | 'postal' | 'credit';
|
||||
|
||||
/**
|
||||
* 比较运算符定义
|
||||
*/
|
||||
type ComparisonOperator = 'eq' | 'neq' | 'gt' | 'gte' | 'lt' | 'lte' | 'contains' | 'not_contains';
|
||||
|
||||
/**
|
||||
* 匹配类型定义
|
||||
*/
|
||||
type MatchType = 'match' | 'not_match';
|
||||
|
||||
/**
|
||||
* 编程语言定义
|
||||
*/
|
||||
type ProgrammingLanguage = 'python' | 'javascript';
|
||||
|
||||
/**
|
||||
* 下拉选项数据集
|
||||
*/
|
||||
export const EVALUATION_OPTIONS = {
|
||||
// 风险级别选项
|
||||
riskLevelOptions: [
|
||||
{ value: 'high', label: '高风险' },
|
||||
{ value: 'medium', label: '中风险' },
|
||||
{ value: 'low', label: '低风险' }
|
||||
],
|
||||
|
||||
// 建议消息类型选项
|
||||
suggestionMessageTypeOptions: [
|
||||
{ value: 'info', label: '提示' },
|
||||
{ value: 'warning', label: '警告' },
|
||||
{ value: 'error', label: '错误' }
|
||||
],
|
||||
|
||||
// 评查后动作选项
|
||||
postActionOptions: [
|
||||
{ value: 'none', label: '无' },
|
||||
{ value: 'manual', label: '人工确认' },
|
||||
{ value: 'replace', label: '内容替换' }
|
||||
],
|
||||
|
||||
// VLM字段类型选项
|
||||
vlmFieldTypeOptions: [
|
||||
{ value: 'default', label: '默认' },
|
||||
{ value: 'currency', label: '货币' },
|
||||
{ value: 'print', label: '打印' },
|
||||
{ value: 'seal', label: '印章' },
|
||||
{ value: 'cross-seal', label: '骑缝章' },
|
||||
{ value: 'english', label: '英文' },
|
||||
{ value: 'number', label: '数字' },
|
||||
{ value: 'handwriting', label: '手写' }
|
||||
],
|
||||
|
||||
// 提示类型选项
|
||||
promptTypeOptions: [
|
||||
{ value: 'system', label: '使用系统默认提示词' },
|
||||
{ value: 'custom', label: '使用自定义提示词' }
|
||||
],
|
||||
|
||||
// 逻辑类型选项
|
||||
logicTypeOptions: [
|
||||
{ value: 'and', label: '全部满足(AND)' },
|
||||
{ value: 'or', label: '任一满足(OR)' },
|
||||
{ value: 'custom', label: '自定义组合' }
|
||||
],
|
||||
|
||||
// 规则类型选项
|
||||
ruleTypeOptions: [
|
||||
{ value: 'exists', label: '有无判断' },
|
||||
{ value: 'consistency', label: '一致性判断' },
|
||||
{ value: 'format', label: '格式判断' },
|
||||
{ value: 'logic', label: '逻辑判断' },
|
||||
{ value: 'regex', label: '正则表达式' },
|
||||
{ value: 'ai', label: '大模型判断' },
|
||||
{ value: 'code', label: '自定义代码' }
|
||||
],
|
||||
|
||||
// 逻辑操作符选项
|
||||
logicOperatorOptions: [
|
||||
{ value: 'and', label: 'AND(所有条件都满足)' },
|
||||
{ value: 'or', label: 'OR(任一条件满足)' }
|
||||
],
|
||||
|
||||
// 比较方法选项
|
||||
compareMethodOptions: [
|
||||
{ value: 'contains', label: '包含关系' },
|
||||
{ value: 'exact', label: '精确匹配' },
|
||||
{ value: 'semantic', label: '大模型语义匹配' }
|
||||
],
|
||||
|
||||
// 格式类型选项
|
||||
formatTypeOptions: [
|
||||
{ value: 'date', label: '日期格式' },
|
||||
{ value: 'number', label: '数字格式' },
|
||||
{ value: 'phone', label: '电话号码' },
|
||||
{ value: 'email', label: '电子邮箱' },
|
||||
{ value: 'bank', label: '银行卡号' },
|
||||
{ value: 'id', label: '身份证号码' },
|
||||
{ value: 'postal', label: '邮政编码' },
|
||||
{ value: 'credit', label: '统一社会信用代码' }
|
||||
],
|
||||
|
||||
// 比较运算符选项
|
||||
comparisonOperatorOptions: [
|
||||
{ value: 'eq', label: '等于(=)' },
|
||||
{ value: 'neq', label: '不等于(≠)' },
|
||||
{ value: 'gt', label: '大于(>)' },
|
||||
{ value: 'gte', label: '大于等于(≥)' },
|
||||
{ value: 'lt', label: '小于(<)' },
|
||||
{ value: 'lte', label: '小于等于(≤)' },
|
||||
{ value: 'contains', label: '包含' },
|
||||
{ value: 'not_contains', label: '不包含' }
|
||||
],
|
||||
|
||||
// 匹配类型选项
|
||||
matchTypeOptions: [
|
||||
{ value: 'match', label: '必须匹配(符合为通过)' },
|
||||
{ value: 'not_match', label: '不得匹配(不符合为通过)' }
|
||||
],
|
||||
|
||||
// 编程语言选项
|
||||
programmingLanguageOptions: [
|
||||
{ value: 'python', label: 'Python' },
|
||||
{ value: 'javascript', label: 'JavaScript' }
|
||||
]
|
||||
};
|
||||
|
||||
// 导出类型定义供其他模块使用
|
||||
export type {
|
||||
EvaluationPoint,
|
||||
RiskLevelType,
|
||||
SuggestionMessageType,
|
||||
PostActionType,
|
||||
ExtactionConfigType,
|
||||
VLMFieldType,
|
||||
PromptSetting,
|
||||
PromptType,
|
||||
EvaluationConfigType,
|
||||
LogicType,
|
||||
Rule,
|
||||
RuleType,
|
||||
LogicOperator,
|
||||
CompareMethod,
|
||||
FormatType,
|
||||
ComparisonOperator,
|
||||
MatchType,
|
||||
ProgrammingLanguage
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user