|
|
@ -14,7 +14,7 @@ |
|
|
|
<div class="content-area"> |
|
|
|
<div class="table-container"> |
|
|
|
<el-table :data="currentPageData" style="width: auto" :row-style="{ height: '60px' } "> |
|
|
|
<el-table-column prop="activityName" label="活动名称"></el-table-column> |
|
|
|
<el-table-column prop="activityName" label="活动名称" show-overflow-tooltip></el-table-column> |
|
|
|
<el-table-column prop="marketOne" label="市场一"></el-table-column> |
|
|
|
<el-table-column prop="marketTwo" label="市场二"></el-table-column> |
|
|
|
|
|
|
@ -204,9 +204,9 @@ const fetchMarketList = async () => { |
|
|
|
} catch (error) { |
|
|
|
console.error('请求市场列表失败:', error) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
}// 防抖标志 |
|
|
|
|
|
|
|
const isSubmitting = ref(false); |
|
|
|
// 取消添加 |
|
|
|
const cancel = () => { |
|
|
|
centerDialogVisible.value = false; |
|
|
@ -232,7 +232,15 @@ const addActivityShow = () => { |
|
|
|
const addForm = ref(); // 定义 addForm ref |
|
|
|
|
|
|
|
const addActivity = async () => { |
|
|
|
// 防抖检查 |
|
|
|
if (isSubmitting.value) { |
|
|
|
ElMessage.warning('操作过于频繁,请稍后再试'); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
try { |
|
|
|
isSubmitting.value = true; // 设置提交标志 |
|
|
|
|
|
|
|
const valid = await new Promise((resolve, reject) => { |
|
|
|
addForm.value.validate(valid => { |
|
|
|
if (valid) { |
|
|
@ -244,12 +252,14 @@ const addActivity = async () => { |
|
|
|
}); |
|
|
|
|
|
|
|
if (!valid) { |
|
|
|
isSubmitting.value = false; // 重置提交标志 |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// 验证活动名称是否包含空格(双重保险) |
|
|
|
if (!activity.value.activityName || activity.value.activityName.trim() === '') { |
|
|
|
ElMessage.error('活动名称不能为空'); |
|
|
|
isSubmitting.value = false; // 重置提交标志 |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
@ -257,6 +267,7 @@ const addActivity = async () => { |
|
|
|
const cleanedActivityName = activity.value.activityName.replace(/\s/g, ''); |
|
|
|
if (cleanedActivityName !== activity.value.activityName) { |
|
|
|
ElMessage.error('活动名称中不能包含空格'); |
|
|
|
isSubmitting.value = false; // 重置提交标志 |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
@ -283,6 +294,11 @@ const addActivity = async () => { |
|
|
|
} catch (error) { |
|
|
|
console.error('添加活动失败:', error); |
|
|
|
ElMessage.error('请求失败,请重试'); |
|
|
|
} finally { |
|
|
|
// 3秒后重置提交标志 |
|
|
|
setTimeout(() => { |
|
|
|
isSubmitting.value = false; |
|
|
|
}, 3000); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|