From 3825ac316bb5b01d5ee0af5b1fb58b13c16b4738 Mon Sep 17 00:00:00 2001 From: Yusron alamsyah Date: Wed, 15 Apr 2026 08:00:31 +0700 Subject: [PATCH] add slug role --- components/apps/setting/permission/RoleList.vue | 13 ++++++++++--- components/apps/setting/permission/RoleModal.vue | 16 ++++++++++++++++ redirect.html | 2 +- types/setting/roleMaster.ts | 1 + 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/components/apps/setting/permission/RoleList.vue b/components/apps/setting/permission/RoleList.vue index f58d4f0..ecfe8b2 100644 --- a/components/apps/setting/permission/RoleList.vue +++ b/components/apps/setting/permission/RoleList.vue @@ -27,10 +27,17 @@ const handleAssignPermission = (role: RoleMaster) => emit('assign-permission', r
-
-
{{ role.name }}
+
+
{{ role.name }}
+
+
+

{{ role.slug }}

+ +
+ mdi-calendar + {{ formatDateTime(role.created_at) }} +
-

{{ formatDateTime(role.created_at) }}

diff --git a/components/apps/setting/permission/RoleModal.vue b/components/apps/setting/permission/RoleModal.vue index ae04170..10f2919 100644 --- a/components/apps/setting/permission/RoleModal.vue +++ b/components/apps/setting/permission/RoleModal.vue @@ -46,6 +46,7 @@ const isSaving = ref(false); const isLoadingDetail = ref(false); const name = ref(''); +const slug = ref(''); const active = ref(true); const isDetailMode = computed(() => props.mode === 'detail'); @@ -63,6 +64,7 @@ const submitLabel = computed(() => (isEditMode.value ? 'Update' : 'Save')); const resetForm = () => { name.value = ''; + slug.value = ''; active.value = true; valid.value = false; formRef.value?.resetValidation?.(); @@ -84,6 +86,7 @@ const fetchRoleDetail = async () => { if (!data) throw new Error('Data role tidak ditemukan'); name.value = data.name ?? ''; + slug.value = data.slug ?? ''; active.value = typeof data.active === 'boolean' ? data.active : true; } catch (error: any) { const message = error?.response?.data?.message || error?.message || 'Gagal memuat detail role'; @@ -130,6 +133,7 @@ const save = () => { const payload: Record = { name: name.value, + slug: slug.value, active: active.value, }; @@ -182,6 +186,18 @@ const save = () => { />
+
+ + +
+
diff --git a/redirect.html b/redirect.html index 9dd570f..7779ae4 100644 --- a/redirect.html +++ b/redirect.html @@ -1,5 +1,5 @@ diff --git a/types/setting/roleMaster.ts b/types/setting/roleMaster.ts index 64678d2..6c24f15 100644 --- a/types/setting/roleMaster.ts +++ b/types/setting/roleMaster.ts @@ -8,6 +8,7 @@ export interface PaginationMeta { export interface RoleMaster { id: number; name: string; + slug: string; active: boolean; created_at: string | null; updated_at: string | null;