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