layar baru antrean klinik dan masuk

This commit is contained in:
Fanrouver
2026-01-08 12:44:40 +07:00
parent 96b10b9e75
commit 2d3d589fe6
18 changed files with 3253 additions and 69 deletions

No files matched your search

+12 -15
View File
@@ -1464,27 +1464,24 @@ const saveItem = async () => {
return;
}
// If hakAksesMenu is empty or not fetched yet, fetch from backend
const needsFetch = !editedItem.value.hakAksesMenu ||
editedItem.value.hakAksesMenu.length === 0 ||
!editedItem.value.hakAksesMenu.some(m => m.canAccess || m.canView || m.canAdd || m.canEdit || m.canDelete);
// Check if permissions have been fetched from backend
// If not, show warning and ask user to fetch first
const hasFetchedPermissions = fetchedBackendData.value.length > 0 ||
(editedItem.value.hakAksesMenu &&
editedItem.value.hakAksesMenu.length > 0 &&
editedItem.value.hakAksesMenu.some(m => m.canAccess || m.canView || m.canAdd || m.canEdit || m.canDelete));
if (needsFetch) {
if (!hasFetchedPermissions) {
snackbar.value = {
show: true,
message: 'Mengambil permissions dari backend...',
color: 'info',
timeout: 2000,
message: 'Silakan klik tombol "Ambil Data dari Backend API" terlebih dahulu untuk mengambil permissions!',
color: 'warning',
timeout: 5000,
};
// Fetch permissions from backend before saving
await fetchPermissionsFromBackend();
// Wait a bit for the fetch to complete
await new Promise(resolve => setTimeout(resolve, 500));
return;
}
// Ensure hakAksesMenu exists
// Ensure hakAksesMenu exists (fallback to empty template if somehow missing)
if (!editedItem.value.hakAksesMenu || editedItem.value.hakAksesMenu.length === 0) {
editedItem.value.hakAksesMenu = buildMenuTemplate(navItemsStore.navItems);
}