diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/indexs.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/indexs.vue index 66776ce3..8b5a715e 100644 --- a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/indexs.vue +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/indexs.vue @@ -7,11 +7,13 @@ - - @@ -21,11 +23,13 @@ - - @@ -52,7 +56,8 @@ - @@ -88,6 +93,7 @@ @@ -132,13 +138,15 @@ -
+ @@ -151,6 +159,8 @@ import {dateFormatter1} from "@/utils/formatTime"; import {ref} from "vue"; import {ElTable, ElTableColumn} from "element-plus"; import dayjs from "dayjs"; +import Print from './print.vue' +const printRef = ref() defineOptions({ name: 'PartPurchaseCheck' }) const router = useRouter() const message = useMessage() // 消息弹窗 @@ -242,7 +252,50 @@ const approves = async () => { formLoading.value = false; } } +const print = async () => { + try{ + const list = multipleTable.value|| []; // 安全获取数据 + // 1. 检查空数据 + if (!list || list.length==null) { + message.error("请选择要打印的采购订单,请确认"); + return; + } + formLoading.value = true; + const printData = list.map((item,index)=>({ + 编号:index+1, + 日期:item.createTime, + 客户名: item.brief, + 模具名: item.projectSubCode, + 件号: item.blueprintNo, + 零件名称: item.boomName, + 材料: item.composition, + 规格: item.boomSpec, + 数量: item.purchaseAmount, + 单价: item.unitPrice, + 总价格: item.estimatedPrice, + 要求日期: item.requireTime, + 合立经手人: item.duEmpName, + })) + console.log(JSON.parse(JSON.stringify(printData))) + //校验责任人必须是同一人 + const duEmpNames = printData.map(item => item.合立经手人); + const uniqueDuEmpNames = new Set(duEmpNames); + if (uniqueDuEmpNames.size !== 1) { + message.error("合立经手人必须是同一人,请确认"); + return; + } + const printDataStr = JSON.parse(JSON.stringify(printData)); + // 生成打印模板 顺序分别为 编号 日期 客户名 模具名 件号 零件名称 材料 规格 数量 单价 总价格 要求日期 + // 将其放在table中 调用打印 + printRef.value.open(printDataStr) + +} catch (error) { + console.error("打印失败:", error); +} finally { + formLoading.value = false; +} +} /** 添加/修改操作 */ const formRef = ref() const openForm = (id?: number) => { diff --git a/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/print.vue b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/print.vue new file mode 100644 index 00000000..e27399c2 --- /dev/null +++ b/mes-ui/mes-ui-admin-vue3/src/views/heli/partpurchasecheck/print.vue @@ -0,0 +1,229 @@ + + + + +