5.2 KiB
5.2 KiB
生产管理系统
一个基于 Flask + 原生 JavaScript 的轻量级生产管理系统,用于管理生产流程、物料采购、发货跟踪和质量控制。
功能特性
📊 仪表盘
- 实时显示生产良品率、直通良品率
- 发货数量统计
- 不良品数量监控
📦 生产管理
- 工单管理 - 创建、跟踪生产工单
- BOM 物料清单 - 定义产品的物料组成
- 期初库存 - 管理物料初始库存
- 采购需求 - 自动计算采购需求
🚚 发货管理
- 发货记录 - 记录发货信息
- 发货查询 - 按 SN/MAC 查询发货记录
- 发货汇总 - 发货数据统计分析
📋 订单与对账
- 客户订单 - 管理客户订单信息
- 对账管理 - 订单对账功能
- 物料采购 - 采购单管理
👥 系统管理
- 用户管理 - 支持超级管理员、管理员、普通用户角色
- 通知系统 - 操作通知推送
- 操作日志 - 记录用户操作历史
- SOP 文件管理 - 上传和管理标准作业程序文件
技术栈
后端
- Flask - Python Web 框架
- SQLite - 轻量级数据库
- Redis - 缓存和实时数据存储(可选)
前端
- 原生 JavaScript - 无框架依赖
- CSS3 - 现代化 UI 样式
- 组件化架构 - 模块化的 JS 组件
项目结构
生产管理系统/
├── server/ # 后端服务
│ ├── app.py # Flask 应用主文件
│ ├── data.db # SQLite 数据库
│ └── requirements.txt # Python 依赖
├── frontend/ # 前端资源
│ ├── index.html # 主页面
│ ├── login.html # 登录页面
│ ├── assets/ # 静态资源(CSS、图片)
│ ├── js/
│ │ ├── app.js # 应用入口
│ │ ├── api.js # API 请求封装
│ │ ├── router.js # 前端路由
│ │ └── components/ # 页面组件
│ └── sop_files/ # SOP 文件存储
├── deploy/ # 部署配置
│ ├── nginx/ # Nginx 配置
│ └── systemd/ # Systemd 服务配置
├── .env.example # 环境变量示例
└── README.md
快速开始
环境要求
- Python 3.8+
- Redis(可选,用于缓存和实时数据)
安装步骤
-
克隆项目
cd 生产管理系统 -
创建虚拟环境
python3 -m venv venv source venv/bin/activate # Linux/macOS # 或 venv\Scripts\activate # Windows -
安装依赖
pip install -r server/requirements.txt -
配置环境变量
cp .env.example .env # 编辑 .env 文件,配置 Redis 和管理员密码 -
启动服务
cd server python app.py -
访问系统
打开浏览器访问
http://localhost:5000
默认账户
- 用户名:
admin - 密码:
admin123(或通过环境变量ADMIN_PASSWORD配置)
环境变量配置
| 变量名 | 说明 | 默认值 |
|---|---|---|
REDIS_HOST |
Redis 服务器地址 | 127.0.0.1 |
REDIS_PORT |
Redis 端口 | 6379 |
REDIS_DB |
Redis 数据库编号 | 0 |
REDIS_PASSWORD |
Redis 密码 | - |
ADMIN_PASSWORD |
默认管理员密码 | admin123 |
SUPERADMIN_USERNAME |
超级管理员用户名 | - |
SUPERADMIN_PASSWORD |
超级管理员密码 | - |
APP_SECRET |
Flask Session 密钥 | change-me |
HOST |
服务监听地址 | 0.0.0.0 |
PORT |
服务监听端口 | 5000 |
生产部署
使用 Systemd
-
复制服务配置文件:
sudo cp deploy/systemd/production-system.service /etc/systemd/system/ -
启动服务:
sudo systemctl enable production-system sudo systemctl start production-system
使用 Nginx 反向代理
-
复制 Nginx 配置:
sudo cp deploy/nginx/production-system.conf /etc/nginx/sites-available/ sudo ln -s /etc/nginx/sites-available/production-system.conf /etc/nginx/sites-enabled/ -
重载 Nginx:
sudo nginx -t sudo systemctl reload nginx
API 接口
认证
POST /api/auth/login- 用户登录GET /api/auth/me- 获取当前用户信息POST /api/auth/logout- 用户登出GET /api/auth/captcha- 获取验证码
仪表盘
GET /api/dashboard- 获取仪表盘数据
工单管理
GET /api/work-orders- 获取工单列表POST /api/work-orders- 创建工单
发货管理
GET /api/shipments- 获取发货记录POST /api/shipments- 创建发货记录
更多 API 详见 server/app.py。
开发说明
前端组件开发
前端采用组件化架构,每个页面对应一个 JS 组件文件:
// frontend/js/components/example.js
export function render() {
return `<div class="page">...</div>`;
}
export function init() {
// 初始化逻辑
}
添加新路由
在 frontend/js/router.js 中添加路由配置:
const routes = {
'/example': () => import('./components/example.js'),
// ...
};
许可证
MIT License