欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net
本项目代码仓库地址:https://atomgit.com/Krneide/my_class_schedule

一、周课表视图功能

1.1 视图切换
功能 状态 说明
状态变量 _isWeekTableMode ✅ 完成 控制视图模式切换
右上角切换按钮 ✅ 完成 图标切换(列表/网格)
视图切换逻辑 ✅ 完成 列表 ↔ 周课表 自由切换
1.2 周课表网格布局
特性 状态 说明
5节×5天网格布局 ✅ 完成 周一至周五,第1-5节
跨节课程显示 ✅ 完成 起始节次到结束节次合并显示
周次联动 ✅ 完成 根据所选周次筛选课程
1.3 交互功能
操作 状态 说明
空单元格添加 ✅ 完成 点击➕弹窗,自动填充星期和节次
已有课程点击 ✅ 完成 弹出详情弹窗
编辑课程 ✅ 完成 详情页点击编辑按钮
删除课程 ✅ 完成 详情页点击删除按钮
1.4 当前已知问题
问题 状态 说明
课程添加无响应 ❌ 未解决 点击添加按钮后弹窗无法正常提交

二、上课时间设置功能

2.1 数据模型 (lib/models/school_time.dart)
功能 状态 说明
SchoolTime 类定义 ✅ 完成 包含节次、开始/结束时间
默认时间配置 ✅ 完成 getDefaultTimes() 方法
2.2 数据库服务
功能 状态 说明
school_time 表创建 ✅ 完成 数据库版本升级
增删改查方法 ✅ 完成 getAll/update/reset 方法
2.3 设置页面 (lib/pages/school_time_page.dart)
功能 状态 说明
时间列表展示 ✅ 完成 显示所有节次时间
编辑弹窗 ✅ 完成 点击节次修改时间
重置功能 ✅ 完成 恢复默认时间配置
2.4 入口配置
功能 状态 说明
个人页入口 ✅ 完成 功能菜单中添加

三、临时课程安排功能

3.1 课程模型扩展
功能 状态 说明
CourseType 枚举 ✅ 完成 regular / temporary
type 字段 ✅ 完成 课程类型标识
tempReason 字段 ✅ 完成 临时课程原因
3.2 数据库适配
功能 状态 说明
新字段添加 ✅ 完成 type、tempReason
toJson/fromJson ✅ 完成 字段序列化
3.3 添加课程弹窗增强
功能 状态 说明
课程类型开关 ✅ 完成 SwitchListTile
原因下拉选择器 ✅ 完成 DropdownButtonFormField
表单验证 ✅ 完成 临时课程必须选原因
提交回调 ❌ 未解决 onSaved 可能导致添加失败
3.4 课程卡片增强
功能 状态 说明
临时课程标签 ✅ 完成 橙色标签显示原因

四、功能完成度统计

功能模块 完成度 说明
周课表网格布局 100% 视图正常显示
周课表交互(编辑/删除) 100% 可正常操作
周课表添加 0% 添加无响应
上课时间设置 100% 正常使用
临时课程模型 100% 数据层完成
临时课程UI(添加弹窗) 100% 界面完成
临时课程提交 0% 提交无响应
临时课程标签显示 100% 正常显示

五、待解决问题

问题 优先级 状态
添加课程弹窗提交无响应 调试中
添加作业弹窗提交无响应 调试中
DropdownButtonFormField onSaved 回调 需验证
Navigator.pop 返回值传递 需验证

六、下一步计划

  1. 调试添加弹窗提交逻辑,定位 _submit 方法执行情况
  2. 验证 Navigator.pop(context, course) 返回值是否正常传递
  3. 检查 showDialogawait 接收逻辑
  4. 添加调试日志定位问题

七、当前项目状态

模块 状态
周课表视图 视图正常,添加功能待修复
上课时间设置 ✅ 正常
临时课程 模型完成,提交待修复

本日总结:周课表视图、上课时间设置、临时课程功能的主体代码已完成,但添加课程/作业的弹窗提交功能存在 Bug,需要进一步调试修复。

现在真的变成封面图的状态了在这里插入图片描述

Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