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