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

30 KiB
Raw Blame History

MES_Manage_View_V20 软件项目技术分析报告

项目名称: MacroinfManage_MES (MES_Manage_View_V20) 版本: v1.1.0 日期: 2026-05-18 作者: MESWORK 描述: 山东元利科技有限公司制造执行系统(MES)管理视图平台


目录

  1. 项目概述
  2. 技术架构路线
  3. 前端技术详细分析
  4. 数据库 script.sql 详细解析
  5. 程序问题分析报告

1. 项目概述

属性 内容
项目名称 MacroinfManage_MES (MES_Manage_View_V20)
版本 v1.1.0
基础模板 vue-element-admin (PanJiaChen)
数据库 Microsoft SQL Server 2019 (兼容级别150)
数据库名 YL_MESDB
外部集成 SAP Business One (跨库查询)
设备通信 MQTT 4.3.7 (物联网设备实时数据)

2. 技术架构路线

┌──────────────────────────────────────────────────────────────────┐
│                        前端层 (Frontend)                          │
│  Vue 2.7.16 + Element UI 2.15.14 + Webpack 5                    │
│  ├── Vue Router 3.6.5 (权限动态路由)                               │
│  ├── Vuex 3.6.2 (全局状态管理)                                     │
│  ├── Axios 0.21.4 (HTTP 通信)                                    │
│  ├── ECharts 5.4.3 (数据可视化/看板)                               │
│  ├── FullCalendar 6.1.x (排产日历)                                │
│  ├── MQTT 4.3.7 (设备实时数据/物联网通信)                           │
│  └── xlsx / jspdf / docxtemplater (报表导出)                      │
├──────────────────────────────────────────────────────────────────┤
│                        中间层 (Middleware)                        │
│  ├── ASP.NET / Node.js 后端API服务                                │
│  └── 存储过程调用 (后端直接调用SQL Server存储过程)                     │
├──────────────────────────────────────────────────────────────────┤
│                      数据库层 (Database)                          │
│  Microsoft SQL Server 2019 (兼容级别150)                           │
│  数据库名: YL_MESDB                                               │
│  ├── 30+ 数据表                                                    │
│  ├── 20+ 视图                                                     │
│  ├── 1 用户自定义函数                                              │
│  ├── 60+ 存储过程                                                  │
│  └── 外部数据源: SAP.SBO_YL (SAP Business One)                    │
├──────────────────────────────────────────────────────────────────┤
│                      外部集成 (Integration)                       │
│  ├── SAP Business One (ERP系统跨数据库查询)                       │
│  │   ├── SAP.SBO_YL.dbo.UBT_OITM (物料主数据)                     │
│  │   ├── SAP.SBO_YL.dbo.UBT_WW_MES_OPORandOPCH (采购订单)         │
│  │   └── SAP.SBO_YL.dbo.OWOR / OWR1 / OWR4 (生产订单)             │
│  ├── 设备PLC/SCADA (通过MQTT协议采集实时数据)                       │
│  └── 文件服务器 (图纸/附件存储)                                     │
└──────────────────────────────────────────────────────────────────┘

3. 前端技术详细分析

3.1 核心框架与依赖

类别 技术 版本 用途
框架 Vue.js 2.7.16 SPA 核心框架
UI库 Element UI 2.15.14 企业级UI组件
路由 Vue Router 3.6.5 动态权限路由
状态管理 Vuex 3.6.2 全局状态
HTTP Axios 0.21.4 API通信
图表 ECharts 5.4.3 看板/统计图表
日历 FullCalendar 6.1.17 排产甘特视图
IoT MQTT.js 4.3.7 设备实时数据订阅
构建 Webpack 5.89.0 模块打包
PDF jsPDF / html2canvas 2.5.1 / 1.4.1 PDF导出
Excel xlsx 0.18.5 表格导入导出
Word docxtemplater 3.42.0 Word模板生成
条码 qrcode 1.5.3 二维码生成
PDF预览 pdfjs-dist 5.1.91 图纸在线预览

3.2 项目目录结构 (src/)

