diff --git a/frontend/src/views/MapList.vue b/frontend/src/views/MapList.vue
index c19182fb..980a3067 100644
--- a/frontend/src/views/MapList.vue
+++ b/frontend/src/views/MapList.vue
@@ -51,7 +51,7 @@
@@ -70,6 +70,7 @@ const showForm = ref(false)
const editingMap = ref(null)
const form = ref({})
const createMode = ref("blank")
+const saving = ref(false)
const selectedIds = ref([])
function onSelectionChange(rows: any[]) {
@@ -96,6 +97,8 @@ function goCanvas(id: number) { router.push('/maps/canvas/' + id) }
function goVersion(id: number) { router.push('/maps/versions/' + id) }
async function saveMap() {
+ if (saving.value) return
+ saving.value = true
try {
if (editingMap.value) {
await mapApi.update(editingMap.value.id, form.value)
@@ -112,6 +115,8 @@ async function saveMap() {
load()
} catch (e) {
ElMessage.error("操作失败")
+ } finally {
+ saving.value = false
}
}