Merge branch 'umar-q2-branch' of https://gitlab.com/haroon6138/mohemmionic5 into sultan26April

FATIMA-Q2-DEVELOPMENT
Sultan Khan 5 years ago
commit 3e4d046818

@ -1178,7 +1178,6 @@ public getMonthNameAr(value: number): string {
public openMOItemHistoryPage(){
this.nav.navigateForward(['/notification/item-history-MO']);
}
public openQutationAnalysisPage() {
this.nav.navigateForward(['/notification/qutation-analysis-PO']);
@ -1186,6 +1185,9 @@ public getMonthNameAr(value: number): string {
public openWorklistMainMRPage() {
this.nav.navigateForward(['/notification/worklist-main-MR']);
}
public openWorklistMainICPage() {
this.nav.navigateForward(['/notification/item-creation-IC']);
}
public openWorklistITGPage() {
this.nav.navigateForward(['/notification/worklist-main-ITG']);
}

@ -75,6 +75,8 @@ export class HomeComponent implements OnInit {
public totalPO = 0;
public totalPR = 0;
public totalMR = 0;
public totalIC = 0;
public showChart = false;
public isPostNoLoad = true;
@ -86,13 +88,14 @@ export class HomeComponent implements OnInit {
public data = {
datasets: [
{
data: [0, 0, 0, 0, 0],
data: [0, 0, 0, 0, 0, 0],
backgroundColor: [
'#18a169',
'#38c9b3',
'#114475',
'#3cb9d5',
'#cc3232'
'#cc3232',
'#9e7e97'
],
borderWidth: 5
}]
@ -145,6 +148,14 @@ export class HomeComponent implements OnInit {
color: '#cc3232',
key: 'ITG',
disable: false
},
{
value: 0,
name: 'IC',
active: false,
color: '#9e7e97',
key: 'INVITEM',
disable: false
}
];
public slideOptsOne = {
@ -226,6 +237,7 @@ export class HomeComponent implements OnInit {
this.filters[2].value = this.totalPO;
this.filters[3].value = this.totalPR;
this.filters[4].value = this.totalMR;
this.filters[5].value = this.totalIC;
if (this.totalHR === 0) {
this.data.datasets[0].data[0] = 0;
@ -243,6 +255,10 @@ export class HomeComponent implements OnInit {
this.data.datasets[0].data[3] = 0;
}
if (this.totalIC === 0) {
this.data.datasets[0].data[5] = 0;
}
const openNotificationsArray = this.worklistNotifications.GetOpenNotificationsList;
for (const notification of openNotificationsArray) {
@ -258,6 +274,9 @@ export class HomeComponent implements OnInit {
} else if (notification.ITEM_TYPE === 'INVMOA') {
this.filters[4].value = this.totalMR;
this.data.datasets[0].data[3] = notification.OPEN_NTF_NUMBER;
} else if (notification.ITEM_TYPE === 'INVITEM') {
this.filters[6].value = this.totalIC;
this.data.datasets[0].data[5] = notification.OPEN_NTF_NUMBER;
}
}
// this.data.datasets[0].data[4] = this.ITGCount;
@ -414,6 +433,8 @@ export class HomeComponent implements OnInit {
this.totalPR = this.totalPR + 1;
} else if (workList.ITEM_TYPE === 'INVMOA') {
this.totalMR = this.totalMR + 1;
} else if (workList.ITEM_TYPE === 'INVITEM') {
this.totalIC = this.totalIC + 1;
}
}
@ -422,6 +443,7 @@ export class HomeComponent implements OnInit {
this.totalPO = 0;
this.totalPR = 0;
this.totalMR = 0;
this.totalIC = 0;
const datePipe = new DatePipe('en-US');
const formattedData = [];
@ -507,6 +529,8 @@ export class HomeComponent implements OnInit {
this.common.openWorklistMainPOPage();
} else if (obj.REQUEST_TYPE === 'MO') {
this.common.openWorklistMainMRPage();
} else if (obj.REQUEST_TYPE === 'ITEM_CREATION') {
this.common.openWorklistMainICPage();
} else {
this.common.openWorklistMainPage();
}

@ -28,9 +28,10 @@ import { WorklistMainMRComponent } from './worklist-main-mr/worklist-main-mr.com
import { WorklistAdvancedSearchComponent } from './worklist-advanced-search/worklist-advanced-search.component';
import { WorkListMainItgComponent } from './work-list-main-itg/work-list-main-itg.component';
// import { WorklistMainComponent } from './worklist-main/worklist-main.component';
import {MoreActionModalComponent} from './more-action-modal/more-action-modal.component'
import { MoreActionModalComponent } from './more-action-modal/more-action-modal.component'
import { WorkListReplacementItgComponent } from './work-list-replacement-itg/work-list-replacement-itg.component';
import { MoItemHistoryComponent } from './mo-item-history/mo-item-history.component';
import { WorklistMainIcComponent } from './worklist-main-ic/worklist-main-ic.component';
const routes: Routes = [
@ -50,7 +51,7 @@ const routes: Routes = [
path: 'worklist-main',
component: WorklistMainComponent
},
{
{
path: 'work-list-replacement-roll',
component: WorkListReplacementRollComponent
},
@ -84,40 +85,44 @@ const routes: Routes = [
component: WorklistMainPRComponent
},
{
path: 'apply-action-modal',
component: ApplyActionModalComponent
},
{
path: 'worklist-main-PO',
component: WorklistMainPoComponent
},
{
path: 'item-history-PO',
component: ItemHistoryComponent
},
{
path: 'qutation-analysis-PO',
component: QutationAnalysisComponent
},
{
path: 'worklist-main-MR',
component: WorklistMainMRComponent
},
{
path: 'worklist-main-ITG',
component: WorkListMainItgComponent
},
{
path: 'more-action-modal',
component: MoreActionModalComponent
},
{
path: 'worklist-replacement-itg',
component: WorkListReplacementItgComponent
},
{
path: 'item-history-MO',
component: MoItemHistoryComponent
path: 'apply-action-modal',
component: ApplyActionModalComponent
},
{
path: 'worklist-main-PO',
component: WorklistMainPoComponent
},
{
path: 'item-history-PO',
component: ItemHistoryComponent
},
{
path: 'qutation-analysis-PO',
component: QutationAnalysisComponent
},
{
path: 'worklist-main-MR',
component: WorklistMainMRComponent
},
{
path: 'worklist-main-ITG',
component: WorkListMainItgComponent
},
{
path: 'more-action-modal',
component: MoreActionModalComponent
},
{
path: 'worklist-replacement-itg',
component: WorkListReplacementItgComponent
},
{
path: 'item-history-MO',
component: MoItemHistoryComponent
},
{
path: 'item-creation-IC',
component: WorklistMainIcComponent
}
]
}
@ -153,7 +158,8 @@ const routes: Routes = [
WorklistAdvancedSearchComponent,
WorkListMainItgComponent,
WorkListReplacementItgComponent,
MoItemHistoryComponent
MoItemHistoryComponent,
WorklistMainIcComponent
// WorklistMainComponent
],
entryComponents: [
@ -161,4 +167,4 @@ const routes: Routes = [
],
providers: [WorklistService, WorklistMainService, WorklistAttachService]
})
export class NotificationPageModule {}
export class NotificationPageModule { }

@ -23,33 +23,22 @@ import { itgRequest } from '../models/itgFormDetailsRequest';
@Injectable()
export class WorklistMainService {
public static getEITNotificationBody =
"Services/ERP.svc/REST/GET_EIT_NOTIFICATION_BODY";
public static getAbsenceNotificationBody =
"Services/ERP.svc/REST/GET_ABSENCE_NOTIFICATION_BODY";
public static getPoNotificationBody =
"Services/ERP.svc/REST/GET_PO_NOTIFICATION_BODY";
public static getMONotificationBody =
"Services/ERP.svc/REST/GET_MO_NOTIFICATION_BODY";
public static getPRNotificationBody =
"Services/ERP.svc/REST/GET_PR_NOTIFICATION_BODY";
public static getEITNotificationBody = "Services/ERP.svc/REST/GET_EIT_NOTIFICATION_BODY";
public static getAbsenceNotificationBody = "Services/ERP.svc/REST/GET_ABSENCE_NOTIFICATION_BODY";
public static getPoNotificationBody = "Services/ERP.svc/REST/GET_PO_NOTIFICATION_BODY";
public static getMONotificationBody = "Services/ERP.svc/REST/GET_MO_NOTIFICATION_BODY";
public static getPRNotificationBody = "Services/ERP.svc/REST/GET_PR_NOTIFICATION_BODY";
public static getICNotificationBody = "Services/ERP.svc/REST/GET_ITEM_CREATION_NTF_BODY";
public static getPOItemHistory = "Services/ERP.svc/REST/GET_PO_ITEM_HISTORY";
public static getMOItemHistory = "Services/ERP.svc/REST/GET_MO_ITEM_HISTORY";
public static getNotificationButtons =
"Services/ERP.svc/REST/GET_NOTIFICATION_BUTTONS";
public static getNotificationButtons = "Services/ERP.svc/REST/GET_NOTIFICATION_BUTTONS";
public static getUserInfo = "Services/ERP.svc/REST/Get_UserInformation";
public static getNotificationAction =
"Services/ERP.svc/REST/NOTIFICATION_ACTIONS";
public static getNotificationRespondAtt =
"Services/ERP.svc/REST/NOTIFICATION_GET_RESPOND_ATTRIBUTES";
public static getQutationAnalysisUrl =
"Services/ERP.svc/REST/GET_QUOTATION_ANALYSIS";
public static getITGFormTaskCount =
'Services/COCWS.svc/REST/ITGGetTaskCountRequestType';
public static getITGFormTaskDetails =
'Services/COCWS.svc/REST/ITGFormsPendingTasks';
public static getITGFormDetails =
'Services/COCWS.svc/REST/ITGGetFormDetials';
public static getNotificationAction = "Services/ERP.svc/REST/NOTIFICATION_ACTIONS";
public static getNotificationRespondAtt = "Services/ERP.svc/REST/NOTIFICATION_GET_RESPOND_ATTRIBUTES";
public static getQutationAnalysisUrl = "Services/ERP.svc/REST/GET_QUOTATION_ANALYSIS";
public static getITGFormTaskCount = 'Services/COCWS.svc/REST/ITGGetTaskCountRequestType';
public static getITGFormTaskDetails = 'Services/COCWS.svc/REST/ITGFormsPendingTasks';
public static getITGFormDetails = 'Services/COCWS.svc/REST/ITGGetFormDetials';
@ -118,6 +107,21 @@ export class WorklistMainService {
);
}
public getICNotificationBody(
WorkListBodyRequest: any,
onError?: any,
errorLabel?: string
): Observable<PRNotificatonBodyResponse> {
const request = WorkListBodyRequest;
this.authService.authenticateRequest(request);
return this.api.post(
WorklistMainService.getICNotificationBody,
request,
onError,
errorLabel
);
}
public getPONotificationBody(
WorkListBodyRequest: any,
onError?: any,

@ -0,0 +1,450 @@
<app-generic-header *ngIf="!messageSuccess" showBack="true" backLink="/notification/homepage"
[headerText]="'worklistMain,title' | translate">
</app-generic-header>
<ion-content class="colorBG">
<div *ngIf="!messageSuccess">
<div class="subjectNotification">{{getPassNotificationDetails.SUBJECT}}</div>
<!-- add segemnt part -->
<ion-segment mode="md" color="secondary" (ionChange)="segmentChanged($event)" [value]="activeSegment"
class="ion-segment-all">
<ion-segment-button value="line_details"
[ngClass]="activeSegment == 'line_details' ? 'active-Segment' : 'normal-Segment'">
<ion-label class="no-padding-label margin-left"> {{'worklistMain,itemReq'| translate}} </ion-label>
</ion-segment-button>
<ion-segment-button value="action-history"
[ngClass]="activeSegment == 'action-history' ? 'active-Segment' : 'normal-Segment'">
<ion-label class="no-padding-label"> {{'worklistMain, action' | translate}} </ion-label>
</ion-segment-button>
<ion-segment-button value="attach" [ngClass]="activeSegment == 'attach' ? 'active-Segment' : 'normal-Segment'">
<ion-label class="no-padding-label"> {{'worklistMain, attach-file' | translate}}
</ion-label>
</ion-segment-button>
<ion-segment-button checked value="info"
[ngClass]="activeSegment == 'info' ? 'active-Segment' : 'normal-Segment'">
<ion-label class="no-padding-label"> {{'worklistMain, info'| translate}} </ion-label>
</ion-segment-button>
</ion-segment>
<ion-slides #slides (ionSlideDidChange)="slideChanged($event)">
<ion-slide>
<ng-container *ngIf="activeSegment === 'line_details'">
<div [hidden]="POLines && POLines.length > 0" style="width: 100% !important">
<p>{{ 'general, empty' | translate}}</p>
</div>
<accordin-custom style="width: 100% !important">
<accordin-tab-custom *ngFor="let header of POLines; let i=index;" [header]="header.PRODUCT_DESCRIPTION"
[show]="i === 0 ? true: false">
<div class="itemReqDiv">
<ion-grid>
<ion-row>
<ion-col>
<div *ngIf="pInformation && pInformation != '' " class="tipsPadding">{{pInformation}}</div>
</ion-col>
</ion-row>
<ion-row>
<ion-col>
<ion-grid style="text-align: left">
<div>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, product-name'| translate}}</label>
<br />
<label for="">{{header.PRODUCT_NAME}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, product-description'| translate}}</label>
<br />
<label for="">{{header.PRODUCT_DESCRIPTION}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col size="6" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, Unit-price'| translate}}</label>
<br />
<label for="">{{header.UNIT_PRICE}} </label>
</ion-col>
<ion-col size="6">
<label class="colItemReq" for="">{{'worklist, manufacturer-name'| translate}}</label>
<br />
<label for="">{{header.USER_MANUFACTURER_NAME}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, manufacturer-part-number'| translate}}</label>
<br />
<label for="">{{header.USER_MFG_PART_NUM}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, supplier-name'| translate}}</label>
<br />
<label for="">{{header.SUPPLIER_NAME}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, supplier-contact'| translate}}</label>
<br />
<label for="">{{header.SUPPLIER_CONTACT}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, charge-to-patient'| translate}}</label>
<br />
<label for="">{{header.CHARGE_TO_PATIENT}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, justification'| translate}}</label>
<br />
<label for="">{{header.JUSTIFICATION}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, item-code'| translate}}</label>
<br />
<label for="">{{header.ITEM_CODE}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, item-description'| translate}}</label>
<br />
<label for="">{{header.ITEM_DESCRIPTION}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, group-code'| translate}}</label>
<br />
<label for="">{{header.ITEM_GROUP_CODE}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, group-description'| translate}}</label>
<br />
<label for="">{{header.ITEM_GROUP}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, subgroup-code'| translate}}</label>
<br />
<label for="">{{header.ITEM_SUBGROUP_CODE}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, subgroup-description'| translate}}</label>
<br />
<label for="">{{header.ITEM_SUBGROUP}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, primary-uom'| translate}}</label>
<br />
<label for="">{{header.PRIMARY_UOM}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, manufacturer-name'| translate}}</label>
<br />
<label for="">{{header.STANDARD_MANUFACTURER_NAME}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, manufacturer-part-number'| translate}}</label>
<br />
<label for="">{{header.STANDARD_MFG_PART_NUM}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, template-name'| translate}}</label>
<br />
<label for="">{{header.TEMPLATE_NAME}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, item-creation-status'| translate}}</label>
<br />
<label for="">{{header.ITEM_CREATION_STATUS_DISP}} </label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, standardization-approval-status'| translate}}</label>
<br />
<label for="">{{header.STANDARD_STATUS}} </label>
</ion-col>
<ion-col>
<label class="colItemReq" for="">{{'worklist, standardization-approval-rejection-reason'| translate}}</label>
<br />
<label for="">{{header.STANDARD_REJECT_REASON}} </label>
</ion-col>
</ion-row>
</div>
<br />
</ion-grid>
<button ion-button *ngIf="!IsReachEnd" class="itemHISBtn" (click)="loadMoreNotificationBody()">
{{ 'general, load-more' | translate}}
</button>
</ion-col>
</ion-row>
</ion-grid>
</div>
</accordin-tab-custom>
</accordin-custom>
</ng-container>
</ion-slide>
<ion-slide>
<ng-container *ngIf="activeSegment === 'action-history'">
<ion-card class="cardContent" style="width: 100% !important;">
<ion-card-content>
<div class="noDataDiv" [hidden]="actionHistoryRes && actionHistoryRes.length > 0">
<p>{{ 'general, empty' | translate}}</p>
</div>
<div *ngIf="actionHistoryRes && actionHistoryRes.length > 0 ">
<ion-list class="notification-list ">
<div class="timeline">
<ion-item *ngFor="let actionHistory of actionHistoryRes; let index=index">
<div class="timeline-item" slot="start">
<div
[class]="direction == 'en'? 'timeline-thumb-en timeline-icon': 'timeline-thumb-ar timeline-icon'">
<img *ngIf="actionHistory.EMPLOYEE_IMAGE" class="empImge"
[src]="'data:image/png;base64,'+actionHistory.EMPLOYEE_IMAGE">
<img *ngIf="actionHistory.EMPLOYEE_IMAGE == null" class="empImge"
src="../assets/imgs/profile.png">
</div>
</div>
<ion-col>
<ion-label style="color:black !important ;font-weight: bold;">
{{actionHistory.NAME}}
</ion-label>
<div *ngIf="actionHistory.NOTE">
<div *ngIf="actionHistory.NOTE != '' ">
<div *ngIf="!checkLines(actionHistory.NOTE)">
<div class="containerNote">
Note: {{actionHistory.NOTE}}
</div>
</div>
<div *ngIf="checkLines(actionHistory.NOTE)">
<div class="containerNote" [ngClass]="actionHistory.visible ? 'show' : '' ">
Note: {{actionHistory.NOTE}}
</div>
<button class="showMore" (click)="actionHistory.visible = !actionHistory.visible">{{
actionHistory.visible ? 'Show less': 'Show More'
}}</button>
</div>
</div>
</div>
<ion-label
[ngClass]="{'bg-blue-txt' : actionHistory.ACTION_CODE === 'SUBMIT' ,'bg-orange-txt' : actionHistory.ACTION_CODE === 'PENDING' ,'bg-red-txt' : actionHistory.ACTION_CODE === 'REJECT','bg-green-txt' : actionHistory.ACTION_CODE != 'PENDING' && actionHistory.ACTION_CODE != 'REJECT' && actionHistory.ACTION_CODE != 'SUBMIT'}"
class=""> {{actionHistory.ACTION}}</ion-label>
<ion-label *ngIf="actionHistory.NOTIFICATION_DATE != ''" class="dateActionHistory">
{{actionHistory.NOTIFICATION_DATE|
dateString }}
</ion-label>
</ion-col>
</ion-item>
</div>
</ion-list>
</div>
<button ion-button *ngIf="!IsReachEnd" class="itemHISBtn" (click)="loadMoreActionHistory()">
{{ 'general, load-more' | translate}}
</button>
</ion-card-content>
</ion-card>
</ng-container>
</ion-slide>
<ion-slide>
<ng-container *ngIf="activeSegment === 'attach'">
<ion-card class="cardContent" style="width: 100% i !important;">
<ion-card-content>
<div class="noDataDiv" [hidden]="attachmentRes && attachmentRes.length > 0">
<p>{{ 'general, notAttch' | translate}}</p>
</div>
<div *ngIf="attachmentRes && attachmentRes.length > 0 ">
<ion-grid>
<ion-item class="itemAttch" *ngFor="let attachList of attachmentRes ; let i=index;">
<ion-label style="color: black !important">
{{i+1}}. {{attachList.FILE_NAME}} </ion-label>
<button float-end class="attachImgBtn"
(click)="OpenAttachFiles(attachList.FILE_DATA,attachList.FILE_CONTENT_TYPE)">
<img class="attachImg" src="../assets/imgs/view.png">
</button>
</ion-item>
</ion-grid>
</div>
</ion-card-content>
</ion-card>
</ng-container>
</ion-slide>
<ion-slide>
<ng-container *ngIf="activeSegment === 'info'">
<ion-grid>
<div *ngFor="let Lines of POHeader">
<ion-card class="cardContent" style="width: 90% i !important;">
<ion-card-content>
<ion-row class="rowBorder">
<ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, operating-unit'| translate}}</label>
<br />
<ion-label class="labelValue" for="">{{Lines.OPERATING_UNIT}} </ion-label>
</ion-col>
<ion-col class="colItems ">
<label class="colItemReq" for="">{{'worklist, category'| translate}}
</label>
<br />
<ion-label class="labelValue" for="">{{Lines.CATEGORY}}</ion-label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col class="colItems " [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, requester'| translate}}
</label>
<br />
<ion-label class="labelValue" for="">{{Lines.REQUESTER}} </ion-label>
</ion-col>
<ion-col class="colItems">
<label class="colItemReq" for="">{{'worklist, analyzed-by'| translate}}</label>
<br />
<ion-label class="labelValue" for="">{{Lines.ANALYZED_BY}} </ion-label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, approved-date'| translate}}
</label>
<br />
<ion-label class="labelValue" for="">{{Lines.APPROVED_DATE}} </ion-label>
</ion-col>
<ion-col class="colItems">
<label class="colItemReq" for="">{{'worklist, item-type'| translate}}</label>
<br />
<ion-label class="labelValue" for="">{{Lines.ITEM_TYPE}} </ion-label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, related-to'| translate}}
</label>
<br />
<ion-label class="labelValue" for="">{{Lines.RELATED_TO}} </ion-label>
</ion-col>
<ion-col class="colItems">
<label class="colItemReq" for="">{{'worklist, request-date'| translate}}</label>
<br />
<ion-label class="labelValue" for="">{{Lines.REQUEST_DATE| date}}
</ion-label>
</ion-col>
</ion-row>
<ion-row class="rowBorder">
<ion-col class="colItems" [ngClass]=" direction === 'en' ? 'colBorder' :'colBorder-ar' ">
<label class="colItemReq" for="">{{'worklist, analyzed-date'| translate}}</label>
<br />
<ion-label class="labelValue" for="">{{Lines.ANALYZED_DATE| date}} </ion-label>
</ion-col>
<ion-col class="colItems">
<label class="colItemReq" for="">{{'worklist, urgent'| translate}}</label>
<br />
<ion-label class="labelValue" for="">{{Lines.URGENT_FLAG_DISP}} </ion-label>
</ion-col>
</ion-row>
</ion-card-content>
</ion-card>
</div>
</ion-grid>
</ng-container>
</ion-slide>
</ion-slides>
<ion-row>
<ion-col col-12>
<div id="notificationDynamicFieldsPO">
</div>
</ion-col>
</ion-row>
</div>
<div *ngIf="messageSuccess" class="succssfullMSG">
<ion-col size="12">
<ion-icon class="succssfullIcon" name="checkmark"></ion-icon>
</ion-col>
<ion-col size="12">
<div style="font-size: 30px !important"> {{'worklistMain, Tran_Succ' | translate}}</div>
</ion-col>
</div>
</ion-content>
<ion-footer *ngIf="!messageSuccess" class="footerSearchBtn">
<ion-tabs>
<ion-tab-bar class="tabBar" slot="bottom" style="height: 100% !important;">
<ion-tab-button *ngIf="approveDis" (click)="actionButton('APPROVE')">
<img src="../assets/imgs/mohemm-action/Approve.png">
<ion-label class="action-btn"> {{approve_label}}</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="closeDis" (click)="actionButton('CLOSE')">
<img src="../assets/imgs/mohemm-action/Approve.png">
<ion-label class="action-btn"> {{close_label}}</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="rejectDis" (click)="actionButton('REJECT')">
<img src="../assets/imgs/mohemm-action/Reject.png">
<ion-label class="action-btn"> {{reject_label}}</ion-label>
</ion-tab-button>
<ion-tab-button *ngIf="requestDis" (click)="actionButton('REQUEST_INFO')">
<img src="../assets/imgs/mohemm-action/info.png">
<ion-label class="action-btn"> {{reqInfo_label}}</ion-label>
</ion-tab-button>
<ion-tab-button (click)="nextNotfification()">
<img src="../assets/imgs/mohemm-action/Skip.png">
<ion-label class="action-btn"> {{'worklistMain, skip' | translate}}</ion-label>
</ion-tab-button>
<ion-tab-button [disabled]="moreDisabled" (click)="openMoreActions()">
<img src="../assets/imgs/mohemm-action/More.png">
<ion-label class="action-btn"> {{'worklistMain, more' | translate}}</ion-label>
</ion-tab-button>
</ion-tab-bar>
</ion-tabs>
</ion-footer>

@ -0,0 +1,144 @@
// .itemHISBtn{
// padding: 5px;
// color: var(--light);
// background: var(--darkgray);
// border-radius: 3px;
// width: 85%;
// height: 40px;
// }
// .rowBtn{
// display: flex;
// flex-direction: row;
// justify-content: center;
// align-items: center;
// background: white;
// }
// .rowBorder{
// border-bottom: solid 0.03cm var(--grayBG);
// }
// .colBorder{
// border-right: solid 0.03cm var(--grayBG);
// }
// .dateActionHistory{
// text-align: end;
// // margin-top: -25px;
// }
// .actionBtn{
// --border-radius: 50% !important;
// height: 55px;
// width: 55px;
// --background: var(--newgreen); // will be dynamic
// background: transparent;
// margin:10px;
// }
// .itemAttch{
// border-radius: 11px;
// margin: 8px;
// --min-height: 60px;
// --max-height: 60px;
// }
// .less {
// max-height: 54px;
// }
// .noDataDiv{
// background: #ffffff;
// height: 11%;
// text-align: center;
// padding-top: 1px;
// border-radius: 10px;
// margin: 10px;
// }
// .container {
// font-size: 14px;
// line-height: 14px;
// height: 16px;
// overflow: hidden;
// text-align: justify;
// }
// .show {
// overflow: visible;
// height: auto;
// }
// .showMore{
// padding: 0px;
// background: transparent;
// color: blue;
// text-decoration: underline;
// font-size: 14px;
// }
// .succssfullMSG{
// height: 100%;
// width: 100%;
// background: var(--newgreen);
// color: white;
// font-weight: bold;
// font-size: 20px;
// text-align: center;
// vertical-align: middle;
// padding-top: 30px;
// }
// .succssfullIcon{
// width: 60%;
// text-align: center;
// height: 60%;
// }
// .subjectNotification{
// text-align: center;
// padding-top: 10px;
// font-weight: bold;
// }
.no-padding-label {
padding: 0px !important;
}
.margin-left {
margin-left: 0px;
}
.active-Segment {
font-size: 0.3cm !important;
background: #269DB8 !important;
text-transform: none;
--color-checked: none;
border-radius: 100px;
border:0;
}
.active-Segment ion-label{
font-size: 11px;
color: white !important;
}
.normal-Segment ion-label{
color: black !important;
font-size: 11px;
}
.normal-Segment {
font-size: 0.3cm !important;
text-transform: none;
--color-checked: none;
border: 0;
}
.action-btn {
white-space: nowrap;
font-size: 10px;
}

@ -0,0 +1,27 @@
import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { WorklistMainIcComponent } from './worklist-main-ic.component';
describe('WorklistMainIcComponent', () => {
let component: WorklistMainIcComponent;
let fixture: ComponentFixture<WorklistMainIcComponent>;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ WorklistMainIcComponent ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(WorklistMainIcComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});

@ -323,7 +323,7 @@
<ion-slide>
<ng-container *ngIf="activeSegment === 'attach'">
<ion-card class="cardContent" style="width: 100% i !important;">
<ion-card class="cardContent" style="width: 100% !important;">
<ion-card-content>
<div class="noDataDiv" [hidden]="attachmentRes && attachmentRes.length > 0">
<p>{{ 'general, notAttch' | translate}}</p>

@ -2058,6 +2058,122 @@
"empty-comment": {
"en": "you shoud add comment",
"ar": "يجب عليك اضافة تعليق"
},
"product-name":{
"en":"Product Name",
"ar":"اسم المنتج"
},
"product-description":{
"en":"Product Description",
"ar":"وصف للمنتج"
},
"Unit-price":{
"en":"Unit Price",
"ar":"سعر الوحدة"
},
"manufacturer-name":{
"en":"Manufacturer Name",
"ar":"اسم المصنع"
},
"manufacturer-part-number":{
"en":"Manufacturer Part Number",
"ar":"رقم قطعة المصنع"
},
"supplier-name":{
"en":"Supplier Name",
"ar":"اسم المورد"
},
"supplier-contact":{
"en":"Supplier Contact",
"ar":"عقد المورد"
},
"charge-to-patient":{
"en":"Charge to Patient",
"ar":"رسوم على المرضى"
},
"justification":{
"en":"Justification",
"ar":"تبرير"
},
"item-code":{
"en":"Item Code",
"ar":"رمز الصنف"
},
"item-description":{
"en":"Item Description",
"ar":"وصف الصنف"
},
"group-code":{
"en":"Group Code",
"ar":"رمز المجموعة"
},
"group-description":{
"en":"Group Description",
"ar":"وصف المجموعة"
},
"subgroup-code":{
"en":"Subgroup Code",
"ar":"رمز المجموعة الفرعية"
},
"subgroup-description":{
"en":"Subgroup Description",
"ar":"وصف المجموعة الفرعية"
},
"primary-uom":{
"en":"Primary UOM",
"ar":"Primary UOM"
},
"template-name":{
"en":"Template Name",
"ar":"اسم القالب"
},
"item-creation-status":{
"en":"Item Creation Status",
"ar":"حالة انشاء العنصر"
},
"standardization-approval-status":{
"en":"Standardization Approval Status",
"ar":"حالةالموافقة على المعايرة"
},
"standardization-approval-rejection-reason":{
"en":"Standardization Approval Rejection Reason",
"ar":"سبب رفض الموافقة على المعايرة"
},
"category":{
"en":"Category",
"ar":"فئة"
},
"requester":{
"en":"Requester",
"ar":"مقدم الطلب"
},
"analyzed-by":{
"en":"Analyzed By",
"ar":"تحليل بواسطة"
},
"approved-date":{
"en":"Approved Date",
"ar":"تاريخ الموافقة"
},
"item-type":{
"en":"Item Type",
"ar":"نوع الصنف"
},
"related-to":{
"en":"Related To",
"ar":""
},
"request-date":{
"en":"Request Date",
"ar":"متعلق بـ"
},
"analyzed-date":{
"en":"Analyzed Date",
"ar":"تاريخ التحليل"
},
"urgent":{
"en":"Urgent",
"ar":"عاجل"
}
},
"worklistMain": {

Loading…
Cancel
Save