From 6540316952969ed21230c0f92c3bc57e88f58142 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 16 十月 2026 20:15:15 +0800
Subject: [PATCH] feat(mes): 新增二维码后台导出功能
---
src/views/mes/pro/pallet/index.vue | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/src/views/mes/pro/pallet/index.vue b/src/views/mes/pro/pallet/index.vue
index 82adce6..3d375d2 100644
--- a/src/views/mes/pro/pallet/index.vue
+++ b/src/views/mes/pro/pallet/index.vue
@@ -1,4 +1,5 @@
<script lang="ts" setup>
+ import { ref } from 'vue';
import type { VxeTableGridOptions } from "#/adapter/vxe-table";
import type { MesProPalletApi } from "#/api/mes/pro/pallet";
@@ -18,6 +19,7 @@
getPalletPage,
} from "#/api/mes/pro/pallet";
import { IconifyIcon } from "@vben/icons";
+ import { countQrExport, submitQrExport } from '#/api/mes/pro/qrExport';
import { $t } from "#/locales";
import { useGridColumns, useGridFormSchema } from "./data";
@@ -25,6 +27,9 @@
import GenerateModal from "./modules/generate-form.vue";
import QrTraceModal from "../components/qr-trace-modal.vue";
import BusinessQrModal from "../components/business-qr.vue";
+ import QrExportTaskModal from '../components/qr-export-task-modal.vue';
+
+ const qrExportTaskModal = ref<InstanceType<typeof QrExportTaskModal>>();
defineOptions({ name: "MesProPallet" });
@@ -137,6 +142,13 @@
message.warning("璇峰厛鎸夋壒娆$瓫閫夊悗鍐嶅鍑轰簩缁寸爜");
return;
}
+ const params = { bizType: 'PALLET_LABEL' as const, batchId: values.batchId };
+ const count = await countQrExport(params);
+ if (count.mode === 'ASYNC') {
+ qrExportTaskModal.value?.show(await submitQrExport(params));
+ message.success(`宸叉彁浜� ${count.totalCount} 寮犱簩缁寸爜鐨勫悗鍙板鍑轰换鍔);
+ return;
+ }
const data = await exportPalletQr(values.batchId);
downloadFileFromBlobPart({ fileName: "鎵樼洏鐮佷簩缁寸爜.zip", source: data });
}
@@ -204,6 +216,7 @@
<BindBatchFormModal @success="handleRefresh" />
<QrTraceQueryModal />
<BusinessQrViewModal />
+ <QrExportTaskModal ref="qrExportTaskModal" />
<Grid table-title="鎵樼洏鐮佸垪琛�">
<template #table-title><span class="text-[1rem] font-bold" style="white-space:nowrap">鎵樼洏鐮佸垪琛�</span></template>
<template #toolbar-tools>
@@ -216,6 +229,7 @@
{ label: 'Excel 鏁版嵁', auth: ['mes:pro-pallet:export'], onClick: handleExport }]">
<template #more><Button>瀵煎嚭 <IconifyIcon icon="lucide:chevron-down" /></Button></template>
</TableAction>
+ <Button @click="qrExportTaskModal?.showLast()">鍚庡彴瀵煎嚭浠诲姟</Button>
<TableAction :dropdown-trigger="['click']" :drop-down-actions="[{ label: '琛ョ敓鎴愪笟鍔$爜锛堥�変腑璁板綍锛�', auth: ['mes:pro-pallet:create'], onClick: handleGenerateBusiness }]">
<template #more><Button>鏇村鎿嶄綔 <IconifyIcon icon="lucide:chevron-down" /></Button></template>
</TableAction>
--
Gitblit v1.9.3