From b09a2bab102fc84fc9ac78a8e7b53fd3f3e8e66b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=BE=E5=90=8C=E5=AD=A6?= Date: Wed, 29 Oct 2025 16:11:58 +0800 Subject: [PATCH] =?UTF-8?q?feat(plan):=20=E6=A0=B9=E6=8D=AE=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E5=8A=A8=E6=80=81=E6=98=BE=E7=A4=BA=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan/planList/components/planPopup.vue | 62 ++++++++++++++++--- 1 file changed, 53 insertions(+), 9 deletions(-) diff --git a/frontend/src/views/plan/planList/components/planPopup.vue b/frontend/src/views/plan/planList/components/planPopup.vue index 08d682d..056ea78 100644 --- a/frontend/src/views/plan/planList/components/planPopup.vue +++ b/frontend/src/views/plan/planList/components/planPopup.vue @@ -293,7 +293,7 @@ /> - + - + - + - + ([]) const memberData = ref([]) +const waveRecordSetting = ref(false) +const realTimeSetting = ref(false) +const statisticsSetting = ref(false) +const flickerSetting = ref(false) const generateData = () => { const manufacturerDict = dictStore.getDictData('Dev_Manufacturers') @@ -782,6 +786,10 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan: titleType.value = sign isSelectDisabled.value = false planType.value = plan + waveRecordSetting.value = false + statisticsSetting.value = false + realTimeSetting.value = false + flickerSetting.value = false if (sign == 'add') { resetFormContent() allDisabled.value = false @@ -878,6 +886,8 @@ 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 { //编辑时先给表单赋值(这会没接收被检设备),需要手动再给被检设备复制后整体表单赋值 @@ -1029,6 +1039,8 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan: } formContent.devIds = boundData.map((i: any) => i.id) // 已绑定设备id集合 } + handleDataSourceChange() + handleTestItemChange(false) } pqToArray() //将对象转为数组 @@ -1076,16 +1088,21 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan: } // 检测项选择变化时的处理函数 -const handleTestItemChange = () => { +const handleTestItemChange = (showTip: boolean = true) => { if (formContent.testItems.length > 0) { const hasShanBian = secondLevelOptions .filter(option => formContent.testItems.includes(option.value)) .find(option => option.label === '闪变') if (hasShanBian) { - shanBianDialogVisible.value = true - setTimeout(() => { - shanBianDialogVisible.value = false - }, 5000) + flickerSetting.value = true + if (showTip) { + shanBianDialogVisible.value = true + setTimeout(() => { + shanBianDialogVisible.value = false + }, 5000) + } + } else { + flickerSetting.value = false } } } @@ -1243,17 +1260,44 @@ const handleDataSourceChange = () => { if (hasThreeSeconds && hasMinuteStats) { ElMessage.warning('3s实时数据与分钟统计数据不能同时选择') formContent.datasourceIds = [] + realTimeSetting.value = false + statisticsSetting.value = false + waveRecordSetting.value = false + return } if (hasLuBo && hasMinuteStats) { ElMessage.warning('录波数据与分钟统计数据不能同时选择') formContent.datasourceIds = [] + realTimeSetting.value = false + statisticsSetting.value = false + waveRecordSetting.value = false + return } // 判断是否选择了多个“分钟统计数据”项 const minuteStatLabels = selectedLabels.filter(label => label.includes('分钟')) if (minuteStatLabels.length > 1) { ElMessage.warning('分钟统计数据不能多选') formContent.datasourceIds = [] + realTimeSetting.value = false + statisticsSetting.value = false + waveRecordSetting.value = false + return + } + if (hasThreeSeconds) { + realTimeSetting.value = true + } else { + realTimeSetting.value = false + } + if (hasMinuteStats) { + statisticsSetting.value = true + } else { + statisticsSetting.value = false + } + if (hasLuBo) { + waveRecordSetting.value = true + } else { + waveRecordSetting.value = false } }