From 606a9ed6e8f6fcf4f48c2f810349ae02c0cbed10 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Wed, 8 Apr 2026 01:15:03 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(select):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E8=BF=87=E6=BB=A4=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=80=89=E6=8B=A9=E5=99=A8=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 DvCheckPlanSelect 和相关组件中新增状态过滤功能,允许用户根据计划状态筛选可选项。同时,优化了提示信息的拼装逻辑,提升用户体验。 --- .../components/DvCheckPlanSelect.vue | 2 + .../components/DvCheckPlanSelectDialog.vue | 21 +++++++-- .../mes/dv/checkrecord/CheckRecordForm.vue | 12 ++++- .../dv/maintenrecord/MaintenRecordForm.vue | 12 ++++- .../components/MdWorkstationSelect.vue | 8 +++- .../components/MdWorkstationSelectDialog.vue | 8 ++-- src/views/mes/pro/feedback/FeedbackForm.vue | 7 ++- .../mes/pro/task/components/ProTaskSelect.vue | 10 ++++- .../task/components/ProTaskSelectDialog.vue | 11 +++-- .../components/ProWorkOrderSelect.vue | 4 +- .../components/ProWorkOrderSelectDialog.vue | 16 ++++++- src/views/mes/qc/ipqc/IpqcForm.vue | 7 ++- src/views/mes/wm/barcode/BarcodeForm.vue | 7 ++- .../mes/wm/batch/components/WmBatchSelect.vue | 4 +- .../batch/components/WmBatchSelectDialog.vue | 45 ++++++++++++++----- .../mes/wm/returnsales/ReturnSalesForm.vue | 6 ++- .../wm/returnsales/ReturnSalesLineList.vue | 2 + .../mes/wm/returnvendor/ReturnVendorForm.vue | 6 ++- .../wm/returnvendor/ReturnVendorLineList.vue | 2 + 19 files changed, 153 insertions(+), 37 deletions(-) diff --git a/src/views/mes/dv/checkplan/components/DvCheckPlanSelect.vue b/src/views/mes/dv/checkplan/components/DvCheckPlanSelect.vue index 466af7574..461255678 100644 --- a/src/views/mes/dv/checkplan/components/DvCheckPlanSelect.vue +++ b/src/views/mes/dv/checkplan/components/DvCheckPlanSelect.vue @@ -51,6 +51,7 @@ ref="dialogRef" :multiple="false" :type="type" + :status="status" @selected="handleSelected" /> @@ -74,6 +75,7 @@ const props = withDefaults( clearable?: boolean // 是否允许清空 placeholder?: string // 占位文字 type?: number // 计划类型过滤 + status?: number // 状态过滤(如仅已启用) }>(), { disabled: false, diff --git a/src/views/mes/dv/checkplan/components/DvCheckPlanSelectDialog.vue b/src/views/mes/dv/checkplan/components/DvCheckPlanSelectDialog.vue index 103e09608..d534b7f88 100644 --- a/src/views/mes/dv/checkplan/components/DvCheckPlanSelectDialog.vue +++ b/src/views/mes/dv/checkplan/components/DvCheckPlanSelectDialog.vue @@ -12,8 +12,8 @@ (), { multiple: true } ) +/** 拼装 el-alert 提示文字 */ +const alertTitle = computed(() => { + const parts: string[] = [] + if (props.type != null) { + parts.push(`类型【${getDictLabel(DICT_TYPE.MES_DV_SUBJECT_TYPE, props.type)}】`) + } + if (props.status != null) { + parts.push(`状态【${getDictLabel(DICT_TYPE.MES_DV_CHECK_PLAN_STATUS, props.status)}】`) + } + return `仅展示${parts.join('且')}的方案` +}) + const message = useMessage() const emit = defineEmits<{ selected: [rows: DvCheckPlanVO[]] @@ -204,7 +217,8 @@ const queryParams = reactive({ pageSize: 10, // 每页条数 code: undefined as string | undefined, name: undefined as string | undefined, - type: undefined as number | undefined + type: undefined as number | undefined, + status: undefined as number | undefined }) /** 查询列表 */ @@ -285,6 +299,7 @@ const open = async (selectedIds?: number[]) => { queryParams.code = undefined queryParams.name = undefined queryParams.type = props.type + queryParams.status = props.status queryParams.pageNo = 1 // 清空上一次的选中状态 selectedRows.value = [] diff --git a/src/views/mes/dv/checkrecord/CheckRecordForm.vue b/src/views/mes/dv/checkrecord/CheckRecordForm.vue index 6df8ad5ce..4075eed1c 100644 --- a/src/views/mes/dv/checkrecord/CheckRecordForm.vue +++ b/src/views/mes/dv/checkrecord/CheckRecordForm.vue @@ -16,7 +16,11 @@ - + @@ -73,7 +77,11 @@ import DvMachinerySelect from '@/views/mes/dv/machinery/components/DvMachinerySe import DvCheckPlanSelect from '@/views/mes/dv/checkplan/components/DvCheckPlanSelect.vue' import UserSelectV2 from '@/views/system/user/components/UserSelectV2.vue' import CheckRecordLineList from './CheckRecordLineList.vue' -import { MesDvCheckRecordStatusEnum, MesDvSubjectTypeEnum } from '@/views/mes/utils/constants' +import { + MesDvCheckRecordStatusEnum, + MesDvSubjectTypeEnum, + MesDvCheckPlanStatusEnum +} from '@/views/mes/utils/constants' defineOptions({ name: 'CheckRecordForm' }) const emit = defineEmits(['success']) diff --git a/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue b/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue index d9dec834c..26b6db417 100644 --- a/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue +++ b/src/views/mes/dv/maintenrecord/MaintenRecordForm.vue @@ -16,7 +16,11 @@ - + @@ -73,7 +77,11 @@ import DvCheckPlanSelect from '@/views/mes/dv/checkplan/components/DvCheckPlanSe import UserSelectV2 from '@/views/system/user/components/UserSelectV2.vue' import MaintenRecordLineList from './MaintenRecordLineList.vue' import { useUserStore } from '@/store/modules/user' -import { MesDvMaintenRecordStatusEnum, MesDvSubjectTypeEnum } from '@/views/mes/utils/constants' +import { + MesDvMaintenRecordStatusEnum, + MesDvSubjectTypeEnum, + MesDvCheckPlanStatusEnum +} from '@/views/mes/utils/constants' defineOptions({ name: 'MaintenRecordForm' }) const emit = defineEmits(['success']) diff --git a/src/views/mes/md/workstation/components/MdWorkstationSelect.vue b/src/views/mes/md/workstation/components/MdWorkstationSelect.vue index ca232658d..3e520e7c8 100644 --- a/src/views/mes/md/workstation/components/MdWorkstationSelect.vue +++ b/src/views/mes/md/workstation/components/MdWorkstationSelect.vue @@ -41,7 +41,12 @@ - +