src/
├── main.js                    # 入口文件,全局注册
├── App.vue                    # 根组件
├── permission.js              # 路由守卫/权限控制
├── api/                       # API接口层
│   └── login.js               # 登录/密码修改API
├── router/
│   ├── index.js               # 路由配置
│   ├── getTreeData.js         # 动态菜单树生成
│   └── menuComponentModule.js # 菜单组件映射
├── store/
│   ├── index.js               # Vuex Store 入口
│   └── modules/
│       ├── app.js             # 应用全局状态
│       ├── user.js            # 用户状态(登录/登出)
│       ├── login.js           # 登录时间跟踪
│       ├── permission.js      # 权限路由状态
│       └── tagsView.js        # 标签页状态
├── views/                     # 业务视图模块
│   ├── layout/                # 布局组件
│   ├── login/                 # 登录页
│   ├── dashboard/             # 看板首页
│   └── [业务模块]/            # 各MES业务模块
├── components/                # 公用组件
├── styles/                    # 全局样式
├── utils/
│   ├── auth.js                # Token管理(Cookie)
│   ├── request.js             # Axios实例配置
│   └── curd.js                # 通用增删改查
├── directive/                 # 自定义指令
│   └── el-dragDialog/         # 对话框拖拽指令
├── icons/                     # SVG图标
└── vendor/                    # 第三方工具(htmlToPdf)

3.3 权限控制机制

1. 用户登录 → 后端验证用户名/密码 → 返回角色列表
2. 选择登录角色 → setToken(角色编号) → Cookie存储
3. 路由守卫 permission.js 拦截:
   ├── 无Token → 重定向 /login
   └── 有Token → GetInfo() → getTreeData() 构建动态路由树
                → GenerateRoutes → router.addRoutes()

4. 数据库 script.sql 详细解析

4.1 数据库基础配置

数据库名:       YL_MESDB
数据文件:       D:\sqlData\YL_MESDB.mdf (初始 ~6.9GB, 自动增长64MB)
日志文件:       D:\sqlDataLog\YL_MESDB_log.ldf (初始 ~263GB, 最大2048GB)
兼容级别:       150 (SQL Server 2019)
恢复模式:       FULL (完全恢复)
排序规则:       DATABASE_DEFAULT

4.2 核心业务表一览

生产计划与任务

表名 主键 说明
MES_接口_生产计划 订单编号 (int) 从ERP同步的生产订单主表
MES_接口_生产计划_生产任务 AID (bigint) 工序级任务拆分表UK: (订单编号+订单行号+订单拆分内码)
MES_接口_生产计划_生产任务_子任务 AID 子任务(二次派工)
MES_接口_工艺路线主数据 AID (int) 工艺路线主数据接口表

MES_接口_生产计划_生产任务 关键字段:

字段 类型 说明
任务状态 int 0-待执行, 1-可执行, 2-已开工, 4-已完成
加工状态 int 2-辅助开始, 3-辅助结束, 4-开始加工, 5-暂停, 6-报工
指派对象/编号 nvarchar(50) 分配的工位/设备名称与编号
指派数量 decimal(16,2) 本序计划生产数量
二次派工 nvarchar(500) 多人协作分配(逗号分隔人员ID)
进度 decimal(16,2) 完成百分比

资源与人员

表名 主键 说明
MES_资源主数据 VisCode (nvarchar(50)) 设备/工位主数据(SAP同步)
登录基础数据_人员信息 Personnel_Number (int) 人员账号表, UK: account
登录基础数据_角色信息 Roles_number (int) 角色定义表
登录基础数据_人员权限角色 ID (int) 人员-角色多对多关联
登录基础数据_二级菜单 IDD (int) 菜单/路由配置表
登录基础数据_部门 部门编号 (int) 组织架构
工位人员绑定表 绑定编号 (int) 工位-人员绑定关系
班次表 班次编号 (nvarchar(50)) 班次定义(白班07:45-16:30, 夜班16:30-00:40)
班次人员绑定表 绑定ID (int) 人员-班次绑定

操作记录与工时

