From 9e24368d4c822ed27a7408f5894bf7f6c0ad044e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Thu, 5 Mar 2026 17:19:48 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BB=93=E5=BA=93=E7=AE=A1=E7=90=86):=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=92=A2=E5=8D=B7=E5=BA=93=E5=8C=BA=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加钢卷库区操作日志记录功能,包括: 1. 在入库操作时自动记录日志 2. 新增日志查询API接口 3. 实现日志查看页面和表格组件 4. 处理拒签和删除操作时的日志清理 --- .../src/api/wms/coilWarehouseOperationLog.js | 63 ++++++ klp-ui/src/views/wms/coil/do/warehousing.vue | 8 +- klp-ui/src/views/wms/coil/js/coilActions.js | 17 +- .../wms/warehouse/components/LogTable.vue | 153 +++++++++++++++ klp-ui/src/views/wms/warehouse/log.vue | 179 ++++++++++++++++++ 5 files changed, 418 insertions(+), 2 deletions(-) create mode 100644 klp-ui/src/api/wms/coilWarehouseOperationLog.js create mode 100644 klp-ui/src/views/wms/warehouse/components/LogTable.vue create mode 100644 klp-ui/src/views/wms/warehouse/log.vue diff --git a/klp-ui/src/api/wms/coilWarehouseOperationLog.js b/klp-ui/src/api/wms/coilWarehouseOperationLog.js new file mode 100644 index 00000000..28f04b94 --- /dev/null +++ b/klp-ui/src/api/wms/coilWarehouseOperationLog.js @@ -0,0 +1,63 @@ +import request from '@/utils/request' + +// 查询钢卷库区操作记录列表 +export function listCoilWarehouseOperationLog(query) { + return request({ + url: '/wms/coilWarehouseOperationLog/list', + method: 'get', + params: query + }) +} + +// 查询钢卷库区操作记录详细 +export function getCoilWarehouseOperationLog(logId) { + return request({ + url: '/wms/coilWarehouseOperationLog/' + logId, + method: 'get' + }) +} + +// 新增钢卷库区操作记录 +export function addCoilWarehouseOperationLog(data) { + return request({ + url: '/wms/coilWarehouseOperationLog', + method: 'post', + data: data + }) +} + +// 修改钢卷库区操作记录 +export function updateCoilWarehouseOperationLog(data) { + return request({ + url: '/wms/coilWarehouseOperationLog', + method: 'put', + data: data + }) +} + +// 删除钢卷库区操作记录 +export function delCoilWarehouseOperationLog(logId) { + return request({ + url: '/wms/coilWarehouseOperationLog/' + logId, + method: 'delete' + }) +} + +// 根据钢卷 ID、操作类型及出入库类型删除钢卷库区操作记录 +export function delCoilWarehouseOperationLogByCoilId(params) { + return request({ + url: '/wms/coilWarehouseOperationLog/byCoilId', + method: 'delete', + params + }) +} + +// 根据二级库区ID和时间范围查询操作记录及钢卷信息 +export function getCoilWarehouseOperationLogByWarehouseId(params) { + return request({ + timeout: 100000, + url: '/wms/coilWarehouseOperationLog/byWarehouseAndTime', + method: 'get', + params + }) +} diff --git a/klp-ui/src/views/wms/coil/do/warehousing.vue b/klp-ui/src/views/wms/coil/do/warehousing.vue index 02ab9174..d5b92fb6 100644 --- a/klp-ui/src/views/wms/coil/do/warehousing.vue +++ b/klp-ui/src/views/wms/coil/do/warehousing.vue @@ -353,6 +353,7 @@ import { listDeliveryPlan } from '@/api/wms/deliveryPlan' import handleCoil, { COIL_ACTIONS } from '../js/coilActions' import LabelRender from '../panels/LabelRender/index.vue' import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue"; +import { delCoilWarehouseOperationLogByCoilId } from '@/api/wms/coilWarehouseOperationLog' // 键值为[400, 500), 不包含在字典中,但后续可以加入的特殊操作,这类操作录入后会立刻完成,例如入库(401)和发货(402) @@ -676,7 +677,7 @@ export default { this.buttonLoading = true; updatePendingAction({ ...row, - actionStatus: 3, // 3表示拒签 + actionStatus: 3, // 3表示取消操作,也就是拒签 }).then(response => { this.$modal.msgSuccess("拒签成功"); this.getList(); @@ -723,6 +724,11 @@ export default { } delPendingAction(row.actionId).then(response => { this.$modal.msgSuccess("删除成功"); + delCoilWarehouseOperationLogByCoilId({ + coilId: row.coilId, + operationType: 1, + inOutType: 1 + }) this.getList(); }).finally(() => { this.buttonLoading = false; diff --git a/klp-ui/src/views/wms/coil/js/coilActions.js b/klp-ui/src/views/wms/coil/js/coilActions.js index 0f09f0ab..f4b19a24 100644 --- a/klp-ui/src/views/wms/coil/js/coilActions.js +++ b/klp-ui/src/views/wms/coil/js/coilActions.js @@ -1,5 +1,6 @@ import { addMaterialCoil, updateMaterialCoil, updateMaterialCoilSimple } from "@/api/wms/coil" import { addPendingAction, updatePendingAction } from '@/api/wms/pendingAction'; +import { addCoilWarehouseOperationLog } from '@/api/wms/coilWarehouseOperationLog'; export const COIL_ACTIONS = { RECEIVE: 'RECEIVE', // 收货与入库的区别在于,收货相当于计划入库,不管是否已到货都执行这个操作,计划收货也是收获 @@ -57,12 +58,26 @@ export const actionStrategies = { updateMaterialCoilSimple({ ...coil, dataType: 1, + }), + addCoilWarehouseOperationLog({ + coilId: coil.coilId, + actualWarehouseId: coil.actualWarehouseId, + operationType: 1, + inOutType: 1, }) ]) + // 如果填写了实际库区,还需要新增一条库区出入记录 + // if (coil.actualWarehouseId) { + // await addCoilWarehouseOperationLog({ + // coilId: coil.coilId, + // actualWarehouseId: coil.actualWarehouseId, + // operationType: 1, + // inOutType: 1, + // }) + // } return true } }, - } const handleCoil = (action, ...args) => { diff --git a/klp-ui/src/views/wms/warehouse/components/LogTable.vue b/klp-ui/src/views/wms/warehouse/components/LogTable.vue new file mode 100644 index 00000000..70bb886f --- /dev/null +++ b/klp-ui/src/views/wms/warehouse/components/LogTable.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/warehouse/log.vue b/klp-ui/src/views/wms/warehouse/log.vue new file mode 100644 index 00000000..1b44b3b7 --- /dev/null +++ b/klp-ui/src/views/wms/warehouse/log.vue @@ -0,0 +1,179 @@ + + + + + \ No newline at end of file