From 128fbbb094380976adf8184a8d99e2849e85bd17 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期一, 28 九月 2026 14:53:51 +0800
Subject: [PATCH] 宁夏万通需求:生产领料取消必填;设备台账批量删除;来料检验质检方案不绑定物料
---
src/views/wls/productissue/data.ts | 2 -
src/views/mes/dv/machinery/index.vue | 42 +++++++++++++++++++++
src/views/mes/dv/machinery/data.ts | 5 ++
src/views/mes/qc/iqc/data.ts | 17 +-------
4 files changed, 49 insertions(+), 17 deletions(-)
diff --git a/src/views/mes/dv/machinery/data.ts b/src/views/mes/dv/machinery/data.ts
index 8b39782..4459668 100644
--- a/src/views/mes/dv/machinery/data.ts
+++ b/src/views/mes/dv/machinery/data.ts
@@ -235,6 +235,11 @@
export function useGridColumns(): VxeTableGridOptions<MesDvMachineryApi.Machinery>['columns'] {
return [
{
+ type: 'checkbox',
+ width: 50,
+ fixed: 'left',
+ },
+ {
field: 'code',
title: '璁惧缂栫爜',
minWidth: 140,
diff --git a/src/views/mes/dv/machinery/index.vue b/src/views/mes/dv/machinery/index.vue
index b2e4ee5..8546a19 100644
--- a/src/views/mes/dv/machinery/index.vue
+++ b/src/views/mes/dv/machinery/index.vue
@@ -24,6 +24,14 @@
import ImportForm from './modules/import-form.vue';
const selectedMachineryTypeId = ref<number>(); // 閫変腑璁惧绫诲瀷缂栧彿
+const checkedIds = ref<number[]>([]);
+function handleRowCheckboxChange({
+ records,
+}: {
+ records: MesDvMachineryApi.Machinery[];
+}) {
+ checkedIds.value = records.map((item) => item.id!);
+}
const [FormModal, formModalApi] = useVbenModal({
connectedComponent: Form,
@@ -63,6 +71,22 @@
try {
await deleteMachinery(row.id!);
message.success($t('ui.actionMessage.deleteSuccess', [row.name]));
+ handleRefresh();
+ } finally {
+ hideLoading();
+ }
+}
+
+/** 鎵归噺鍒犻櫎璁惧 */
+async function handleDeleteBatch() {
+ const hideLoading = message.loading({
+ content: $t('ui.actionMessage.deleting', [`${checkedIds.value.length} 鍙癭]),
+ duration: 0,
+ });
+ try {
+ await Promise.all(checkedIds.value.map((id) => deleteMachinery(id)));
+ message.success($t('ui.actionMessage.deleteSuccess', ['']));
+ checkedIds.value = [];
handleRefresh();
} finally {
hideLoading();
@@ -116,6 +140,10 @@
search: true,
},
} as VxeTableGridOptions<MesDvMachineryApi.Machinery>,
+ gridEvents: {
+ checkboxAll: handleRowCheckboxChange,
+ checkboxChange: handleRowCheckboxChange,
+ },
});
</script>
@@ -139,6 +167,20 @@
onClick: handleCreate,
},
{
+ label: $t('ui.actionTitle.deleteBatch'),
+ type: 'primary',
+ danger: true,
+ icon: ACTION_ICON.DELETE,
+ auth: ['mes:dv-machinery:delete'],
+ disabled: checkedIds.length === 0,
+ popConfirm: {
+ title: $t('ui.actionMessage.deleteConfirm', [
+ `${checkedIds.length} 鍙癭,
+ ]),
+ confirm: handleDeleteBatch,
+ },
+ },
+ {
label: $t('ui.actionTitle.import'),
type: 'primary',
icon: ACTION_ICON.UPLOAD,
diff --git a/src/views/mes/qc/iqc/data.ts b/src/views/mes/qc/iqc/data.ts
index 73c0f84..253d1e6 100644
--- a/src/views/mes/qc/iqc/data.ts
+++ b/src/views/mes/qc/iqc/data.ts
@@ -141,26 +141,13 @@
component: 'ApiSelect',
componentProps: {
api: getTemplateItemOptionList,
- autoSelect: 'first',
labelField: 'templateName',
valueField: 'templateId',
placeholder: '璇烽�夋嫨璐ㄦ鏂规',
+ params: { qcType: 1 },
+ disabled: formType !== 'create',
},
rules: 'selectRequired',
- dependencies: {
- triggerFields: ['itemId'],
- componentProps: (values) => ({
- api: getTemplateItemOptionList,
- autoSelect: 'first',
- labelField: 'templateName',
- valueField: 'templateId',
- disabled: formType !== 'create' || !values.itemId,
- params: values.itemId
- ? { itemId: values.itemId, qcType: 1 }
- : {},
- placeholder: values.itemId ? '璇烽�夋嫨璐ㄦ鏂规' : '璇峰厛閫夋嫨浜у搧鐗╂枡',
- }),
- },
},
{
fieldName: 'vendorId',
diff --git a/src/views/wls/productissue/data.ts b/src/views/wls/productissue/data.ts
index 896c624..7fd1ed3 100644
--- a/src/views/wls/productissue/data.ts
+++ b/src/views/wls/productissue/data.ts
@@ -119,7 +119,6 @@
await formApi?.setFieldValue('taskId', undefined);
},
},
- rules: 'selectRequired',
},
{
fieldName: 'taskId',
@@ -140,7 +139,6 @@
workOrderId: values.workOrderId,
}),
},
- rules: 'selectRequired',
},
{
fieldName: 'workstationId',
--
Gitblit v1.9.3