# todolist **Repository Path**: bryanlin/todolist ## Basic Information - **Project Name**: todolist - **Description**: 工作待办看板 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-08 - **Last Updated**: 2026-06-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TodoList - 任务管理看板 基于 **UmiJS 4** + **React 18** + **TypeScript** + **Less** 构建的企业级任务管理看板。 ## 功能特性 ### 📋 任务看板 - 以「待开始 → 进行中 → 已延期 → 已完成 → 已取消」五列看板展示任务 - 支持拖拽任务卡片变更状态 - 支持任务增删改查、优先级设置、标签分类 - 支持按标题、开发人、系统等关键词搜索过滤 - **Excel 批量导入**:支持上传 `.xlsx/.xls` 文件批量创建任务,提供标准模板下载 ### 📊 统计看板 - 按开发人维度统计任务分布(总数 / 待开始 / 进行中 / 已完成 / 延期 / 取消) - 按归属系统维度统计任务分布 - 一图掌握团队整体进度 ### 📅 周计划看板 - 自动展示本周(周一 ~ 周日)计划的任务 - 二维矩阵表:横向 = 本周日期,纵向 = 开发人 - 每个单元格显示对应开发人当天计划的任务 - 支持今日列高亮、汇总行、合计列 - 工时统计一目了然 ### ⏱ 工时预估 - 任务支持「预估工时」字段(小时) - 在看板卡片、详情弹窗、周计划中均可查看 ## 技术栈 | 技术 | 说明 | |------|------| | UmiJS 4 | React 企业级框架,路由/构建 | | React 18 | UI 组件化 | | TypeScript 5 | 类型安全 | | Less | CSS 预处理器 | | SheetJS (xlsx) | Excel 导入/导出 | ## 快速开始 ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build ``` 启动后访问 `http://localhost:8000` 即可使用。 ## 项目结构 ``` src/ ├── _layouts/ # 侧边栏布局 ├── constants/ # 类型定义、常量配置 ├── models/ # 状态管理 (Context + Hooks) ├── pages/ │ ├── index.tsx # 任务看板主页 │ ├── components/ # 公共组件 │ │ ├── Board.tsx # 看板主体 │ │ ├── Header.tsx # 顶部搜索/操作栏 │ │ ├── StatsBar.tsx # 状态统计栏 │ │ ├── TaskCard.tsx # 任务卡片 │ │ ├── TaskModal.tsx # 新建/编辑任务弹窗 │ │ ├── TaskDetailModal.tsx # 任务详情弹窗 │ │ ├── ImportModal.tsx # Excel 导入弹窗 │ │ └── StatusColumn.tsx # 状态列容器 │ ├── dashboard/ # 统计看板 │ ├── weekly-plan/ # 周计划看板 │ └── hooks/ # 自定义 Hooks ├── services/ # 工具服务 │ ├── excelService.ts # Excel 解析/模板下载 │ └── taskService.ts # 任务 CRUD 服务 └── global.less # 全局样式 ``` ## 数据存储 任务数据通过 `localStorage` 持久化存储,key 为 `todolist_tasks`,刷新页面不丢失。 ## License MIT