From 78caa769e452f63288743b8997f7b4c21bb06ce5 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 06 十一月 2026 19:00:38 +0800
Subject: [PATCH] feat(crm,mes): 扩展客户字段与重构批次号生成逻辑
---
src/views/mes/pro/bagCode/index.vue | 43 +++++--------------------------------------
1 files changed, 5 insertions(+), 38 deletions(-)
diff --git a/src/views/mes/pro/bagCode/index.vue b/src/views/mes/pro/bagCode/index.vue
index 891aaca..2a33b5a 100644
--- a/src/views/mes/pro/bagCode/index.vue
+++ b/src/views/mes/pro/bagCode/index.vue
@@ -14,8 +14,6 @@
deleteBagCodesByUuid,
exportBagCodeExcel,
exportBagQr,
- exportBagBusinessQr,
- generateBagBusinessCodes,
getBagCodePage,
bindBagCodeBatch,
unbindBagCodePallet,
@@ -31,7 +29,6 @@
import RawGenerateModal from "./modules/raw-generate-form.vue";
import ReplaceModal from "./modules/replace-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';
defineOptions({ name: "MesProBagCode" });
@@ -68,29 +65,6 @@
destroyOnClose: true,
});
- const [BusinessQrViewModal, businessQrApi] = useVbenModal({
- connectedComponent: BusinessQrModal, destroyOnClose: true,
- });
-
- function handleBusinessQr(row: MesProBagCodeApi.BagCode) {
- if (!row.businessCode) { message.warning('璇峰厛琛ョ敓鎴愪笟鍔$爜'); return; }
- businessQrApi.setData({ code: row.businessCode }).open();
- }
-
- async function handleGenerateBusinessCodes() {
- const records = getSelectedRecords();
- if (!records) return;
- if (records.length > 200) { message.warning('鍗曟鏈�澶氳ˉ鐢熸垚 200 鏉�'); return; }
- if (records.some(row => row.status === MesProBagCodeStatusEnum.CANCELED)) {
- message.warning('宸蹭綔搴熻鐮佷笉鍙ˉ鐢熸垚涓氬姟鐮�'); return;
- }
- const ids = records.map(row => row.id).filter((id): id is number => id != null);
- if (ids.length !== records.length) { message.warning('鎵�閫夎鐮佺己灏戠紪鍙�'); return; }
- const count = await generateBagBusinessCodes(ids);
- message.success(`宸茶ˉ鐢熸垚 ${count} 浠戒笟鍔$爜锛屽凡鏈夌爜鍊间繚鎸佷笉鍙榒);
- handleRefresh();
- }
-
/** 鍒锋柊琛ㄦ牸 */
function handleRefresh() {
gridApi.query();
@@ -123,7 +97,7 @@
}
/** 瀵煎嚭浜岀淮鐮� ZIP锛堟寜褰撳墠鏌ヨ鏉′欢鐨勭敓鎴愮粍/鎵规锛� */
- async function handleExportQr(kind: 'trace' | 'business' = 'trace') {
+ async function handleExportQr() {
const values = await gridApi.formApi.getValues();
const params: { uuid?: string; batchId?: number } = {};
if (values.uuid) {
@@ -136,7 +110,7 @@
message.warning("璇峰厛鎸夌敓鎴愮粍鎴栨壒娆$瓫閫夊悗鍐嶅鍑轰簩缁寸爜");
return;
}
- const bizType = kind === 'business' ? 'BAG_BUSINESS' : 'BAG_LABEL';
+ const bizType = 'BAG_LABEL';
const count = await countQrExport({ bizType, ...params });
if (count.mode === 'ASYNC') {
const task = await submitQrExport({ bizType, ...params });
@@ -144,8 +118,8 @@
message.success(`宸叉彁浜� ${count.totalCount} 寮犱簩缁寸爜鐨勫悗鍙板鍑轰换鍔);
return;
}
- const data = await (kind === 'business' ? exportBagBusinessQr : exportBagQr)(params);
- downloadFileFromBlobPart({ fileName: kind === 'business' ? '琚嬬爜涓氬姟浜岀淮鐮�.zip' : '琚嬬爜杩芥函浜岀淮鐮�.zip', source: data });
+ const data = await exportBagQr(params);
+ downloadFileFromBlobPart({ fileName: '琚嬬爜杩芥函浜岀淮鐮�.zip', source: data });
}
/** 瀵煎嚭琚嬬爜 Excel锛堜氦浠樺嵃鍒凤級锛屽鍑哄悗琚嬬爜鐘舵�佸彉涓哄凡鍗板埛锛岄渶鍒锋柊鍒楄〃 */
@@ -370,7 +344,6 @@
<BindPalletFormModal @success="handleRefresh" />
<ReplaceFormModal @success="handleReplaceSuccess" />
<QrTraceQueryModal />
- <BusinessQrViewModal />
<QrExportTaskModal ref="qrExportTaskModal" />
<Grid table-title="琚嬬爜鍒楄〃锛堜竴琚嬩竴鐮侊級">
<template #table-title><span class="text-[1rem] font-bold" style="white-space:nowrap">琚嬬爜鍒楄〃锛堜竴琚嬩竴鐮侊級</span></template>
@@ -380,14 +353,12 @@
{ label: '褰曞叆鎵规', auth: ['mes:pro-bag-code:update'], onClick: handleBindBatch },
{ label: '缁戝畾鎵樼洏', auth: ['mes:pro-bag-code:update'], onClick: handleBindPallet },
{ label: '鎵爜杩芥函', icon: ACTION_ICON.SEARCH, auth: ['mes:pro-bag-code:query'], onClick: handleTrace }]" />
- <TableAction :dropdown-trigger="['click']" :drop-down-actions="[{ label: '杩芥函浜岀淮鐮�', auth: ['mes:pro-bag-code:export'], onClick: () => handleExportQr('trace') },
- { label: '涓氬姟浜岀淮鐮�', auth: ['mes:pro-bag-code:export'], onClick: () => handleExportQr('business') },
+ <TableAction :dropdown-trigger="['click']" :drop-down-actions="[{ label: '杩芥函浜岀淮鐮�', auth: ['mes:pro-bag-code:export'], onClick: () => handleExportQr() },
{ label: 'Excel 鏁版嵁鍖�', auth: ['mes:pro-bag-code: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-bag-code:create'], onClick: handleRawGenerate },
- { label: '琛ョ敓鎴愪笟鍔$爜', auth: ['mes:pro-bag-code:create'], onClick: handleGenerateBusinessCodes },
{ label: '鐮存崯鏇挎崲', auth: ['mes:pro-bag-code:replace'], onClick: handleReplace },
{ label: '瑙g粦鎵樼洏', auth: ['mes:pro-bag-code:update'], onClick: handleUnbindPallet }]">
<template #more><Button>鏇村鎿嶄綔 <IconifyIcon icon="lucide:chevron-down" /></Button></template>
@@ -401,10 +372,6 @@
type: 'link',
auth: ['mes:pro-bag-code:query'],
onClick: handleViewQr.bind(null, row),
- },
- {
- label: '涓氬姟浜岀淮鐮�', type: 'link', auth: ['mes:pro-bag-code:query'],
- ifShow: !!row.businessCode, onClick: handleBusinessQr.bind(null, row),
},
{
label: $t('common.delete'),
--
Gitblit v1.9.3