From 308965751ac4dbfcc811a9c3f6232824f5e24163 Mon Sep 17 00:00:00 2001 From: sjl <1716605279@qq.com> Date: Mon, 17 Nov 2025 10:48:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=95=E6=B3=A2=E7=A6=81=E6=AD=A2=E9=80=89?= =?UTF-8?q?=E9=A2=91=E7=8E=87=E5=92=8C=E9=97=AA=E5=8F=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan/planList/components/planPopup.vue | 95 ++++++++++++++----- 1 file changed, 72 insertions(+), 23 deletions(-) diff --git a/frontend/src/views/plan/planList/components/planPopup.vue b/frontend/src/views/plan/planList/components/planPopup.vue index 0f8e3d4..a14e67c 100644 --- a/frontend/src/views/plan/planList/components/planPopup.vue +++ b/frontend/src/views/plan/planList/components/planPopup.vue @@ -49,27 +49,7 @@ /> - - - - - + + + + + + { const manufacturerDict = dictStore.getDictData('Dev_Manufacturers') @@ -811,7 +815,7 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan: user_Result: any if (mode.value === '比对式') { - ;[ + [ PqErrSys_Result, pqDevList_Result, pqReportName_Result, @@ -856,7 +860,7 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan: const rule = dataRuleDict.find(item => item.code === 'Cp95_Value') formContent.dataRule = rule ? rule.id : '' } else { - ;[pqSource_Result, PqScript_Result, PqErrSys_Result, pqDevList_Result, pqReportName_Result] = + [pqSource_Result, PqScript_Result, PqErrSys_Result, pqDevList_Result, pqReportName_Result] = await Promise.all([ getTestSourceList(data), getPqScriptList(data), @@ -893,6 +897,7 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan: formContent.datasourceIds = datasourceDicts .filter(item => ['real', 'wave_data'].includes(item.code)) .map(item => item.code) + realTimeSetting.value = true waveRecordSetting.value = true } else { @@ -1064,6 +1069,13 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan: formContent.testItems = data.testItems } } + //数据源选中录波,检测项禁止频率和闪变 + if(formContent.datasourceIds.includes('wave_data')){ + const frequencyOption = secondLevelOptions.find(option => option.label.includes('频率')); + if (frequencyOption && Array.isArray(formContent.testItems)) { + formContent.testItems = formContent.testItems.filter(id => id !== frequencyOption.value); + } + } } if (mode.value != '比对式') { @@ -1306,11 +1318,48 @@ const handleDataSourceChange = () => { } if (hasLuBo) { waveRecordSetting.value = true + + // 当选中录波数据源时,从已选检测项中移除频率和闪变项 + const frequencyOption = secondLevelOptions.find(option => option.label.includes('频率')); + const flickerOption = secondLevelOptions.find(option => option.label.includes('闪变')); + + if (Array.isArray(formContent.testItems)) { + let filteredItems = [...formContent.testItems]; + + if (frequencyOption) { + filteredItems = filteredItems.filter(id => id !== frequencyOption.value); + } + + if (flickerOption) { + filteredItems = filteredItems.filter(id => id !== flickerOption.value); + } + + formContent.testItems = filteredItems; + } } else { waveRecordSetting.value = false } } + +// 判断检测项是否应被禁用 +const shouldDisableTestItem = computed(() => { + return (option: { label: string; value: string }) => { + // 当数据源选中录波时,禁用频率和闪变选项 + if (Array.isArray(formContent.datasourceIds)) { + const hasLuBo = formContent.datasourceIds.some(id => { + const dictItem = dictStore.getDictData(dataSourceType.value).find(item => item.code === id); + return dictItem ? dictItem.name.includes('录波') : false; + }); + + if (hasLuBo && (option.label.includes('频率') || option.label.includes('闪变'))) { + return true; + } + } + return false; + }; +}); + //导入设备 const deviceImportExcel = ref | null>(null)