zhengyiming
2025-11-28 4b605424c769f0ef5f02eb1abdf8bd5b7d558161
src/views/Permission/RoleManage.vue
@@ -59,21 +59,37 @@
});
const operationBtnMap: Record<string, OperationBtnType> = {
  editBtn: { emits: { onClick: (role) => openDialog(role) } },
  delBtn: { emits: { onClick: (role) => handleDeleteRole(role) }, props: { type: 'danger' } },
  authorize: { emits: { onClick: (role) => openAuthorizeDialog(role) } },
  editBtn: {
    emits: { onClick: (role) => openDialog(role) },
    extraProps: {
      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
    },
  },
  delBtn: {
    emits: { onClick: (role) => handleDeleteRole(role) },
    props: { type: 'danger' },
    extraProps: {
      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
    },
  },
  authorize: {
    emits: { onClick: (role) => openAuthorizeDialog(role) },
    extraProps: {
      hide: (role: API.GetRolesQueryResultItem) => role.isPublic,
    },
  },
  // member: { emits: { onClick: (role) => openMemberDialog(role) } },
  disabledBtn: {
    emits: { onClick: (role) => roleEnableOrForbid(role) },
    props: { type: 'danger' },
    extraProps: {
      hide: (row) => row.isDisabled,
      hide: (row: API.GetRolesQueryResultItem) => !(!row.isPublic && !row.isDisabled),
    },
  },
  enableBtn: {
    emits: { onClick: (role) => roleEnableOrForbid(role) },
    extraProps: {
      hide: (row) => !row.isDisabled,
      hide: (row: API.GetRolesQueryResultItem) => !(row.isDisabled && !row.isPublic),
    },
  },
};