表名 主键 说明
YL_加工中心_操作记录表 AID (int) 核心操作记录表,含暂停/恢复/报工全流程
YL_加工中心_报工记录 AID (int) 报工确认记录(生产工时/辅助工时)
生产管理_工时校验_校验工时表 AID (int) 工时审核校验(上传工时 vs 系统计算工时)

操作记录表关键字段: 总时长, 暂停总时长, 实际工时 = 总时长 - 暂停总时长

操作类别 说明
收料 物料接收确认
开始加工 / 辅助开始 生产/辅助启动
暂停 暂停加工
报工 / 辅助结束 完成报工
首检 首件质量检验
加班 / 休息日加班 / 法定休息日加班 加班工时记录

质量管理

表名 主键 说明
YL_质量检验_质检记录 QT_AID (bigint) 质检主记录
YL_质量检验_质检记录_检测零件 LJ_AID (bigint) 每个被检零件的检测结果(1合格/0不合格)
YL_质量检验_质检记录_检测数据 AID (bigint) 检测项目明细(理论值/上限/下限/实测值)
YL_质量检验_检测标准 AID (int) 各物料工序的检测标准
YL_质量检验_量具信息 AID (int) 量具台账
YL_质量检验_不合格品处理 FlowAID (int) 不合格品处理流程(让步放行申请)
YL_质量检验_不合格品处理_处理节点 (FlowAID, FlowNodeID) 审批流程节点
检测类型编号 质检类型
1 首检自检
3 序检自检
6 收检 (跨工序接收检验)
8 终检 (最终检验)

设备管理

表名 主键 说明
YL_设备管理_设备台账 设备ID (int) 设备主数据, UK: 设备编号
YL_设备管理_维修记录 AID (int) 设备故障维修记录
YL_设备管理_工时记录 ID (int) 设备循环时间采集记录
YL_设备管理_设备生产状态_Moby AID 设备实时生产状态
YL_设备管理_设备生产状态_Moby_历史记录 AID 设备状态变更历史
基础数据_设备工位点检表 设备流水号 (int) 设备点检清单

实时监控与历史数据

表名 主键 说明
CaChe_Var AID (int) 设备变量实时缓存
历史_设备数据_定时 AID (bigint) 设备变量历史数据
历史_工位设备状态每分钟记录 AID_N (bigint) 每分工位状态快照(含电流/电压/功率)
报警_记录_历史 AID (int) 报警历史记录
报警_记录_历史_缓存 AID (int) 当前活跃报警缓存
设备信息缓存表 (无主键) 工位任务信息缓存
记录_日志_项目运行日志 AID (bigint) API请求/响应日志
_日志 ID (int) 用户操作审计日志

工艺与技术文档

表名 主键 说明
基础表_工序 工艺编号 (int) 工序基础数据
车间生产管理工艺_零件工序_工艺库 id (int) 标准工艺路线库
车间生产管理工艺_零件生产工艺_工艺库 id (int) 生产订单关联工艺库(含订单编号)
物料基础数据_零件图纸 id (int) 零件图纸文件元数据
物料基础数据_工艺图纸 id (int) 工艺图纸文件元数据
物料基础数据_零件图纸删除记录 ID (int) 图纸删除审计日志

工作流与审批

表名 主键 说明
流程表 流程ID (int) 审批流程主表
流程节点表 节点ID (int) 审批流程节点
流程完成记录表 完成记录ID (int) 流程完成记录
流程转办表 转办ID (int) 审批转办记录
审批记录表 记录ID (int) 审批意见记录

其他

表名 说明
物料数据 物料主数据缓存
BOM数据 BOM物料清单
YL_基础表_数据字典 全局数据字典(操作类别/班次/报工确认等)
Attachments 文件附件管理
质量检验_质检任务_SAP SAP来料检验任务

4.3 关键视图分析

