• Data Governance Dev's avatar
    feat(web): 字段匹配规则外置到 YAML + 检查项自定义输入框 + 卡片折叠 · b95def37
    Data Governance Dev authored
    匹配规则外置:
    - 新增 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 详细记录所有决策点。
    b95def37
index.html 110 KB