diff --git a/app/components/rules/new/ReviewSettings.tsx b/app/components/rules/new/ReviewSettings.tsx index 449a72f..1b9ee29 100644 --- a/app/components/rules/new/ReviewSettings.tsx +++ b/app/components/rules/new/ReviewSettings.tsx @@ -627,7 +627,8 @@ export function ReviewSettings({ initialConfig = { field: originalConfig.field || '', checkField: originalConfig.checkField || originalConfig.field || '', - formatType: originalConfig.formatType || '', + formatType: originalConfig.formatType || 'date', + parameters: originalConfig.parameters || '', formatParams: originalConfig.formatParams || originalConfig.parameters || '', availableFields: availableFields }; @@ -636,6 +637,9 @@ export function ReviewSettings({ initialConfig = { conditions: Array.isArray(originalConfig.conditions) ? originalConfig.conditions : [], logic: originalConfig.logic || originalConfig.logicRelation || 'and', + initialField: '', + initialOperator: 'eq', + initialValue: '', availableFields: availableFields }; break; @@ -1260,10 +1264,16 @@ export function ReviewSettings({ const field = (config.initialField as string) || ''; const operator = e.target.value; - handleRuleConfigChange(id, { - initialOperator: operator, - conditions: [{ field, operator, value: '' }] - }); + // 如果field已经设置,则创建完整的条件 + if (field) { + handleRuleConfigChange(id, { + initialOperator: operator, + conditions: [{ field, operator, value: '' }] + }); + } else { + // 仅保存操作符值 + handleRuleConfigChange(id, { initialOperator: operator }); + } // 触发配置更新 generateEvaluationConfig(); }} @@ -1292,10 +1302,16 @@ export function ReviewSettings({ const operator = (config.initialOperator as string) || 'eq'; const value = e.target.value; - handleRuleConfigChange(id, { - initialValue: value, - conditions: [{ field, operator, value }] - }); + // 如果已经设置了字段,则创建条件 + if (field) { + handleRuleConfigChange(id, { + initialValue: value, + conditions: [{ field, operator, value }] + }); + } else { + // 否则只保存值 + handleRuleConfigChange(id, { initialValue: value }); + } // 触发配置更新 generateEvaluationConfig(); }} @@ -1314,10 +1330,19 @@ export function ReviewSettings({ // 直接获取当前的conditions数组,或初始化为空数组 const conditions = Array.isArray(config.conditions) ? [...(config.conditions as Condition[])] : []; + // 如果数组为空,尝试从初始字段创建条件 + if (conditions.length === 0 && config.initialField) { + const field = config.initialField as string; + const operator = (config.initialOperator as string) || 'eq'; + const value = (config.initialValue as string) || ''; + + if (field) { + conditions.push({ field, operator, value }); + } + } + // 创建新的空白条件 const newCondition = { field: '', operator: 'eq', value: '' }; - - // 无论如何,都添加一个新的空白行 conditions.push(newCondition); // 更新配置 @@ -1384,7 +1409,7 @@ export function ReviewSettings({ + /> +
+ 输入标准正则表达式,例如: "^[a-zA-Z0-9]+$" 表示仅允许字母和数字 +
-
- 匹配类型 * -
- - -
-
+ +
+ + +
); @@ -1600,11 +1637,11 @@ export function ReviewSettings({ return (
- + { handleRuleConfigChange(id, { formatType: e.target.value }); // 直接触发配置更新 @@ -1637,29 +1674,32 @@ export function ReviewSettings({ - - - - + + + +
- - 格式参数 + { handleRuleConfigChange(id, { formatParams: e.target.value, - parameters: e.target.value // 同步更新内部参数字段 + parameters: e.target.value }); // 直接触发配置更新 generateEvaluationConfig(); }} /> +
+ 根据格式类型传入特定参数,如日期格式可传入"YYYY-MM-DD" +
);