视图名称 功能描述
View_生产订单_MES 核心视图:联合生产计划+生产任务+资源+图纸的完整视图
View_生产订单全部包括已关闭 同上但不过滤已关闭订单
View_生产工时视图 整合操作记录+校验工时+生产订单的多表联查
View_校验后的生产工时 仅显示已校验通过的生产工时
v_CurrentProductionStatus 当前生产状态看板:机加+装配UNION含人员名称聚合
View_外协报表视图 外协工序完整报表联查SAP采购数据(s.含税行总计, s.供应商名称)
View_设备工位人员 设备-工位-人员-班次四维关联视图
View_标准工艺视图 标准工艺+零件+工序关联
View_生产工艺视图 生产订单工艺+物料+订单状态
View_质检明细 质检记录+工位+合同号完整明细
View_外协质检 外协收检记录视图
View_装配信息 装配送检数/质检合格数统计
View_生产订单完工 复杂完工判定逻辑(合格数+不合格数=计划数量)
View_终检状态 终检记录关联
View_账号权限信息 人员-角色-菜单完整权限链路
登录基础数据_管理人员权限视图 角色-人员-部门多维视图
计划任务视图 工艺编号+订单编号+物料名称

4.4 用户自定义函数 (UDF)

计算班次重叠秒数

计算班次重叠秒数(@开始时间 datetime, @结束时间 datetime, 
                  @班次开始 time, @班次结束 time) RETURNS int
  • 逐日循环计算打卡时间和班次时间的重叠秒数
  • 支持跨天班次(如夜班16:30-00:30)
  • 限制最大3天计算范围防止无限循环
  • 用于工时计算和加班判断

4.5 关键存储过程分析

生产排产

存储过程 功能
MES_OrderPlanned_SingleTaskPlanned 核心排产逻辑:单任务拆分。当计划数量>指派数量时创建拆分任务;当计划数量<指派数量时删除未分配任务
MES_OrderPlanned_Finish 批量排产确认通过OPENJSON解析JSON任务列表更新指派信息
MES_OrderPlanned_EditTaskPlanned 动态SQL编辑任务排产字段
MES_OrderPlanned_ChildTask_Add 子任务(二次派工)新增
MES_OrderPlanned_Query / _Queryzp 排产查询(自制件/装配件)
__Reset_ProductOrder 重置订单(排产或加工中心数据)

加工中心操作

存储过程 功能
MES_ProductTask_MaterialRecieved 收料操作:更新收料数量,当收料>0时任务状态变为可执行
MES_ProductTask_WorkingStart 开始加工:任务状态变为已开工(2),自动同步上序合格数作为收料数
MES_ProductTask_Rest 暂停操作:加工状态变为暂停
MES_ProductTask_ProdReport 报工核心:含完整加班计算(白班/夜班拆分、休息日/法定休息日处理)、捆绑报工、前序不合格数处理、报工记录双插入(生产工时+辅助工时)
MES_ProductTask_HelpStart 辅助开始
MES_ProductTask_HelpEnd 辅助结束:含加班时长计算、班次判断、特殊加班人员处理
MES_ProductTask_FirstCheck 首检操作
MES_ProductTask_Excutable 标记任务为可执行
MES_ProductTask_SendInspection 送检(装配报工)
MES_ProductCenter_OptRecord_Save 操作记录保存核心:处理暂停/开始/报工的联动逻辑,计算工时
MES_ProductCenter_OptRecords 操作记录查询

人员工时(装配)

存储过程 功能
MES_人员工时记录_开始 装配人员开始加工记录
MES_人员工时记录_结束 装配人员结束加工:含白班/加班/休息日完整计算,生成报工记录和加班记录
MES_人员工时记录_检查是否存在 检查是否有未结束的开始记录
MES_人员工时记录_获取进行中任务 按用户ID获取进行中的装配任务

质量管理

存储过程 功能
MES_QulityInspection_ReceiveCheck 收检处理:事务性写入质检记录,总检测数=计划生产数时自动完成任务,收检合格后触发下一工序可执行
MES_QulityInspection_FinalCheck 终检记录
MES_QulityInspection_CheckItemData_Save 检测数据保存:事务性三级写入(质检主表→零件表→检测数据表),支持批量零件检测
MES_QulityInspection_FirstCheckRecords 首检记录查询
MES_QulityInspection_RoundCheck 巡检操作
MES_QulityInspection_ProcessCheck 序检操作
MES_QulityInspection_GetItemStandard 获取检测标准
MES_QulityInspection_GetInspectionDetails 获取检测明细数据
MES_QulityInspection_GetInspectionParts 获取检测零件列表
MES_QulityInspection_NGPart_Add 不合格品处理流程发起
MES_QulityInspection_NGPart_FlowNode_Add 审批节点新增
MES_QulityInspection_NGPart_FlowNode_Update 审批节点完成
MES_QulityInspection_NGPart_Finish 不合格品处理流程结束

