You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
2.9 KiB
TypeScript
129 lines
2.9 KiB
TypeScript
import { Component, OnInit } from '@angular/core';
|
|
import { ModalController, NavParams } from '@ionic/angular';
|
|
import { CommonService } from 'src/app/hmg-common/services/common/common.service';
|
|
import { TimeCardService } from 'src/app/time-card/service/time-card.service';
|
|
|
|
@Component({
|
|
selector: 'app-select-period',
|
|
templateUrl: './select-period.component.html',
|
|
styleUrls: ['./select-period.component.scss'],
|
|
})
|
|
export class SelectPeriodComponent implements OnInit {
|
|
public shiftTypesArray: any = [];
|
|
public dateFrom: any;
|
|
public dateTo: any;
|
|
public selectedShiftType: any;
|
|
|
|
public filtersArray: any = [
|
|
{
|
|
name: 'Excess',
|
|
active: false,
|
|
key: 'P_EXCESS_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Timeback',
|
|
active: false,
|
|
key: 'P_TIMEBACK_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Comp Off',
|
|
active: false,
|
|
key: 'P_COMP_OFF_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Non scheduled',
|
|
active: false,
|
|
key: 'P_NON_SCHEDULED_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Late In',
|
|
active: false,
|
|
key: 'P_LATE_IN_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Early Out',
|
|
active: false,
|
|
key: 'P_EARLY_OUT_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Shortage',
|
|
active: false,
|
|
key: 'P_SHORTAGE_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Missing Swipe',
|
|
active: false,
|
|
key: 'P_MISSING_SWIPE_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Work On Break',
|
|
active: false,
|
|
key: 'P_ACTUAL_WOB_SEC',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Analyzed',
|
|
active: false,
|
|
key: 'P_ANALAYZED_FLAG',
|
|
value: ''
|
|
},
|
|
{
|
|
name: 'Approved Timeback',
|
|
active: false,
|
|
key: 'P_APPR_TIMEBACK_FLAG',
|
|
value: ''
|
|
},
|
|
];
|
|
constructor(
|
|
public modalController: ModalController,
|
|
public common: CommonService,
|
|
public timeCardService: TimeCardService,
|
|
public navParams: NavParams) { }
|
|
|
|
ngOnInit() {
|
|
this.getShiftTypes();
|
|
this.dateFrom = this.navParams.get('dateFrom');
|
|
this.dateTo = this.navParams.get('dateTo');
|
|
}
|
|
|
|
public dismissModal() {
|
|
const selectedFilters: any = {};
|
|
for (const filter of this.filtersArray) {
|
|
selectedFilters[filter.key] = filter;
|
|
}
|
|
this.modalController.dismiss({
|
|
dismissed: true,
|
|
keySelectedFilters: selectedFilters,
|
|
selectedShiftType: this.selectedShiftType,
|
|
dateFrom: this.dateFrom,
|
|
dateTo: this.dateTo
|
|
});
|
|
}
|
|
|
|
public changeFiltersSelection(i: any) {
|
|
this.filtersArray[i].active = !this.filtersArray[i].active;
|
|
if (this.filtersArray[i].active) {
|
|
this.filtersArray[i].value = 'Y';
|
|
} else {
|
|
this.filtersArray[i].value = '';
|
|
}
|
|
}
|
|
|
|
public getShiftTypes() {
|
|
this.timeCardService.getShiftType().subscribe((result) => {
|
|
if (this.common.validResponse(result)) {
|
|
this.shiftTypesArray = result.GetShiftTypesList;
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|