|
|
@@ -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 };
|
|
|
}
|
|
|
});
|
|
|
}
|