banner图赛事非必选
This commit is contained in:
parent
6ee06fbc2b
commit
da749694f5
@ -330,16 +330,15 @@ function validateManual() {
|
||||
const list = slots.value;
|
||||
for (let i = 0; i < list.length; i++) {
|
||||
const s = list[i];
|
||||
const partial = !!(s.imageUrl || s.eventId);
|
||||
if (partial && (!s.imageUrl || !s.eventId)) {
|
||||
ElMessage.warning(`第 ${i + 1} 张需同时上传图片并选择关联赛事`);
|
||||
if (s.eventId && !s.imageUrl) {
|
||||
ElMessage.warning(`第 ${i + 1} 张已选择赛事,请同时上传图片`);
|
||||
selectedIndex.value = i;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
const filled = list.filter((s) => s.imageUrl && s.eventId);
|
||||
const filled = list.filter((s) => s.imageUrl);
|
||||
if (!filled.length) {
|
||||
ElMessage.warning('请至少完整配置一张轮播图(图片 + 赛事)');
|
||||
ElMessage.warning('请至少上传一张轮播图图片');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -361,26 +360,26 @@ async function onSave() {
|
||||
const resMode = await bannerConfigPut({ mode: MODE_MANUAL });
|
||||
if (resMode?.succeeded === false) return;
|
||||
|
||||
const filledSlots = slots.value.filter((s) => s.imageUrl && s.eventId);
|
||||
const filledSlots = slots.value.filter((s) => s.imageUrl);
|
||||
const keptIds = new Set();
|
||||
|
||||
for (let i = 0; i < filledSlots.length; i++) {
|
||||
const s = filledSlots[i];
|
||||
const sort = i + 1;
|
||||
// 接口要求关联赛事使用 eventId 字段(数字)
|
||||
const eventId = Number(s.eventId);
|
||||
if (!Number.isFinite(eventId) || eventId <= 0) {
|
||||
// 有选择赛事时使用 eventId,否则不传 eventId(后端允许无赛事保存)
|
||||
const eventId = toEventId(s.eventId);
|
||||
if (s.eventId && (eventId == null || eventId <= 0)) {
|
||||
ElMessage.warning(`第 ${sort} 条轮播的关联赛事无效,请重新选择`);
|
||||
return;
|
||||
}
|
||||
const payload = {
|
||||
title: s.title || s.eventName || `轮播图${sort}`,
|
||||
imageUrl: s.imageUrl,
|
||||
linkType: 'Event',
|
||||
eventId,
|
||||
linkType: eventId ? 'Event' : 'Url',
|
||||
sort,
|
||||
status: 'Enable',
|
||||
};
|
||||
if (eventId) payload.eventId = eventId;
|
||||
if (s.id) {
|
||||
const r = await bannerEditPut({ id: s.id, ...payload });
|
||||
if (r?.succeeded === false) return;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user