diff --git a/ui/src/views/system/role/component/Member.vue b/ui/src/views/system/role/component/Member.vue index 64e47e21..f07577b5 100644 --- a/ui/src/views/system/role/component/Member.vue +++ b/ui/src/views/system/role/component/Member.vue @@ -29,12 +29,13 @@ @@ -135,6 +136,23 @@ watch( }, ) +const objectSpanMethod = ({ row, column, rowIndex, columnIndex }: any) => { + if (column.property === 'nick_name' || column.property === 'username') { + const sameUserRows = tableData.value.filter(item => item.user_id === row.user_id); + if (rowIndex === tableData.value.findIndex(item => item.user_id === row.user_id)) { + return { + rowspan: sameUserRows.length, + colspan: 1 + }; + } else { + return { + rowspan: 0, + colspan: 0 + }; + } + } +}; + const addMemberDrawerRef = ref>() function handleAdd() { @@ -158,3 +176,9 @@ function handleDelete(row: RoleMemberItem) { .catch(() => {}) } + + \ No newline at end of file diff --git a/ui/src/views/system/role/component/MemberFormContent.vue b/ui/src/views/system/role/component/MemberFormContent.vue index f408eb0a..c1bff352 100644 --- a/ui/src/views/system/role/component/MemberFormContent.vue +++ b/ui/src/views/system/role/component/MemberFormContent.vue @@ -12,7 +12,7 @@ - @@ -38,6 +38,7 @@ import type { FormItemModel } from '@/api/type/role' const props = defineProps<{ models: FormItemModel[]; addText?: string; + keepOneLine?: boolean; // 至少保留一行 }>() const formRef = ref() diff --git a/ui/src/views/system/user-manage/component/UserDrawer.vue b/ui/src/views/system/user-manage/component/UserDrawer.vue index e3831807..8cd1146d 100644 --- a/ui/src/views/system/user-manage/component/UserDrawer.vue +++ b/ui/src/views/system/user-manage/component/UserDrawer.vue @@ -57,6 +57,7 @@ {{ $t('views.userManage.roleSetting') }}