# 实施要点 ## 新组件 新建 `admin/src/views/tcm/diagnosis/components/DailyMatrix.vue`,负责: * 顶部工具栏:7 天 / 30 天 / 自定义 / 新增按钮 / 刷新 * 矩阵表格:左侧指标固定列,右侧日期列动态生成 * 3 个 dialog:血糖、饮食、运动 * 底部待办:复用 `DiagnosisTodoList` ## edit.vue 改动 * 删除 4 个旧 tab 的挂载 * 删除对应 import * 插入 1 个“日常记录”tab,空诊单时显示 `el-empty` * 新增 `DailyMatrix` import ## 数据来源 * `diagnosisTrackingWindow` 一次拉取血糖/饮食/运动数据 * 前端按日期归并成 `bloodByDate / dietByDate / exerciseByDate` * 空日期也要生成列 * 折线图可直接复用同一批 `blood_records` 数据,无需新增接口 ## 交互规则 * 单元格点击:打开对应 dialog * 血糖/血压/西药/胰岛素共用 blood dialog * 早餐/午餐/晚餐共用 diet dialog * 运动单独 exercise dialog * 提交成功后刷新矩阵 ## 只读约束 * `readOnly=true` 时: * 单元格不可点击 * 工具栏新增按钮置灰 * 待办列表走其自身只读模式 ## 新增优化要求 * 最近 7 天视图下,日期列宽不应固定得过窄导致右侧留白,应根据列数动态铺满 * 待办事项上方增加血糖折线图区域 * 折线图展示: * 空腹血糖 * 餐后血糖 * 折线图时间范围与矩阵当前选择保持一致 ## 权限收口要求 * 原“血糖 / 饮食 / 运动”按钮权限不再单独作为入口能力暴露 * 新增统一“日常记录”权限 * 待办列表与其新增/取消能力一并纳入“日常记录”权限域 * 前端 `hasPermission` / `v-perms` 与菜单 SQL 要保持一致