This commit is contained in:
2025-04-08 16:52:16 +08:00
parent a5cad46a84
commit c3cdff2354
3 changed files with 894 additions and 656 deletions
File diff suppressed because it is too large Load Diff
+20 -17
View File
@@ -449,15 +449,15 @@ export function ReviewSettings({ onChange, initialData }: ReviewSettingsProps) {
switch(type) { switch(type) {
case 'exists': case 'exists':
initialConfig = { initialConfig = {
selectedFields: [], fields: [], // 使用fields替代selectedFields
existsLogic: 'all', // 默认为全部必须存在 logic: 'and', // 使用logic替代existsLogic
availableFields: availableFields availableFields: availableFields
}; };
break; break;
case 'consistency': case 'consistency':
initialConfig = { initialConfig = {
pairs: [], pairs: [],
logicRelation: 'and', // 默认为AND逻辑 logic: 'and', // 使用logic替代logicRelation
availableFields: availableFields availableFields: availableFields
}; };
break; break;
@@ -473,7 +473,7 @@ export function ReviewSettings({ onChange, initialData }: ReviewSettingsProps) {
case 'logic': case 'logic':
initialConfig = { initialConfig = {
conditions: [], conditions: [],
logicRelation: 'and', // 默认为AND逻辑 logic: 'and', // 使用logic替代logicRelation
availableFields: availableFields availableFields: availableFields
}; };
break; break;
@@ -591,7 +591,7 @@ export function ReviewSettings({ onChange, initialData }: ReviewSettingsProps) {
// 更新规则配置 // 更新规则配置
handleRuleConfigChange(ruleId, { handleRuleConfigChange(ruleId, {
selectedFields: newSelectedFields fields: newSelectedFields
}); });
// 直接触发配置更新 // 直接触发配置更新
@@ -604,7 +604,7 @@ export function ReviewSettings({ onChange, initialData }: ReviewSettingsProps) {
: [...selectedFields, field]; : [...selectedFields, field];
handleRuleConfigChange(ruleId, { handleRuleConfigChange(ruleId, {
selectedFields: newSelectedFields fields: newSelectedFields
}); });
// 直接触发配置更新 // 直接触发配置更新
@@ -674,18 +674,19 @@ export function ReviewSettings({ onChange, initialData }: ReviewSettingsProps) {
<div className="form-tip mt-2"></div> <div className="form-tip mt-2"></div>
</div> </div>
<div className="mb-4"> <div className="mb-4">
<label className="form-label" htmlFor={`existsLogic-all-${id}`}> <span className="required-mark">*</span></label> <label className="form-label" htmlFor={`logic-and-${id}`}> <span className="required-mark">*</span></label>
<div className="form-radio-group"> <div className="form-radio-group">
<label className="form-radio-item"> <label className="form-radio-item">
<input <input
type="radio" type="radio"
id={`existsLogic-all-${id}`} id={`logic-and-${id}`}
name={`existsLogic_${id}`} name={`logic_${id}`}
className="form-radio" className="form-radio"
value="all" value="and"
checked={!config.existsLogic || config.existsLogic === 'all'} checked={!config.logic || config.logic === 'and'}
onChange={(e) => { onChange={(e) => {
handleRuleConfigChange(id, { existsLogic: e.target.value }); console.log(`[调试] 选择判断逻辑 and,规则ID: ${id}, 当前值: ${config.logic}`);
handleRuleConfigChange(id, { logic: e.target.value });
// 直接触发配置更新 // 直接触发配置更新
generateEvaluationConfig(); generateEvaluationConfig();
}} }}
@@ -695,13 +696,14 @@ export function ReviewSettings({ onChange, initialData }: ReviewSettingsProps) {
<label className="form-radio-item"> <label className="form-radio-item">
<input <input
type="radio" type="radio"
id={`existsLogic-any-${id}`} id={`logic-or-${id}`}
name={`existsLogic_${id}`} name={`logic_${id}`}
className="form-radio" className="form-radio"
value="any" value="or"
checked={config.existsLogic === 'any'} checked={config.logic === 'or'}
onChange={(e) => { onChange={(e) => {
handleRuleConfigChange(id, { existsLogic: e.target.value }); console.log(`[调试] 选择判断逻辑 or,规则ID: ${id}, 当前值: ${config.logic}`);
handleRuleConfigChange(id, { logic: e.target.value });
// 直接触发配置更新 // 直接触发配置更新
generateEvaluationConfig(); generateEvaluationConfig();
}} }}
@@ -1475,6 +1477,7 @@ export function ReviewSettings({ onChange, initialData }: ReviewSettingsProps) {
delete processedConfig.selectedFields; delete processedConfig.selectedFields;
} }
if (processedConfig.existsLogic) { if (processedConfig.existsLogic) {
console.log(`[调试] exists规则 ${rule.id} 转换: existsLogic=${processedConfig.existsLogic} 映射到 logic`);
processedConfig.logic = processedConfig.existsLogic; processedConfig.logic = processedConfig.existsLogic;
delete processedConfig.existsLogic; delete processedConfig.existsLogic;
} }
+435 -418
View File
File diff suppressed because it is too large Load Diff