Przeglądaj źródła

随访计划的筛选病人条件不支持修改

张田田 8 miesięcy temu
rodzic
commit
c186368209
1 zmienionych plików z 22 dodań i 7 usunięć
  1. 22 7
      src/components/Enabled.vue

+ 22 - 7
src/components/Enabled.vue

@@ -233,14 +233,26 @@ const submitData = ref({});
 const patientsEmits: VxeFormListeners<PlanModel['filter']> = {
   async submit({ data }) {
     if (data?.tagIds?.length > 0) {
-      tagData.value?.data?.filter((tag, i) => {
-        if (tag.id === data.tagIds[i]) {
-          tagNames.value.push(tag.name);
-        }
-      });
+      const tagMap = new Map(tagData.value?.data?.map(tag => [tag.id, tag.name]) || []);
+      
+      const tagIds = Array.isArray(data.tagIds) ? data.tagIds : [data.tagIds];
+      tagNames.value = tagIds
+        .map(tagId => tagMap.get(tagId))
+        .filter(Boolean); // 过滤掉 undefined 值
+    } else {
+      tagNames.value = [];
     }
-    submitData.value = { filter: { ...data }, ...follow.value };
-   
+    const tagIdsArr = Array.isArray(data.tagIds)
+      ? data.tagIds
+      : data.tagIds
+        ? [data.tagIds]
+        : [];
+    const filterPayload = {
+      ...data,
+      tagIds: tagIdsArr,
+      tagNames: tagNames.value,
+    };
+    submitData.value = { ...formProps.data, filter: filterPayload };
     await submit(submitData.value);
     // 关闭弹窗
     VxeUI.modal.close(`plan-modal`);
@@ -336,6 +348,9 @@ function changeStep(currentStep) {
           current.value = 0;
           return;
         }
+        
+        // 验证通过后,保存第一步的数据到 follow.value
+        follow.value = { ...formProps.data };
       }
     });
   }