2 Commits

Author SHA1 Message Date
sjl
be95e792a8 Merge branch 'master' of http://192.168.1.22:3000/ClientApps/pqs-9100_client 2025-11-17 10:48:27 +08:00
sjl
308965751a 录波禁止选频率和闪变 2025-11-17 10:48:18 +08:00

View File

@@ -49,27 +49,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="selectByMode" :label-width="110" label="检测项" prop="testItems">
<el-select
v-model="formContent.testItems"
:disabled="planType != 0 || allDisabled || !canEdited"
:max-collapse-tags="1"
clearable
collapse-tags
collapse-tags-tooltip
filterable
multiple
placeholder="请选择检测项"
@blur="handleTestItemChange"
>
<el-option
v-for="(option, index) in secondLevelOptions"
:key="index"
:label="option.label"
:value="option.value"
/>
</el-select>
</el-form-item>
<el-form-item v-if="!selectByMode" :label-width="110" label="检测源" prop="sourceIds"> <el-form-item v-if="!selectByMode" :label-width="110" label="检测源" prop="sourceIds">
<el-select <el-select
v-model="formContent.sourceIds" v-model="formContent.sourceIds"
@@ -148,6 +128,28 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item v-if="selectByMode" :label-width="110" label="检测项" prop="testItems">
<el-select
v-model="formContent.testItems"
:disabled="planType != 0 || allDisabled || !canEdited"
:max-collapse-tags="1"
clearable
collapse-tags
collapse-tags-tooltip
filterable
multiple
placeholder="请选择检测项"
@blur="handleTestItemChange"
>
<el-option
v-for="(option, index) in secondLevelOptions"
:disabled="shouldDisableTestItem(option)"
:key="index"
:label="option.label"
:value="option.value"
/>
</el-select>
</el-form-item>
<el-form-item :label-width="110" label="数据处理原则" prop="dataRule"> <el-form-item :label-width="110" label="数据处理原则" prop="dataRule">
<el-select <el-select
v-model="formContent.dataRule" v-model="formContent.dataRule"
@@ -494,6 +496,8 @@ const waveRecordSetting = ref(false)
const realTimeSetting = ref(false) const realTimeSetting = ref(false)
const statisticsSetting = ref(false) const statisticsSetting = ref(false)
const flickerSetting = ref(false) const flickerSetting = ref(false)
const generateData = () => { const generateData = () => {
const manufacturerDict = dictStore.getDictData('Dev_Manufacturers') const manufacturerDict = dictStore.getDictData('Dev_Manufacturers')
@@ -827,7 +831,7 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan:
user_Result: any user_Result: any
if (mode.value === '比对式') { if (mode.value === '比对式') {
;[ [
PqErrSys_Result, PqErrSys_Result,
pqDevList_Result, pqDevList_Result,
pqReportName_Result, pqReportName_Result,
@@ -872,7 +876,7 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan:
const rule = dataRuleDict.find(item => item.code === 'Cp95_Value') const rule = dataRuleDict.find(item => item.code === 'Cp95_Value')
formContent.dataRule = rule ? rule.id : '' formContent.dataRule = rule ? rule.id : ''
} else { } else {
;[pqSource_Result, PqScript_Result, PqErrSys_Result, pqDevList_Result, pqReportName_Result] = [pqSource_Result, PqScript_Result, PqErrSys_Result, pqDevList_Result, pqReportName_Result] =
await Promise.all([ await Promise.all([
getTestSourceList(data), getTestSourceList(data),
getPqScriptList(data), getPqScriptList(data),
@@ -909,6 +913,7 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan:
formContent.datasourceIds = datasourceDicts formContent.datasourceIds = datasourceDicts
.filter(item => ['real', 'wave_data'].includes(item.code)) .filter(item => ['real', 'wave_data'].includes(item.code))
.map(item => item.code) .map(item => item.code)
realTimeSetting.value = true realTimeSetting.value = true
waveRecordSetting.value = true waveRecordSetting.value = true
} else { } else {
@@ -1080,6 +1085,13 @@ const open = async (sign: string, data: Plan.ReqPlan, currentMode: string, plan:
formContent.testItems = data.testItems 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 != '比对式') { if (mode.value != '比对式') {
@@ -1323,11 +1335,48 @@ const handleDataSourceChange = () => {
} }
if (hasLuBo) { if (hasLuBo) {
waveRecordSetting.value = true 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 { } else {
waveRecordSetting.value = false 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<InstanceType<typeof ImportExcel> | null>(null) const deviceImportExcel = ref<InstanceType<typeof ImportExcel> | null>(null)