refactor: 统一表格操作按钮最大数量为 3,超过 2 个则显示更多

This commit is contained in:
2025-08-15 23:17:17 +08:00
parent c57a0a2195
commit eddd7c5fc6
3 changed files with 41 additions and 28 deletions

View File

@@ -56,23 +56,24 @@
<a-space>
<a-link v-permission="['open:app:get']" title="详情" @click="onDetail(record)">详情</a-link>
<a-link v-permission="['open:app:update']" title="修改" @click="onUpdate(record)">修改</a-link>
<a-link
v-permission="['open:app:delete']"
status="danger"
:disabled="record.disabled"
:title="record.disabled ? '禁止删除' : '删除'"
@click="onDelete(record)"
>
删除
</a-link>
<a-dropdown>
<a-button v-if="has.hasPermOr(['open:app:resetSecret'])" type="text" size="mini" title="更多">
<a-button v-if="has.hasPermOr(['open:app:resetSecret', 'open:app:delete'])" type="text" size="mini" title="更多">
<template #icon>
<icon-more :size="16" />
</template>
</a-button>
<template #content>
<a-doption v-permission="['open:app:resetSecret']" title="重置密钥" @click="onResetSecret(record)">重置密钥</a-doption>
<a-doption v-permission="['open:app:delete']">
<a-link
status="danger"
:disabled="record.disabled"
:title="record.disabled ? '禁止删除' : '删除'"
@click="onDelete(record)"
>
删除
</a-link>
</a-doption>
</template>
</a-dropdown>
</a-space>
@@ -137,14 +138,14 @@ const columns: TableInstance['columns'] = [
title: '操作',
dataIndex: 'action',
slotName: 'action',
width: 190,
width: 160,
align: 'center',
fixed: !isMobile() ? 'right' : undefined,
show: has.hasPermOr([
'open:app:get',
'open:app:update',
'open:app:delete',
'open:app:resetSecret',
'open:app:delete',
]),
},
]

View File

@@ -62,12 +62,23 @@
</template>
<template #action="{ record }">
<a-space>
<a-link v-permission="['schedule:log:list']" title="日志" @click="onLog(record)">日志</a-link>
<a-popconfirm content="是否确定立即执行一次任务?" type="warning" @ok="onTrigger(record)">
<a-link v-permission="['schedule:job:trigger']" title="执行">执行</a-link>
</a-popconfirm>
<a-link v-permission="['schedule:job:update']" title="修改" @click="onUpdate(record)">修改</a-link>
<a-link v-permission="['schedule:job:delete']" status="danger" title="删除" @click="onDelete(record)">删除</a-link>
<a-dropdown>
<a-button v-if="has.hasPermOr(['schedule:log:list', 'schedule:job:delete'])" type="text" size="mini" title="更多">
<template #icon>
<icon-more :size="16" />
</template>
</a-button>
<template #content>
<a-doption v-permission="['schedule:log:list']" title="查看日志" @click="onLog(record)">查看日志</a-doption>
<a-doption v-permission="['schedule:job:delete']">
<a-link status="danger" title="删除" @click="onDelete(record)">删除</a-link>
</a-doption>
</template>
</a-dropdown>
</a-space>
</template>
</GiTable>
@@ -121,13 +132,13 @@ const columns: TableInstance['columns'] = [
{
title: '操作',
slotName: 'action',
width: 200,
width: 160,
align: 'center',
fixed: !isMobile() ? 'right' : undefined,
show: has.hasPermOr([
'schedule:log:list',
'schedule:job:trigger',
'schedule:job:update',
'schedule:log:list',
'schedule:job:delete',
]),
},

View File

@@ -53,17 +53,8 @@
<a-space>
<a-link v-permission="['system:user:get']" title="详情" @click="onDetail(record)">详情</a-link>
<a-link v-permission="['system:user:update']" title="修改" @click="onUpdate(record)">修改</a-link>
<a-link
v-permission="['system:user:delete']"
status="danger"
:disabled="record.isSystem"
:title="record.isSystem ? '系统内置数据不能删除' : '删除'"
@click="onDelete(record)"
>
删除
</a-link>
<a-dropdown>
<a-button v-if="has.hasPermOr(['system:user:resetPwd', 'system:user:updateRole'])" type="text" size="mini" title="更多">
<a-button v-if="has.hasPermOr(['system:user:resetPwd', 'system:user:updateRole', 'system:user:delete'])" type="text" size="mini" title="更多">
<template #icon>
<icon-more :size="16" />
</template>
@@ -71,6 +62,16 @@
<template #content>
<a-doption v-permission="['system:user:resetPwd']" title="重置密码" @click="onResetPwd(record)">重置密码</a-doption>
<a-doption v-permission="['system:user:updateRole']" :disabled="record.isSystem" title="分配角色" @click="onUpdateRole(record)">分配角色</a-doption>
<a-doption v-permission="['system:user:delete']">
<a-link
status="danger"
:disabled="record.isSystem"
:title="record.isSystem ? '系统内置数据不能删除' : '删除'"
@click="onDelete(record)"
>
删除
</a-link>
</a-doption>
</template>
</a-dropdown>
</a-space>
@@ -174,15 +175,15 @@ const columns: TableInstance['columns'] = [
title: '操作',
dataIndex: 'action',
slotName: 'action',
width: 190,
width: 160,
align: 'center',
fixed: !isMobile() ? 'right' : undefined,
show: has.hasPermOr([
'system:user:get',
'system:user:update',
'system:user:delete',
'system:user:resetPwd',
'system:user:updateRole',
'system:user:delete',
]),
},
]