[] => [
{
@@ -87,9 +88,9 @@
await timesheet_approval_api.getPayPeriodOverviewByDate(date_string);
}
- const onClickedDetails = async (email: string) => {
+ const onClickedDetails = async (email: string, name: string) => {
+ clicked_employee_name.value = name;
is_showing_details.value = true;
- console.log('employee email is: ', email);
await timesheet_approval_api.getTimesheetsByPayPeriodAndEmail(email);
}
@@ -99,7 +100,6 @@
const approvals = timesheet_store.pay_period_overview_employees.map(emp => [emp.email, emp.is_approved]);
original_approvals.value = Object.fromEntries(approvals);
- console.log(timesheet_store.pay_period_overview_employees);
})
@@ -108,10 +108,12 @@
v-model="is_showing_details"
transition-show="scale"
transition-hide="jump-down"
- >
+ >
@@ -158,7 +160,7 @@
:cols="props.cols"
:row="props.row"
:initial-state="props.row.is_approved"
- @click-details="onClickedDetails"
+ @click-details="email => onClickedDetails(email, props.row.employee_name)"
/>
diff --git a/src/modules/timesheet-approval/pages/timesheet-approval.vue b/src/modules/timesheet-approval/pages/timesheet-approval.vue
index 2248538..391bc69 100644
--- a/src/modules/timesheet-approval/pages/timesheet-approval.vue
+++ b/src/modules/timesheet-approval/pages/timesheet-approval.vue
@@ -18,6 +18,13 @@
const start_date = new Intl.DateTimeFormat(locale.value, date_options).format(date.extractDate(dates[0] as string, 'YYYY-MM-DD'));
const end_date = new Intl.DateTimeFormat(locale.value, date_options).format(date.extractDate(dates[1] as string, 'YYYY-MM-DD'));
+ if ( dates.length === 1 ) {
+ return {
+ start_date: '—',
+ end_date: '—'
+ }
+ }
+
return { start_date, end_date };
});
diff --git a/src/modules/timesheet-approval/types/timesheet-approval-pay-period-employee-details-interface.ts b/src/modules/timesheet-approval/types/timesheet-approval-pay-period-employee-details-interface.ts
index bc0d774..ab04ad0 100644
--- a/src/modules/timesheet-approval/types/timesheet-approval-pay-period-employee-details-interface.ts
+++ b/src/modules/timesheet-approval/types/timesheet-approval-pay-period-employee-details-interface.ts
@@ -1,7 +1,7 @@
import type { TimesheetDetailsWeek } from "src/modules/timesheets/types/timesheet-details-interface";
export interface PayPeriodEmployeeDetails {
- is_approved: boolean;
+ // is_approved: boolean;
week1: TimesheetDetailsWeek;
week2: TimesheetDetailsWeek;
};
\ No newline at end of file
diff --git a/src/modules/timesheets/types/timesheet-shift-interface.ts b/src/modules/timesheets/types/timesheet-shift-interface.ts
index 6d9baea..474b532 100644
--- a/src/modules/timesheets/types/timesheet-shift-interface.ts
+++ b/src/modules/timesheets/types/timesheet-shift-interface.ts
@@ -1,5 +1,5 @@
export interface Shift {
is_approved: boolean;
- start_time: string;
- end_time: string;
+ start: string;
+ end: string;
}
\ No newline at end of file
diff --git a/src/stores/timesheet-store.ts b/src/stores/timesheet-store.ts
index ce0861d..932000e 100644
--- a/src/stores/timesheet-store.ts
+++ b/src/stores/timesheet-store.ts
@@ -31,6 +31,8 @@ export const useTimesheetStore = defineStore('timesheet', () => {
return true;
} catch(error){
console.error('Could not get current pay period: ', error );
+ current_pay_period.value = default_pay_period;
+ pay_period_overview_employees.value = [];
//TODO: More in-depth error-handling here
}
@@ -50,6 +52,8 @@ export const useTimesheetStore = defineStore('timesheet', () => {
return true;
} catch(error){
console.error('Could not get current pay period: ', error );
+ current_pay_period.value = default_pay_period;
+ pay_period_overview_employees.value = [];
//TODO: More in-depth error-handling here
}
@@ -87,7 +91,6 @@ export const useTimesheetStore = defineStore('timesheet', () => {
employee_email
);
pay_period_employee_details.value = response;
-
} catch (error) {
console.error('There was an error retrieving timesheet details for this employee: ', error);
pay_period_employee_details.value = MOCK_DATA_TIMESHEET_DETAILS;
@@ -115,11 +118,11 @@ const MOCK_DATA_TIMESHEET_DETAILS = {
is_approved: true,
shifts: {
sun: [],
- mon: [ { is_approved: true, start_time: '08:00', end_time: '12:00' }, { is_approved: true, start_time: '13:00', end_time: '17:00' } ],
- tue: [ { is_approved: true, start_time: '08:00', end_time: '11:45' }, { is_approved: true, start_time: '12:45', end_time: '17:00' } ],
- wed: [ { is_approved: true, start_time: '08:00', end_time: '12:00' }, { is_approved: true, start_time: '13:00', end_time: '17:00' } ],
- thu: [ { is_approved: false, start_time: '13:00', end_time: '17:00' } ],
- fri: [ { is_approved: true, start_time: '08:00', end_time: '12:00' }, { is_approved: true, start_time: '13:00', end_time: '17:00' } ],
+ mon: [ { is_approved: true, start: '08:00', end: '12:00' }, { is_approved: true, start: '13:00', end: '17:00' } ],
+ tue: [ { is_approved: true, start: '08:00', end: '11:45' }, { is_approved: true, start: '12:45', end: '17:00' } ],
+ wed: [ { is_approved: true, start: '08:00', end: '12:00' }, { is_approved: true, start: '13:00', end: '17:00' } ],
+ thu: [ { is_approved: false, start: '13:00', end: '17:00' } ],
+ fri: [ { is_approved: true, start: '08:00', end: '12:00' }, { is_approved: true, start: '13:00', end: '17:00' } ],
sat: []
},
expenses: {