# 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" # 方式1:npm脚本 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