fix(richedit): 修复信号规则选择器的互斥逻辑

移除禁用选择器的互斥逻辑,改为在选项级别禁用已选择的规则
同时取消信号规则变更时自动清空另一选择器的值
This commit is contained in:
34701892@qq.com 2025-11-14 11:50:05 +08:00
parent 4c10ce70ca
commit 4f67556ade
2 changed files with 14 additions and 19 deletions

View File

@ -33,17 +33,15 @@
<div class="colHeader-right-2" style="gap: 10px">
<span>信号规则</span>
<el-select v-model="form.includeRuleIds" :disabled="excludeRuleIds?.length > 0" clearable
placeholder="含任一信号规则" multiple size="large" style="width: 180px" filterable
@change="signalChange($event, 1)">
<el-select v-model="form.includeRuleIds" clearable placeholder="含任一信号规则" multiple size="large"
style="width: 180px" filterable @change="signalChange($event, 1)">
<el-option v-for="item in signalRulesList" :key="item.id" :value="item.id"
:label="item.ruleName"></el-option>
:disabled="form.excludeRuleIds?.includes(item.id)" :label="item.ruleName"></el-option>
</el-select>
<el-select v-model="form.excludeRuleIds" :disabled="includeRuleIds?.length > 0" clearable
placeholder="不含任一信号规则" multiple size="large" style="width: 180px" filterable
@change="signalChange($event, 2)">
<el-select v-model="form.excludeRuleIds" clearable placeholder="不含任一信号规则" multiple size="large"
style="width: 180px" filterable @change="signalChange($event, 2)">
<el-option v-for="item in signalRulesList" :key="item.id" :value="item.id"
:label="item.ruleName"></el-option>
:disabled="form.includeRuleIds?.includes(item.id)" :label="item.ruleName"></el-option>
</el-select>
<span>报道时间</span>

View File

@ -97,18 +97,15 @@
<div class="colHeader-right-2" style="gap: 10px">
<span>信号规则</span>
<el-select v-model="form.includeRuleIds" :disabled="excludeRuleIds?.length > 0" clearable
placeholder="含任一信号规则" multiple size="large" style="width: 180px" filterable
@change="signalChange($event, 1)">
<el-select v-model="form.includeRuleIds" clearable placeholder="含任一信号规则" multiple size="large"
style="width: 180px" filterable @change="signalChange($event, 1)">
<el-option v-for="item in signalRulesList" :key="item.id" :value="item.id"
:label="item.ruleName"></el-option>
:disabled="form.excludeRuleIds?.includes(item.id)" :label="item.ruleName"></el-option>
</el-select>
<el-select v-model="form.excludeRuleIds" :disabled="includeRuleIds?.length > 0" clearable
placeholder="不含任一信号规则" multiple size="large" style="width: 180px" filterable
@change="signalChange($event, 2)">
<el-select v-model="form.excludeRuleIds" clearable placeholder="不含任一信号规则" multiple size="large"
style="width: 180px" filterable @change="signalChange($event, 2)">
<el-option v-for="item in signalRulesList" :key="item.id" :value="item.id"
:label="item.ruleName"></el-option>
:disabled="form.includeRuleIds?.includes(item.id)" :label="item.ruleName"></el-option>
</el-select>
<span>报道时间</span>
<div>
@ -1006,11 +1003,11 @@ function signalChange(event, type) {
if (type == 1) {
// form.value.signalId1 = signalId1.value;
includeRuleIds.value = event.join(',');
excludeRuleIds.value = null;
// excludeRuleIds.value = null;
} else {
// form.value.signalId2 = signalId2.value;
excludeRuleIds.value = event.join(',');
includeRuleIds.value = null;
// includeRuleIds.value = null;
}
getData();