feat(web): 字段匹配规则外置到 YAML + 检查项自定义输入框 + 卡片折叠
匹配规则外置: - 新增 web/configs/standards_match.yaml(44 个 indicator + 14 条 length 规则) - 新增 web/core/match_config.py:线程安全加载 + get_indicator_match / get_length_rules / merge_user_override - step6 / step7 走 YAML + 用户运行时 override 三级 fallback(用户输入追加而非替换) - ConnectRequest 新增 match_overrides: dict[str, dict[str, list[str]]] - 新增 GET /api/match-config:返回前端输入框默认值(逗号分隔格式) 前端检查项 2 个输入框: - 每行 leaf 后挂「字段名 / 字段注释」2 个 el-input - loadMatchConfig() 启动时拉 YAML 默认值灌进 form.match_overrides - buildMatchOverridesForSubmit() 提交时把字符串转 list(Pydantic 期望 list[str]) - 跨字段 indicator(IND-301/302/901/902)UI 隐藏输入框(_skip: true) 卡片折叠 + 动画: - 连接数据库 / 分析配置 / 数据字典浏览器 三张卡都加折叠按钮 + Vue transition - startJob() 成功后三张卡自动折叠,焦点落到「分析进度」 - el-card__body 折叠时 padding 上下 1px(默认 20px),padding 加 0.28s 过渡 - el-card__header 折叠时 padding 6px,margin-bottom 折叠时 8px - i 图标移到输入框右侧 - progress-block margin 改为 0 Bug fix: - testConnection 也走 buildMatchOverridesForSubmit()(否则 names/comments 是 string → 422) - inline <style> 全局 CSS 不能用 :deep(),全部改为直接选择器 WORKLOG 详细记录所有决策点。
Showing
This diff is collapsed.
This diff is collapsed.
web/core/match_config.py
0 → 100644
This diff is collapsed.
Please register or sign in to comment