新增 readme

This commit is contained in:
zzh 2025-12-08 14:59:59 +08:00
parent d47b0beefc
commit 7b9edc2fed

211
README.md Normal file
View File

@ -0,0 +1,211 @@
# 生产管理系统
一个基于 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可选用于缓存和实时数据
### 安装步骤
1. **克隆项目**
```bash
cd 生产管理系统
```
2. **创建虚拟环境**
```bash
python3 -m venv venv
source venv/bin/activate # Linux/macOS
# 或 venv\Scripts\activate # Windows
```
3. **安装依赖**
```bash
pip install -r server/requirements.txt
```
4. **配置环境变量**
```bash
cp .env.example .env
# 编辑 .env 文件,配置 Redis 和管理员密码
```
5. **启动服务**
```bash
cd server
python app.py
```
6. **访问系统**
打开浏览器访问 `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
1. 复制服务配置文件:
```bash
sudo cp deploy/systemd/production-system.service /etc/systemd/system/
```
2. 启动服务:
```bash
sudo systemctl enable production-system
sudo systemctl start production-system
```
### 使用 Nginx 反向代理
1. 复制 Nginx 配置:
```bash
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/
```
2. 重载 Nginx
```bash
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 组件文件:
```javascript
// frontend/js/components/example.js
export function render() {
return `<div class="page">...</div>`;
}
export function init() {
// 初始化逻辑
}
```
### 添加新路由
`frontend/js/router.js` 中添加路由配置:
```javascript
const routes = {
'/example': () => import('./components/example.js'),
// ...
};
```
## 许可证
MIT License