From d3656ef18be44f0eb539b8c4b459feab8f2eb2b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Sat, 2 Aug 2025 13:38:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B4=A8=E4=BF=9D=E5=8D=95=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E6=95=B4=E4=BD=93=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- klp-ui/src/api/system/ocr.js | 9 + klp-ui/src/api/wms/stockIo.js | 20 +- klp-ui/src/components/FileUpload/index.vue | 9 +- .../KLPService/Renderer/BomInfo.vue | 1 - .../KLPService/WarehouseTree/index.vue | 75 ++++++ klp-ui/src/components/KLPService/index.js | 2 + klp-ui/src/store/modules/category.js | 5 + .../views/wms/purchasePlan/panels/detail.vue | 25 +- .../purchasePlan/panels/qualityCerticate.vue | 221 ++++++++++++++++++ klp-ui/src/views/wms/stock/box.vue | 6 +- klp-ui/src/views/wms/stock/index.vue | 108 ++++----- klp-ui/src/views/wms/stock/panels/stockIo.vue | 104 +++++++++ 12 files changed, 508 insertions(+), 77 deletions(-) create mode 100644 klp-ui/src/api/system/ocr.js create mode 100644 klp-ui/src/components/KLPService/WarehouseTree/index.vue create mode 100644 klp-ui/src/views/wms/purchasePlan/panels/qualityCerticate.vue create mode 100644 klp-ui/src/views/wms/stock/panels/stockIo.vue diff --git a/klp-ui/src/api/system/ocr.js b/klp-ui/src/api/system/ocr.js new file mode 100644 index 00000000..586c2196 --- /dev/null +++ b/klp-ui/src/api/system/ocr.js @@ -0,0 +1,9 @@ +import request from '@/utils/request' + +export function recognizeText({ imgUrl }) { + return request({ + url: '/wms/purchasePlan/recognizeText', + method: 'post', + data: { imgUrl } + }) +} \ No newline at end of file diff --git a/klp-ui/src/api/wms/stockIo.js b/klp-ui/src/api/wms/stockIo.js index da2545d3..1ee00b98 100644 --- a/klp-ui/src/api/wms/stockIo.js +++ b/klp-ui/src/api/wms/stockIo.js @@ -82,7 +82,25 @@ export function updateStockIoStatus(stockIoId, status) { }) } - +/** + * 创建入库单,含明细 + * 入库单主表: + * 单号:stockIoCode + * 类型: ioType, + * 业务类型:bizType, + * 状态:status, + * 备注:remark, + * + * 入库单明细: + * warehouseId: 仓库ID, + * itemType: 物料类型, + * itemId: 物料ID, + * quantity: 数量, + * unit: 单位, + * batchNo: 批次号, + * remark: 备注 + * + */ export function addStockIoWithDetail(data) { return request({ url: '/wms/stockIo/withDetail', diff --git a/klp-ui/src/components/FileUpload/index.vue b/klp-ui/src/components/FileUpload/index.vue index 2e33c1b7..0583419f 100644 --- a/klp-ui/src/components/FileUpload/index.vue +++ b/klp-ui/src/components/FileUpload/index.vue @@ -1,5 +1,5 @@ @@ -186,6 +191,7 @@ import RawMaterialSelect from '@/components/KLPService/RawMaterialSelect'; import UserSelect from '@/components/KLPService/UserSelect' import { RawMaterialInfo } from '@/components/KLPService'; import BomInfoMini from '@/components/KLPService/Renderer/BomInfoMini.vue'; +import QualityCerticate from './qualityCerticate.vue' export default { name: "PurchasePlanDetail", @@ -194,7 +200,8 @@ export default { RawMaterialSelect, UserSelect, RawMaterialInfo, - BomInfoMini + BomInfoMini, + QualityCerticate }, props: { planId: { @@ -258,7 +265,9 @@ export default { }, // 入库单相关 stockInVisible: false, - selectedArrivalItems: [] + selectedArrivalItems: [], + uploadQualityCertificateOpen: false, + uploadQualityCertificateInfo: undefined }; }, computed: { @@ -412,6 +421,9 @@ export default { }); // }); }, + handleUploadQualityCertificateConfirm() { + this.handleStatusChange(this.uploadQualityCertificateInfo, EPurchaseDetailStatus.FINISH, '采购完成'); + }, /** 创建入库单按钮操作 */ handleCreateStockIn() { // 获取用户选中的明细 @@ -443,6 +455,11 @@ export default { if (rawMaterial && rawMaterial.unit) { this.form.unit = rawMaterial.unit; } + }, + handleUploadQualityCertificate(row) { + this.uploadQualityCertificateOpen = true; + console.log(row, 'row'); + this.uploadQualityCertificateInfo = row; } } }; diff --git a/klp-ui/src/views/wms/purchasePlan/panels/qualityCerticate.vue b/klp-ui/src/views/wms/purchasePlan/panels/qualityCerticate.vue new file mode 100644 index 00000000..f41c9172 --- /dev/null +++ b/klp-ui/src/views/wms/purchasePlan/panels/qualityCerticate.vue @@ -0,0 +1,221 @@ + + + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/stock/box.vue b/klp-ui/src/views/wms/stock/box.vue index 8c988edd..fbd5b16b 100644 --- a/klp-ui/src/views/wms/stock/box.vue +++ b/klp-ui/src/views/wms/stock/box.vue @@ -308,8 +308,8 @@ export default { handleTreeNodeClick(node) { this.currentTreeNode = node; // 图表高亮并聚焦对应节点 - if (node && node.id) { - this.highlightChartNode(node.id); + if (node && node.warehouseId) { + this.highlightChartNode(node.warehouseId); } }, // 高亮并聚焦图表节点 @@ -323,7 +323,7 @@ export default { }); // 聚焦节点(自动缩放到该节点) this.chart.dispatchAction({ - type: 'zoomToNode', + type: 'treemapRootToNode', seriesIndex: 0, targetNodeId: id }); diff --git a/klp-ui/src/views/wms/stock/index.vue b/klp-ui/src/views/wms/stock/index.vue index afc21f17..1acbcdc9 100644 --- a/klp-ui/src/views/wms/stock/index.vue +++ b/klp-ui/src/views/wms/stock/index.vue @@ -4,8 +4,7 @@
仓库结构
- +
@@ -35,31 +34,21 @@ - - - 导出 + 查看暂存单据 - - + \ No newline at end of file