From 7cf9f4eca42ef2125f609f0ac9a721441fa7503c Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 8 Jul 2026 13:43:31 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat(qc):=20=E6=96=B0=E5=A2=9E=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=A3=80=E9=AA=8C=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E6=95=B0=E6=8D=AE=E5=A4=84=E7=90=86=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加 BatchInspectionMainBo 和 BatchInspectionTensileBo 数据传输对象 - 集成检验明细列表到 WmsInspectionMainBo 和 WmsInspectionTensileDetailBo - 在 inspectionMain 控制器中实现批量插入检验主数据接口 - 在 inspectionTensileDetail 控制器中实现批量插入拉伸试验明细接口 - 重构前端检验样品页面,合并主表和明细表的保存操作 - 优化前端拉伸试验页面的批量新增逻辑,统一使用批量插入接口 - 更新服务层实现以支持批量插入并更新申请单关联ID列表 - 移除前端页面中单独的明细表增删改操作接口调用 --- klp-ui/src/api/mes/qc/inspectionMain.js | 9 +++ .../src/api/mes/qc/inspectionTensileDetail.js | 9 +++ .../views/mes/qc/inspectionSample/index.vue | 42 +++++------ .../views/mes/qc/inspectionTensile/index.vue | 40 ++++++----- .../WmsInspectionMainController.java | 11 +++ .../WmsInspectionTensileDetailController.java | 13 ++++ .../klp/domain/bo/BatchInspectionMainBo.java | 11 +++ .../domain/bo/BatchInspectionTensileBo.java | 12 ++++ .../klp/domain/bo/WmsInspectionMainBo.java | 6 ++ .../bo/WmsInspectionTensileDetailBo.java | 7 ++ .../service/IWmsInspectionMainService.java | 5 ++ .../IWmsInspectionTensileDetailService.java | 2 + .../impl/WmsInspectionMainServiceImpl.java | 69 ++++++++++++++++++- ...WmsInspectionTensileDetailServiceImpl.java | 37 ++++++++++ 14 files changed, 228 insertions(+), 45 deletions(-) create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/BatchInspectionMainBo.java create mode 100644 klp-wms/src/main/java/com/klp/domain/bo/BatchInspectionTensileBo.java diff --git a/klp-ui/src/api/mes/qc/inspectionMain.js b/klp-ui/src/api/mes/qc/inspectionMain.js index d0b9f3a7f..b0af2194b 100644 --- a/klp-ui/src/api/mes/qc/inspectionMain.js +++ b/klp-ui/src/api/mes/qc/inspectionMain.js @@ -42,3 +42,12 @@ export function delInspectionMain(mainId) { method: 'delete' }) } + +// 批量新增检验主及明细,并更新申请单detailIds +export function batchInsertMainWithDetails(data) { + return request({ + url: '/wms/inspectionMain/batchInsertWithDetails', + method: 'post', + data: data + }) +} diff --git a/klp-ui/src/api/mes/qc/inspectionTensileDetail.js b/klp-ui/src/api/mes/qc/inspectionTensileDetail.js index c790fda3e..86ee1fa98 100644 --- a/klp-ui/src/api/mes/qc/inspectionTensileDetail.js +++ b/klp-ui/src/api/mes/qc/inspectionTensileDetail.js @@ -42,3 +42,12 @@ export function delInspectionTensileDetail(detailId) { method: 'delete' }) } + +// 批量插入明细并更新申请单detailIds +export function batchInsertTensileDetails(data) { + return request({ + url: '/wms/inspectionTensileDetail/batchInsertDetails', + method: 'post', + data: data + }) +} diff --git a/klp-ui/src/views/mes/qc/inspectionSample/index.vue b/klp-ui/src/views/mes/qc/inspectionSample/index.vue index d422f538e..8f90eb489 100644 --- a/klp-ui/src/views/mes/qc/inspectionSample/index.vue +++ b/klp-ui/src/views/mes/qc/inspectionSample/index.vue @@ -142,7 +142,7 @@ + + diff --git a/klp-ui/src/views/micro/pages/acid/index.vue b/klp-ui/src/views/micro/pages/acid/index.vue index e8e39034b..b6ea99577 100644 --- a/klp-ui/src/views/micro/pages/acid/index.vue +++ b/klp-ui/src/views/micro/pages/acid/index.vue @@ -26,6 +26,10 @@ 规程 + + + 模型 + 计划 @@ -39,7 +43,7 @@ 实绩 - + 配辊 @@ -76,6 +80,7 @@ import Stoppage from '@/views/timing/stoppage/index.vue'; import AcidTiming from '@/views/lines/acid/index.vue'; import TrackingView from './components/TrackingView.vue'; import ProcessSpec from './components/ProcessSpec.vue'; +import Model from './components/Model.vue'; export default { name: 'AcidSystem', @@ -92,7 +97,8 @@ export default { Stoppage, AcidTiming, TrackingView, - ProcessSpec + ProcessSpec, + Model }, data() { return { @@ -115,6 +121,7 @@ export default { acidTiming: 'AcidTiming', tracking: 'TrackingView', processSpec: 'ProcessSpec', + model: 'Model', }; return componentMap[this.activeMenu]; }, @@ -159,6 +166,7 @@ export default { color: #606266; padding: 0 20px; font-size: 14px; + transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease; &:hover { background-color: #ecf5ff; @@ -169,11 +177,13 @@ export default { background-color: #ecf5ff; color: #409eff; border-right: 3px solid #409eff; + font-weight: 600; } i { font-size: 18px; margin-right: 8px; + transition: color 0.2s ease; } } } diff --git a/klp-ui/vue.config.js b/klp-ui/vue.config.js index b14f87c2e..48eec3ae6 100644 --- a/klp-ui/vue.config.js +++ b/klp-ui/vue.config.js @@ -54,6 +54,14 @@ module.exports = { ['^' + '/zinc-api']: '/api' } }, + // 酸轧六机架轧制模型服务(klp-ml-mill FastAPI),/predict /latest /sync /retrain /health + '/mill-api': { + target: `http://117.72.159.31:10001`, + changeOrigin: true, + pathRewrite: { + ['^' + '/mill-api']: '' + } + }, // 直接代理WebSocket相关路径 '/websocket': { target: `http://localhost:8080`, diff --git a/script/docker/nginx/conf/nginx.conf b/script/docker/nginx/conf/nginx.conf index e9630aaf7..b1a677310 100644 --- a/script/docker/nginx/conf/nginx.conf +++ b/script/docker/nginx/conf/nginx.conf @@ -81,6 +81,15 @@ http { proxy_pass http://server/; } + # 酸轧六机架轧制模型服务(klp-ml-mill FastAPI) + location /mill-api/ { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header REMOTE-HOST $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_pass http://117.72.159.31:10001/; + } + # https 会拦截内链所有的 http 请求 造成功能无法使用 # 解决方案1 将 admin 服务 也配置成 https # 解决方案2 将菜单配置为外链访问 走独立页面 http 访问 From a95bdb5d573872cea1ad7ab220e954e80350bf03 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Wed, 8 Jul 2026 14:35:50 +0800 Subject: [PATCH 3/5] =?UTF-8?q?feat(log):=20=E6=B7=BB=E5=8A=A0=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B7=AF=E7=94=B1=E8=AE=B0=E5=BD=95=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=88=B0=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 OperLogEvent 中新增 operPage 字段用于存储页面路由信息 - 在 SysOperLog 实体类中添加 operPage 属性并配置 Excel 导出 - 修改 LogAspect 切面类从请求头获取 X-Page-Route 并设置到操作日志 - 在前端请求拦截器中添加当前路由路径到请求头 X-Page-Route - 更新 SysOperLogMapper.xml 映射文件包含 operPage 字段映射 --- .../java/com/klp/common/core/domain/event/OperLogEvent.java | 5 +++++ .../src/main/java/com/klp/framework/aspectj/LogAspect.java | 2 ++ .../src/main/java/com/klp/system/domain/SysOperLog.java | 6 ++++++ .../src/main/resources/mapper/system/SysOperLogMapper.xml | 1 + klp-ui/src/utils/request.js | 5 +++++ 5 files changed, 19 insertions(+) diff --git a/klp-common/src/main/java/com/klp/common/core/domain/event/OperLogEvent.java b/klp-common/src/main/java/com/klp/common/core/domain/event/OperLogEvent.java index efff5115a..a983c5c35 100644 --- a/klp-common/src/main/java/com/klp/common/core/domain/event/OperLogEvent.java +++ b/klp-common/src/main/java/com/klp/common/core/domain/event/OperLogEvent.java @@ -96,6 +96,11 @@ public class OperLogEvent implements Serializable { */ private String errorMsg; + /** + * 页面路由 + */ + private String operPage; + /** * 操作时间 */ diff --git a/klp-framework/src/main/java/com/klp/framework/aspectj/LogAspect.java b/klp-framework/src/main/java/com/klp/framework/aspectj/LogAspect.java index 9444aa196..5c6165320 100644 --- a/klp-framework/src/main/java/com/klp/framework/aspectj/LogAspect.java +++ b/klp-framework/src/main/java/com/klp/framework/aspectj/LogAspect.java @@ -72,6 +72,8 @@ public class LogAspect { String ip = ServletUtils.getClientIP(); operLog.setOperIp(ip); operLog.setOperUrl(StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255)); + // 从请求头获取前端页面路由 + operLog.setOperPage(StringUtils.substring(ServletUtils.getRequest().getHeader("X-Page-Route"), 0, 255)); operLog.setOperName(LoginHelper.getUsername()); if (e != null) { diff --git a/klp-system/src/main/java/com/klp/system/domain/SysOperLog.java b/klp-system/src/main/java/com/klp/system/domain/SysOperLog.java index 2fc29e19f..631e94638 100644 --- a/klp-system/src/main/java/com/klp/system/domain/SysOperLog.java +++ b/klp-system/src/main/java/com/klp/system/domain/SysOperLog.java @@ -133,6 +133,12 @@ public class SysOperLog implements Serializable { @ExcelProperty(value = "操作时间") private Date operTime; + /** + * 页面路由 + */ + @ExcelProperty(value = "页面路由") + private String operPage; + /** * 请求参数 */ diff --git a/klp-system/src/main/resources/mapper/system/SysOperLogMapper.xml b/klp-system/src/main/resources/mapper/system/SysOperLogMapper.xml index 81f07e5e7..c1a6f309b 100644 --- a/klp-system/src/main/resources/mapper/system/SysOperLogMapper.xml +++ b/klp-system/src/main/resources/mapper/system/SysOperLogMapper.xml @@ -14,6 +14,7 @@ + diff --git a/klp-ui/src/utils/request.js b/klp-ui/src/utils/request.js index b1b7139ed..d9622e0c2 100644 --- a/klp-ui/src/utils/request.js +++ b/klp-ui/src/utils/request.js @@ -6,6 +6,7 @@ import errorCode from '@/utils/errorCode' import { tansParams, blobValidate } from "@/utils/klp"; import cache from '@/plugins/cache' import { saveAs } from 'file-saver' +import router from '@/router' let downloadLoadingInstance; // 是否显示重新登录 @@ -85,6 +86,10 @@ service.interceptors.request.use(config => { } } } + // 将当前页面路由放入请求头,供后端操作日志记录 + if (router.currentRoute && router.currentRoute.path) { + config.headers['X-Page-Route'] = router.currentRoute.path + } return config }, error => { console.log(error) From 1258456a8124260c2a071057b16c5d6a5a547493 Mon Sep 17 00:00:00 2001 From: wangyu <823267011@qq.com> Date: Wed, 8 Jul 2026 14:45:43 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=A8=A1=E5=9E=8Btab=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/acid/components/CoilInfoCard.vue | 113 ++++++ .../pages/acid/components/CoilModelTable.vue | 145 ++++++++ .../micro/pages/acid/components/Model.vue | 343 ++---------------- 3 files changed, 298 insertions(+), 303 deletions(-) create mode 100644 klp-ui/src/views/micro/pages/acid/components/CoilInfoCard.vue create mode 100644 klp-ui/src/views/micro/pages/acid/components/CoilModelTable.vue diff --git a/klp-ui/src/views/micro/pages/acid/components/CoilInfoCard.vue b/klp-ui/src/views/micro/pages/acid/components/CoilInfoCard.vue new file mode 100644 index 000000000..5da05ee63 --- /dev/null +++ b/klp-ui/src/views/micro/pages/acid/components/CoilInfoCard.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/klp-ui/src/views/micro/pages/acid/components/CoilModelTable.vue b/klp-ui/src/views/micro/pages/acid/components/CoilModelTable.vue new file mode 100644 index 000000000..4a9f16ccb --- /dev/null +++ b/klp-ui/src/views/micro/pages/acid/components/CoilModelTable.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/klp-ui/src/views/micro/pages/acid/components/Model.vue b/klp-ui/src/views/micro/pages/acid/components/Model.vue index 29872bbb7..4c696464a 100644 --- a/klp-ui/src/views/micro/pages/acid/components/Model.vue +++ b/klp-ui/src/views/micro/pages/acid/components/Model.vue @@ -1,234 +1,44 @@