This commit is contained in:
zlwu committed 2026-06-29 11:15:39 +08:00
1 parent 493f8d6756
commit d84f4b944c
406 files changed
+58954 -10376

No files matched your search

+20 -4
View File
@@ -40,7 +40,8 @@
<el-button
class="btn-ghost"
type="danger"
:disabled="selectedRows.length === 0"
:disabled="selectedRows.length === 0 || !allRowsDeletableByCreator(selectedRows)"
:title="allRowsDeletableByCreator(selectedRows) ? '' : CREATOR_DELETE_TIP"
@click="handleBatchDelete"
>
批量删除
@@ -126,7 +127,7 @@
<el-dropdown-item command="edit">
<el-icon><Edit /></el-icon>编辑
</el-dropdown-item>
<el-dropdown-item command="delete" divided>
<el-dropdown-item command="delete" divided :disabled="!canDeleteByCreator(row)">
<el-icon><Delete /></el-icon>删除
</el-dropdown-item>
</el-dropdown-menu>
@@ -317,6 +318,7 @@
<script setup lang="ts">
import { ref, reactive, computed, onMounted, nextTick } from 'vue'
import { canDeleteByCreator, filterDeletableByCreator, allRowsDeletableByCreator, CREATOR_DELETE_TIP } from '@/utils/creator-delete'
import { ElMessage, ElMessageBox } from 'element-plus'
import {
Plus,
@@ -708,7 +710,12 @@ const dictStore = useDictStore()
}
}
async function handleDelete(row: Api.Post.PostItem) {
async function handleDelete(row: Api.Post.PostItem)
if (!canDeleteByCreator(row)) {
ElMessage.warning(CREATOR_DELETE_TIP)
return
}
{
await ElMessageBox.confirm(`确定删除职位「${row.postName}」吗?`, '提示', { type: 'warning' })
await fetchDeletePost(row.id)
ElMessage.success('删除成功')
@@ -716,7 +723,16 @@ const dictStore = useDictStore()
}
async function handleBatchDelete() {
const ids = selectedRows.value.map((r) => r.id)
const deletable = filterDeletableByCreator(selectedRows.value)
if (!deletable.length) {
ElMessage.warning(CREATOR_DELETE_TIP)
return
}
if (deletable.length < selectedRows.value.length) {
ElMessage.warning(CREATOR_DELETE_TIP)
return
}
const ids = deletable.map((r) => r.id)
if (!ids.length) return
await ElMessageBox.confirm(`确定删除选中的 ${ids.length} 个职位吗?`, '提示', {
type: 'warning'