分数,评查点分组数据对接上
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { useState, KeyboardEvent, FormEvent, useContext, useEffect, useCallback, useRef } from 'react';
|
||||
import { RuleContext } from './ReviewSettings';
|
||||
import { RuleContext } from '~/contexts/RuleContext';
|
||||
import { processFieldName } from '~/utils';
|
||||
|
||||
/**
|
||||
* ExtractionSettings 组件
|
||||
@@ -169,7 +170,7 @@ export function ExtractionSettings({ onChange, initialData }: ExtractionSettings
|
||||
|
||||
// 获取所有字段(不包括regexFields,这部分单独处理)
|
||||
const llm_ocr_fields = fields.llm_ocr || [];
|
||||
const llm_fields = (fields.llm || []).map((field) => field.split('_')[0]);
|
||||
const llm_fields = (fields.llm || []).map(processFieldName);
|
||||
|
||||
// 检查是否在其他类型字段中存在
|
||||
if (llm_ocr_fields.some(f => f.toLowerCase() === fieldNameLower) ||
|
||||
@@ -202,7 +203,7 @@ export function ExtractionSettings({ onChange, initialData }: ExtractionSettings
|
||||
// 收集所有字段名 - 不受当前标签页影响,始终收集所有类型的字段
|
||||
const allFieldNamesList = [
|
||||
...fields.llm_ocr,
|
||||
...fields.llm.map(f => f.split('_')[0]),
|
||||
...fields.llm.map(f => processFieldName(f)),
|
||||
...validRegexFields.map(f => f.fieldName.trim())
|
||||
].filter(name => name); // 过滤空值
|
||||
|
||||
@@ -250,20 +251,7 @@ export function ExtractionSettings({ onChange, initialData }: ExtractionSettings
|
||||
});
|
||||
}
|
||||
|
||||
// 分发自定义事件,确保更新到所有依赖此事件的组件
|
||||
document.dispatchEvent(
|
||||
new CustomEvent('extraction-fields-updated', {
|
||||
detail: {
|
||||
fields: allFields,
|
||||
fieldsData: {
|
||||
llm_ocr: fields.llm_ocr || [],
|
||||
llm: fields.llm || [],
|
||||
regex: validRegexFields.map(f => f.fieldName.trim())
|
||||
},
|
||||
timestamp: Date.now() // 添加时间戳确保事件能被识别为新事件
|
||||
},
|
||||
})
|
||||
);
|
||||
// 不再使用自定义事件,统一通过Context共享数据
|
||||
|
||||
// 更新上次发送的字段列表和时间
|
||||
lastEventFieldsRef.current = [...allFields];
|
||||
|
||||
Reference in New Issue
Block a user