设备管理与实时监控

存储过程 功能
MES_DeviceAdmin_BaseInfo 设备台账新增
MES_DeviceAdmin_RepairRecords_Add/Query 维修记录增查
MES_DeviceAdmin_DeviceProductState_Update 设备生产状态更新(含历史记录)
Event_CaChe_Var_Update 设备变量实时缓存更新(含循环时间触发工时记录)
Event_Device_Insert_CurrInfo 设备数据历史写入
Event_Device_Update_CurrInfo 设备变量当前值更新
Event_StationStatus_Insert/Update 工位状态记录/更新
Event_Alarm_Start/End 报警开始/结束处理(含缓存→历史迁移)
Event_Log_Request/Respond API请求/响应日志

登录与用户

存储过程 功能
MES_登录_工号密码验证 用户登录验证(查询基础表_用户角色)
MES_登录_工位与名称_查询 获取工位列表(来自View_基础数据_工位)
MES_登录_班次信息 获取班次数据字典
Prog_MES_GetDictionar_ByType 按类别获取数据字典

系统工具

存储过程 功能
___DB_BAK 数据库全量备份到 C:_MW\数据库\
_日志_增加 用户操作日志插入
p_PopFirstWord 逗号分隔字符串解析工具函数

4.6 外部系统集成 (SAP Business One)

跨数据库查询链路:
├── SAP.SBO_YL.dbo.UBT_OITM                    → 物料主数据(编码/名称/品牌)
├── SAP.SBO_YL.dbo.UBT_WW_MES_OPORandOPCH      → 采购订单(供应商/含税单价/材质)
├── SAP.SBO_YL.dbo.OWOR                         → 生产订单(ERP侧)
├── SAP.SBO_YL.dbo.OWR1                         → 生产订单行
└── SAP.SBO_YL.dbo.OWR4                         → 生产订单阶段

4.7 核心数据流

ERP(SAP)订单下发
    │
    ▼
MES_接口_生产计划 (订单同步)
    │
    ▼
排产 (MES_OrderPlanned_SingleTaskPlanned)
    │  └── 任务拆分/工位指派/计划时间设定
    ▼
MES_接口_生产计划_生产任务 (工序级任务)
    │
    ├── 收料 → 任务状态: 0(待执行) → 1(可执行)
    │
    ├── 开始加工 → 任务状态: 1 → 2(已开工)
    │       │
    │       ├── 暂停/恢复循环 (关联开始记录 ↔ 关联暂停记录)
    │       │
    │       └── 报工 → 计算工时(总时长-暂停总时长)
    │             │
    │             ├── 生成报工记录(生产工时+辅助工时)
    │             ├── 判断加班(白班/夜班拆分/休息日)
    │             └── 任务状态: 2 → 4(已完成)
    │
    ├── 首检 → 巡检 → 序检 (质检环节)
    │
    ├── 收检 (MES_QulityInspection_ReceiveCheck)
    │       │  合格数触发下一工序可执行
    │       └── 任务状态 → 4(已完成)
    │
    └── 终检 → 完工判定

5. 程序问题分析报告

🔴 严重问题 (Critical)

问题 1SQL注入漏洞 — 60+个存储过程

位置: script.sql 中几乎所有动态SQL存储过程

所有使用 sp_executesql 拼接 @whereStr 的存储过程都存在SQL注入风险。用户输入直接通过字符串拼接插入SQL语句

-- MES_OrderPlanned_Query (line 3303)
if(@合同号<>'') set @selectStrWhere = @selectStrWhere 
    + ' and [合同号] like ''%'+@合同号+'%'''

