From a2af653e468e9b6298610455edcc6985a4e2b171 Mon Sep 17 00:00:00 2001 From: BinBin Song Date: Fri, 25 Jul 2025 09:22:19 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8D=B0=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/heli/storagein/detail.vue | 215 +++++++++++------- 1 file changed, 133 insertions(+), 82 deletions(-) diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/detail.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/detail.vue index 2bddb13..ef3f45d 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/detail.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/storagein/detail.vue @@ -44,7 +44,7 @@ @@ -87,61 +87,52 @@ 入库日期:{{ formatDate(printData.ordDate) }} 供应商:{{ printData.supplierName }} - - ----------- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -150,17 +141,10 @@
- - -
- 仓库签字:{{ printData.signature }} - - + 仓库签字:{{ printData.signature }} 日期:{{ printData.date }} - -
@@ -190,7 +174,6 @@ const tagsViewStore = useTagsViewStore() import * as StorageinApi from '@/api/heli/storagein' import * as StorageinDetailApi from '@/api/heli/storageindetail' import {ref} from "vue"; -import {updateIsPrint} from "@/api/heli/storagein"; const dialogVisible = ref(false) // 弹窗的是否展示 const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 @@ -222,12 +205,6 @@ const total = ref(0) // 列表的总页数 const subBoomFormLoading = ref(false) const subBoomFormRef = ref() - - - - - - const userList = ref([]) // 用户列表 const queryParams = reactive({ @@ -237,6 +214,7 @@ const queryParams = reactive({ }) // 页面数据加载初始化 onMounted(async () => { + // 获取物料需求计划信息 formData.value = await StorageinApi.getStorageIn(query.id) getList(); }) @@ -328,24 +306,63 @@ function doPrint() { width: 100%; border-collapse: collapse; margin-top: 10px; - table-layout: fixed; + table-layout: fixed; + border: 2px solid #000 !important; /* 加粗外边框 */ } .print-table th, .print-table td { - border: 1px solid #ddd; - padding: 5px; + border: 1px solid #000 !important; /* 使用黑色边框,更清晰 */ + padding: 4px; text-align: center; - height: 20px; /* 设置固定高度 */ - line-height: 20px; /* 垂直居中 */ + height: auto; + min-height: 30px; + line-height: 1.4; + word-wrap: break-word; + word-break: break-all; + vertical-align: top; } .print-table th { background-color: #f5f5f5; + font-weight: bold; + border: 1px solid #000 !important; + } + /* 特别加强最后一列(备注列)的右边框 */ + .print-table th:last-child, + .print-table td:last-child { + border-right: 2px solid #000 !important; + white-space: normal !important; + word-wrap: break-word !important; + word-break: break-all !important; + overflow-wrap: break-word !important; + padding: 4px 2px; } @media print { - body { margin: 0; } + body { + margin: 0; + -webkit-print-color-adjust: exact !important; + color-adjust: exact !important; + } .print-content { width: 100%; margin: 0; - padding: 10px; + padding: 8px; /* 减少内边距,避免被裁剪 */ + box-sizing: border-box; + } + .print-table { + page-break-inside: avoid; + border: 2px solid #000 !important; + width: 98% !important; /* 稍微减小宽度,避免右边框被裁剪 */ + margin: 0 auto; + } + .print-table th, .print-table td { + border: 1px solid #000 !important; + -webkit-print-color-adjust: exact !important; + color-adjust: exact !important; + } + .print-table th:last-child, + .print-table td:last-child { + border-right: 2px solid #000 !important; + white-space: normal !important; + word-wrap: break-word !important; } } @@ -362,7 +379,6 @@ function doPrint() { iframe.contentWindow?.print() setTimeout(() => document.body.removeChild(iframe), 1000) } - StorageinApi.updateIsPrint(query.id); } @@ -450,18 +466,21 @@ const getList = async () => { border-collapse: collapse; margin-top: 10px; border: 1px solid #ccc; - table-layout: fixed; + table-layout: fixed; } .print-table th, .print-table td { - border: 1px solid #ccc; - padding: 6px 8px; + border: 1px solid #000 !important; /* 使用黑色边框 */ + padding: 6px 4px; text-align: center; font-size: 13px !important; - height: 30px; /* 设置固定高度 */ - line-height: 30px; /* 垂直居中 */ - + height: auto; + min-height: 30px; + line-height: 1.4; + word-wrap: break-word; + word-break: break-all; + vertical-align: top; } .print-table th { @@ -469,8 +488,40 @@ const getList = async () => { color: #303133; font-weight: 600; font-size: 13px !important; + border: 1px solid #000 !important; } +/* 备注列特殊样式 - 加强右边框 */ +.print-table th:last-child, +.print-table td:last-child { + border-right: 2px solid #000 !important; + white-space: normal !important; + word-wrap: break-word !important; + word-break: break-all !important; + overflow-wrap: break-word !important; + text-align: left; + padding: 4px 2px; +} +/* 打印专用样式 */ +@media print { + .print-table { + width: 98% !important; /* 稍微减小宽度避免边框被裁剪 */ + margin: 0 auto; + border: 2px solid #000 !important; + } + + .print-table th, + .print-table td { + border: 1px solid #000 !important; + -webkit-print-color-adjust: exact !important; + color-adjust: exact !important; + } + + .print-table th:last-child, + .print-table td:last-child { + border-right: 2px solid #000 !important; + } +} - + \ No newline at end of file