fix(工作报告- 周报): 修复工作日志依然溢出到任务层级的问题。
This commit is contained in:
@@ -609,14 +609,22 @@ function createStructuredSectionsFromTextV2(
|
||||
|
||||
let currentCategory = '';
|
||||
let previousTask: StructuredTask | null = null;
|
||||
const legacyTaskLineRe =
|
||||
/^(?!(?:(?:\d+[..、])|(?:\d+\s+)|(?:[一二三四五六七八九十百千万]+[、..]))\s*)(.+?)\s*[--]\s*(.+)$/u;
|
||||
|
||||
const isExplicitStructuredTaskLine = (line: string) => {
|
||||
if (!STRUCTURED_TASK_PREFIX_RE.test(line)) return false;
|
||||
const normalizedLine = stripStructuredTaskPrefix(line);
|
||||
const { rawTitle, metricsText } = extractStructuredTaskParts(normalizedLine);
|
||||
return Boolean(stripStructuredTaskSuffix(rawTitle) && isStructuredMetricsText(metricsText));
|
||||
};
|
||||
|
||||
const shouldAppendToPreviousTaskDetail = (line: string) => {
|
||||
if (!previousTask?.detail) return false;
|
||||
if (line.startsWith('#')) return false;
|
||||
if (line.includes('(') || line.includes('(') || line.includes(':') || line.includes(':')) return false;
|
||||
return !/^(?!(?:(?:\d+[..、])|(?:\d+\s+)|(?:[一二三四五六七八九十百千万]+[、..]))\s*)(.+?)\s*[--]\s*(.+)$/u.test(
|
||||
line
|
||||
);
|
||||
if (legacyTaskLineRe.test(line)) return false;
|
||||
if (isExplicitStructuredTaskLine(line)) return false;
|
||||
return true;
|
||||
};
|
||||
|
||||
lines.forEach(line => {
|
||||
@@ -632,9 +640,7 @@ function createStructuredSectionsFromTextV2(
|
||||
|
||||
// 仅当行首不是结构化任务前缀(如 "3、")时,才按旧式 "<分类> - <事项>" 解析;
|
||||
// 否则会把 "2026-06-12 - 2026-06-19" 这种含 " - " 的出差行误判为分类。
|
||||
const legacyMatch = trimmedLine.match(
|
||||
/^(?!(?:(?:\d+[..、])|(?:\d+\s+)|(?:[一二三四五六七八九十百千万]+[、..]))\s*)(.+?)\s*[--]\s*(.+)$/u
|
||||
);
|
||||
const legacyMatch = trimmedLine.match(legacyTaskLineRe);
|
||||
if (legacyMatch) {
|
||||
const [, rawCategory, rawTaskText] = legacyMatch;
|
||||
const category = rawCategory.trim();
|
||||
|
||||
Reference in New Issue
Block a user