Files
MES_Manage_View_V20/MES_程序使用说明书.md
MESWORK 885e70b9fc init: MES_Manage_View_V20 v1.1.0 项目初始化
- Vue 2.7 + Element UI + Webpack 5 前端
- SQL Server 数据库脚本 (script.sql)
- 4份技术文档 (技术分析/功能映射/使用说明书/用户操作手册)
- 存储过程修复 (fix_生产管理_外协报表_查询.sql)
2026-05-21 09:31:44 +08:00

714 lines
22 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# MES 工业互联网平台 — 程序使用说明书
> **项目名称**: MacroinfManage_MES (MES_Manage_View_V20)
> **版本**: v1.1.0
> **适用对象**: 系统管理员、开发工程师、运维人员
> **日期**: 2026-05-18
---
## 目录
- [一、系统概述](#一系统概述)
- [二、环境要求与安装部署](#二环境要求与安装部署)
- [三、项目目录结构](#三项目目录结构)
- [四、配置文件说明](#四配置文件说明)
- [五、系统启动与运行](#五系统启动与运行)
- [六、功能模块操作指南](#六功能模块操作指南)
- [七、数据库维护](#七数据库维护)
- [八、常见问题与故障排除](#八常见问题与故障排除)
- [九、附录](#九附录)
---
## 一、系统概述
### 1.1 系统简介
MES工业互联网平台是一套面向制造企业的生产执行管理系统覆盖从ERP订单接收、生产排产、车间加工执行、质量检验、工时核算到设备监控的全流程管理。
### 1.2 技术架构一览
| 层级 | 技术 | 说明 |
|------|------|------|
| 前端框架 | Vue 2.7 + Element UI 2.15 | SPA单页应用 |
| 构建工具 | Webpack 5.89 | 模块打包/开发服务器 |
| 后端服务 | ASP.NET (IIS) | 通用处理程序 `MESCommonBase.ashx` |
| 数据库 | SQL Server 2019 | 数据库名 `YL_MESDB` |
| 外部集成 | SAP Business One | ERP数据同步 |
| 设备通信 | MQTT 4.3.7 | 设备实时数据采集 |
### 1.3 系统访问地址
| 环境 | 地址 | 端口 |
|------|------|:---:|
| 开发环境 | `https://127.0.0.1` | 1997 |
| 生产服务器 | `https://192.168.2.92` | 10101 |
---
## 二、环境要求与安装部署
### 2.1 硬件要求
| 组件 | 最低配置 | 推荐配置 |
|------|------|------|
| CPU | 4核心 | 8核心+ |
| 内存 | 8 GB | 16 GB+ |
| 磁盘 | 50 GB可用 | 200 GB SSD |
| 网络 | 千兆局域网 | 千兆局域网 |
### 2.2 软件依赖
| 软件 | 版本要求 | 用途 |
|------|------|------|
| **Node.js** | >= 20.0.0 | 前端开发运行环境 |
| **npm** | >= 9.0.0 | 包管理器 |
| **Git Bash** | 最新版 | Windows下命令行工具(必须安装) |
| **SQL Server** | 2019+ | 数据库服务器 |
| **IIS** | 7.0+ | Web服务器(部署后端) |
| **Chrome/Edge** | 最新版 | 推荐浏览器 |
### 2.3 安装步骤
#### 步骤1安装 Node.js
```bash
# 下载并安装 Node.js 20.x LTS
# https://nodejs.org/
# 验证安装
node --version # 应显示 v20.x.x
npm --version # 应显示 9.x.x 或更高
```
#### 步骤2安装 Git Bash (Windows)
```bash
# 下载 Git for Windows
# https://git-scm.com/download/win
# 安装时选择 "Git Bash Here" 组件
# 确保 C:\Program Files\Git\bin 已添加到系统 PATH
```
#### 步骤3安装项目依赖
```bash
# 进入项目目录
cd "c:\Users\meswork764\Desktop\元利\MacroinfManage_MES\MES_Manage_View_V20"
# 安装所有npm依赖
npm install
# 如果遇到网络问题,可先配置镜像源
npm config set registry https://registry.npmmirror.com
npm install
```
#### 步骤4初始化数据库
```sql
-- 1. 在SQL Server Management Studio中打开 script.sql
-- 2. 修改文件路径以匹配实际环境:
-- 数据文件路径: D:\sqlData\YL_MESDB.mdf
-- 日志文件路径: D:\sqlDataLog\YL_MESDB_log.ldf
-- 3. 执行脚本创建数据库和所有对象
-- 4. 验证数据库创建成功
USE [YL_MESDB];
SELECT COUNT(*) AS '表数量' FROM sys.tables;
SELECT COUNT(*) AS '存储过程数量' FROM sys.procedures;
```
#### 步骤5配置后端服务
1. 在IIS中创建应用程序池和站点
2. 指向后端发布目录
3. 确保 `MESCommonBase.ashx``MESUploadFile.ashx` 可访问
4. 配置数据库连接字符串
---
## 三、项目目录结构
```
MES_Manage_View_V20/
├── index.html # HTML入口 (加载config.js)
├── package.json # 项目配置与依赖声明
├── babel.config.js # Babel转译配置
├── .eslintrc.js # ESLint代码规范
├── static/ # 静态资源目录
│ ├── config.js # ⭐ 运行环境配置(服务器地址等)
│ └── jsQR.js # 二维码解析库
├── config/ # 构建配置
│ ├── index.js # ⭐ Webpack + 开发服务器配置
│ ├── dev.env.js # 开发环境变量
│ └── prod.env.js # 生产环境变量
├── build/ # Webpack构建脚本
│ ├── webpack.base.conf.js # 公共配置
│ ├── webpack.dev.conf.js # 开发环境配置
│ ├── webpack.prod.conf.js # 生产环境配置
│ ├── vue-loader.conf.js # Vue Loader配置
│ └── utils.js # 构建工具函数
├── src/ # 源代码目录
│ ├── main.js # ⭐ 应用入口
│ ├── App.vue # 根组件
│ ├── permission.js # ⭐ 路由守卫/权限控制
│ │
│ ├── api/ # API接口层
│ │ └── login.js # 登录相关API
│ │
│ ├── router/ # 路由配置
│ │ ├── index.js # 路由主配置
│ │ ├── getTreeData.js # 动态菜单树生成
│ │ └── menuComponentModule.js # 组件懒加载
│ │
│ ├── store/ # Vuex状态管理
│ │ ├── index.js # Store入口
│ │ └── modules/ # 状态模块
│ │ ├── app.js # 应用状态
│ │ ├── user.js # ⭐ 用户状态(登录/权限)
│ │ ├── login.js # 登录时间追踪
│ │ ├── permission.js # 权限路由
│ │ └── tagsView.js # 标签页
│ │
│ ├── views/ # ⭐ 业务页面组件
│ │ ├── layout/ # 布局(侧边栏/顶栏/标签页)
│ │ ├── login/ # 登录页
│ │ ├── dashboard/ # 首页看板
│ │ └── [业务模块]/ # 各MES业务模块页面
│ │
│ ├── components/ # 公用组件
│ ├── utils/ # 工具函数
│ │ ├── auth.js # Token/Cookie管理
│ │ ├── request.js # ⭐ Axios实例配置
│ │ └── curd.js # ⭐ 通用CRUD封装
│ │
│ ├── styles/ # 全局样式
│ ├── icons/ # SVG图标
│ ├── directive/ # 自定义指令
│ └── vendor/ # 第三方工具
├── script.sql # ⭐ 数据库完整脚本
├── dist/ # 构建输出目录 (npm run build 后生成)
└── *.md # 项目文档
```
---
## 四、配置文件说明
### 4.1 运行环境配置 `static/config.js`
这是最重要的配置文件,控制前端连接的后端服务器地址。部署时需要修改此文件:
```javascript
window.dt_Config = {
// ⭐ 后端API地址 (存储过程调用)
serverAddress: 'https://192.168.2.92:10101/submit/MESCommonBase.ashx',
// ⭐ 后端基础URL
baseURL: 'https://192.168.2.92:10101',
// SAP Business One Service Layer 地址
baseURLB1: 'https://192.168.2.92:9996/b1s',
// 其他API地址
baseURLtm: 'https://192.168.2.92:9996/openapi',
// 首页路由配置
constantRouter: {
path: '主页',
title: '主页',
meta: { title: '主页', icon: 'MaterialManagement' },
alwaysShow: true
}
}
```
**环境切换说明**:
```javascript
// 生产环境 (服务器)
serverAddress: 'https://192.168.2.92:10101/submit/MESCommonBase.ashx'
// 备用服务器
// serverAddress: 'https://192.168.2.228:10101/submit/MESCommonBase.ashx'
// 本地开发环境
// serverAddress: 'http://127.0.0.1:10101/submit/MESCommonBase.ashx'
```
### 4.2 开发服务器配置 `config/index.js`
```javascript
dev: {
host: '127.0.0.1', // 开发服务器地址
port: 1997, // ⭐ 开发服务器端口 (如被占用自动+1)
autoOpenBrowser: true, // 启动时自动打开浏览器
proxyTable: { // API代理配置
'/api/b1s': {
target: 'https://192.168.2.90:50000', // SAP B1 地址
changeOrigin: true,
secure: false
}
}
}
```
### 4.3 构建输出配置
```javascript
build: {
assetsRoot: 'dist', // 构建输出目录
assetsSubDirectory: 'static',
assetsPublicPath: '/', // ⭐ 部署路径 (如非根路径需修改)
productionSourceMap: false // 生产环境是否生成source map
}
```
---
## 五、系统启动与运行
### 5.1 开发模式启动
```bash
# 进入项目根目录
cd "c:\Users\meswork764\Desktop\元利\MacroinfManage_MES\MES_Manage_View_V20"
# 方式1npm脚本
npm run dev
# 方式2直接使用webpack
npm start
# 启动成功后控制台输出:
# Your application is running here: http://127.0.0.1:1997
```
### 5.2 生产构建
```bash
# 构建生产版本
npm run build
# 构建产物在 dist/ 目录下
# 将 dist/ 目录内容部署到IIS站点即可
# 可选:构建并分析包体积
npm run build --report
```
### 5.3 访问系统
1. 打开浏览器访问 `http://127.0.0.1:1997` (开发) 或生产地址
2. 输入工号和密码登录
3. 如有多个角色,选择登录角色
4. 进入系统首页看板
---
## 六、功能模块操作指南
### 6.1 用户登录
| 步骤 | 操作 | 说明 |
|:---:|------|------|
| 1 | 打开系统地址 | 进入登录页面 |
| 2 | 输入用户名/密码 | 单击"登录"按钮 |
| 3 | 选择角色 | 如有多角色,弹出角色选择框;单一角色直接进入 |
| 4 | 进入首页 | 显示有权限的功能模块入口 |
**记住密码**: 勾选"记住账号",下次自动填充用户名和密码(Cookie存储7天)。
**修改密码**: 点击"修改密码"→ 输入工号/原密码/新密码/确认密码 → 确定。
### 6.2 首页看板
进入系统后显示**九宫格功能入口**,按一级菜单分组展示有权限的功能模块。点击模块图标进入对应功能页面。
### 6.3 生产排产管理
**功能入口**: 首页 → 生产排产
#### 6.3.1 查询待排产任务
| 步骤 | 操作 |
|:---:|------|
| 1 | 进入"排产任务查询"页面 |
| 2 | 选择查询条件(订单号/合同号/物料/工序/时间范围/排产状态/工位) |
| 3 | 点击"查询"按钮 |
| 4 | 查看任务列表(含计划数量/指派对象/任务状态等) |
#### 6.3.2 单任务排产指派
| 步骤 | 操作 |
|:---:|------|
| 1 | 在任务列表中选中一条任务 |
| 2 | 点击"排产"或"指派" |
| 3 | 选择/输入工位、指派数量、计划开始/完成时间 |
| 4 | 填写派工特殊说明(可选) |
| 5 | 点击"保存" |
> ⚠️ **注意事项**: 指派数量**小于**计划数量时,系统自动拆分剩余数量为新任务;**大于**计划数量时会报错。
#### 6.3.3 批量排产确认
选中多条任务 → 点击"批量排产" → 确认执行。
### 6.4 加工中心(生产执行)
**功能入口**: 首页 → 加工中心
#### 6.4.1 查看任务列表
进入后显示分配给当前工位的任务列表:
- **待执行**(任务状态=0): 已排产但未收料
- **可执行**(任务状态=1): 已收料可开工
- **已开工**(任务状态=2): 正在生产中
- **已完成**(任务状态=4): 报工完成
#### 6.4.2 标准生产流程
```
收料 → 可执行 → 开始加工 → [暂停/恢复] → 报工 → 完成
```
| 步骤 | 按钮 | 说明 |
|:---:|------|------|
| 1 | **收料** | 输入收料数量 → 确认。任务变为"可执行" |
| 2 | **开始加工** | 点击后任务变为"已开工",开始计时 |
| 3 | **暂停** | 生产中断时点击,记录暂停开始时间 |
| 4 | **恢复(开始加工)** | 从暂停恢复,自动计算暂停时长 |
| 5 | **报工** | 输入本次完成数量 → 选择班次 → 确认 |
#### 6.4.3 报工界面说明
| 字段 | 说明 |
|------|------|
| 报工日期 | 自动取当前日期 |
| 报工班次 | 白班(07:45-16:30) / 夜班(16:30-00:40) |
| 报工数量 | 本次完成的合格品数量 |
| 报工说明 | 备注信息 |
| 是否加班 | 如报工时间超过班次时间需勾选 |
| 加班人员 | 逗号分隔多个加班人员姓名 |
| 特殊加班人员 | 非标准工时(如4小时班)的特殊人员 |
> ⚠️ **休息日注意事项**: 休息日/法定休息日选择"加班"会计算加班工时,选择"不加班"记为普通工时。
#### 6.4.4 辅助工序操作
辅助工序(上下料、清理等)使用独立流程:**辅助开始 → 辅助结束**。操作方式同上。
### 6.5 质量管理
**功能入口**: 首页 → 质量管理
#### 6.5.1 质检类型说明
| 类型 | 时机 | 操作人 |
|------|------|------|
| **首检** | 每道工序开始生产时首批零件 | 操作工自检/质检员 |
| **巡检** | 生产过程中定期抽检 | 质检员 |
| **序检** | 工序加工完成后 | 质检员 |
| **收检** | 跨工序交接时 | 接收工序操作工 |
| **终检** | 全部工序完成后最终检验 | 质检员 |
#### 6.5.2 执行收检操作
| 步骤 | 操作 |
|:---:|------|
| 1 | 进入质检任务列表,筛选"收检"类型 |
| 2 | 选中任务,点击"收检" |
| 3 | 输入检验数量、合格数、不合格数 |
| 4 | 填写检测说明 |
| 5 | 点击"保存" |
| 6 | 系统自动判断:合格数>0则下一工序变为"可执行" |
#### 6.5.3 终检操作
| 步骤 | 操作 |
|:---:|------|
| 1 | 进入质检任务列表 |
| 2 | 选中任务,点击"终检" |
| 3 | 输入检测数量、合格数、不合格数、放行数量 |
| 4 | 点击"保存" |
#### 6.5.4 不合格品处理流程
```
发现不合格品 → 发起处理流程 → 填写申请内容/让步放行数量
→ 选择接收人 → 提交
→ 审批人填写处理意见 → 完成节点
→ 结束处理流程
```
#### 6.5.5 检测数据录入(逐项检测)
| 步骤 | 操作 |
|:---:|------|
| 1 | 进入质检任务,点击"检测数据" |
| 2 | 选择检测零件编号 |
| 3 | 逐项录入实测值(系统自动对比上下限判定合格/不合格) |
| 4 | 完成所有检测项目后保存 |
| 5 | 系统自动聚合统计合格数/不合格数 |
### 6.6 工时管理与校验
**功能入口**: 首页 → 工时管理
| 功能 | 说明 |
|------|------|
| **报工记录查询** | 按日期/工位/人员/确认状态筛选报工记录 |
| **报工确认** | 管理员核对报工数据,填入确认工时和说明 |
| **工时汇总** | 按TaskAID/工序汇总生产工时 |
| **装配工时记录** | 管理装配人员的开始/结束时间记录 |
### 6.7 设备管理
**功能入口**: 首页 → 设备管理
| 功能 | 操作 |
|------|------|
| **设备台账** | 增删改查设备基本信息(编号/名称/型号/制造商/车间/责任人) |
| **维修记录** | 记录故障描述/故障时间/维修人员/完成时间 |
| **生产状态** | 查看当前和历史设备生产状态 |
| **设备点检** | 维护设备点检表(保养人员/监督人员/点检类型) |
### 6.8 工艺管理
**功能入口**: 首页 → 工艺管理
| 功能 | 操作 |
|------|------|
| **工序基础数据** | 维护工序名称和编号(增删改查) |
| **标准工艺绑定** | 将工序按顺序绑定到物料编号 |
| **工艺查询** | 按物料编号查看完整工艺路线 |
| **物料查询** | 从SAP查询物料编码和名称 |
### 6.9 图纸管理
**功能入口**: 首页 → 图纸管理
| 功能 | 操作 |
|------|------|
| **上传图纸** | 选择物料 → 上传PDF/图片文件 |
| **在线预览** | 点击图纸名称在线查看(PDF.js预览) |
| **删除图纸** | 删除图纸(记录到删除日志) |
### 6.10 数据字典
**功能入口**: 系统管理 → 数据字典
维护系统全局配置项:
| 数据类别 | 词条示例 |
|------|------|
| 生产操作 | 收料(1), 开始加工(4), 暂停(5), 报工(6), 首检(7) |
| 班次 | 白班, 夜班 |
| 报工确认 | 已确认, 未确认 |
| 质检类型 | 首检自检, 序检自检, 收检, 终检 |
### 6.11 实时监控看板
**功能入口**: 首页 → 生产监控
| 功能 | 说明 |
|------|------|
| **当前生产状态** | 显示机加和装配的当前加工中任务(含人员/工位/零件) |
| **设备变量看板** | 实时显示设备运行参数(电流/电压/功率等) |
| **报警记录** | 查看历史报警和当前活跃报警 |
---
## 七、数据库维护
### 7.1 数据库备份
```sql
-- 执行全量备份存储过程
EXEC [dbo].[___DB_BAK]
-- 备份文件位置C:\_MW\数据库\YL_MESDB_yyyy_MM_dd__HH_mm_ss_fff.bak
```
**建议**: 每日定时执行全量备份 + 每小时事务日志备份。
### 7.2 日志文件管理
```sql
-- 查看日志文件大小
EXEC sp_helpdb 'YL_MESDB'
-- 收缩日志文件(谨慎操作)
USE [YL_MESDB]
DBCC SHRINKFILE (N'YL_MESDB_log', 10240) -- 收缩到10GB
```
### 7.3 重置排产数据
```sql
-- 重置指定订单的排产数据(保留操作记录)
EXEC [dbo].[__Reset_ProductOrder] @=10001, @optType=0
-- ⚠️ 重置全部数据并清空操作记录(危险操作!)
EXEC [dbo].[__Reset_ProductOrder] @=-1, @optType=1
```
> ⚠️ **警告**: `@optType=1` 会 **TRUNCATE** 操作记录表和报工记录表,数据不可恢复!
### 7.4 数据库结构更新
修改 `script.sql` 后重新执行或使用增量脚本:
```sql
-- 逐步执行新增/修改部分(跳过已存在的对象)
-- 注意script.sql 中的 CREATE 语句需要改为 ALTER 或先 DROP 再 CREATE
```
---
## 八、常见问题与故障排除
### 8.1 安装与启动问题
| 问题 | 原因 | 解决方法 |
|------|------|------|
| `npm install` 失败 | 网络问题或node版本过低 | 1. 切换镜像源 `npm config set registry https://registry.npmmirror.com` 2. 确认 Node >= 20.0.0 |
| `npm run dev` 报错 | 依赖未安装或端口被占用 | 1. 重新执行 `npm install` 2. 修改 `config/index.js` 中端口 |
| 浏览器显示"无法访问" | dev server使用HTTPS但无证书 | Chrome地址栏输入 `thisisunsafe` 跳过警告,或修改 `webpack.dev.conf.js``https: false` |
| `module not found` 错误 | Webpack 5 fallback配置缺失 | 检查 `webpack.base.conf.js``resolve.fallback` 配置 |
### 8.2 登录问题
| 问题 | 原因 | 解决方法 |
|------|------|------|
| 登录提示"账号或密码错误" | 凭证错误或后端不可达 | 1. 检查用户名密码 2. 确认 `static/config.js` 中 serverAddress 正确 |
| 登录后页面空白 | Token过期或权限数据异常 | 清除浏览器Cookie后重新登录 |
| 忘记密码 | - | 联系管理员重置,当前版本不支持自助找回密码 |
### 8.3 功能操作问题
| 问题 | 原因 | 解决方法 |
|------|------|------|
| 点"开始加工"无反应 | 任务状态不是"可执行" | 先执行"收料"操作,使任务变为可执行状态 |
| 报工数量超过计划数 | 累计完成+不合格数超过指派数 | 减少本次报工数量,或先处理不合格品 |
| 质检合格后下序仍不可执行 | 拆分内码不匹配或任务状态未更新 | 检查 `MES_接口_生产计划_生产任务` 表数据 |
| 修改密码失败 | 验证器Bug(known issue) | 联系管理员在数据库中直接修改密码 |
### 8.4 数据库问题
| 问题 | 原因 | 解决方法 |
|------|------|------|
| 查询越来越慢 | 缺少索引或统计信息过期 | 更新统计信息: `EXEC sp_updatestats` |
| 日志文件过大 | FULL恢复模式无日志备份 | 1. 切换为SIMPLE模式 2. 或配置日志备份作业 |
| 外键约束错误 | 数据不一致 | 检查 `FK_MES_接口_生产计划_生产任务_MES_接口_生产计划` 等外键 |
### 8.5 浏览器兼容性
| 浏览器 | 支持情况 |
|------|:---:|
| Chrome 90+ | ✅ 推荐 |
| Edge 90+ | ✅ 推荐 |
| Firefox 90+ | ✅ 兼容 |
| Safari 14+ | ⚠️ 部分兼容 |
| IE 11 | ❌ 不支持 (browserslist 已排除) |
---
## 九、附录
### 9.1 状态码参考
**任务状态**:
| 状态码 | 含义 | 说明 |
|:---:|------|------|
| 0 | 待执行 | 已排产但未收料 |
| 1 | 可执行 | 已收料可开工 |
| 2 | 已开工 | 正在加工中 |
| 4 | 已完成 | 报工完成或终检完成 |
**加工状态**:
| 状态码 | 含义 |
|:---:|------|
| 2 | 辅助开始 |
| 3 | 辅助结束 |
| 4 | 开始加工 |
| 5 | 暂停 |
| 6 | 报工 |
**设备状态**:
| 状态码 | 含义 |
|:---:|------|
| -1 | 关机 |
| 0 | 待机 |
| 1 | 工作 |
| 2 | 报警 |
| 3 | 暂停 |
**质检结果**:
| 值 | 含义 |
|:---:|------|
| 1 | 合格 |
| 0 | 不合格 |
### 9.2 API通信协议
前端与后端通信采用统一的JSON格式
```javascript
// 请求格式
{
"type": "1", // 1=查询, 2=增删改, 7=批量JSON
"name": "存储过程名称",
"param": "[{\"name\":\"参数名\",\"value\":\"参数值\",\"type\":\"string\",\"output\":\"0\"}]",
"pageSize": 20, // 分页大小(可选)
"pageList": 1, // 页码(可选)
"UserID": "当前用户ID",
"UserName": "当前用户名",
"ModularID": "当前路由path"
}
// 响应格式
{
"data": [ ... ], // 查询结果数组
"total": 100, // 总记录数
"result": "1" // 1=成功, 0=失败
}
```
### 9.3 快捷键
| 快捷键 | 功能 |
|------|------|
| `Enter` | 登录页面提交登录 |
| `Ctrl + F5` | 强制刷新页面 |
### 9.4 日志查看
| 日志类型 | 位置 |
|------|------|
| 用户操作日志 | 数据库表 `_日志` |
| API请求日志 | 数据库表 `记录_日志_项目运行日志` |
| 浏览器控制台 | F12 → Console |
| 开发服务器日志 | 终端控制台输出 |
### 9.5 联系与支持
- **项目维护**: MESWORK
- **数据库文档**: 见 `script.sql` (完整DDL)
- **技术分析**: 见 `MES_技术分析报告.md`
- **功能映射**: 见 `MES_功能列表_页面_存储过程映射.md`
---
> 📅 文档生成日期: 2026-05-18
> 📝 版本: v1.0
> 🔄 最后更新: 2026-05-18