diff --git a/web-admin/src/components/business/pl-delivery-slip-print-dialog/index.vue b/web-admin/src/components/business/pl-delivery-slip-print-dialog/index.vue
index fa81ca34d..072e3d7a6 100644
--- a/web-admin/src/components/business/pl-delivery-slip-print-dialog/index.vue
+++ b/web-admin/src/components/business/pl-delivery-slip-print-dialog/index.vue
@@ -30,7 +30,12 @@
{{ isPreviewMode ? '编辑模式' : '预览模式' }}
-
+
保存模板
@@ -64,6 +69,7 @@ import {
DELIVERY_SLIP_DOC_MAX_WIDTH,
DELIVERY_SLIP_PRINT_CSS,
prepareDeliverySlipPdfGridCells,
+ renderBlankDeliverySlipHtml,
replaceDeliverySlipPlaceholders,
restoreDeliverySlipPlaceholders,
setupDeliverySlipEditorTypeCheckboxes,
@@ -76,6 +82,7 @@ import { getPlSlipPdfCanvasScale } from '@/utils/pl-slip-pdf-render'
const visible = ref(false)
const slipContent = ref('')
const isPreviewMode = ref(false)
+const isBlankMode = ref(false)
/** 打印弹窗内红章显隐(仅本次弹窗有效,打开时默认显示) */
const showRedSeal = ref(true)
const saveLoading = ref(false)
@@ -137,6 +144,16 @@ async function buildSlipRenderContext(plan: Plan): Promise|]/g, '-')
- pdf.save(`${fileName}送(提)货单.pdf`)
+ if (isBlankMode.value) {
+ pdf.save('空白送提货单.pdf')
+ } else {
+ const fileName = (currentPlan.value?.planNo || '送(提)货单').replace(/[/\\:*?"<>|]/g, '-')
+ pdf.save(`${fileName}送(提)货单.pdf`)
+ }
ElMessage.success('PDF 生成成功')
} catch (error) {
console.error('生成 PDF 失败', error)
@@ -344,7 +367,7 @@ async function handleGeneratePdf() {
}
}
-defineExpose({ open })
+defineExpose({ open, openBlank })