团队协作管理系统
一个现代化的团队项目管理和协作平台,支持需求管理、周报跟踪、数据分析和可视化展示。
🚀 功能特色
📋 需求管理
- 完整的 CRUD 操作:添加、编辑、删除项目需求
- Excel 导入导出:支持批量导入和多格式导出
- 智能搜索筛选:按部门、状态、关键词快速筛选
- 一键状态更改:直接点击状态标签快速更新
- 自动序号管理:增删改后自动重新排序
- 多维度排序:按时间、名称、部门灵活排序
📝 每周汇报
- 项目关联汇报:自动关联项目信息和对接人
- 进度跟踪:可视化进度条和完成百分比
- 风险评估:三级风险等级管理(低、中、高)
- 周次管理:智能周次格式(含月份日期范围)
- 多维筛选:按周次、对接人、项目筛选
- 数据导出:支持详细数据和统计汇总导出
📊 数据分析
- 统计图表:项目状态、部门分布、完成率分析
- 甘特图:项目时间线和依赖关系可视化
- 里程碑图:关键节点和截止日期跟踪
- 进度网格:项目进度卡片式展示
- 时标逻辑图:复杂项目依赖关系图
🎯 系统特性
- 响应式设计:完美支持桌面、平板、手机访问
- 数据持久化:基于 LocalStorage 的数据存储
- 现代化 UI:Material-UI 设计语言
- 多主题支持:深色/浅色主题切换
- 实时更新:数据变更即时响应
🛠️ 技术栈
前端框架
- React 18 – 现代化 React 框架
- TypeScript – 类型安全的 JavaScript
- Vite – 快速的构建工具
UI 组件库
- Material-UI (MUI) 5 – Google Material Design
- @mui/icons-material – 丰富的图标库
- @mui/x-date-pickers – 专业的日期选择器
数据可视化
- Chart.js – 灵活的图表库
- React-Chart.js-2 – React 图表组件
- Recharts – 声明式图表库
工具库
- Day.js – 轻量级日期处理
- UUID – 唯一标识符生成
- XLSX – Excel 文件处理
📦 快速开始
环境要求
- Node.js >= 16.0.0
- npm >= 8.0.0
安装依赖
npm install
启动开发服务器
npm run dev
访问 http://localhost:3000 查看应用
构建生产版本
npm run build
预览生产版本
npm run preview
🏗️ 项目结构
src/
├── components/ # React 组件
│ ├── RequirementManagement.tsx # 需求管理
│ ├── WeeklyReport.tsx # 周报管理
│ ├── Statistics.tsx # 数据统计
│ ├── GanttChart.tsx # 甘特图
│ ├── MilestoneChart.tsx # 里程碑图
│ ├── ProgressGrid.tsx # 进度网格
│ ├── TimelineChart.tsx # 时标逻辑图
│ └── ImportPreviewDialog.tsx # 导入预览
├── types/ # TypeScript 类型定义
│ └── index.ts
├── utils/ # 工具函数
│ ├── storage.ts # 数据存储
│ ├── excelImport.ts # Excel 导入
│ ├── excelExport.ts # Excel 导出
│ ├── chartUtils.ts # 图表工具
│ └── sampleData.ts # 示例数据
├── main.tsx # 应用入口
└── App.tsx # 主应用组件
📚 使用指南
需求管理
添加需求
- 点击「添加需求」按钮
- 填写项目信息:
- 项目名称(必填)
- 所属部门(必填)
- 项目简介(必填)
- 项目对接人(必填)
- 科工部对接人(必填)
- 计划完成时间
- 当前状态
- 备注信息
Excel 导入
- 点击「Excel 导入」按钮
- 选择 Excel 文件(.xlsx / .xls)
- 预览导入数据
- 确认导入
数据导出
- 点击导出图标
- 选择导出类型:
- 导出全部数据
- 导出筛选数据
- 导出部门汇总
状态管理
- 直接点击状态标签快速更改
- 支持四种状态:未开始、进行中、已完成、已暂停
周报管理
创建周报
- 点击「添加汇报」按钮
- 选择关联项目(自动填充对接人)
- 选择汇报周次
- 填写汇报内容:
- 本周进展(必填)
- 遇到问题
- 下周计划
- 完成百分比(滑块调节)
- 风险等级
筛选查看
- 按周次筛选:选择特定周次查看
- 按对接人筛选:查看特定人员汇报
- 关键词搜索:搜索项目名称、进展内容
🎨 界面预览
| 功能 | 描述 |
|---|---|
| 需求管理界面 | 清晰的表格布局、智能搜索筛选、一键状态更改、批量操作支持 |
| 周报管理界面 | 直观的周次显示(含日期范围)、进度可视化、风险等级标识、完整的筛选排序 |
| 数据分析界面 | 多样化图表展示、实时数据更新、交互式图表操作、响应式图表布局 |
🔧 配置说明
主题配置
系统使用 Material-UI 主题系统,在 src/main.tsx 中配置:
- 字体大小优化
- 组件样式定制
- 响应式断点设置
数据存储
使用 LocalStorage 进行数据持久化:
- 自动数据迁移
- 版本管理
- 数据备份恢复
Excel 模板
系统提供标准 Excel 模板,包含以下字段:
- 序号、部门、项目名称
- 项目需求、简介
- 项目对接人、科工部对接人
- 计划完成时间、当前状态、备注
🔄 数据流程
需求管理流程
- 创建需求 → 自动分配序号 → 数据验证 → 存储
- 导入需求 → Excel 解析 → 数据清洗 → 批量存储
- 更新需求 → 状态变更 → 时间戳更新 → 存储
- 删除需求 → 确认删除 → 序号重排 → 存储
周报管理流程
- 创建汇报 → 项目关联 → 内容填写 → 存储
- 更新汇报 → 内容修改 → 时间戳更新 → 存储
- 查看汇报 → 筛选排序 → 数据展示
- 导出汇报 → 数据格式化 → Excel 生成
🚀 部署指南
本地部署
# 构建项目
npm run build
# 预览构建结果
npm run preview
生产部署
- 构建生产版本:
npm run build - 将
dist目录部署到 Web 服务器 - 配置路由重定向到
index.html
Docker 部署
FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3000
CMD ["npm", "run", "preview"]
🤝 贡献指南
开发规范
- 使用 TypeScript 进行类型检查
- 遵循 React Hooks 最佳实践
- 保持组件单一职责原则
- 编写清晰的注释和文档
提交规范
feat:新功能fix:错误修复docs:文档更新style:代码格式refactor:代码重构test:测试相关chore:构建过程或辅助工具的变动
📝 更新日志
v1.2.0 (2025-08-08)
- ✨ 新增每周汇报功能
- ✨ 添加 Excel 导入导出功能
- ✨ 实现状态快速更改
- ✨ 添加多维度排序功能
- 🎨 优化界面布局和交互
- 🐛 修复周次显示问题
- 📈 增强数据可视化
v1.1.0 (2025-08-07)
- ✨ 新增部门字段
- ✨ 实现数据迁移功能
- 🎨 优化移动端适配
- 🐛 修复时标逻辑图性能问题
v1.0.0 (2025-08-06)
- 🎉 初始版本发布
- ✨ 基础需求管理功能
- ✨ 统计分析图表
- ✨ 响应式界面设计
📄 许可证
MIT License – 详见 LICENSE 文件
💬 联系方式
如有问题或建议,请通过以下方式联系:







