工作统计系统 by Kiro

iaun f7a1a16924 Add: 优化仪表盘 2 months ago
.kiro a85cf85886 Add: Work records pagination 3 months ago
backend f7a1a16924 Add: 优化仪表盘 2 months ago
frontend f7a1a16924 Add: 优化仪表盘 2 months ago
.dockerignore 5d855a9f3c Fix: README, Add: Dockerfile 3 months ago
.gitignore 01fe38ab05 Initial commit: Work Statistics System 3 months ago
Dockerfile ca021f8734 Fix: PIP change to China mirror 3 months ago
README.md 5d855a9f3c Fix: README, Add: Dockerfile 3 months ago

README.md

工作统计系统

一个用于管理人员工作记录和统计的全栈应用,支持工作记录管理、数据导入导出、月度报表等功能。

功能特性

  • 人员管理:添加、编辑、删除人员信息
  • 物品管理:管理物品及单价
  • 工作记录:记录每日工作数据,支持按人员、日期筛选
  • 数据导入:通过 Excel 模板批量导入工作记录
  • 数据导出:导出工作记录为 Excel 文件
  • 仪表盘:日统计、月度报告、业绩排名
  • 管理员管理:多管理员支持
  • 移动端适配:响应式设计,支持手机访问

技术栈

后端

  • Python 3.10+
  • Flask + Flask-RESTX
  • SQLAlchemy (SQLite/PostgreSQL)
  • JWT 认证

前端

  • React 18
  • Ant Design 5
  • Vite

快速开始

后端

cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt
python run.py

后端运行在 http://localhost:5000

默认管理员账号:admin / admin123

前端

cd frontend
npm install
npm run dev

前端运行在 http://localhost:3000

生产部署

环境变量

cp backend/.env.example backend/.env
# 编辑 .env 设置以下变量:
# - SECRET_KEY
# - JWT_SECRET_KEY
# - DATABASE_URL (PostgreSQL)

初始化数据库

cd backend
source venv/bin/activate
export $(cat .env | xargs)
python init_db.py

运行

# 后端

## 测试
python run.py

# 生产
gunicorn -w 4 -b 0.0.0.0:5000 wsgi:app

# 前端构建
cd frontend
npm run build
# 将 dist/ 目录部署到 Web 服务器

API 文档

启动后端后访问 http://localhost:5000/api/docs 查看 Swagger 文档。

目录结构

├── backend/
│   ├── app/
│   │   ├── models/      # 数据模型
│   │   ├── routes/      # API 路由
│   │   ├── services/    # 业务逻辑
│   │   └── utils/       # 工具函数
│   ├── tests/           # 测试文件
│   ├── requirements.txt
│   └── run.py
├── frontend/
│   ├── src/
│   │   ├── components/  # React 组件
│   │   ├── contexts/    # Context
│   │   └── services/    # API 服务
│   └── package.json
└── README.md

License

MIT