From 860a12a7e79e912798d5d1be59788a82e96cdbd2 Mon Sep 17 00:00:00 2001 From: XuZhiqiang Date: Fri, 19 Jun 2026 10:54:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(workspace):=20=E7=BB=9F=E4=B8=80=20MES=20?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=BB=84=E4=BB=B6=20id=20=E5=88=A4=E7=A9=BA?= =?UTF-8?q?=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/dv/checkplan/components/select-dialog.vue | 8 ++++++-- .../mes/dv/machinery/components/select-dialog.vue | 8 ++++++-- .../views/mes/md/client/components/select-dialog.vue | 6 +++++- .../mes/md/item/components/product-bom-select.vue | 10 ++++++++-- .../src/views/mes/md/item/components/select-dialog.vue | 6 +++++- .../views/mes/md/vendor/components/select-dialog.vue | 6 +++++- .../views/mes/pro/card/components/select-dialog.vue | 6 +++++- .../views/mes/pro/task/components/select-dialog.vue | 6 +++++- .../mes/pro/workorder/components/select-dialog.vue | 6 +++++- .../mes/qc/indicator/components/select-dialog.vue | 10 +++++++--- .../src/views/mes/tm/tool/components/select-dialog.vue | 6 +++++- .../views/mes/wm/batch/components/select-dialog.vue | 6 +++++- .../mes/wm/materialstock/components/select-dialog.vue | 6 +++++- .../views/mes/wm/packages/components/select-dialog.vue | 10 +++++++--- .../wm/stocktaking/plan/components/select-dialog.vue | 8 ++++++-- .../mes/dv/checkplan/components/select-dialog.vue | 8 ++++++-- .../mes/dv/machinery/components/select-dialog.vue | 8 ++++++-- .../views/mes/md/client/components/select-dialog.vue | 8 ++++++-- .../mes/md/item/components/product-bom-select.vue | 10 ++++++++-- .../src/views/mes/md/item/components/select-dialog.vue | 8 ++++++-- .../views/mes/md/vendor/components/select-dialog.vue | 8 ++++++-- .../views/mes/pro/card/components/select-dialog.vue | 6 +++++- .../views/mes/pro/task/components/select-dialog.vue | 6 +++++- .../mes/pro/workorder/components/select-dialog.vue | 6 +++++- .../mes/qc/indicator/components/select-dialog.vue | 8 ++++++-- .../src/views/mes/tm/tool/components/select-dialog.vue | 8 ++++++-- .../views/mes/wm/batch/components/select-dialog.vue | 6 +++++- .../mes/wm/materialstock/components/select-dialog.vue | 6 +++++- .../views/mes/wm/packages/components/select-dialog.vue | 8 ++++++-- .../wm/stocktaking/plan/components/select-dialog.vue | 8 ++++++-- .../mes/dv/checkplan/components/select-dialog.vue | 8 ++++++-- .../mes/dv/machinery/components/select-dialog.vue | 8 ++++++-- .../views/mes/md/client/components/select-dialog.vue | 8 ++++++-- .../mes/md/item/components/product-bom-select.vue | 10 ++++++++-- .../src/views/mes/md/item/components/select-dialog.vue | 8 ++++++-- .../views/mes/md/vendor/components/select-dialog.vue | 8 ++++++-- .../views/mes/pro/card/components/select-dialog.vue | 6 +++++- .../views/mes/pro/task/components/select-dialog.vue | 6 +++++- .../mes/pro/workorder/components/select-dialog.vue | 6 +++++- .../mes/qc/indicator/components/select-dialog.vue | 8 ++++++-- .../src/views/mes/tm/tool/components/select-dialog.vue | 8 ++++++-- .../views/mes/wm/batch/components/select-dialog.vue | 6 +++++- .../mes/wm/materialstock/components/select-dialog.vue | 6 +++++- .../views/mes/wm/packages/components/select-dialog.vue | 8 ++++++-- .../wm/stocktaking/plan/components/select-dialog.vue | 8 ++++++-- 45 files changed, 259 insertions(+), 73 deletions(-) diff --git a/apps/web-antd/src/views/mes/dv/checkplan/components/select-dialog.vue b/apps/web-antd/src/views/mes/dv/checkplan/components/select-dialog.vue index c0e5a98e8..5d493a548 100644 --- a/apps/web-antd/src/views/mes/dv/checkplan/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/dv/checkplan/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ] as MesDvCheckPlanApi.CheckPlan[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -87,7 +87,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/dv/machinery/components/select-dialog.vue b/apps/web-antd/src/views/mes/dv/machinery/components/select-dialog.vue index cb39d189a..08a328e0f 100644 --- a/apps/web-antd/src/views/mes/dv/machinery/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/dv/machinery/components/select-dialog.vue @@ -43,7 +43,7 @@ function getMultipleSelectedRows() { ] as MesDvMachineryApi.Machinery[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -97,7 +97,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/md/client/components/select-dialog.vue b/apps/web-antd/src/views/mes/md/client/components/select-dialog.vue index bfc8dc3a6..744cd540f 100644 --- a/apps/web-antd/src/views/mes/md/client/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/md/client/components/select-dialog.vue @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id as number)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/md/item/components/product-bom-select.vue b/apps/web-antd/src/views/mes/md/item/components/product-bom-select.vue index a3426d1c2..fb056f25e 100644 --- a/apps/web-antd/src/views/mes/md/item/components/product-bom-select.vue +++ b/apps/web-antd/src/views/mes/md/item/components/product-bom-select.vue @@ -44,12 +44,18 @@ const showClear = computed( props.allowClear && !props.disabled && hovering.value && + props.modelValue !== undefined && props.modelValue !== null, ); /** 根据 BOM 子物料编号回显选择器 */ async function resolveBomById(bomItemId: number | undefined) { - if (bomItemId === null || props.itemId === null) { + if ( + bomItemId === undefined || + bomItemId === null || + props.itemId === undefined || + props.itemId === null + ) { selectedBom.value = undefined; return; } @@ -86,7 +92,7 @@ function clearSelected() { /** 打开 BOM 物料选择弹窗 */ function handleClick(event: MouseEvent) { - if (props.disabled || props.itemId === null) { + if (props.disabled || props.itemId === undefined || props.itemId === null) { return; } const target = event.target as HTMLElement; diff --git a/apps/web-antd/src/views/mes/md/item/components/select-dialog.vue b/apps/web-antd/src/views/mes/md/item/components/select-dialog.vue index 4e849e999..d66d610c5 100644 --- a/apps/web-antd/src/views/mes/md/item/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/md/item/components/select-dialog.vue @@ -90,7 +90,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id as number)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/md/vendor/components/select-dialog.vue b/apps/web-antd/src/views/mes/md/vendor/components/select-dialog.vue index 22e6a9e45..e4acd0b92 100644 --- a/apps/web-antd/src/views/mes/md/vendor/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/md/vendor/components/select-dialog.vue @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id as number)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/pro/card/components/select-dialog.vue b/apps/web-antd/src/views/mes/pro/card/components/select-dialog.vue index d6836f2dd..612362646 100644 --- a/apps/web-antd/src/views/mes/pro/card/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/pro/card/components/select-dialog.vue @@ -71,7 +71,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProCardApi.Card[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/pro/task/components/select-dialog.vue b/apps/web-antd/src/views/mes/pro/task/components/select-dialog.vue index 408840371..c70e3a13d 100644 --- a/apps/web-antd/src/views/mes/pro/task/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/pro/task/components/select-dialog.vue @@ -95,7 +95,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProTaskApi.Task[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/pro/workorder/components/select-dialog.vue b/apps/web-antd/src/views/mes/pro/workorder/components/select-dialog.vue index 84fe01464..4dc76ca89 100644 --- a/apps/web-antd/src/views/mes/pro/workorder/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/pro/workorder/components/select-dialog.vue @@ -98,7 +98,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProWorkOrderApi.WorkOrder[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/qc/indicator/components/select-dialog.vue b/apps/web-antd/src/views/mes/qc/indicator/components/select-dialog.vue index f8ae56211..5a7cfd446 100644 --- a/apps/web-antd/src/views/mes/qc/indicator/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/qc/indicator/components/select-dialog.vue @@ -28,8 +28,8 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesQcIndicatorApi.Indicator[]; records.forEach((row) => { - if (!row.id) { - selectedMap.set(row.id as number, row); + if (row.id !== undefined && row.id !== null) { + selectedMap.set(row.id, row); } }); return [...selectedMap.values()]; @@ -74,7 +74,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesQcIndicatorApi.Indicator[]; for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id as number)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/tm/tool/components/select-dialog.vue b/apps/web-antd/src/views/mes/tm/tool/components/select-dialog.vue index 16a83e253..dcbccb59e 100644 --- a/apps/web-antd/src/views/mes/tm/tool/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/tm/tool/components/select-dialog.vue @@ -78,7 +78,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id as number)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/wm/batch/components/select-dialog.vue b/apps/web-antd/src/views/mes/wm/batch/components/select-dialog.vue index 9affccce1..82c5f675f 100644 --- a/apps/web-antd/src/views/mes/wm/batch/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/wm/batch/components/select-dialog.vue @@ -92,7 +92,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmBatchApi.Batch[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/wm/materialstock/components/select-dialog.vue b/apps/web-antd/src/views/mes/wm/materialstock/components/select-dialog.vue index 46afbafca..6e0de0e68 100644 --- a/apps/web-antd/src/views/mes/wm/materialstock/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/wm/materialstock/components/select-dialog.vue @@ -118,7 +118,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmMaterialStockApi.MaterialStock[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/wm/packages/components/select-dialog.vue b/apps/web-antd/src/views/mes/wm/packages/components/select-dialog.vue index 700a16951..9190be3fa 100644 --- a/apps/web-antd/src/views/mes/wm/packages/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/wm/packages/components/select-dialog.vue @@ -41,8 +41,8 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesWmPackageApi.Package[]; records.forEach((row) => { - if (!row.id) { - selectedMap.set(row.id as number, row); + if (row.id !== undefined && row.id !== null) { + selectedMap.set(row.id, row); } }); return [...selectedMap.values()]; @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmPackageApi.Package[]; for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id as number)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antd/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue b/apps/web-antd/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue index b91721ab2..9883491d5 100644 --- a/apps/web-antd/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue +++ b/apps/web-antd/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue @@ -33,7 +33,7 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesWmStockTakingPlanApi.StockTakingPlan[]; records.forEach((row) => { - if (!row.id) { + if (row.id !== undefined && row.id !== null) { selectedMap.set(row.id, row); } }); @@ -80,7 +80,11 @@ async function applyPreSelection() { const rows = gridApi.grid.getData() as MesWmStockTakingPlanApi.StockTakingPlan[]; for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/dv/checkplan/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/dv/checkplan/components/select-dialog.vue index 37601ac4f..8918a04ba 100644 --- a/apps/web-antdv-next/src/views/mes/dv/checkplan/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/dv/checkplan/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ] as MesDvCheckPlanApi.CheckPlan[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -87,7 +87,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/dv/machinery/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/dv/machinery/components/select-dialog.vue index ea9f0d522..dd0ee3717 100644 --- a/apps/web-antdv-next/src/views/mes/dv/machinery/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/dv/machinery/components/select-dialog.vue @@ -43,7 +43,7 @@ function getMultipleSelectedRows() { ] as MesDvMachineryApi.Machinery[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -97,7 +97,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/md/client/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/md/client/components/select-dialog.vue index 8f2791f41..843c23d6e 100644 --- a/apps/web-antdv-next/src/views/mes/md/client/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/md/client/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ] as MesMdClientApi.Client[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/md/item/components/product-bom-select.vue b/apps/web-antdv-next/src/views/mes/md/item/components/product-bom-select.vue index e6259cbb8..e3d69c70a 100644 --- a/apps/web-antdv-next/src/views/mes/md/item/components/product-bom-select.vue +++ b/apps/web-antdv-next/src/views/mes/md/item/components/product-bom-select.vue @@ -44,12 +44,18 @@ const showClear = computed( props.allowClear && !props.disabled && hovering.value && + props.modelValue !== undefined && props.modelValue !== null, ); /** 根据 BOM 子物料编号回显选择器 */ async function resolveBomById(bomItemId: number | undefined) { - if (bomItemId === null || props.itemId === null) { + if ( + bomItemId === undefined || + bomItemId === null || + props.itemId === undefined || + props.itemId === null + ) { selectedBom.value = undefined; return; } @@ -86,7 +92,7 @@ function clearSelected() { /** 打开 BOM 物料选择弹窗 */ function handleClick(event: MouseEvent) { - if (props.disabled || props.itemId === null) { + if (props.disabled || props.itemId === undefined || props.itemId === null) { return; } const target = event.target as HTMLElement; diff --git a/apps/web-antdv-next/src/views/mes/md/item/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/md/item/components/select-dialog.vue index c1756050d..dadb30aff 100644 --- a/apps/web-antdv-next/src/views/mes/md/item/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/md/item/components/select-dialog.vue @@ -42,7 +42,7 @@ function getMultipleSelectedRows() { ] as MesMdItemApi.Item[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -90,7 +90,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/md/vendor/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/md/vendor/components/select-dialog.vue index 043f4d54d..4e59ac8d3 100644 --- a/apps/web-antdv-next/src/views/mes/md/vendor/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/md/vendor/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ] as MesMdVendorApi.Vendor[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/pro/card/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/pro/card/components/select-dialog.vue index a0f067f7f..80c8de62c 100644 --- a/apps/web-antdv-next/src/views/mes/pro/card/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/pro/card/components/select-dialog.vue @@ -71,7 +71,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProCardApi.Card[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/pro/task/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/pro/task/components/select-dialog.vue index cca91c0e2..923a9763d 100644 --- a/apps/web-antdv-next/src/views/mes/pro/task/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/pro/task/components/select-dialog.vue @@ -95,7 +95,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProTaskApi.Task[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/pro/workorder/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/pro/workorder/components/select-dialog.vue index cea37d93e..2e0583ec6 100644 --- a/apps/web-antdv-next/src/views/mes/pro/workorder/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/pro/workorder/components/select-dialog.vue @@ -98,7 +98,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProWorkOrderApi.WorkOrder[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/qc/indicator/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/qc/indicator/components/select-dialog.vue index fa4af2041..941a85e75 100644 --- a/apps/web-antdv-next/src/views/mes/qc/indicator/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/qc/indicator/components/select-dialog.vue @@ -28,7 +28,7 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesQcIndicatorApi.Indicator[]; records.forEach((row) => { - if (row.id !== null) { + if (row.id !== undefined && row.id !== null) { selectedMap.set(row.id, row); } }); @@ -74,7 +74,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesQcIndicatorApi.Indicator[]; for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/tm/tool/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/tm/tool/components/select-dialog.vue index aa284cf51..b1b2eb8ef 100644 --- a/apps/web-antdv-next/src/views/mes/tm/tool/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/tm/tool/components/select-dialog.vue @@ -36,7 +36,7 @@ function getMultipleSelectedRows() { ] as MesTmToolApi.Tool[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -78,7 +78,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/wm/batch/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/wm/batch/components/select-dialog.vue index 433fc58df..32e99b466 100644 --- a/apps/web-antdv-next/src/views/mes/wm/batch/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/wm/batch/components/select-dialog.vue @@ -92,7 +92,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmBatchApi.Batch[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/wm/materialstock/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/wm/materialstock/components/select-dialog.vue index 19d36a368..050658f39 100644 --- a/apps/web-antdv-next/src/views/mes/wm/materialstock/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/wm/materialstock/components/select-dialog.vue @@ -118,7 +118,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmMaterialStockApi.MaterialStock[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/wm/packages/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/wm/packages/components/select-dialog.vue index c50ee4932..18a2e10cf 100644 --- a/apps/web-antdv-next/src/views/mes/wm/packages/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/wm/packages/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesWmPackageApi.Package[]; records.forEach((row) => { - if (row.id !== null) { + if (row.id !== undefined && row.id !== null) { selectedMap.set(row.id, row); } }); @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmPackageApi.Package[]; for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-antdv-next/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue b/apps/web-antdv-next/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue index c97280f17..a8bfad69b 100644 --- a/apps/web-antdv-next/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue +++ b/apps/web-antdv-next/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue @@ -33,7 +33,7 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesWmStockTakingPlanApi.StockTakingPlan[]; records.forEach((row) => { - if (row.id !== null) { + if (row.id !== undefined && row.id !== null) { selectedMap.set(row.id, row); } }); @@ -80,7 +80,11 @@ async function applyPreSelection() { const rows = gridApi.grid.getData() as MesWmStockTakingPlanApi.StockTakingPlan[]; for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/dv/checkplan/components/select-dialog.vue b/apps/web-ele/src/views/mes/dv/checkplan/components/select-dialog.vue index 1e30ce370..cb452d073 100644 --- a/apps/web-ele/src/views/mes/dv/checkplan/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/dv/checkplan/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ] as MesDvCheckPlanApi.CheckPlan[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -87,7 +87,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/dv/machinery/components/select-dialog.vue b/apps/web-ele/src/views/mes/dv/machinery/components/select-dialog.vue index 2d443d9fe..2998555ec 100644 --- a/apps/web-ele/src/views/mes/dv/machinery/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/dv/machinery/components/select-dialog.vue @@ -43,7 +43,7 @@ function getMultipleSelectedRows() { ] as MesDvMachineryApi.Machinery[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -97,7 +97,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/md/client/components/select-dialog.vue b/apps/web-ele/src/views/mes/md/client/components/select-dialog.vue index 4f0283279..f3b44ed11 100644 --- a/apps/web-ele/src/views/mes/md/client/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/md/client/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ] as MesMdClientApi.Client[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/md/item/components/product-bom-select.vue b/apps/web-ele/src/views/mes/md/item/components/product-bom-select.vue index 7d67eff80..2f681f8cd 100644 --- a/apps/web-ele/src/views/mes/md/item/components/product-bom-select.vue +++ b/apps/web-ele/src/views/mes/md/item/components/product-bom-select.vue @@ -44,12 +44,18 @@ const showClear = computed( props.clearable && !props.disabled && hovering.value && + props.modelValue !== undefined && props.modelValue !== null, ); /** 根据 BOM 子物料编号回显选择器 */ async function resolveBomById(bomItemId: number | undefined) { - if (bomItemId === null || props.itemId === null) { + if ( + bomItemId === undefined || + bomItemId === null || + props.itemId === undefined || + props.itemId === null + ) { selectedBom.value = undefined; return; } @@ -86,7 +92,7 @@ function clearSelected() { /** 打开 BOM 物料选择弹窗 */ function handleClick(event: MouseEvent) { - if (props.disabled || props.itemId === null) { + if (props.disabled || props.itemId === undefined || props.itemId === null) { return; } const target = event.target as HTMLElement; diff --git a/apps/web-ele/src/views/mes/md/item/components/select-dialog.vue b/apps/web-ele/src/views/mes/md/item/components/select-dialog.vue index 38bb98b5d..8465cb705 100644 --- a/apps/web-ele/src/views/mes/md/item/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/md/item/components/select-dialog.vue @@ -42,7 +42,7 @@ function getMultipleSelectedRows() { ] as MesMdItemApi.Item[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -90,7 +90,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/md/vendor/components/select-dialog.vue b/apps/web-ele/src/views/mes/md/vendor/components/select-dialog.vue index a0929203f..32c0bb942 100644 --- a/apps/web-ele/src/views/mes/md/vendor/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/md/vendor/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ] as MesMdVendorApi.Vendor[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/pro/card/components/select-dialog.vue b/apps/web-ele/src/views/mes/pro/card/components/select-dialog.vue index b4d295578..2b2affca5 100644 --- a/apps/web-ele/src/views/mes/pro/card/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/pro/card/components/select-dialog.vue @@ -71,7 +71,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProCardApi.Card[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/pro/task/components/select-dialog.vue b/apps/web-ele/src/views/mes/pro/task/components/select-dialog.vue index 3e43fc9ad..c8dbf018f 100644 --- a/apps/web-ele/src/views/mes/pro/task/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/pro/task/components/select-dialog.vue @@ -95,7 +95,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProTaskApi.Task[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/pro/workorder/components/select-dialog.vue b/apps/web-ele/src/views/mes/pro/workorder/components/select-dialog.vue index 2fa661d30..632d82412 100644 --- a/apps/web-ele/src/views/mes/pro/workorder/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/pro/workorder/components/select-dialog.vue @@ -98,7 +98,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesProWorkOrderApi.WorkOrder[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/qc/indicator/components/select-dialog.vue b/apps/web-ele/src/views/mes/qc/indicator/components/select-dialog.vue index fbe61a314..a1f898979 100644 --- a/apps/web-ele/src/views/mes/qc/indicator/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/qc/indicator/components/select-dialog.vue @@ -28,7 +28,7 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesQcIndicatorApi.Indicator[]; records.forEach((row) => { - if (row.id !== null) { + if (row.id !== undefined && row.id !== null) { selectedMap.set(row.id, row); } }); @@ -74,7 +74,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesQcIndicatorApi.Indicator[]; for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/tm/tool/components/select-dialog.vue b/apps/web-ele/src/views/mes/tm/tool/components/select-dialog.vue index 3c8f7a4be..c507dbaf8 100644 --- a/apps/web-ele/src/views/mes/tm/tool/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/tm/tool/components/select-dialog.vue @@ -36,7 +36,7 @@ function getMultipleSelectedRows() { ] as MesTmToolApi.Tool[]; records.forEach((row) => { const rowId = row.id; - if (rowId !== null) { + if (rowId !== undefined && rowId !== null) { selectedMap.set(rowId, row); } }); @@ -78,7 +78,11 @@ async function applyPreSelection() { } const rows = getTableRows(); for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/wm/batch/components/select-dialog.vue b/apps/web-ele/src/views/mes/wm/batch/components/select-dialog.vue index 8a63015f9..bc4d1c87f 100644 --- a/apps/web-ele/src/views/mes/wm/batch/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/wm/batch/components/select-dialog.vue @@ -92,7 +92,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmBatchApi.Batch[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/wm/materialstock/components/select-dialog.vue b/apps/web-ele/src/views/mes/wm/materialstock/components/select-dialog.vue index 84f6da086..1be89a88c 100644 --- a/apps/web-ele/src/views/mes/wm/materialstock/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/wm/materialstock/components/select-dialog.vue @@ -118,7 +118,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmMaterialStockApi.MaterialStock[]; for (const row of rows) { - if (row.id === undefined || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/wm/packages/components/select-dialog.vue b/apps/web-ele/src/views/mes/wm/packages/components/select-dialog.vue index 633ccdb17..f780c0db9 100644 --- a/apps/web-ele/src/views/mes/wm/packages/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/wm/packages/components/select-dialog.vue @@ -41,7 +41,7 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesWmPackageApi.Package[]; records.forEach((row) => { - if (row.id) { + if (row.id !== undefined && row.id !== null) { selectedMap.set(row.id, row); } }); @@ -83,7 +83,11 @@ async function applyPreSelection() { } const rows = gridApi.grid.getData() as MesWmPackageApi.Package[]; for (const row of rows) { - if (row.id || !preSelectedIds.value.includes(row.id as number)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) { diff --git a/apps/web-ele/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue b/apps/web-ele/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue index 31dc3fb2b..9a05a6ed3 100644 --- a/apps/web-ele/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue +++ b/apps/web-ele/src/views/mes/wm/stocktaking/plan/components/select-dialog.vue @@ -33,7 +33,7 @@ function getMultipleSelectedRows() { ...(gridApi.grid.getCheckboxRecords?.() ?? []), ] as MesWmStockTakingPlanApi.StockTakingPlan[]; records.forEach((row) => { - if (row.id !== null) { + if (row.id !== undefined && row.id !== null) { selectedMap.set(row.id, row); } }); @@ -80,7 +80,11 @@ async function applyPreSelection() { const rows = gridApi.grid.getData() as MesWmStockTakingPlanApi.StockTakingPlan[]; for (const row of rows) { - if (row.id === null || !preSelectedIds.value.includes(row.id)) { + if ( + row.id === undefined || + row.id === null || + !preSelectedIds.value.includes(row.id) + ) { continue; } if (multiple.value) {