受影响的存储过程 (部分列表):

  • MES_OrderPlanned_Query / MES_OrderPlanned_Queryzp
  • MES_ProductAdmin_Query / MES_ProductAdmin_GetRptRecords
  • MES_ProductCenter_OptRecords
  • MES_QulityInspection_CheckRecord_Query
  • MES_QulityInspection_FirstCheckRecords
  • MES_QulityInspection_MeasuringTool
  • MES_QulityInspection_GetTask
  • MES_ProductCenter_GetTask / MES_ProductCenter_GetTask_zp

修复建议: 统一使用参数化查询模式:

SET @SQL = @SQL + ' AND [合同号] LIKE ''%'' + @合同号 + ''%'''
EXEC sp_executesql @SQL, N'@合同号 nvarchar(50)', @合同号 = @合同号

问题 2明文密码存储于Cookie

位置: src/views/login/index.vue line 243-246

setCookie(username, password, checked) {
  Cookie.set('username', username, { expires: 7 })
  Cookie.set('password', password, { expires: 7 })  // ❌ 明文密码存7天
  Cookie.set('checked', checked, { expires: 7 })
}

密码以明文存储在客户端Cookie中持续7天可被XSS攻击轻易窃取。


问题 3Axios已知CVE漏洞版本

位置: package.json line 17

"axios": "^0.21.4"

axios 0.21.4 存在已知安全漏洞 CVE-2021-3749 (ReDoS攻击),当前最新版本为 1.7.x。


问题 4开发代理绕过HTTPS证书验证 + 死代码配置

位置: config/index.js line 18-19, 37-38

proxyTable: {
  '/api/b1s': {
    target: 'https://192.168.2.90:50000',  // SAP B1
    secure: false,  // ❌ 跳过SSL证书验证 — 中间人攻击风险
  },
  '/openapi/v1': {
    target: 'http://192.168.2.90:8082',
    pathRewrite: {
      '^/api/tm': '/openapi/v1'   // ❌ 死代码:/openapi/v1 永远不会匹配 /api/tm
    }
  }
}

第二个代理的 pathRewrite 规则永远无法触发。


问题 5登录密码拼在URL参数中

位置: src/api/login.js line 13

param: `用户名=${username}&密码=${password}`

密码作为URL查询参数传输会被代理服务器日志、浏览器历史记录记录。


🟠 高优先级问题 (High)

问题 6修改密码验证器Bug (复制粘贴错误)

位置: src/views/login/index.vue line 119-130

const validateValue = (rules, value, callback) => {
  // ❌ 三个条件都检查同一个字段 — 明显的复制粘贴bug
  if (typeof (this.form.againPassword) === 'string' || 
      typeof (this.form.againPassword) === 'string' || 
      typeof (this.form.againPassword) === 'string') {
    callback(new Error('请输入英文字母组合'))  // ❌ 字符串类型反而报错?
  }
  // ❌ 下面代码永远不会执行已callback但未return
  if (this.form.newPassword !== this.form.againPassword) {
    callback(new Error('两次输入密码不同'))
  }
}

该验证器应用于所有4个密码字段导致密码修改功能完全无法正常工作


问题 7Vuex Action中 this.$router 为undefined

位置: src/store/modules/user.js line 44-45

