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)