From aa4ee6b7a3776cb70cda2cbc71922db3330fd877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Thu, 4 Dec 2025 09:44:32 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E6=94=B6?= =?UTF-8?q?=E8=B4=A7=E5=8D=95=E6=89=93=E5=8D=B0=E5=8A=9F=E8=83=BD=E5=B9=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=81xlsx=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增收货单打印组件,包含保存为图片和直接打印功能 - 在收货详情页添加打印按钮及相关逻辑 - 扩展文件上传组件支持xlsx文件类型 --- klp-ui/src/components/FileUpload/index.vue | 2 +- .../views/wms/receive/components/Printer.vue | 627 ++++++++++++++++++ klp-ui/src/views/wms/receive/detail/index.vue | 18 +- 3 files changed, 644 insertions(+), 3 deletions(-) create mode 100644 klp-ui/src/views/wms/receive/components/Printer.vue diff --git a/klp-ui/src/components/FileUpload/index.vue b/klp-ui/src/components/FileUpload/index.vue index a597bc2b..63d2375a 100644 --- a/klp-ui/src/components/FileUpload/index.vue +++ b/klp-ui/src/components/FileUpload/index.vue @@ -61,7 +61,7 @@ export default { // 文件类型, 例如['png', 'jpg', 'jpeg'] fileType: { type: Array, - default: () => ["doc", "xls", "ppt", "txt", "pdf", 'png', 'jpg', 'jpeg', 'bmp', 'webp'], + default: () => ["doc", "xls", "xlsx", "ppt", "txt", "pdf", 'png', 'jpg', 'jpeg', 'bmp', 'webp'], }, // 是否显示提示 isShowTip: { diff --git a/klp-ui/src/views/wms/receive/components/Printer.vue b/klp-ui/src/views/wms/receive/components/Printer.vue new file mode 100644 index 00000000..ae301956 --- /dev/null +++ b/klp-ui/src/views/wms/receive/components/Printer.vue @@ -0,0 +1,627 @@ + + + + + + \ No newline at end of file diff --git a/klp-ui/src/views/wms/receive/detail/index.vue b/klp-ui/src/views/wms/receive/detail/index.vue index 45a1d67f..2e8e06ff 100644 --- a/klp-ui/src/views/wms/receive/detail/index.vue +++ b/klp-ui/src/views/wms/receive/detail/index.vue @@ -34,7 +34,8 @@ 刷新 导入 - 导出 + 打印 + @@ -129,6 +130,10 @@ 取消 + + + + @@ -140,6 +145,8 @@ import MemoInput from "@/components/MemoInput"; import ImportGuide from "@/views/wms/receive/components/ImportGuide.vue"; import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect"; import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue"; +import Printer from "../components/Printer.vue"; + export default { name: "DeliveryWaybill", @@ -147,7 +154,8 @@ export default { MemoInput, ImportGuide, ActualWarehouseSelect, - CoilNo + CoilNo, + Printer }, data() { return { @@ -226,6 +234,8 @@ export default { remark: null, }, coilInfo: {}, + + printDialogVisible: false, }; }, created() { @@ -279,6 +289,10 @@ export default { }; this.resetForm("form"); }, + // 打印按钮操作 + handlePrint() { + this.printDialogVisible = true; + }, /** 搜索按钮操作 */ handleQuery() { this.queryParams.pageNum = 1; From b8066dece501b4241143162aa478139fce0fce68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Thu, 4 Dec 2025 09:56:21 +0800 Subject: [PATCH 2/3] =?UTF-8?q?fix(wms):=20=E4=BF=AE=E5=A4=8D=E6=89=93?= =?UTF-8?q?=E5=8D=B0=E6=9C=BA=E7=BB=84=E4=BB=B6=E4=B8=AD=E6=9C=AC=E5=9C=B0?= =?UTF-8?q?=E8=BF=90=E5=8D=95=E8=AF=A6=E6=83=85=E6=95=B0=E6=8D=AE=E6=98=A0?= =?UTF-8?q?=E5=B0=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 调整数据映射逻辑以正确获取原材料和产品名称,并添加调试日志以便追踪数据 --- klp-ui/src/views/wms/receive/components/Printer.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/klp-ui/src/views/wms/receive/components/Printer.vue b/klp-ui/src/views/wms/receive/components/Printer.vue index ae301956..0aad11cf 100644 --- a/klp-ui/src/views/wms/receive/components/Printer.vue +++ b/klp-ui/src/views/wms/receive/components/Printer.vue @@ -164,9 +164,12 @@ export default { this.localWaybillDetails = newVal.map((item, index) => ({ ...item, quantity: 1, // 默认数量为1 - ...results[index], - itemName: results[index].rawMaterialName || results[index].productName || '' + ...results[index].data, + ...results[index].data.rawMaterial, + ...results[index].data.product, + itemName: results[index].data.rawMaterial.rawMaterialName || results[index].data.product.productName || '' })); + console.log(this.localWaybillDetails); this.loading = false; }) .catch(error => { From 9e65c07c4d300c898943f5b5f56d61b23c9915ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A0=82=E7=B3=96?= Date: Thu, 4 Dec 2025 10:05:16 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat(wms):=20=E6=B7=BB=E5=8A=A0=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD=E6=94=B6=E8=B4=A7=E6=A8=A1=E6=9D=BF=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E5=B9=B6=E4=BC=98=E5=8C=96=E4=BB=A3=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增下载模板按钮及对应方法 - 调整代码缩进和格式以提高可读性 - 移除多余的空格和注释 --- klp-ui/src/views/wms/receive/detail/index.vue | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/klp-ui/src/views/wms/receive/detail/index.vue b/klp-ui/src/views/wms/receive/detail/index.vue index 2e8e06ff..c4ae28f7 100644 --- a/klp-ui/src/views/wms/receive/detail/index.vue +++ b/klp-ui/src/views/wms/receive/detail/index.vue @@ -34,7 +34,10 @@ 刷新 导入 - 打印 + 模板 + 打印 @@ -81,7 +84,8 @@ - + @@ -146,11 +150,11 @@ import ImportGuide from "@/views/wms/receive/components/ImportGuide.vue"; import ActualWarehouseSelect from "@/components/KLPService/ActualWarehouseSelect"; import CoilNo from "@/components/KLPService/Renderer/CoilNo.vue"; import Printer from "../components/Printer.vue"; - +import { getConfigKey } from '@/api/system/config' export default { name: "DeliveryWaybill", - components: { + components: { MemoInput, ImportGuide, ActualWarehouseSelect, @@ -224,7 +228,7 @@ export default { // 导入弹窗 importDialogVisible: false, - // 确认收货表单参数 + // 确认收货表单参数 receiptModalVisible: false, receiptForm: { currentCoilNo: null, @@ -402,7 +406,7 @@ export default { ...this.queryParams }, `deliveryWaybill_${new Date().getTime()}.xlsx`) }, - // 打开收货弹窗 + // 打开收货弹窗 openReceiptModal(row) { this.loading = true // 打开确认收货弹窗 @@ -441,6 +445,13 @@ export default { this.form = {}; this.$refs.form.resetFields(); this.buttonLoading = false; + }, + // 下载模板文件 + downloadTemplate() { + // 从系统参数中中读取id,然后下载 + getConfigKey('file.template.receive').then(res => { + this.$download.oss(res.msg); + }) } } };