diff --git a/apps/vben5/packages/@abp/auditing/src/components/audit-logs/AuditLogTable.vue b/apps/vben5/packages/@abp/auditing/src/components/audit-logs/AuditLogTable.vue
index cc97d7b5b..5eb7e7e92 100644
--- a/apps/vben5/packages/@abp/auditing/src/components/audit-logs/AuditLogTable.vue
+++ b/apps/vben5/packages/@abp/auditing/src/components/audit-logs/AuditLogTable.vue
@@ -1,5 +1,4 @@
diff --git a/apps/vben5/packages/@abp/identity/src/components/organization-units/SelectRoleModal.vue b/apps/vben5/packages/@abp/identity/src/components/organization-units/SelectRoleModal.vue
index ec5e33f3f..9f34ab20f 100644
--- a/apps/vben5/packages/@abp/identity/src/components/organization-units/SelectRoleModal.vue
+++ b/apps/vben5/packages/@abp/identity/src/components/organization-units/SelectRoleModal.vue
@@ -68,27 +68,30 @@ const [Modal, modalApi] = useVbenModal({
});
const gridOptions: VxeGridProps = {
- checkboxConfig: {
- highlight: true,
- labelField: 'name',
- },
columns: [
+ {
+ align: 'center',
+ type: 'checkbox',
+ width: 80,
+ },
{
align: 'left',
field: 'name',
+ sortable: true,
title: $t('AbpIdentity.DisplayName:RoleName'),
- type: 'checkbox',
},
],
exportConfig: {},
keepSource: true,
proxyConfig: {
ajax: {
- query: async ({ page }, formValues) => {
+ query: async ({ page, sort }, formValues) => {
+ const sorting = sort.order ? `${sort.field} ${sort.order}` : undefined;
const state = modalApi.getData>();
return await getUnaddedRoleListApi({
id: state.id,
maxResultCount: page.pageSize,
+ sorting,
skipCount: (page.currentPage - 1) * page.pageSize,
...formValues,
});
@@ -100,7 +103,11 @@ const gridOptions: VxeGridProps = {
list: 'items',
},
},
- toolbarConfig: {},
+ toolbarConfig: {
+ refresh: {
+ code: 'query',
+ },
+ },
};
const gridEvents: VxeGridListeners = {
@@ -110,15 +117,18 @@ const gridEvents: VxeGridListeners = {
checkboxChange: (e) => {
selectedRoles.value = e.records;
},
+ sortChange: () => {
+ gridApi.query();
+ },
};
-const [Grid, { query }] = useVbenVxeGrid({
+const [Grid, gridApi] = useVbenVxeGrid({
formOptions,
gridEvents,
gridOptions,
});
function onRefresh() {
- nextTick(query);
+ nextTick(gridApi.query);
}
diff --git a/apps/vben5/packages/@abp/identity/src/components/roles/RoleTable.vue b/apps/vben5/packages/@abp/identity/src/components/roles/RoleTable.vue
index b64758168..85aad1ba7 100644
--- a/apps/vben5/packages/@abp/identity/src/components/roles/RoleTable.vue
+++ b/apps/vben5/packages/@abp/identity/src/components/roles/RoleTable.vue
@@ -37,7 +37,6 @@ const MenuOutlined = createIconifyIcon('heroicons-outline:menu-alt-3');
const ClaimOutlined = createIconifyIcon('la:id-card-solid');
const PermissionsOutlined = createIconifyIcon('icon-park-outline:permissions');
const AuditLogIcon = createIconifyIcon('fluent-mdl2:compliance-audit');
-const ProtectedIcon = createIconifyIcon('mdi:protected-outline');
const RoleModal = defineAsyncComponent(() => import('./RoleModal.vue'));
const ClaimModal = defineAsyncComponent(() => import('./RoleClaimModal.vue'));
@@ -88,6 +87,7 @@ const gridOptions: VxeGridProps = {
align: 'left',
field: 'name',
slots: { default: 'name' },
+ sortable: true,
title: $t('AbpIdentity.DisplayName:RoleName'),
},
{
@@ -102,8 +102,10 @@ const gridOptions: VxeGridProps = {
keepSource: true,
proxyConfig: {
ajax: {
- query: async ({ page }, formValues) => {
+ query: async ({ page, sort }, formValues) => {
+ const sorting = sort.order ? `${sort.field} ${sort.order}` : undefined;
return await getPagedListApi({
+ sorting,
maxResultCount: page.pageSize,
skipCount: (page.currentPage - 1) * page.pageSize,
...formValues,
@@ -118,19 +120,23 @@ const gridOptions: VxeGridProps = {
toolbarConfig: {
custom: true,
export: true,
- // import: true,
- refresh: true,
+ refresh: {
+ code: 'query',
+ },
zoom: true,
},
};
const gridEvents: VxeGridListeners = {
cellClick: () => {},
+ sortChange: () => {
+ gridApi.query();
+ },
};
const [RoleEditModal, roleModalApi] = useVbenModal({
connectedComponent: RoleModal,
});
-const [Grid, { query }] = useVbenVxeGrid({
+const [Grid, gridApi] = useVbenVxeGrid({
formOptions,
gridEvents,
gridOptions,
@@ -156,7 +162,7 @@ const handleDelete = (row: IdentityRoleDto) => {
onOk: async () => {
await deleteApi(row.id);
message.success($t('AbpUi.DeletedSuccessfully'));
- query();
+ gridApi.query();
},
title: $t('AbpUi.AreYouSure'),
});
@@ -291,7 +297,7 @@ function onPermissionChange(_name: string, key: string) {
>
{{ $t('AbpAuditLogging.EntitiesChanged') }}
-