评论添加删除
This commit is contained in:
@@ -85,4 +85,11 @@ export class classifyService {
|
|||||||
params
|
params
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
//评论删除 /admin/post/comment/destroy
|
||||||
|
static deleteclassifycontentcomment(params: any) {
|
||||||
|
return request.post<any>({
|
||||||
|
url: '/admin/post/comment/destroy',
|
||||||
|
params
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -234,6 +234,16 @@
|
|||||||
<div class="comment-author">{{ comment.user.nickname }}</div>
|
<div class="comment-author">{{ comment.user.nickname }}</div>
|
||||||
<div class="comment-time">{{ formatTime(comment.created_at) }}</div>
|
<div class="comment-time">{{ formatTime(comment.created_at) }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
link
|
||||||
|
@click="deleteComment(comment)"
|
||||||
|
v-if="hasAuth('classify_item@del')"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="comment-content">{{ comment.content || '-' }}</div>
|
<div class="comment-content">{{ comment.content || '-' }}</div>
|
||||||
<!-- 回复列表 -->
|
<!-- 回复列表 -->
|
||||||
@@ -247,6 +257,16 @@
|
|||||||
formatTime(reply.created_at || reply.timestamp)
|
formatTime(reply.created_at || reply.timestamp)
|
||||||
}}</div>
|
}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<el-button
|
||||||
|
type="danger"
|
||||||
|
link
|
||||||
|
@click="deleteComment(reply)"
|
||||||
|
v-if="hasAuth('classify_item@del')"
|
||||||
|
>
|
||||||
|
删除
|
||||||
|
</el-button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="reply-content">{{ reply.content || '-' }}</div>
|
<div class="reply-content">{{ reply.content || '-' }}</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -496,6 +516,47 @@
|
|||||||
console.error('修改状态失败:', error)
|
console.error('修改状态失败:', error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//删除评论
|
||||||
|
const deleteComment = (row: any) => {
|
||||||
|
ElMessageBox.confirm('确定删除该评论吗?', '删除确认', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'error'
|
||||||
|
}).then(async () => {
|
||||||
|
try {
|
||||||
|
const { message } = await classifyService.deleteclassifycontentcomment({ id: row.id })
|
||||||
|
ElMessage.success(message)
|
||||||
|
getMonthlyList()
|
||||||
|
// 从评论列表中移除已删除的评论
|
||||||
|
const removeComment = (list: any[]) => {
|
||||||
|
const index = list.findIndex((item) => item.id === row.id)
|
||||||
|
if (index > -1) {
|
||||||
|
list.splice(index, 1)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
// 检查是否有子回复需要删除
|
||||||
|
for (const item of list) {
|
||||||
|
if (item.child && item.child.length > 0) {
|
||||||
|
const childIndex = item.child.findIndex((child: any) => child.id === row.id)
|
||||||
|
if (childIndex > -1) {
|
||||||
|
item.child.splice(childIndex, 1)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
const removed = removeComment(commentList.value)
|
||||||
|
if (removed) {
|
||||||
|
// 更新详情中的评论总数
|
||||||
|
detailData.value.comment = Math.max(0, detailData.value.comment - 1)
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('删除失败:', error)
|
||||||
|
ElMessage.error('删除失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user