From 27338e6b7326e8c8cf8fcbdfcdf9b3ec697d40fd Mon Sep 17 00:00:00 2001 From: umasoodch Date: Sun, 28 Nov 2021 10:09:56 +0300 Subject: [PATCH] ADDED SIT --- .../services-button.component.html | 2 +- Mohem/src/app/home/home.page.ts | 2 +- .../sit/add-attach/add-attach.component.html | 77 + .../sit/add-attach/add-attach.component.scss | 19 + .../add-attach/add-attach.component.spec.ts | 27 + .../sit/add-attach/add-attach.component.ts | 172 ++ .../app/sit/add-eit/add-eit.component.html | 42 + .../app/sit/add-eit/add-eit.component.scss | 40 + .../app/sit/add-eit/add-eit.component.spec.ts | 27 + .../src/app/sit/add-eit/add-eit.component.ts | 1609 +++++++++++++++++ .../confirm-add-eit.component.html | 267 +++ .../confirm-add-eit.component.scss | 262 +++ .../confirm-add-eit.component.spec.ts | 27 + .../confirm-add-eit.component.ts | 568 ++++++ .../app/sit/eit-list/eit-list.component.html | 259 +++ .../app/sit/eit-list/eit-list.component.scss | 334 ++++ .../sit/eit-list/eit-list.component.spec.ts | 27 + .../app/sit/eit-list/eit-list.component.ts | 609 +++++++ .../eit-update-list.component.html | 61 + .../eit-update-list.component.scss | 17 + .../eit-update-list.component.spec.ts | 27 + .../eit-update-list.component.ts | 135 ++ Mohem/src/app/sit/eit.module.ts | 81 + Mohem/src/app/sit/eit.page.html | 3 + Mohem/src/app/sit/eit.page.scss | 0 Mohem/src/app/sit/eit.page.spec.ts | 27 + Mohem/src/app/sit/eit.page.ts | 15 + Mohem/src/app/sit/home/home.component.html | 87 + Mohem/src/app/sit/home/home.component.scss | 95 + Mohem/src/app/sit/home/home.component.spec.ts | 27 + Mohem/src/app/sit/home/home.component.ts | 73 + .../sit/models/EITNotificationBodyItems.ts | 18 + .../app/sit/models/EITNotificationBodyRes.ts | 8 + .../src/app/sit/models/EITTransactionsReq.ts | 13 + .../app/sit/models/NotificationButtonReq.ts | 6 + .../sit/models/NotificationGetAttachRes.ts | 21 + Mohem/src/app/sit/models/add.eit.response.ts | 8 + .../src/app/sit/models/eit-address.request.ts | 15 + Mohem/src/app/sit/models/eit.request.ts | 12 + .../src/app/sit/models/eit.response.model.ts | 6 + .../app/sit/models/eit.transaction.model.ts | 7 + Mohem/src/app/sit/models/submit.eit.action.ts | 6 + .../src/app/sit/services/eit.service.spec.ts | 12 + Mohem/src/app/sit/services/eit.service.ts | 134 ++ .../submit-eit-modal.component.html | 39 + .../submit-eit-modal.component.scss | 53 + .../submit-eit-modal.component.spec.ts | 27 + .../submit-eit-modal.component.ts | 36 + 48 files changed, 5437 insertions(+), 2 deletions(-) create mode 100644 Mohem/src/app/sit/add-attach/add-attach.component.html create mode 100644 Mohem/src/app/sit/add-attach/add-attach.component.scss create mode 100644 Mohem/src/app/sit/add-attach/add-attach.component.spec.ts create mode 100644 Mohem/src/app/sit/add-attach/add-attach.component.ts create mode 100644 Mohem/src/app/sit/add-eit/add-eit.component.html create mode 100644 Mohem/src/app/sit/add-eit/add-eit.component.scss create mode 100644 Mohem/src/app/sit/add-eit/add-eit.component.spec.ts create mode 100644 Mohem/src/app/sit/add-eit/add-eit.component.ts create mode 100644 Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.html create mode 100644 Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.scss create mode 100644 Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.spec.ts create mode 100644 Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.ts create mode 100644 Mohem/src/app/sit/eit-list/eit-list.component.html create mode 100644 Mohem/src/app/sit/eit-list/eit-list.component.scss create mode 100644 Mohem/src/app/sit/eit-list/eit-list.component.spec.ts create mode 100644 Mohem/src/app/sit/eit-list/eit-list.component.ts create mode 100644 Mohem/src/app/sit/eit-update-list/eit-update-list.component.html create mode 100644 Mohem/src/app/sit/eit-update-list/eit-update-list.component.scss create mode 100644 Mohem/src/app/sit/eit-update-list/eit-update-list.component.spec.ts create mode 100644 Mohem/src/app/sit/eit-update-list/eit-update-list.component.ts create mode 100644 Mohem/src/app/sit/eit.module.ts create mode 100644 Mohem/src/app/sit/eit.page.html create mode 100644 Mohem/src/app/sit/eit.page.scss create mode 100644 Mohem/src/app/sit/eit.page.spec.ts create mode 100644 Mohem/src/app/sit/eit.page.ts create mode 100644 Mohem/src/app/sit/home/home.component.html create mode 100644 Mohem/src/app/sit/home/home.component.scss create mode 100644 Mohem/src/app/sit/home/home.component.spec.ts create mode 100644 Mohem/src/app/sit/home/home.component.ts create mode 100644 Mohem/src/app/sit/models/EITNotificationBodyItems.ts create mode 100644 Mohem/src/app/sit/models/EITNotificationBodyRes.ts create mode 100644 Mohem/src/app/sit/models/EITTransactionsReq.ts create mode 100644 Mohem/src/app/sit/models/NotificationButtonReq.ts create mode 100644 Mohem/src/app/sit/models/NotificationGetAttachRes.ts create mode 100644 Mohem/src/app/sit/models/add.eit.response.ts create mode 100644 Mohem/src/app/sit/models/eit-address.request.ts create mode 100644 Mohem/src/app/sit/models/eit.request.ts create mode 100644 Mohem/src/app/sit/models/eit.response.model.ts create mode 100644 Mohem/src/app/sit/models/eit.transaction.model.ts create mode 100644 Mohem/src/app/sit/models/submit.eit.action.ts create mode 100644 Mohem/src/app/sit/services/eit.service.spec.ts create mode 100644 Mohem/src/app/sit/services/eit.service.ts create mode 100644 Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.html create mode 100644 Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.scss create mode 100644 Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.spec.ts create mode 100644 Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.ts diff --git a/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html index 520f590d..0fa0da32 100644 --- a/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html +++ b/Mohem/src/app/hmg-common/ui/services-button/services-button.component.html @@ -1,4 +1,4 @@ -
+
diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 8a0a8063..521cb967 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -697,7 +697,7 @@ export class HomePage implements OnInit { this.common.sharedService.setSharedData(selMenu, MenuResponse.SHARED_DATA); if (subMenu.REQUEST_TYPE === 'ABSENCE') { this.common.openAbsencePage(); - } else if (subMenu.REQUEST_TYPE === 'EIT') { + } else if (subMenu.REQUEST_TYPE === 'SIT') { this.common.openEitListPage(); } else if (subMenu.REQUEST_TYPE === 'PAYSLIP') { this.common.openPayslipPage(); diff --git a/Mohem/src/app/sit/add-attach/add-attach.component.html b/Mohem/src/app/sit/add-attach/add-attach.component.html new file mode 100644 index 00000000..6bd3f873 --- /dev/null +++ b/Mohem/src/app/sit/add-attach/add-attach.component.html @@ -0,0 +1,77 @@ + + + + {{'general, addAttach' | translate}} + + + + + + + + + + + + + + + + + + +
{{'general, addAttach' | translate}}
+
+ +
+
+
+
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + {{'general, ok' | translate}} +
+
\ No newline at end of file diff --git a/Mohem/src/app/sit/add-attach/add-attach.component.scss b/Mohem/src/app/sit/add-attach/add-attach.component.scss new file mode 100644 index 00000000..e6ced223 --- /dev/null +++ b/Mohem/src/app/sit/add-attach/add-attach.component.scss @@ -0,0 +1,19 @@ +.inputfile { + width: 0.1px; + height: 0.1px; + opacity: 0; + overflow: hidden; + position: absolute; + width: 40px; + height: 40px; + // z-index: -1; +} + +.imgSize { + width: 22px; + height: 22px; +} +.Header { + font-weight: bold; + color: #1a586d; +} diff --git a/Mohem/src/app/sit/add-attach/add-attach.component.spec.ts b/Mohem/src/app/sit/add-attach/add-attach.component.spec.ts new file mode 100644 index 00000000..d0646cb7 --- /dev/null +++ b/Mohem/src/app/sit/add-attach/add-attach.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddAttachComponent } from './add-attach.component'; + +describe('AddAttachComponent', () => { + let component: AddAttachComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AddAttachComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AddAttachComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/add-attach/add-attach.component.ts b/Mohem/src/app/sit/add-attach/add-attach.component.ts new file mode 100644 index 00000000..b692cf45 --- /dev/null +++ b/Mohem/src/app/sit/add-attach/add-attach.component.ts @@ -0,0 +1,172 @@ +import { AddEitResponse } from './../models/add.eit.response'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { Component, OnInit } from '@angular/core'; +import { FileUploader } from 'ng2-file-upload'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { ModalController } from '@ionic/angular'; + + +@Component({ + selector: 'app-add-attach', + templateUrl: './add-attach.component.html', + styleUrls: ['./add-attach.component.scss'], +}) +export class AddAttachComponent implements OnInit { + + private eitResponse: any;//AddEitResponse=new AddEitResponse(); + isUpload: boolean = false; + inQueue: boolean = false; + addAttachmentListReq: any; + attachmentID: number = 0; + addAttachRequest: any = []; + fileData: any; + fileType: any; + index: any = 1; + dirPage: any; + TransactionID: any; + indexLastObj: any = 0; + filterAllowedType: any = ['application/pdf', 'image/jpeg', 'image/png', 'text/plain', 'image/jpg', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']; + + + constructor(public cs: CommonService, public ts: TranslatorService, public modalCtrl: ModalController) { + this.eitResponse = this.cs.sharedService.getSharedData(AddEitResponse.SHARED_DATA, false); + this.TransactionID = this.cs.sharedService.getSharedData('TransactionID', false); + this.indexLastObj = this.cs.sharedService.getSharedData('indexLastObj', false); + + // console.log("this.TransactionID : "+ this.TransactionID); + this.isUpload = false; + } + + ngOnInit() { } + + public uploader: FileUploader = new FileUploader({ + allowedMimeType: ['application/pdf', 'image/jpeg', 'image/png', 'text/plain', 'image/jpg', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'], + maxFileSize: 10 * 1024 * 1024, + formatDataFunctionIsAsync: true, + formatDataFunction: async (item) => { + return new Promise((resolve, reject) => { + resolve({ + name: item._file.name, + length: item._file.size, + contentType: item._file.type, + date: new Date() + }); + }); + } + }); + + public hasBaseDropZoneOver: boolean = false; + public hasAnotherDropZoneOver: boolean = false; + + public fileOverBase(e: any): void { + this.hasBaseDropZoneOver = e; + } + + public fileOverAnother(e: any): void { + this.hasAnotherDropZoneOver = e; + } + + OkBtnModal() { + let fileCount: number = this.uploader.queue.length; + if (fileCount > 0) { + let data: any = this.addAttachRequest; + // this.viewCtrl.dismiss(data); + + this.modalCtrl.dismiss(data); + + } + else { + let msg: string = ""; + msg = this.ts.trPK("general", "noFileSelect"); + this.cs.presentAlert(msg); + return; + } + } // end ok button + + closeBtnModal() { + // this.viewCtrl.dismiss("cancel"); + this.modalCtrl.dismiss("cancel"); + + } + + onFileSelected(input) { + + // this.uploader.onWhenAddingFileFailed = function (item: any, filter: any, options: any){ + + if (!(this.filterAllowedType.indexOf(input.target.files[0].type) > -1)) { + let msg: string = ""; + msg = this.ts.trPK("general", "notSupport"); + this.cs.presentAlert(msg); + return + } // todo: show alert that you tried uploading wrong files + + else { + + const file = input.target.files[0]; + + // console.log(file); + + //var encoded = Base64.encode(file); + this.getBase64(file).then( + data => this.pushObject(data, file.name, file.type) + ); + + // } + // }; + + } + } + + + getBase64(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => resolve(reader.result); + reader.onerror = error => reject(error); + }); + } + + + pushObject(fileData, name, type) { + + // console.log("before push: "+ this.index); + this.indexLastObj++; + try { + let array = name.split('.'); + let attachType: string = array[array.length - 1]; + + this.addAttachRequest.push( + { + AttachmentID: this.indexLastObj, + P_FILE_CONTENT_TYPE: attachType,//type.split('/')[1], + P_FILE_DATA: fileData.split(',')[1], + P_FILE_NAME: name,//.split('.')[0], + P_TRANSACTION_ID: this.TransactionID + }) + + } catch (e) { + + } + + + //console.log("after push: "+ this.index); + // return this.addAttachRequest + } + + + removeFile(objectitem) { + + let objIndex1 = this.uploader.queue.findIndex(item => item == objectitem); + this.uploader.queue.splice(objIndex1, 1); + let objIndex = this.addAttachRequest.findIndex(item => item.AttachmentID == objectitem.AttachmentID); + this.addAttachRequest.splice(objIndex, 1); + // this.addAttachRequest =this.addAttachRequest.filter(item => item.AttachmentID !== objectitem.AttachmentID); + + } + + + + + +} diff --git a/Mohem/src/app/sit/add-eit/add-eit.component.html b/Mohem/src/app/sit/add-eit/add-eit.component.html new file mode 100644 index 00000000..9b604048 --- /dev/null +++ b/Mohem/src/app/sit/add-eit/add-eit.component.html @@ -0,0 +1,42 @@ + + + + + + + + +
+
+
+ + +
+ + {{'vacation-rule, next-label' | translate}} +
+
\ No newline at end of file diff --git a/Mohem/src/app/sit/add-eit/add-eit.component.scss b/Mohem/src/app/sit/add-eit/add-eit.component.scss new file mode 100644 index 00000000..774a5de2 --- /dev/null +++ b/Mohem/src/app/sit/add-eit/add-eit.component.scss @@ -0,0 +1,40 @@ +.footer-button { + border-radius: 2px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; +} + +ion-label { + color: var(--customnavy) !important; +} + +.daynamicForm-Label { + font-size: 16px; + color: #a2a5a6 !important; + display: block; + overflow: hidden; + -webkit-flex: 1; + flex: 1; + font-size: inherit; + white-space: normal; + padding: 5px 0px; + margin: 10px auto; + padding-left: 10px; +} + + +.header-toolbar-new{ + --background: #29B5BF; +} +.addEitOkButton{ + white-space: normal !important; + text-transform: capitalize !important; + min-height: 45px !important; + min-width: 5px !important; + margin: 8px !important; + background-color: #29B5BF; + width: 80% !important; + color: white!important; + border-radius: 16px !important; +} \ No newline at end of file diff --git a/Mohem/src/app/sit/add-eit/add-eit.component.spec.ts b/Mohem/src/app/sit/add-eit/add-eit.component.spec.ts new file mode 100644 index 00000000..ef4cc2f3 --- /dev/null +++ b/Mohem/src/app/sit/add-eit/add-eit.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AddEitComponent } from './add-eit.component'; + +describe('AddEitComponent', () => { + let component: AddEitComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AddEitComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AddEitComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/add-eit/add-eit.component.ts b/Mohem/src/app/sit/add-eit/add-eit.component.ts new file mode 100644 index 00000000..ec51f51b --- /dev/null +++ b/Mohem/src/app/sit/add-eit/add-eit.component.ts @@ -0,0 +1,1609 @@ +import { CommonService } from "src/app/hmg-common/services/common/common.service"; +import { Component, OnInit, ViewChild, ElementRef } from "@angular/core"; +import { MenuEntry } from "src/app/hmg-common/services/menu/models/menu.entry"; +import { MenuResponse } from "src/app/hmg-common/services/menu/models/menu-response"; +import { EitRequest } from "../models/eit.request"; +import { ModalController } from "@ionic/angular"; +import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; +import { EITTransactionsRequest } from "../models/EITTransactionsReq"; +import { EitService } from "../services/eit.service"; +import { TextAreaInput } from "src/app/uI-elements/text-area.input"; +import { NumberInput } from "src/app/uI-elements/number.input"; +import { TextInput } from "src/app/uI-elements/text.input"; +import { SelectInput } from "src/app/uI-elements/select.input"; +import { DateInput } from "src/app/uI-elements/date.input"; +import { TimeInput } from "src/app/uI-elements/time.input"; +import { DateTimeInput } from "src/app/uI-elements/date-time.input"; +import { ButtonInput } from "src/app/uI-elements/button.input"; +import { HiddenInput } from "src/app/uI-elements/hidden.input"; +import * as moment from "moment"; +import { DatePicker } from "@ionic-native/date-picker/ngx"; +import { EIT_ACTION } from "../models/submit.eit.action"; +import { AddEitResponse } from "../models/add.eit.response"; +import { element } from '@angular/core/src/render3'; +// import { EITNotificatonBodyResponse } from 'src/app/notification/models/EITNotificationBodyRes'; +import { EITNotificatonBodyResponse } from "../models/EITNotificationBodyRes"; +@Component({ + selector: "app-add-eit", + templateUrl: "./add-eit.component.html", + styleUrls: ["./add-eit.component.scss"] +}) +export class AddEitComponent implements OnInit { + @ViewChild("containerDiv") containerDiv: ElementRef; + + ////*new add*///// + getPassNotificationDetails: any; + getPassdirfromNotifiPage: boolean = false; + functionName: string = ""; + menuType: any; + ///////////////// + + private textArea: TextAreaInput; + private numberInput: NumberInput; + private textInput: TextInput; + private selectInput: SelectInput; + private dateInput: DateInput; + private timeInput: TimeInput; + private datetimeInput: DateTimeInput; + private buttonInput: ButtonInput; + private hiddenInput: HiddenInput; + private eitResponse: any; + + private eitVALSettoCall: any = []; + private comtransNo: number = 0; + // private parentChilds: any[]; + getPassMnuEntryObj: MenuEntry; + selMenu: MenuResponse; + eitSubmitAction: number = 0; //not submit + private eitRequest: EitRequest; + private validateEitObj: any = []; + private ExtraObj: any = {}; + private arrValues: any = []; + selEmp: string; + respID: number; + headerTitle: string = ""; + isResubmit: boolean = false; + //private updatedNotObject:any=[]; + private updatedValues: any = []; + addEITData: any; + direction:string; + + constructor( + public modalController: ModalController, + public cs: CommonService, + private ts: TranslatorService, + private eitService: EitService, + public datePicker: DatePicker + ) { + this.direction = TranslatorService.getCurrentLanguageName(); + this.selEmp = this.cs.sharedService.getSharedData( + MenuResponse.SHARED_SEL_EMP, + false + ); + this.respID = this.cs.sharedService.getSharedData( + MenuResponse.SHARED_SEL_RESP_ID, + false + ); + this.selMenu = new MenuResponse(); + this.selMenu = this.cs.sharedService.getSharedData( + MenuResponse.SHARED_DATA, + false + ); + this.addEITData = this.cs.sharedService.getSharedData("AddEITData", false); + console.log("addEITData: " + this.addEITData); + console.log("dirfromNotificationPage: " + this.addEITData.dirfromNotificationPage); + + this.eitRequest = new EitRequest(); + + // this.buttonInput = new ButtonInput('btnSubmit', 'Submit', 'containerDiv', 'Y'); + + ////*new add*///// + /**********resubmit************ */ + this.getPassNotificationDetails = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.NOT_WORKLIST, false);//WARINING + this.getPassdirfromNotifiPage = this.addEITData.dirfromNotificationPage; + if (this.getPassdirfromNotifiPage) { + this.functionName = this.getPassNotificationDetails.FUNCTION_NAME; //;this.getPassNotificationDetails.NOTIFICATION_NAME; + this.menuType = "E"; + this.selEmp = this.getPassNotificationDetails.SELECTED_EMPLOYEE_NUMBER; + this.respID = -999; + this.validateEitObj = this.addEITData.submitEITObjList; + // this.eitSubmitAction=this.getPassNotificationDetails.EIT_ACTION; + let msg: string = ""; + msg = this.ts.trPK("eit", "update-title"); + this.headerTitle = msg; + } else { + this.getPassMnuEntryObj = this.selMenu.GetMenuEntriesList; + this.comtransNo = this.addEITData.transNo; + this.functionName = this.getPassMnuEntryObj.FUNCTION_NAME; + this.menuType = this.selMenu.List_Menu.MENU_TYPE; + this.validateEitObj = this.addEITData.submitEITObjList; + this.headerTitle = this.selMenu.GetMenuEntriesList.PROMPT; + this.eitSubmitAction = this.cs.sharedService.getSharedData( + EITTransactionsRequest.SUBMIT_EIT_ACTION + ); + } + } + + ngOnInit() {} + + ngAfterViewInit() { + console.log("ngAfterViewInit"); + // console.log(this.containerDiv.nativeElement); + this.getEitDffStructure(); + // this.addFieldToDOM(this.buttonInput, 'btnSubmit', this.cs.presentAlert('Clicked!'), true) + } + + private getEitDffStructure() { + const body = { + P_FUNCTION_NAME: this.functionName, + P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, + P_MENU_TYPE: this.menuType, + P_SELECTED_RESP_ID: this.respID + // P_USER_NAME:this.userName + }; + this.eitService.getEITDFFStrutre(body).subscribe((result: any) => { + this.handleEitDffStructureResult(result); + }); + } + + handleEitDffStructureResult(result) { + if (result.GetEITDFFStructureList != null) { + this.eitResponse = result.GetEITDFFStructureList; + this.drawEitFields(result.GetEITDFFStructureList); + } + } + + private drawEitFields(feildsList) { + const containerId = "containerDiv"; + this.eitVALSettoCall = []; + for (let i = 0; i < feildsList.length; i++) { + let defaultVal: string = ""; + let defaultValText: string = ""; + defaultVal = feildsList[i].E_SERVICES_DV.P_ID_COLUMN_NAME + ? feildsList[i].E_SERVICES_DV.P_ID_COLUMN_NAME + : ""; + defaultValText = feildsList[i].E_SERVICES_DV.P_VALUE_COLUMN_NAME + ? feildsList[i].E_SERVICES_DV.P_VALUE_COLUMN_NAME + : ""; + + if (feildsList[i].DISPLAY_FLAG != "N") { + //check if the field should be displayed + if (feildsList[i].VALIDATION_TYPE == "N") { + //text , date , time + if (feildsList[i].FORMAT_TYPE == "C") { + // character + // if(feildsList[i].DEFAULT_TYPE=="C"||feildsList[i].DEFAULT_TYPE==""){// default type constant + this.textInput = new TextInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + defaultVal, + containerId, + defaultValText, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG + ); + // }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){// profile/ sql + // this.textInput = new TextInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); + // } + } else if (feildsList[i].FORMAT_TYPE == "N") { + // number + // if(feildsList[i].DEFAULT_TYPE=="C"||feildsList[i].DEFAULT_TYPE==""){ + this.numberInput = new NumberInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + defaultVal, + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG + ); + // }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){ + // this.numberInput = new NumberInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); + // } + } else if (feildsList[i].FORMAT_TYPE == "X") { + // standard date + if ( + feildsList[i].DEFAULT_TYPE == "C" || + feildsList[i].DEFAULT_TYPE == "D" || + feildsList[i].DEFAULT_TYPE == "P" || + feildsList[i].DEFAULT_TYPE == "S" + ) { + //constant + this.dateInput = new DateInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + this.cs.reverseFormatDate(defaultVal), + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG, + this.direction + ); + } else { + this.dateInput = new DateInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + "", + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG, + this.direction + ); + } + // else if(feildsList[i].DEFAULT_TYPE=="D"){//current date + // // this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"currentDate",containerId,feildsList[i].MOBILE_ENABLED); + // this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,defaultVal,containerId,feildsList[i].MOBILE_ENABLED); + + // }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){// sql and profile + // this.dateInput = new DateInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); + // } + } else if (feildsList[i].FORMAT_TYPE == "Y") { + // standard date time + if ( + feildsList[i].DEFAULT_TYPE == "C" || + feildsList[i].DEFAULT_TYPE == "D" || + feildsList[i].DEFAULT_TYPE == "P" || + feildsList[i].DEFAULT_TYPE == "S" + ) { + this.datetimeInput = new DateTimeInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + this.cs.reverseFormatStandardDate(defaultVal), + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG, + this.direction + ); + } else { + this.datetimeInput = new DateTimeInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + "", + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG, + this.direction + ); + } + const elem = document.getElementById( + feildsList[i].APPLICATION_COLUMN_NAME + ); + // elem.addEventListener("click", e => { + // if (feildsList[i].MOBILE_ENABLED != "Y") return false; + // this.showDateTimePicker( + // feildsList[i].APPLICATION_COLUMN_NAME, + // feildsList[i].MAXIMUM_SIZE + // ); + // e.stopImmediatePropagation(); + // }); + // else if(feildsList[i].DEFAULT_TYPE=="D"){ + // this.datetimeInput = new DateTimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"currentDateTime",containerId,feildsList[i].MOBILE_ENABLED); + // }else if(feildsList[i].DEFAULT_TYPE=="P"||feildsList[i].DEFAULT_TYPE=="S"){ + // this.datetimeInput = new DateTimeInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,this.getDefaultValue(feildsList[i].DESC_FLEX_NAME,feildsList[i].DESC_FLEX_CONTEXT_CODE,feildsList[i].SEGMENT_NAME,feildsList[i].PARENT_SEGMENTS_VS_SplitedVS,feildsList[i].PARENT_SEGMENTS_DV_Splited),containerId,feildsList[i].MOBILE_ENABLED); + // } + } else if (feildsList[i].FORMAT_TYPE == "I") { + //time + if ( + feildsList[i].DEFAULT_TYPE == "C" || + feildsList[i].DEFAULT_TYPE == "D" || + feildsList[i].DEFAULT_TYPE == "P" || + feildsList[i].DEFAULT_TYPE == "S" + ) { + this.timeInput = new TimeInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + "", + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG, + this.direction + ); + } else { + this.timeInput = new TimeInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + "", + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG, + this.direction + ); + } + } + } else { + if (feildsList[i].READ_ONLY == "Y") { + this.textInput = new TextInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + defaultVal, + containerId, + defaultValText, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG + ); + } else { + // dropdown list missing open in differnt page + //check this validation since he doesnt check the other default_type + //if(feildsList[i].DEFAULT_TYPE=="P" || feildsList[i].DEFAULT_TYPE=="S"){ + this.selectInput = new SelectInput( + feildsList[i].SEGMENT_PROMPT, + feildsList[i].APPLICATION_COLUMN_NAME, + defaultVal, + containerId, + feildsList[i].MOBILE_ENABLED, + feildsList[i].DISPLAY_FLAG, + feildsList[i].REQUIRED_FLAG + ); + // }else{ + // this.selectInput = new SelectInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,"",containerId,feildsList[i].MOBILE_ENABLED); + // } + // this.getValueSet(feildsList[i].SEGMENT_NAME); + this.fillDropdownList( + feildsList[i].SEGMENT_NAME, + feildsList[i].E_SERVICES_VS, + feildsList[i].E_SERVICES_DV + ); + // this.eitVALSettoCall.push(feildsList[i]); + } + } + //const elem = document.getElementById(feildsList[i].APPLICATION_COLUMN_NAME); + //elem.addEventListener("click", (e) => { + // this.getValueSet(feildsList[i].SEGMENT_NAME); + // e.stopImmediatePropagation(); + // }); + this.bindHtmlElemEvents( + feildsList[i].APPLICATION_COLUMN_NAME, + feildsList[i] + ); + } else { + // if(feildsList[i].VALIDATION_TYPE=="N"){ + this.hiddenInput = new HiddenInput( + defaultVal, + feildsList[i].APPLICATION_COLUMN_NAME, + defaultValText, + containerId + ); + // }else{ + // this.selectInput = new SelectInput(feildsList[i].SEGMENT_PROMPT,feildsList[i].APPLICATION_COLUMN_NAME,defaultVal,containerId,feildsList[i].MOBILE_ENABLED,feildsList[i].DISPLAY_FLAG); + // this.fillDropdownList(feildsList[i].SEGMENT_NAME,feildsList[i].E_SERVICES_VS,feildsList[i].E_SERVICES_DV); + // } + this.bindHtmlElemEvents( + feildsList[i].APPLICATION_COLUMN_NAME, + feildsList[i] + ); + } + } + // this.callValueSet(); + // let msg:string=""; + // msg=this.translate.translate("confirmAddEit.start"); + // this.buttonInput = new ButtonInput("EIT_Btn_Submit", this.translate.translate('general.submit'), containerId, ""); + // const elem = document.getElementById("EIT_Btn_Submit"); + // elem.addEventListener("click", (e) => { + // this.validateEITTransaction(); + // }); + if (this.validateEitObj && this.validateEitObj.length > 0) { + this.fillEITStructure(); + } + } + + addFieldToDOM( + fieldObject: any, + fieldId: any, + clickListenerEvent: any, + hasClickListener: boolean + ) { + console.log("AddFieldToDOM"); + const elemDiv = document.createElement("div"); + elemDiv.className = ""; + elemDiv.innerHTML = fieldObject.getTemplate(); + console.log(this.containerDiv.nativeElement); + + this.containerDiv.nativeElement.appendChild(elemDiv); + // document.getElementById('containerDiv').appendChild(elemDiv); + + if (hasClickListener) { + let elem = document.getElementById(fieldId); + elem.addEventListener("click", e => { + clickListenerEvent(e); + e.stopImmediatePropagation(); + }); + } + } + + closeModal() { + console.log("closeModal"); + this.updatedValues = []; + this.modalController.dismiss(); + } + + public showDateTimePicker(elemID, maxSize) { + let elem = document.getElementById(elemID) as HTMLDivElement; + let date: any; + let value = elem.innerHTML; + if (value) date = moment(value, "YYYY/MM/DD HH:mm:ss").toDate(); + else date = new Date(); + this.datePicker + .show({ + date: date, + is24Hour: true, + mode: "datetime" + }) + .then( + date => { + let dateString: string = moment(date).format("YYYY/MM/DD HH:mm:ss"); + //remove seconds if the maximum size is 17 + if (maxSize == 17) { + elem.innerHTML = dateString.substring(0, 16); + elem.dataset.dtvalue = dateString.substring(0, 16); + } else { + elem.innerHTML = dateString; + elem.dataset.dtvalue = dateString; + } + //elem.innerHTML = dateString; + // elem.dataset.dtvalue = dateString; + }, + err => console.log("Error occurred while getting date: ", err) + ); + } + public showTimePicker(elemID, maxSize) { + let elem = document.getElementById(elemID) as HTMLDivElement; + let date: any; + let value = elem.innerHTML; + if (value) { + let nowDate = moment().format("YYYY/MM/DD") + " " + value; + date = moment(nowDate, "YYYY/MM/DD HH:mm:ss").toDate(); + } else { + date = new Date(); + } + this.datePicker + .show({ + date: date, + is24Hour: true, + mode: "time" + }) + .then( + date => { + let dateString: string = moment(date).format("HH:mm:ss"); + //remove seconds if the maximum size is 5 + if (maxSize == 5) { + elem.innerHTML = dateString.substring(0, 5); + elem.dataset.dtvalue = dateString.substring(0, 5); + } else { + elem.innerHTML = dateString; + elem.dataset.dtvalue = dateString; + } + }, + err => console.log("Error occurred while getting date: ", err) + ); + } + + fillDropdownList(segmentName, optionList: any = [], DV: any = "") { + let elemID: any = ""; + let eitObj: any; + if (optionList.length > 0) { + for (let i = 0; i < this.eitResponse.length; i++) { + if (this.eitResponse[i].SEGMENT_NAME == segmentName) { + eitObj = this.eitResponse[i]; + if ( + this.eitResponse[i].READ_ONLY == "Y" || + this.eitResponse[i].DISPLAY_FLAG == "N" + ) { + return false; + } + elemID = this.eitResponse[i].APPLICATION_COLUMN_NAME; + break; + } + } + let select = document.getElementById(elemID) as HTMLSelectElement; + document.getElementById(elemID).innerHTML = ""; + + // for(let i = select.options.length - 1 ; i >= 0 ; i--) + // { + // select.remove(i); + // } + if (eitObj.IsEmptyOption && eitObj.REQUIRED_FLAG == "N") { + var firstoption = document.createElement("option"); + firstoption.text = this.ts.trPK("general", "choose"); + firstoption.value = ""; + select.add(firstoption); + } + for (let i = 0; i < optionList.length; i++) { + var option = document.createElement("option"); + option.text = optionList[i].VALUE_COLUMN_NAME; + option.value = optionList[i].ID_COLUMN_NAME; + select.add(option); + } + if (select.dataset.hiddenval) { + select.value = select.dataset.hiddenval; + //select.dataset.hiddenval=""; + } else { + select.value = DV.P_ID_COLUMN_NAME; + } + select.disabled = false; + } + } + + bindHtmlElemEvents(id, obj) { + const elem = document.getElementById(id); + console.log(elem); + console.log(obj); + const elemType = elem.tagName; + let changeEvent = "ionChange"; + + if (elemType == "SELECT") changeEvent = "change"; + + try { + // elem.addEventListener("change", (e) => { + elem.addEventListener(changeEvent, e => { + //console.log("elem change "+elem.id); + //let x=e.currentTarget as HTMLInputElement; + //let isEmpty:boolean=false; + // if(!x.value) + // isEmpty=true; + //emptyChildElement + elem.classList.remove("requiredClassElm"); + if ( + obj.CHILD_SEGMENTS_VS_Splited && + obj.CHILD_SEGMENTS_VS_Splited.length > 0 + ) { + let listArray: any = obj.CHILD_SEGMENTS_VS_Splited; + listArray.forEach(element => { + //if(isEmpty) + this.emptyChildElement(element); + // else + this.getValueSet(element); + }); + } + if ( + obj.CHILD_SEGMENTS_DV_Splited && + obj.CHILD_SEGMENTS_DV_Splited.length > 0 + ) { + let listArray: any = obj.CHILD_SEGMENTS_DV_Splited; + listArray.forEach(element => { + // if(isEmpty){ + this.emptyChildElement(element); + // }else{ + for (let i = 0; i < this.eitResponse.length; i++) { + if (this.eitResponse[i].SEGMENT_NAME == element) { + this.getDefaultValue( + this.eitResponse[i], + this.eitResponse[i].DESC_FLEX_NAME, + this.eitResponse[i].DESC_FLEX_CONTEXT_CODE, + this.eitResponse[i].SEGMENT_NAME, + this.eitResponse[i].PARENT_SEGMENTS_VS_SplitedVS, + this.eitResponse[i].PARENT_SEGMENTS_DV_Splited + ); + } + } + // } + }); + } + return false; + // e.stopImmediatePropagation(); + }); + } catch (e) { + console.log(e.status); + } + } + + public getDefaultValue( + obj, + descFlexName, + descFlexContextCode, + segmentName, + parentValue, + ParentsList + ) { + let dependenciesList: any = []; + let parentVal: any = null; + let isStandardDate: boolean = false; + let isStandardTimeDate: boolean = false; + let isStandardTime: boolean = false; + let isHidden: boolean = false; + let isReadOnlyList: boolean = false; + let isSelectElement: boolean = false; + isStandardDate = this.isStandardDate(obj); + isStandardTimeDate = this.isStandardDateTime(obj); + isStandardTime = this.isStandardTime(obj); + if (obj.DISPLAY_FLAG == "N") isHidden = true; + if (obj.VALIDATION_TYPE != "N" && obj.READ_ONLY == "Y") { + isReadOnlyList = true; + } + if (obj.VALIDATION_TYPE != "N" && obj.READ_ONLY == "N") { + isSelectElement = true; + } + //if(parentValue!=""){ parentVal= this.getDependenciesParams(parentValue)[0].ID_COLUMN_NAME;} + //if(ParentsList!=""){dependenciesList =this.getDependenciesParams(ParentsList); } + + if ( + parentValue != "" && + (obj.VALIDATION_TYPE == "D" || obj.VALIDATION_TYPE == "Y") + ) { + let parvalue = this.getDependenciesParams(parentValue); + if (parvalue && parvalue[0]) parentVal = parvalue[0].ID_COLUMN_NAME; + else { + parentVal = null; + } + if (!parentVal) { + return false; + } + } + if (ParentsList != "") { + if (parentValue) ParentsList.concat(parentValue); + dependenciesList = this.getDependenciesParams(ParentsList); + if (!dependenciesList) { + return false; + } + } + + //if (dependenciesList==false){return false}; + const body = { + P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, + P_MENU_TYPE: this.menuType, + P_SELECTED_RESP_ID: this.respID, //-999, + P_DESC_FLEX_NAME: descFlexName, + P_DESC_FLEX_CONTEXT_CODE: descFlexContextCode, + P_SEGMENT_NAME: segmentName, + P_PARENT_VALUE: parentVal, + GetValueSetValuesTBL: dependenciesList + }; + + this.eitService.getDefaultValue(body).subscribe((result: any) => { + let elem = this.getElementByName(segmentName); + // console.log(elem); + // if(elem.dataset.hiddenval){ + // elem.dataset.hiddenval=""; + // return false; + // } + let obj = this.handleDefaultValueResult(result); + let val = obj.value; + let text = obj.text; + if (val==null){val="";} + if (text==null){text="";} + if (isStandardDate) { + console.log("isStandardDate"); + elem.value = this.cs.reverseFormatDate(val); + } else if (isStandardTimeDate) { + console.log("isStandardTimeDate"); + if (val) { + elem.dataset.dtvalue = this.cs.reverseFormatStandardDate(val); + elem.innerHTML = this.cs.reverseFormatStandardDate(val); + } else { + elem.dataset.dtvalue = ""; + elem.innerHTML = ""; + } + } else if (isStandardTime) { + console.log("isStandardTime"); + if (val) { + elem.dataset.dtvalue = val; + elem.innerHTML = val; + elem.value=val; + } else { + elem.dataset.dtvalue = ""; + elem.innerHTML = ""; + } + } else { + if (isSelectElement) { + let elem = this.getSelectElementByName(segmentName); + elem = document.getElementById(elem), + //alert(elem.length); + // var firstoption = document.createElement("option"); + // firstoption.text = text; + // firstoption.value = val; + // elem.add(firstoption); + elem.value = val; + //elem.text=text; + + }else{ + // console.log("else - " + elem.value); + elem.value = val; + elem.innerText = text; + elem.setAttribute("value", val); + // console.log("else - " + elem.value); + } + } + if (isHidden || isReadOnlyList) { + if (val) elem.dataset.colmText = val; + else elem.dataset.colmText = ""; + elem.value = text; + } + var event = new Event("ionChange"); + elem.dispatchEvent(event); + }); + } + + handleDefaultValueResult(result) { + let data = { + text: result.GetDefaultValueList.P_VALUE_COLUMN_NAME, + value: result.GetDefaultValueList.P_ID_COLUMN_NAME + }; + return data; + } + + callValueSet() { + for (var i = 0; i < this.eitVALSettoCall.length; i++) { + this.getValueSet(this.eitVALSettoCall[i].SEGMENT_NAME); + } + } + + getParentValue(parentValue) { + if (parentValue.length == 0) { + for (let i = 0; i < this.eitResponse.length; i++) { + if (this.eitResponse[i].SEGMENT_NAME == parentValue[0].Name) { + if (this.eitResponse[i].VALIDATION_TYPE == "N") { + let val = (document.getElementById( + this.eitResponse[i].APPLICATION_COLUMN_NAME + ) as HTMLInputElement).value; + return val; + } else { + let x = document.getElementById( + this.eitResponse[i].APPLICATION_COLUMN_NAME + ) as HTMLSelectElement; + if (x.options.length > 0) { + let val = x.options[x.selectedIndex] + ? x.options[x.selectedIndex].value + : null; + return val; + } else { + return ""; + } + } + } + } + } else { + return ""; + } + } + + public getValueSet(segmentName) { + let descFlexName: any = ""; + let descFlexContextCode: any = ""; + let parentValue: any = []; + let ParentsList: any = []; + let parentVal: any = null; + let dependenciesList: any = []; + let validationType: string = ""; + + for (let i = 0; i < this.eitResponse.length; i++) { + if (this.eitResponse[i].SEGMENT_NAME == segmentName) { + descFlexName = this.eitResponse[i].DESC_FLEX_NAME; + descFlexContextCode = this.eitResponse[i].DESC_FLEX_CONTEXT_CODE; + parentValue = this.eitResponse[i].PARENT_SEGMENTS_VS_SplitedVS; + ParentsList = this.eitResponse[i].PARENT_SEGMENTS_VS_SplitedVS; + validationType = this.eitResponse[i].VALIDATION_TYPE; + break; + } + } + if (parentValue != "" && (validationType == "D" || validationType == "Y")) { + let parvalue = this.getDependenciesParams(parentValue); + if (parvalue && parvalue[0]) parentVal = parvalue[0].ID_COLUMN_NAME; + else { + parentVal = null; + } + if (!parentVal) { + return false; + } + } + if (ParentsList != "") { + dependenciesList = this.getDependenciesParams(ParentsList); + if (!dependenciesList) { + return false; + } + } + const body = { + P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, + P_MENU_TYPE: this.menuType, + P_SELECTED_RESP_ID: this.respID, //-999, + P_DESC_FLEX_NAME: descFlexName, + P_DESC_FLEX_CONTEXT_CODE: descFlexContextCode, + P_SEGMENT_NAME: segmentName, + P_PARENT_VALUE: parentVal, + GetValueSetValuesTBL: dependenciesList, + P_PAGE_NUM: 1, + P_PAGE_LIMIT: 1000 + }; + + this.eitService.getSetValue(body).subscribe((result: any) => { + if (result.GetValueSetValuesList != null) { + this.fillDropdownList(segmentName, result.GetValueSetValuesList); + } + }); + let arr: any = []; + return arr; + } + + getDependenciesParams(parentsList) { + let parentArr: any = []; + for (let i = 0; i < parentsList.length; i++) { + for (let j = 0; j < this.eitResponse.length; j++) { + if (this.eitResponse[j].SEGMENT_NAME == parentsList[i].Name) { + if (this.eitResponse[j].DISPLAY_FLAG != "N") { + if (this.eitResponse[j].VALIDATION_TYPE == "N") { + let idColName: string; + let val: any; + if ( + this.eitResponse[j].FORMAT_TYPE == "Y" || + this.eitResponse[j].FORMAT_TYPE == "I" + ) { + //standard date time or //time + let elem = document.getElementById( + this.eitResponse[j].APPLICATION_COLUMN_NAME + ) as HTMLDivElement; + val = elem.dataset.dtvalue; + if ( + (val == undefined || val == "") && + parentsList[i].IsRequired == "REQUIRED" + ) { + //alert(parentsList[i].Name +" Is required"); + return false; + } + idColName = val; + if (this.eitResponse[j].FORMAT_TYPE == "Y") + idColName = this.cs.formatStandardDate(val); + } else { + val = (document.getElementById( + this.eitResponse[j].APPLICATION_COLUMN_NAME + ) as HTMLInputElement).value; + if ( + (val == undefined || val == "") && + parentsList[i].IsRequired == "REQUIRED" + ) { + //alert(parentsList[i].Name +" Is required"); + return false; + } + idColName = val; + if (this.eitResponse[j].FORMAT_TYPE == "X") { + //date + // idColName = this.cs.formatDate(val); + idColName = this.cs.formatDateNew(val); + } + } + parentArr.push({ + SEGMENT_NAME: this.eitResponse[j].SEGMENT_NAME, + VALUE_COLUMN_NAME: val, + DESCRIPTION: "", + ID_COLUMN_NAME: idColName, + FLEX_VALUE_SET_NAME: this.eitResponse[j].FLEX_VALUE_SET_NAME + }); + break; + } else { + if (this.eitResponse[j].READ_ONLY != "Y") { + let x = document.getElementById( + this.eitResponse[j].APPLICATION_COLUMN_NAME + ) as HTMLSelectElement; + let text = x.options[x.selectedIndex] + ? x.options[x.selectedIndex].text + : ""; + let val = x.options[x.selectedIndex] + ? x.options[x.selectedIndex].value + : undefined; + if ( + (val == undefined || val == "") && + parentsList[i].IsRequired == "REQUIRED" + ) { + //alert(parentsList[i].Name +" Is required"); + return false; + } else { + } + if (text == undefined) { + text = ""; + } + parentArr.push({ + SEGMENT_NAME: this.eitResponse[j].SEGMENT_NAME, + VALUE_COLUMN_NAME: text, + DESCRIPTION: "", + ID_COLUMN_NAME: val, + FLEX_VALUE_SET_NAME: this.eitResponse[j].FLEX_VALUE_SET_NAME + }); + break; + } else { + let x = document.getElementById( + this.eitResponse[j].APPLICATION_COLUMN_NAME + ) as HTMLInputElement; + let text = x.value; + let val = x.dataset.colmText; + if ( + (val == undefined || val == "") && + parentsList[i].IsRequired == "REQUIRED" + ) { + //alert(parentsList[i].Name +" Is required"); + return false; + } else { + } + if (text == undefined) { + text = ""; + } + parentArr.push({ + SEGMENT_NAME: this.eitResponse[j].SEGMENT_NAME, + VALUE_COLUMN_NAME: text, + DESCRIPTION: "", + ID_COLUMN_NAME: val, + FLEX_VALUE_SET_NAME: this.eitResponse[j].FLEX_VALUE_SET_NAME + }); + break; + } + } + } else { + let x = document.getElementById( + this.eitResponse[j].APPLICATION_COLUMN_NAME + ) as HTMLInputElement; + let text = x.value; + let val = x.dataset.colmText; + if ( + (val == undefined || val == "") && + parentsList[i].IsRequired == "REQUIRED" + ) { + //alert(parentsList[i].Name +" Is required"); + return false; + } else { + } + if (text == undefined) { + text = ""; + } + parentArr.push({ + SEGMENT_NAME: this.eitResponse[j].SEGMENT_NAME, + VALUE_COLUMN_NAME: text, + DESCRIPTION: "", + ID_COLUMN_NAME: val, + FLEX_VALUE_SET_NAME: this.eitResponse[j].FLEX_VALUE_SET_NAME + }); + break; + } + } + } + } + return parentArr; + } + + emptyChildElement(segmentName) { + let elem = this.getElementByName(segmentName); + elem.value = null; + elem.innerHTML = ""; + if ("dtvalue" in elem.dataset) { + elem.dataset.dtvalue = ""; + } + if ("colmText" in elem.dataset) { + elem.dataset.colmText = ""; + } + var event = new Event("change"); + elem.dispatchEvent(event); + elem.classList.remove("requiredClassElm"); + } + + getRequiredFilds() { + for (let i = 0; i < this.eitResponse.length; i++) { + if (this.eitResponse[i].REQUIRED_FLAG == "Y") { + let elemVal = (document.getElementById( + this.eitResponse[i].APPLICATION_COLUMN_NAME + ) as HTMLInputElement).value; + if (elemVal == "") { + //alert(this.eitResponse[i].SEGMENT_NAME+" is required"); + break; + } + } + } + } + + getElementByName(segmentName) { + let elemID: any = ""; + for (let i = 0; i < this.eitResponse.length; i++) { + if (this.eitResponse[i].SEGMENT_NAME == segmentName) { + elemID = this.eitResponse[i].APPLICATION_COLUMN_NAME; + break; + } + } + return document.getElementById(elemID) as HTMLInputElement; + } + + getSelectElementByName(segmentName) { + let elemID: any = ""; + for (let i = 0; i < this.eitResponse.length; i++) { + if (this.eitResponse[i].SEGMENT_NAME == segmentName) { + elemID = this.eitResponse[i].APPLICATION_COLUMN_NAME; + break; + } + } + return elemID; + } + + isStandardDate(obj: any): boolean { + let isSt: boolean = false; + if (obj.FORMAT_TYPE == "X") { + // standard date + if ( + obj.DEFAULT_TYPE == "C" || + obj.DEFAULT_TYPE == "D" || + obj.DEFAULT_TYPE == "P" || + obj.DEFAULT_TYPE == "S" + ) { + //constant + isSt = true; + } + } + return isSt; + } + isStandardDateTime(obj: any): boolean { + let isSt: boolean = false; + if (obj.FORMAT_TYPE == "Y") { + // standard date time + if ( + obj.DEFAULT_TYPE == "C" || + obj.DEFAULT_TYPE == "D" || + obj.DEFAULT_TYPE == "P" || + obj.DEFAULT_TYPE == "S" + ) { + //constant + isSt = true; + } + } + return isSt; + } + isStandardTime(obj: any): boolean { + let isSt: boolean = false; + if (obj.FORMAT_TYPE == "I") { + // standard date time + if ( + obj.DEFAULT_TYPE == "C" || + obj.DEFAULT_TYPE == "D" || + obj.DEFAULT_TYPE == "P" || + obj.DEFAULT_TYPE == "S" + ) { + //constant + isSt = true; + } + } + return isSt; + } + + isStandardDateVal(obj: any): boolean { + let isSt: boolean = false; + if (obj.FORMAT_TYPE == "X") { + // standard date + // if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant + isSt = true; + // } + } + return isSt; + } + isStandardDateTimeVal(obj: any): boolean { + let isSt: boolean = false; + if (obj.FORMAT_TYPE == "Y") { + // standard date time + //if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant + isSt = true; + //} + } + return isSt; + } + isStandardTimeVal(obj: any): boolean { + let isSt: boolean = false; + if (obj.FORMAT_TYPE == "I") { + // standard time + //if(obj.DEFAULT_TYPE=="C" || obj.DEFAULT_TYPE=="D" || obj.DEFAULT_TYPE=="P"||obj.DEFAULT_TYPE=="S"){//constant + isSt = true; + //} + } + return isSt; + } + + fillEITStructure() { + var obj = { peiObjVer: null, peiExtraInfoID: null }; + for (let i = 0; i < this.validateEitObj.length; i++) { + let val: any; + if (this.validateEitObj[i].VARCHAR2_VALUE) + val = this.validateEitObj[i].VARCHAR2_VALUE; + else if (this.validateEitObj[i].DATE_VALUE) + val = this.validateEitObj[i].DATE_VALUE; + else if (this.validateEitObj[i].NUMBER_VALUE) + val = this.validateEitObj[i].NUMBER_VALUE; + const elem = document.getElementById( + this.validateEitObj[i].APPLICATION_COLUMN_NAME + ) as HTMLInputElement; + //obj.transactionNo=this.validateEitObj[i].TRANSACTION_NUMBER; + if (elem) { + if (val) { + let feldDetails = this.eitResponse.find( + x => + x.APPLICATION_COLUMN_NAME == + this.validateEitObj[i].APPLICATION_COLUMN_NAME + ); + if (feldDetails) { + let isStandardDate = this.isStandardDateVal(feldDetails); + let isStandardDateTime = this.isStandardDateTimeVal(feldDetails); + let isStandardTime = this.isStandardTimeVal(feldDetails); + if (isStandardDate) { + elem.value = this.cs.reverseFormatDate(val); + } else if (isStandardDateTime) { + elem.innerHTML = this.cs.reverseFormatStandardDate(val); + elem.dataset.dtvalue = this.cs.reverseFormatStandardDate(val); + } else if (isStandardTime) { + elem.innerHTML = val; + elem.dataset.dtvalue = val; + } else { + elem.value = val; + elem.setAttribute("value", elem.value); + } + if ( + feldDetails.DISPLAY_FLAG == "N" || + (feldDetails.VALIDATION_TYPE != "N" && + feldDetails.READ_ONLY == "Y") + ) { + elem.dataset.colmText = val; + elem.value = this.validateEitObj[i].SEGMENT_VALUE_DSP; + elem.setAttribute("value", elem.value); + } + } + elem.dataset.hiddenval = val; //hide the value to set it after calling get value set + if ( + feldDetails.CHILD_SEGMENTS_VS_Splited && + feldDetails.CHILD_SEGMENTS_VS_Splited.length > 0 + ) { + let listArray: any = feldDetails.CHILD_SEGMENTS_VS_Splited; + listArray.forEach(element => { + this.getValueSet(element); + }); + } + // var event = new Event('change'); + // elem.dispatchEvent(event); + } + } else { + if ( + this.validateEitObj[i].APPLICATION_COLUMN_NAME == + "PEI_OBJECT_VERSION_NUMBER" + ) + obj.peiObjVer = this.validateEitObj[i].NUMBER_VALUE; + else if ( + this.validateEitObj[i].APPLICATION_COLUMN_NAME == "PEI_EXTRA_INFO_ID" + ) + obj.peiExtraInfoID = this.validateEitObj[i].NUMBER_VALUE; + } + } + this.ExtraObj = obj; + } + + public getElementsValues(): any { + this.updatedValues = []; //fill updated list + let valuseArr: any = []; + let varcharValue: any = null; + let numbervalue: any = 0; + let dateValue: any = null; + let transNo: number = this.comtransNo; + let textValue : any; + // if(this.ExtraObj.transactionNo) + // transNo=this.ExtraObj.transactionNo; + for (let i = 0; i < this.eitResponse.length; i++) { + varcharValue = null; + numbervalue = null; + dateValue = null; + /*********set transaction No of the updated object ********/ + if (this.getPassdirfromNotifiPage) { + let updatedObj = this.validateEitObj.find( + x => + x.APPLICATION_COLUMN_NAME == + this.eitResponse[i].APPLICATION_COLUMN_NAME + ); + let y = updatedObj; + transNo = y.TRANSACTION_NUMBER; // set the transaction number for all items in the updated loop + } + if (this.eitResponse[i].DISPLAY_FLAG != "N") { + if (this.eitResponse[i].VALIDATION_TYPE == "N") { + let elem = document.getElementById( + this.eitResponse[i].APPLICATION_COLUMN_NAME + ) as HTMLInputElement; + let elemVal = (document.getElementById( + this.eitResponse[i].APPLICATION_COLUMN_NAME + ) as HTMLInputElement).value; + textValue = elemVal; + //let elemVal= (document.getElementById(this.eitResponse[i].APPLICATION_COLUMN_NAME)).value; + if ( + this.eitResponse[i].FORMAT_TYPE == "X" && + this.eitResponse[i].DISPLAY_FLAG != "N" + ) { + //date + elemVal = this.cs.formatDate(elemVal); + } else if ( + this.eitResponse[i].FORMAT_TYPE == "Y" && + this.eitResponse[i].DISPLAY_FLAG != "N" + ) { + //standard date time + // elemVal = elem.dataset.dtvalue; + // elemVal = this.cs.formatStandardDate(elemVal); + elemVal = this.cs.formatDate(elemVal); + } else if ( + this.eitResponse[i].FORMAT_TYPE == "I" && + this.eitResponse[i].DISPLAY_FLAG != "N" + ) { + //time + if(elemVal.length>5){ + elemVal = elemVal.substring(11, 16); + }else{ + elemVal = elemVal; + } + } + if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !elemVal) { + elem.classList.add("requiredClassElm"); + //this.common.showRequiredMsg(); + return false; + } else { + elem.classList.remove("requiredClassElm"); + } + // if (elemVal != 'null'){ + varcharValue = elemVal; + //} else{ + // elemVal = null; + // } + valuseArr.push({ + TRANSACTION_NUMBER: transNo, + NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, + VARCHAR2_VALUE: varcharValue, + NUMBER_VALUE: numbervalue, + DATE_VALUE: dateValue + }); + } else { + let x = document.getElementById( + this.eitResponse[i].APPLICATION_COLUMN_NAME + ) as HTMLSelectElement; + if (this.eitResponse[i].READ_ONLY == "Y") { + let text = x.value; + let val = x.dataset.colmText; + varcharValue = val; + textValue = text; + } else { + let val = x.options[x.selectedIndex] + ? x.options[x.selectedIndex].value + : null; + let txt = x.options[x.selectedIndex] + ? x.options[x.selectedIndex].text + : null; + varcharValue = val; + textValue = txt; + } + if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !varcharValue) { + x.classList.add("requiredClassElm"); + //this.common.showRequiredMsg(); + return false; + } else { + x.classList.remove("requiredClassElm"); + } + + valuseArr.push({ + TRANSACTION_NUMBER: transNo, + NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, + VARCHAR2_VALUE: varcharValue, + NUMBER_VALUE: numbervalue, + DATE_VALUE: dateValue + }); + } //end else + } else { + let x = document.getElementById( + this.eitResponse[i].APPLICATION_COLUMN_NAME + ) as HTMLSelectElement; + let val = x.dataset.colmText; + textValue = x.value; + if (this.eitResponse[i].REQUIRED_FLAG == "Y" && !val) { + x.classList.add("requiredClassElm"); + //this.common.showRequiredMsg(); + return false; + } else { + x.classList.remove("requiredClassElm"); + } + if (val) varcharValue = val; + valuseArr.push({ + TRANSACTION_NUMBER: transNo, + NAME: this.eitResponse[i].APPLICATION_COLUMN_NAME, + VARCHAR2_VALUE: varcharValue, + NUMBER_VALUE: numbervalue, + DATE_VALUE: dateValue + }); + } + + if (this.getPassdirfromNotifiPage) { + let updatedObj = this.validateEitObj.find( + x => + x.APPLICATION_COLUMN_NAME == + this.eitResponse[i].APPLICATION_COLUMN_NAME + ); + let y = updatedObj; + y.VARCHAR2_VALUE = varcharValue; + y.NUMBER_VALUE = numbervalue; + y.DATE_VALUE = dateValue; + y.SEGMENT_VALUE_DSP = textValue; + transNo = y.TRANSACTION_NUMBER; // set the transaction number for all items in the updated loop + this.updatedValues.push(y); + } else { + if (this.validateEitObj && this.eitSubmitAction == EIT_ACTION.UPDATE) { + let updatedObj = this.validateEitObj.find( + x => + x.APPLICATION_COLUMN_NAME == + this.eitResponse[i].APPLICATION_COLUMN_NAME + ); + let y = updatedObj; + y.VARCHAR2_VALUE = varcharValue; + y.NUMBER_VALUE = numbervalue; + y.DATE_VALUE = dateValue; + y.SEGMENT_VALUE_DSP = textValue; + transNo = transNo; // set the transaction number for all items in the updated loop + this.updatedValues.push(y); + } else { + let y = { + TRANSACTION_NUMBER: transNo, + VARCHAR2_VALUE: varcharValue, + NUMBER_VALUE: numbervalue, + DATE_VALUE: dateValue, + SEGMENT_VALUE_DSP: textValue, + APPLICATION_COLUMN_NAME: this.eitResponse[i] + .APPLICATION_COLUMN_NAME, + DATATYPE: this.eitResponse[i].DATATYPE, + DESC_FLEX_CONTEXT_CODE: this.eitResponse[i].DESC_FLEX_CONTEXT_CODE, + DESC_FLEX_NAME: this.eitResponse[i].DESC_FLEX_NAME, + DISPLAY_FLAG: this.eitResponse[i].DISPLAY_FLAG, + SEGMENT_NAME: this.eitResponse[i].SEGMENT_NAME, + SEGMENT_PROMPT: this.eitResponse[i].SEGMENT_PROMPT + }; + transNo = transNo; // set the transaction number for all items in the updated loop + this.updatedValues.push(y); + } + } + } // end for + + if (this.getPassdirfromNotifiPage) { + let updatedObj1 = this.validateEitObj.find( + x => x.APPLICATION_COLUMN_NAME === "PEI_ACTION" + ); + let updatedObj2 = this.validateEitObj.find( + x => x.APPLICATION_COLUMN_NAME === "PEI_EXTRA_INFO_ID" + ); + let updatedObj3 = this.validateEitObj.find( + x => x.APPLICATION_COLUMN_NAME === "PEI_OBJECT_VERSION_NUMBER" + ); + this.updatedValues.push(updatedObj1); + this.updatedValues.push(updatedObj2); + this.updatedValues.push(updatedObj3); + valuseArr = this.fillExtraInformation( + valuseArr, + updatedObj1.VARCHAR2_VALUE, + updatedObj2.NUMBER_VALUE, + updatedObj3.NUMBER_VALUE, + transNo + ); + } else { + if (this.eitSubmitAction == EIT_ACTION.ADD) { + this.updatedValues = this.fillExtraValuesUpdated( + this.updatedValues, + "NEW_ROW", + -1, + 0, + transNo + ); + valuseArr = this.fillExtraInformation( + valuseArr, + "NEW_ROW", + -1, + 0, + transNo + ); + } else if (this.eitSubmitAction == EIT_ACTION.UPDATE) { + valuseArr = this.fillExtraInformation( + valuseArr, + "UPDATE_ROW", + this.ExtraObj.peiExtraInfoID, + this.ExtraObj.peiObjVer, + transNo + ); + } else if (this.eitSubmitAction == EIT_ACTION.DELETE) { + valuseArr = this.fillExtraInformation( + valuseArr, + "DELETE_ROW", + this.ExtraObj.peiExtraInfoID, + this.ExtraObj.peiObjVer, + transNo + ); + } + } + return valuseArr; + } // end getElementsValues + + fillExtraValuesUpdated( + values: any, + peiAction: string, + peiExtraInfoID: number, + peiObjVer: number, + transNo: number + ): any { + let obj1 = { + TRANSACTION_NUMBER: transNo, + VARCHAR2_VALUE: peiAction, + NUMBER_VALUE: null, + DATE_VALUE: null, + SEGMENT_VALUE_DSP: "", + APPLICATION_COLUMN_NAME: "PEI_ACTION", + DATATYPE: "VARCHAR2", + DESC_FLEX_CONTEXT_CODE: "", + DESC_FLEX_NAME: "", + DISPLAY_FLAG: "N", + SEGMENT_NAME: "", + SEGMENT_PROMPT: "" + }; + let obj2 = { + TRANSACTION_NUMBER: 1, + APPLICATION_COLUMN_NAME: "PEI_OBJECT_VERSION_NUMBER", + VARCHAR2_VALUE: null, + NUMBER_VALUE: peiObjVer, + DATATYPE: "NUMBER", + SEGMENT_VALUE_DSP: "", + DATE_VALUE: null, + DESC_FLEX_CONTEXT_CODE: "", + DESC_FLEX_NAME: "", + DISPLAY_FLAG: "N", + SEGMENT_NAME: "", + SEGMENT_PROMPT: "" + }; + let obj3 = { + APPLICATION_COLUMN_NAME: "PEI_EXTRA_INFO_ID", + DATATYPE: "NUMBER", + DATE_VALUE: null, + DESC_FLEX_CONTEXT_CODE: "", + DESC_FLEX_NAME: "", + DISPLAY_FLAG: "N", + NUMBER_VALUE: peiExtraInfoID, + SEGMENT_NAME: "", + SEGMENT_PROMPT: "", + SEGMENT_VALUE_DSP: "", + TRANSACTION_NUMBER: transNo, + VARCHAR2_VALUE: null + }; + values.push(obj1); + values.push(obj2); + values.push(obj3); + return values; + } + fillExtraInformation( + values: any, + peiAction: string, + peiExtraInfoID: number, + peiObjVer: number, + transNo: number + ): any { + values.push({ + TRANSACTION_NUMBER: transNo, + NAME: "PEI_ACTION", + VARCHAR2_VALUE: peiAction, + NUMBER_VALUE: null, + DATE_VALUE: null + }); + values.push({ + TRANSACTION_NUMBER: transNo, + NAME: "PEI_EXTRA_INFO_ID", + VARCHAR2_VALUE: null, + NUMBER_VALUE: peiExtraInfoID, + DATE_VALUE: null + }); + values.push({ + TRANSACTION_NUMBER: transNo, + NAME: "PEI_OBJECT_VERSION_NUMBER", + VARCHAR2_VALUE: null, + NUMBER_VALUE: peiObjVer, + DATE_VALUE: null + }); + return values; + } + + submitEit() { + let list = this.eitRequest.EITTransactionTBL; + this.eitRequest.EITTransactionTBL = this.fixTransactionNo(list); + this.eitService + .submitEit(this.eitRequest) + .subscribe((result: AddEitResponse) => { + this.handleSubmitEitResult(result); + }); + } + + fixTransactionNo(transactionTBL: any): any[] { + let list: any = []; + let newIndex: number = 1; + let length: number = transactionTBL.length; + if (length > 0) { + for (let i = 0; i < length; i++) { + // let item :any={}; + const item = Object.assign({}, transactionTBL[i]); + let transNo: number = item.TRANSACTION_NUMBER; + let obj: any = item; + if (i == 0) { + obj.TRANSACTION_NUMBER = newIndex; + list.push(obj); + } else { + let prevEl: any = transactionTBL[i - 1].TRANSACTION_NUMBER; + if (transNo == prevEl) { + obj.TRANSACTION_NUMBER = newIndex; + list.push(obj); + } else { + newIndex++; + obj.TRANSACTION_NUMBER = newIndex; + list.push(obj); + } + } + } + } + return list; + } + handleSubmitEitResult(result) { + if (this.cs.validResponse(result)) { + this.cs.sharedService.setSharedData( + this.eitRequest, + EitRequest.SHARED_DATA + ); + this.cs.sharedService.setSharedData(result, AddEitResponse.SHARED_DATA); + //this.addrespList=result.SubmitEITTransactionList; + // this.itemKey=this.addrespList.P_ITEM_KEY; + // this.P_TransactionID=result.SubmitEITTransactionList.P_TRANSACTION_ID; + // this.sharedData.setSharedData(result,AddEitResponse.SHARED_DATA); + + // // this.sharedData.setSharedData(result.SubmitEITTransactionList.P_TRANSACTION_ID,"TransactionIDResubmit"); + // // this.sharedData.setSharedData(this.eitRequest,EitRequest.SHARED_DATA); + + this.cs.sharedService.setSharedData( + { isResubmit: false }, + "confirmAddEITData" + ); + this.cs.openConfirmEitPage(); + // this.navCtrl.push("ConfirmAddEitPage", { isResubmit: false }); + } + } + + validateEITTransaction() { + // let EITTransactionValues:any= []; + + this.arrValues = this.getElementsValues(); + if (this.arrValues) { + this.eitRequest = { + P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, + P_MENU_TYPE: this.menuType, + P_SELECTED_RESP_ID: this.respID, //this.selMenu.List_Menu.RESP_ID,//-999, + P_FUNCTION_NAME: this.functionName, + P_DESC_FLEX_CONTEXT_CODE: this.eitResponse[0].DESC_FLEX_CONTEXT_CODE, + EITTransactionTBL: this.arrValues + }; + + this.eitService + .validateEITTransaction(this.eitRequest) + .subscribe((result: any) => { + this.handleEITValidateTr(result); + }); + } + } + private handleEITValidateTr(result) { + let data: any = { eitRequest: {}, updated: [] }; + if (this.cs.validResponse(result)) { + // public static SHARED_DATA = 'login-request'; + this.cs.sharedService.setSharedData( + this.eitRequest, + EitRequest.SHARED_DATA + ); + if (this.getPassdirfromNotifiPage) { + let data: any = { eitRequest: {}, updated: [] }; + data.eitRequest = this.eitRequest; + data.updated = this.updatedValues; + // this.viewCtrl.dismiss(data); + this.modalController.dismiss(data); + // this.closemodal(); + } else { + this.submitEit(); + // this.navCtrl.push("ConfirmAddEitPage"); + // data = { eitRequest: {}, updated: [] }; + // data.eitRequest = this.eitRequest; + // data.updated = this.updatedValues; + // this.viewCtrl.dismiss(data); + } + } else { + this.updatedValues = []; + data = { eitRequest: {}, updated: [] }; + } + } +} diff --git a/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.html b/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.html new file mode 100644 index 00000000..a3a64748 --- /dev/null +++ b/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.html @@ -0,0 +1,267 @@ + + + + {{headerTitle}} + + + + + + + + + +
{{'general, addAttach' | translate}}
+
+ +
+ +
+
+
+ + + {{ 'general, notAttch' | translate}} + +
+ + +
+ + + + {{attachList.AttachmentID +1 }} . + + + + + {{attachList.P_FILE_NAME }} + + + + + + + + +
+ +
+ +
+ + +
+
+ + {{attachRes.FILE_NAME }} + +
+ + + + + + + +
+
+ +
+ + + +
{{'confirmAddEit, comment' | translate}}
+ + + + +
+ + +
{{'confirmAddEit, approverList' | translate}}
+
+

{{ 'general, empty' | translate}}

+
+
+ +
+ + +
+
+ +
+
+ + + {{employee.APPROVER}} + + + {{employee.POSITION_TITLE}} + + + +
+
+
+
+
+ +
+ + + + + +
+ + +
+ + {{ (isDelete ? 'general, delete' : 'general, submit') | translate }} +
+
\ No newline at end of file diff --git a/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.scss b/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.scss new file mode 100644 index 00000000..152f42fa --- /dev/null +++ b/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.scss @@ -0,0 +1,262 @@ +.footer-button { + border-radius: 2px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; +} + +.imgSize { + width: 22px; + height: 22px; +} + +.Header { + font-weight: bold; + color: #1a586d !important; + font-size: 10px; +} + +.tbData { + font-size: 10px; +} + +.btnBack { + background: transparent; + float: right; +} + +.attachmentDiv{ + background: #ffffff; + height: auto; + text-align: center; + padding-top: 1px; + margin: 10px; + border-radius: 15px; + border: 1px solid grey; +} + +.noDataDiv{ + background: #ffffff; + height: 11%; + text-align: center; + padding-top: 1px; + border-radius: 10px; + margin: 10px; + border-radius: 5px; +} +.submitNote{ + background: #ffffff; + height: 80px; + padding-top: 1px; + margin: 10px; + border-radius: 15px; + border: 1px solid grey; +} + +.approvalList{ + --background: #f0efef; + height: auto; + text-align: center; + padding-top: 1px; + border-radius: 10px; + margin: 10px; + border-radius: 5px; +} + +/************************New Design**********************************/ +.notification-list{ + background: none; + background: none; + border-radius: 32px; + ion-item{ + // margin-top: 5px; + // margin-bottom: 5px; + + background-color: transparent; + .item-date{ + width: 100%; + font-size: 16px; + font-weight: bold; + + text-align: start; + padding: 0; + margin: 0; + + position: absolute; + left: 0; + top: 12%; + } + ion-label , [item-end]{ + + white-space: normal; + font-size: 14px; + padding-top: 15%; + // :root[dir="ltr"]{ + // margin-left: 10px; + // } + // :root[dir="rtl"]{ + // margin-right: 10px; + // } + + } + + } +} + + + + + + +.timeline { + position: relative; + margin: 15px 0 0 0; + // border-bottom: solid 1px var(--cusgray); +} + +.timeline:before { + + content: ''; + position: inherit !important; + top: 0; + bottom: 0; + width: 4px; + // background: #e4e4e4; + z-index: 1; + left: 35px; + /* margin-left: -10px; */ + /* z-index: 1; */ +} + +.timeline .timeline-thumb { + + border-radius: 500px; + width: 70px !important; + z-index: 2; + position: absolute; + left: 0px; + // :root[dir="ltr"]{ + // left: 37px; + // } + // :root[dir="rtl"]{ + // right: 37px; + // } + float: right; + top: 9px; +} + +.timeline .timeline-thumb.timeline-icon { + height: 70px; + // text-align: center; + // color: white; + // border: 5px solid #CBD0D3; + // transform: scale(0.2); +} + + + +.timeline .timeline-item { + width: 40px; + +} + +.timeline .timeline-stats { + position: relative; + font-size: 12px; + color: var(--darkgray); + +} + +.empImge{ + border-radius: 50%; + width:100%; + height: 100%; + border: #dedede solid 1px; + +} +.empImgeRep { + border-radius: 50% !important; + width: 80px; + height: 80px; + border: #dedede solid 1px; +} + +.line{ + padding-bottom:87px; +} + +.attachLable{ + position: absolute; + top: 0px; + z-index: 0; + background: #30b8c6; + color: #fff; + border-radius: 50%; + border: 0px; + width: 24px; + height: 24px; + text-align: center; + font-size: 5px; +} + +.removeLable{ + top: 0px; + z-index: 0; + background: #d8252d; + color: #fff; + border-radius: 50%; + border: 0px; + width: 20px; + height: 20px; + text-align: center; + font-size: 5px; +} + +.note-modal { + // width: 90%; + // height: 50%; + // top: 20%; + // left: 5%; + // right: 5%; + // bottom: 5%; + background: rgba(0, 0, 0, 0.5) !important; + padding: 30% 10% !important; + --height: 12cm !important; + // --width: 80% !important; + --border-radius:20px; + +} +.header-toolbar-new{ + --background: #29B5BF; +} +.title{ + margin-top: -37px; + margin-left: 85px; +} +.title-ar{ + margin-top: -37px; + margin-right: 101px; +} +.confirmEitOkButton{ + white-space: normal !important; + text-transform: capitalize !important; + min-height: 45px !important; + min-width: 5px !important; + margin: 8px !important; + background-color: #29B5BF; + width: 80% !important; + color: white!important; + border-radius: 16px !important; +} + +.approvalTitle-ar{ + font-weight: bold; + font-size: 16px; + text-align: right; + +} +.approvalTitle{ + font-weight: bold; + font-size: 16px; + text-align: left; +} diff --git a/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.spec.ts b/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.spec.ts new file mode 100644 index 00000000..4e7175df --- /dev/null +++ b/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ConfirmAddEitComponent } from './confirm-add-eit.component'; + +describe('ConfirmAddEitComponent', () => { + let component: ConfirmAddEitComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ConfirmAddEitComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ConfirmAddEitComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.ts b/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.ts new file mode 100644 index 00000000..72cf9af1 --- /dev/null +++ b/Mohem/src/app/sit/confirm-add-eit/confirm-add-eit.component.ts @@ -0,0 +1,568 @@ +import { WorkListAttachViewComponent } from './../../notification/work-list-attach-view/work-list-attach-view.component'; +import { AddAttachComponent } from './../add-attach/add-attach.component'; +import { NotificationGetAttachResponse } from './../models/NotificationGetAttachRes'; +import { EITNotificatonBodyResponse } from './../models/EITNotificationBodyRes'; +import { WorkListButtonRequest } from './../models/NotificationButtonReq'; +import { ApproversList } from './../../absence/models/approvers'; +import { EitRequest } from './../models/eit.request'; +import { Component, OnInit } from '@angular/core'; +import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response'; +import { ModalController } from '@ionic/angular'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { EitService } from '../services/eit.service'; +import { AddEitResponse } from '../models/add.eit.response'; +import { FileUploader } from 'ng2-file-upload'; +import { SubmitEitModalComponent } from '../submit-eit-modal/submit-eit-modal.component'; + +@Component({ + selector: 'app-confirm-add-eit', + templateUrl: './confirm-add-eit.component.html', + styleUrls: ['./confirm-add-eit.component.scss'], +}) +export class ConfirmAddEitComponent implements OnInit { + + private P_TransactionID: number; + private eitRequest: EitRequest; + approversList = []; + addrespList: any;//EitRespModel; + eitComments: string = ""; + menuType: string = ""; + selEmp: string = ""; + respID: number; + selMenu: MenuResponse; + getAttachList: any; + attachListDisplay: any = []; + headerTitle: string = ""; + isTrue: any = 0; + attachItems: any; + public isResubmitEIT: boolean = false; + private itemKey: string = ""; + private pActionMode: string = "SUBMIT"; + attachReqObj: WorkListButtonRequest = new WorkListButtonRequest(); + attachmentRes: any; + objIndex1: any; + attachListOver: any = []; + index: any = 0; + getPassNotificationDetails: any; + isSubmitBtnClicked: boolean; + isDelete: boolean = false; + + /***Add Attchment Vars */ + isUpload: boolean = false; + inQueue: boolean = false; + addAttachmentListReq: any; + attachmentID: number = 0; + addAttachRequest: any = []; + fileData: any; + fileType: any; + dirPage: any; + TransactionID: any; + indexLastObj: any = 0; + filterAllowedType: any = ['application/pdf', 'image/jpeg', 'image/png', 'text/plain', 'image/jpg', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet']; + direction: string; + + + constructor(public modalController: ModalController, public cs: CommonService, private ts: TranslatorService, private eitService: EitService) { + this.direction = TranslatorService.getCurrentLanguageName() + this.isSubmitBtnClicked = false; + this.eitRequest = new EitRequest(); + } + + ngOnInit() { + // console.log('ionViewDidLoad ConfirmAddEitPage'); + // let selMenu:MenuResponse=new MenuResponse(); + this.selMenu = this.cs.sharedService.getSharedData(MenuResponse.SHARED_DATA, false); + this.selEmp = this.cs.sharedService.getSharedData(MenuResponse.SHARED_SEL_EMP, false); + this.respID = this.cs.sharedService.getSharedData(MenuResponse.SHARED_SEL_RESP_ID, false); + this.eitRequest = this.cs.sharedService.getSharedData(EitRequest.SHARED_DATA, false); + this.isResubmitEIT = this.cs.sharedService.getSharedData('confirmAddEITData', false).isResubmit; + if (this.isResubmitEIT) { + this.getPassNotificationDetails = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.NOT_WORKLIST, false); //WARINING ** + // console.log("this.getPassNotificationDetails: " + this.getPassNotificationDetails); + this.P_TransactionID = this.cs.sharedService.getSharedData("TransactionIDResubmit", true); + // let notification = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.NOT_WORKLIST, true); + + this.itemKey = this.getPassNotificationDetails.ITEM_KEY; + this.pActionMode = "RESUBMIT"; + this.menuType = "E"; + this.respID = -999; + this.selEmp = this.eitRequest.P_SELECTED_EMPLOYEE_NUMBER; + this.getApproversList(); + this.getAttachment(this.getPassNotificationDetails.NOTIFICATION_ID); + let msg: string = ""; + msg = this.ts.trPK("eit", "update-title"); + this.headerTitle = msg; + } else { + this.menuType = this.selMenu.List_Menu.MENU_TYPE; + this.headerTitle = this.selMenu.GetMenuEntriesList.PROMPT; + this.addrespList = this.cs.sharedService.getSharedData(AddEitResponse.SHARED_DATA); + this.itemKey = this.addrespList.SubmitEITTransactionList.P_ITEM_KEY; + this.P_TransactionID = this.addrespList.SubmitEITTransactionList.P_TRANSACTION_ID; + this.isDelete = this.isResubmitEIT = this.cs.sharedService.getSharedData('confirmAddEITData', false).isDelete; + + + this.getApproversList(); + // this.confirmAddEit.submitEit(this.eitRequest).subscribe((result: AddEitResponse) => { + // this.handleSubmitEitResult(result); + // }); + } + } + + getApproversList() { + let body: any = { + P_TRANSACTION_ID: this.P_TransactionID, + P_AME_TRANSACTION_TYPE: "SSHRMS", + P_PAGE_NUM: 1, + P_PAGE_LIMIT: 1000 + } + this.eitService.getApproversList( + body). + subscribe((result: any) => { + this.handleApproversResult(result); + }); + } + + handleApproversResult(result) { + if (this.cs.validResponse(result)) { + this.approversList = result.GetApprovesList; + // console.log("approvers List" + this.approversList); + } + } + + startEitApproval() { + //first call add attach inside success call submit + // if(this.isResubmitEIT){ + // this.startEITApprovalProcess(); + // }else{ + // let listToAdd:any=[]; + if (this.attachListOver) { + // this.attachListOver.forEach(element => { + // if(element.toAdd==true) + // listToAdd.push(element); + // }); + + let request = { + AddAttachmentList: this.attachListOver + } + + this.eitService.addAttachment( + request). + subscribe((result: any) => { + this.handleAddAttachmentResults(result); + }); + } else { + this.startEITApprovalProcess(); + } + // } + } + + + handleAddAttachmentResults(result) { + + if (this.cs.validResponse(result)) { + //this.isUpload=true; + this.isTrue = 0; + for (let i = 0; i < result.AddAttSuccessList.length; i++) { + if (!result.AddAttSuccessList[i].AddSuccess) { + this.attachListOver[i].isSuccess = false; + //this.attachItems[i].isSuccess = false; + // if false display cancel button with waring icon or design + }// end if + else { + // if true remove cancel and set isSuccess = true + // this.attachItems[i].isSuccess = true; + this.attachListOver[i].isSuccess = true; + this.isTrue = this.isTrue + 1; //count flag of attach status + } // end else + } // end for + + if (this.isTrue == result.AddAttSuccessList.length) { + this.startEITApprovalProcess(); + } + else { + //stope + let filtered = this.attachListOver.filter(function (el) { return el.isSuccess == true; }); + this.attachListOver = filtered; + let msg: string = ""; + msg = this.ts.trPK("eit", "attach-errorMsg"); + this.cs.presentAlert(msg); + // this.cs.presentAlert("fail to upload some attach file"); + } + } + } + + startEITApprovalProcess() { + let request: any = {}; + request.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; + request.P_MENU_TYPE = this.menuType; + request.P_SELECTED_RESP_ID = this.respID; + request.P_TRANSACTION_ID = this.P_TransactionID; + request.P_ITEM_KEY = this.itemKey; + request.P_ACTION_MODE = this.pActionMode; + request.P_COMMENTS = this.eitComments; + this.eitService.startEitApprovalProcess( + request). + subscribe((result: any) => { + this.handleResults(result); + }); + } + cancelEitProcess() { + let body: any = { + P_TRANSACTION_ID: this.P_TransactionID + } + this.eitService.cancelHRTransaction( + body). + subscribe((result: any) => { + this.handleCancelResults(result); + }); + + } + handleCancelResults(result) { + if (this.cs.validResponse(result)) { + this.isSubmitBtnClicked = false; + // this.navCtrl.popToRoot(); + } + } + handleResults(result) { + if (this.cs.validResponse(result)) { + this.isSubmitBtnClicked = true; + //if(this.isResubmitEIT==false){ + let msg: string = this.ts.trPK("eit", "approval-message-success"); + this.cs.presentAlert(msg); + // } + // this.navCtrl.popToRoot(); + + // this.cs.openHome(); + this.cs.openNotificationPage(); + } + } + + // addAttachment(){ + // this.navCtrl.push('AddAttachPage'); + + + // } + + async addAttachment(str: boolean, attachItems: any) { + // console.log("inside attach modal"); + //open the modal with return data + let attachDocID = attachItems.ATTACHED_DOCUMENT_ID; + + this.cs.sharedService.setSharedData( this.P_TransactionID, 'TransactionID'); + this.cs.sharedService.setSharedData(this.attachListOver.length, 'indexLastObj'); + + const modal = await this.modalController.create({ + component: AddAttachComponent + }); + + modal.onDidDismiss() + .then((data) => { + if (data == "cancel" || data == "undefined") { + return; + } else { + if (!str) { + + // this.attachItems = data.map(function(el) { + // var o = Object.assign({}, el); + // o.isSuccess = false; + // return o; + // }) + // this.objIndex1 =this.attachmentRes.findIndex(item => item == attachItems); //to use it in remove attach + //.ATTACHED_DOCUMENT_ID + this.updateFile(data, attachDocID); + } else { + console.log(data); + this.attachListDisplay = data.data; + this.attachItems = this.attachListDisplay.map(function (el) { + var o = Object.assign({}, el); + o.isSuccess = false; + return o; + }); + + this.attachListOver = this.attachListOver ? this.attachListOver.concat(this.attachItems) : this.attachItems; + // this.attachListOver = this.attachListDisplay; + } + // this.attachListDisplay=data; + + // this.attachItems = this.attachListDisplay.map(function(el) { + // var o = Object.assign({}, el); + // o.isSuccess = false; + // return o; + // }) + } + }); + + return await modal.present(); + } + + /*****submit modal********/ + async openSubmitModal() { + this.cs.sharedService.setSharedData( this.attachListOver, 'submitAttachmentList'); + this.cs.sharedService.setSharedData(this.eitComments, 'eitComments'); + const modal = await this.modalController.create({ + component: SubmitEitModalComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'note-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + this.startEitApproval(); + } + }); + + return await modal.present(); + + + + + } + + + + removeFile(objectitem) { + + + // if (this.attachItems) { + // let index1 = this.attachItems.findIndex(item => item == objectitem); + // if (index1 > -1) { + + // this.attachItems.splice(index1, 1); + // } + // this.attachListDisplay =this.attachListDisplay.filter(item => item.AttachmentID !== objectitem.AttachmentID); + // } + if (this.attachListOver) { + let index2 = this.attachListOver.findIndex(item => item == objectitem); + if (index2 > -1) { + this.attachListOver.splice(index2, 1); + } + //this.attachListOver =this.attachListOver.filter(item => item.AttachmentID !== objectitem.AttachmentID); + } + if (this.attachmentRes) { + + let index3 = this.attachmentRes.findIndex(item => item == objectitem); + if (index3 > -1) { + + this.attachmentRes.splice(index3, 1); + } + } + + } + + + getAttachment(NotificationID) { + + this.attachReqObj.P_NOTIFICATION_ID = NotificationID; + + this.eitService.getAttach(this.attachReqObj). + subscribe((result: NotificationGetAttachResponse) => { + this.handleWorkListAttachResult(result); + }); + } + + handleWorkListAttachResult(result) { + if (this.cs.validResponse(result)) { + // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); + if (result.GetAttachementList != null) { + this.attachmentRes = result.GetAttachementList; + } // if result == null + } // valid it + + } + + async OpenAttachFiles(value, Type) { + // let modal: Modal = this.modalCtrl.create('WorkListAttachViewPage', { displayData: value, TypeData: Type }); + // modal.present(); + + this.cs.sharedService.setSharedData({ displayData: value, TypeData: Type }, 'WorkListAttachViewPage'); + const modal = await this.modalController.create({ + component: WorkListAttachViewComponent + }); + + modal.onDidDismiss() + .then((data) => { + }); + + return await modal.present(); + } + + + delelteFile(attach) { + // let alert = this.cs.confirmAlertDialog(this.translate.translate('general.deletePerm')); + + this.cs.confirmAlertDialog((data) => { + if (data == true) { + this.continueDelete(attach); + } + }, this.ts.trPK('general', 'ok'), () => { + + }, this.ts.trPK('general', 'cancel'), this.ts.trPK('general', 'alert'), this.ts.trPK('eit', 'delete-perm')); + + // alert.onDidDismiss((data) => { + // if (data == true) { + // this.continueDelete(attach); + // } + // }); + + + } + continueDelete(attach) { + // console.log("trst" + attach.ATTACHED_DOCUMENT_ID); + let req = { + P_ATTACHED_DOCUMENT_ID: attach.ATTACHED_DOCUMENT_ID + } + this.eitService.deleteAttach(req). + subscribe((result: any) => { + if (this.cs.validResponse(result)) { + if (result.DeleteAttachmentList.P_RETURN_STATUS === "S") { + this.getAttachment(this.getPassNotificationDetails.NOTIFICATION_ID); + let msg: string = ""; + msg = this.ts.trPK("eit", "deleteAttach"); + this.cs.presentAlert(msg); + //this.cs.presentAlert("Success" ); + } + } + }); + } + + updateFile(attachList, attachDocID) { + //console.log("updateFile" + attachDocID.ATTACHED_DOCUMENT_ID); + let req = { + P_ATTACHED_DOCUMENT_ID: attachDocID, + P_FILE_DATA: attachList[0].P_FILE_DATA, + P_FILE_NAME: attachList[0].P_FILE_NAME, + P_FILE_CONTENT_TYPE: attachList[0].P_FILE_CONTENT_TYPE + } + this.eitService.updateAttach(req). + subscribe((result: any) => { + if (this.cs.validResponse(result)) { + if (result.MessageStatus == 1) { + let msg: string = ""; + msg = this.ts.trPK("eit", "attachUpdate"); + this.cs.presentAlert(msg); + // this.cs.presentAlert("updated attach successfully" ); + + //flag to disable update and enable remove + // this.removeFile(attachList); + this.getAttachment(this.getPassNotificationDetails.NOTIFICATION_ID); + } + } // val + }); + } + + + ionViewWillLeave() { + if (this.P_TransactionID && this.isSubmitBtnClicked == false) + this.cancelEitProcess(); + } + + /*******************Add attchement Functions*************/ + + public uploader: FileUploader = new FileUploader({ + allowedMimeType: ['application/pdf', 'image/jpeg', 'image/png', 'text/plain', 'image/jpg', 'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'], + maxFileSize: 10 * 1024 * 1024, + formatDataFunctionIsAsync: true, + formatDataFunction: async (item) => { + return new Promise((resolve, reject) => { + resolve({ + name: item._file.name, + length: item._file.size, + contentType: item._file.type, + date: new Date() + }); + }); + } + }); + + + onFileSelectedclick(event){ + event.target.value = ''; + } + + + + onFileSelected(input) { + + // this.uploader.onWhenAddingFileFailed = function (item: any, filter: any, options: any){ + + if (!(this.filterAllowedType.indexOf(input.target.files[0].type) > -1)) { + let msg: string = ""; + msg = this.ts.trPK("general", "notSupport"); + this.cs.presentAlert(msg); + return + } // todo: show alert that you tried uploading wrong files + + else { + + const file = input.target.files[0]; + + // console.log(file); + + //var encoded = Base64.encode(file); + this.getBase64(file).then( + data => this.pushObject(data, file.name, file.type) + ); + + // } + // }; + + } + } + + + getBase64(file) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.readAsDataURL(file); + reader.onload = () => resolve(reader.result); + reader.onerror = error => reject(error); + }); + } + + + pushObject(fileData, name, type) { + + console.log("before push: "+ this.index); + //this.attachListOver.length++; + try { + let array = name.split('.'); + let attachType: string = array[array.length - 1]; + + this.attachListOver.push( + { + AttachmentID: this.attachListOver.length, + P_FILE_CONTENT_TYPE: attachType,//type.split('/')[1], + P_FILE_DATA: fileData.split(',')[1], + P_FILE_NAME: name,//.split('.')[0], + P_TRANSACTION_ID: this.P_TransactionID + }) + + } catch (e) { + + } + + + //console.log("after push: "+ this.index); + // return this.addAttachRequest + } + + + // removeFile(objectitem) { + + // let objIndex1 = this.uploader.queue.findIndex(item => item == objectitem); + // this.uploader.queue.splice(objIndex1, 1); + // let objIndex = this.addAttachRequest.findIndex(item => item.AttachmentID == objectitem.AttachmentID); + // this.addAttachRequest.splice(objIndex, 1); + // // this.addAttachRequest =this.addAttachRequest.filter(item => item.AttachmentID !== objectitem.AttachmentID); + + // } + + +} diff --git a/Mohem/src/app/sit/eit-list/eit-list.component.html b/Mohem/src/app/sit/eit-list/eit-list.component.html new file mode 100644 index 00000000..1a5cdeca --- /dev/null +++ b/Mohem/src/app/sit/eit-list/eit-list.component.html @@ -0,0 +1,259 @@ + + + + +
+ +
+ + + +

{{ts.trPK('absenceList','tickets-balance')}}

+
+ +
+
+ + + + +
+
+ + + + + +
+ + + +
+ + +
+ +
+ + +
+ +
+ + + +
+
+
+ + +
+
+
+
+ + +
+ + +
+ +
+
+ +
+
+ +
+ +
+
+ + +
+
+ +
+ +
+
+ +
+
+
+ + +
+
+ + + + + +
+ + + + + + + + + + + +
+ + + + + + + + +
+
+ + + + + + + + +
+ +
+
+
+
+
+ + + + +

{{'general, noData' | translate}}

+
+ +
+ +
+ + + + + + +
+ +
+ +
+ + + + + +
+ +
+
+
+
+ +
+
+
+ +
+
+ +
+
+ + + + +
+
+ + + + + + \ No newline at end of file diff --git a/Mohem/src/app/sit/eit-list/eit-list.component.scss b/Mohem/src/app/sit/eit-list/eit-list.component.scss new file mode 100644 index 00000000..1c5f758a --- /dev/null +++ b/Mohem/src/app/sit/eit-list/eit-list.component.scss @@ -0,0 +1,334 @@ +.footer-button { + border-radius: 2px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; +} + +.datetime{ + // text-align: center; + // font-family: WorkSans-Bold; + // margin-left: 111px; + text-align: center; + font-family: WorkSans-Bold; + margin-left: 47px; + margin-top: -19px; + + } +.iconCalendar{ + // margin-left: -241px; + // margin-top: 5px; + margin-left: 30px !important; + width: 22% !important; + height: 26px !important; + margin-top: -69px !important; + margin-bottom: 20px !important; + } +h4 { + font-size: 2.2rem; + text-align: center; + color: #000000; +} +.grids{ + border-radius: 20px !important; + background: white; + padding-left: 1px; + padding-right: 1px; + margin: 13px; + padding-top: 0px; + padding-bottom: 3px; + padding-left: 13px; + padding-right: 13px; + border: 1px solid #cac8c8; + } + + .bgcolor { + + color: white; + border-top-right-radius: 19px; + border-top-left-radius: 15px; + padding-top: 1; + padding-bottom: 0; + margin-top: 0; + margin-bottom: 0; + /* border-radius: 12px !important; */ + background: #29B5BF; + border-bottom: 1px solid #a7a4a4; + border-top: 1px solid #cac8c8; + margin-left: -13px; + margin-right: -13px; +} +.colEit{ + border-right: 1px solid #cac8c8; + border-bottom-left-radius: -10px !important; + padding-top: 8px; + padding-bottom: 8px; + margin-left: 18px; + font-size: 12px !important; +} + +.header-div { + + background-color: #29B5BF; + text-transform: capitalize; + height: 160px; + // position: relative; + display: block; + margin-bottom: -28px; +} + +.header-toolbar-new{ + --background: #29B5BF; +} + +.addClass{ + background-color: #29B5BF; + width: 80px; + height: 80px; + right: 8%; + position: fixed; + color: white; + bottom: 5%; + border-radius: 50%; + z-index: 999; + -webkit-box-shadow: 2px -1px 13px 0px rgba(0,0,0,0.59); + -moz-box-shadow: 2px -1px 13px 0px rgba(0,0,0,0.59); + box-shadow: 2px -1px 13px 0px rgba(0,0,0,0.59); +} + +.contentEit:before { + position: absolute; +content: ""; +// background: #29B5BF; +height: 140px; +width: 100%; +left: 0; +top: 0px; +z-index: 1; +} + +.hrClass{ + border-width: 0; + box-sizing: content-box; + border-bottom: 1px solid #e6e6e6; + background: #fff !important; + height: 1px; +} + +//////////////////////////////// +.content:before { + position: absolute; +content: ""; +background: #29B5BF; +height: 140px; +width: 100%; +left: 0; +top: 0px; +z-index: 1; +} + + +.colorBG{ + --background: #f0efef; + } + +.Title{ + text-align: center; + color: white; + margin-top: -33px; + font-size: 17px; +} +.title{ + text-align: center; + color: black; + margin-top: 5px; + font-size: 17px; +} +.today-graph{ + display: block !important; + height: 196px; + width: 365px; + /* padding-left: 51px; */ + margin-left: 28px !important; +} + + .headerGrid{ + // background-color: white !important; + // border: 1px solid #cac8c8 !important; + // border-radius: 20px !important; + // padding-top: 28px; + // padding-bottom: 53px; + // margin-left: 9px; + // margin-right: 13px; + // margin-top: -94px; + // margin-bottom: 10px; + background-color: white !important; + border: 1px solid #cac8c8 !important; + /* padding-top: 28px; */ + padding-bottom: 53px; + padding-top: -30px; + margin-left: 13px; + margin-right: 13px; + /* margin-top: -86px; */ + margin-bottom: 10px; + position: relative; + z-index: 1; + border-radius: 20px; + margin-top: 17px; + } + .result-graph{ + font-size: 14px; + margin-left: -48px; + margin-right: 3px; + margin-bottom: -30px; + + + + } + + .green-label{ + font-size: 15px !important; + margin-left: 7px !important; + margin-right: 42px; + } + .green-label-ar{ + font-size: 15px !important; + margin-left: 7px !important; + margin-right: 15px; + } + .blue-label{ + font-size: 15px !important; + margin-left: 7px !important; + margin-right: 13px; + } + .light-label{ + font-size: 15px !important; + margin-left: 7px !important; + margin-right: -26px; + } + .light-label-ar{ + font-size: 15px !important; + margin-right: 7px !important; + margin-left: -26px; + } + + .light-dote{ + background-color: #3CB9D5; + width: 12px; + height: 12px; + border-radius: 50% !important; + display: inline-block; + } + .blue-dote{ + + background-color: #29B5BF; + width: 12px; + height: 12px; + border-radius: 50% !important; + display: inline-block; + } + .green-dote{ + background-color: #1FA269; + width: 12px; + height: 12px; + border-radius: 50% !important; + display: inline-block; + margin-right: -1px; + } + .col{ + text-align: right; + } + + .gridService{ + + /* margin-top: 87px; */ + border-radius: 10px; + /* margin-bottom: -49px; */ + margin-left: 14px; + margin-right: 14px; + + } + .columns{ + margin: 3px; + margin-bottom: 13px; + background: white; + border-radius: 27px; + padding-left: 30px; + padding-right: 6px; + padding-top: 19px; + padding-bottom: 8px; + border: 1px solid #cac8c8 !important; + } + + + .service{ + font-size: 22px; + color: black; + letter-spacing: 1px; + font-weight: bold; + } + .services{ + + font-size: 12px; + color: black; + } + + .adult-dote{ + background-color: #3CB9D5; + width: 15px; + height: 15px; + border-radius: 50% !important; + display: inline-block; + margin-left: -17px; + margin-right: 5px; + } + + .adult-dote-ar{ + background-color: #3CB9D5; + width: 15px; + height: 15px; + border-radius: 50% !important; + display: inline-block; + margin-right: 0px; + margin-left: 5px; + } + .child-dote{ + + background-color: #29B5BF; + width: 15px; + height: 15px; + border-radius: 50% !important; + display: inline-block; + margin-left: -17px; + margin-right: 5px; + } + .child-dote-ar{ + background-color: #29B5BF; + width: 15px; + height: 15px; + border-radius: 50% !important; + display: inline-block; + margin-right: 1px; + margin-left: 5px; + } + .infants-dote{ + background-color: #1FA269; + width: 15px; + height: 15px; + border-radius: 50% !important; + display: inline-block; + margin-left: -17px; + margin-right: 5px; + // margin-bottom: 6px; + } + + .infants-dote-ar{ + background-color: #1FA269; + width: 15px; + height: 15px; + border-radius: 50% !important; + display: inline-block; + margin-right: 1px; + margin-left: 5px; + } + diff --git a/Mohem/src/app/sit/eit-list/eit-list.component.spec.ts b/Mohem/src/app/sit/eit-list/eit-list.component.spec.ts new file mode 100644 index 00000000..c34639df --- /dev/null +++ b/Mohem/src/app/sit/eit-list/eit-list.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EitListComponent } from './eit-list.component'; + +describe('EitListComponent', () => { + let component: EitListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ EitListComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EitListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/eit-list/eit-list.component.ts b/Mohem/src/app/sit/eit-list/eit-list.component.ts new file mode 100644 index 00000000..5bde6589 --- /dev/null +++ b/Mohem/src/app/sit/eit-list/eit-list.component.ts @@ -0,0 +1,609 @@ +import { AddEitComponent } from './../add-eit/add-eit.component'; +import { ModalController } from '@ionic/angular'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { EitRequest } from './../models/eit.request'; +import { EITTransactionsRequest } from './../models/EITTransactionsReq'; +import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response'; +import { Component, OnInit } from '@angular/core'; +import { EitService } from '../services/eit.service'; +import { EIT_ACTION } from '../models/submit.eit.action'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { AddEitResponse } from '../models/add.eit.response'; +import { AccrualService } from 'src/app/accrual-balances/services/accrual.service'; +import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; +import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; + +@Component({ + selector: 'app-eit-list', + templateUrl: './eit-list.component.html', + styleUrls: ['./eit-list.component.scss'], +}) +export class EitListComponent implements OnInit { + Sdate: any; + emp_no: any; + balance:any; + //////////////up + P_PAGE_NUM: number; + P_PAGE_LIMIT: number; + IsReachEnd = false; + userName: any; + isDelete = false; + getResEITTransactionList: any = []; + eitAddedList: any = []; + getPassMnuEntryObj: any; + selMenu: MenuResponse = new MenuResponse(); + EITTransactionsListObj: EITTransactionsRequest = new EITTransactionsRequest(); + selEmp: string; + respID: number; + transactionNo = 0; + menuType = ''; + public functionName = ''; + private eitRequest: EitRequest; + private eitTransactionTbl: any = []; + private validEitTransactionTbl: any = []; + private desxFlexCode = ''; + private selectedIndex: number; + private pAction = 0; + public headerTitle = ''; + data: any; + accrualNetInfants: any; + accrualUNetChild: any; + accrualNetAdult: any; + + public options = { + cutoutPercentage: 80, + tooltips: { enabled: false }, + legend: { display: false }}; + gaugeType = 'full'; + accrualBalancesList: any; + common: any; + direction: string; + // gaugeValue = 11.200; + // gaugeLabel = ""; + + // tslint:disable-next-line: max-line-length + constructor(private cs: CommonService, private EITService: EitService, public ts: TranslatorService, + private modalCtrl: ModalController, public accrualService: AccrualService, public authService:AuthenticationService,) { + this.direction = TranslatorService.getCurrentLanguageName(); + this.selMenu = this.cs.sharedService.getSharedData(MenuResponse.SHARED_DATA, false); + this.selEmp = this.cs.sharedService.getSharedData(MenuResponse.SHARED_SEL_EMP, false); + this.respID = this.cs.sharedService.getSharedData(MenuResponse.SHARED_SEL_RESP_ID, false); + this.getPassMnuEntryObj = this.selMenu.GetMenuEntriesList; + this.menuType = this.selMenu.List_Menu.MENU_TYPE; + this.transactionNo = 0; + this.functionName = this.getPassMnuEntryObj.FUNCTION_NAME; + this.headerTitle = this.selMenu.GetMenuEntriesList.PROMPT; + this.validEitTransactionTbl = []; + this.P_PAGE_NUM = 1; + this.P_PAGE_LIMIT = 50; + } + + ngOnInit() { + ///////////// + this.Sdate = new Date().toISOString(); + this.getUserDetails(); + ////////////////up + this.getEITTransactions(); + + this.accrualBalancesList = this.cs.sharedService.getSharedData('tickitsbalance', false); + // accrualNetInfants + // accrualUNetChild + // accrualNetAdult + if(this.accrualBalancesList){ + this.accrualNetAdult = this.accrualBalancesList[1].ACCRUAL_NET_ENTITLEMENT; + this.accrualUNetChild = this.accrualBalancesList[2].ACCRUAL_NET_ENTITLEMENT; + this. accrualNetInfants = this.accrualBalancesList[3].ACCRUAL_NET_ENTITLEMENT; + } + this.data = { + // labels: ['earingTotal', 'deductionTotal'], + datasets: [ + { data: [this.accrualNetInfants, this.accrualUNetChild, this.accrualNetAdult], + backgroundColor: [ + '#1FA269', + '#29B5BF', + '#3CB9D5', ], + borderWidth: 2 + } + ] + }; + } + + getUserDetails(){ + this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { + if (user) { + // this.emp_no=user.EMPLOYEE_NUMBER; + + } + }); + } + public getAccrualBalance() { + if (this.Sdate) { + let today = new Date(this.Sdate); + let day = today.getDate(); + let month = today.getMonth() + 1; + let year = today.getFullYear(); + let todayDate = month + '/' + day + '/' + year; + let effectiveDate = todayDate; + const request = { + P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, + P_EFFECTIVE_DATE: effectiveDate + }; + this.accrualService + .getAccrualBalances(request) + .subscribe((result: any) => { + this.handleAccrualResult(result); + }); + } + } + handleAccrualResult(result) { + if (this.cs.validResponse(result)) { + this.balance=result.GetAccrualBalancesList; + this.accrualNetAdult = this.balance[1].ACCRUAL_NET_ENTITLEMENT; + this.accrualUNetChild = this.balance[2].ACCRUAL_NET_ENTITLEMENT; + this. accrualNetInfants = this.balance[3].ACCRUAL_NET_ENTITLEMENT; + } + } + /////////////////////////////////// + + getEITTransactions() { + this.IsReachEnd = false; + this.EITTransactionsListObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; + this.EITTransactionsListObj.P_PAGE_NUM = this.P_PAGE_NUM; + this.EITTransactionsListObj.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; + this.EITTransactionsListObj.P_SELECTED_RESP_ID = this.respID; + this.EITTransactionsListObj.P_MENU_TYPE = this.selMenu.List_Menu.MENU_TYPE; + this.EITTransactionsListObj.P_FUNCTION_NAME = this.getPassMnuEntryObj.FUNCTION_NAME; + this.EITService.getEITTransactionsList(this.EITTransactionsListObj). + subscribe((result: any) => { + this.handleEITTransactionsResult(result); + }); + } + + handleEITTransactionsResult(result) { + if (this.cs.validResponse(result)) { + if (this.cs.hasData(result.GetEITTransactionList)) { + this.getResEITTransactionList = result.GetEITTransactionList; + this.P_PAGE_NUM++; + this.EITTransactionsListObj.P_PAGE_NUM = this.P_PAGE_NUM; + const lastItemIndex = this.getResEITTransactionList.length - 1; + if (result.GetEITTransactionList[lastItemIndex] && result.GetEITTransactionList[lastItemIndex].Collection_Transaction[0]) { + const lastitem = result.GetEITTransactionList[lastItemIndex].Collection_Transaction[0]; + // tslint:disable-next-line: triple-equals + if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) { + this.IsReachEnd = true; + } else { + this.IsReachEnd = false; + } + } + } + } + } + + doInfinite(infiniteScroll) { + if (!this.IsReachEnd) { + + this.EITService.getEITTransactionsList(this.EITTransactionsListObj). + subscribe((result: any) => { + if (this.cs.validResponse(result)) { + if (this.cs.hasData(result.GetEITTransactionList)) { + this.P_PAGE_NUM++; + this.EITTransactionsListObj.P_PAGE_NUM = this.P_PAGE_NUM; + result.GetEITTransactionList.forEach(vr => { + console.log(vr.length); + if(vr.length && vr.length != 0){ + if (vr.Collection_Transaction[0].ROW_NUM == vr.Collection_Transaction[0].NO_OF_ROWS) { + this.IsReachEnd = true; + } else { + this.IsReachEnd = false; + } + this.getResEITTransactionList.push(vr); + } + }); + } else { + this.IsReachEnd = true; + } + } + // this.P_PAGE_NUM++; + if (infiniteScroll) { + infiniteScroll.target.complete(); + } + }, (Error) => console.log(Error), () => infiniteScroll.target.complete()); + } else { + if (infiniteScroll) { + infiniteScroll.target.complete(); + } + } + } + + addEITRrq(i?) { + this.pAction = EIT_ACTION.ADD; + // this.sharedData.setSharedData(this.getResEITTransactionList[i].Collection_Transaction,EITTransactionsRequest.SHARED_DATA); + this.cs.sharedService.setSharedData(this.pAction, EITTransactionsRequest.SUBMIT_EIT_ACTION); + // this.navCtrl.push("AddEitPage"); + // this.openEit(i); + this.openEitNew(i); + } + updateEITRrq(i) { + this.pAction = EIT_ACTION.UPDATE; + this.cs.sharedService.setSharedData(this.getResEITTransactionList[i].Collection_Transaction, EITTransactionsRequest.SHARED_DATA); + this.cs.sharedService.setSharedData(this.pAction, EITTransactionsRequest.SUBMIT_EIT_ACTION); + // this.fillEitTransactionTable(i); + // this.navCtrl.push("AddEitPage"); + // this.openEit(i); + this.openEitNew(i); + } + deleteEIT(i) { + this.deleteEITRrq(i); + // let alert=this.common.showConfirmMsg(this.translate.translate('requestEit.deleteReq')); + // alert.onDidDismiss((data) => { + // if(data==true){ + // this.deleteEITRrq(i); + // } + // }); + } + + deleteEITRrq(i) { + const list: any = this.getResEITTransactionList[i]; + // tslint:disable-next-line: triple-equals + if (list.statusID != 2) { + this.selectedIndex = i; + // if(this.transactionNo==0) + this.transactionNo++; + this.pAction = EIT_ACTION.DELETE; + // this.sharedData.setSharedData(this.getResEITTransactionList[i].Collection_Transaction,EITTransactionsRequest.SHARED_DATA); + // this.sharedData.setSharedData(EIT_ACTION.DELETE,EITTransactionsRequest.SUBMIT_EIT_ACTION); + this.fillEitTransactionTable(i); + this.validateEITTransaction(); + // this.submitEit(); + // this.navCtrl.push("AddEitPage"); + } else { + let msg = ''; + msg = this.ts.trPK('general', 'attemptDel'); + this.cs.presentAlert(msg); + + // alert("You are attempting to delete a row that has already been deleted."); + } + } + openEitNew(index) { + let item: any = []; + if (this.pAction == EIT_ACTION.UPDATE) { + item = this.getResEITTransactionList[index].Collection_Transaction; + } + this.transactionNo++; + // tslint:disable-next-line: max-line-length + this.cs.sharedService.setSharedData({ dirfromNotificationPage: false, submitEITObjList: item, transNo: this.transactionNo }, 'AddEITData'); + this.cs.openAddEitPage(); + // this.navCtrl.push('AddEitPage', { dirfromNotificationPage: false, submitEITObjList: item, transNo: this.transactionNo }); + } + async openEit(index) { + let item: any = []; + // tslint:disable-next-line: triple-equals + if (this.pAction == EIT_ACTION.UPDATE) { + item = this.getResEITTransactionList[index].Collection_Transaction; + } + this.transactionNo++; + // tslint:disable-next-line: max-line-length + this.cs.sharedService.setSharedData({ dirfromNotificationPage: false, submitEITObjList: item, transNo: this.transactionNo }, 'AddEITData'); + const modalPage = await this.modalCtrl.create({ + component: AddEitComponent + }); + // modalPage.present(); + + modalPage.onDidDismiss() + .then((data: any) => { + if (data) { + // this.transactionNo++; + // this.updatedData=this.updatedData?this.updatedData.concat(data.updated):data.updated; + // this.notificationBodyRes[index].Collection_Transaction=data.updated; + this.selectedIndex = index; + this.desxFlexCode = data.eitRequest.P_DESC_FLEX_CONTEXT_CODE; + // tslint:disable-next-line: triple-equals + if (this.pAction == EIT_ACTION.ADD) { + index = this.eitAddedList.length + 1; + const status = this.ts.trPK('eit', '.added'); + const statusID = EIT_ACTION.ADD; + const obj = { status, statusID, Collection_Transaction: data.updated }; + this.eitAddedList.push(obj); + } else { + const status = this.ts.trPK('eit', '.updated'); + const statusID = EIT_ACTION.UPDATE; + this.getResEITTransactionList[this.selectedIndex].status = status; + this.getResEITTransactionList[this.selectedIndex].statusID = statusID; + } + this.updateTransactionList(data.eitRequest.EITTransactionTBL, false); + } else { + // tslint:disable-next-line: triple-equals + if (this.transactionNo != 0) { + this.transactionNo--; + } + } + }); + + modalPage.present(); + // modalPage.onDidDismiss(data => { + // if (data) { + // // this.transactionNo++; + // //this.updatedData=this.updatedData?this.updatedData.concat(data.updated):data.updated; + // // this.notificationBodyRes[index].Collection_Transaction=data.updated; + // this.selectedIndex = index; + // this.desxFlexCode = data.eitRequest.P_DESC_FLEX_CONTEXT_CODE; + // if (this.pAction == EIT_ACTION.ADD) { + // index = this.eitAddedList.length + 1; + // let status = this.ts.trPK("eit", ".added"); + // let statusID = EIT_ACTION.ADD; + // let obj = { status: status, statusID: statusID, Collection_Transaction: data.updated }; + // this.eitAddedList.push(obj); + // } else { + // let status = this.ts.trPK("eit", ".updated"); + // let statusID = EIT_ACTION.UPDATE; + // this.getResEITTransactionList[this.selectedIndex].status = status; + // this.getResEITTransactionList[this.selectedIndex].statusID = statusID; + // } + // this.updateTransactionList(data.eitRequest.EITTransactionTBL, false); + // } else { + // if (this.transactionNo != 0) + // this.transactionNo--; + // } + // }); + + + + } + fillEitTransactionTable(index) { + let obj = { peiObjVer: null, peiExtraInfoID: null }; + const list: any = this.getResEITTransactionList[index].Collection_Transaction; + let valuseArr: any = []; + // tslint:disable-next-line: prefer-for-of + for (let i = 0; i < list.length; i++) { + const item = list[i]; + // tslint:disable-next-line: triple-equals + // tslint:disable-next-line: max-line-length + if (item.APPLICATION_COLUMN_NAME != 'PEI_ACTION' && item.APPLICATION_COLUMN_NAME != 'PEI_EXTRA_INFO_ID' && item.APPLICATION_COLUMN_NAME != 'PEI_OBJECT_VERSION_NUMBER') { + this.desxFlexCode = item.DESC_FLEX_CONTEXT_CODE; + // tslint:disable-next-line: triple-equals + if (item.DATE_VALUE == '') { + item.DATE_VALUE = null; + } + valuseArr.push( + { + TRANSACTION_NUMBER: this.transactionNo, + NAME: item.APPLICATION_COLUMN_NAME, + VARCHAR2_VALUE: item.VARCHAR2_VALUE, + NUMBER_VALUE: item.NUMBER_VALUE, + DATE_VALUE: item.DATE_VALUE, + } + ); + } else { + if (item.APPLICATION_COLUMN_NAME == 'PEI_OBJECT_VERSION_NUMBER') { + obj.peiObjVer = item.NUMBER_VALUE; + } + else if (item.APPLICATION_COLUMN_NAME == 'PEI_EXTRA_INFO_ID') { + obj.peiExtraInfoID = item.NUMBER_VALUE; + } + } + + }// end for + // } + valuseArr = this.fillExtraInformation(valuseArr, 'DELETE_ROW', obj.peiExtraInfoID, obj.peiObjVer, this.transactionNo); + this.eitTransactionTbl = valuseArr; + } + + fillExtraInformation(values: any, peiAction: string, peiExtraInfoID: number, peiObjVer: number, transNo: number): any { + values.push( + { + TRANSACTION_NUMBER: transNo, + NAME: 'PEI_ACTION', + VARCHAR2_VALUE: peiAction, + NUMBER_VALUE: null, + DATE_VALUE: null + }); + values.push( + { + TRANSACTION_NUMBER: transNo, + NAME: 'PEI_EXTRA_INFO_ID', + VARCHAR2_VALUE: null, + NUMBER_VALUE: peiExtraInfoID, + DATE_VALUE: null + }); + values.push( + { + TRANSACTION_NUMBER: transNo, + NAME: 'PEI_OBJECT_VERSION_NUMBER', + VARCHAR2_VALUE: null, + NUMBER_VALUE: peiObjVer, + DATE_VALUE: null + }); + + return values; + } + + submitEit() { + this.eitRequest = new EitRequest(); + const list: any = this.fixTransactionNo(); + this.eitRequest.EITTransactionTBL = list; + this.eitRequest.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; + this.eitRequest.P_MENU_TYPE = this.menuType; + this.eitRequest.P_SELECTED_RESP_ID = this.respID; // this.selMenu.List_Menu.RESP_ID,//-999, + this.eitRequest.P_FUNCTION_NAME = this.functionName; + this.eitRequest.P_DESC_FLEX_CONTEXT_CODE = this.desxFlexCode; + + this.EITService.submitEit(this.eitRequest).subscribe((result: AddEitResponse) => { + this.handleSubmitEitResult(result); + }); + } + handleSubmitEitResult(result) { + if (this.cs.validResponse(result)) { + this.cs.sharedService.setSharedData(this.eitRequest, EitRequest.SHARED_DATA); + this.cs.sharedService.setSharedData(result, AddEitResponse.SHARED_DATA); + // this.addrespList=result.SubmitEITTransactionList; + // this.itemKey=this.addrespList.P_ITEM_KEY; + // this.P_TransactionID=result.SubmitEITTransactionList.P_TRANSACTION_ID; + // this.sharedData.setSharedData(result,AddEitResponse.SHARED_DATA); + + // //this.cs.sharedService.setSharedData(result.SubmitEITTransactionList.P_TRANSACTION_ID,"TransactionIDResubmit"); + // // this.sharedData.setSharedData(this.eitRequest,EitRequest.SHARED_DATA); + this.cs.sharedService.setSharedData({ isResubmit: false, isDelete: this.isDelete }, 'confirmAddEITData'); + this.cs.openConfirmEitPage(); + // this.navCtrl.push("ConfirmAddEitPage", { isResubmit: false, isDelete: this.isDelete }); + } + } + validateEITTransaction() { + this.isDelete = false; + this.eitRequest = { + P_SELECTED_EMPLOYEE_NUMBER: this.selEmp, + P_MENU_TYPE: this.menuType, + P_SELECTED_RESP_ID: this.respID, + P_FUNCTION_NAME: this.functionName, + P_DESC_FLEX_CONTEXT_CODE: this.desxFlexCode, + EITTransactionTBL: this.eitTransactionTbl + }; + + this.EITService.validateEITTransaction(this.eitRequest).subscribe((result: any) => { + this.handleEITValidateTr(result); + }); + } + private handleEITValidateTr(result) { + if (this.cs.validResponse(result)) { + // public static SHARED_DATA = 'login-request'; + // this.sharedData.setSharedData(this.eitRequest, EitRequest.SHARED_DATA); + const status = this.ts.trPK('eit', '.deleted'); + const statusID = EIT_ACTION.DELETE; + this.isDelete = true; + this.getResEITTransactionList[this.selectedIndex].status = status; + this.getResEITTransactionList[this.selectedIndex].statusID = statusID; + this.updateTransactionList(this.eitTransactionTbl, false); + this.submitEit(); + } else { + if (this.transactionNo != 0) { + this.transactionNo--; + } + } + } + updateTransactionList(list, isRemove) { + // let newlist = this.validEitTransactionTbl.map(a => a.NAME='PEI_EXTRA_INFO_ID'); + let isAnewRow = false; + let updateDelTransNo: number; + if (this.cs.hasData(this.validEitTransactionTbl)) { + this.validEitTransactionTbl.forEach(element => { + if (element.NAME == 'PEI_EXTRA_INFO_ID') { + if (element.NUMBER_VALUE == -1) { + isAnewRow = true; + return; + } + } + }); + } + list.forEach(element => { + // NAME=PEI_EXTRA_INFO_ID + // const index = this.validEitTransactionTbl.findIndex(x => x.TRANSACTION_NUMBER === element.TRANSACTION_NUMBER); + // let newlist = this.validEitTransactionTbl.map(a => a.NAME==='PEI_EXTRA_INFO_ID'); + if (isAnewRow == true) { + const index: number = this.validEitTransactionTbl.findIndex(x => x.TRANSACTION_NUMBER === element.TRANSACTION_NUMBER); + // if(index!=-1) + // this.validEitTransactionTbl.splice(index, 1); + } else { + const index: number = this.validEitTransactionTbl.findIndex(x => x.NAME === 'PEI_EXTRA_INFO_ID' && x.NUMBER_VALUE === element.NUMBER_VALUE); + if (index != -1) { + // this.validEitTransactionTbl.splice(index, 1); + if (!updateDelTransNo) { + updateDelTransNo = this.validEitTransactionTbl[index].TRANSACTION_NUMBER; + } + } + } + + }); + if (updateDelTransNo) { + this.removeItems(updateDelTransNo); + } + if (isRemove == false) { + this.validEitTransactionTbl = this.validEitTransactionTbl ? this.validEitTransactionTbl.concat(list) : list; + } + } + + fixTransactionNo(): any[] { + const list: any = []; + let newIndex = 1; + const length: number = this.validEitTransactionTbl.length; + for (let i = 0; i < length; i++) { + // let item :any={}; + const item = Object.assign({}, this.validEitTransactionTbl[i]); + const transNo: number = item.TRANSACTION_NUMBER; + const obj: any = item; + if (i == 0) { + obj.TRANSACTION_NUMBER = newIndex; + list.push(obj); + } else { + const prevEl: any = this.validEitTransactionTbl[i - 1].TRANSACTION_NUMBER; + if (transNo == prevEl) { + obj.TRANSACTION_NUMBER = newIndex; + list.push(obj); + } else { + newIndex++; + obj.TRANSACTION_NUMBER = newIndex; + list.push(obj); + } + } + } + return list; + } + removeItems(transNo) { + const list = []; + for (let i = 0; i < this.validEitTransactionTbl.length; i++) { + if (this.validEitTransactionTbl[i].TRANSACTION_NUMBER != transNo) { + list.push(this.validEitTransactionTbl[i]); + } + } + this.validEitTransactionTbl = list; + } + removeAddedItem(index) { + const list = []; + let item: any = []; + for (let i = 0; i < this.eitAddedList.length; i++) { + if (i != index) { + list.push(this.eitAddedList[i]); + } + } + item = this.eitAddedList[index]; + this.eitAddedList = list; + this.removeItems(item.Collection_Transaction[0].TRANSACTION_NUMBER); + } + + +////////////////////////// +// getUserDetails(){ +// this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { +// if (user) { +// this.emp_no=user.EMPLOYEE_NUMBER; + +// } +// }); +// } +// public getAccrualBalance() { +// if (this.Sdate) { +// let today = new Date(this.Sdate); +// let day = today.getDate(); +// let month = today.getMonth() + 1; +// let year = today.getFullYear(); +// let todayDate = month + '/' + day + '/' + year; +// let effectiveDate = todayDate; +// const request = { +// P_SELECTED_EMPLOYEE_NUMBER: this.emp_no, +// P_EFFECTIVE_DATE: effectiveDate +// }; +// this.accrualService +// .getAccrualBalances(request) +// .subscribe((result: any) => { +// this.handleAccrualResult(result); +// }); +// } +// } +// handleAccrualResult(result) { +// if (this.cs.validResponse(result)) { +// this.balance=result.GetAccrualBalancesList; +// } +// } +} +////////////////////////////////up + + + diff --git a/Mohem/src/app/sit/eit-update-list/eit-update-list.component.html b/Mohem/src/app/sit/eit-update-list/eit-update-list.component.html new file mode 100644 index 00000000..fdd40b5c --- /dev/null +++ b/Mohem/src/app/sit/eit-update-list/eit-update-list.component.html @@ -0,0 +1,61 @@ + + + + {{'eit, update-title' | translate}} + + + + + +
+ + + +
{{'worklistMain, notfDetails' | translate}}
+ + +
+
+ + + +
+ + + +
+ + + + +
+ +
+ +
+
+
+ +
+ + + + +
+ + + +
+
+
+ + +
+ + {{ 'general, next' | translate }} +
+
\ No newline at end of file diff --git a/Mohem/src/app/sit/eit-update-list/eit-update-list.component.scss b/Mohem/src/app/sit/eit-update-list/eit-update-list.component.scss new file mode 100644 index 00000000..841b9670 --- /dev/null +++ b/Mohem/src/app/sit/eit-update-list/eit-update-list.component.scss @@ -0,0 +1,17 @@ +.addEitOkButton{ + white-space: normal !important; + text-transform: capitalize !important; + min-height: 45px !important; + min-width: 5px !important; + margin: 8px !important; + background-color: #29B5BF; + width: 80% !important; + color: white!important; + border-radius: 16px !important; + } + + .editIconDiv{ + right: 10px; + position: absolute; + top: 10px; + } \ No newline at end of file diff --git a/Mohem/src/app/sit/eit-update-list/eit-update-list.component.spec.ts b/Mohem/src/app/sit/eit-update-list/eit-update-list.component.spec.ts new file mode 100644 index 00000000..df56466e --- /dev/null +++ b/Mohem/src/app/sit/eit-update-list/eit-update-list.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EitUpdateListComponent } from './eit-update-list.component'; + +describe('EitUpdateListComponent', () => { + let component: EitUpdateListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ EitUpdateListComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EitUpdateListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/eit-update-list/eit-update-list.component.ts b/Mohem/src/app/sit/eit-update-list/eit-update-list.component.ts new file mode 100644 index 00000000..98431cd3 --- /dev/null +++ b/Mohem/src/app/sit/eit-update-list/eit-update-list.component.ts @@ -0,0 +1,135 @@ +import { AddEitComponent } from './../add-eit/add-eit.component'; +import { ModalController } from '@ionic/angular'; +import { EitRequest } from './../models/eit.request'; +import { Component, OnInit } from '@angular/core'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { EITNotificatonBodyResponse } from '../models/EITNotificationBodyRes'; +import { EitService } from '../services/eit.service'; + +@Component({ + selector: 'app-eit-update-list', + templateUrl: './eit-update-list.component.html', + styleUrls: ['./eit-update-list.component.scss'], +}) +export class EitUpdateListComponent implements OnInit { + + public notificationBodyRes: any = {}; + private updatedData: any = []; + private updatedItem: any; + private itemKey: string = ""; + private notificationId: number; + private selEmp: string; + private functionName: string; + private eitTransactionTbl: any = []; + private eitRequest: EitRequest; + private descFlex: string; + + constructor(public cs: CommonService, public eitService: EitService, public modalController: ModalController) { + this.notificationBodyRes = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.SHARED_DATA, false); + let notification = this.cs.sharedService.getSharedData(EITNotificatonBodyResponse.NOT_WORKLIST, false); + this.itemKey = notification.ITEM_KEY; + this.notificationId = notification.NOTIFICATION_ID; + this.functionName = notification.FUNCTION_NAME; + this.selEmp = notification.SELECTED_EMPLOYEE_NUMBER; + this.descFlex = notification.DESC_FLEX_CONTEXT_CODE; + this.fillEitTransactionTable(); + } + + ngOnInit() { console.log("ngOnInit");} + + async updateEitNot(index) { + let item = this.notificationBodyRes[index].Collection_Notification; + this.cs.sharedService.setSharedData({ dirfromNotificationPage: true, submitEITObjList: item }, 'AddEITData') + const modal = await this.modalController.create({ + component: AddEitComponent + }); + + modal.onDidDismiss() + .then((data: any) => { + // console.log("data" + data); + // console.log("data" + data.data.updated); + // console.log("data" + data.data.eitRequest.EITTransactionTBL); + + + + if(data.data == undefined) + { + return; + } + else if (data.data) { + this.updatedData = this.updatedData ? this.updatedData.concat(data.data.updated) : data.data.updated; + this.notificationBodyRes[index].Collection_Notification = data.data.updated; + this.updateTransactionList(data.data.eitRequest.EITTransactionTBL); + } + }); + + return await modal.present(); + } + + updateTransactionList(list) { + list.forEach(element => { + const index = this.eitTransactionTbl.findIndex(x => x.TRANSACTION_NUMBER === element.TRANSACTION_NUMBER); + if (index != -1) + this.eitTransactionTbl.splice(index, 1); + }); + this.eitTransactionTbl = this.eitTransactionTbl ? this.eitTransactionTbl.concat(list) : list; + } + + resubmitEit() { + this.eitRequest = new EitRequest(); + this.eitRequest.EITTransactionTBL = this.eitTransactionTbl; + this.eitRequest.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; + this.eitRequest.P_MENU_TYPE = "E"; + this.eitRequest.P_SELECTED_RESP_ID = -999; + this.eitRequest.P_FUNCTION_NAME = this.functionName; + this.eitRequest.P_DESC_FLEX_CONTEXT_CODE = this.descFlex; + let body = { + P_NOTIFICATION_ID: this.notificationId, + P_ITEM_KEY: this.itemKey, + EITTransactionTBL: this.eitTransactionTbl + } + this.eitService.reSubmitEit(body).subscribe((result: any) => { + this.handleResubmitEit(result); + }); + } + + handleResubmitEit(result) { + if (this.cs.validResponse(result)) { + this.cs.sharedService.setSharedData(result.ResubmitEITTransactionList.P_TRANSACTION_ID, "TransactionIDResubmit"); + this.cs.sharedService.setSharedData(this.eitRequest, EitRequest.SHARED_DATA); + this.cs.sharedService.setSharedData({ isResubmit: true }, 'confirmAddEITData'); + this.cs.openConfirmEitPage(); + } + } + + fillEitTransactionTable() { + let valuseArr: any = []; + let varcharValue: any = null; + let numbervalue: any = 0; + let dateValue: any = null; + let transNo: number = 1; + let textValue = ""; + // if(this.ExtraObj.transactionNo) + // transNo=this.ExtraObj.transactionNo; + for (let j = 0; j < this.notificationBodyRes.length; j++) { + let list = this.notificationBodyRes[j].Collection_Notification; + for (let i = 0; i < list.length; i++) { + let item = list[i]; + varcharValue = null; + numbervalue = null; + dateValue = null; + valuseArr.push( + { + TRANSACTION_NUMBER: item.TRANSACTION_NUMBER, + NAME: item.APPLICATION_COLUMN_NAME, + VARCHAR2_VALUE: item.VARCHAR2_VALUE, + NUMBER_VALUE: item.NUMBER_VALUE, + DATE_VALUE: item.DATE_VALUE, + } + ) + }// end for + } + this.eitTransactionTbl = valuseArr; + } + +} diff --git a/Mohem/src/app/sit/eit.module.ts b/Mohem/src/app/sit/eit.module.ts new file mode 100644 index 00000000..98d5bde0 --- /dev/null +++ b/Mohem/src/app/sit/eit.module.ts @@ -0,0 +1,81 @@ +import { AddAttachComponent } from './add-attach/add-attach.component'; +import { ConfirmAddEitComponent } from './confirm-add-eit/confirm-add-eit.component'; +import { AddEitComponent } from './add-eit/add-eit.component'; +import { HmgCommonModule } from 'src/app/hmg-common/hmg-common.module'; +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { Routes, RouterModule } from '@angular/router'; +import { IonicModule } from '@ionic/angular'; +import { EITPage } from './eit.page'; +import { HomeComponent } from './home/home.component'; +import { EitListComponent } from './eit-list/eit-list.component'; +import { DatePicker } from '@ionic-native/date-picker/ngx'; +import { WorkListAttachViewComponent } from '../notification/work-list-attach-view/work-list-attach-view.component'; +import { EitUpdateListComponent } from './eit-update-list/eit-update-list.component'; +import { SubmitEitModalComponent } from './submit-eit-modal/submit-eit-modal.component'; + + +const routes: Routes = [ + { + path: '', + component: EITPage, + children: [ + { + path: 'homepage', + component: HomeComponent + }, + { + path: 'eit-list', + component: EitListComponent + }, + { + path: 'add-eit', + component: AddEitComponent + }, + { + path: 'confirm-add-eit', + component: ConfirmAddEitComponent + }, + { + path: 'add-attach', + component: AddAttachComponent + }, + { + path: 'eit-update-list', + component: EitUpdateListComponent + }, + { + path: 'eit-submit-modal', + component: SubmitEitModalComponent + } + ] + } +]; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + HmgCommonModule, + RouterModule.forChild(routes) + ], + declarations: [ + EITPage, + HomeComponent, + EitListComponent, + AddEitComponent, + ConfirmAddEitComponent, + AddAttachComponent, + EitUpdateListComponent, + SubmitEitModalComponent + ], + entryComponents: [ + WorkListAttachViewComponent + ], + providers: [ + DatePicker + ] +}) +export class EITPageModule { } diff --git a/Mohem/src/app/sit/eit.page.html b/Mohem/src/app/sit/eit.page.html new file mode 100644 index 00000000..9834be83 --- /dev/null +++ b/Mohem/src/app/sit/eit.page.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Mohem/src/app/sit/eit.page.scss b/Mohem/src/app/sit/eit.page.scss new file mode 100644 index 00000000..e69de29b diff --git a/Mohem/src/app/sit/eit.page.spec.ts b/Mohem/src/app/sit/eit.page.spec.ts new file mode 100644 index 00000000..527bd8b0 --- /dev/null +++ b/Mohem/src/app/sit/eit.page.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EITPage } from './eit.page'; + +describe('EITPage', () => { + let component: EITPage; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ EITPage ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EITPage); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/eit.page.ts b/Mohem/src/app/sit/eit.page.ts new file mode 100644 index 00000000..0ae31acd --- /dev/null +++ b/Mohem/src/app/sit/eit.page.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-eit', + templateUrl: './eit.page.html', + styleUrls: ['./eit.page.scss'], +}) +export class EITPage implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/Mohem/src/app/sit/home/home.component.html b/Mohem/src/app/sit/home/home.component.html new file mode 100644 index 00000000..17ee0d5c --- /dev/null +++ b/Mohem/src/app/sit/home/home.component.html @@ -0,0 +1,87 @@ + + + + + + + + + + + + + +
+ + {{menuItem.PROMPT}} + + + + + +
+ + + + +  {{subPage.PROMPT}} + + + + + +
+
+ +
+
+ + + + + + + + + + +
+ + {{menuItem.PROMPT}} + + + + + + +
+ + + + +  {{subPage.PROMPT}} + + + + + + +
+
+ +
+
+ +
\ No newline at end of file diff --git a/Mohem/src/app/sit/home/home.component.scss b/Mohem/src/app/sit/home/home.component.scss new file mode 100644 index 00000000..6568c30f --- /dev/null +++ b/Mohem/src/app/sit/home/home.component.scss @@ -0,0 +1,95 @@ +ion-item.custCollabs.item.item-block.item-md, +ion-item.custCollabs.item.item-block.item-ios { + padding: 0px; +} + +.ion-item-styling { + color: black; + line-height: 2; + margin: 8px 2px; + min-height: 40px; + background-color: #ffffff; + border-bottom: 1px solid #c8c8c8; +} + +.header-toolbar-new{ + --background: #29B5BF; +} + +ion-item.item.item-block { + .item-inner { + border: 0px !important; + padding: 0px !important; + } + + ion-item.childItem.item.item-block { + padding: 0px 5px; + width: 100%; + ion-label.label.label-md, + ion-label.label.label-ios { + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; + border-bottom: 1px solid #e4e5e7; + border-radius: 0px; + color: #000000; + } + } + + ion-col.menu-name.col { + padding: 0px; + } + + div.selectedDiv { + background: #209a83; + color: #ffffff; + padding: 0px 10px; + min-height: 40px; + } + div.notSelected { + padding: 0px 10px; + } + // ion-label.label.label-md, + // ion-label.label.label-ios { +} + +ion-icon::before { + line-height: 2; +} +.arrow-down{ + position: absolute; + top: 0; + right:0; +} +// .list-md > .item-block:last-child .item-inner, +// .list-ios > .item-block:last-child .item-inner{ + +// border-bottom: 1px solid #dedede; +// } + +.span-arrow-en{ + float: right; + font-size: 25px; + color: grey; + transform: rotate(0deg); +} + +.span-arrow-ar{ + float: left; + font-size: 25px; + color: grey; + transform: rotate(180deg); +} + +.arrow-forward{ + float: right; + font-size: 25px; + color: grey; +} +.arrow-forward-ar{ + float: left; + font-size: 25px; + color: grey; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); +} \ No newline at end of file diff --git a/Mohem/src/app/sit/home/home.component.spec.ts b/Mohem/src/app/sit/home/home.component.spec.ts new file mode 100644 index 00000000..5ec1377b --- /dev/null +++ b/Mohem/src/app/sit/home/home.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomeComponent } from './home.component'; + +describe('HomeComponent', () => { + let component: HomeComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HomeComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/home/home.component.ts b/Mohem/src/app/sit/home/home.component.ts new file mode 100644 index 00000000..7402a672 --- /dev/null +++ b/Mohem/src/app/sit/home/home.component.ts @@ -0,0 +1,73 @@ +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { Component, OnInit } from '@angular/core'; +import { MenuResponse } from 'src/app/hmg-common/services/menu/models/menu-response'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; + +@Component({ + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: ['./home.component.scss'], +}) +export class HomeComponent implements OnInit { + + menu: any; + pages: any; + headerTitle: string; + selMenu: MenuResponse = new MenuResponse(); + // Selected Side Menu + selectedMenu: any; + direction: string; + pageType: string; + + constructor(private cs: CommonService, private ts: TranslatorService) { + this.direction = TranslatorService.getCurrentLanguageName(); + this.menu = this.cs.sharedService.getSharedData('menuEntries', false); + this.pageType = this.cs.sharedService.getSharedData('homemenuentries', false); + this.selMenu = this.cs.sharedService.getSharedData(MenuResponse.SHARED_DATA, false); + const title: string = this.ts.trPK('eit', 'my-requests'); + this.headerTitle = this.menu.PROMPT ? this.menu.PROMPT : title; + } + + ngOnInit() { } + + openPage(page, index) { + console.log(page + "index" + index); + // Reset the content nav to have just this page + // we wouldn't want the back button to show in this scenario + if (page.children.length === 0) { + this.goToRequest(page); + } else { + if (this.selectedMenu === 0) { + this.selectedMenu = -1; + } else if (this.selectedMenu !== -1) { + this.selectedMenu = -1; + } else { + this.selectedMenu = index; + } + } + console.log('selected>>>>>>>' + this.selectedMenu); + } + + goToRequest(menuEntry) { + let selMenu: MenuResponse = new MenuResponse(); + selMenu = this.cs.sharedService.getSharedData(MenuResponse.SHARED_DATA, false); + selMenu.GetMenuEntriesList = menuEntry; + this.cs.sharedService.setSharedData(selMenu, MenuResponse.SHARED_DATA); + if (menuEntry.REQUEST_TYPE === 'ABSENCE') { + this.cs.openAbsencePage(); + } else if (menuEntry.REQUEST_TYPE === 'EIT') { + this.cs.openEitListPage(); + } else if (menuEntry.REQUEST_TYPE === 'BASIC_DETAILS') { + this.cs.openProfile('basicDetails'); + } else if (menuEntry.REQUEST_TYPE === 'ADDRESS') { + this.cs.openProfile('address'); + } + if (menuEntry.REQUEST_TYPE === 'PAYSLIP') { + this.cs.openPayslipPage(); + } + if (menuEntry.REQUEST_TYPE === 'TIME_CARD') { + this.cs.openTimeCardPage(); + } + } + +} diff --git a/Mohem/src/app/sit/models/EITNotificationBodyItems.ts b/Mohem/src/app/sit/models/EITNotificationBodyItems.ts new file mode 100644 index 00000000..4c1bf836 --- /dev/null +++ b/Mohem/src/app/sit/models/EITNotificationBodyItems.ts @@ -0,0 +1,18 @@ +export class EITNotificationBodyItems { + public TRANSACTION_NUMBER :number; + public DESC_FLEX_NAME : string; + public ACTION : string; + public EXTRA_INFO_ID :number; + public DESC_FLEX_CONTEXT_COD : string; + public APPLICATION_COLUMN_NAME : string; + public SEGMENT_SEQ_NUM :number; + public DATATYPE : string; + public SEGMENT_NAME : string; + public VARCHAR2_VALUE : string; + public SEGMENT_PROMPT : string; + public NUMBER_VALUE :number; + public SEGMENT_VALUE_DSP : string; + public DATE_VALUE : string ; + public PREV_SEGMENT_VALUE_DSP : string; + public DISPLAY_FLAG : string ; +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/EITNotificationBodyRes.ts b/Mohem/src/app/sit/models/EITNotificationBodyRes.ts new file mode 100644 index 00000000..f6051d5d --- /dev/null +++ b/Mohem/src/app/sit/models/EITNotificationBodyRes.ts @@ -0,0 +1,8 @@ +import { EITNotificationBodyItems } from './EITNotificationBodyItems'; +import { Response } from '../../hmg-common/services/models/response'; + +export class EITNotificatonBodyResponse extends Response { +public static SHARED_DATA = 'Notif_BODY_List'; +public static NOT_WORKLIST = 'Notif_WORK_LOST'; +public EITNotificationBodyItems: EITNotificationBodyItems []; +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/EITTransactionsReq.ts b/Mohem/src/app/sit/models/EITTransactionsReq.ts new file mode 100644 index 00000000..b7921767 --- /dev/null +++ b/Mohem/src/app/sit/models/EITTransactionsReq.ts @@ -0,0 +1,13 @@ +import { Request } from '../../hmg-common/services/models/request'; + +export class EITTransactionsRequest extends Request{ +public static SUBMIT_EIT_ACTION='submit-eit-action'; +public static SHARED_DATA='submit_eit_obj'; +public P_PAGE_NUM : Number; +public P_PAGE_LIMIT : Number; +public P_MENU_TYPE:String; +public P_SELECTED_EMPLOYEE_NUMBER:String; +public P_FUNCTION_NAME:String; +public P_SELECTED_RESP_ID : Number; + +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/NotificationButtonReq.ts b/Mohem/src/app/sit/models/NotificationButtonReq.ts new file mode 100644 index 00000000..908ddc4f --- /dev/null +++ b/Mohem/src/app/sit/models/NotificationButtonReq.ts @@ -0,0 +1,6 @@ +import { Request } from '../../hmg-common/services/models/request'; + +export class WorkListButtonRequest extends Request{ + //public static SHARED_DATA = ''; + public P_NOTIFICATION_ID :any; +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/NotificationGetAttachRes.ts b/Mohem/src/app/sit/models/NotificationGetAttachRes.ts new file mode 100644 index 00000000..109fe921 --- /dev/null +++ b/Mohem/src/app/sit/models/NotificationGetAttachRes.ts @@ -0,0 +1,21 @@ +import { Response } from '../../hmg-common/services/models/response'; + +export class NotificationGetAttachResponse extends Response { +public static SHARED_DATA = ''; +public SEQ_NUM = 0;// Int +public FILE_NAME = '';//String +public FILE_DATA = '';//base64 +public PK1_VALUE = '';//String +public PK2_VALUE = '';//String +public PK3_VALUE = '';//String +public PK4_VALUE = '';//String +public FILE_CONTENT_TYPE = '';//String +public ATTACHED_DOCUMENT_ID = 0;//Int +public DOCUMENT_ID = 0;//Int +public CATEGORY_ID = 0;//Int +public DATATYPE_ID = 0;//Int +public ENTITY_NAME = '';//String +public FILE_ID = 0;//Int +public PK5_VALUE = '';//String + +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/add.eit.response.ts b/Mohem/src/app/sit/models/add.eit.response.ts new file mode 100644 index 00000000..b54537a7 --- /dev/null +++ b/Mohem/src/app/sit/models/add.eit.response.ts @@ -0,0 +1,8 @@ +import { Response } from '../../hmg-common/services/models/response'; +import { EitRespModel } from './eit.response.model' + +export class AddEitResponse extends Response { + public static SHARED_DATA = 'add-eit-response'; + SubmitEITTransactionList: EitRespModel; +} + diff --git a/Mohem/src/app/sit/models/eit-address.request.ts b/Mohem/src/app/sit/models/eit-address.request.ts new file mode 100644 index 00000000..0c5c0c07 --- /dev/null +++ b/Mohem/src/app/sit/models/eit-address.request.ts @@ -0,0 +1,15 @@ + +import { EitTransactionModel } from './eit.transaction.model'; + +export class EitAddressRequest { + public static SHARED_DATA = 'eit-request'; + public P_MENU_TYPE: string; + public P_SELECTED_EMPLOYEE_NUMBER: string; + public P_FUNCTION_NAME: string; + public P_SELECTED_RESP_ID: Number; + P_DESC_FLEX_CONTEXT_CODE: string; + EITTransactionTBL: EitTransactionModel[]; + P_COUNTRY_CODE: string; + P_EFFECTIVE_DATE: string; + P_ACTION: string; +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/eit.request.ts b/Mohem/src/app/sit/models/eit.request.ts new file mode 100644 index 00000000..51e746a5 --- /dev/null +++ b/Mohem/src/app/sit/models/eit.request.ts @@ -0,0 +1,12 @@ +import { EitTransactionModel } from './eit.transaction.model'; + +export class EitRequest { + public static SHARED_DATA = 'eit-request'; + public P_MENU_TYPE: string; + public P_SELECTED_EMPLOYEE_NUMBER: string; + public P_FUNCTION_NAME: string; + public P_SELECTED_RESP_ID: Number; + P_DESC_FLEX_CONTEXT_CODE: string; + EITTransactionTBL: EitTransactionModel[]; + +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/eit.response.model.ts b/Mohem/src/app/sit/models/eit.response.model.ts new file mode 100644 index 00000000..bd6f4a5d --- /dev/null +++ b/Mohem/src/app/sit/models/eit.response.model.ts @@ -0,0 +1,6 @@ +export class EitRespModel { + P_ITEM_KEY: string; + P_RETURN_MSG:string; + P_RETURN_STATUS:string; + P_TRANSACTION_ID:number; +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/eit.transaction.model.ts b/Mohem/src/app/sit/models/eit.transaction.model.ts new file mode 100644 index 00000000..aa65466a --- /dev/null +++ b/Mohem/src/app/sit/models/eit.transaction.model.ts @@ -0,0 +1,7 @@ +export class EitTransactionModel { + TRANSACTION_NUMBER: number; + NUMBER_VALUE: number; + NAME: string; + DATE_VALUE: string; + VARCHAR2_VALUE: string; +} \ No newline at end of file diff --git a/Mohem/src/app/sit/models/submit.eit.action.ts b/Mohem/src/app/sit/models/submit.eit.action.ts new file mode 100644 index 00000000..80b4cb28 --- /dev/null +++ b/Mohem/src/app/sit/models/submit.eit.action.ts @@ -0,0 +1,6 @@ +// tslint:disable-next-line:class-name +export enum EIT_ACTION { + ADD = 1, + DELETE = 2, + UPDATE=3 +} diff --git a/Mohem/src/app/sit/services/eit.service.spec.ts b/Mohem/src/app/sit/services/eit.service.spec.ts new file mode 100644 index 00000000..49f0d55b --- /dev/null +++ b/Mohem/src/app/sit/services/eit.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { EitService } from './eit.service'; + +describe('EitService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: EitService = TestBed.get(EitService); + expect(service).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/services/eit.service.ts b/Mohem/src/app/sit/services/eit.service.ts new file mode 100644 index 00000000..9063a6ff --- /dev/null +++ b/Mohem/src/app/sit/services/eit.service.ts @@ -0,0 +1,134 @@ +import { NotificationGetAttachResponse } from './../models/NotificationGetAttachRes'; +import { EITTransactionsRequest } from './../models/EITTransactionsReq'; +import { Observable } from 'rxjs'; +import { Injectable } from '@angular/core'; +import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; +import { ConnectorService } from 'src/app/hmg-common/services/connector/connector.service'; +import { AddEitResponse } from '../models/add.eit.response'; +import { ApproversList } from 'src/app/absence/models/approvers'; +import { WorkListButtonRequest } from '../models/NotificationButtonReq'; + +@Injectable({ + providedIn: 'root' +}) +export class EitService { + + /* EIT Services URLs */ + public static getMenuEntries = 'Services/ERP.svc/REST/GET_MENU_ENTRIES'; + public static getEITTransctions = 'Services/ERP.svc/REST/GET_EIT_TRANSACTIONS'; + public static getEITDFFStrutre = 'Services/ERP.svc/REST/GET_EIT_DFF_STRUCTURE'; + public static getSetValue = 'Services/ERP.svc/REST/GET_VALUE_SET_VALUES'; + public static getDefaultValue = 'Services/ERP.svc/REST/GET_DEFAULT_VALUE'; + public static validateEITTransctions = 'Services/ERP.svc/REST/VALIDATE_EIT_TRANSACTION'; + public static submitEit = 'Services/ERP.svc/REST/SUBMIT_EIT_TRANSACTION'; + public static resubmitEit = 'Services/ERP.svc/REST/RESUBMIT_EIT_TRANSACTION'; + public static startEitProcess = 'Services/ERP.svc/REST/START_EIT_APPROVAL_PROCESS'; + public static updateAttach = 'Services/ERP.svc/REST/UPDATE_ATTACHMENT'; + public static deleteAttach = 'Services/ERP.svc/REST/DELETE_ATTACHMENT'; + public static getApproversList = 'Services/ERP.svc/REST/GET_APPROVERS_LIST'; + public static addAttachment = 'Services/ERP.svc/REST/ADD_ATTACHMENT'; + public static cancelHRTransaction = 'Services/ERP.svc/REST/CANCEL_HR_TRANSACTION'; + public static getAttach = 'Services/ERP.svc/REST/GET_ATTACHMENTS'; + + constructor(public authService: AuthenticationService, public con: ConnectorService) { } + + public getMenuEntries(menuEntries: any, onError?: any, errorLabel?: string, isPostNoLoad = false): Observable { + const request = menuEntries; + this.authService.authenticateRequest(request); + if (isPostNoLoad) { + return this.con.postNoLoad(EitService.getMenuEntries, request, onError, errorLabel); + } else { + return this.con.post(EitService.getMenuEntries, request, onError, errorLabel); + } + } + + // tslint:disable-next-line: no-shadowed-variable + public getEITTransactionsList(EITTransactionsRequest: EITTransactionsRequest, onError?: any, errorLabel?: string): Observable { + const request = EITTransactionsRequest; + this.authService.authenticateRequest(request); + return this.con.post(EitService.getEITTransctions, request, onError, errorLabel); + } + + public submitEit(eit: any, onError?: any, errorLabel?: string): Observable { + const request = eit; + request.EITTransactionTBLModel = eit.EITTransactionTBL; + this.authService.authenticateRequest(request); + return this.con.post(EitService.submitEit, request, onError, errorLabel); + } + + public validateEITTransaction(validateEITTransactionReq: any, onError?: any, errorLabel?: string): Observable { + const request = validateEITTransactionReq; + this.authService.authenticateRequest(request); + return this.con.post(EitService.validateEITTransctions, request, onError, errorLabel); + } + + public getEITDFFStrutre(EITDFFStrutreReq: any, onError?: any, errorLabel?: string): Observable { + const request = EITDFFStrutreReq; + this.authService.authenticateRequest(request); + return this.con.post(EitService.getEITDFFStrutre, request, onError, errorLabel); + } + + public getSetValue(SetValueReq: any, onError?: any, errorLabel?: string): Observable { + const request = SetValueReq; + this.authService.authenticateRequest(request); + return this.con.post(EitService.getSetValue, request, onError, errorLabel); + } + + public getDefaultValue(DefaultValueReq: any, onError?: any, errorLabel?: string): Observable { + const request = DefaultValueReq; + this.authService.authenticateRequest(request); + return this.con.post(EitService.getDefaultValue, request, onError, errorLabel); + } + + public getApproversList(abProcess: any, onError?: any, errorLabel?: string): Observable { + const request = abProcess; + request.P_AME_TRANSACTION_TYPE = 'SSHRMS'; + request.P_PAGE_NUM = 1; + request.P_PAGE_LIMIT = 1000; // check later on + this.authService.authenticateRequest(request); + return this.con.post(EitService.getApproversList, request, onError, errorLabel); + } + + public addAttachment(addAttachrequest: any, onError?: any, errorLabel?: string): Observable { + const request = addAttachrequest; + this.authService.authenticateRequest(request); + return this.con.post(EitService.addAttachment, request, onError, errorLabel); + } + + public startEitApprovalProcess(eitProcess: any, onError?: any, errorLabel?: string): Observable { + const request = eitProcess; + this.authService.authenticateRequest(request); + return this.con.post(EitService.startEitProcess, request, onError, errorLabel); + } + + public cancelHRTransaction(transactionID: any, onError?: any, errorLabel?: string): Observable { + const request = transactionID; + this.authService.authenticateRequest(request); + return this.con.post(EitService.cancelHRTransaction, request, onError, errorLabel); + } + + public getAttach(getAttachReq: WorkListButtonRequest, onError?: any, errorLabel?: string): Observable { + const request = getAttachReq; + this.authService.authenticateRequest(request); + return this.con.post(EitService.getAttach, request, onError, errorLabel); + } + + public deleteAttach(delteAttachReq: any, onError?: any, errorLabel?: string): Observable { + const request = delteAttachReq; + this.authService.authenticateRequest(request); + return this.con.post(EitService.deleteAttach, request, onError, errorLabel); + } + + public updateAttach(updateAttachReq: any, onError?: any, errorLabel?: string): Observable { + const request = updateAttachReq; + this.authService.authenticateRequest(request); + return this.con.post(EitService.updateAttach, request, onError, errorLabel); + } + + public reSubmitEit(eit: any, onError?: any, errorLabel?: string): Observable { + const request = eit; + this.authService.authenticateRequest(request); + return this.con.post(EitService.resubmitEit, request, onError, errorLabel); + } + +} diff --git a/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.html b/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.html new file mode 100644 index 00000000..4bbf7b6b --- /dev/null +++ b/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.html @@ -0,0 +1,39 @@ + + + + + +

{{'eit,confirmation' | translate}}

+ +
+
+ {{'eit,no-attachment' | translate}} +
+
+ {{'eit,no-note' | translate}} +
+
+ + + + + {{'eit,submit' | translate}} + {{ts.trPK('general','ok')}} + + + + + {{ts.trPK('general','cancel')}} + + + + +
+ \ No newline at end of file diff --git a/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.scss b/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.scss new file mode 100644 index 00000000..3dabecd5 --- /dev/null +++ b/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.scss @@ -0,0 +1,53 @@ +.rowBtn{ + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.Header{ + color: black !important; + font-size: 25px !important; + font-weight: bold !important;; + margin: 0; + text-align: center; + margin-bottom: 20px; +} + +.labelRadio{ + color: black !important; + font-weight: bold !important; + padding-bottom: 20px; +} + +.labelcheck{ + color: red !important; + font-weight: bold !important; + margin-bottom: 10px; +} + +.submitOkButton{ + white-space: normal !important; + text-transform: capitalize !important; + min-height: 45px !important; + min-width: 5px !important; + margin: 8px !important; + --background:: #29B5BF; + width: 100% !important; + color: white!important; + border-radius: 16px !important; +} +.submitCancelButton{ + white-space: normal !important; + text-transform: capitalize !important; + min-height: 45px !important; + min-width: 5px !important; + margin: 8px !important; + --background:: #29B5BF; + width: 100% !important; + color: white!important; + border-radius: 16px !important; +} + + + diff --git a/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.spec.ts b/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.spec.ts new file mode 100644 index 00000000..7171d957 --- /dev/null +++ b/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SubmitEitModalComponent } from './submit-eit-modal.component'; + +describe('SubmitEitModalComponent', () => { + let component: SubmitEitModalComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SubmitEitModalComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SubmitEitModalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.ts b/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.ts new file mode 100644 index 00000000..41e6c26a --- /dev/null +++ b/Mohem/src/app/sit/submit-eit-modal/submit-eit-modal.component.ts @@ -0,0 +1,36 @@ +import { Component, OnInit } from '@angular/core'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { ModalController } from '@ionic/angular'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; + +@Component({ + selector: 'app-submit-eit-modal', + templateUrl: './submit-eit-modal.component.html', + styleUrls: ['./submit-eit-modal.component.scss'], +}) +export class SubmitEitModalComponent implements OnInit { + submitAttachmentList :any =[]; + eitComments: string; + constructor( public ts: TranslatorService,private modalCtrl: ModalController, private cs: CommonService){ + this.submitAttachmentList = this.cs.sharedService.getSharedData('submitAttachmentList', false); + this.eitComments = this.cs.sharedService.getSharedData('eitComments', false); + } + + ngOnInit() { + console.log("modal"); + //this.actionBtns = this.cs.sharedService.getSharedData("passActionMore" , false); + console.log("modal"); + + } + closeModal() { + this.modalCtrl.dismiss(); + } + + + OkBtnModal() { + let data = "ok"; + this.modalCtrl.dismiss(data); + } + +} +