feat(plan): 根据数据源动态显示设置项
This commit is contained in:
@@ -293,7 +293,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="8" v-if="waveRecordSetting">
|
||||
<el-form-item
|
||||
:label-width="140"
|
||||
label="录波数据有效组数"
|
||||
@@ -311,7 +311,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="8" v-if="realTimeSetting">
|
||||
<el-form-item
|
||||
:label-width="140"
|
||||
label="实时数据有效组数"
|
||||
@@ -329,7 +329,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="8" v-if="statisticsSetting">
|
||||
<el-form-item
|
||||
:label-width="140"
|
||||
label="统计数据有效组数"
|
||||
@@ -347,7 +347,7 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-col :span="8" v-if="flickerSetting">
|
||||
<el-form-item
|
||||
:label-width="140"
|
||||
label="闪变数据有效组数"
|
||||
@@ -481,6 +481,10 @@ const allDisabled = ref(false)
|
||||
const shanBianDialogVisible = ref(false)
|
||||
const leaderData = ref<any[]>([])
|
||||
const memberData = ref<any[]>([])
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user