Просмотр исходного кода

Merge branch 'development' of http://8.152.195.41:3000/alien/group_web_merchant into development

zhuli 2 недель назад
Родитель
Сommit
01fb3714aa
1 измененных файлов с 40 добавлено и 1 удалено
  1. 40 1
      src/views/ticketManagement/newVoucher.vue

+ 40 - 1
src/views/ticketManagement/newVoucher.vue

@@ -1143,7 +1143,42 @@ const handleSubmit = async (submitType?: string) => {
   }
   // 处理不可用日期
   if (params.unusedType == 2) {
-    params.unusedDate = params.unavailableWeekdays.join(",") + ";" + params.unavailableHolidays.join(",");
+    // 对 unavailableWeekdays 按照 weekdayList 中的索引顺序排序
+    if (params.unavailableWeekdays && params.unavailableWeekdays.length > 0) {
+      params.unavailableWeekdays = params.unavailableWeekdays.sort((a: string, b: string) => {
+        const indexA = weekdayList.value.findIndex(item => item.oName === a);
+        const indexB = weekdayList.value.findIndex(item => item.oName === b);
+        return indexA - indexB;
+      });
+    }
+    // 对 unavailableHolidays 按照 holidayList 中的索引顺序排序
+    if (params.unavailableHolidays && params.unavailableHolidays.length > 0) {
+      params.unavailableHolidays = params.unavailableHolidays.sort((a: string | number, b: string | number) => {
+        const indexA = holidayList.value.findIndex(item => String(item.id) === String(a));
+        const indexB = holidayList.value.findIndex(item => String(item.id) === String(b));
+        return indexA - indexB;
+      });
+    }
+    // 节日名称 = 用 ID 到 holidayList 中映射
+    const holidayNames = (params.unavailableHolidays || [])
+      .map(id => {
+        const hit = holidayList.value.find(item => item.id == id);
+        return hit ? hit.festivalName : null;
+      })
+      .filter(Boolean);
+    const holidayIds = (params.unavailableHolidays || [])
+      .map(id => {
+        const hit = holidayList.value.find(item => item.id == id);
+        return hit ? hit.id : null;
+      })
+      .filter(Boolean);
+    // 组装 unusedDate(星期名称 + 节日名称)并去重
+    const unusedDate = [...new Set([...(params.unavailableWeekdays || []), ...holidayNames])];
+    // params.unusedDate = unusedDate.join(",");
+    params.unusedDate = params.unavailableWeekdays.join(",") + ";" + holidayIds.join(",");
+    // // 保存选中的节日ID到 useFestival 字段
+    params.useFestival = (params.unavailableHolidays || []).join(",");
+    params.unavaiLableDate = params.unavailableWeekdays.join(",") + ";" + holidayIds.join(",");
   } else if (params.unusedType == 3) {
     // 处理自定义不可用日期
     if (params.disableDateList && params.disableDateList.length > 0) {
@@ -1162,6 +1197,10 @@ const handleSubmit = async (submitType?: string) => {
     params.purchaseLimitCode = "";
   }
   params.dataType = submitType ? 1 : 0;
+  // 是否可叠加 不知道有什么用 预留
+  params.stackingType = 0;
+  // 是否全场通用 不知道有什么用 预留
+  params.generalType = 0;
   delete params.unavailableWeekdays;
   delete params.unavailableHolidays;
   delete params.disableDateList;