Login({ commit }, userInfo) {
  login(username, userInfo.password).then(response => {
    if (data.length === 0 || data.result === '0') {
      Message.error('账号或密码错误,请重新登录')
      this.$router.push({ path: '/login' })  // ❌ Vuex action中this不是Vue组件实例
    }

在Vuex action中使用 this.$router 会抛出 TypeError: Cannot read properties of undefined


问题 8GetInfo 硬编码角色为 'admin'

位置: src/store/modules/user.js line 83

GetInfo({ commit, state }) {
  getInfo(state.token).then(response => {
    commit('SET_ROLES', 'admin')  // ❌ 无视后端返回的真实角色数据
    resolve(response)
  })
}

所有登录用户都被授予 'admin' 角色。permission.js 第13行 roles.indexOf('admin') >= 0 对所有用户放行,导致权限控制完全失效。


问题 9登录错误被静默吞掉

位置: src/views/login/index.vue line 198-200

}).catch(() => {
  this.loading = false  // ❌ 无任何错误提示
})

网络故障或服务器错误时用户看不到任何反馈。


问题 10Webpack开发服务器强制HTTPS但无有效证书

位置: build/webpack.dev.conf.js line 31

devServer: {
  https: true,  // ❌ 未配置证书 → 浏览器报安全错误

本地开发时浏览器会因自签名证书阻止访问。


🟡 中优先级问题 (Medium)

问题 11Vue 2 已于 2023年12月 EOL

Vue 2.x 不再接收安全补丁和新功能。建议规划迁移至 Vue 3。

问题 12生产环境暴露 Source Map

位置: config/index.js line 110

devtool: 'source-map',  // 生产环境暴露完整源码

用户可通过浏览器开发者工具查看未压缩的完整源码。

问题 13__Reset_ProductOrder 存储过程执行 TRUNCATE

位置: script.sql line 2288-2289

truncate table YL_加工中心_操作记录表
truncate table YL_加工中心_报工记录

@optType=1 时无条件清空全部操作记录和报工记录,误调用将导致数据永久丢失且无法回滚。

问题 14数据库日志文件初始263GB

位置: script.sql line 9

LOG ON 
(NAME = N'YL_MESDB_log', FILENAME = N'D:\sqlDataLog\YL_MESDB_log.ldf', 
 SIZE = 269688832KB)  -- 约263GB

恢复模式为FULL但只有全量备份没有事务日志备份日志文件会持续增长直至磁盘占满。

问题 15依赖项问题

位置: package.json line 26

"install": "^0.13.0"  // ❌ "install"是一个真实的npm包但不应作为项目依赖

这是脚手架残留或误操作引入。

问题 16关键ESLint规则被关闭

位置: .eslintrc.js line 83, 153

'no-console': 'off',
'no-unused-vars': ['off', { ... }]

大量 console.log 残留于生产代码,未使用变量不提示。


🟢 低优先级/建议 (Low)

# 问题 位置
17 vue$ alias 指向 vue.esm.js 而非 vue.runtime.esm.js webpack.base.conf.js line 32
18 webpack dev 使用 cache.type: 'filesystem' 可能引起缓存过期问题 webpack.dev.conf.js line 24
19 devServer 配置使用 Webpack 4 风格 (static/publicPath) webpack.dev.conf.js
20 CopyWebpackPlugin v11 API 已弃用 patterns 外层写法 webpack.dev.conf.js line 61
21 SCSS loader 使用 Dart Sass 但配置了 indentedSyntax: true webpack.base.conf.js line 165
22 登录页用户名变更时清空密码 (可能非预期行为) login/index.vue line 182
23 config/index.js 第9行 networkInterfaces['WLAN'] 硬编码,可能在乙太网卡环境出错 config/index.js line 9
24 Vue-loader 配置文件为空对象,未配置任何选项 build/vue-loader.conf.js

📊 问题汇总统计

级别 数量 影响
🔴 Critical 5 安全漏洞、数据泄露风险
🟠 High 5 功能Bug、权限失效、运行时错误
🟡 Medium 6 可维护性、稳定性风险
🟢 Low 7 代码质量、最佳实践
总计 23

🔧 优先修复路线图

第1阶段 (立即):

  1. 修复所有SQL注入漏洞 → 动态SQL改用参数化查询
  2. 移除Cookie明文密码 → 仅存Token
  3. 修复 validateValue 验证器Bug

第2阶段 (本周): 4. 升级 axios 到 1.7.x 5. 修复 GetInfo 硬编码 admin 角色 6. 修复 this.$router 在 Vuex 中的调用

第3阶段 (本月): 7. 配置事务日志定期备份策略 8. 修复 webpack 生产环境 source-map 泄露 9. 为 __Reset_ProductOrder 添加安全防护(备份确认/权限限制)

第4阶段 (规划): 10. 规划 Vue 3 迁移路线图 11. 清理无用依赖和死代码 12. 恢复 ESLint 关键规则并修复代码


📅 报告生成日期: 2026-05-18 📝 分析范围: 全项目静态代码分析 (前端 + 数据库)