diff --git a/ry-vue3/src/views/manager/Projects.vue b/ry-vue3/src/views/manager/Projects.vue index 142a604..eb21fbd 100644 --- a/ry-vue3/src/views/manager/Projects.vue +++ b/ry-vue3/src/views/manager/Projects.vue @@ -233,14 +233,6 @@ - - - - - @@ -329,7 +321,7 @@ function onAction(cmd, row) { else if (cmd === 'view') viewDetail(row) else if (cmd === 'edit') doEdit(row) else if (cmd === 'activate') openActivate(row) - else if (cmd === 'delAnn') openDeleteAnnouncement(row) + else if (cmd === 'delAnn') deleteAnnouncement(row) else if (cmd === 'rate') openSingleScore(row) else if (cmd === 'delete') doDelete(row) } @@ -486,15 +478,13 @@ function confirmActivate() { .catch(() => ElMessage.error('开通失败')) } -function openDeleteAnnouncement(row) { - delAnnTargetRow.value = row - delAnnModalOpen.value = true -} -function confirmDeleteAnn() { - if (!delAnnTargetRow.value) return +async function deleteAnnouncement(row) { + try { + await ElMessageBox.confirm(`确定删除项目 ${row.projectNo} 的所有公告吗?删除后无法恢复`, '删除公告', { type: 'warning' }) + } catch { return } // 删除公告: 后端专用端点, 将 3 个公示 URL 置 NULL (未发布由 URL 为空判定, 无独立 is_published 列) - request.delete(`/business/project/${delAnnTargetRow.value.projectId}/announcement`) - .then(() => { ElMessage.success(`已删除项目 ${delAnnTargetRow.value.projectNo} 的公告`); delAnnModalOpen.value = false; load() }) + request.delete(`/business/project/${row.projectId}/announcement`) + .then(() => { ElMessage.success(`已删除项目 ${row.projectNo} 的公告`); load() }) .catch(() => ElMessage.error('删除失败')) } @@ -614,8 +604,6 @@ const closeModalOpen = ref(false) const closeTargetRow = ref(null) const activateModalOpen = ref(false) const activateTargetRow = ref(null) -const delAnnModalOpen = ref(false) -const delAnnTargetRow = ref(null) const singleScoreModalOpen = ref(false) const singleScoreTargetRow = ref(null) const singleScoreForm = reactive({ qualityScore: 0, responseScore: 0, cooperationScore: 0, complianceScore: 0 })