Files
zyt/.trellis/tasks/archive/2026-05/05-07-diagnosis-daily-matrix-tab/research/implementation-plan.md
T

1.7 KiB

实施要点

新组件

新建 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 要保持一致