diff --git a/src/modules/timesheet-approval/components/overview-list-item.vue b/src/modules/timesheet-approval/components/overview-list-item.vue
index 5e9201b..40eb0e3 100644
--- a/src/modules/timesheet-approval/components/overview-list-item.vue
+++ b/src/modules/timesheet-approval/components/overview-list-item.vue
@@ -154,7 +154,6 @@ import { getHoursMinutesStringFromHoursFloat, getMinutes } from 'src/utils/date-
>
{{ 'Total : ' + Math.floor(row.total_hours)
}}
diff --git a/src/modules/timesheet-approval/components/overview-list.vue b/src/modules/timesheet-approval/components/overview-list.vue
index 864e7ae..b593d34 100644
--- a/src/modules/timesheet-approval/components/overview-list.vue
+++ b/src/modules/timesheet-approval/components/overview-list.vue
@@ -35,6 +35,10 @@
'is_approved',
]);
+ const { maxHeight } = defineProps<{
+ maxHeight: number;
+ }>();
+
const is_showing_filters = ref(false);
const search_string = ref('');
@@ -80,211 +84,213 @@
-
+
-
-
-
-
-
-
-
-
-
+
onClickedDetails(row)"
+ >
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t(col.label) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ props.value }}
-
-
- {{ props.row.employee_last_name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t(col.label) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ props.value }}
+
+
+ {{ props.row.employee_last_name }}
+
+
+
+
+ {{ TIME_COLUMNS.includes(props.col.name) ?
+ getHoursMinutesStringFromHoursFloat(props.value) : props.value }}
+
+
+
-
- {{ TIME_COLUMNS.includes(props.col.name) ?
- getHoursMinutesStringFromHoursFloat(props.value) : props.value }}
-
-
-
-
-
-
-
-
- onClickApproveAll(props.row.email, is_approved)"
- />
-
-
-
-
-
-
+
+ onClickApproveAll(props.row.email, is_approved)"
/>
+
-
- {{ message }}
-
-
-
-
+
+
+
+
+
+
+ {{ message }}
+
+
+
+
@@ -305,4 +311,7 @@
tbody
scroll-margin-top: 48px
+
+.q-table__grid-content
+ overflow: auto
\ No newline at end of file
diff --git a/src/modules/timesheet-approval/components/overview-report.vue b/src/modules/timesheet-approval/components/overview-report.vue
index 32fda13..eda4698 100644
--- a/src/modules/timesheet-approval/components/overview-report.vue
+++ b/src/modules/timesheet-approval/components/overview-report.vue
@@ -1,143 +1,163 @@
-
-
-
-
{{ $t('timesheet_approvals.print_report.title') }}
+
+
+
+ {{ $t('timesheet_approvals.print_report.title') }}
-
-
-
- {{ $t('timesheet_approvals.print_report.company') }}
-
-
-
-
-
-
- {{ $t('timesheet_approvals.print_report.options') }}
-
-
-
-
-
-
-
+
+
+
+
+ {{ $t('timesheet_approvals.print_report.description') }}
+
+
+
+
+ {{ $t('timesheet_approvals.print_report.company') }}
+
+
+
+
+
+
+
+ {{ $t('timesheet_approvals.print_report.options') }}
+
+
+
+
+
+
+
diff --git a/src/pages/employee-list-page.vue b/src/pages/employee-list-page.vue
index 972c358..de0e132 100644
--- a/src/pages/employee-list-page.vue
+++ b/src/pages/employee-list-page.vue
@@ -17,7 +17,7 @@
-
+
diff --git a/src/pages/timesheet-approval-page.vue b/src/pages/timesheet-approval-page.vue
index 72a6def..c73f361 100644
--- a/src/pages/timesheet-approval-page.vue
+++ b/src/pages/timesheet-approval-page.vue
@@ -9,13 +9,27 @@
import OverviewReport from 'src/modules/timesheet-approval/components/overview-report.vue';
import { date } from 'quasar';
- import { onMounted } from 'vue';
+ import { computed, onMounted, ref } from 'vue';
import { useTimesheetApprovalApi } from 'src/modules/timesheet-approval/composables/use-timesheet-approval-api';
import { useTimesheetStore } from 'src/stores/timesheet-store';
const timesheet_approval_api = useTimesheetApprovalApi();
const timesheet_store = useTimesheetStore();
+ const page_height = ref(0);
+ const headerComponent = ref(null);
+
+ const table_max_height = computed(() => {
+ const height = page_height.value - (headerComponent.value?.clientHeight ?? 0) - 20;
+ console.log('offset height of header: ', headerComponent.value?.clientHeight);
+ console.log('height calculated: ', height);
+ return height;
+ });
+
+ const tableStyleFunction = (offset: number, height: number) => {
+ page_height.value = height - offset;
+ };
+
onMounted(async () => {
await timesheet_approval_api.getTimesheetOverviewsByDate(date.formatDate(new Date(), 'YYYY-MM-DD'));
});
@@ -23,16 +37,9 @@
-
-
-
+
\ No newline at end of file
diff --git a/src/router/router-constants.ts b/src/router/router-constants.ts
index f946e0e..2f1bc70 100644
--- a/src/router/router-constants.ts
+++ b/src/router/router-constants.ts
@@ -1,12 +1,11 @@
export enum RouteNames {
LOGIN = 'login',
LOGIN_SUCCESS = 'login-success',
- DASHBOARD = 'dashboard',
- TIMESHEET_APPROVALS = 'timesheets_approval',
- EMPLOYEE_LIST = 'employee_list',
- EMPLOYEE_MANAGEMENT = 'employee_management',
- PROFILE = 'personal_profile',
- TIMESHEET = 'timesheets',
+ DASHBOARD = '/',
+ TIMESHEET_APPROVALS = 'timesheet-approvals',
+ EMPLOYEE_LIST = 'employees',
+ PROFILE = 'profile',
+ TIMESHEET = 'timesheet',
HELP = 'help',
ERROR = 'error',
diff --git a/src/router/routes.ts b/src/router/routes.ts
index 26c2bd7..5cc7111 100644
--- a/src/router/routes.ts
+++ b/src/router/routes.ts
@@ -33,7 +33,7 @@ const routes: RouteRecordRaw[] = [
meta: { required_module: ModuleNames.TIMESHEETS },
},
{
- path: 'user/profile',
+ path: 'profile',
name: RouteNames.PROFILE,
component: () => import('src/pages/profile-page.vue'),
meta: { required_module: ModuleNames.PERSONAL_PROFILE },
diff --git a/src/stores/ui-store.ts b/src/stores/ui-store.ts
index e4adde1..0657148 100644
--- a/src/stores/ui-store.ts
+++ b/src/stores/ui-store.ts
@@ -4,6 +4,7 @@ import { computed, ref } from 'vue';
import { LocalStorage, useQuasar, Dark } from 'quasar';
import { Preferences } from 'src/modules/profile/models/preferences.models';
import { ProfileService } from 'src/modules/profile/services/profile-service';
+import { RouteNames } from 'src/router/router-constants';
export const useUiStore = defineStore('ui', () => {
@@ -13,6 +14,7 @@ export const useUiStore = defineStore('ui', () => {
const focus_next_component = ref(false);
const is_mobile_mode = computed(() => q.screen.lt.md);
const user_preferences = ref(new Preferences);
+ const current_page = ref(RouteNames.DASHBOARD);
const toggleRightDrawer = () => {
@@ -69,6 +71,7 @@ export const useUiStore = defineStore('ui', () => {
}
return {
+ current_page,
is_mobile_mode,
focus_next_component,
is_left_drawer_open,