This commit is contained in:
2025-12-18 13:24:03 +08:00
parent 825a511b6f
commit 0c6e76dbbd
3 changed files with 33 additions and 8 deletions

View File

@@ -39,7 +39,7 @@
{{ getActionButtonText(row.status) }}
</el-button>
<el-button size="small" @click="editArticle(row)">编辑</el-button>
<el-button size="small" type="danger" @click="deleteArticle()">删除</el-button>
<el-button size="small" type="danger" @click="deleteArticle(row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -77,7 +77,7 @@ defineOptions({
name: 'ArticleManagementView'
});
import { ref, onMounted } from 'vue';
import { ElButton, ElInput, ElTable, ElTableColumn, ElTag, ElPagination, ElMessage } from 'element-plus';
import { ElButton, ElInput, ElTable, ElTableColumn, ElTag, ElPagination, ElMessage, ElMessageBox } from 'element-plus';
import { useRouter } from 'vue-router';
import { resourceApi, resourceTagApi } from '@/apis/resource'
import type { PageParam, ResourceSearchParams, Resource, Tag } from '@/types';
@@ -200,9 +200,30 @@ function handleEditFromView() {
}
}
function deleteArticle() {
// TODO: 删除文章
ElMessage.info('删除功能开发中');
async function deleteArticle(row: Resource) {
try {
await ElMessageBox.confirm(
`确定要删除文章「${row.title}」吗?`,
'删除确认',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}
);
const res = await resourceApi.deleteResource(row.resourceID!);
if (res.success) {
ElMessage.success('删除成功');
loadArticles();
} else {
ElMessage.error(res.message || '删除失败');
}
} catch (error) {
if (error !== 'cancel') {
console.error('删除失败:', error);
ElMessage.error('删除失败');
}
}
}
function getStatusType(status: number) {