Selaa lähdekoodia

fix: 修复规则管理页面中的条件渲染和模型选择逻辑

修复了规则管理页面中关键词条件渲染逻辑,使其仅在特定条件下显示。同时修复了模型选择逻辑中的错误,确保在重复选择同一模型时不会重复执行操作。此外,修正了致命状态显示的变量名错误,并改进了模型数据处理的健壮性。
闪电 8 kuukautta sitten
vanhempi
commit
5e945d4696
2 muutettua tiedostoa jossa 13 lisäystä ja 6 poistoa
  1. 6 3
      src/views/rules/list.vue
  2. 7 3
      src/views/rules/models.vue

+ 6 - 3
src/views/rules/list.vue

@@ -147,7 +147,7 @@
147 147
                   <el-table-column prop="fatal" label="是否致命" width="140">
148 148
                     <template #default="{ row }">
149 149
                       <span :class="row.fatal ? 'text-red-500' : 'text-gray-500'">
150
-                        {{ row.f ? '致命' : '非致命' }}
150
+                        {{ row.fatal ? '致命' : '非致命' }}
151 151
                       </span>
152 152
                     </template>
153 153
                   </el-table-column>
@@ -555,6 +555,7 @@ const save = () => {
555 555
       }
556 556
     })
557 557
   } else {
558
+    params.id = 0;
558 559
     // 创建规则
559 560
     createPageData(`/quality/inspectionRules`, params).then((res: any) => {
560 561
       if (res.state === 'success') {
@@ -738,7 +739,7 @@ const addModel = () => {
738 739
 }
739 740
 
740 741
 const selectModel = (index: number) => {
741
-  if (!modelList.value?.length) return;
742
+  if (selectedModel.value === index) return;
742 743
   selectedModel.value = index;
743 744
   currentModel.value = modelList.value[index];
744 745
   currentModel.value.conditions = [];
@@ -747,7 +748,9 @@ const selectModel = (index: number) => {
747 748
       moment(currentModel.value.startTime),
748 749
       moment(currentModel.value.endTime)
749 750
     ];
750
-    if (currentModel.value.applySeats) currentModel.value.applySeats = currentModel.value.applySeats.split(',');
751
+    console.log(currentModel.value.applySeats, 'currentModel.value.applySeats');
752
+    // 判断如果不是数组就转换为数组
753
+    if (currentModel.value.applySeats && !Array.isArray(currentModel.value.applySeats)) currentModel.value.applySeats = currentModel.value.applySeats.split(',');
751 754
     if (currentModel.value.modelId) currentModel.value.modelId = Number(currentModel.value.modelId);
752 755
     if (currentModel.value.callType) currentModel.value.callType = currentModel.value.callType + '';
753 756
     if (currentModel.value.checkFrequency) currentModel.value.checkFrequency = currentModel.value.checkFrequency + '';

+ 7 - 3
src/views/rules/models.vue

@@ -69,7 +69,7 @@
69 69
               </el-select>
70 70
             </el-form-item>
71 71
 
72
-            <el-form-item label="关键词" prop="keywords">
72
+            <el-form-item v-if="['基础检测'].includes(conditionForm.type) || ['打断客户', '答复不清', '脏话辱骂'].includes(conditionForm.name)" label="关键词" prop="keywords">
73 73
               <el-select v-model="conditionForm.keywords" multiple filterable placeholder="请选择关键词"
74 74
                 style="width: 500px;">
75 75
                 <el-option v-for="item in keywordOptions" :key="item.id" :label="item.term" :value="item.id" />
@@ -171,7 +171,7 @@
171 171
               <el-table-column prop="fatal" label="是否致命" width="140">
172 172
                 <template #default="{ row }">
173 173
                   <span :class="row.fatal ? 'text-red-500' : 'text-gray-500'">
174
-                    {{ row.f ? '致命' : '非致命' }}
174
+                    {{ row.fatal ? '致命' : '非致命' }}
175 175
                   </span>
176 176
                 </template>
177 177
               </el-table-column>
@@ -248,7 +248,11 @@ const selectModel = (index: number) => {
248 248
 
249 249
 // 获取条件
250 250
 const getCases = async () => {
251
-  if (selectedModel.value < 0) return;
251
+  
252
+  if (selectedModel.value < 0 || !currentModel.value.id || currentModel.value.id === undefined) return;
253
+
254
+  console.log(currentModel.value.id, 'currentModel.value.id')
255
+
252 256
   // 获取模型案例逻辑
253 257
   const res = await getPageListData(`/quality/scoringCriteria`, {
254 258
     rulesId: currentModel.value.id,