{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/Description/description.component.html","webpack:///src/app/accessory/accessory.component.html","webpack:///src/app/accessory/accessorydialog.component.html","webpack:///src/app/adminjoblist/adminjoblist.component.html","webpack:///src/app/app.component.html","webpack:///src/app/app.profile.component.html","webpack:///src/app/app.topbar.html","webpack:///src/app/brand/brand.component.html","webpack:///src/app/category/category.component.html","webpack:///src/app/changedPassword/changedPassword-entry.html","webpack:///src/app/changedPassword/confirmPassword-entry.html","webpack:///src/app/customer/customer.component.html","webpack:///src/app/customer/customerdialog.component.html","webpack:///src/app/customertaken/customertaken.component.html","webpack:///src/app/customertaken/printcomp.html","webpack:///src/app/dashboard/dashboard.component.html","webpack:///src/app/dashboardsup/dashboardsupervisor.component.html","webpack:///src/app/dashboardsup/dashboardsupervisorview.component.html","webpack:///src/app/dashboardsup/jobdone.component.html","webpack:///src/app/dashboardsup/jobdoneprintview.component.html","webpack:///src/app/dashboardtech/dashboardtech.component.html","webpack:///src/app/dashboardtech/dashboardview.component.html","webpack:///src/app/department/department.component.html","webpack:///src/app/deviceid/deviceid.component.html","webpack:///src/app/external-login.html","webpack:///src/app/job/job.component.html","webpack:///src/app/job/jobpart.component.html","webpack:///src/app/job/jobphoto.component.html","webpack:///src/app/job/jobphotoview.component.html","webpack:///src/app/job/jobprintview.component.html","webpack:///src/app/joblist/joblist.component.html","webpack:///src/app/joblist/techjoblist.component.html","webpack:///src/app/joblist/techjoblist2.component.html","webpack:///src/app/joblistnew/joblistnew.component.html","webpack:///src/app/login/login.html","webpack:///src/app/loginuser/loginuser.component.html","webpack:///src/app/main-dashboard/main-dashboard.component.html","webpack:///src/app/messagetemplates/messagetemplate.component.html","webpack:///src/app/model/model.component.html","webpack:///src/app/model/modeldialog.component.html","webpack:///src/app/over7DayJobs/over7.component.html","webpack:///src/app/prepareresetpwd/prepareresetpwd.component.html","webpack:///src/app/saveresetpwd/saveresetpwd.component.html","webpack:///src/app/searchjob/searchjob.component.html","webpack:///src/app/servicecenter/servicecenter.component.html","webpack:///src/app/servicetype/servicetype.component.html","webpack:///src/app/stockadjustment/stockadjustmentlist.component.html","webpack:///src/app/stockbalance/stockbalance.component.html","webpack:///src/app/stockin/purchase-entry.component.html","webpack:///src/app/stockin/stockin.component.html","webpack:///src/app/stockin/stockindetail.component.html","webpack:///src/app/stockin/stockinlist.component.html","webpack:///src/app/stockitem/stockitem.component.html","webpack:///src/app/stockledger/stockledger.component.html","webpack:///src/app/stocktransfer/createstocktransfer.component.html","webpack:///src/app/stocktransfer/stocktransferdetail.component.html","webpack:///src/app/stocktransfer/transferlist.component.html","webpack:///src/app/takenlist/takenlist.component.html","webpack:///src/app/tech-dashboard/tech_dashboard.component.html","webpack:///src/app/techreview/techreview.component.html","webpack:///src/app/total-dashboard/total-dashboard.component.html","webpack:///src/app/warranty/warranty.component.html","webpack:///src/app/Description/description.component.ts","webpack:///src/app/Description/dropdownvalue.ts","webpack:///src/app/accessory/accessory.component.ts","webpack:///src/app/accessory/accessory.ts","webpack:///src/app/accessory/accessorydialog.component.ts","webpack:///src/app/adminjoblist/adminjoblist.component.ts","webpack:///src/app/adminjoblist/adminjoblistquery.ts","webpack:///src/app/app.component.scss","webpack:///src/app/app.component.ts","webpack:///src/app/app.footer.component.ts","webpack:///src/app/app.menu.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/app.profile.component.ts","webpack:///src/app/app.routes.ts","webpack:///src/app/app.topbar.component.ts","webpack:///src/app/appDirectives/appointmentNotiColor.directive.ts","webpack:///src/app/blank/blank.component.ts","webpack:///src/app/blank/blankwithparam.component.ts","webpack:///src/app/brand/brand.component.ts","webpack:///src/app/brand/brand.ts","webpack:///src/app/category/category.component.ts","webpack:///src/app/changedPassword/changedPassword-entry.component.ts","webpack:///src/app/changedPassword/confirmPassword-entry.component.ts","webpack:///src/app/customer/customer.component.ts","webpack:///src/app/customer/customer.ts","webpack:///src/app/customer/customerdialog.component.ts","webpack:///src/app/customertaken/customertaken.component.ts","webpack:///src/app/customertaken/jobvoucherprint.ts","webpack:///src/app/customertaken/printcomp.ts","webpack:///src/app/dashboard/dashboard.component.ts","webpack:///src/app/dashboard/dashquery.ts","webpack:///src/app/dashboardsup/animate.css","webpack:///src/app/dashboardsup/dashboardsupervisor.component.ts","webpack:///src/app/dashboardsup/dashboardsupervisorview.component.ts","webpack:///src/app/dashboardsup/jobdone.component.ts","webpack:///src/app/dashboardsup/jobdoneprintview.component.ts","webpack:///src/app/dashboardtech/dashboardtech.component.ts","webpack:///src/app/dashboardtech/dashboardview.component.ts","webpack:///src/app/department/department.component.ts","webpack:///src/app/deviceid/deviceid.component.ts","webpack:///src/app/external-login.cp.ts","webpack:///src/app/home/home.ts","webpack:///src/app/job/job.component.ts","webpack:///src/app/job/job.ts","webpack:///src/app/job/jobpart.component.ts","webpack:///src/app/job/jobphoto.component.ts","webpack:///src/app/job/jobphoto.ts","webpack:///src/app/job/jobphotoview.component.ts","webpack:///src/app/job/jobprintview.component.ts","webpack:///src/app/job/stockinhandstatus.ts","webpack:///src/app/joblist/joblist.component.ts","webpack:///src/app/joblist/joblistquery.ts","webpack:///src/app/joblist/jobviewmodel.ts","webpack:///src/app/joblist/techjoblist.component.ts","webpack:///src/app/joblist/techjoblist2.component.ts","webpack:///src/app/joblistnew/joblistnew.component.ts","webpack:///src/app/joblistnew/joblistnewDeptquery.ts","webpack:///src/app/joblistnew/joblistnewquery.ts","webpack:///src/app/log/log.component.ts","webpack:///src/app/login/login.ts","webpack:///src/app/loginuser/loginuser.component.ts","webpack:///src/app/loginuser/loginuser.ts","webpack:///src/app/main-dashboard/main-dashboard.component.ts","webpack:///src/app/messagetemplates/messagetemplate.component.ts","webpack:///src/app/messagetemplates/messagetemplate.ts","webpack:///src/app/model/model.component.ts","webpack:///src/app/model/model.ts","webpack:///src/app/model/modeldialog.component.ts","webpack:///src/app/over7DayJobs/over7.component.ts","webpack:///src/app/prepareresetpwd/prepareresetpwd.component.ts","webpack:///src/app/prepareresetpwd/prepareresetpwd.ts","webpack:///src/app/qrcodeown/qrcodeown.component.ts","webpack:///src/app/saveresetpwd/saveresetpwd.component.ts","webpack:///src/app/searchjob/searchjob.component.ts","webpack:///src/app/service/auth_guard/admin_role.ts","webpack:///src/app/service/auth_guard/assistance_manager_role.ts","webpack:///src/app/service/auth_guard/else_warranty_role.ts","webpack:///src/app/service/auth_guard/justlogin.ts","webpack:///src/app/service/auth_guard/operator_role.ts","webpack:///src/app/service/auth_guard/service_manager_role.ts","webpack:///src/app/service/auth_guard/service_tech_role.ts","webpack:///src/app/service/auth_guard/warranty_role.ts","webpack:///src/app/service/authservice.ts","webpack:///src/app/service/datachangedevent.ts","webpack:///src/app/service/globalfunction.ts","webpack:///src/app/service/httpservices.ts","webpack:///src/app/service/lFservice.ts","webpack:///src/app/service/signalrservice.ts","webpack:///src/app/servicecenter/servicecenter.component.ts","webpack:///src/app/servicetype/servicetype.component.ts","webpack:///src/app/servicetype/servicetype.ts","webpack:///src/app/stockadjustment/adjustmentlistquery.ts","webpack:///src/app/stockadjustment/stockadjustment.ts","webpack:///src/app/stockadjustment/stockadjustmentlist.component.ts","webpack:///src/app/stockbalance/stockbalance.component.ts","webpack:///src/app/stockin/purchase-entry.component.ts","webpack:///src/app/stockin/stockin.component.ts","webpack:///src/app/stockin/stockin.ts","webpack:///src/app/stockin/stockindetail.component.ts","webpack:///src/app/stockin/stockindetail.ts","webpack:///src/app/stockin/stockinlist.component.ts","webpack:///src/app/stockin/stockinlistquery.ts","webpack:///src/app/stockitem/stockitem.component.ts","webpack:///src/app/stockitem/stockitem.ts","webpack:///src/app/stockledger/stockledger.component.ts","webpack:///src/app/stockledger/stockledger.ts","webpack:///src/app/stocktransfer/createstocktransfer.component.ts","webpack:///src/app/stocktransfer/stocktransfer.ts","webpack:///src/app/stocktransfer/stocktransferdetail.component.ts","webpack:///src/app/stocktransfer/stocktransferdetail.ts","webpack:///src/app/stocktransfer/transferlist.component.ts","webpack:///src/app/stocktransfer/transferlistquery.ts","webpack:///src/app/takenlist/takenlist.component.ts","webpack:///src/app/takenlist/takenlistquery.ts","webpack:///src/app/tech-dashboard/tech_dashboard.component.ts","webpack:///src/app/tech-dashboard/techdashquery.ts","webpack:///src/app/techreview/techreview.component.ts","webpack:///src/app/techreview/techreviewquery.ts","webpack:///src/app/total-dashboard/total-dashboard.component.ts","webpack:///src/app/warranty/warranty.component.ts","webpack:///src/app/warranty/wrrantylistquery.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","DescriptionCp","pService","httpService","activeRoute","_dataChanged","_ngZone","isModal","apiName","dataList","dataListFilter","toastkey","selectedType","notvalidInput","description","start","departmentChanged","subscribe","sRobj","ObjType","run","toLowerCase","afterBroadCastEvent","objData","Obj","ind","findIndex","temp","Msg","refresh","unshift","current_route","params","param","search","type","GetData","undefined","dtList","postData","data","err","showToast","done","a","assign","filterData","filter","s","Description","trim","indexOf","event","keyCode","isNew","descObj","UUID","entryModal","open","vc","nativeElement","focus","selectedChk","length","deleteModal","showUnsuccessDelMsg","doneDeleteProcess","close","AddClassToModal","header","msg","deleteModalClose","modal","checkValid","ddd","getData","Id","toUpperCase","actionlogs","checkStringEmpty","Type","DirectLocToWindow","selector","template","DropDownValue","LUDT","UN","AccessoryCP","accessory","accessoryChanged","aList","accessories","totalRecords","RefreshData","selectedData","CloneData","AcsID","actionModal","pdt","gb","AcsN","resetDatable","value","reset","Accessory","AccessoryDialogCP","onClick","isSaving","emit","AdminJobListCP","router","auth","printMode","showIncome","jobstatusddown","servicecenterddown","servicetypeddown","periodddown","scList","stList","datasource","adminjoblist","isTakenStatus","defineAdminJobListQry","setUpServiceCenterAndServiceType","setUpEmployees","prepareForAdminData","rps","getAdminJobList","adminjoblistqry","jobstatusId","empUN","sort","b","JDT","employees","push","label","obj","UT","Name","getDataFJ","sc","ID","st","fromdate","Date","getFullYear","getMonth","getDate","todate","setUpJobStatus","setUpPeriod","setTimeout","slice","first","rows","changedData","DID","departmentId","window","print","AdminJobListQuery","servicecenterId","servicetypeId","period","MenuOrientation","AppComponent","ngzone","_signalR","renderer","httpservice","layoutCompact","layoutMode","STATIC","darkMenu","profileMode","notiMessages","notiCount","getAuthInfo","n","setAllData","url","includes","logout","subscribeToEvents","GetDepartment","res","mobileWidth","innerWidth","searchData","navigate","searchType","documentClickListener","listen","topbarItemClick","activeTopbarItem","topbarMenuActive","menuClick","isHorizontal","resetMenu","role","connectionEstablished","messageReceived","brandChanged","categoryChanged","customerChanged","modelChanged","serviceCenterChanged","serviceTypeChanged","stockItemChanged","loginUserChanged","jobTRateChanged","Value2","ScID","jobChanged","jobTStatusChanged","jobSmStatusChanged","jobWarrantyStatusChanged","jobServiceCenterChanged","OVERLAY","overlayMenuActive","isDesktop","staticMenuDesktopInactive","staticMenuMobileActive","preventDefault","$event","item","width","HORIZONTAL","unsubscribe","AppFooter","AppMenuComponent","app","model","appRole","icon","items","command","gotoMainDashboard","gotoTotalDashboard","gotoDashboard","gotoTechDashboard","gotoJobList","gotoJobListNew","routerLink","theme","themeLink","document","getElementById","layoutLink","href","AppSubMenu","location","index","disabled","activeIndex","originalEvent","_reset","val","animations","height","AppModule","imports","declarations","providers","provide","useClass","bootstrap","InlineProfileComponent","fb","messageService","profileEditForm","group","required","active","patchValue","loginName","Pwd","RePwd","controls","disable","markAsPristine","profileEditModal","profileEditData","objt","HashString","add","severity","summary","detail","routes","path","component","canActivate","AppRoutes","forRoot","AppTopBar","_datachanged","tmi","At","toLocaleTimeString","fname","JAT1","JAT2","generateNotiSound","Value1","JobState","nm","splice","findSelectedIndex","sound_filename","innerHTML","AppNotiColorDirective","el","tstat","style","color","appdate","sstat","ttmp","curdate","BlankCP","BlankWithParamCP","currentRoute","jid","sub","BrandCP","brand","bList","brands","_url","BID","BN","Brand","CategoryCP","categories","brandlist","depts","deptlist","catChanged","depChanged","CreateForm","GetRequiredData","depList","catList","d","setDepartmentData","setBrandData","selectedBId","x","DN","catForm","compose","maxLength","para","i","category","CatID","CatN","selected","_index","parseInt","findBrand","findDept","findByIndexCategory","entryModalClose","getCategorybyConditionChange","bid","getCategoriesByBId","expdata","otherModal","deptModal","ChangedPasswordEntryCP","frmClick","btnProcess","tempPwd","errorPwdString","showPass","msgErr","checkWarning","checkMaxLength","validASCII","save","exp","ConfirmPasswordEntryCP","curPassword","vaildASCII","validCurrPass","getLoginData","appUser","confirm","CustomerCP","emaliValid","isValid","isCusModalOpen","cusList","customers","c","forEach","City","Array","from","Set","query","filteredCities","getCities","userForm","valueChanges","checkFormValid","match","selectedCustomer","customer","did","deptllist","expv","Customer","CID","CN","PhT","Ph","Em","Addr","nSMS","nEm","nPh","CustomerDialogCP","emailValid","townshipList","cn","isDuplicatePhone","CustomerTakenCP","BAmo","techName","source_comp","isSaveAndNotiClick","jobVP","takenDate","printObj","JID","JIDR","JOB","TAmo","DAmo","Crec","Chg","jobVoucherData","MCB","MoID","job","calculateAmount","SStat","Taken","FOC","LID","Des","tmp","JVPs","jobvp","idx","timer","getPrintPreViewData","JobVoucherPrint","Amo","PrintCusTakenVoucherComp","aroute","jobId","back","DashboardCP","periods","types","oServiceCenterList","serviceCenterList","oServiceTypeList","serviceTypeList","oDepartmentList","departmentList","selectLists","filterDataList","title","isJobDetailList","dquery","PType","Period","Selected","SCID","STID","SearchText","DefaultDateTime","joblistnewqry","FromDate","ToDate","barData","labels","datasets","backgroundColor","borderColor","pieData","hoverBackgroundColor","scChanged","stChanged","getDataList","refreshChart","dList","setServiceCenterData","setSelectLists","setServiceTypeData","ScN","STN","startPBar","donePBar","srObjT","srObjSM","srObjJ","j","isServiceCenter","lbl","barChart","pieChart","colfield","rdata","noTaken","noSDone","ReceivedJob","WorkInProgress","Warranty","CustomerReply","Done","jobDetailListModal","DashQuery","DashBoardSupCP","jobs","_listOfMon","animateJID","_jid","moid","MoN","mcbList","dsList","m","DashboardSupViewCP","isPhotoView","tempStatus","confirmMsgs","animateStyle","subscribeToEvent","jobv","TProg","changes","mcb_name","confirmModal","confirmModalClose","GetCustomerByID","jobdoneModal","TStat","RSM","JT","WSDT","WADT","photoModal","CryptoJS","JobDoneCP","jobID","tmpdeviceID","showQRPrintDialog","isprint","initJob","getJobByJobID","getCustomerByID","getTechName","reject","SAmo","PAmo","DeviceID","hash","SHA1","hashstring","enc","Hex","stringify","saveDeviceID","printQRCodeModal","dismiss","JobDonePrintViewCP","qrcode","DashBoardTechCP","dt","DashboardViewCP","DepartmentCP","dptForm","department","selectedDepartment","DeviceIDCP","Get_MCB","vcdeviceId","deviceId","getmcbName","ExternalLoginComponent","chkRemember","showLogin","loginObj","JSON","parse","Set_LF","access_token","getRequriedData","result","storeCredential","clearLoginProperty","msgs","loginErrModal","_body","errMsg","Message","startsWith","substring","encapsulation","None","Login","loginId","pwd","HomeCP","JobCP","datepipe","newJob","jobRemarks","jobAccessories","results","modlresults","isAccessoryModalOpen","isModelModalOpen","jobbydidempty","isAccordion","isCreateJob","visibleJP","didempty","Warrantychecked","isPrint","cusScantoastkey","jobmsgs","dropdownValues","cusInfo","phone","name","is450Width","suppliers","mcbs","unvalidCustomer","unvalidModel","Get_ServiceType","Get_ServiceTechnician","Get_Accessory","Get_Suppliers","GetDropDownValue","searchCustomer","APPDT","vir_label","vir_value","Model","ReBindAccessoryMultiSelect","reBindDescriptionMultiSelect","Get_LF","MCBKey","_value","getMCBSourceData","STKey","ServiceTypeDropDown","LUKey","LoginUserDropoDown","AcKey","_listofAccessory","SplKey","ddvList","oDropDownValueList","arr","t","ddvalueList","tempSplitList","split","ddvObj","find","ddv","selectedValues","ja","AssignDescriptionSelectedValue","mcb","servicetypes","loginusers","lu","JobAccessories","accessoryList","accessoryObj","acc","AssignAccessorySelectedValue","selectedAccessories","target","qstring","cusObj","CusKey","cus","caller","toString","isbtnCreate","HAPP","form","valid","AssignDescription","showJobError","AssignJobAccessories","SuppN","setSeconds","setMilliseconds","apot_date","transform","APDH","endsWith","navigationPage","filteredSuppN","sup","onJPTabOpen","CreateJob","scanDeviceIdModal","deviceID","tpaCust","cust","tpaMon","OKDeviceID","curdt","scanCustomerModal","onInputFocus","strAry","scanCustomerdata","customerByPhone","assignCustomer","closeScanCustomerModal","getCustomerFormLinn","phoneNumber","tmpObj","linnPostData","responseCode","customerObj","addressTownship","address","createCustomer","error","errorMessage","responseMessage","scancustomerId","customerModal","modelModal","moId","accessoryModal","accesAry","aces","SetAccessoryData","Job","JCUN","OAcc","RC","RT","TDnDT","TDBy","SDnDT","SDBy","TDT","WR","RCC","HasPhoto","Imei","JK","JobPhotos","JobPartCP","toggle","jobparts","ifValueChanged","stockinHandStatus","jobPartForm","getStockItemDDown","GetJobParts","_stockitemsList","stockitems","si","brandName","SN","Cat","SID","len","jobpart","stockitemChange","JPID","Rqty","StockInHand","Status","Stus","findStockItem","jp","JobPhotoCP","jobPhotos","src","Photo","jpid","deleteJPID","jobphoto","image","Image","myReader","FileReader","that","resizeImage","files","blob","onloadend","loadEvent","readAsDataURL","file","maxWidth","maxHeight","URL","createObjectURL","onload","newWidth","newHeight","canvas","createElement","context","getContext","drawImage","toBlob","onerror","JobPhoto","JobPhotoViewCP","GetJobPhoto","jobphotos","JobPrintViewCP","loca","Qrdata","jvm","GetJobByID","StockInHandStatus","JobListCP","pRadioReChk","jobmodaltitle","showJobDoneDialog","jobVPs","filteredjobs","selectedJobStatus","sourcedata","_searchdata","servicecenterlist","showTaken","joblistquery","statusVal","reAssigCheck","technicians","assignedTechs","jobShift","tsourcedata","srCenterChanged","srDataObj","srDataJ","srDataT","srDataSM","srLU","getLocalJobStatus","Get_ServiceCenter","tmpscid","isExpWidth","_jvm","notjobchange","val1","CJKey","idx1","xx","btn","click","table","filterJobs","jobRemark","jobstatus","tempJobs","CNPh","MoNSTN","jv","smDoneRadioVal","confirmSMDoneModal","changeJobViewToJob","getJobDescription","customerTakenModal","showServiceCenter","serviceCenterModal","techDoneRadioVal","showJobModal","jobModal","in_upd_Bcast","timerSub","rsm","link","Accessories","scsourcedata","reassigntechs","getAssignedTechnicians","ReAssignTechDropoDown","UnRepairModal","JobListQuery","JobViewModel","TechName","TechScN","DPh","TechJobListCP","bindtechStatus","bindPeriod","_type","mon","getTechJobList","TechJobListCP2","isunder500width","pRadioJobReChk","pRadioNote","techRemark","objJ","objT","objSM","getDropdownValue","updateRowGroupMetaData","technicianRemark","TechnicianRemark","reBindTechRemarkMultiSelect","rbval","techStatusModalOpen","saveTechStateChanges","note","techStatusModal","AssignTechinicianRemark","AssignTechRemarkSelectedValue","isJobRemark","isNote","rowGroupMetadata","rowData","jstate","size","previousRowData","previousRowGroup","groupField_a","groupField_b","sortField_a","field","sortField_b","localeCompare","order","JobListNewCP","joblistnewQry","isModalMode","joblistnew","jidr","_searchjid","searchVal","getJobListNew","authtoken","selectedServiceCenter","selectedServiceType","tmpsearchJV","searchTypeModel","searchdata","searchtype","takenDetailModal","callFormName","query2","JobStatusId","dataquery","selectedJobRemark","jobremark","_idx","exportJobnew","JobListNewDeptQuery","jat","JobListNewQuery","LogCP","LoginApplication","loggedIn","GetLoginUsers","GetServiceCenters","loginname","loginUsers","loginForm","loginuser","logIn","scid","login","LoginUserCP","oDeptList","usertypes","isEntryModalOpen","isEmailValid","isConfPwdModalOpen","isChangedPwdModalOpen","errorUNString","errorNameString","errorUTString","errorEmailString","errorDPhString","luChanged","serviceCenters","luList","dep","isNotValid","UserName","findServiceType","findServiceCenter","entryModalOpen","loginUser","vc1","isUserNameExist","Email","checkEmail","ConfirmedPwdModal","ChangedPwdModal","LoginUser","MainDashboardCP","filteredDataList","getRequiredData","count","scenter","jobinfos","filteredData","propName","totalPropName","total","reduce","MessageTemplateCP","locat","messageTypeDDown","messagetemplates","messagetemplate","setMsgTypeDDown","getMsgTemplates","mtType","mTemplate","templatetxt","MessageTemplate","ModelCP","catlist","models","isShowCatModal","cList","mList","setCategoryData","getModelsByBId","getModelbyConditionChange","mCategory","ModelDialogCP","GetCategory","modelForm","cat","categoryModal","Over7CP","overdaylist","_deptName","_scName","_overday","_department","_servicecenter","getOverDayJobs","getDifferDays","getDeptName","getSCName","date1","date2","timeDiff","Math","abs","getTime","diffDays","ceil","UNAndResetCP","uns","unandreset","GetUN","creatForm","formUN","tmpUN","waitLoadingModal","tmpunandreset","recoveryKey","successEmailSend","successConfirmEmailModal","UNAndReset","email","QRious","QRCodeComponentOwn","elementRef","background","backgroundAlpha","foreground","foregroundAlpha","level","mime","padding","generate","qr","appendChild","console","message","ResetPwdCP","route","UNResetObj","rkey","isRKeyValid","createForm","newpwd","resetPwdForm","successSaveModal","cfmpwd","saveResetPwd","SearchJobCP","_datachange","searchjob","validJobId","getSearchJob","srobj","jt","Admin_Role","isLoggedIn","Assistance_Manager_Role","Else_Warranty_Role","JustLogin","Operator_Role","Service_Manager_Role","Service_Tech_Role","Warranty_Role","AuthStorage","AuthService","http","isAuthorized","config","driver","WEBSQL","version","storeName","getItem","authinfo","setItem","dph","dn","scn","stid","stn","un","addr","DataChangedEvent","searchjobChanged","GlobalFunc","objtype","prop","filtered","MD5","Base64","datetimeObj","tmpdatetime","getHours","getMinutes","getSeconds","getMilliseconds","setMinutes","setHours","CTKey","BrKey","MKey","DPKey","SCKey","SIKey","HttpServices","_http","httpClient","origin","dateFormat","dateTimeFormat","dtFormatNoSecond","headers","append","paramURL","createAuthorizationHeader","get","json","qarray","forkJoin","post","method","request","UploadProgress","DownloadProgress","body","setHeaders","reportProgress","clone","sendLogout","goToLogin","RemoveAllData","username","password","charCodeAt","max","min","ismodal","element","classList","contains","keystr","toasttype","summarymsg","key","fileName","isArray","local","lFservice","DbKey","DbValue","removeItem","clear","SignalRService","proxyName","connectionExists","connection","$","hubConnection","proxy","createHubProxy","registerOnServerEvents","startConnection","invoke","fail","on","ServiceCenterCP","serviceForm","service","selectedService","ServiceTypeCP","servicetype","ServiceType","AdjustmentListQuery","AjType","StockAdjustment","AjID","AjDT","Qty","Rmk","StockAdjustmentListCP","adjList","siChanged","bindAjTypesForFilter","defaultDateTime","bindAjTypes","getAdjustmentList","AjTypesFilter","AjTypes","siList","setStockItemData","adjustmentForm","adjustment","date","tempAdjustment","findStock","findAdjustmentIndex","StockBalance","httpservices","stocks","showTable","totalBal","showlabel","noZeroStocks","departments","getDepartment","getStocks","selectedStock","stocksBalance","sB","PurchaseEntryCP","stockinDetailList","errorInd","stockIn","getStockList","SIDT","SIID","getStockInDetail","servicecenters","stockitemsList","stockInDetails","rt","SIDID","StockInCP","evt","reader","EFN","UploadFileData","btoa","readAsBinaryString","goToList","StockIn","StockInDetailCP","formvalid","stockin","tempStockIn","tempstockInDetail","stockinForm","editstockinForm","std","Price","tmpsidid","changedcomp","setValue","editStockInModal","StockInDetail","StockInListCP","stockInList","selecteddata","Refresh","StockInListQuery","StockItemCP","stockItem","oBrandList","selectedStockItem","stockForm","selectSType","pattern","UploadFile","tmpstn","tmpbn","tmpidx","_tmpidx","MinQ","enable","onlySelf","ridx","StockItem","StockLedgerCP","stockledgers","scats","selectedCategory","startDate","endDate","slquery","StockLedger","oBalance","sIn","sUsed","Adj","sTransferIn","sTransferOut","cBalance","StockCategory","StockLedgerQuery","StartDate","EndDate","CreateStockTransferCP","stockTransfer","toLocaleDateString","TID","GetServiceCenter","getTransfer","goToStockTransferDetail","StockTransfer","IScID","IScN","OScID","OScN","STDetail","StockTransferDetailCP","tid","tempStock","stockTransDetails","get_StockItems","stockTransForm","Number","TDID","isInt","stf","editModal","StockTransferDetail","TransferListCP","stfList","getTransferList","TransferListQuery","TakenListCP","jobtypes","takenList","amount","serviceCharges","partsAmount","totalAmount","depositAmount","balanceAmount","bindJobType","GetMcbInBroadcast","TakenListQuery","TechDashboardCP","selectedDept","log","TechDashQuery","TechReviewCp","reviewlist","status","recheckCount","periodList","techStatusBind","Search","users","techStatus","setLoginUserData","review","TechReviewQuery","TotalDashboardCP","dashinfos","WarrantyCP","departmentlist","warrantyListQuery","warrantyOptions","samo","pamo","tamo","wsdtIsNull","_departments","_loginUsers","jscChanged","jtstChanged","jsmstChanged","wForm","_models","modelslist","wrty","getLoginUserName","findByIndexJvm","WrtyChange","ChkDate","OptionValue","WarrantyListQuery","environment","production","bootstrapModule"],"mappings":"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Af,GAAoB,wDAApB;;;;;;;;;;;;;;;;AC/RA;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA;;;;;;;;;;;;;;;;ACAf;AAAe;;;AAAA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CAA8B1L,SAA9B,CAAwC,UAACuB,IAAD,EAAU;AAE9C,oBAAQA,IAAI,CAACrB,OAAb;AACI,mBAAK,WAAL;AAAkB;AACd;AACA,yBAAI,CAACd,YAAL,CAAkBoF,gBAAlB,CAAmCmB,IAAnC,CAAwCpE,IAAxC,EAFc,CAGd;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,OAAL;AAAc;AACV;AACA,yBAAI,CAACnC,YAAL,CAAkBuM,YAAlB,CAA+BhG,IAA/B,CAAoCpE,IAApC,EAFU,CAGV;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,UAAL;AAAiB;AACb;AACA,yBAAI,CAACnC,YAAL,CAAkBwM,eAAlB,CAAkCjG,IAAlC,CAAuCpE,IAAvC,EAFa,CAGb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,UAAL;AAAiB;AACb;AACA,yBAAI,CAACnC,YAAL,CAAkByM,eAAlB,CAAkClG,IAAlC,CAAuCpE,IAAvC,EAFa,CAGb;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,YAAL;AAAmB;AACf;AACA,yBAAI,CAACnC,YAAL,CAAkBW,iBAAlB,CAAoC4F,IAApC,CAAyCpE,IAAzC,EAFe,CAGf;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,OAAL;AAAc;AACV;AACA,yBAAI,CAACnC,YAAL,CAAkB0M,YAAlB,CAA+BnG,IAA/B,CAAoCpE,IAApC,EAFU,CAGV;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,eAAL;AAAsB;AAClB;AACA,yBAAI,CAACnC,YAAL,CAAkB2M,oBAAlB,CAAuCpG,IAAvC,CAA4CpE,IAA5C,EAFkB,CAGlB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,aAAL;AAAoB;AAChB;AACA,yBAAI,CAACnC,YAAL,CAAkB4M,kBAAlB,CAAqCrG,IAArC,CAA0CpE,IAA1C,EAFgB,CAGhB;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,WAAL;AAAkB;AACd;AACA,yBAAI,CAACnC,YAAL,CAAkB6M,gBAAlB,CAAmCtG,IAAnC,CAAwCpE,IAAxC,EAFc,CAGd;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA;AACH;;AACD,mBAAK,WAAL;AAAkB;AACd;AACA,yBAAI,CAACnC,YAAL,CAAkB8M,gBAAlB,CAAmCvG,IAAnC,CAAwCpE,IAAxC;;AACA;AACH;;AAED,mBAAK,yBAAL;AAAgC;AAC5B,yBAAI,CAACnC,YAAL,CAAkB+M,eAAlB,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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ selectedType == 'a' ? \\\"Description\\\" : \\\"TechnicianRemark\\\" }} \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.Description}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

Delete

\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

{{ selectedType == 'a' ? \\\"Description Detail\\\" : \\\"Technician Remark Detail\\\" }}

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{ selectedType == 'a' ? \\\"Description\\\" : \\\"Technician Remark\\\" }} is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

Action Log List

\\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Accessory Name\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Accessory Name{{rowData.AcsN}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Accessory Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n more_vert\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Arrival Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Done Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Manager Done Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Model\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Brand\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Job's Remark\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Assigned Technician (Primary)\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Manager Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Charges\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Part Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Income\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.JIDR}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JDT | date: httpService.dateTimeFormat }}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JOB}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.TDnDT | date: httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.SDnDT | date: httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.CNPh}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.MoN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.BN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.STN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JK}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.TechName}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RT}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RSM}}\\r\\n \\r\\n\\r\\n \\r\\n {{!rowData.Taken ? rowData.SAmo : 0}}\\r\\n \\r\\n\\r\\n \\r\\n {{!rowData.Taken ? rowData.PAmo : 0}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.Crec}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{totalRecords}}\\r\\n {{totalRecords > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Job List For Administrator

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n\\r\\n Arrival Date\\r\\n\\r\\n \\r\\n Description\\r\\n\\r\\n Technician Done Date\\r\\n\\r\\n Service Manager Done Date\\r\\n\\r\\n Customer\\r\\n\\r\\n Model\\r\\n\\r\\n Brand\\r\\n\\r\\n Service Type\\r\\n\\r\\n Job's Remark\\r\\n\\r\\n Assigned Technician (Primary)\\r\\n\\r\\n Technician Remark\\r\\n\\r\\n Service Manager Remark\\r\\n\\r\\n Service Charges \\r\\n \\r\\n Part Amount \\r\\n \\r\\n Income \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.JIDR}}\\r\\n\\r\\n {{rowData.JDT|date: httpService.dateTimeFormat }}\\r\\n\\r\\n \\r\\n\\r\\n {{rowData.JOB}}\\r\\n\\r\\n {{rowData.TDnDT}}\\r\\n\\r\\n {{rowData.SDnDT}}\\r\\n\\r\\n {{rowData.CNPh}}\\r\\n\\r\\n {{rowData.MoN}}\\r\\n\\r\\n {{rowData.BN}}\\r\\n\\r\\n {{rowData.STN}}\\r\\n\\r\\n {{rowData.JK}}\\r\\n\\r\\n {{rowData.TechName}}\\r\\n\\r\\n {{rowData.RT}}\\r\\n\\r\\n {{rowData.RSM}}\\r\\n\\r\\n {{!rowData.Taken ? rowData.SAmo : 0}}\\r\\n \\r\\n {{!rowData.Taken ? rowData.PAmo : 0}}\\r\\n \\r\\n {{rowData.Crec}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalRecords}}\\r\\n {{totalRecords > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"
\\n\\n
\\n\\n \\n\\n \\n\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n \\n\\n \\n \\n \\n \\n \\n \\n \\n\\n \\n
\\n \\n \\n
\\n
\\n
\\n\\n
\";","export default \"
\\r\\n Login\\r\\n\\r\\n \\r\\n {{auth.loginName}}
\\r\\n {{auth.role}}
\\r\\n [ {{auth.ScN}} / {{auth.DN}} ]\\r\\n \\r\\n keyboard_arrow_down\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n              \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Password is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Confirm Password is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
Linn Service
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Brand Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Brand Name{{rowData.BN}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Brand Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Category\\r\\n \\r\\n \\r\\n \\r\\n Brand\\r\\n \\r\\n \\r\\n \\r\\n Department\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Category{{rowData.CatN}}\\r\\n\\r\\n Brand{{rowData.BN}}\\r\\n\\r\\n Department{{rowData.DN}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Category Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Category name is\\r\\n required\\r\\n Can't exceed more than 50\\r\\n characters.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n

Brand List

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Department List

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n

Error!

\\r\\n {{msgErr}} \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n New Password \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{errorPwdString}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n

Error!

\\r\\n {{msgErr}} \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Current Password\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n Please fill current password.\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Name\\r\\n \\r\\n \\r\\n \\r\\n Phone\\r\\n \\r\\n \\r\\n \\r\\n Email\\r\\n \\r\\n \\r\\n \\r\\n Address\\r\\n \\r\\n \\r\\n \\r\\n City\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Name{{rowData.CN}}\\r\\n Phone{{rowData.Ph}}\\r\\n Email{{rowData.Em}}\\r\\n Address{{rowData.Addr}}\\r\\n City{{rowData.City}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Customer Detail

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Customer name is required.
\\r\\n
Can't exceed more than 50 characters.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Mobile phone no is required.
\\r\\n
Invalid phone number.
\\r\\n
Can't exceed more than 50 characters.
\\r\\n
\\r\\n\\r\\n
\\r\\n Mobile phone no is already existed.\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Invalid email address.
\\r\\n
Can't exceed more than 50 characters.
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n \\r\\n Amount\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Description{{rowData.Des}} \\r\\n\\r\\n \\r\\n Amount\\r\\n
{{rowData.Amo}}
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{job.RT}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{technicianName}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{printObj.JIDR}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{printObj.CN === ''? '-' : printObj.CN}}
\\r\\n \\r\\n {{printObj.Ph === ''? '-' : printObj.Ph}}
\\r\\n \\r\\n {{printObj.MCB === ''? '-' : printObj.MCB}}
\\r\\n \\r\\n {{printObj.JOB === ''? '-' : printObj.JOB}}
\\r\\n \\r\\n {{takenDate|date: httpService.dateTimeFormat }}
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DescriptionAmount
{{obj.Des}}\\r\\n
{{obj.Amo}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
{{printObj.TAmo}}   
\\r\\n
\\r\\n \\r\\n \\r\\n
{{printObj.DAmo}}   
\\r\\n
\\r\\n \\r\\n \\r\\n
{{BAmo}}   
\\r\\n
\\r\\n \\r\\n \\r\\n
{{job.Crec}}   
\\r\\n
\\r\\n \\r\\n \\r\\n
{{job.Chg}}   
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
(Authorized Signature)(Customer's Signature)
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{printObj.JIDR}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{printObj.CN === ''? '-' : printObj.CN}}
\\r\\n \\r\\n {{printObj.Ph === ''? '-' : printObj.Ph}}
\\r\\n \\r\\n {{printObj.MCB === ''? '-' : printObj.MCB}}
\\r\\n \\r\\n {{printObj.JOB === ''? '-' : printObj.JOB}}
\\r\\n \\r\\n {{takenDate|date: httpservice.dateTimeFormat}}
\\r\\n
\\r\\n
0\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
DescriptionAmount
{{obj.Des}}\\r\\n
{{obj.Amo}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
{{printObj.TAmo}}   
\\r\\n
\\r\\n \\r\\n \\r\\n
{{printObj.DAmo}}   
\\r\\n
\\r\\n \\r\\n \\r\\n
{{BAmo}}   
\\r\\n
\\r\\n \\r\\n \\r\\n
{{printObj.Crec}}   
\\r\\n
\\r\\n \\r\\n \\r\\n
{{printObj.Chg}}   
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
(Authorized Signature)(Customer's Signature)
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Department\\r\\n \\r\\n \\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n \\r\\n Received job\\r\\n \\r\\n \\r\\n \\r\\n Work in progress\\r\\n \\r\\n \\r\\n \\r\\n Warranty\\r\\n \\r\\n \\r\\n \\r\\n Waiting Reply\\r\\n \\r\\n \\r\\n \\r\\n Done\\r\\n \\r\\n \\r\\n \\r\\n Taken\\r\\n \\r\\n \\r\\n \\r\\n FOC\\r\\n \\r\\n \\r\\n \\r\\n Service Charges\\r\\n \\r\\n \\r\\n \\r\\n Part Amount\\r\\n \\r\\n \\r\\n \\r\\n Receive Amount\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.DN}}\\r\\n {{rowData.ScN}}\\r\\n {{rowData.STN}}\\r\\n \\r\\n
\\r\\n {{rowData.ReceivedJob}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.WorkInProgress}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Warranty}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.CustomerReply}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Done}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Taken}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.FOC}}\\r\\n
\\r\\n \\r\\n {{rowData.ServiceCharges}}\\r\\n {{rowData.PartAmt}}\\r\\n {{rowData.CrecAmt}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

{{title}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Express\\r\\n \\r\\n stars\\r\\n \\r\\n list\\r\\n
\\r\\n
\\r\\n \\r\\n Standard\\r\\n \\r\\n stars\\r\\n \\r\\n list\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{job.STN}}\\r\\n {{job.MoN}}\\r\\n {{job.JOB}}
{{job.RC}}\\r\\n {{job.APPDT | date }}\\r\\n
\\r\\n
\\r\\n \\r\\n Work In Progress\\r\\n Waiting Customer Reply\\r\\n Waiting Warranty\\r\\n Done\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Show Photo\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Job Done

\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n

Status Change

\\r\\n\\r\\n \\r\\n {{confirmMsgs}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n

Job Photo View

\\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
{{job.STN}}
\\r\\n\\r\\n
\\r\\n
{{job.MoN}}
\\r\\n\\r\\n
\\r\\n
{{job.JOB}}
\\r\\n\\r\\n
\\r\\n
{{job.RC}}
\\r\\n\\r\\n
\\r\\n
{{job.RT}}
\\r\\n\\r\\n
\\r\\n
{{customer.CN}}
\\r\\n\\r\\n
\\r\\n
{{customer.Ph}}
\\r\\n\\r\\n
\\r\\n
{{customer.Em}}
\\r\\n\\r\\n
\\r\\n
{{customer.Addr}}
\\r\\n\\r\\n
\\r\\n
{{customer.City}}
\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\";","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n Express\\r\\n \\r\\n stars\\r\\n \\r\\n list\\r\\n
\\r\\n
\\r\\n \\r\\n Standard\\r\\n \\r\\n stars\\r\\n \\r\\n list\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{job.STN}}\\r\\n {{job.MoN}}\\r\\n {{job.JOB}}
{{job.RC}}\\r\\n {{job.APPDT|date : httpService.dateTimeFormat }}\\r\\n
\\r\\n \\r\\n
\\r\\n Show Photo\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Technician Job Done

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n

Job Photo View

\\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Department\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Department{{rowData.DN}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n

Deparatment Detail

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Department name is required\\r\\n Can't exceed more than 50 characters.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

Delete

\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n

Action Log List

\\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Job List By Device_ID

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Model Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer's Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Job Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Appointment Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Recheck Count\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Manager Status\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Status\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Category{{rowData.MoN}}\\r\\n\\r\\n Description{{rowData.JOB}}\\r\\n\\r\\n Customer Name{{rowData.CN}}\\r\\n\\r\\n Customer's Remark{{rowData.RC}}\\r\\n\\r\\n \\r\\n Job Type\\r\\n Standard\\r\\n Express\\r\\n \\r\\n\\r\\n \\r\\n Appointment Date\\r\\n {{rowData.APPDT | date: httpservice.dateTimeFormat}}\\r\\n \\r\\n\\r\\n Recheck Count{{rowData.RCC}}\\r\\n\\r\\n \\r\\n Manager Status\\r\\n Waiting\\r\\n Re-check\\r\\n Done\\r\\n \\r\\n\\r\\n \\r\\n Technician Status\\r\\n Work In Progress\\r\\n Waiting Customer Reply\\r\\n Waiting Warranty\\r\\n Done\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{jobs.length}} {{totalRecords > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n
\\r\\n
\";","export default \"\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
Customer is required
\\r\\n
\\r\\n
\\r\\n
This customer is\\r\\n new!Please add this new customer.
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
Model is required
\\r\\n
\\r\\n\\r\\n
Loading..
\\r\\n
** If you can't wait\\r\\n loading,\\r\\n 'Refresh' please! **
\\r\\n\\r\\n
\\r\\n
This model is new!\\r\\n Please\\r\\n add\\r\\n this new model
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
Service type is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
Job's remark is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.Description}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
0 && selectedValues != null\\\" class=\\\"pad-top-15\\\">\\r\\n Selected Descriptions : {{selectedValues}}\\r\\n
\\r\\n
\\r\\n
Description is required.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Note cannot be more than 50\\r\\n characters\\r\\n long.
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.AcsN}}\\r\\n \\r\\n \\r\\n \\r\\n
0 && selectedAccessories != null\\\" class=\\\"pad-top-15\\\">\\r\\n Selected Accessories : {{selectedAccessories}}\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
Primary service technician is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

New Customer

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

New Accessory

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

New Model

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Scan Device Id

\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n This device Id is empty. Fill device Id, please.\\r\\n
\\r\\n
\\r\\n There is no job by this device Id\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Delete Job

\\r\\n
\\r\\n \\r\\n Are you sure to delete this job ?\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Scan Customer

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

Customer Information

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
Name : {{cusInfo.name}}
\\r\\n
Phone : {{cusInfo.phone}}
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stock ID \\r\\n Stock Name \\r\\n Category \\r\\n Qty \\r\\n Status \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Stock ID{{rowData.SID}}\\r\\n\\r\\n Stock Name{{rowData.SN}}\\r\\n\\r\\n Category{{rowData.Cat}}\\r\\n\\r\\n \\r\\n Qty\\r\\n
{{rowData.Rqty}}
\\r\\n \\r\\n\\r\\n \\r\\n Status\\r\\n {{rowData.Stus}}\\r\\n {{rowData.Stus}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Required Stock items

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n stock items  {{stockinHandStatus.Status }}.\\r\\n
\\r\\n
\\r\\n {{stockinHandStatus.StockInHand}}  stock\\r\\n items {{stockinHandStatus.Status }}.\\r\\n
\\r\\n
\\r\\n
\\r\\n Stock item is\\r\\n required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Qty is\\r\\n required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\nImage Preview
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n

Confirm to delete

\\r\\n Are you sure to delete that photo ?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.JIDR}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.ScN}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.CN}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n : {{jvm.Ph}}\\r\\n /\\r\\n {{jvm.Em}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.STN}}
\\r\\n \\r\\n : {{jvm.MoN}}
\\r\\n \\r\\n : {{jvm.Imei}}
\\r\\n \\r\\n : {{jvm.Accessories}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.JOB}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.RC}}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.DAmo}}\\r\\n kyats\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.Name}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.JDT| date: httpService.dateTimeFormat}}
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n : {{jvm.APPDT|date: httpService.dateTimeFormat}}
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n

Service Technician(Primary): {{jvm.TechName}}

\\r\\n

{{jvm.Addr}}

\\r\\n

Department Ph(s): {{jvm.DPh}}

\\r\\n

အကြောင်းကြားပြီး (၂)လ အတွင်း လာမယူသောစက်များကို တာဝန်ယူမည်မဟုတ်ပါ။

\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Arrival Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Appointment Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Brand\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Model\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Job's Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Assigned Technician (Primary)\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Remark\\r\\n \\r\\n \\r\\n \\r\\n Note\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Manager Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.JIDR}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JDT|date: httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.APPDT|date: httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.CNPh}}\\r\\n \\r\\n \\r\\n \\r\\n {{rowData.BN}}\\r\\n \\r\\n \\r\\n {{rowData.MoN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.STN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JOB}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JK}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.TechName}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RT}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RC}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RSM}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{totalRecords}}\\r\\n {{totalRecords > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Job's Remark Counts\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Service Only\\r\\n \\r\\n Parts Change\\r\\n \\r\\n YGN Service\\r\\n \\r\\n YGN Service2\\r\\n \\r\\n MDY Service\\r\\n
{{jobRemark?.ServiceOnly}}{{jobRemark?.PartsChange}}{{jobRemark?.YGNService}}{{jobRemark?.YGNService2}}{{jobRemark?.MDYService}}
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Current Job List

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n\\r\\n Arrival Date\\r\\n\\r\\n Appointment Date\\r\\n\\r\\n Customer\\r\\n\\r\\n Model\\r\\n\\r\\n Brand\\r\\n\\r\\n Service Type\\r\\n\\r\\n Description\\r\\n\\r\\n Job's Remark\\r\\n\\r\\n Assigned Technician (Primary)\\r\\n\\r\\n Technician Remark\\r\\n\\r\\n Note\\r\\n\\r\\n Service Manager Remark\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.JIDR}}\\r\\n\\r\\n {{rowData.JDT|date:httpService.dateTimeFormat}}\\r\\n\\r\\n {{rowData.APPDT|date:httpService.dateTimeFormat}}\\r\\n\\r\\n {{rowData.CNPh}}\\r\\n\\r\\n {{rowData.MoN}}\\r\\n\\r\\n {{rowData.BN}}\\r\\n\\r\\n {{rowData.STN}}\\r\\n\\r\\n {{rowData.JOB}}\\r\\n\\r\\n {{rowData.JK}}\\r\\n\\r\\n {{rowData.TechName}}\\r\\n\\r\\n {{rowData.RT}}\\r\\n \\r\\n {{rowData.RC}}\\r\\n\\r\\n {{rowData.RSM}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{totalRecords}}\\r\\n {{totalRecords > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Job's Remark Counts\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Service Only\\r\\n \\r\\n Parts Change\\r\\n \\r\\n YGN Service\\r\\n \\r\\n YGN Service2\\r\\n \\r\\n MDY Service\\r\\n
{{jobRemark?.ServiceOnly}}{{jobRemark?.PartsChange}}{{jobRemark?.YGNService}}{{jobRemark?.YGNService2}}{{jobRemark?.MDYService}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Confirm Technician's Done Status

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Job Done

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

{{jobmodaltitle}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Customer Taken

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Service Center / {{jobv?.JIDR}}

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Choose To Do

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Confirm Unable to Repair Status

\\r\\n

Confirm Customer Cancel Status

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
Technician is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n No.\\r\\n \\r\\n \\r\\n Assigned Technician\\r\\n \\r\\n \\r\\n Status\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowIndex+1}}\\r\\n \\r\\n \\r\\n {{rowData.JAT1}}\\r\\n \\r\\n \\r\\n {{rowData.Status}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Job List

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Model Name\\r\\n \\r\\n \\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n \\r\\n Customer Name\\r\\n \\r\\n \\r\\n \\r\\n Customer's Remark\\r\\n \\r\\n \\r\\n \\r\\n Job Type\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Model Name{{rowData.MoN}}\\r\\n \\r\\n Description{{rowData.JOB}}\\r\\n\\r\\n Customer Name{{rowData.CN}}\\r\\n\\r\\n Customer's Remark{{rowData.RC}}\\r\\n\\r\\n \\r\\n Job Type\\r\\n \\r\\n Standard\\r\\n Express\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n {{jobs.length}} {{jobs.length > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}} \\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Technician Job List

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Arrival Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Appointment Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Brand/Model\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Job's Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Assigned Technician (Primary)\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Note\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Manager Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rowData.JobState}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{rowData.JIDR}}\\r\\n \\r\\n\\r\\n \\r\\n {{auth.ScN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JDT|date: httpservice.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.APPDT|date: httpservice.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.CN+' / '+ rowData.Ph}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.STN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JOB}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.BN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JK}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.TechName}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RT}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RC}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RSM}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{jobs.length}}\\r\\n {{jobs.length > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Confirm Status Change

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.Description}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
0 && selectedValues != null\\\" class=\\\"pad-top-15\\\">\\r\\n Selected Technician Remarks : {{selectedValues}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Note cannot be more than 200\\r\\n characters\\r\\n long.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

{{title}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.Description}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
0 && selectedValues != null\\\" class=\\\"pad-top-15\\\">\\r\\n Selected Technician Remarks : {{selectedValues}}\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
Note cannot be more than 200\\r\\n characters\\r\\n long.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

{{jobmodaltitle}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n Total \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Arrival Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Done Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Manager Done Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Taken Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Brand\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Model\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Job's Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Department Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Center Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Assigned Technician (Primary)\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Note\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Manager Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Job Status\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Deposit Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Service Charges\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Part Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Total Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Receive Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Income (Depo+Rece)\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Change Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.JIDR}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JDT|date: httpService.dateTimeFormat }}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.TDnDT|date:httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.SDnDT|date:httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.TDT | date:httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.CNPh}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.BN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.MoN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.STN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JOB}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JK}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.DN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.ScN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.TechName}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RT}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RC}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RSM}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JobStatus}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rowData.DAmo}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rowData.SAmo}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rowData.PAmo}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rowData.TAmo}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rowData.Crec}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rowData.Cash}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{rowData.Chg}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{totalRecords}}\\r\\n {{totalRecords > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Job's Remark Counts\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Service Only\\r\\n \\r\\n Parts Change\\r\\n \\r\\n YGN Service\\r\\n \\r\\n YGN Service2\\r\\n \\r\\n MDY Service\\r\\n
{{jobRemark?.ServiceOnly}}{{jobRemark?.PartsChange}}{{jobRemark?.YGNService}}{{jobRemark?.YGNService2}}{{jobRemark?.MDYService}}
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Job List

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n\\r\\n Arrival Date\\r\\n\\r\\n Technician Done Date\\r\\n\\r\\n Service Manager Done Date\\r\\n\\r\\n Taken Date\\r\\n\\r\\n Customer\\r\\n\\r\\n Brand\\r\\n\\r\\n Model\\r\\n\\r\\n Service Type\\r\\n\\r\\n Description\\r\\n\\r\\n Job's Remark\\r\\n\\r\\n Department Name\\r\\n\\r\\n Service Center Name\\r\\n\\r\\n Assigned Technician (Primary)\\r\\n\\r\\n Technician Remark\\r\\n\\r\\n Note\\r\\n\\r\\n Service Manager Remark\\r\\n\\r\\n Job Status\\r\\n\\r\\n Deposit Amount\\r\\n\\r\\n Service Charges\\r\\n\\r\\n Part Amount\\r\\n\\r\\n Total Amount\\r\\n\\r\\n Receive Amount\\r\\n\\r\\n Income (Depo+Rece)\\r\\n\\r\\n Change Amount\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.JIDR}}\\r\\n\\r\\n {{rowData.JDT|date:httpService.dateTimeFormat}}\\r\\n\\r\\n {{rowData.TDnDT|date:httpService.dateTimeFormat}}\\r\\n\\r\\n {{rowData.SDnDT|date:httpService.dateTimeFormat}}\\r\\n\\r\\n {{rowData.TDT|date:httpService.dateTimeFormat}}\\r\\n\\r\\n {{rowData.CNPh}}\\r\\n\\r\\n {{rowData.BN}}\\r\\n\\r\\n {{rowData.MoN}}\\r\\n\\r\\n {{rowData.STN}}\\r\\n\\r\\n {{rowData.JOB}}\\r\\n\\r\\n {{rowData.JK}}\\r\\n \\r\\n {{rowData.DN}}\\r\\n\\r\\n {{rowData.ScN}}\\r\\n\\r\\n {{rowData.TechName}}\\r\\n\\r\\n {{rowData.RT}}\\r\\n\\r\\n {{rowData.RC}}\\r\\n\\r\\n {{rowData.RSM}}\\r\\n\\r\\n {{rowData.JobStatus}}\\r\\n\\r\\n {{rowData.DAmo}}\\r\\n\\r\\n {{rowData.SAmo}}\\r\\n\\r\\n {{rowData.PAmo}}\\r\\n\\r\\n {{rowData.TAmo}}\\r\\n\\r\\n {{rowData.Crec}}\\r\\n\\r\\n {{rowData.Cash}}\\r\\n\\r\\n {{rowData.Chg}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n {{ datasource.length }}\\r\\n {{datasource.length > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Job's Remark Counts\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Service Only\\r\\n \\r\\n Parts Change\\r\\n \\r\\n YGN Service\\r\\n \\r\\n YGN Service2\\r\\n \\r\\n MDY Service\\r\\n
{{jobRemark?.ServiceOnly}}{{jobRemark?.PartsChange}}{{jobRemark?.YGNService}}{{jobRemark?.YGNService2}}{{jobRemark?.MDYService}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Confirm Status Change

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Job Done

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Select Search Data Type

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Taken Detail

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

{{jobmodaltitle}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Customer Taken

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n                 \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Login name is required\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Password is required\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n Department is required\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Service center is required\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n User\\r\\n \\r\\n \\r\\n \\r\\n Name\\r\\n \\r\\n \\r\\n \\r\\n User Type\\r\\n \\r\\n \\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n \\r\\n Department\\r\\n \\r\\n \\r\\n \\r\\n Email\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n User{{rowData.UN}}\\r\\n\\r\\n Name{{rowData.Name}}\\r\\n\\r\\n User Type{{rowData.UT}}\\r\\n\\r\\n Service Type{{rowData.STN}}\\r\\n\\r\\n Service Center{{rowData.ScN}}\\r\\n\\r\\n Department{{rowData.DN}}\\r\\n\\r\\n Email{{rowData.Email}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Login User Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{errorUNString}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{errorNameString}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{errorPwdString}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{errorUTString}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n {{errorEmailString}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{errorDPhString}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Change Password \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Confirmation Dialog

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Change Password

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ scenter.Center?.ScN }}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n \\r\\n Job Receive\\r\\n \\r\\n \\r\\n \\r\\n WP\\r\\n \\r\\n \\r\\n \\r\\n Waiting Part\\r\\n \\r\\n \\r\\n \\r\\n Customer Reply\\r\\n \\r\\n \\r\\n \\r\\n Warranty\\r\\n \\r\\n \\r\\n \\r\\n Technical Done\\r\\n \\r\\n \\r\\n \\r\\n Service Manager Done\\r\\n \\r\\n \\r\\n \\r\\n Taken\\r\\n \\r\\n \\r\\n \\r\\n Service Charges\\r\\n \\r\\n \\r\\n \\r\\n Part Amount\\r\\n \\r\\n \\r\\n \\r\\n Total Amount\\r\\n \\r\\n \\r\\n \\r\\n FOC\\r\\n \\r\\n \\r\\n \\r\\n Not Repair\\r\\n \\r\\n \\r\\n \\r\\n Customer Cancel\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.STN}}\\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.ReceivedJob}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.WorkInProgress}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.WaitPart}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.CustomerReply}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.Warranty}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.TDone}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.SDone}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Taken}}\\r\\n
\\r\\n \\r\\n {{rowData.ServiceCharges}}\\r\\n {{rowData.PartAmt}}\\r\\n {{rowData.CrecAmt}}\\r\\n \\r\\n
\\r\\n {{rowData.FOC}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Irreparable}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.CancelCustomer}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Total\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"ReceivedJob\\\", \\\"ReceivedJob_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"WorkInProgress\\\", \\\"WorkInProgress_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"WaitPart\\\", \\\"WaitPart_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"CustomerReply\\\", \\\"CustomerReply_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Warranty\\\", \\\"Warranty_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"TDone\\\", \\\"TDone_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"SDone\\\", \\\"SDone_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Taken\\\", \\\"Taken_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"ServiceCharges\\\", \\\"ServiceCharges_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"PartAmt\\\", \\\"PartAmt_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"CrecAmt\\\", \\\"CrecAmt_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"FOC\\\", \\\"FOC_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Irreparable\\\", \\\"Irreparable_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"CancelCustomer\\\", \\\"CancelCustomer_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

{{title}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Notice !!
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Model\\r\\n \\r\\n \\r\\n \\r\\n Category\\r\\n \\r\\n \\r\\n \\r\\n Brand\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Model{{rowData.MoN}}\\r\\n\\r\\n Category{{rowData.CatN}}\\r\\n\\r\\n Brand{{rowData.BN}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Model Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
Model name is required
\\r\\n
Can't exceed more than 50 characters.
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
Category is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n

Category List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n Model name is required\\r\\n Can't exceed more than 50 characters.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
Category List
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Arrival Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Model\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Assigned Technician (Primary)\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Manager Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Total Over Days\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.JIDR}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.JDT|date: httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.CNPh}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.MoN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.STN}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.TechName}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RT}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.RSM}}\\r\\n \\r\\n\\r\\n \\r\\n {{rowData.diffDays}}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{totalRecords}}\\r\\n {{totalRecords > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Unfinished Job List

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n\\r\\n Arrival Date\\r\\n\\r\\n Customer\\r\\n\\r\\n Model\\r\\n\\r\\n Service Type\\r\\n\\r\\n Assigned Technician (Primary)\\r\\n\\r\\n Technician Remark\\r\\n\\r\\n Service Manager Remark\\r\\n\\r\\n Total Over Days\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{rowData.JIDR}}\\r\\n\\r\\n {{rowData.JDT|date: httpService.dateTimeFormat}}\\r\\n\\r\\n {{rowData.CNPh}}\\r\\n\\r\\n {{rowData.MoN}}\\r\\n\\r\\n {{rowData.STN}}\\r\\n\\r\\n {{rowData.TechName}}\\r\\n\\r\\n {{rowData.RT}}\\r\\n\\r\\n {{rowData.RSM}}\\r\\n\\r\\n {{rowData.diffDays}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{totalRecords}}\\r\\n {{totalRecords > 1 ? \\\"Jobs\\\" : \\\"Job\\\"}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Login user name is required !\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Sent Email Successfully

\\r\\n
\\r\\n \\r\\n

We have been sent email to you. Please, follow the link in your email.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Loading

\\r\\n
\\r\\n \\r\\n

Please wait while loading..

\\r\\n
\\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n New password is required\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Confirm password is required\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n

Sorry, Recovery Key Is Invalid.


\\r\\n

Please, close website.

\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Saved New Password Successfully

\\r\\n
\\r\\n \\r\\n

Your new password has been saved successfully.

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Job Result

\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.Name}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.JIDR}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.JOB}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Express\\r\\n Standard\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n (No FOC)\\r\\n
\\r\\n
\\r\\n
{{searchjob.STN}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.CBMoN}}\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.Imei}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.DeviceID}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.JDT | date: httpservice.dateTimeFormat}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.APPDT | date: httpservice.dateTimeFormat}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.APDH}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.SMJobState}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.TechJobState}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.SDnDT|date: httpservice.dateTimeFormat }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.TDnDT|date: httpservice.dateTimeFormat}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.Name}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{searchjob.RSM}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.Tech1}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.RT}}\\r\\n (No Remark)\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{searchjob.TDT|date: httpservice.dateTimeFormat}}\\r\\n (No Taken)\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.SuppN}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.WSDT | date: httpservice.dateTimeFormat}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.WADT | date: httpservice.dateTimeFormat}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.CN}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.RC}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.Ph}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.CusAddr}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.Em}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.City}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.SAmo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.PAmo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.TAmo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.DAmo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{BAmo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.Crec}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.Chg}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.ScN}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.SCAddr}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{searchjob.DN}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Address\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Center\\r\\n {{rowData.ScN}}\\r\\n \\r\\n\\r\\n Address{{rowData.Addr}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Service Center Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Service name is\\r\\n required\\r\\n Can't exceed more\\r\\n than 50 characters.\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Department\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Type{{rowData.STN}}\\r\\n\\r\\n Department{{rowData.DN}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

Service Type Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n

Department

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n more_vert\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Stock Adjustment List

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Transfer Date\\r\\n \\r\\n \\r\\n \\r\\n Stock Name\\r\\n \\r\\n \\r\\n \\r\\n Category\\r\\n \\r\\n \\r\\n \\r\\n Qty\\r\\n \\r\\n \\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n \\r\\n Adjustment Type\\r\\n \\r\\n \\r\\n \\r\\n Remark\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Transfer Date{{rowData.AjDT | date: httpService.dateTimeFormat }}\\r\\n\\r\\n Stock Name{{rowData.SN}}\\r\\n\\r\\n Category{{rowData.Cat}}\\r\\n\\r\\n Qty{{rowData.Qty}}\\r\\n\\r\\n Service Center{{rowData.ScN}}\\r\\n\\r\\n Adjustment Type{{rowData.AjType}}\\r\\n\\r\\n Remark{{rowData.Rmk}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n {{adjList.length}}\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n

Stock Adjustment

\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Date is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Stock is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Qty is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Service center is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Adjustment type is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n

Delete

\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n \\r\\n Stock Balance\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Center{{rowData.ScN}}\\r\\n\\r\\n Stock\\r\\n Balance{{rowData.sB}}\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{totalBal}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stock Name\\r\\n \\r\\n \\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n Quantity\\r\\n \\r\\n \\r\\n Price\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stock Name\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n Service Center\\r\\n \\r\\n \\r\\n\\r\\n QTY\\r\\n \\r\\n \\r\\n\\r\\n Price\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n more_vert\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{stockin.SIDT|date : httpService.dateTimeFormat}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{stockin.EFN}}
\\r\\n
\\r\\n \\r\\n
\\r\\n
{{stockin.Rmk}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Stock-In Detail

\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{stockin.SIDT|date : httpService.dateTimeFormat}}\\r\\n {{stockin.EFN}}
\\r\\n {{stockin.Rmk}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Stock ID\\r\\n \\r\\n \\r\\n \\r\\n Stock Name\\r\\n \\r\\n \\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n \\r\\n QTY\\r\\n \\r\\n \\r\\n \\r\\n Price\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n Stock ID{{rowData.SID }}\\r\\n\\r\\n Stock Name{{rowData.SN}}\\r\\n\\r\\n Service Center{{rowData.ScN}}\\r\\n\\r\\n QTY{{rowData.Qty}}\\r\\n\\r\\n Price{{rowData.Price}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n {{pdt.totalRecords}} items\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Stock-In Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Service-Center is required\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Stock-Item is required\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Qty is required\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Price is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

StockIn List

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n No.\\r\\n \\r\\n \\r\\n StockIn Date\\r\\n \\r\\n \\r\\n \\r\\n Remark\\r\\n \\r\\n \\r\\n \\r\\n Excel File Name\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n No.\\r\\n {{rowIndex+1}}\\r\\n \\r\\n\\r\\n StockIn Date{{rowData.SIDT | date: httpService.dateTimeFormat}}\\r\\n\\r\\n Remark{{rowData.Rmk}}\\r\\n\\r\\n Excel File Name{{rowData.EFN}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n Your Item Excel File \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stock ID\\r\\n \\r\\n \\r\\n \\r\\n Stock Name\\r\\n \\r\\n \\r\\n \\r\\n Category\\r\\n \\r\\n \\r\\n \\r\\n Service Type Name\\r\\n \\r\\n \\r\\n \\r\\n Brand Name\\r\\n \\r\\n \\r\\n \\r\\n Minimum Quantity\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stock ID{{rowData.SID}}\\r\\n\\r\\n Stock Name{{rowData.SN}}\\r\\n\\r\\n Category{{rowData.Cat}}\\r\\n\\r\\n Service Type Name{{rowData.STN}}\\r\\n\\r\\n Brand Name{{rowData.BN}}\\r\\n\\r\\n Minimum Quantity{{rowData.MinQ}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{totalRecords}} items\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Stock Item Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Stock id is required\\r\\n Stock id should only contain\\r\\n standard alphabetics character!\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Stock name is required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n Category is required\\r\\n Can't exceed more than 50\\r\\n characters.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Action Log List

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Warning

\\r\\n
\\r\\n Please wait while loading Service Type data again..\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Warning

\\r\\n
\\r\\n Please wait while loading Brand data again..\\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stock ID\\r\\n \\r\\n \\r\\n \\r\\n Stock Name\\r\\n \\r\\n \\r\\n \\r\\n Opening Balance\\r\\n \\r\\n \\r\\n \\r\\n Stock In\\r\\n \\r\\n \\r\\n \\r\\n Stock Used\\r\\n \\r\\n \\r\\n \\r\\n Adjustment\\r\\n \\r\\n \\r\\n \\r\\n Transfer In\\r\\n \\r\\n \\r\\n \\r\\n Transfer Out\\r\\n \\r\\n \\r\\n \\r\\n Closing Balance\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stock ID{{rowData.SID}}\\r\\n\\r\\n Stock Name{{rowData.SN}}\\r\\n\\r\\n Opening\\r\\n Balance{{rowData.oBalance}}\\r\\n\\r\\n Stock In{{rowData.sIn}}\\r\\n \\r\\n\\r\\n Stock\\r\\n Used{{rowData.sUsed}}\\r\\n\\r\\n Adjustment{{rowData.Adj}}\\r\\n\\r\\n Transfer\\r\\n In{{rowData.sTransferIn}}\\r\\n\\r\\n Transfer\\r\\n Out{{rowData.sTransferOut}}\\r\\n\\r\\n Closing\\r\\n Balance{{rowData.cBalance}}\\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

New Stock Transfering

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Transfer date is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Transfer from department is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
Transfer to department is required
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n more_vert\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Stock is required\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Qty is required\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Stock Transfer Detail

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Stock ID\\r\\n \\r\\n \\r\\n Stock Name\\r\\n \\r\\n \\r\\n Category\\r\\n \\r\\n \\r\\n QTY\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.SID}}\\r\\n \\r\\n {{rowData.SN}}\\r\\n\\r\\n {{rowData.Cat}}\\r\\n\\r\\n {{rowData.Qty}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n

Edit Data

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

Transfer List

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n No.\\r\\n \\r\\n \\r\\n Transfer Date\\r\\n \\r\\n \\r\\n \\r\\n Transfer From\\r\\n \\r\\n \\r\\n \\r\\n Transfer To\\r\\n \\r\\n \\r\\n \\r\\n Remark\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n No.\\r\\n {{rowIndex+1}}\\r\\n \\r\\n\\r\\n Transfer Date{{rowData.TDT | date: httpService.dateTimeFormat}}\\r\\n\\r\\n Transfer From{{rowData.IScN}}\\r\\n\\r\\n Transfer To{{rowData.OScN}}\\r\\n\\r\\n Remark{{rowData.Rmk}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n {{stfList.length}}\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

Delete

\\r\\n
\\r\\n Are you sure to delete this selected rows?\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Taken List

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Taken Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Model Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Job Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Services Charges\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Parts Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Total Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Deposit Amount\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Balance Amount\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Taken Date{{rowData.TDT | date: httpService.dateTimeFormat}}\\r\\n Model Name{{rowData.MoN}}\\r\\n Description{{rowData.JOB}}\\r\\n \\r\\n Job Type\\r\\n Standard\\r\\n Express\\r\\n \\r\\n Service Type{{rowData.STN}}\\r\\n Services Charges{{rowData.SAmo}}\\r\\n Parts Amount{{rowData.PAmo}}\\r\\n Total Amount{{rowData.TAmo}}\\r\\n Deposit Amount{{rowData.DAmo}}\\r\\n Balance Amount{{rowData.TAmo + rowData.DAmo}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n amount.serviceCharges\\r\\n amount.partsAmount\\r\\n amount.totalAmount\\r\\n amount.depositAmount\\r\\n amount.balanceAmount\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{takenList.length}} \\r\\n\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ scenter.Center?.ScN }}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Name\\r\\n \\r\\n \\r\\n \\r\\n Working\\r\\n \\r\\n \\r\\n \\r\\n Waiting Part \\r\\n \\r\\n \\r\\n \\r\\n Customer Wait\\r\\n \\r\\n \\r\\n \\r\\n Warranty\\r\\n \\r\\n \\r\\n \\r\\n Not Repair\\r\\n \\r\\n \\r\\n \\r\\n Customer Cancel\\r\\n \\r\\n \\r\\n \\r\\n Technical Done\\r\\n \\r\\n \\r\\n \\r\\n Service Manager Done\\r\\n \\r\\n \\r\\n \\r\\n Taken\\r\\n \\r\\n \\r\\n \\r\\n Total\\r\\n \\r\\n \\r\\n \\r\\n FOC\\r\\n \\r\\n \\r\\n \\r\\n Not Repair\\r\\n \\r\\n \\r\\n \\r\\n Customer Cancel\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.Name ? rowData.Name : rowData.UN}}\\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.WorkInProgress}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.WaitPart}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.WaitingCustomerReply}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Warranty}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Irreparable}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.CancelCustomer}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.TDone}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.SDone}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Taken}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Total}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.FOC}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Irreparable2}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.CancelCustomer2}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Total\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"WorkInProgress\\\", \\\"WorkInProgress_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"WaitPart\\\", \\\"WaitPart_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"WaitingCustomerReply\\\", \\\"WaitingCustomerReply_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Warranty\\\", \\\"Warranty_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Irreparable\\\", \\\"Irreparable_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"CancelCustomer\\\", \\\"CancelCustomer_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"TDone\\\", \\\"TDone_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"SDone\\\", \\\"SDone_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Taken\\\", \\\"Taken_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Total\\\", \\\"Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"FOC\\\", \\\"FOC_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Irreparable2\\\", \\\"Irreparable2_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"CancelCustomer2\\\", \\\"CancelCustomer2_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

{{title}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Technician Review

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Center\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Department\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Arrival Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Model Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Techincian Status\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer's Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Recheck Count\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technician Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Center{{rowData.ScN}}\\r\\n Department{{rowData.DN}}\\r\\n Arrival Date{{rowData.JDT | date: httpService.dateTimeFormat}}\\r\\n Model Name{{rowData.MoN}}\\r\\n Techincian Status{{rowData.JobState}}\\r\\n Description{{rowData.JOB}}\\r\\n Customer's Remark{{rowData.RC}}\\r\\n Recheck Count{{rowData.RCC}}\\r\\n Technician's Remark{{rowData.RT}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{pdt.totalRecords}}\\r\\n  \\r\\n {{recheckCount}}\\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ scenter?.Center?.ScN }}\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n \\r\\n Irreparable\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Wait Part\\r\\n \\r\\n \\r\\n \\r\\n WP\\r\\n \\r\\n \\r\\n \\r\\n Waiting Customer Reply\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Technical Done\\r\\n \\r\\n \\r\\n \\r\\n Service Manager Done\\r\\n \\r\\n \\r\\n \\r\\n Warranty\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Customer Cancel\\r\\n \\r\\n \\r\\n \\r\\n Total\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.STN}}\\r\\n\\r\\n \\r\\n
\\r\\n {{rowData.Irreparable}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.WaitPart}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.WP}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.WaitingCustomerReply}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.TDone}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.SDone}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Warranty}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.CancelCustomer}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{rowData.Total}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Total\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Irreparable\\\", \\\"Irreparable_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"WaitPart\\\", \\\"WaitPart_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"WP\\\", \\\"WP_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"WaitingCustomerReply\\\", \\\"WaitingCustomerReply_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"TDone\\\", \\\"TDone_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"SDone\\\", \\\"SDone_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n {{calculateTotal(\\\"Warranty\\\", \\\"Warranty_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{calculateTotal(\\\"CancelCustomer\\\", \\\"CancelCustomer_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{calculateTotal(\\\"Total\\\", \\\"DashboardInfos_Total\\\", scenter)}}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n

{{title}}

\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\";","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n more_vert\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Warranty List

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Service Center : {{sc.label}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Job ID\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Servicer Center\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Phone\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Service Type\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Model Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Description\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Customer's Remark\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Job Received By\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Check In DateTime\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Appointment Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Delievery Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Arrival Date\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Supplier Name\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData.JIDR}}\\r\\n\\r\\n {{rowData.ScN}}\\r\\n\\r\\n {{rowData.CN}}\\r\\n\\r\\n {{rowData.Ph}}\\r\\n\\r\\n {{rowData.STN}}\\r\\n\\r\\n {{rowData.MoN}}\\r\\n\\r\\n {{rowData.JOB}}\\r\\n\\r\\n {{rowData.RC}}\\r\\n\\r\\n {{rowData.Name}}\\r\\n\\r\\n {{rowData.JDT | date: httpService.dateTimeFormat}}\\r\\n\\r\\n \\r\\n {{rowData.APPDT | date: httpService.dateTimeFormat}}\\r\\n \\r\\n\\r\\n {{rowData.WSDT | date: httpService.dateTimeFormat }}\\r\\n\\r\\n {{rowData.WADT | date: httpService.dateTimeFormat }}\\r\\n\\r\\n {{rowData.SuppN}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n {{pdt.totalRecords}} {{pdt.totalRecords > 1 ? \\\"warranties\\\" : \\\"warranty\\\"}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n

Warranty Detail

\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\";","import { Component, OnInit, ViewChild, Input, OnDestroy, NgZone } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { UUID } from 'angular2-uuid';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { NgProgressService } from \"ng2-progressbar\";\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { DropDownValue } from './dropdownvalue';\r\n\r\n//Model\r\n\r\n\r\n@Component({\r\n selector: 'i-description',\r\n templateUrl: './description.component.html'\r\n})\r\n\r\nexport class DescriptionCp implements OnInit, OnDestroy {\r\n @ViewChild('modal', { static: false }) modal: BsModalComponent;\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n @Input() isModal: boolean = false;\r\n apiName: string = \"DropDownValue\";\r\n id = 'Id';\r\n public dataList: Array = [];\r\n public dataListFilter: Array = [];\r\n public toastkey = \"i-description\";\r\n public isNew: boolean;\r\n public descObj: DropDownValue;\r\n public selectedChk: DropDownValue[];\r\n public actionlogs: any[];\r\n public search;\r\n current_route;\r\n\r\n selectedType: any = 'a'; \r\n notvalidInput ={ description : false };\r\n\r\n constructor(private pService: NgProgressService, public httpService: HttpServices, public activeRoute: ActivatedRoute, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) { \r\n this.pService.start();\r\n this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n //this.LoadDataFromLocalForage();\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n \r\n this.afterBroadCastEvent(sRobj);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n \r\n afterBroadCastEvent(objData) {\r\n if (objData && objData.Obj) {\r\n let ind = this.dataList.findIndex(temp => temp[this.id] === objData.Obj[this.id]);\r\n if (objData.Msg === 'deleted') {\r\n this.refresh();\r\n }\r\n else {\r\n if (ind >= 0) this.dataList[ind] = objData.Obj;\r\n else this.dataList.unshift(objData.Obj);\r\n }\r\n }\r\n }\r\n\r\n ngOnInit(): void { \r\n this.current_route = this.activeRoute.params.subscribe((param: any) => {\r\n if(param){\r\n this.search = \"\";\r\n this.selectedType = param.type;\r\n this.GetData();\r\n }\r\n }); \r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.dataList = this.dataListFilter = undefined;\r\n }\r\n\r\n GetData() {\r\n let dtList: DropDownValue[] = [];\r\n let param ={ \"Type\": this.selectedType };\r\n this.httpService.postData('api/' + this.apiName + '/GetByType', param).subscribe(\r\n data => {\r\n dtList = data;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.dataList = dtList.map(a => Object.assign({}, a));\r\n this.filterData();\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n filterData() {\r\n this.dataListFilter = this.dataList || [];\r\n // if (this.selectedType) {\r\n // this.dataListFilter = this.dataListFilter.filter(s => s.Type == this.selectedType);\r\n // }\r\n if (this.search && this.search != '') {\r\n this.dataListFilter = this.dataListFilter.filter((s) => (s.Description ? s.Description.trim() : \"\").toLowerCase().indexOf(this.search.toLowerCase().trim()) != -1);\r\n }\r\n }\r\n\r\n goSearch(event) {\r\n if (event.keyCode === 13) {\r\n this.filterData();\r\n }\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetData();\r\n }\r\n\r\n ChangedType(event: any) {\r\n this.selectedType = event;\r\n this.filterData();\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true; \r\n this.descObj = new DropDownValue(UUID.UUID(), '', '', this.selectedType, '');\r\n this.entryModal.open(); \r\n }\r\n\r\n showDialogToEdit(description: DropDownValue): void {\r\n this.isNew = false; \r\n this.descObj = Object.assign({}, description); \r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) { this.deleteModal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!'); }\r\n }\r\n\r\n deleteData(): void {\r\n this.httpService.postData('api/DropDownValue/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n entryModalClose() {\r\n this.notvalidInput = {description : false };\r\n this.entryModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n modalClose() {\r\n this.modal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n save(): void { \r\n this.checkValid().then(s=>{\r\n if(this.notvalidInput.description) return;\r\n this.pService.start();\r\n this.httpService.postData('api/' + this.apiName, this.descObj).\r\n subscribe(\r\n ddd => { },\r\n err => {\r\n this.notvalidInput = {description : false };\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n //this.resetDatable(pdt, gb);\r\n this.notvalidInput = {description : false };\r\n this.GetData();\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated!');\r\n this.entryModal.close();\r\n this.pService.done();\r\n this.httpService.AddClassToModal(this.isModal);\r\n });\r\n })\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.descObj != undefined) {\r\n let temp = [];\r\n this.pService.start();\r\n this.httpService.getData('api/actionlog/' + this.descObj.Id.toUpperCase() + '/' + 'DropDownValue').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) { this.actionlogs = temp; this.modal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!'); }\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n valChangebDescription(event: string) {\r\n this.descObj.Description = event;\r\n this.checkValid();\r\n }\r\n\r\n checkValid(): Promise{\r\n return new Promise((resolve)=>{\r\n this.notvalidInput.description = this.httpService.checkStringEmpty(this.descObj.Description); \r\n resolve(true);\r\n }) \r\n }\r\n\r\n exportToCSV() {\r\n let param = {Type: this.selectedType};\r\n this.httpService.postData('api/DropDownValue/ExportByType', param).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/department.csv';\r\n this.httpService.DirectLocToWindow(\"dropdownvalue\");\r\n }\r\n );\r\n }\r\n}\r\n","export class DropDownValue { \r\n constructor(\r\n public Id?, \r\n public Description?,\r\n public LUDT?,\r\n public Type?,\r\n public UN?\r\n ) { }\r\n}","import { Component, OnInit, ViewChild, NgZone } from '@angular/core';\r\n\r\n//third libraries\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//model\r\nimport { Accessory } from './accessory';\r\n\r\n@Component({\r\n selector: 'i-accessory',\r\n templateUrl: './accessory.component.html'\r\n})\r\n\r\nexport class AccessoryCP implements OnInit {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('actionModal', { static: false }) actionModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n\r\n @ViewChild('input', { static: false }) vc;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n\r\n apiName: string = \"accessory\";\r\n id = 'AcsID';\r\n public accessories: Accessory[];\r\n public accessory: Accessory = new Accessory();\r\n public isNew: boolean;\r\n\r\n public selectedChk: Accessory[];\r\n public selectedData: Accessory;\r\n public actionlogs: any[];\r\n\r\n public totalRecords: number;\r\n public toastkey = \"i-accessory\";\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this._dataChanged.accessoryChanged.subscribe((sRobj) => {\r\n //update this.accessories array.. \r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n //intialize data\r\n this.GetData();\r\n }\r\n\r\n GetData(): void {\r\n let aList: any = [];\r\n this.httpService.getData('api/accessory').subscribe(\r\n data => {\r\n aList = data;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (aList) {\r\n this.accessories = aList.map(a => Object.assign({}, a));\r\n this.totalRecords = this.accessories.length;\r\n }\r\n this.pService.done();\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData) {\r\n if (objData && objData.Obj) {\r\n let ind = this.accessories.findIndex(temp => temp[this.id] === objData.Obj[this.id]);\r\n if (objData.Msg === 'deleted') {\r\n this.RefreshData();\r\n }\r\n else {\r\n\r\n if (ind >= 0) this.accessories[ind] = objData.Obj;\r\n else this.accessories.unshift(objData.Obj);\r\n }\r\n }\r\n }\r\n\r\n RefreshData() {\r\n this.pService.start();\r\n this.GetData();\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true;\r\n this.accessory = new Accessory();\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToEdit(accessory: Accessory): void {\r\n this.isNew = false;\r\n this.selectedData = accessory;\r\n this.accessory = new Accessory();\r\n this.accessory = GlobalFunc.CloneData(accessory, Accessory);\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedData != undefined) {\r\n let temp = [];\r\n this.httpService.getData('api/actionlog/' + this.selectedData.AcsID + '/' + 'Accessory').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) { this.actionlogs = temp; this.actionModal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!') }\r\n });\r\n }\r\n }\r\n\r\n save(pdt, gb): void {\r\n if (this.accessory.AcsN == null) return;\r\n if (this.accessory != undefined) {\r\n this.httpService.postData('api/accessory', this.accessory).\r\n subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.resetDatable(pdt, gb);\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.entryModal.close();\r\n });\r\n }\r\n }\r\n\r\n deleteData() {\r\n this.httpService.postData('api/accessory/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n resetDatable(pdt, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/accessory/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/accessory.csv';\r\n this.httpService.DirectLocToWindow(\"accessory\");\r\n }\r\n );\r\n }\r\n}","export class Accessory {\r\n constructor(public AcsID?, public AcsN?) { }\r\n}","import {Component, OnInit,Output,EventEmitter,ViewChild} from '@angular/core';\r\n\r\n//Third Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport {HttpServices} from '../service/httpservices';\r\n\r\n//Model\r\nimport {Accessory} from '../accessory/accessory';\r\n\r\n@Component({\r\n selector: 'i-accessorydialog',\r\n templateUrl: './accessorydialog.component.html'\r\n})\r\n\r\nexport class AccessoryDialogCP implements OnInit {\r\n @Output() onClick = new EventEmitter();\r\n @ViewChild('input', { static: false }) vc;\r\n\r\n public accessory: Accessory;\r\n public toastkey = \"i-accessorydialog\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices) { this.accessory = new Accessory(); }\r\n \r\n ngOnInit() {\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n onclick(isSaving: boolean): void {\r\n if (isSaving) {\r\n if (this.accessory.AcsN == undefined) return;\r\n if (this.accessory != undefined) {\r\n this.httpService.postData('api/accessory', this.accessory).\r\n subscribe(\r\n data => {this.accessory.AcsID = data},\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => { this.onClick.emit(this.accessory); });\r\n }\r\n }\r\n else {this.onClick.emit()}\r\n }\r\n}","import { Component, ViewChild, NgZone, OnInit, OnDestroy } from '@angular/core';//OnInit, OnDestroy\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport { Table } from 'primeng/table';\r\nimport { LazyLoadEvent } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { JobViewModel } from '../joblist/jobviewmodel';\r\nimport {AdminJobListQuery} from '../adminjoblist/adminjoblistquery';\r\n\r\n@Component({\r\n selector: 'i-adminjoblist',\r\n templateUrl: './adminjoblist.component.html'\r\n})\r\nexport class AdminJobListCP implements OnInit, OnDestroy{\r\n public printMode: boolean = false;\r\n public showIncome: boolean = false;\r\n public jobstatusddown: SelectItem[] = [];\r\n public servicecenterddown: SelectItem[] = [];\r\n public servicetypeddown: SelectItem[] = [];\r\n public periodddown: SelectItem[] = [];\r\n public scList: any = null;\r\n public stList: any = null;\r\n\r\n public adminjoblistqry: AdminJobListQuery;\r\n public employees:any[];\r\n public empddown:SelectItem[];\r\n\r\n public datasource: any[] = [];\r\n public adminjoblist: JobViewModel[] = [];\r\n public totalRecords: number;\r\n @ViewChild('table', { static: false }) table: Table;\r\n public isTakenStatus:boolean;\r\n public toastkey = \"i-adminjoblist\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router, public auth: AuthService, public _ngZone: NgZone, public _dataChanged: DataChangedEvent){\r\n this.pService.start();\r\n this.showIncome = false;\r\n this.isTakenStatus = false;\r\n this.defineAdminJobListQry();\r\n }\r\n ngOnInit(){\r\n this.setUpServiceCenterAndServiceType();\r\n this.setUpEmployees();\r\n this.prepareForAdminData().then(rps => {\r\n this.getAdminJobList();\r\n });\r\n }\r\n ngOnDestroy(){\r\n\r\n }\r\n getAdminJobList(){\r\n if (!this.adminjoblistqry.jobstatusId) { return; }\r\n\r\n if(!this.adminjoblistqry.empUN){this.adminjoblistqry.empUN='';}\r\n\r\n this.httpService.postData('api/adminjoblist', this.adminjoblistqry).subscribe(\r\n data => {\r\n this.datasource = data;\r\n },\r\n err => { \r\n this.pService.done(); \r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');},\r\n () => {\r\n this.pService.done();\r\n this.filterData();\r\n }\r\n );\r\n }\r\n filterData() {\r\n this.totalRecords = this.datasource.length;\r\n //this.adminjoblist = this.datasource.slice(0, 20);\r\n this.adminjoblist = this.datasource.map(a=> Object.assign({},a));\r\n this.adminjoblist.sort((a, b) => a.JDT < b.JDT ? 1 : (b.JDT < a.JDT ? -1 : 0));\r\n //this.table.paginate({ first: 0, rows: 20 });\r\n }\r\n setUpEmployees(){\r\n this.employees = [];\r\n this.pService.start();\r\n this.httpService.getData('api/loginuser').subscribe(\r\n data => {\r\n this.employees.push({label: '- Select Employee -', value: null});\r\n for(let obj of data){\r\n if(obj.UT==='Service Manager'||obj.UT==='Assistance Manager'|| obj.UT==='Service Technician'||obj.UT==='Operator'){\r\n this.employees.push({label: obj.Name+'/'+obj.UT, value:obj.UN});\r\n }\r\n }\r\n },\r\n err => {},\r\n () => {}\r\n );\r\n }\r\n setUpJobStatus(){\r\n this.jobstatusddown = [\r\n { label: 'Received Jobs', value: 1 },\r\n { label: 'Service Manager Done', value: 2 },\r\n { label: 'Technician Done', value: 3 },\r\n { label: 'Taken', value: 4 },\r\n { label: 'Work In Progress', value: 5 },\r\n { label: 'Waiting Warranty', value: 6 },\r\n { label: 'Waiting Customer Reply', value: 7 },\r\n { label: 'FOC', value: 8 },\r\n { label: 'No Taken', value: 9 },\r\n { label: 'Unable to repair', value: 10 },\r\n { label: 'Unable to repair(Manager done)', value: 11 }\r\n ];\r\n }\r\n setUpPeriod(){\r\n this.periodddown = [\r\n { label: 'Today', value: 'a' },\r\n { label: 'This week', value: 'b' },\r\n { label: 'This Month', value: 'c' },\r\n { label: 'Within 2 Months', value: 'd' },\r\n { label: 'Within 3 Months', value: 'e' },\r\n { label: 'Custom Date', value: 'f' }];\r\n }\r\n setUpServiceCenterAndServiceType(){\r\n this.pService.start();\r\n this.httpService.getDataFJ(['api/getsc', 'api/getst']).subscribe(\r\n data => {\r\n this.scList = data[0];\r\n this.stList = data[1];\r\n },\r\n err => { this.httpService.showToast(this.toastkey, 'error', err); },\r\n () => {\r\n this.servicecenterddown.push({ label: '- Select Service Center -', value: null });\r\n this.servicetypeddown.push({ label: '- Select Service Type -', value: null });\r\n for (let sc of this.scList) {\r\n this.servicecenterddown.push({ label: sc.Name, value: sc.ID });\r\n }\r\n\r\n for (let st of this.stList) {\r\n this.servicetypeddown.push({ label: st.Name, value: st.ID });\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n defineAdminJobListQry(){\r\n let fromdate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n let todate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 0);\r\n\r\n this.adminjoblistqry = new AdminJobListQuery(null, null, null, 1, null, 'a', fromdate, todate);\r\n }\r\n prepareForAdminData(): Promise{\r\n return new Promise((resolve) => {\r\n this.setUpJobStatus();\r\n this.setUpPeriod();\r\n resolve(true);\r\n });\r\n }\r\n\r\n loadLazy(event: LazyLoadEvent) {\r\n setTimeout(() => {\r\n if (this.datasource) {\r\n this.adminjoblist = this.datasource.slice(event.first, (event.first + event.rows));\r\n this.adminjoblist.sort((a, b) => a.JDT < b.JDT ? 1 : (b.JDT < a.JDT ? -1 : 0));\r\n }\r\n }, 250);\r\n }\r\n filterChanged(changedData=null) {\r\n if(changedData==='department_changed'){\r\n this.servicetypeddown = [];\r\n this.servicetypeddown.push({label: '- Select Service Type -', value: null});\r\n for(let obj of this.stList){\r\n if(obj.DID===this.adminjoblistqry.departmentId){\r\n this.servicetypeddown.push({label: obj.Name, value: obj.ID});\r\n }\r\n }\r\n }\r\n if(changedData==='job_status_changed'){\r\n if(this.adminjoblistqry.jobstatusId===4){\r\n this.isTakenStatus = true;\r\n }\r\n else this.isTakenStatus = false;\r\n }\r\n this.getAdminJobList();\r\n }\r\n onSelectDate() {\r\n this.getAdminJobList();\r\n }\r\n printjob() {\r\n window.print();\r\n }\r\n exportToCSV() {\r\n this.httpService.postData('api/exportadminjoblist', this.adminjoblistqry).subscribe(\r\n data => { },\r\n err => { },\r\n () => { \r\n //window.location.href = this.httpService._url + 'excel/adminjoblist.csv';\r\n this.httpService.DirectLocToWindow(\"adminjoblist\");\r\n }\r\n );\r\n }\r\n \r\n}","export class AdminJobListQuery{\r\n constructor(\r\n public departmentId?, \r\n public servicecenterId?, \r\n public servicetypeId?, \r\n public jobstatusId?, \r\n public empUN?, \r\n public period?, \r\n public fromdate?, \r\n public todate?){}\r\n}","export default \".app-searchBar {\\n background-color: #03a9f4;\\n color: #FFF;\\n margin-left: 0.5em;\\n margin-right: 0.5em;\\n}\\n\\n.app-search {\\n width: 100%;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0kseUJBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtBQUNKOztBQUVBO0VBRUksV0FBQTtBQUFKIiwiZmlsZSI6InNyYy9hcHAvYXBwLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmFwcC1zZWFyY2hCYXJ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDNhOWY0O1xyXG4gICAgY29sb3I6ICNGRkY7XHJcbiAgICBtYXJnaW4tbGVmdDogMC41ZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xyXG59XHJcblxyXG4uYXBwLXNlYXJjaHtcclxuICAgIC8vIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTBweCk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufSJdfQ== */\";","import { Component, AfterViewInit, Renderer2, NgZone } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n//service\nimport { HttpServices } from './service/httpservices';\nimport { AuthService } from '././service/authservice';\nimport { SignalRService } from './service/signalrservice';\nimport { NgProgressService } from \"ng2-progressbar\";\n\n//model\nimport { DataChangedEvent } from './service/datachangedevent';\n\nenum MenuOrientation {\n STATIC,\n OVERLAY,\n HORIZONTAL\n};\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements AfterViewInit {\n\n public layoutCompact: boolean = true;\n public layoutMode: MenuOrientation = MenuOrientation.STATIC;\n public darkMenu: boolean = false;\n public profileMode: string = 'inline';\n\n public topbarMenuActive: boolean;\n public overlayMenuActive: boolean;\n public staticMenuDesktopInactive: boolean;\n public staticMenuMobileActive: boolean;\n public menuClick: boolean;\n public topbarItemClick: boolean;\n public activeTopbarItem: any;\n public documentClickListener: Function;\n public resetMenu: boolean;\n\n\n public notiMessages: any = [];\n public notiCount: number = 0;\n current_route: any;\n\n constructor(public ngzone: NgZone ,public _signalR: SignalRService, private pService: NgProgressService, public activeRoute: ActivatedRoute, public renderer: Renderer2, public httpservice: HttpServices, public auth: AuthService, public router: Router, public _dataChanged: DataChangedEvent) {\n // this.isAuthorized = auth.isLoggedIn;\n //this.pService.start();\n\n this.auth.getAuthInfo().then(n => {\n if (n) {\n this.auth.setAllData(n);\n }\n else {\n if (!this.router.url.includes(\"external-login\") && !this.router.url.includes(\"saveresetpwd\")) {\n this.logout();\n }\n }\n }).catch(err => {\n this.logout();\n });\n this.subscribeToEvents();\n this.httpservice.GetDepartment();\n // setTimeout(()=>{\n // this.pService.done();\n // },3000);\n\n }\n\n logout() {\n this.httpservice.logout().then(res => {\n this.notiCount = 0;\n this.notiMessages = [];\n });\n }\n\n resize(e) {\n this.httpservice.mobileWidth = window.innerWidth < 650;\n }\n\n goSearch(event) {\n if (event.keyCode === 13) {\n\n if (!this.httpservice.searchData || this.httpservice.searchData === '') {\n return;\n }\n // this.router.navigate(['/searchjob']).then(obj => {\n // this._dataChanged.searchjobChanged.emit({ searchdata: this.httpservice.searchData, searchtype: this.httpservice.searchType });\n // });\n this.router.navigate(['/searchjob', this.httpservice.searchData, this.httpservice.searchType]);\n }\n }\n\n ngAfterViewInit() {\n //hides the horizontal submenus or top menu if outside is clicked\n this.documentClickListener = this.renderer.listen('body', 'click', (event) => {\n if (!this.topbarItemClick) {\n this.activeTopbarItem = null;\n this.topbarMenuActive = false;\n }\n\n if (!this.menuClick && this.isHorizontal()) {\n this.resetMenu = true;\n }\n\n this.topbarItemClick = false;\n this.menuClick = false;\n });\n\n this.httpservice.mobileWidth = window.innerWidth < 650;\n }\n\n // //\n\n gotoMainDashboard() {\n if (this.auth.role == 'Admin' || this.auth.role == 'Service Manager') this.router.navigate(['/main-dashboard']);\n else this.router.navigate(['/']);\n }\n\n gotoTotalDashboard() {\n if (this.auth.role == 'Admin' || this.auth.role == 'Service Manager') this.router.navigate(['/ground-dashboard']);\n else this.router.navigate(['/']);\n }\n\n\n gotoDashboard() {\n if (this.auth.role == 'Admin' || this.auth.role == 'Service Manager') this.router.navigate(['/chart']);\n else\n this.router.navigate(['/']);\n }\n\n gotoTechDashboard() {\n if (this.auth.role == 'Admin' || this.auth.role == 'Service Manager') {\n this.router.navigate(['tech-dashboard']);\n }\n }\n\n gotoJobList() {\n if (this.auth.role == 'Admin' || this.auth.role == 'Service Manager' || this.auth.role == 'Assistance Manager' || this.auth.role == 'Operator')\n this.router.navigate(['/joblist'])\n else if (this.auth.role == 'Service Technician')\n this.router.navigate(['/techjoblist2']);\n else\n this.router.navigate(['/']);\n }\n\n gotoJobListNew() {\n //if (this.auth.role == 'Admin') { this.router.navigate(['/adminjoblist']); }\n //else\n if (this.auth.role == 'Admin' || this.auth.role == 'Service Manager' || this.auth.role == 'Assistance Manager' || this.auth.role == 'Service Technician' || this.auth.role == 'Operator') {\n this.router.navigate(['/joblistnew']);\n }\n else { this.router.navigate(['/']); }\n }\n\n subscribeToEvents(): void {\n this._signalR.connectionEstablished.subscribe(() => { });\n\n this._signalR.messageReceived.subscribe((data) => {\n\n switch (data.ObjType) {\n case 'Accessory': {\n //start accessory sync \n this._dataChanged.accessoryChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.AcKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'Accessory');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n // lFservice.Set_LF(GlobalFunc.AcKey, temp).\n // then(value => { if (this.router.url == '/accessory') { this._dataChanged.accessoryChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/accessory').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.AcKey, temp).\n // then(value => { if (this.router.url == '/accessory') { this._dataChanged.accessoryChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n //end accessory sync\n break;\n }\n case 'Brand': {\n //start brand sync\n this._dataChanged.brandChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.BrKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'Brand');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n // lFservice.Set_LF(GlobalFunc.BrKey, temp).\n // then(value => { if (this.router.url == '/brand') { this._dataChanged.brandChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/brand').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.BrKey, temp).\n // then(value => { if (this.router.url == '/brand') { this._dataChanged.brandChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n //end brand sync\n break;\n }\n case 'Category': {\n //start category sync\n this._dataChanged.categoryChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.CTKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'Category');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n // lFservice.Set_LF(GlobalFunc.CTKey, temp).\n // then(value => { if (this.router.url == '/category') { this._dataChanged.categoryChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/category').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.CTKey, temp).\n // then(value => { if (this.router.url == '/category') { this._dataChanged.categoryChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n //end category sync\n break;\n }\n case 'Customer': {\n //start customer sync\n this._dataChanged.customerChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.CusKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'Customer');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n // lFservice.Set_LF(GlobalFunc.CusKey, temp).\n // then(value => { if (this.router.url == '/customer') { this._dataChanged.customerChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/customer').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.CusKey, temp).\n // then(value => { if (this.router.url == '/customer') { this._dataChanged.customerChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n //end customer sync\n break;\n }\n case 'Department': {\n //start Department sync\n this._dataChanged.departmentChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.DPKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'Department');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n // lFservice.Set_LF(GlobalFunc.DPKey, temp).\n // then(value => { if (this.router.url == '/department') { this._dataChanged.departmentChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/department').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.DPKey, temp).\n // then(value => { if (this.router.url == '/department') { this._dataChanged.departmentChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n // //end Department sync\n break;\n }\n case 'Model': {\n //start Model sync\n this._dataChanged.modelChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.MKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'Model');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n // lFservice.Set_LF(GlobalFunc.MKey, temp).\n // then(value => { if (this.router.url == '/model') { this._dataChanged.modelChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/model').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.MKey, temp).\n // then(value => { if (this.router.url == '/model') { this._dataChanged.modelChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n //end Model sync\n break;\n }\n case 'ServiceCenter': {\n //start ServiceCenter sync\n this._dataChanged.serviceCenterChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.SCKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'ServiceCenter');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n\n // lFservice.Set_LF(GlobalFunc.SCKey, temp).\n // then(value => { if (this.router.url == '/servicecenter') { this._dataChanged.serviceCenterChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/servicecenter').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.SCKey, temp).\n // then(value => { if (this.router.url == '/servicecenter') { this._dataChanged.serviceCenterChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n //end ServiceCenter sync\n break;\n }\n case 'ServiceType': {\n //start ServiceType sync\n this._dataChanged.serviceTypeChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.STKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'ServiceType');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n // lFservice.Set_LF(GlobalFunc.STKey, temp).\n // then(value => { if (this.router.url == '/servicetype') { this._dataChanged.serviceTypeChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/servicetype').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.STKey, temp).\n // then(value => { if (this.router.url == '/servicetype') { this._dataChanged.serviceTypeChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n //end ServiceType sync\n break;\n }\n case 'StockItem': {\n //start StockItem sync\n this._dataChanged.stockItemChanged.emit(data);\n // lFservice.Get_LF(GlobalFunc.SIKey).then(value => {\n // if (value == null) return;\n // if (data.token == this.auth.authtoken) return;\n // temp = value;\n\n // if (data.Msg == 'updated') {\n // let _index: number = GlobalFunc.findIndexByID(temp, data.Obj, 'StockItem');\n // if (_index >= 0) {\n // temp[_index] = data.Obj;\n // } else {\n // temp.unshift(data.Obj);\n // }\n // lFservice.Set_LF(GlobalFunc.SIKey, temp).\n // then(value => { if (this.router.url == '/stockitem') { this._dataChanged.stockItemChanged.emit(data); } }).\n // catch(err => { });\n // } else {\n // this.httpservice.getData('api/stockitem').subscribe(\n // data => temp = data,\n // err => { },\n // () => {\n // lFservice.Set_LF(GlobalFunc.SIKey, temp).\n // then(value => { if (this.router.url == '/stockitem') { this._dataChanged.stockItemChanged.emit(data); } }).\n // catch(err => { });\n // });\n // }\n // }).catch(err => { });\n //end StockItem sync\n break;\n }\n case 'LoginUser': {\n //start LoginUser sync \n this._dataChanged.loginUserChanged.emit(data);\n break;\n }\n \n case 'Service technician rate': {\n this._dataChanged.jobTRateChanged.emit(data);\n break;\n }\n case 'Job': {\n if (data.Msg === 'deleted') {\n if (data.Value2.DID === this.auth.DID && data.Value2.ScID === this.auth.ScID) {\n this._dataChanged.jobChanged.emit(data);\n }\n }\n else {\n if (data.Obj.DID === this.auth.DID && data.Obj.ScID === this.auth.ScID) {\n this._dataChanged.jobChanged.emit(data);\n }\n }\n break;\n }\n case 'Service technician status': {\n if (data.Value2.DID === this.auth.DID && data.Value2.ScID === this.auth.ScID) {\n this._dataChanged.jobTStatusChanged.emit(data);\n }\n break;\n }\n case 'Service manager job status': {\n if (data.Value2.DID === this.auth.DID && data.Value2.ScID === this.auth.ScID) {\n this._dataChanged.jobSmStatusChanged.emit(data);\n }\n break;\n }\n case 'Job warranty status': {\n this._dataChanged.jobWarrantyStatusChanged.emit(data);\n break;\n }\n case 'Service Center Changed': {\n if (data.Obj) {\n this._dataChanged.jobServiceCenterChanged.emit(data);\n }\n break;\n }\n default: { }\n }\n });\n }\n\n //built in functions\n onMenuButtonClick(event) {\n\n this.topbarMenuActive = false;\n\n if (this.layoutMode === MenuOrientation.OVERLAY) {\n this.overlayMenuActive = !this.overlayMenuActive;\n }\n else {\n if (this.isDesktop())\n this.staticMenuDesktopInactive = !this.staticMenuDesktopInactive;\n else\n this.staticMenuMobileActive = !this.staticMenuMobileActive;\n }\n\n event.preventDefault();\n }\n\n onMenuClick($event) {\n this.menuClick = true;\n this.resetMenu = false;\n\n }\n\n\n onTopbarItemClick(event, item) {\n this.topbarItemClick = true;\n if (this.activeTopbarItem === item)\n this.activeTopbarItem = null;\n else\n this.activeTopbarItem = item;\n\n event.preventDefault();\n }\n\n isTablet() {\n let width = window.innerWidth;\n return width <= 1024 && width > 640;\n }\n\n isDesktop() {\n return window.innerWidth > 1024;\n }\n\n isMobile() {\n return window.innerWidth <= 640;\n }\n\n isOverlay() {\n return this.layoutMode === MenuOrientation.OVERLAY;\n }\n\n isHorizontal() {\n return this.layoutMode === MenuOrientation.HORIZONTAL;\n }\n\n changeToStaticMenu() {\n this.layoutMode = MenuOrientation.STATIC;\n }\n\n changeToOverlayMenu() {\n this.layoutMode = MenuOrientation.OVERLAY;\n }\n\n changeToHorizontalMenu() {\n this.layoutMode = MenuOrientation.HORIZONTAL;\n }\n\n ngOnDestroy() {\n if (this.documentClickListener) {\n this.documentClickListener();\n }\n if (this.current_route != undefined) this.current_route.unsubscribe();\n }\n}","import {Component,Inject,forwardRef} from '@angular/core';\r\nimport {AppComponent} from './app.component';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n template: `\r\n
\r\n
\r\n All Rights Reserved\r\n
\r\n
\r\n `\r\n})\r\nexport class AppFooter {}","import { Component, Input, OnInit, EventEmitter, Inject, forwardRef } from '@angular/core';\r\nimport { trigger, state, style, transition, animate } from '@angular/animations';\r\nimport { Location } from '@angular/common';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { AuthService } from './service/authservice';\r\n\r\n@Component({\r\n selector: 'app-menu',\r\n template: `\r\n
    \r\n `\r\n})\r\nexport class AppMenuComponent implements OnInit {\r\n\r\n @Input() reset: boolean;\r\n\r\n public model: any[] = [];\r\n\r\n constructor(@Inject(forwardRef(() => AppComponent)) public app: AppComponent, public auth: AuthService) { }\r\n\r\n ngOnInit() {\r\n if (this.auth.appRole == 'Admin') {\r\n this.model = [\r\n // { label: 'Daily Dashboard', icon: 'dashboard', command: () => { this.app.gotoMainDashboard() } },\r\n // { label: 'Total Dashboard', icon: 'dashboard', command: () => { this.app.gotoTotalDashboard() } },\r\n // { label: 'Dashboard', icon: 'dashboard', command: () => { this.app.gotoDashboard() } },\r\n {\r\n label: 'Dashboard', icon: 'dashboard',\r\n items: [\r\n { label: 'Main Dashboard', icon: 'dashboard', command: () => { this.app.gotoMainDashboard() } },\r\n { label: 'Ground Dashboard', icon: 'dashboard', command: () => { this.app.gotoTotalDashboard() } },\r\n { label: 'Chart', icon: 'dashboard', command: () => { this.app.gotoDashboard() } },\r\n {label:'Technician Dashboard',icon:'dashboard',command:()=>{this.app.gotoTechDashboard()}},\r\n ]\r\n },\r\n { label: 'Current Jobs', icon: 'list', command: () => { this.app.gotoJobList() } },\r\n { label: 'Job List', icon: 'list', command: () => { this.app.gotoJobListNew() } },\r\n { label: 'Warranty', icon: 'memory', routerLink: ['/warranty'] },\r\n //{label:'Taken List',icon:'done_all',routerLink: ['/takenlist']},\r\n { label: 'Technician Review', icon: 'person_pin', routerLink: ['/techreview'] },\r\n\r\n {\r\n label: 'Administration', icon: 'apps',\r\n items: [\r\n { label: 'Service Center', icon: 'location_on', routerLink: ['/servicecenter'] },\r\n { label: 'Department', icon: 'book', routerLink: ['/department'] },\r\n { label: 'Service Type', icon: 'merge_type', routerLink: ['/servicetype'] },\r\n { label: 'Accessory', icon: 'markunread_mailbox', routerLink: ['/accessory'] },\r\n { label: 'Brand', icon: 'ac_unit', routerLink: ['/brand'] },\r\n { label: 'Category', icon: 'ac_unit', routerLink: ['/category'] },\r\n { label: 'Model', icon: 'ac_unit', routerLink: ['/model'] },\r\n { label: 'Stock Item', icon: 'assignment', routerLink: ['/stockitem'] },\r\n { label: 'Customer', icon: 'accessibility', routerLink: ['/customer'] },\r\n { label: 'Description', icon: 'description', routerLink: ['/description/a'] },\r\n { label: 'Technician Remark', icon: 'collections_bookmark', routerLink: ['/description/b'] },\r\n { label: 'Login User', icon: 'perm_identity', routerLink: ['/loginuser'] }]\r\n },\r\n\r\n {\r\n label: 'Stock Control', icon: 'toys',\r\n items: [ \r\n { label: 'Stock In', icon: 'input', routerLink: ['/stockinlist'] },\r\n { label: 'Stock Transfer', icon: 'transform', routerLink: ['/transferlist'] },\r\n { label: 'Stock Adjustment', icon: 'adjust', routerLink: ['/adjustmentlist'] },\r\n { label: 'Stock Ledger', icon: 'library_books', routerLink: ['/stockledger'] }]\r\n },\r\n\r\n { label: 'Stock Balance', icon: 'account_balance_wallet', routerLink: ['/stockbalance'] },\r\n { label: 'Job List By Device ID', icon: 'work', routerLink: ['/jobsbydeviceid'] },\r\n\r\n { label: 'Message Template', icon: 'insert_comment', routerLink: ['/messagetemplate'] },\r\n\r\n { label: 'Unfinished Job List', icon: 'search', routerLink: ['/over7'] }\r\n ];\r\n }\r\n if (this.auth.appRole == 'Service Manager') {\r\n this.model = [\r\n // { label: 'Daily Dashboard', icon: 'dashboard', command: () => { this.app.gotoMainDashboard() } },\r\n // { label: 'Total Dashboard', icon: 'dashboard', command: () => { this.app.gotoTotalDashboard() } },\r\n // { label: 'Dashboard', icon: 'dashboard', command: () => { this.app.gotoDashboard() } },\r\n {\r\n label: 'Dashboard', icon: 'dashboard',\r\n items: [\r\n { label: 'Main Dashboard', icon: 'dashboard', command: () => { this.app.gotoMainDashboard() } },\r\n { label: 'Ground Dashboard', icon: 'dashboard', command: () => { this.app.gotoTotalDashboard() } },\r\n { label: 'Chart', icon: 'dashboard', command: () => { this.app.gotoDashboard() } },\r\n {label:'Technician Dashboard',icon:'dashboard',command:()=>{this.app.gotoTechDashboard()}},\r\n ]\r\n },\r\n //{label:'Create New Job',icon:'add',command:()=>{this.app.gotoJob()}},\r\n { label: 'Current Jobs', icon: 'list', command: () => { this.app.gotoJobList() } },\r\n { label: 'Job List', icon: 'list', command: () => { this.app.gotoJobListNew() } },\r\n { label: 'Warranty', icon: 'memory', routerLink: ['/warranty'] },\r\n //{label:'Taken List',icon:'done_all',routerLink: ['/takenlist']},\r\n { label: 'Technician Review', icon: 'person_pin', routerLink: ['/techreview'] },\r\n\r\n {\r\n label: 'Administration', icon: 'apps',\r\n items: [\r\n { label: 'Service Center', icon: 'location_on', routerLink: ['/servicecenter'] },\r\n { label: 'Department', icon: 'book', routerLink: ['/department'] },\r\n { label: 'Service Type', icon: 'merge_type', routerLink: ['/servicetype'] },\r\n { label: 'Accessory', icon: 'markunread_mailbox', routerLink: ['/accessory'] },\r\n { label: 'Brand', icon: 'ac_unit', routerLink: ['/brand'] },\r\n { label: 'Category', icon: 'ac_unit', routerLink: ['/category'] },\r\n { label: 'Model', icon: 'ac_unit', routerLink: ['/model'] },\r\n { label: 'Stock Item', icon: 'assignment', routerLink: ['/stockitem'] },\r\n { label: 'Customer', icon: 'accessibility', routerLink: ['/customer'] },\r\n { label: 'Description', icon: 'description', routerLink: ['/description/a'] },\r\n { label: 'Technician Remark', icon: 'collections_bookmark', routerLink: ['/description/b'] },\r\n { label: 'Login User', icon: 'perm_identity', routerLink: ['/loginuser'] }]\r\n },\r\n\r\n {\r\n label: 'Stock Control', icon: 'toys',\r\n items: [\r\n // { label: 'Purchase Entry', icon: 'input', routerLink: ['/purchase-entry'] },\r\n { label: 'Purchase', icon: 'input', routerLink: ['/stockinlist'] },\r\n { label: 'Stock Transfer', icon: 'transform', routerLink: ['/transferlist'] },\r\n { label: 'Stock Adjustment', icon: 'adjust', routerLink: ['/adjustmentlist'] },\r\n { label: 'Stock Ledger', icon: 'library_books', routerLink: ['/stockledger'] }]\r\n },\r\n\r\n { label: 'Stock Balance', icon: 'account_balance_wallet', routerLink: ['/stockbalance'] },\r\n { label: 'Job List By Device ID', icon: 'work', routerLink: ['/jobsbydeviceid'] },\r\n\r\n { label: 'Message Template', icon: 'insert_comment', routerLink: ['/messagetemplate'] },\r\n\r\n { label: 'Unfinished Job List', icon: 'search', routerLink: ['/over7'] },\r\n\r\n // {label:'Test DateTime',icon:'insert_comment',routerLink: ['/testdatetime']}\r\n ];//insert-comment\r\n }\r\n if (this.auth.appRole == 'Assistance Manager') {\r\n\r\n this.model = [\r\n //{label:'Dashboard',icon:'dashboard',command:()=>{this.app.gotoDashboard()}},\r\n //{label:'Create New Job',icon:'add',command:()=>{this.app.gotoJob()}}, \r\n { label: 'Current Jobs', icon: 'list', command: () => { this.app.gotoJobList() } },\r\n { label: 'Job List', icon: 'list', command: () => { this.app.gotoJobListNew() } },\r\n { label: 'Warranty', icon: 'memory', routerLink: ['/warranty'] },\r\n //{label:'Taken List',icon:'done_all',routerLink: ['/takenlist']},\r\n { label: 'Technician Review', icon: 'person_pin', routerLink: ['/techreview'] },\r\n\r\n {\r\n label: 'Administration', icon: 'apps',\r\n items: [\r\n { label: 'Service Center', icon: 'location_on', routerLink: ['/servicecenter'] },\r\n { label: 'Department', icon: 'book', routerLink: ['/department'] },\r\n { label: 'Service Type', icon: 'merge_type', routerLink: ['/servicetype'] },\r\n { label: 'Accessory', icon: 'markunread_mailbox', routerLink: ['/accessory'] },\r\n { label: 'Brand', icon: 'ac_unit', routerLink: ['/brand'] },\r\n { label: 'Category', icon: 'ac_unit', routerLink: ['/category'] },\r\n { label: 'Model', icon: 'ac_unit', routerLink: ['/model'] },\r\n { label: 'Stock Item', icon: 'assignment', routerLink: ['/stockitem'] },\r\n { label: 'Customer', icon: 'accessibility', routerLink: ['/customer'] }]\r\n },\r\n\r\n {\r\n label: 'Stock Control', icon: 'toys',\r\n items: [ \r\n { label: 'Stock In', icon: 'input', routerLink: ['/stockinlist'] },\r\n { label: 'Stock Transfer', icon: 'transform', routerLink: ['/transferlist'] },\r\n { label: 'Stock Adjustment', icon: 'adjust', routerLink: ['/adjustmentlist'] },\r\n { label: 'Stock Ledger', icon: 'library_books', routerLink: ['/stockledger'] }]\r\n },\r\n\r\n { label: 'Stock Balance', icon: 'account_balance_wallet', routerLink: ['/stockbalance'] },\r\n { label: 'Job List By Device ID', icon: 'work', routerLink: ['/jobsbydeviceid'] },\r\n\r\n { label: 'Message Template', icon: 'insert_comment', routerLink: ['/messagetemplate'] },\r\n\r\n { label: 'Unfinished Job List', icon: 'search', routerLink: ['/over7'] }\r\n ];\r\n }\r\n if (this.auth.appRole == 'Service Technician') {\r\n this.model = [\r\n \r\n { label: 'Current Jobs', icon: 'list', command: () => { this.app.gotoJobList() } },\r\n //{ label: 'Job List', icon: 'list', command: () => { this.app.gotoJobListNew() } },\r\n { label: 'Stock Balance', icon: 'account_balance_wallet', routerLink: ['/stockbalance'] },\r\n { label: 'Job List By Device ID', icon: 'work', routerLink: ['/jobsbydeviceid'] },\r\n\r\n { label: 'Unfinished Job List', icon: 'search', routerLink: ['/over7'] }\r\n ];\r\n }\r\n if (this.auth.appRole == 'Operator') {\r\n this.model = [\r\n //{label:'Dashboard',icon:'dashboard',command:()=>{this.app.gotoDashboard()}},\r\n //{label:'Create New Job',icon:'add',command:()=>{this.app.gotoJob()}},\r\n { label: 'Current Jobs', icon: 'list', command: () => { this.app.gotoJobList() } },\r\n { label: 'Job List', icon: 'list', command: () => { this.app.gotoJobListNew() } },\r\n //{label:'Taken List',icon:'done_all',routerLink: ['/takenlist']},\r\n { label: 'Technician Review', icon: 'person_pin', routerLink: ['/techreview'] },\r\n\r\n { label: 'Administration', icon: 'apps', items: [{ label: 'Customer', icon: 'accessibility', routerLink: ['/customer'] }] },\r\n\r\n { label: 'Stock Balance', icon: 'account_balance_wallet', routerLink: ['/stockbalance'] },\r\n { label: 'Job List By Device ID', icon: 'work', routerLink: ['/jobsbydeviceid'] },\r\n\r\n { label: 'Message Template', icon: 'insert_comment', routerLink: ['/messagetemplate'] }\r\n ];\r\n }\r\n if (this.auth.appRole == 'Warranty') {\r\n this.model = [{ label: 'Warranty', icon: 'memory', routerLink: ['/warranty'] }];\r\n }\r\n }\r\n\r\n changeTheme(theme) {\r\n let themeLink: HTMLLinkElement = document.getElementById('theme-css');\r\n let layoutLink: HTMLLinkElement = document.getElementById('layout-css');\r\n\r\n themeLink.href = 'assets/theme/theme-' + theme + '.css';\r\n layoutLink.href = 'assets/layout/css/layout-' + theme + '.css';\r\n }\r\n}\r\n\r\n@Component({\r\n selector: '[app-submenu]',\r\n template: `\r\n \r\n
  • \r\n \r\n {{child.icon}}\r\n {{child.label}}\r\n keyboard_arrow_down\r\n \r\n\r\n \r\n {{child.icon}}\r\n {{child.label}}\r\n keyboard_arrow_down\r\n \r\n
      \r\n
    • \r\n
      \r\n `,\r\n animations: [\r\n trigger('children', [\r\n state('hidden', style({\r\n height: '0px'\r\n })),\r\n state('visible', style({\r\n height: '*'\r\n })),\r\n transition('visible => hidden', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')),\r\n transition('hidden => visible', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\r\n ])\r\n ]\r\n})\r\nexport class AppSubMenu {\r\n\r\n @Input() item: MenuItem;\r\n\r\n @Input() root: boolean;\r\n\r\n @Input() visible: boolean;\r\n\r\n public _reset: boolean;\r\n\r\n public activeIndex: number;\r\n\r\n constructor(@Inject(forwardRef(() => AppComponent)) public app: AppComponent, public location: Location) { }\r\n\r\n itemClick(event: Event, item: MenuItem, index: number) {\r\n //avoid processing disabled items\r\n if (item.disabled) {\r\n event.preventDefault();\r\n return true;\r\n }\r\n\r\n //activate current item and deactivate active sibling if any\r\n this.activeIndex = (this.activeIndex === index) ? null : index;\r\n\r\n //execute command\r\n // if (item.command) {\r\n // if (!item.eventEmitter) {\r\n // item.eventEmitter = new EventEmitter();\r\n // item.eventEmitter.subscribe(item.command);\r\n // }\r\n\r\n // item.eventEmitter.emit({\r\n // originalEvent: event,\r\n // item: item\r\n // });\r\n // }\r\n if(item.command){\r\n item.command({\r\n originalEvent: event,\r\n item: item\r\n });\r\n }\r\n \r\n\r\n //prevent hash change\r\n if (item.items || (!item.url && !item.routerLink)) {\r\n event.preventDefault();\r\n }\r\n\r\n //hide menu\r\n if (!item.items) {\r\n if (this.app.isHorizontal())\r\n this.app.resetMenu = true;\r\n else\r\n this.app.resetMenu = false;\r\n\r\n this.app.overlayMenuActive = false;\r\n this.app.staticMenuMobileActive = false;\r\n }\r\n }\r\n\r\n isActive(index: number): boolean {\r\n return this.activeIndex === index;\r\n }\r\n\r\n @Input() get reset(): boolean {\r\n return this._reset;\r\n }\r\n\r\n set reset(val: boolean) {\r\n this._reset = val;\r\n\r\n if (this._reset && this.app.isHorizontal()) {\r\n this.activeIndex = null;\r\n }\r\n }\r\n}","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpModule } from '@angular/http';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { LocationStrategy, HashLocationStrategy, DatePipe } from '@angular/common';\nimport { AppRoutes } from './app.routes';\nimport 'rxjs/add/operator/toPromise';\n\nimport { AccordionModule } from 'primeng/accordion';\nimport { AutoCompleteModule } from 'primeng/autocomplete';\nimport { BreadcrumbModule } from 'primeng/breadcrumb';\nimport { ButtonModule } from 'primeng/button';\nimport { CalendarModule } from 'primeng/calendar';\nimport { CarouselModule } from 'primeng/carousel';\nimport { ChartModule } from 'primeng/chart';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { ChipsModule } from 'primeng/chips';\nimport { CodeHighlighterModule } from 'primeng/codehighlighter';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\nimport { ContextMenuModule } from 'primeng/contextmenu';\nimport { DataViewModule } from 'primeng/dataview';\nimport { TableModule } from 'primeng/table';\nimport { DialogModule } from 'primeng/dialog';\nimport { DragDropModule } from 'primeng/dragdrop';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { EditorModule } from 'primeng/editor';\nimport { FieldsetModule } from 'primeng/fieldset';\nimport { FileUploadModule } from 'primeng/fileupload';\nimport { GalleriaModule } from 'primeng/galleria';\nimport { GMapModule } from 'primeng/gmap';\nimport { ToastModule } from 'primeng/toast';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputTextareaModule } from 'primeng/inputtextarea';\nimport { LightboxModule } from 'primeng/lightbox';\nimport { ListboxModule } from 'primeng/listbox';\nimport { MegaMenuModule } from 'primeng/megamenu';\nimport { MenuModule } from 'primeng/menu';\nimport { MenubarModule } from 'primeng/menubar';\nimport { MessagesModule } from 'primeng/messages';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { OrderListModule } from 'primeng/orderlist';\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { PanelModule } from 'primeng/panel';\nimport { PanelMenuModule } from 'primeng/panelmenu';\nimport { PasswordModule } from 'primeng/password';\nimport { PickListModule } from 'primeng/picklist';\nimport { ProgressBarModule } from 'primeng/progressbar';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { RatingModule } from 'primeng/rating';\nimport { SelectButtonModule } from 'primeng/selectbutton';\nimport { SlideMenuModule } from 'primeng/slidemenu';\nimport { SliderModule } from 'primeng/slider';\nimport { SpinnerModule } from 'primeng/spinner';\nimport { SplitButtonModule } from 'primeng/splitbutton';\nimport { StepsModule } from 'primeng/steps';\nimport { TabMenuModule } from 'primeng/tabmenu';\nimport { TabViewModule } from 'primeng/tabview';\nimport { TerminalModule } from 'primeng/terminal';\nimport { TieredMenuModule } from 'primeng/tieredmenu';\nimport { ToggleButtonModule } from 'primeng/togglebutton';\nimport { ToolbarModule } from 'primeng/toolbar';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { TreeModule } from 'primeng/tree';\nimport { TreeTableModule } from 'primeng/treetable';\n\n\nimport { AppComponent } from './app.component';\nimport { AppMenuComponent, AppSubMenu } from './app.menu.component';\nimport { AppTopBar } from './app.topbar.component';\nimport { AppFooter } from './app.footer.component';\nimport { InlineProfileComponent } from './app.profile.component';\nimport { ExternalLoginComponent } from './external-login.cp';\n\n//third party libraries\n//import { ImageUploadModule } from 'ng2-imageupload';\nimport { BsModalModule } from 'ng2-bs3-modal';\nimport { NgProgressModule } from 'ng2-progressbar';\n\n//my references\nimport { HttpServices } from './service/httpservices';\nimport { AuthService } from './service/authservice';\nimport { SignalRService } from './service/signalrservice';\nimport { DataChangedEvent } from './service/datachangedevent';\n\n//my component\nimport { AccessoryCP } from './accessory/accessory.component';\nimport {AccessoryDialogCP} from './accessory/accessorydialog.component';\nimport {DashboardCP} from './dashboard/dashboard.component';\nimport {BrandCP} from './brand/brand.component';\nimport { LogCP } from './log/log.component';\nimport { LoginApplication } from './login/login';\nimport { HomeCP } from './home/home';\nimport {BlankCP} from './blank/blank.component';\nimport {CategoryCP} from './category/category.component';\nimport { CustomerCP } from './customer/customer.component';\nimport { CustomerDialogCP } from './customer/customerdialog.component';\nimport {DepartmentCP} from './department/department.component';\nimport {ServiceCenterCP} from './servicecenter/servicecenter.component';\nimport {ServiceTypeCP} from './servicetype/servicetype.component';\nimport {StockItemCP} from './stockitem/stockitem.component';\nimport {ModelCP} from './model/model.component';\nimport {ModelDialogCP} from './model/modeldialog.component';\nimport {LoginUserCP} from './loginuser/loginuser.component';\nimport {JobCP} from './job/job.component';\nimport {JobPrintViewCP} from './job/jobprintview.component';\nimport {JobListCP} from './joblist/joblist.component';\nimport {TechJobListCP} from './joblist/techjoblist.component';\nimport {TechJobListCP2} from './joblist/techjoblist2.component';\nimport {JobPartCP} from './job/jobpart.component';\nimport {JobPhotoCP} from './job/jobphoto.component';\nimport {JobPhotoViewCP} from './job/jobphotoview.component';\nimport {JobDoneCP} from './dashboardsup/jobdone.component';\nimport {DashBoardTechCP} from './dashboardtech/dashboardtech.component';\nimport {DashboardViewCP} from './dashboardtech/dashboardview.component';\nimport {DashBoardSupCP} from './dashboardsup/dashboardsupervisor.component';\nimport {DashboardSupViewCP} from './dashboardsup/dashboardsupervisorview.component';\nimport {WarrantyCP} from './warranty/warranty.component';\nimport {CreateStockTransferCP} from './stocktransfer/createstocktransfer.component';\nimport {StockTransferDetailCP} from './stocktransfer/stocktransferdetail.component';\nimport {TransferListCP} from './stocktransfer/transferlist.component';\nimport {StockAdjustmentListCP} from './stockadjustment/stockadjustmentlist.component';\nimport {TakenListCP} from './takenlist/takenlist.component';\nimport {TechReviewCp} from './techreview/techreview.component';\nimport {StockInListCP} from './stockin/stockinlist.component';\nimport {StockInCP} from './stockin/stockin.component';\nimport {StockInDetailCP} from './stockin/stockindetail.component';\nimport {StockLedgerCP} from './stockledger/stockledger.component';\nimport {StockBalance} from './stockbalance/stockbalance.component';\nimport {CustomerTakenCP} from './customertaken/customertaken.component';\nimport {UNAndResetCP} from './prepareresetpwd/prepareresetpwd.component';\nimport {ResetPwdCP} from './saveresetpwd/saveresetpwd.component';\nimport {DeviceIDCP} from './deviceid/deviceid.component';\n\nimport {SearchJobCP} from './searchjob/searchjob.component';\nimport {BlankWithParamCP} from './blank/blankwithparam.component'; \nimport {QRCodeComponentOwn} from './qrcodeown/qrcodeown.component';\nimport {JobListNewCP} from './joblistnew/joblistnew.component';\nimport { MainDashboardCP } from './main-dashboard/main-dashboard.component';\nimport { TotalDashboardCP } from './total-dashboard/total-dashboard.component';\nimport {AppNotiColorDirective} from './appDirectives/appointmentNotiColor.directive';\nimport {JobDonePrintViewCP} from './dashboardsup/jobdoneprintview.component';\nimport {MessageTemplateCP} from './messagetemplates/messagetemplate.component';\nimport { Over7CP } from './over7DayJobs/over7.component';\n\n// //Service\nimport { JustLogin } from './service/auth_guard/justlogin';\nimport { Admin_Role } from './service/auth_guard/admin_role';\nimport { Service_Manager_Role } from './service/auth_guard/service_manager_role';\nimport { Assistance_Manager_Role } from './service/auth_guard/assistance_manager_role';\nimport { Operator_Role } from './service/auth_guard/operator_role';\nimport { Service_Tech_Role } from './service/auth_guard/service_tech_role';\nimport { Warranty_Role } from './service/auth_guard/warranty_role';\nimport { Else_Warranty_Role } from './service/auth_guard/else_warranty_role';\n\n//test\nimport { PrintCusTakenVoucherComp } from './customertaken/printcomp';\n\nimport {AdminJobListCP} from './adminjoblist/adminjoblist.component';\n\nimport { MessageService } from 'primeng/api';\n\nimport { from } from 'rxjs';\nimport { TechDashboardCP } from './tech-dashboard/tech_dashboard.component';\nimport { DescriptionCp } from './Description/description.component';\nimport { ConfirmPasswordEntryCP } from './changedPassword/confirmPassword-entry.component';\nimport { ChangedPasswordEntryCP } from './changedPassword/changedPassword-entry.component';\nimport { PurchaseEntryCP } from './stockin/purchase-entry.component';\n\n@NgModule({\n imports: [\n NgProgressModule,\n BrowserModule,\n FormsModule, ReactiveFormsModule,\n AppRoutes,\n HttpModule,HttpClientModule,\n BrowserAnimationsModule,\n AccordionModule,\n AutoCompleteModule,\n BreadcrumbModule,\n ButtonModule,\n CalendarModule,\n CarouselModule,\n ChartModule,\n CheckboxModule,\n ChipsModule,\n CodeHighlighterModule,\n ConfirmDialogModule,\n //SharedModule,\n ContextMenuModule,\n // DataGridModule,\n // DataListModule,\n DataViewModule,\n // DataScrollerModule,\n // DataTableModule,\n TableModule,\n DialogModule,\n DragDropModule,\n DropdownModule,\n EditorModule,\n FieldsetModule,\n FileUploadModule,\n GalleriaModule,\n GMapModule,\n //GrowlModule,\n ToastModule,\n InputMaskModule,\n InputSwitchModule,\n InputTextModule,\n InputTextareaModule,\n LightboxModule,\n ListboxModule,\n MegaMenuModule,\n MenuModule,\n MenubarModule,\n MessagesModule,\n MultiSelectModule,\n OrderListModule,\n OverlayPanelModule,\n PaginatorModule,\n PanelModule,\n PanelMenuModule,\n PasswordModule,\n PickListModule,\n ProgressBarModule,\n RadioButtonModule,\n RatingModule,\n //ScheduleModule,\n SelectButtonModule,\n SlideMenuModule,\n SliderModule,\n SpinnerModule,\n SplitButtonModule,\n StepsModule,\n TabMenuModule,\n TabViewModule,\n TerminalModule,\n TieredMenuModule,\n ToggleButtonModule,\n ToolbarModule,\n TooltipModule,\n TreeModule,\n TreeTableModule,\n BsModalModule,\n //ImageUploadModule,\n \n ],\n declarations: [\n AppComponent,\n AppMenuComponent,\n AppSubMenu,\n AppTopBar,\n AppFooter,\n InlineProfileComponent, ExternalLoginComponent,\n AccessoryCP, AccessoryDialogCP, \n\n HomeCP,\n LoginApplication,\n CustomerCP,\n CustomerDialogCP,\n LogCP,\n DashboardCP,\n JobListNewCP,\n AppNotiColorDirective,\n JobDoneCP,\n SearchJobCP,\n JobCP,\n CustomerTakenCP,\n QRCodeComponentOwn,\n JobPartCP,\n JobDonePrintViewCP,\n JobPhotoCP,\n ModelDialogCP,\n CategoryCP,\n BrandCP,\n DepartmentCP,\n ServiceCenterCP,\n ServiceTypeCP,\n StockItemCP,\n ModelCP,\n LoginUserCP,\n JobPrintViewCP,\n JobListCP,\n TechJobListCP,\n TechJobListCP2,\n DashBoardTechCP,\n DashboardViewCP,\n JobPhotoViewCP,\n DashBoardSupCP,\n DashboardSupViewCP,\n WarrantyCP,\n CreateStockTransferCP,\n StockTransferDetailCP,\n TransferListCP,\n StockInListCP,\n StockInCP,\n StockInDetailCP,\n StockLedgerCP,\n StockAdjustmentListCP,\n TakenListCP,\n TechReviewCp,\n BlankCP,\n BlankWithParamCP,\n StockBalance,\n UNAndResetCP,\n ResetPwdCP,\n DeviceIDCP,\n MessageTemplateCP,\n Over7CP,\n PrintCusTakenVoucherComp,\n AdminJobListCP,\n // BrandCP, LogCP, CategoryCP, CustomerCP, CustomerDialogCP, DepartmentCP,\n // ServiceCenterCP, ServiceTypeCP, StockItemCP,ModelCP, ModelDialogCP, LoginApplication, HomeCP, LoginUserCP, JobListCP,JobCP, JobPrintViewCP, JobPartCP, JobPhotoCP, JobDoneCP,\n // DashboardCP, DashBoardTechCP, DashboardViewCP, DashBoardSupCP, DashboardSupViewCP, TechJobListCP, StockInCP, StockInListCP, StockInDetailCP, StockLedgerCP, WarrantyCP,\n // CreateStockTransferCP, StockTransferDetailCP, TransferListCP, StockAdjustmentListCP, JobPhotoViewCP, TakenListCP, TechReviewCp, BlankCP, StockBalance, CustomerTakenCP, UNAndResetCP, ResetPwdCP, DeviceIDCP, TechJobListCP2, SearchJobCP, BlankWithParamCP,\n // QRCodeComponentOwn, JobListNewCP, AppNotiColorDirective, JobDonePrintViewCP, MessageTemplateCP, Over7CP, PrintCusTakenVoucherComp, AdminJobListCP,\n MainDashboardCP,TotalDashboardCP , TechDashboardCP , DescriptionCp, ConfirmPasswordEntryCP, ChangedPasswordEntryCP,\n PurchaseEntryCP\n ],\n providers: [\n { provide: LocationStrategy, useClass: HashLocationStrategy },\n HttpServices, AuthService, JustLogin, Admin_Role, Service_Manager_Role, Assistance_Manager_Role, Operator_Role, Service_Tech_Role, Warranty_Role, SignalRService, DataChangedEvent, Else_Warranty_Role, MessageService, DatePipe\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n constructor() {\n\n }\n}","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { trigger, state, transition, style, animate } from '@angular/animations';\nimport { FormControl, FormBuilder, FormGroup, Validators } from '@angular/forms';//Form, ReactiveFormsModule,\n\n//third libraries\nimport { BsModalComponent } from 'ng2-bs3-modal';\nimport {MessageService} from 'primeng/api';\n\n//service\nimport { GlobalFunc } from './service/globalfunction';\nimport { HttpServices } from './service/httpservices';\nimport { AuthService } from '././service/authservice';\n\n//model\nimport { LoginUser } from './loginuser/loginuser';\nimport { AppComponent } from './app.component';\n\n@Component({\n selector: 'inline-profile',\n templateUrl: './app.profile.component.html',\n animations: [\n trigger('menu', [\n state('hidden', style({\n height: '0px'\n })),\n state('visible', style({\n height: '*'\n })),\n transition('visible => hidden', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')),\n transition('hidden => visible', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\n ])\n ]\n})\nexport class InlineProfileComponent implements OnInit {\n public active: boolean;\n\n public profileEditForm: FormGroup;\n\n @ViewChild('profileEditModal', { static: false }) profileEditModal: BsModalComponent;\n\n constructor(public app: AppComponent, public auth: AuthService, public httpservice: HttpServices, public fb: FormBuilder, public messageService: MessageService) { }\n\n ngOnInit() {\n this.profileEditForm = this.fb.group({\n 'UT': new FormControl(''),\n 'Name': new FormControl(''),\n 'Pwd': new FormControl('', Validators.required),\n 'RePwd': new FormControl('', Validators.required)\n });\n }\n\n onClick(event) {\n this.active = !this.active;\n event.preventDefault();\n }\n\n showProfileEditModal() {\n this.profileEditForm.patchValue({ UT: this.auth.role, Name: this.auth.loginName, Pwd: '', RePwd: '' });\n //this.profileEditForm.patchValue({ UT: '', Name: '', Pwd: '', RePwd: '' });\n this.profileEditForm.controls['UT'].disable();//make disable inputText in HTML\n this.profileEditForm.controls['Pwd'].markAsPristine();\n this.profileEditForm.controls['RePwd'].markAsPristine();\n this.profileEditModal.open();\n }\n\n saveAuthInfo(profileEditData: LoginUser) {\n let objt = ({ 'Name': profileEditData.Name, 'Pwd': GlobalFunc.HashString(profileEditData.Pwd), 'UN': this.auth.UN });\n\n this.httpservice.postData(\"api/editlogin\", objt).subscribe(\n data => { },\n // err => this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while inserting/updating data!' }),\n err => this.messageService.add({severity:'error', summary:'Error Message', detail:'Error occurs while inserting/updating data!'}),\n () => {\n // this.msgs.push({ severity: 'info', summary: 'Info Message', detail: 'Success inserting/updating data!' });\n //this.messageService.add({ severity: 'info', summary: 'Info Message', detail: 'Success inserting/updating data!' });\n this.httpservice.showToast('i-editProfile', 'success', 'Successfully inserted/updated'); \n this.profileEditModal.close();\n this.httpservice.logout();\n }\n );\n }\n \n}","import {Routes,RouterModule} from '@angular/router';\r\nimport {ModuleWithProviders} from '@angular/core';\r\n\r\nimport { AccessoryCP } from './accessory/accessory.component';\r\nimport { DashboardCP } from './dashboard/dashboard.component';\r\nimport { BrandCP } from './brand/brand.component';\r\nimport { CategoryCP } from './category/category.component';\r\nimport { CustomerCP } from './customer/customer.component';\r\nimport { DepartmentCP } from './department/department.component';\r\nimport { ServiceCenterCP } from './servicecenter/servicecenter.component';\r\nimport { ServiceTypeCP } from './servicetype/servicetype.component';\r\nimport { StockItemCP } from './stockitem/stockitem.component';\r\nimport { LoginApplication } from './login/login';\r\nimport { HomeCP } from './home/home';\r\nimport { ModelCP } from './model/model.component';\r\nimport { LoginUserCP } from './loginuser/loginuser.component';\r\nimport { JobCP } from './job/job.component';\r\nimport { JobPrintViewCP } from './job/jobprintview.component';\r\nimport { JobListCP } from './joblist/joblist.component';\r\nimport { TechJobListCP } from './joblist/techjoblist.component';\r\nimport { TechJobListCP2 } from './joblist/techjoblist2.component';\r\nimport { JobDoneCP } from './dashboardsup/jobdone.component';\r\nimport { DashBoardTechCP } from './dashboardtech/dashboardtech.component';\r\nimport { DashBoardSupCP } from './dashboardsup/dashboardsupervisor.component';\r\nimport { WarrantyCP } from './warranty/warranty.component';\r\nimport { CreateStockTransferCP } from './stocktransfer/createstocktransfer.component';\r\nimport { StockTransferDetailCP } from './stocktransfer/stocktransferdetail.component';\r\nimport { TransferListCP} from './stocktransfer/transferlist.component';\r\nimport { StockInListCP } from './stockin/stockinlist.component';\r\nimport { StockInCP } from './stockin/stockin.component';\r\nimport { StockInDetailCP} from './stockin/stockindetail.component';\r\nimport { StockLedgerCP } from './stockledger/stockledger.component';\r\nimport { StockAdjustmentListCP} from './stockadjustment/stockadjustmentlist.component';\r\nimport { TakenListCP} from './takenlist/takenlist.component';\r\nimport { TechReviewCp } from './techreview/techreview.component';\r\nimport { BlankCP } from './blank/blank.component';\r\nimport { Admin_Role } from './service/auth_guard/admin_role';\r\nimport { Service_Manager_Role } from './service/auth_guard/service_manager_role';\r\nimport { Assistance_Manager_Role } from './service/auth_guard/assistance_manager_role';\r\nimport { Operator_Role } from './service/auth_guard/operator_role';\r\nimport { Service_Tech_Role } from './service/auth_guard/service_tech_role';\r\nimport { Warranty_Role } from './service/auth_guard/warranty_role';\r\nimport { Else_Warranty_Role } from './service/auth_guard/else_warranty_role';\r\nimport { StockBalance } from './stockbalance/stockbalance.component';\r\nimport { CustomerTakenCP } from './customertaken/customertaken.component';\r\nimport { UNAndResetCP } from './prepareresetpwd/prepareresetpwd.component';\r\nimport { ResetPwdCP } from './saveresetpwd/saveresetpwd.component';\r\nimport { DeviceIDCP } from './deviceid/deviceid.component';\r\n\r\nimport { SearchJobCP } from './searchjob/searchjob.component';\r\nimport { BlankWithParamCP } from './blank/blankwithparam.component';\r\nimport {JobListNewCP} from './joblistnew/joblistnew.component';\r\nimport { JobDonePrintViewCP } from './dashboardsup/jobdoneprintview.component';\r\nimport { MessageTemplateCP } from './messagetemplates/messagetemplate.component';\r\nimport { Over7CP } from './over7DayJobs/over7.component';\r\n\r\nimport { MainDashboardCP } from './main-dashboard/main-dashboard.component';\r\nimport { TotalDashboardCP } from './total-dashboard/total-dashboard.component';\r\n// //test\r\nimport { PrintCusTakenVoucherComp } from './customertaken/printcomp';\r\n\r\n// //admin job list\r\nimport {AdminJobListCP} from './adminjoblist/adminjoblist.component';\r\nimport { AppComponent } from \"./app.component\";\r\nimport { ExternalLoginComponent } from './external-login.cp';\r\nimport { TechDashboardCP } from './tech-dashboard/tech_dashboard.component';\r\nimport { DescriptionCp } from './Description/description.component';\r\nimport { PurchaseEntryCP } from './stockin/purchase-entry.component';\r\n\r\nexport const routes: Routes = [\r\n { path: '', component: HomeCP },\r\n { path: 'default', component: BlankCP },\r\n { path: 'default2/:jid', component: BlankWithParamCP },\r\n { path: 'login', component: LoginApplication },\r\n { path: 'chart', component: DashboardCP, canActivate: [Admin_Role] },//admin \r\n { path: 'dashboardsup', component: DashBoardSupCP, canActivate: [Operator_Role] }, //operator\r\n { path: 'dashboardtech', component: DashBoardTechCP, canActivate: [Service_Tech_Role] }, //service tech\r\n \r\n { path: 'joblist', component: JobListCP, canActivate: [Operator_Role] }, //operator\r\n { path: 'jobprintview/:jid', component: JobPrintViewCP }, //, canActivate: [Operator_Role]\r\n { path: 'techjoblist', component: TechJobListCP, canActivate: [Service_Tech_Role] }, //manager\r\n { path: 'warranty', component: WarrantyCP, canActivate: [Warranty_Role] }, //warranty\r\n { path: 'servicecenter', component: ServiceCenterCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'department', component: DepartmentCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'servicetype', component: ServiceTypeCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'accessory', component: AccessoryCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'brand', component: BrandCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'category', component: CategoryCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'model', component: ModelCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'stockitem', component: StockItemCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'customer', component: CustomerCP, canActivate: [Operator_Role] }, //operator\r\n { path: 'loginuser', component: LoginUserCP, canActivate: [Service_Manager_Role] }, //service manager \r\n { path: 'stockinlist', component: StockInListCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'transferlist', component: TransferListCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'adjustmentlist', component: StockAdjustmentListCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'stockledger', component: StockLedgerCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'jobdone', component: JobDoneCP, canActivate: [Operator_Role] }, //operator\r\n { path: 'jobdone/:jobid', component: JobDoneCP, canActivate: [Operator_Role] }, //operator\r\n { path: 'createjob', component: JobCP }, //operator\r\n { path: 'jobedit/:jid', component: JobCP, canActivate: [Operator_Role] }, //operator\r\n { path: 'jobedit/:jid/:sourcecomp', component: JobCP, canActivate: [Operator_Role] }, //operator\r\n { path: 'stockin', component: StockInCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'stockindetail/:siid', component: StockInDetailCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'stocktransfer', component: CreateStockTransferCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'stocktransferedit/:tid', component: CreateStockTransferCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'stocktransferdetail/:tid', component: StockTransferDetailCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'takenlist', component: TakenListCP, canActivate: [Operator_Role] },//operator\r\n { path: 'techreview', component: TechReviewCp, canActivate: [Operator_Role] },//operator\r\n { path: 'stockbalance', component: StockBalance, canActivate: [Else_Warranty_Role] },\r\n { path: 'customertaken', component: CustomerTakenCP, canActivate: [Operator_Role] },\r\n { path: 'customertaken/:sourcecomp', component: CustomerTakenCP, canActivate: [Operator_Role] },\r\n { path: 'prepareresetpwd', component: UNAndResetCP},\r\n { path: 'saveresetpwd/:UN/:rKey', component: ResetPwdCP },///:UN/:recoveryKey\r\n { path: 'jobsbydeviceid', component: DeviceIDCP, canActivate: [Else_Warranty_Role] }, \r\n { path: 'techjoblist2', component: TechJobListCP2, canActivate: [Service_Tech_Role] }, //manager\r\n { path: 'searchjob', component: SearchJobCP },\r\n { path: 'searchjob/:jid', component: SearchJobCP }, //operator////, canActivate: [Operator_Role]\r\n { path: 'searchjob/:searchdata/:searchtype', component: SearchJobCP },\r\n { path: 'joblistnew', component: JobListNewCP }, //operator////, canActivate: [Operator_Role]\r\n { path: 'jobdoneprintview/:jobid/:deviceid', component: JobDonePrintViewCP, canActivate: [Else_Warranty_Role] },\r\n \r\n { path: 'messagetemplate', component: MessageTemplateCP, canActivate: [Operator_Role] },\r\n { path: 'over7', component: Over7CP, canActivate: [Service_Tech_Role] },\r\n { path: 'custakenvprint/:jid', component: PrintCusTakenVoucherComp }, //, canActivate: [Operator_Role]\r\n { path: 'adminjoblist', component: AdminJobListCP, canActivate: [Admin_Role] },\r\n { path: 'external-login/:loginObj', component: ExternalLoginComponent },\r\n\r\n { path: 'main-dashboard', component: MainDashboardCP, canActivate: [Service_Manager_Role] }, \r\n { path: 'ground-dashboard', component: TotalDashboardCP, canActivate: [Service_Manager_Role] }, \r\n\r\n { path: 'tech-dashboard', component: TechDashboardCP, canActivate: [Service_Tech_Role] }, \r\n\r\n { path: 'description/:type', component: DescriptionCp, canActivate: [Assistance_Manager_Role] }, //manager\r\n\r\n { path: 'purchase-entry', component: PurchaseEntryCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n { path: 'purchase-entry/:siid', component: PurchaseEntryCP, canActivate: [Assistance_Manager_Role] }, //manager\r\n\r\n];\r\n\r\nexport const AppRoutes: ModuleWithProviders = RouterModule.forRoot(routes);\r\n","import { Component, NgZone, AfterViewInit, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\n\n// Thrid Library\n// import { NgProgressComponent } from 'ngx-progressbar';\n\n//Service\nimport { GlobalFunc } from './service/globalfunction';\nimport { SignalRService } from './service/signalrservice';\nimport { DataChangedEvent } from './service/datachangedevent';\nimport { AuthService } from './service/authservice';\nimport { HttpServices } from './service/httpservices';\nimport {NgProgressService} from \"ng2-progressbar\";\n\n//Model\nimport { AppComponent } from './app.component';\n\n@Component({\n selector: 'app-topbar',\n templateUrl: './app.topbar.html',\n})\nexport class AppTopBar implements AfterViewInit {\n public toastkey = \"app-topbar\";\n //public jobId: string='';\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\n \n constructor(private pService: NgProgressService ,public httpservice: HttpServices, public _ngZone: NgZone, public app: AppComponent, public auth: AuthService, public router: Router, public _signalR: SignalRService, public _datachanged: DataChangedEvent) {\n this.subscribeToEvents();\n //this.jobId = null;\n\n }\n\n subscribeToEvents() {\n this._signalR.connectionEstablished.subscribe(() => { });\n\n this._signalR.messageReceived.subscribe((data) => {\n this.app.notiMessages.unshift({ msg: data.ObjType + ' was ' + data.Msg + ' by ' + data.UN, tmi: new Date(data.At).toLocaleTimeString(), fname: data.Msg + '.png' });\n this.app.notiCount = this.app.notiMessages.length;\n\n if (this.httpservice.auth.role === 'Service Technician') {\n if (data.ObjType === \"Job\") {\n if (data.Msg === 'deleted') {\n if (data.Value2 && (data.Value2.JAT1 === this.httpservice.auth.UN || data.Value2.JAT2 === this.httpservice.auth.UN)) {\n this.generateNotiSound('3-tone-notification');\n }\n } else {\n if (data.Obj && (data.Obj.JAT1 === this.httpservice.auth.UN || data.Obj.JAT2 === this.httpservice.auth.UN)) {\n this.generateNotiSound('3-tone-notification');\n }\n }\n }\n else if (data.ObjType === 'Service manager job status') {\n if (data.Value1 != 'done' && data.Value2 && (data.Value2.JAT1 === this.httpservice.auth.UN || data.Value2.JAT2 === this.httpservice.auth.UN)) {\n this.generateNotiSound('3-tone-notification');\n }\n }\n else if (data.ObjType === 'Service technician status') {\n if (data.Value2 && data.Value2.JobState != 'Unable to repair' && data.Value2.JobState != 'Technician Done' && (data.Value2.JAT1 === this.httpservice.auth.UN || data.Value2.JAT2 === this.httpservice.auth.UN)) {\n this.generateNotiSound('3-tone-notification');\n }\n }\n else if (data.ObjType === 'Service technician rate') {\n if (data.Obj && (data.Obj.JAT1 === this.httpservice.auth.UN || data.Obj.JAT2 === this.httpservice.auth.UN)) {\n this.generateNotiSound('3-tone-notification');\n }\n }\n } else {\n if (data.ObjType != 'Logout') {\n this.generateNotiSound('3-tone-notification');\n }\n }\n },\n err => {\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while receiving for message of signalR');\n this.pService.done();\n },\n () => { });\n }\n\n goSearch(event) {\n if (event.keyCode === 13) {\n\n if (!this.httpservice.searchData || this.httpservice.searchData === '' || !this.httpservice.searchType) {\n return;\n }\n // this.router.navigate(['/searchjob',this.httpservice.searchData,this.httpservice.searchType]).then(obj => {\n // this._datachanged.searchjobChanged.emit({ searchdata: this.httpservice.searchData, searchtype: this.httpservice.searchType });\n // });\n\n this.router.navigate(['/searchjob',this.httpservice.searchData,this.httpservice.searchType]);\n }\n }\n\n removeNoti(nm: any) {\n this.app.notiMessages.splice(GlobalFunc.findSelectedIndex(this.app.notiMessages, nm), 1);\n this.app.notiCount = this.app.notiMessages.length;\n }\n\n generateNotiSound(sound_filename: string) {\n if(this.auth.loginName == null || this.auth.loginName == undefined || this.auth.loginName == ''){\n return;\n }\n document.getElementById(\"sound\").innerHTML = '';\n }\n\n resize(e) {\n this.httpservice.mobileWidth = window.innerWidth < 650;\n }\n\n ngAfterViewInit() {\n this.httpservice.mobileWidth = window.innerWidth < 650;\n }\n\n}\n","import { Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[AppNotiColor]'\r\n})\r\nexport class AppNotiColorDirective {\r\n @Input() appdate;\r\n // @Input() sstat='';\r\n @Input() sstat;\r\n\r\n @Input() tstat;\r\n constructor(public el: ElementRef) { }\r\n ngOnInit() {\r\n //modified\r\n if (this.tstat === 'e' || this.tstat === 'j') {\r\n this.el.nativeElement.style.color = 'blue';\r\n }\r\n else {\r\n if (this.appdate && this.sstat) {\r\n if (this.sstat === 'c' || this.sstat === 'd') this.el.nativeElement.style.color = 'black';\r\n else {\r\n if (!this.appdate) this.el.nativeElement.style.color = 'black';\r\n else {\r\n let ttmp = new Date(this.appdate);\r\n let curdate = new Date();\r\n if (curdate >= ttmp) this.el.nativeElement.style.color = 'red';\r\n else this.el.nativeElement.style.color = 'black';\r\n }\r\n }\r\n }\r\n }\r\n //modified end\r\n // if(this.appdate && this.sstat){\r\n // if(this.sstat==='c' || this.sstat==='d') this.el.nativeElement.style.color='black';\r\n // else{\r\n // if (!this.appdate) this.el.nativeElement.style.color='black';\r\n // else{\r\n // let ttmp=new Date(this.appdate);\r\n // let curdate = new Date();\r\n // if(curdate>=ttmp) this.el.nativeElement.style.color='red';\r\n // else this.el.nativeElement.style.color='black';\r\n // }\r\n // }\r\n // }\r\n }\r\n}","import { Component } from '@angular/core';\r\n@Component({\r\n selector: 'i-blank',\r\n template: `\r\n
      \r\n \r\n
      `\r\n})\r\nexport class BlankCP {\r\n constructor() {\r\n\r\n }\r\n}","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'i-default2',\r\n template:''\r\n})\r\nexport class BlankWithParamCP implements OnInit, OnDestroy {\r\n public sub: any;\r\n public jid: string='';\r\n\r\n constructor(public currentRoute: ActivatedRoute, public router: Router) {\r\n this.sub = this.currentRoute.params.subscribe(param => { this.jid = param['jid'] });\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.jid !== undefined || this.jid !== '' || this.jid !== null) {\r\n this.router.navigate(['/searchjob', this.jid]).then(rps => {this.jid = null});\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.sub !== undefined) {\r\n this.sub.unsubscribe();\r\n }\r\n } \r\n}","import { Component, OnInit, ViewChild, NgZone, Input } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { Brand } from './brand';\r\n\r\n@Component({\r\n selector: 'i-brand',\r\n templateUrl: './brand.component.html'\r\n})\r\nexport class BrandCP implements OnInit {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('actionModal', { static: false }) actionModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n @Input() isModal: boolean = false;\r\n\r\n apiName: string = \"brand\";\r\n id = 'BID';\r\n public brands: Brand[];\r\n public brand: Brand = new Brand();\r\n public isNew: boolean = false;\r\n public selectedChk: Brand[];\r\n public selectedData: Brand;\r\n public actionlogs: any[];\r\n\r\n public totalRecords: number;\r\n public toastkey = \"i-brand\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this._dataChanged.brandChanged.subscribe((sRobj) => {\r\n //update this.brands array.. \r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n //intialize data\r\n this.GetData();\r\n }\r\n\r\n GetData(): void {\r\n let bList = [];\r\n this.httpService.getData('api/brand').subscribe(\r\n data => {\r\n bList = data;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (bList) {\r\n this.brands = bList.map(a => Object.assign({}, a));\r\n this.totalRecords = this.brands.length;\r\n }\r\n this.pService.done();\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData) {\r\n if (objData && objData.Obj) {\r\n let ind = this.brands.findIndex(temp => temp[this.id] === objData.Obj[this.id]);\r\n if (objData.Msg === 'deleted') {\r\n this.refresh();\r\n }\r\n else {\r\n\r\n if (ind >= 0) this.brands[ind] = objData.Obj;\r\n else this.brands.unshift(objData.Obj);\r\n }\r\n }\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetData();\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true;\r\n this.brand = new Brand();\r\n this.entryModal.open();\r\n\r\n this.vc.nativeElement.focus();\r\n }\r\n showDialogToEdit(brand: Brand): void {\r\n this.isNew = false;\r\n this.selectedData = brand;\r\n this.brand = new Brand();\r\n this.brand = GlobalFunc.CloneData(brand, Brand);\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n showLogDialog(): void {\r\n let temp = [];\r\n let _url = 'api/actionlog/' + this.selectedData.BID + '/' + 'Brand';\r\n this.httpService.getData(_url).subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) {\r\n this.actionlogs = (temp);\r\n this.actionModal.open();\r\n }\r\n else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!');\r\n }\r\n });\r\n }\r\n\r\n entryModalClose() {\r\n this.entryModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n save(pdt, gb): void {\r\n if (this.brand.BN == null) return;\r\n if (this.brand != undefined) {\r\n this.httpService.postData('api/brand', this.brand).\r\n subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.resetDatable(pdt, gb);\r\n this.GetData();\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.entryModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n });\r\n }\r\n }\r\n\r\n deleteData() {\r\n this.httpService.postData('api/brand/multidelete', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n resetDatable(pdt, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/brand/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/brand.csv';\r\n this.httpService.DirectLocToWindow(\"brand\");\r\n }\r\n );\r\n }\r\n}","export class Brand {\r\n constructor(public BID?, public BN?) { }\r\n}","import { Component, OnInit, ViewChild, NgZone, Input, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { Category } from './category';\r\nimport { Brand } from '../brand/brand';\r\nimport { AuthService } from '../service/authservice';\r\nimport { Department } from '../department/department';\r\n\r\n@Component({\r\n selector: 'i-category',\r\n templateUrl: './category.component.html'\r\n})\r\n\r\nexport class CategoryCP implements OnInit, OnDestroy {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('actionModal', { static: false }) actionModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('otherModal', { static: false }) otherModal: BsModalComponent;\r\n @ViewChild('deptModal', { static: false }) deptModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n @Input() isModal: boolean = false;\r\n\r\n apiName: string = \"category\";\r\n //id = 'CatID';\r\n public catForm: FormGroup;\r\n public isNew: boolean;\r\n public categories: Category[] = [];\r\n public selectedData: Category;\r\n public selectedChk: Category[] = [];\r\n public actionlogs: any[] = [];\r\n public brands: Brand[] = [];\r\n public brandlist: SelectItem[] = [];\r\n public depts: Department[] = [];\r\n public deptlist: SelectItem[] = [];\r\n selectedBId: any;\r\n\r\n public totalRecords: number;\r\n public toastkey = \"i-category\";\r\n\r\n catChanged: any;\r\n depChanged: any;\r\n brandChanged: any;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone, public auth: AuthService) {\r\n this.pService.start();\r\n\r\n this.catChanged = this._dataChanged.categoryChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj, this.categories, 'CatID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.depChanged = this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"department\") {\r\n this.afterBroadCastEvent(sRobj, this.depts, 'DID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.brandChanged = this._dataChanged.brandChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"brand\") {\r\n this.afterBroadCastEvent(sRobj, this.brands, 'BID');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.CreateForm();\r\n this.GetRequiredData();\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let depList: any = [];\r\n let catList: any = [];\r\n let bList: any = [];\r\n this.httpService.getDataFJ(['api/department', 'api/category', 'api/brand']).subscribe(\r\n data => {\r\n depList = data[0];\r\n catList = data[1];\r\n bList = data[2];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (depList) {\r\n this.depts = depList.map(d => Object.assign({}, d));\r\n this.setDepartmentData(this.depts);\r\n }\r\n\r\n if (catList) {\r\n this.categories = catList.map(a => Object.assign({}, a));\r\n this.totalRecords = this.categories.length;\r\n }\r\n\r\n if (bList) {\r\n this.brands = bList.map(b => Object.assign({}, b));\r\n this.setBrandData(this.brands);\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n\r\n this.httpService.getData('api/department').subscribe(\r\n data => { this.depts = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setDepartmentData(this.depts); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"brand\") {\r\n\r\n this.httpService.getData('api/brand').subscribe(\r\n data => { this.brands = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setBrandData(this.brands); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n\r\n this.httpService.getData('api/category').subscribe(\r\n data => { this.categories = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done(); \r\n },\r\n () => { this.totalRecords = dataList.length; this.pService.done(); \r\n }\r\n );\r\n\r\n }\r\n }\r\n else {\r\n if (objData.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n if (this.selectedBId && this.selectedBId !== objData.Obj.BID) { //need to update data by selected brandid\r\n return;\r\n }\r\n }\r\n\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n this.setDepartmentData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"brand\") {\r\n this.setBrandData(dataList);\r\n }\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n setDepartmentData(dataList: Department[]) {\r\n this.deptlist = [];\r\n this.deptlist.push({ label: 'Select Department', value: null });\r\n if (dataList) {\r\n dataList.map(x => { this.deptlist.push({ label: x.DN, value: x.DID }); });\r\n }\r\n }\r\n\r\n setBrandData(dataList: Brand[]) {\r\n this.brandlist = [];\r\n this.brandlist.push({ label: '- All -', value: null });\r\n if (dataList) {\r\n dataList.map(x => { this.brandlist.push({ label: x.BN, value: x.BID }); });\r\n }\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetRequiredData();\r\n }\r\n\r\n CreateForm(): void {\r\n this.catForm = this.fb.group({\r\n 'CatID': new FormControl(0),\r\n 'CatN': new FormControl('', Validators.compose([Validators.required, Validators.maxLength(50)])),\r\n 'BID': new FormControl(0),\r\n 'BN': new FormControl(''),\r\n 'DID': new FormControl(0),\r\n 'DN': new FormControl('')\r\n });\r\n }\r\n\r\n findBrand(para) {\r\n if (para != 0) {\r\n for (var i = 0; i < this.brands.length; i++) {\r\n if (this.brands[i].BID === para) {\r\n this.catForm.controls['BN'].patchValue(this.brands[i].BN);\r\n break;\r\n }\r\n }\r\n } else { this.catForm.controls['BN'].patchValue('') }\r\n }\r\n\r\n findDept(para) {\r\n if (para != 0) {\r\n for (var i = 0; i < this.deptlist.length; i++) {\r\n if (this.depts[i].DID === para) {\r\n this.catForm.controls['DN'].patchValue(this.depts[i].DN);\r\n break;\r\n }\r\n }\r\n } else { this.catForm.controls['DN'].patchValue('') }\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true;\r\n this.CreateForm();\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToEdit(category: Category): void {\r\n this.isNew = false;\r\n this.CreateForm();\r\n this.selectedData = category;\r\n this.catForm.patchValue({ CatID: category.CatID, CatN: category.CatN, BID: category.BID, BN: category.BN, DID: category.DID, DN: category.DN });\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else { this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!') }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedData != undefined) {\r\n let temp = [];\r\n this.httpService.getData('api/actionlog/' + this.selectedData.CatID + '/' + 'Category').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) {\r\n this.actionlogs = temp;\r\n this.actionModal.open();\r\n }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!') }\r\n });\r\n }\r\n }\r\n\r\n findByIndexCategory(data, selected): number {\r\n for (var _index in data) {\r\n if (this.categories[_index].CatID === this.selectedData.CatID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n }\r\n\r\n save(pdt, gb): void {\r\n if (this.catForm != undefined) {\r\n this.findBrand(this.catForm.controls['BID'].value);\r\n this.findDept(this.catForm.controls['DID'].value);\r\n\r\n this.httpService.postData('api/category', this.catForm.value).\r\n subscribe(\r\n ddd => {\r\n if (this.isNew) {\r\n this.catForm.controls['CatID'].patchValue(ddd);\r\n //this.categories.unshift(this.catForm.value);\r\n }\r\n else {\r\n let _index: number = this.findByIndexCategory(this.categories, this.selectedData);\r\n this.categories[_index] = this.catForm.value;\r\n }\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.resetDatable(pdt, gb);\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.entryModalClose();\r\n });\r\n }\r\n }\r\n\r\n deleteData() {\r\n this.httpService.postData('api/category/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n resetDatable(pdt, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n BrandsChanged(event): void {\r\n if (!event) return;\r\n this.selectedBId = event.value;\r\n this.getCategorybyConditionChange(this.selectedBId);\r\n }\r\n\r\n getCategorybyConditionChange(bid) {\r\n if (bid === null) {\r\n this.pService.start();\r\n this.httpService.getData('api/category').subscribe(\r\n data => { this.categories = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => {\r\n this.totalRecords = this.categories.length;\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n else {\r\n this.getCategoriesByBId(bid);\r\n }\r\n }\r\n\r\n getCategoriesByBId(bid): void {\r\n this.httpService.getData('api/category/getbybid/' + bid).subscribe(\r\n expdata => { this.categories = expdata; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!');\r\n this.pService.done();\r\n },\r\n () => { }\r\n );\r\n }\r\n\r\n otherModalDismiss() {\r\n //this.GetBrand();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n otherModalClose() {\r\n this.otherModal.close();\r\n //this.GetBrand();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n deptModalClose() {\r\n this.deptModal.close();\r\n //this.GetDept();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n entryModalClose() {\r\n this.entryModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/category/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n // window.location.href = this.httpService._url + 'excel/category.csv';\r\n this.httpService.DirectLocToWindow(\"category\");\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.catForm = this.categories = this.selectedData = this.selectedChk = this.actionlogs = this.brands = this.brandlist = this.depts = this.deptlist = undefined;\r\n\r\n if (this.catChanged != undefined) this.catChanged.unsubscribe();\r\n if (this.depChanged != undefined) this.depChanged.unsubscribe();\r\n if (this.brandChanged != undefined) this.brandChanged.unsubscribe();\r\n }\r\n}","import { Component, OnInit, ViewChild, NgZone, Output, Input, EventEmitter } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { AuthService } from '../service/authservice';\r\nimport { LoginUser } from '../loginuser/loginuser';\r\n\r\n@Component({\r\n selector: 'i-changedPassword',\r\n templateUrl: './changedPassword-entry.html'\r\n})\r\nexport class ChangedPasswordEntryCP implements OnInit {\r\n @Output() frmClick: EventEmitter = new EventEmitter();\r\n @Input() isModal: boolean = false;\r\n @Input() data: LoginUser;\r\n @ViewChild('input', { static: false }) vc;\r\n btnProcess:boolean = false;\r\n\r\n tempPwd: string | any = '';\r\n errorPwdString ='';\r\n \r\n showPass: boolean = false;\r\n\r\n //border color\r\n //validCurrPass = true;\r\n //vaildASCII: boolean = true;\r\n msgErr: string ='';\r\n \r\n public toastkey = \"i-changedPassword\";\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone, public auth: AuthService) {\r\n //this.pService.start();\r\n this._dataChanged.customerChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"\") {\r\n \r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void { \r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.vc.nativeElement.focus();\r\n }, 500);\r\n }\r\n\r\n refresh() {\r\n this.tempPwd = '';\r\n this.msgErr = undefined;\r\n this.pService.done();\r\n }\r\n\r\n valChangeloginPwd(e: string) {\r\n this.tempPwd = e;\r\n this.checkWarning();\r\n }\r\n\r\n checkWarning():Promise {\r\n return new Promise((resolve)=>{\r\n this.errorPwdString = '';\r\n if (this.httpService.checkStringEmpty(this.tempPwd)) {\r\n this.errorPwdString = 'Please fill new password.';\r\n }\r\n \r\n if (this.httpService.checkMaxLength(this.tempPwd, 50)) {\r\n this.errorPwdString = 'Cannot exceed more than 50 characters.';\r\n }\r\n \r\n if(!this.httpService.validASCII(this.tempPwd)){\r\n this.errorPwdString =\"Unicode characters are not alllowed in password.\";\r\n }\r\n resolve(true);\r\n }) \r\n }\r\n\r\n isNotValid(): boolean {\r\n return !this.httpService.checkStringEmpty(this.errorPwdString);\r\n }\r\n\r\n showPassword() {\r\n this.showPass = !this.showPass;\r\n }\r\n\r\n cancel() {\r\n if (this.isModal) {\r\n this.frmClick.emit(undefined);\r\n }\r\n }\r\n\r\n gotoConfirm(event: any){\r\n if (event.keyCode === 13) {\r\n this.save();\r\n }\r\n }\r\n\r\n save() {\r\n if(this.btnProcess) return;\r\n this.checkWarning().then(()=>{\r\n if(!this.httpService.checkStringEmpty(this.errorPwdString)){\r\n return;\r\n }else{\r\n this.btnProcess = true;\r\n this.pService.start();\r\n let obj = Object.assign({}, this.data); \r\n obj.Pwd = GlobalFunc.HashString(this.tempPwd);\r\n let param = {\r\n \"UN\" : obj.UN, \r\n \"Pwd\" : obj.Pwd \r\n }\r\n this.httpService.postData('api/saveResetPwd', param).subscribe(\r\n exp => {\r\n this.btnProcess = false;\r\n \r\n },\r\n err => {\r\n this.btnProcess= false;\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n //this.resetDatable(pdt, gb);\r\n //this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated'); \r\n this.pService.done();\r\n if (this.isModal) {\r\n this.frmClick.emit(obj);\r\n }\r\n }\r\n );\r\n }\r\n }) \r\n \r\n }\r\n}","import { Component, OnInit, ViewChild, NgZone, Output, Input, EventEmitter } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { AuthService } from '../service/authservice';\r\nimport { LoginUser } from '../loginuser/loginuser';\r\n\r\n@Component({\r\n selector: 'i-confirmPassword',\r\n templateUrl: './confirmPassword-entry.html'\r\n})\r\n\r\nexport class ConfirmPasswordEntryCP implements OnInit { \r\n @Output() frmClick: EventEmitter = new EventEmitter();\r\n @Input() isModal: boolean = false;\r\n @Input() appUser: LoginUser;\r\n @ViewChild('input', { static: false }) vc;\r\n\r\n curPassword: string | any = '';\r\n vaildASCII: boolean = true;\r\n showPass: boolean = false;\r\n\r\n //border color\r\n validCurrPass = true;\r\n msgErr: string ='';\r\n \r\n public toastkey = \"i-confirmPassword\";\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone, public auth: AuthService) {\r\n this.pService.start();\r\n this._dataChanged.customerChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"\") {\r\n \r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void { \r\n this.getLoginData(); \r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.vc.nativeElement.focus();\r\n }, 500);\r\n }\r\n\r\n getLoginData(): void{\r\n this.httpService.getData(\"api/loginuser/\" + this.auth.UN).subscribe(\r\n data => {\r\n this.appUser = data;\r\n\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => { \r\n this.pService.done();\r\n }\r\n ); \r\n }\r\n\r\n showPassword() {\r\n this.showPass = !this.showPass;\r\n }\r\n \r\n gotoConfirm(event: any){\r\n if (event.keyCode === 13) {\r\n this.confirm();\r\n }\r\n }\r\n\r\n confirm() {\r\n if (GlobalFunc.HashString(this.curPassword) === this.appUser.Pwd) { \r\n if (this.isModal) {\r\n this.frmClick.emit(true);\r\n this.curPassword = this.msgErr = undefined;\r\n }\r\n } else {\r\n this.msgErr = 'Sorry, your password is not correct!';\r\n }\r\n }\r\n\r\n refresh() {\r\n this.curPassword = '';\r\n this.msgErr = undefined;\r\n this.pService.done();\r\n }\r\n\r\n cancel() {\r\n if (this.isModal) {\r\n this.frmClick.emit(false);\r\n }\r\n }\r\n\r\n changedCurPwd(e: string) {\r\n this.curPassword = e;\r\n this.checkWarning();\r\n }\r\n\r\n checkWarning() {\r\n ///////////// change border red color////////////////////////////\r\n this.msgErr = undefined;\r\n this.validCurrPass = !this.httpService.checkStringEmpty(this.curPassword);\r\n //this.vaildASCII = this.httpService.validASCII(this.curPassword); \r\n }\r\n\r\n isNotValid(): boolean {\r\n return this.httpService.checkStringEmpty(this.curPassword);\r\n }\r\n}","import { Component, OnInit, ViewChild, NgZone } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { LazyLoadEvent } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { Customer } from './customer';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n@Component({\r\n selector: 'i-customer',\r\n templateUrl: './customer.component.html'\r\n})\r\n\r\nexport class CustomerCP implements OnInit {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n\r\n apiName: string = \"customer\";\r\n id = 'CID';\r\n public userForm: FormGroup;\r\n public emaliValid: boolean = true;\r\n public isValid: boolean = false;\r\n public isCusModalOpen: boolean = false;\r\n public customers: Customer[];\r\n public selectedCustomer: Customer;\r\n public selectedChk: Customer[];\r\n public isNew: boolean;\r\n public actionlogs: any[];\r\n public filteredCities: any[];\r\n\r\n public totalRecords: number;\r\n public toastkey = \"i-customer\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone, public auth: AuthService) {\r\n this.pService.start();\r\n this._dataChanged.customerChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n //Creating Form\r\n this.CreateForm();\r\n //intialize data \r\n this.GetData();\r\n }\r\n\r\n GetData(): void {\r\n let cusList = [];\r\n this.httpService.getData('api/customer').subscribe(\r\n data => {\r\n cusList = data;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (cusList) {\r\n this.customers = cusList.map(c => Object.assign({}, c));\r\n this.totalRecords = this.customers.length;\r\n }\r\n this.pService.done();\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData) {\r\n if (objData && objData.Obj) {\r\n let ind = this.customers.findIndex(temp => temp[this.id] === objData.Obj[this.id]);\r\n if (objData.Msg === 'deleted') {\r\n this.RefreshData();\r\n }\r\n else {\r\n if (ind >= 0) this.customers[ind] = objData.Obj;\r\n else this.customers.unshift(objData.Obj);\r\n }\r\n }\r\n }\r\n\r\n RefreshData() {\r\n this.pService.start();\r\n this.GetData();\r\n }\r\n\r\n getCities(): any[] {\r\n let temp: any = [];\r\n this.customers.forEach(({ City: c }) => { temp.push(c); });\r\n //Remove duplicate object with set\r\n return Array.from(new Set(temp)).sort();\r\n }\r\n\r\n search(event): void {\r\n let query = event.query;\r\n this.filteredCities = GlobalFunc.filterData(query, this.getCities());\r\n }\r\n\r\n CreateForm(): void {\r\n this.userForm = this.fb.group({\r\n 'CID': new FormControl(0),\r\n 'CN': new FormControl('', Validators.compose([Validators.required, Validators.maxLength(50)])),\r\n 'Ph': new FormControl('', Validators.compose([Validators.required, Validators.maxLength(50)])),\r\n 'Em': new FormControl(''),\r\n 'Addr': new FormControl(''),\r\n 'City': new FormControl('', Validators.compose([Validators.maxLength(50)])),\r\n //'DID': new FormControl(this.auth.DID, Validators.required),\r\n 'nSMS': new FormControl(false),\r\n 'nEm': new FormControl(false),\r\n 'nPh': new FormControl(false)\r\n });\r\n //Form Change\r\n this.userForm.valueChanges.subscribe(data => this.isValid = !this.checkFormValid());\r\n }\r\n\r\n checkFormValid(): boolean {\r\n let isValid: boolean = false;\r\n if (this.userForm.controls['CN'].value == \"\")\r\n isValid = true;\r\n else if (this.userForm.controls['CN'].value.length >= 50)\r\n isValid = true;\r\n if (this.userForm.controls['Ph'].value == \"\")\r\n isValid = true;\r\n else if (this.userForm.controls['Ph'].value && this.userForm.controls['Ph'].value.length >= 50)\r\n isValid = true;\r\n if (this.userForm.controls['Em'].value && this.userForm.controls['Em'].value.length != 0) {\r\n if (!this.userForm.controls['Em'].value.match(/[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?/)) {\r\n this.emaliValid = false; isValid = true;\r\n }\r\n else { this.emaliValid = true }\r\n }\r\n else { this.emaliValid = true }\r\n\r\n if (this.userForm.controls['City'].value.length >= 50)\r\n isValid = true;\r\n return isValid;\r\n }\r\n\r\n AddNewCustomer() {\r\n this.isCusModalOpen = true;\r\n this.selectedCustomer = new Customer();\r\n this.entryModal.open();\r\n }\r\n\r\n EditCustomer(customer: Customer) {\r\n this.isCusModalOpen = true;\r\n this.selectedCustomer = customer;\r\n this.entryModal.open();\r\n }\r\n\r\n onCloseCustomerModal(customer: Customer, pdt: any, gb) {\r\n this.isCusModalOpen = false;\r\n this.selectedCustomer = null;\r\n\r\n if (customer) {\r\n this.resetDatable(pdt, gb);\r\n //this.GetData();\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n }\r\n\r\n this.entryModal.close();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n deleteData(): void {\r\n this.httpService.postData('api/customer/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n //this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n resetDatable(pdt, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n getDeptName(did) {\r\n if (did === null) return '';\r\n let ind = this.httpService.deptllist.findIndex(expv => expv.value === did);\r\n\r\n if (ind >= 0) {\r\n return this.httpService.deptllist[ind].label;\r\n }\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/customer/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n // window.location.href = this.httpService._url + 'excel/customer.csv';\r\n this.httpService.DirectLocToWindow(\"customer\");\r\n }\r\n );\r\n }\r\n\r\n\r\n}","export class Customer {\r\n constructor(\r\n public CID?,\r\n public CN?,\r\n public PhT?,\r\n public Ph?,\r\n public Em?,\r\n public Addr?,\r\n public City?,\r\n public nSMS?,\r\n public nEm?,\r\n public nPh?) { }\r\n}","import { Component, OnInit, ViewChild, NgZone, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n//Model\r\nimport { Customer } from './customer';\r\nimport { SelectItem } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'i-customerdialog',\r\n templateUrl: './customerdialog.component.html'\r\n})\r\n\r\nexport class CustomerDialogCP implements OnInit, AfterViewInit {\r\n @Input() customer: Customer = new Customer();\r\n @Output() onClick = new EventEmitter();\r\n @ViewChild('cn',{ static: false }) cn;\r\n @ViewChild('actionModal',{ static: false }) actionModal: BsModalComponent;\r\n\r\n public isValid: boolean = false;\r\n public emailValid: boolean = true;\r\n public isNew: boolean;\r\n public customers: Customer[];\r\n public filteredCities: any[];\r\n public actionlogs: any[];\r\n public customerID: string;\r\n public toastkey = \"i-customerdialog\"; \r\n isDuplicatePhone: boolean;\r\n townshipList: SelectItem[] = [\r\n { label: 'Select Township', value: null },\r\n { label: 'ဇမ္ဗူသီရိမြို့နယ်', value: 'ဇမ္ဗူသီရိမြို့နယ်' },\r\n { label: 'ဇေယျာသီရိမြို့နယ်', value: 'ဇေယျာသီရိမြို့နယ်' },\r\n { label: 'တပ်ကုန်းမြို့နယ်', value: 'တပ်ကုန်းမြို့နယ်' },\r\n { label: 'ဒက္ခိဏသီရိမြို့နယ်', value: 'ဒက္ခိဏသီရိမြို့နယ်' },\r\n { label: 'ပုဗ္ဗသီရိမြို့နယ်', value: 'ပုဗ္ဗသီရိမြို့နယ်' },\r\n { label: 'ပျဉ်းမနားမြို့နယ်', value: 'ပျဉ်းမနားမြို့နယ်' },\r\n { label: 'လယ်ဝေးမြို့နယ်', value: 'လယ်ဝေးမြို့နယ်' },\r\n { label: 'သာဝတ္ထိမြို့', value: 'သာဝတ္ထိမြို့' },\r\n { label: 'အေလာမြို့', value: 'အေလာမြို့' },\r\n { label: 'ဥတ္တရသီရိမြို့နယ်', value: 'ဥတ္တရသီရိမြို့နယ်' },\r\n ];\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _ngZone: NgZone, public auth: AuthService) { \r\n //this.pService.start();\r\n }\r\n\r\n ngOnInit() { \r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.cn != null || this.cn != undefined) this.cn.nativeElement.focus();\r\n }\r\n\r\n newObj(): Customer {\r\n return new Customer(null, null, null, null, null, null, false, false, false);\r\n }\r\n \r\n showLogDialog(): void {\r\n if (this.customer != undefined) {\r\n let temp = [];\r\n this.httpService.getData('api/actionlog/' + this.customer.CID + '/' + 'Customer').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) { this.actionlogs = temp; this.actionModal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!'); }\r\n });\r\n }\r\n }\r\n\r\n onclick(isSaving: boolean): void {\r\n if (isSaving) {\r\n if (!this.customer) return;\r\n this.httpService.postData('api/customer', this.customer).subscribe(\r\n data => { this.customer.CID = data; },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!'),\r\n () => { this.onClick.emit(this.customer); });\r\n\r\n }\r\n else { this.onClick.emit() }\r\n }\r\n\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n //this.httpService.AddClassToModal(true);\r\n }\r\n\r\n onChangedPhone(e: string) {\r\n this.customer.Ph = e.trim();\r\n this.httpService.postData(\"api/customer/checkphdup\", { Ph: this.customer.Ph }).subscribe(\r\n data => this.isDuplicatePhone = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n },\r\n () => {\r\n }\r\n );\r\n }\r\n\r\n IsNotValid(): boolean {\r\n return !this.customer.CN ||\r\n !this.customer.Ph ||\r\n this.customer.Ph.length > 50 ||\r\n !this.customer.Ph.match(/^[0-9]*$/) ||\r\n (this.customer.Em && !this.customer.Em.match(/[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,}$/)) ||\r\n (this.customer.Em && this.customer.Em.length > 50) ||\r\n (this.customer.City && this.customer.City.length > 50) ||\r\n this.isDuplicatePhone\r\n }\r\n\r\n}","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, OnDestroy } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { Location } from '@angular/common';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\nimport { Observable } from 'rxjs/Rx';\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { JobVoucherPrint } from './jobvoucherprint';\r\n\r\n@Component({\r\n selector: 'i-customertaken',\r\n templateUrl: './customertaken.component.html'\r\n})\r\n\r\nexport class CustomerTakenCP implements OnInit, OnDestroy {\r\n @Input() job;\r\n @Output() onClick = new EventEmitter();\r\n @Input() JVPs;\r\n @Input() technicianName;\r\n\r\n public jobVP: JobVoucherPrint;\r\n public BAmo: number = 0;\r\n public printMode: boolean = false;\r\n public techName: string = '';\r\n public sub: any;\r\n public source_comp: string = '';\r\n public isSaveAndNotiClick: boolean = false;\r\n\r\n public customer: any = null;\r\n public takenDate: Date;\r\n\r\n public printObj: any;\r\n public toastkey = \"i-customertaken\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public currentRoute: ActivatedRoute, public router: Router, public location: Location) {\r\n this.jobVP = new JobVoucherPrint(null, null, null, 0);\r\n this.isSaveAndNotiClick = false;\r\n this.BAmo = 0;\r\n this.takenDate = new Date();\r\n\r\n this.printObj = { JID: null, JIDR: null, JOB: '', TAmo: 0, DAmo: 0, Crec: 0, Chg: 0, CN: '', Ph: '', Addr: '', jobVoucherData: null, MCB: '', MoID: null }\r\n }\r\n\r\n ngOnInit() {\r\n this.isSaveAndNotiClick = false;\r\n if (this.job !== undefined || this.job !== null) {\r\n this.calculateAmount();\r\n }\r\n }\r\n\r\n ngOnDestroy() { }\r\n\r\n calculateAmount(): void {\r\n if (this.job != undefined || this.job != null) {\r\n this.BAmo = this.job.TAmo - this.job.DAmo;\r\n this.job.Chg = this.BAmo - this.job.Crec;\r\n }\r\n }\r\n\r\n onclick(isSaving: boolean) {\r\n this.isSaveAndNotiClick = true;\r\n if (isSaving) {\r\n if (!this.printMode) {\r\n this.printMode = true;\r\n }\r\n\r\n //Update Data\r\n this.job.SStat = 'd';\r\n this.job.Taken = true;\r\n //this.job.TDT=Date.now();\r\n\r\n this.pService.start();\r\n this.httpService.postData('api/job/customertaken', this.job).subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n if (this.job.FOC) this.onClick.emit();\r\n else {\r\n //window.print();\r\n this.router.navigate(['/custakenvprint', this.job.JID]);\r\n //this.onClick.emit();\r\n }\r\n });\r\n }\r\n else {\r\n this.onClick.emit();\r\n //this.location.back();\r\n }\r\n }\r\n\r\n addJobVPData(): void {\r\n this.jobVP.JID = this.job.JID;\r\n this.jobVP.LID = 0;\r\n if (this.jobVP.Des == null) this.jobVP.Des = '';\r\n\r\n let tmp: JobVoucherPrint;\r\n this.httpService.postData('api/addJobVoucherPrint', this.jobVP).subscribe(\r\n data => tmp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while adding job_voucher_print data !');\r\n this.pService.done();\r\n },\r\n () => {\r\n // var idx = this.JVPs.indexOf(x => { x.JID == tmp.JID && x.LID == tmp.LID });\r\n // if (idx < 0) this.JVPs.push(tmp);\r\n // else this.JVPs.splice(idx, 1, tmp);\r\n this.JVPs.push(tmp);\r\n });\r\n }\r\n\r\n deleteDes(jobvp): void {\r\n let tmp: JobVoucherPrint;\r\n this.httpService.postData('api/jobVoucherPrintdelete', jobvp).subscribe(\r\n data => tmp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while deleting job_voucher_print data !');\r\n this.pService.done();\r\n },\r\n () => {\r\n var idx = this.JVPs.findIndex(x => x.LID == tmp.LID);\r\n this.JVPs.splice(idx, 1);\r\n });\r\n }\r\n\r\n CheckChangeFOC() {\r\n if (this.job.FOC) {\r\n this.job.Crec = 0;\r\n this.calculateAmount();\r\n }\r\n }\r\n\r\n getPrintPreViewData() {\r\n this.httpService.getData('api/getjobvoucherdata/' + this.job.JID).subscribe(\r\n data => { this.printObj = data; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n let tmp = Observable.timer(50, 1).subscribe(rps => {\r\n tmp.unsubscribe();\r\n this.printMode = true;\r\n });\r\n }\r\n );\r\n }\r\n\r\n printModeChange() {\r\n this.getPrintPreViewData();\r\n }\r\n}","export class JobVoucherPrint {\r\n constructor(public JID?, public LID?, public Des?, public Amo?) { }\r\n}","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n// Thrid Library\r\nimport { Observable } from 'rxjs';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n@Component({\r\n selector: 'i-custTakenPrint',\r\n templateUrl: './printcomp.html'\r\n})\r\nexport class PrintCusTakenVoucherComp implements OnInit, OnDestroy {\r\n sub: any;\r\n jobId: any;\r\n printObj: any;\r\n takenDate: Date;\r\n BAmo: number;\r\n public toastkey = \"i-custTakenPrint\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public router: Router, public aroute: ActivatedRoute, public httpservice: HttpServices, public location: Location) {\r\n this.jobId = '';\r\n this.takenDate = new Date();\r\n this.BAmo = 0;\r\n\r\n this.sub = this.aroute.params.subscribe(param => {\r\n this.jobId = param['jid'];\r\n });\r\n\r\n this.printObj = { JID: null, JIDR: null, JOB: '', TAmo: 0, DAmo: 0, Crec: 0, Chg: 0, CN: '', Ph: '', Addr: '', jobVoucherData: null, MCB: '', MoID: null }\r\n }\r\n\r\n ngOnInit() {\r\n this.httpservice.getData('api/getjobvoucherdata/' + this.jobId).subscribe(\r\n data => { this.printObj = data; },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while getting data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n let tmp = Observable.timer(50, 1).subscribe(rps => {\r\n tmp.unsubscribe();\r\n window.print();\r\n });\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this.sub = undefined;\r\n this.printObj = undefined;\r\n this.jobId = undefined;\r\n this.BAmo = undefined;\r\n }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n}","import { Component, OnInit, OnDestroy, ViewChild, NgZone } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { NgProgressService } from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { DashQuery } from './dashquery';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { JobListNewQuery } from '../joblistnew/joblistnewquery';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\nimport { ServiceType } from '../servicetype/servicetype';\r\nimport { Department } from '../department/department';\r\n\r\n@Component({\r\n selector: 'i-dashboard',\r\n templateUrl: './dashboard.component.html'\r\n})\r\n\r\nexport class DashboardCP implements OnInit, OnDestroy {\r\n @ViewChild('barChart', { static: false }) barChart;\r\n @ViewChild('pieChart', { static: false }) pieChart;\r\n @ViewChild('jobDetailListModal', { static: false }) jobDetailListModal: BsModalComponent;\r\n\r\n public periods: SelectItem[] = [{ value: 'a', label: 'Today' },\r\n { value: 'b', label: 'This week' },\r\n { value: 'c', label: 'This Month' },\r\n { value: 'd', label: 'Within 2 Months' },\r\n { value: 'e', label: 'Within 3 Months' },\r\n { value: 'f', label: 'Custom Date' }];\r\n\r\n types: SelectItem[] = [{ value: 'st', label: 'Service Type' }, { value: 'sc', label: 'Service Center' }]\r\n\r\n oServiceCenterList: ServiceCenter[] = [];\r\n serviceCenterList: SelectItem[] = [];\r\n\r\n public oServiceTypeList: ServiceType[] = [];\r\n public serviceTypeList: SelectItem[] = [];\r\n\r\n oDepartmentList: Department[] = [];\r\n departmentList: SelectItem[] = [];\r\n\r\n selectLists: SelectItem[] = [];\r\n dataList: any[] = [];\r\n public filterDataList: any[] = [];\r\n\r\n dquery: DashQuery;\r\n joblistnewqry: JobListNewQuery;\r\n title: string = '';\r\n public search: string = '';\r\n isJobDetailList: boolean = false;\r\n\r\n barData: any;\r\n pieData: any;\r\n srObjT: any;\r\n srObjSM: any;\r\n startPBar: any;\r\n donePBar: any;\r\n\r\n srObjJ: any;\r\n scChanged: any;\r\n stChanged: any;\r\n depChanged: any;\r\n toastkey = \"i-dashboard\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService, public httpservice: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.dquery = new DashQuery();\r\n this.dquery.PType = 'st';\r\n this.dquery.Period = 'a';\r\n this.dquery.Selected = null;\r\n this.dquery.SCID = null;\r\n this.dquery.STID = null;\r\n this.dquery.DID = null;\r\n this.dquery.SearchText = '';\r\n this.DefaultDateTime();\r\n\r\n\r\n this.joblistnewqry = new JobListNewQuery(null, null, null, null, 'a', this.dquery.FromDate, this.dquery.ToDate);\r\n\r\n //barchart data set\r\n this.barData = {\r\n labels: [],\r\n datasets: [\r\n {\r\n label: '',\r\n backgroundColor: '#42A5F5',\r\n borderColor: '#1E88E5',\r\n data: []\r\n },\r\n {\r\n label: '',\r\n backgroundColor: '#9CCC65',\r\n borderColor: '#7CB342',\r\n data: []\r\n }]\r\n }\r\n\r\n //pie data set\r\n this.pieData = {\r\n labels: [],\r\n datasets: [\r\n {\r\n data: [],\r\n backgroundColor: [\r\n \"#FF6384\",\r\n \"#36A2EB\",\r\n \"#FFCE56\"\r\n ],\r\n hoverBackgroundColor: [\r\n \"#FF6384\",\r\n \"#36A2EB\",\r\n \"#FFCE56\"\r\n ]\r\n }]\r\n };\r\n\r\n // this.srObjT = this._dataChanged.jobTStatusChanged.subscribe((sRobj) => { \r\n // this._ngZone.run(() => { \r\n // this.getDataList(); \r\n // this.refreshChart(); \r\n // });\r\n // });\r\n\r\n // this.srObjSM = this._dataChanged.jobSmStatusChanged.subscribe((sRobj) => { \r\n // this._ngZone.run(() => { \r\n // this.getDataList(); \r\n // this.refreshChart(); \r\n // });\r\n // });\r\n\r\n // this.srObjJ = this._dataChanged.jobChanged.subscribe((sRobj) => { \r\n // this._ngZone.run(() => { \r\n // this.getDataList(); \r\n // this.refreshChart(); \r\n // });\r\n // });\r\n\r\n this.scChanged = this._dataChanged.serviceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.afterBroadCastEvent(sRobj, this.oServiceCenterList, 'ScID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.stChanged = this._dataChanged.serviceTypeChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicetype\") {\r\n this.afterBroadCastEvent(sRobj, this.oServiceTypeList, 'STID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.depChanged = this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"department\") {\r\n this.afterBroadCastEvent(sRobj, this.oDepartmentList, 'DID');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.DefaultDateTime();\r\n this.GetRequiredData().then(exp => {\r\n if (exp) {\r\n this.getDataList();\r\n }\r\n });\r\n };\r\n\r\n refresh() {\r\n if (this.dquery && this.dquery.FromDate && this.dquery.ToDate) {\r\n this._ngZone.run(() => {\r\n this.pService.start();\r\n this.getDataList();\r\n this.refreshChart();\r\n });\r\n }\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let scList: any = [];\r\n let stList: any = [];\r\n let dList: any = [];\r\n this.httpservice.getDataFJ(['api/servicecenter', 'api/servicetype', 'api/department']).subscribe(\r\n data => {\r\n scList = data[0];\r\n stList = data[1];\r\n dList = data[2];\r\n },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n\r\n if (scList) {\r\n this.oServiceCenterList = scList.map(d => Object.assign({}, d));\r\n this.setServiceCenterData(this.oServiceCenterList);\r\n }\r\n\r\n if (stList) {\r\n this.oServiceTypeList = stList.map(d => Object.assign({}, d));\r\n this.setSelectLists(this.oServiceTypeList);\r\n this.setServiceTypeData(this.oServiceTypeList);\r\n }\r\n\r\n if (dList) {\r\n this.oDepartmentList = dList.map(d => Object.assign({}, d));\r\n this.setDepartmentData(this.oDepartmentList);\r\n }\r\n\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n\r\n this.httpservice.getData('api/department').subscribe(\r\n data => { this.oDepartmentList = data || []; },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.setDepartmentData(this.oDepartmentList);\r\n this.pService.done();\r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"servicetype\") {\r\n\r\n this.httpservice.getData('api/servicetype').subscribe(\r\n data => { this.oServiceTypeList = data || []; },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.setServiceTypeData(this.oServiceTypeList);\r\n this.pService.done();\r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n\r\n this.httpservice.getData('api/servicecenter').subscribe(\r\n data => { this.oServiceCenterList = data || []; },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.setServiceCenterData(this.oServiceCenterList);\r\n this.pService.done();\r\n }\r\n );\r\n\r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n this.setDepartmentData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"servicetype\") {\r\n this.setServiceTypeData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.setServiceCenterData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setServiceCenterData(dataList: ServiceCenter[]) {\r\n this.serviceCenterList = [];\r\n this.serviceCenterList.push({ value: null, label: '- Select Service Center -' });\r\n if (dataList) {\r\n dataList.map(x => this.serviceCenterList.push({ value: x.ScID, label: x.ScN }));\r\n }\r\n }\r\n\r\n setServiceTypeData(dataList: ServiceType[]) {\r\n this.serviceTypeList = [];\r\n this.serviceTypeList.push({ value: null, label: '- Select Service Type -' });\r\n if (dataList) {\r\n dataList.map(x => this.serviceTypeList.push({ value: x.STID, label: x.STN }));\r\n }\r\n }\r\n\r\n setDepartmentData(dataList: Department[]) {\r\n this.departmentList = [];\r\n this.departmentList.push({ label: '- Select Department -', value: null });\r\n if (dataList) {\r\n dataList.map(x => this.departmentList.push({ value: x.DID, label: x.DN }));\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.periods = this.types = this.oServiceCenterList = this.serviceCenterList = this.oServiceTypeList = this.serviceTypeList = this.oDepartmentList = this.departmentList =\r\n this.selectLists = this.dataList = this.dquery = this.joblistnewqry = this.barData = this.pieData = this.startPBar = this.donePBar = undefined;\r\n\r\n if (this.srObjT !== undefined) this.srObjT.unsubscribe();\r\n if (this.srObjSM !== undefined) this.srObjSM.unsubscribe();\r\n if (this.srObjJ !== undefined) this.srObjJ.unsubscribe();\r\n if (this.scChanged !== undefined) this.scChanged.unsubscribe();\r\n if (this.stChanged !== undefined) this.stChanged.unsubscribe();\r\n if (this.depChanged !== undefined) this.depChanged.unsubscribe();\r\n }\r\n\r\n getDataList(): void {\r\n if (this.dquery && this.dquery.FromDate && this.dquery.ToDate) {\r\n this.httpservice.postData('api/admindashboardtable', this.dquery).subscribe(\r\n exp => { this.dataList = exp },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n this.filterData();\r\n });\r\n }\r\n }\r\n\r\n filterData() {\r\n if (!this.search) this.search = '';\r\n this.filterDataList = this.dataList;\r\n\r\n this.filterDataList = this.filterDataList.filter(j => (j.STN.trim()).toLowerCase().indexOf(this.search.toLowerCase().trim()) !== -1);\r\n }\r\n\r\n setSelectLists(dataList: any[], isServiceCenter = false) {\r\n this.selectLists = [];\r\n let id = isServiceCenter ? 'ScID' : 'STID';\r\n let lbl = isServiceCenter ? 'ScN' : 'STN';\r\n dataList.map(d => {\r\n this.selectLists.push({ value: d[id], label: d[lbl] });\r\n });\r\n\r\n if (dataList.length > 0) this.dquery.Selected = dataList[0][id];\r\n this.refreshChart();\r\n }\r\n\r\n changeType(): void {\r\n this.dquery.Selected = undefined;\r\n if (this.dquery.PType == 'st') {\r\n this.setSelectLists(this.oServiceTypeList);\r\n } else if (this.dquery.PType == 'sc') {\r\n this.setSelectLists(this.oServiceCenterList, true);\r\n }\r\n }\r\n\r\n periodChanged(): void {\r\n if (this.dquery.Period === 'f') {\r\n this.DefaultDateTime();\r\n }\r\n this.getDataList();\r\n this.refreshChart();\r\n }\r\n\r\n onSelectDate(): void {\r\n this.getDataList();\r\n }\r\n\r\n refreshChart(): void {\r\n //get data from server\r\n if (this.dquery && this.dquery.FromDate && this.dquery.ToDate) {\r\n this.pService.start();\r\n this.httpservice.postData('api/admindashboarddata', this.dquery).subscribe(\r\n exp => { this.barData = exp; },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => {\r\n\r\n setTimeout(() => {\r\n this.barChart.refresh();\r\n this.pieChart.refresh();\r\n }, 1000)\r\n });\r\n\r\n this.httpservice.postData('api/admindashboardpiedata', this.dquery).subscribe(\r\n exp => {\r\n this.pieData = exp;\r\n\r\n // this.pieData = {\r\n // labels: ['Q1', 'Q2', 'Q3', 'Q4'],\r\n // datasets: [\r\n // {\r\n // label: 'Sales',\r\n // data: [540, 325, 702, 620],\r\n // backgroundColor: ['rgba(255, 159, 64, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(153, 102, 255, 0.2)'],\r\n // borderColor: ['rgb(255, 159, 64)', 'rgb(75, 192, 192)', 'rgb(54, 162, 235)', 'rgb(153, 102, 255)'],\r\n // borderWidth: 1\r\n // }\r\n // ]\r\n // };\r\n },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => {\r\n // Observable.interval(1000).take(1).subscribe(x => { this.pieChart.refresh(); });\r\n setTimeout(() => {\r\n this.pieChart.refresh();\r\n }, 1000);\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n exportToCSV() {\r\n this.dquery.SearchText = this.search;\r\n this.httpservice.postData('api/exportadmindashboardtable', this.dquery).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n // window.location.href = this.httpservice._url + 'excel/dashboardjobs.csv';\r\n this.httpservice.DirectLocToWindow(\"dashboardjobs\");\r\n }\r\n );\r\n }\r\n\r\n ScDownOnChange(event) {\r\n this.dquery.SCID = event.value;\r\n this.getDataList();\r\n }\r\n\r\n STDownOnChange(event) {\r\n this.dquery.STID = event.value;\r\n this.getDataList();\r\n }\r\n\r\n DeptDownOnChange(event) {\r\n this.dquery.DID = event.value;\r\n this.getDataList();\r\n }\r\n\r\n // cellClick(colheader, rdata) {\r\n // if(rdata == null || rdata == undefined || rdata.ReceivedJob == 0) return;\r\n // var tmp: number = 0;\r\n // this.joblistnewqry.departmentId = rdata.DID;\r\n // this.joblistnewqry.servicecenterId = rdata.ScID;\r\n // this.joblistnewqry.servicetypeId = rdata.STID;\r\n // this.joblistnewqry.period = this.dquery.Period;\r\n // this.joblistnewqry.fromdate = this.dquery.FromDate;\r\n // this.joblistnewqry.todate = this.dquery.ToDate;\r\n // this.joblistnewqry.noTaken = false;\r\n // this.joblistnewqry.noSDone = false;\r\n\r\n // switch (colheader) {\r\n // case 'Received job': {\r\n // this.joblistnewqry.jobstatusId = 1;\r\n // this.title = 'Job Detail List (Received Job)';\r\n // this.isJobDetailList = true;\r\n // tmp = rdata.ReceivedJob;\r\n // break;\r\n // }\r\n // case 'Done': {\r\n // this.joblistnewqry.jobstatusId = 2;\r\n // this.title = 'Job Detail List (Done)';\r\n // this.isJobDetailList = true;\r\n // tmp = rdata.Done;\r\n // break;\r\n // }\r\n // case 'Taken': {\r\n // this.joblistnewqry.jobstatusId = 4;\r\n // this.title = 'Job Detail List (Taken)';\r\n // this.isJobDetailList = true;\r\n // tmp = rdata.Taken;\r\n // break;\r\n // }\r\n // case 'Work in progress': {\r\n // this.joblistnewqry.jobstatusId = 5;\r\n // this.title = 'Job Detail List (Work In Progress)';\r\n // this.isJobDetailList = true;\r\n // tmp = rdata.WorkInProgress;\r\n // break;\r\n // }\r\n // case 'Warranty': {\r\n // this.joblistnewqry.jobstatusId = 6;\r\n // this.title = 'Job Detail List (Warranty)';\r\n // this.isJobDetailList = true;\r\n // tmp = rdata.Warranty;\r\n // break;\r\n // }\r\n // case 'Waiting Reply': {\r\n // this.joblistnewqry.jobstatusId = 7;\r\n // this.title = 'Job Detail List (Customer Reply)';\r\n // this.isJobDetailList = true;\r\n // tmp = rdata.CustomerReply;\r\n // break;\r\n // }\r\n // case 'FOC': {\r\n // this.joblistnewqry.jobstatusId = 8;\r\n // this.title = 'Job Detail List (FOC)';\r\n // this.isJobDetailList = true;\r\n // tmp = rdata.FOC;\r\n // break;\r\n // }\r\n // }\r\n // if (tmp !== 0) this.jobDetailListModal.open();\r\n // }\r\n\r\n cellClick(colfield, rdata) {\r\n if (rdata == null || rdata == undefined) return;\r\n var tmp: number = 0;\r\n this.joblistnewqry.departmentId = rdata.DID;\r\n this.joblistnewqry.servicecenterId = rdata.ScID;\r\n this.joblistnewqry.servicetypeId = rdata.STID;\r\n this.joblistnewqry.period = this.dquery.Period;\r\n this.joblistnewqry.fromdate = this.dquery.FromDate;\r\n this.joblistnewqry.todate = this.dquery.ToDate;\r\n this.joblistnewqry.noTaken = false;\r\n this.joblistnewqry.noSDone = false;\r\n\r\n switch (colfield) {\r\n case 'ReceivedJob': {\r\n this.joblistnewqry.jobstatusId = 1;\r\n this.title = 'Job Detail List (Received Job)';\r\n this.isJobDetailList = true;\r\n tmp = rdata.ReceivedJob;\r\n break;\r\n }\r\n case 'WorkInProgress': {\r\n this.joblistnewqry.jobstatusId = 5;\r\n this.title = 'Job Detail List (Work In Progress)';\r\n this.isJobDetailList = true;\r\n tmp = rdata.WorkInProgress;\r\n break;\r\n }\r\n case 'Warranty': {\r\n this.joblistnewqry.jobstatusId = 6;\r\n this.title = 'Job Detail List (Warranty)';\r\n this.isJobDetailList = true;\r\n tmp = rdata.Warranty;\r\n break;\r\n }\r\n case 'CustomerReply': {\r\n this.joblistnewqry.jobstatusId = 7;\r\n this.title = 'Job Detail List (Customer Reply)';\r\n this.isJobDetailList = true;\r\n tmp = rdata.CustomerReply;\r\n break;\r\n }\r\n case 'Done': {\r\n this.joblistnewqry.jobstatusId = 2;\r\n this.title = 'Job Detail List (Done)';\r\n this.isJobDetailList = true;\r\n tmp = rdata.Done;\r\n break;\r\n }\r\n case 'Taken': {\r\n this.joblistnewqry.jobstatusId = 4;\r\n this.title = 'Job Detail List (Taken)';\r\n this.isJobDetailList = true;\r\n tmp = rdata.Taken;\r\n break;\r\n }\r\n case 'FOC': {\r\n this.joblistnewqry.jobstatusId = 8;\r\n this.title = 'Job Detail List (FOC)';\r\n this.isJobDetailList = true;\r\n tmp = rdata.FOC;\r\n break;\r\n }\r\n }\r\n\r\n if (tmp !== 0) this.jobDetailListModal.open();\r\n }\r\n\r\n jDListModalClose() {\r\n this.joblistnewqry = new JobListNewQuery(null, null, null, null, 'a', this.dquery.FromDate, this.dquery.ToDate);\r\n this.title = '';\r\n this.isJobDetailList = false;\r\n // this._ngZone.run(() => this.getDataList());\r\n this.jobDetailListModal.close();\r\n\r\n }\r\n\r\n DefaultDateTime() {\r\n this.dquery.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.dquery.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n }\r\n}","export class DashQuery {\r\n constructor(\r\n public PType?: any,\r\n public Selected?: any,\r\n public Period?: any,\r\n public FromDate?: any,\r\n public ToDate?: any,\r\n \r\n public SCID?: any,\r\n public STID?: any,\r\n \r\n public DID?: any,\r\n ){}\r\n \r\n SearchText?: any;\r\n}","export default \"@charset \\\"UTF-8\\\";\\n\\n.animated {\\n -webkit-animation-duration: 2s;\\n animation-duration: 2s;\\n -webkit-animation-fill-mode: both;\\n animation-fill-mode: both;\\n}\\n\\n.animated.infinite {\\n -webkit-animation-iteration-count: infinite;\\n animation-iteration-count: infinite;\\n}\\n\\n.animated.hinge {\\n -webkit-animation-duration: 3s;\\n animation-duration: 3s;\\n}\\n\\n@-webkit-keyframes shake {\\n from, to {\\n transform: translate3d(0, 0, 0);\\n }\\n 10%, 30%, 50%, 70%, 90% {\\n transform: translate3d(-10px, 0, 0);\\n }\\n 20%, 40%, 60%, 80% {\\n transform: translate3d(10px, 0, 0);\\n }\\n}\\n\\n@keyframes shake {\\n from, to {\\n transform: translate3d(0, 0, 0);\\n }\\n 10%, 30%, 50%, 70%, 90% {\\n transform: translate3d(-10px, 0, 0);\\n }\\n 20%, 40%, 60%, 80% {\\n transform: translate3d(10px, 0, 0);\\n }\\n}\\n\\n.shake {\\n -webkit-animation-name: shake;\\n animation-name: shake;\\n}\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGFzaGJvYXJkc3VwL2FuaW1hdGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjs7QUFFaEI7RUFDRSw4QkFBOEI7RUFDOUIsc0JBQXNCO0VBQ3RCLGlDQUFpQztFQUNqQyx5QkFBeUI7QUFDM0I7O0FBRUE7RUFDRSwyQ0FBMkM7RUFDM0MsbUNBQW1DO0FBQ3JDOztBQUVBO0VBQ0UsOEJBQThCO0VBQzlCLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFO0lBRUUsK0JBQStCO0VBQ2pDO0VBQ0E7SUFFRSxtQ0FBbUM7RUFDckM7RUFDQTtJQUVFLGtDQUFrQztFQUNwQztBQUNGOztBQUVBO0VBQ0U7SUFFRSwrQkFBK0I7RUFDakM7RUFDQTtJQUVFLG1DQUFtQztFQUNyQztFQUNBO0lBRUUsa0NBQWtDO0VBQ3BDO0FBQ0Y7O0FBRUE7RUFDRSw2QkFBNkI7RUFDN0IscUJBQXFCO0FBQ3ZCIiwiZmlsZSI6InNyYy9hcHAvZGFzaGJvYXJkc3VwL2FuaW1hdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmFuaW1hdGVkLmluZmluaXRlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbi5hbmltYXRlZC5oaW5nZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgZnJvbSwgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG4gIDIwJSwgNDAlLCA2MCUsIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIGZyb20sIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICAxMCUsIDMwJSwgNTAlLCA3MCUsIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgfVxuICAyMCUsIDQwJSwgNjAlLCA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5cbi5zaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG4iXX0= */\";","import { Component, OnInit, NgZone, ViewChild } from '@angular/core';\r\n\r\n//Third Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { Job } from '../job/job';\r\nimport { MCB } from '../job/mcb';\r\n\r\n@Component({\r\n selector: 'i-dashboardsup',\r\n templateUrl: './dashboardsupervisor.component.html',\r\n styleUrls: ['./animate.css']\r\n\r\n})\r\n\r\nexport class DashBoardSupCP implements OnInit {\r\n public jobs: Job[] = [];\r\n public _listOfMon: MCB[] = [];\r\n public animateJID: string = \"\";\r\n\r\n public startPBar: any;\r\n public donePBar: any;\r\n public toastkey = \"i-dashboardsup\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this._dataChanged.jobTStatusChanged.subscribe((changedData) => {\r\n this._ngZone.run(() => {\r\n this.animateJID = changedData.Value1;\r\n this.GetRequiredData();\r\n });\r\n });\r\n\r\n this._dataChanged.jobSmStatusChanged.subscribe((changedData) => {\r\n this._ngZone.run(() => {\r\n this.GetRequiredData();\r\n });\r\n });\r\n }\r\n\r\n getAnimationS(_jid: string): string {\r\n if (_jid == this.animateJID) {\r\n return 'animated shake';\r\n }\r\n return '';\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRequiredData();\r\n }\r\n\r\n getmcbName(moid: number): string {\r\n if (this._listOfMon == undefined) return \"\";\r\n for (var i = 0; i < this._listOfMon.length; i++) {\r\n if (this._listOfMon[i].MoID == moid) {\r\n return this._listOfMon[i].MoN + \" / \" + this._listOfMon[i].CatN + \" / \" + this._listOfMon[i].BN;\r\n }\r\n }\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let mcbList: any = [];\r\n let dsList: any = [];\r\n this.httpService.getDataFJ(['api/job/getmcb', 'api/dashboardsup']).subscribe(\r\n data => {\r\n mcbList = data[0];\r\n dsList = data[1];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (mcbList) {\r\n this._listOfMon = mcbList.map(m => Object.assign({}, m));\r\n }\r\n\r\n if (dsList) {\r\n this.jobs = dsList.map(d => Object.assign({}, d));\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n}","import { Component, OnInit, ViewChild, Input, OnChanges, NgZone } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { MenuItem } from 'primeng/api';\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { Job } from '../job/job';\r\nimport { Customer } from '../customer/customer';\r\nimport {JobViewModel} from '../joblist/jobviewmodel';\r\n\r\n@Component({\r\n selector: 'i-dashboardsupview',\r\n templateUrl: './dashboardsupervisorview.component.html',\r\n styleUrls: ['./animate.css']\r\n})\r\nexport class DashboardSupViewCP implements OnInit, OnChanges {\r\n public items: MenuItem[];\r\n public isPhotoView: boolean = false;\r\n @ViewChild('confirmModal', { static: false }) confirmModal: BsModalComponent;\r\n @ViewChild('jobdoneModal', { static: false }) jobdoneModal: BsModalComponent;\r\n @ViewChild('photoModal', { static: false }) photoModal: BsModalComponent;\r\n @Input() tstat: string;\r\n @Input() job: Job;\r\n @Input() mcb_name: string;\r\n @Input() isModal: boolean = false;\r\n\r\n public tempStatus: string = \"\";\r\n\r\n public confirmMsgs: string = \"\";\r\n public customer: Customer;\r\n public customers: Customer[] = [];\r\n public animateStyle: string;\r\n\r\n public jobv:JobViewModel;\r\n public toastkey = \"i-dashboardsupview\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.animateStyle = '';\r\n this.subscribeToEvent();\r\n this.jobv=new JobViewModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.customer = new Customer();\r\n }\r\n\r\n subscribeToEvent(): void {\r\n this._dataChanged.jobTRateChanged.subscribe((changedData) => {\r\n if (changedData.Value1 != undefined) {\r\n if (changedData.Value1 == this.job.JID) {\r\n this._ngZone.run(() => {\r\n this.animateStyle = 'animated shake';\r\n this.job.TProg = changedData.Value2;\r\n });\r\n } else { this.animateStyle = ''; }\r\n }\r\n });\r\n }\r\n\r\n ngOnChanges(changes: any) {\r\n if (this.mcb_name != undefined) this.job.MoN = this.mcb_name;\r\n\r\n if (this.tstat != undefined) {\r\n if (this.tstat == 'd') {\r\n this.items = [{\r\n label: 'Menu',\r\n items: [\r\n {\r\n label: 'Re-check', command: (event) => {\r\n this.tempStatus = 'b';\r\n this.confirmMsgs = 'Are you sure to Re-check ? ';\r\n this.confirmModal.open();\r\n }\r\n },\r\n {\r\n\r\n label: 'Done', command: (event) => {\r\n this.tempStatus = 'c';\r\n this.confirmMsgs = 'This job is being done ? ';\r\n this.confirmModal.open();\r\n }\r\n }\r\n ]\r\n }];\r\n }\r\n else if (this.tstat == 'c') {\r\n this.items = [{\r\n label: 'Menu',\r\n items: [\r\n {\r\n label: 'Done', command: (event) => {\r\n this.tempStatus = 'c';\r\n this.confirmMsgs = 'This job is being done ? ';\r\n this.confirmModal.open();\r\n }\r\n }\r\n ]\r\n }];\r\n }\r\n else {\r\n this.items = [];\r\n }\r\n }\r\n }\r\n\r\n supStatusChanges(): void {\r\n this.confirmModalClose();\r\n\r\n if (this.job.JID != undefined) {\r\n if (this.tempStatus == 'c') {\r\n\r\n this.job.SStat = 'c';\r\n this.GetCustomerByID();\r\n this.jobdoneModal.open();\r\n }\r\n else if (this.tempStatus == 'b') {\r\n //this.job.SStat = 'b';\r\n\r\n this.jobv.JID=this.job.JID;\r\n this.jobv.SStat='b';\r\n this.jobv.TStat=this.job.TStat;\r\n this.jobv.RSM=this.job.RSM;\r\n\r\n \r\n this.httpService.postData('api/jobsupervisorrecheck2', this.jobv).subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this._ngZone.run(() => {\r\n if (this.job.SStat == 'b') {\r\n this.job.TStat = 'a';\r\n this.job.TProg = 0;\r\n }\r\n });\r\n }\r\n );\r\n }\r\n else {\r\n this.job.SStat = this.tempStatus;\r\n this.httpService.postData('api/jobsupervisorstaus', this.job).subscribe(\r\n data => {},\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!');\r\n this.pService.done();\r\n },\r\n () => {}\r\n );\r\n }\r\n }\r\n }\r\n\r\n GetCustomerByID(): void {\r\n let temp;\r\n this.httpService.getData('api/getcustomer/' + this.job.CID).subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {this.customer = temp;}\r\n );\r\n }\r\n\r\n onCloseModal() {\r\n this.jobdoneModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n changePanelTitle(JT: string, JAT1: string, TStat: string, WSDT, WADT): string {\r\n if (JAT1 == undefined || JAT1 == \"\") {\r\n return \"warnTitle\";\r\n }\r\n\r\n if (TStat == 'c') {\r\n if (WSDT != null && WADT != null) {\r\n return \"expessTitle\";\r\n }\r\n else {\r\n return \"warrantyTitle\";\r\n }\r\n }\r\n\r\n if (JT == \"E\") {\r\n return \"expessTitle\";\r\n }\r\n else if (JT == \"S\") {\r\n return \"standardTitle\";\r\n }\r\n }\r\n\r\n photoViewClick() {\r\n this.isPhotoView = true;\r\n this.photoModal.open();\r\n }\r\n\r\n photoModalClose() {\r\n this.isPhotoView = false;\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n confirmModalClose(){\r\n this.confirmModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n}","import { Component, Input, Output, EventEmitter, OnDestroy, ViewChild, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n//Model\r\nimport { Customer } from '../customer/customer';\r\nimport { Job } from '../job/job';\r\n\r\ndeclare var require;\r\nvar CryptoJS = require(\"crypto-js\");\r\n\r\n@Component({\r\n selector: 'i-jobdone',\r\n templateUrl: './jobdone.component.html'\r\n})\r\nexport class JobDoneCP implements OnInit, OnDestroy {\r\n @Output() onClick = new EventEmitter();\r\n @Input() job;\r\n @Input() customer;\r\n @Input() isModal: boolean = false;\r\n @ViewChild('printQRCodeModal', { static: false }) printQRCodeModal: BsModalComponent;\r\n\r\n public BAmo: number = 0;\r\n //public qrdata: string='';\r\n public isprint: boolean;\r\n public sub: any;\r\n public jobID: string = '';\r\n public tmpdeviceID: string = '';\r\n public techName: string = '';\r\n public showQRPrintDialog: boolean = false;\r\n public toastkey = \"i-jobdone\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router, public aroute: ActivatedRoute, public auth: AuthService) {\r\n this.isprint = false;\r\n this.BAmo = 0;\r\n\r\n // if (this.job === undefined) {\r\n // this.initJob();\r\n // this.customer = new Customer();\r\n // //this.qrdata = '';\r\n // }\r\n // this.sub = this.aroute.params.subscribe(\r\n // param => {\r\n // if (param['jobid'] != undefined) {\r\n // this.jobID = param['jobid'];\r\n // this.getJobByJobID().then(d => {\r\n // this.getCustomerByID().then(d => {\r\n // this.getTechName().then(d => {\r\n // });\r\n // });\r\n // this.calculateAmount();\r\n // });\r\n // }\r\n // }\r\n // );\r\n }\r\n\r\n ngOnInit(){\r\n if (this.job === undefined) {\r\n this.initJob();\r\n this.customer = new Customer();\r\n //this.qrdata = '';\r\n }\r\n this.sub = this.aroute.params.subscribe(\r\n param => {\r\n if (param['jobid'] != undefined) {\r\n this.jobID = param['jobid'];\r\n this.getJobByJobID().then(d => {\r\n this.getCustomerByID().then(d => {\r\n this.getTechName().then(d => {\r\n });\r\n });\r\n this.calculateAmount();\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.sub === undefined || this.sub === null) this.sub.unsubscribe();\r\n }\r\n\r\n getJobByJobID(): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (this.jobID != undefined) {\r\n this.httpService.getData('api/getjob/' + this.jobID).subscribe(\r\n expdata => { this.job = expdata; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting job data !');\r\n resolve(false);\r\n },\r\n () => { resolve(true); });\r\n }\r\n else resolve(false);\r\n });\r\n }\r\n\r\n getCustomerByID(): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (this.job.CID != null) {\r\n let temp;\r\n this.httpService.getData('api/getcustomer/' + this.job.CID).subscribe(\r\n data => temp = data,\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done();\r\n resolve(false); },\r\n () => { if (temp != undefined) { this.customer = temp }; resolve(true); });\r\n }\r\n else resolve(false);\r\n });\r\n }\r\n\r\n getTechName(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.httpService.getData('api/gettechname/' + this.job.JAT1).subscribe(\r\n data => { this.techName = data; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting technician name !'); \r\n this.pService.done(); \r\n resolve(false); },\r\n () => { resolve(true); });\r\n });\r\n }\r\n\r\n calculateAmount(): void {\r\n // if (this.job.SAmo != undefined && this.job.PAmo != undefined && this.job.DAmo != undefined) {\r\n // this.job.TAmo = this.job.SAmo + this.job.PAmo;\r\n // this.BAmo = this.job.TAmo - this.job.DAmo;\r\n // }\r\n // else this.BAmo = 0;\r\n\r\n this.job.TAmo = this.job.SAmo + this.job.PAmo;\r\n this.BAmo = this.job.TAmo - this.job.DAmo;\r\n }\r\n\r\n onclick(isSaving: boolean): void {\r\n if (isSaving) {\r\n this.job.SStat = 'c';\r\n this.job.Taken = false;\r\n if (this.job.DeviceID === null || this.job.DeviceID === undefined) this.job.DeviceID = '';\r\n\r\n this.httpService.postData('api/job/jobdone', this.job).subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!\\n\\n' + err);\r\n this.pService.done();\r\n },\r\n () => { this.onClick.emit(); });\r\n }\r\n else {\r\n if (this.jobID != '' || this.jobID != undefined) this.router.navigate(['joblist']);\r\n this.onClick.emit();\r\n }\r\n }\r\n\r\n generateDeviceID(jid: any): void {\r\n this.tmpdeviceID = jid;\r\n var hash = CryptoJS.SHA1(this.job.JID);\r\n let hashstring: string = CryptoJS.enc.Hex.stringify(hash);\r\n this.job.DeviceID = hashstring;\r\n }\r\n\r\n printQRCode(): void {\r\n if (this.tmpdeviceID != '') {\r\n this.saveDeviceID().then(d => {\r\n if ((this.job != undefined || this.job != null) && (this.job.DeviceID != undefined || this.job.DeviceID != null || this.job.DeviceID != '')) {\r\n this.showQRPrintDialog = true;\r\n this.printQRCodeModal.open();\r\n }\r\n });\r\n }\r\n else {\r\n if (this.job.DeviceID != undefined || this.job.DeviceID != null || this.job.DeviceID != '') {\r\n this.showQRPrintDialog = true;\r\n this.printQRCodeModal.open();\r\n }\r\n }\r\n }\r\n\r\n saveDeviceID(): Promise {\r\n return new Promise((resolve, reject) => {\r\n let tmp: any;\r\n\r\n this.httpService.getData('api/job/getdeviceId/' + this.tmpdeviceID).subscribe(\r\n data => { tmp = data; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while saving devieID !'); \r\n this.pService.done(); \r\n resolve(false); },\r\n () => {\r\n if (tmp.length > 0) {\r\n this.job.DeviceID = tmp;\r\n }\r\n resolve(true);\r\n }\r\n );\r\n })\r\n }\r\n\r\n initJob() {\r\n this.job = new Job(\r\n null, null, null, this.auth.DID, this.auth.loginName, '', '', null, '', null,\r\n null, false, new Date(), 0, '', '', 'E', '', '', 0,\r\n null, '', '', null, '', false, null, 0, 0, 0,\r\n 0, 0, null, null, '', 0, this.auth.ScID, '', this.auth.loginName, '',\r\n '', false, '', '', null, 0, '', '', null, null, [], ''\r\n );\r\n }\r\n\r\n printQRCodeModalDismiss() {\r\n this.showQRPrintDialog = false;\r\n this.printQRCodeModal.dismiss();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n}","import {Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector:'job-done-print-view',\r\n templateUrl: './jobdoneprintview.component.html',\r\n})\r\nexport class JobDonePrintViewCP implements OnInit {\r\n @Input() qrcode;\r\n @Output() onClick = new EventEmitter ();\r\n\r\n constructor(public aroute:ActivatedRoute, public router: Router) {\r\n // if(this.qrcode === undefined) this.qrcode = '';\r\n }\r\n\r\n ngOnInit() {\r\n if(this.qrcode != '' || this.qrcode != undefined ) {\r\n let tmp=Observable.timer(50,1).subscribe(data=>{\r\n tmp.unsubscribe();\r\n window.print();\r\n });\r\n }\r\n }\r\n}","import { Component, OnInit, ViewChild, NgZone } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { Job } from '../job/job';\r\nimport { MCB } from '../job/mcb';\r\n\r\n@Component({\r\n selector: 'i-dashboardtech',\r\n templateUrl: './dashboardtech.component.html'\r\n})\r\nexport class DashBoardTechCP implements OnInit {\r\n public _listOfMon: MCB[] = [];\r\n public jobs: Job[] = [];\r\n public toastkey = \"i-dashboardtech\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService , public httpService: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this._dataChanged.jobTStatusChanged.subscribe((changedData) => {\r\n //call associated function..\r\n //this.GetTechData();\r\n this.GetRequiredData();\r\n });\r\n this._dataChanged.jobSmStatusChanged.subscribe((changedData) => {\r\n //service manager status done is not concern with technician.\r\n if (changedData.Value1 == null) {\r\n //this.GetTechData();\r\n this.GetRequiredData();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRequiredData();\r\n }\r\n\r\n getmcbName(moid: number): string {\r\n if (this._listOfMon == undefined) return \"\";\r\n \r\n for(let obj of this._listOfMon){\r\n if (obj.MoID == moid) {\r\n return obj.MoN + \" / \" + obj.CatN + \" / \" + obj.BN;\r\n }\r\n }\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let mcbList: any = [];\r\n let dtList: any = [];\r\n\r\n this.httpService.getDataFJ(['api/job/getmcb','api/dashboardtech']).subscribe(\r\n data => {\r\n mcbList = data[0];\r\n dtList = data[1];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n\r\n if(mcbList){\r\n this._listOfMon = mcbList.map(m => Object.assign({},m));\r\n }\r\n\r\n if(dtList){\r\n this.jobs = dtList.map(dt => Object.assign({},dt));\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Input, OnChanges, ViewChild } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { MenuItem } from 'primeng/api';\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { Job } from '../job/job';\r\n\r\n@Component({\r\n selector: 'i-dashboardview',\r\n templateUrl: './dashboardview.component.html'\r\n})\r\nexport class DashboardViewCP implements OnInit, OnChanges {\r\n @ViewChild('confirmModal', { static: false }) confirmModal: BsModalComponent;\r\n @ViewChild('photoModal', { static: false }) photoModal: BsModalComponent;\r\n @Input() job: Job;\r\n @Input() mcb_name: string;\r\n\r\n public items: MenuItem[];\r\n public confirmMsgs: string = \"\";\r\n //public tempStatus: string = \"\";\r\n public isPhotoView: boolean = false;\r\n public toastkey = \"i-dashboardview\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices) {\r\n this.items = [{\r\n label: 'Menu',\r\n items: [\r\n {\r\n label: 'Waiting Customer Reply', command: (event) => {\r\n this.job.TStat = \"b\";\r\n this.confirmMsgs = \"Are you this job is waiting customer reply ? \";\r\n this.confirmModal.open();\r\n }\r\n },\r\n {\r\n label: 'Waiting Warranty', command: (event) => {\r\n this.job.TStat = \"c\";\r\n this.confirmMsgs = \"Are you this job is waiting warranty ? \";\r\n this.confirmModal.open();\r\n }\r\n },\r\n {\r\n label: 'Done', command: (event) => {\r\n this.job.TStat = \"d\";\r\n this.confirmMsgs = \"This job is being done ? \";\r\n this.confirmModal.open();\r\n }\r\n }\r\n ]\r\n }];\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n ngOnChanges(changes: any) {\r\n if (this.mcb_name != undefined) this.job.MoN = this.mcb_name;\r\n }\r\n\r\n techStatusChanges(): void {\r\n if (this.job.JID != undefined) {\r\n this.pService.start();\r\n this.httpService.postData('api/jobstaus', this.job).\r\n subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!');\r\n this.pService.done();\r\n },\r\n () => { \r\n this.pService.done(); \r\n });\r\n }\r\n }\r\n\r\n handleRate(event): void {\r\n if (this.job.JID != undefined) {\r\n this.pService.start();\r\n this.httpService.postData('api/jobrating', this.job).\r\n subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!');\r\n this.pService.done();\r\n },\r\n () => { \r\n this.pService.done(); \r\n });\r\n }\r\n }\r\n\r\n photoViewClick() {\r\n this.isPhotoView = true;\r\n this.photoModal.open();\r\n }\r\n \r\n photoModalClose() {\r\n this.isPhotoView = false;\r\n }\r\n}","import { Component, OnInit, ViewChild, NgZone, Input } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { Department } from './department';\r\n\r\n@Component({\r\n selector: 'i-department',\r\n templateUrl: './department.component.html'\r\n})\r\n\r\nexport class DepartmentCP implements OnInit {\r\n @ViewChild('modal', { static: false }) modal: BsModalComponent;\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('serviceModal', { static: false }) serviceModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n @Input() isModal: boolean = false;\r\n\r\n apiName: string = \"department\";\r\n id = 'DID';\r\n public dptForm: FormGroup;\r\n public isNew: boolean;\r\n public departmentList: Department[];\r\n public selectedDepartment: Department;\r\n public selectedChk: Department[];\r\n public actionlogs: any[];\r\n public toastkey = \"i-department\";\r\n\r\n public totalRecords: number;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n //this.LoadDataFromLocalForage();\r\n\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.CreateForm();\r\n this.GetData();\r\n }\r\n\r\n CreateForm(): void {\r\n this.dptForm = this.fb.group({\r\n 'DID': new FormControl(0),\r\n 'DN': new FormControl('', Validators.compose([Validators.required, Validators.maxLength(50)]))\r\n });\r\n }\r\n\r\n GetData() {\r\n let depList: Department[] = [];\r\n this.httpService.getData('api/department').subscribe(\r\n data => {\r\n depList = data;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.departmentList = depList.map(a => Object.assign({}, a));\r\n this.totalRecords = this.departmentList.length;\r\n\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n afterBroadCastEvent(objData) {\r\n if (objData && objData.Obj) {\r\n let ind = this.departmentList.findIndex(temp => temp[this.id] === objData.Obj[this.id]);\r\n if (objData.Msg === 'deleted') {\r\n this.refresh();\r\n }\r\n else {\r\n if (ind >= 0) this.departmentList[ind] = objData.Obj;\r\n else this.departmentList.unshift(objData.Obj);\r\n }\r\n }\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetData();\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true;\r\n this.CreateForm();\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToEdit(department: Department): void {\r\n this.isNew = false;\r\n this.CreateForm();\r\n this.selectedDepartment = Object.assign({}, department);\r\n this.dptForm.patchValue({ DID: department.DID, DN: department.DN });\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) { this.deleteModal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!'); }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedDepartment != undefined) {\r\n let temp = [];\r\n this.pService.start();\r\n this.httpService.getData('api/actionlog/' + this.selectedDepartment.DID + '/' + 'Department').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) { this.actionlogs = temp; this.modal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!'); }\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n entryModalClose() {\r\n this.entryModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n save(pdt: any, gb): void {\r\n if (this.dptForm != undefined) {\r\n this.pService.start();\r\n this.httpService.postData('api/department', this.dptForm.value).\r\n subscribe(\r\n ddd => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.resetDatable(pdt, gb);\r\n this.GetData();\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated!');\r\n this.entryModal.close();\r\n this.pService.done();\r\n this.httpService.AddClassToModal(this.isModal);\r\n });\r\n }\r\n }\r\n\r\n deleteData(): void {\r\n this.httpService.postData('api/department/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n resetDatable(pdt: any, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n modalClose() {\r\n this.modal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/department/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/department.csv';\r\n this.httpService.DirectLocToWindow(\"department\");\r\n }\r\n );\r\n }\r\n}","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { JobViewModel } from '../joblist/jobviewmodel';\r\nimport { MCB } from '../job/mcb';\r\n\r\n@Component({\r\n selector: 'i-deviceid',\r\n templateUrl: './deviceid.component.html'\r\n})\r\nexport class DeviceIDCP implements OnInit, AfterViewInit {\r\n @ViewChild('vcdeviceId', { static: false }) vcdeviceId;\r\n public deviceId: any;\r\n public jobs: JobViewModel[] = [];\r\n public _listOfMon: MCB[];\r\n public printMode: boolean = false;\r\n public toastkey = \"i-deviceid\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpservice: HttpServices) {\r\n this.pService.start();\r\n this._listOfMon = [];\r\n }\r\n\r\n ngOnInit() {\r\n this.Get_MCB();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.vcdeviceId) {\r\n this.vcdeviceId.nativeElement.focus();\r\n }\r\n }\r\n\r\n Get_MCB(): void {\r\n this.httpservice.getData('api/job/getmcb').subscribe(\r\n data => this._listOfMon = data,\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n });\r\n }\r\n\r\n lookJobsByDId() {\r\n if (this.deviceId == undefined || this.deviceId == null || this.deviceId == '') {\r\n this.httpservice.showToast(this.toastkey, 'warn', 'There is no DeviceID!');\r\n return;\r\n }\r\n this.pService.start();\r\n\r\n this.httpservice.postData('api/getalljobsbydid', this.deviceId).subscribe(\r\n data => { this.jobs = data },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (this.jobs != undefined) {\r\n for (let obj of this.jobs) {\r\n obj.MoN = this.getmcbName(obj.MoID);\r\n }\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n getmcbName(moid: number): string {\r\n if (this._listOfMon == undefined) return \"\";\r\n\r\n for (let obj of this._listOfMon) {\r\n if (obj.MoID == moid) {\r\n return obj.MoN + \" / \" + obj.CatN + \" / \" + obj.BN;\r\n }\r\n }\r\n }\r\n\r\n printjobs() {\r\n window.print();\r\n }\r\n}","import { Component, OnInit, ViewChild, ViewEncapsulation, OnDestroy, AfterViewInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { LoginUser } from \"./loginuser/loginuser\"\r\nimport { HttpServices } from './service/httpservices';\r\nimport { lFservice } from './service/lFservice';\r\nimport { AuthService } from './service/authservice';\r\nimport { GlobalFunc } from './service/globalfunction';\r\n\r\n@Component({\r\n selector: 'external-login',\r\n templateUrl: './external-login.html',\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class ExternalLoginComponent implements OnInit, OnDestroy {\r\n @ViewChild('loginErrModal', { static: false }) loginErrModal: BsModalComponent;\r\n\r\n data: LoginUser;\r\n msgErr: string;\r\n chkRemember = false;\r\n showLogin = false;\r\n current_route;\r\n loginId: string;\r\n msgs: any;\r\n constructor(public router: Router, public auth: AuthService, public activeRoute: ActivatedRoute, public httpService: HttpServices) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.current_route = this.activeRoute.params.subscribe(param => {\r\n if (param !== undefined && param.loginObj !== undefined) {\r\n let tmp = JSON.parse(param.loginObj);\r\n setTimeout(() => {\r\n lFservice.Set_LF('AccessToken', tmp.access_token);\r\n this.getRequriedData(tmp);\r\n }, 300);\r\n }\r\n });\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n this.data = undefined;\r\n if (this.current_route !== undefined) this.current_route.unsubscribe();\r\n }\r\n\r\n getRequriedData(result: any) {\r\n if (result) {\r\n if (typeof result === 'object') {\r\n this.auth.setAllData(result);\r\n this.auth.storeCredential(result);\r\n // lFservice.Set_LF('authinfo', result).then(result => {\r\n // this.router.navigate(['/']);\r\n // }); \r\n // lFservice.Get_LF(GlobalFunc.CusKey).then(cusdata => {\r\n // lFservice.Get_LF(GlobalFunc.MCBKey).then(mcbdata => {\r\n // if (!cusdata && !mcbdata) {\r\n // this.Get_Customers().then(abc => {\r\n // this.Get_MCB().then(def => {\r\n\r\n // }).catch(err => { this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while getting model/cate/brand!' }); });\r\n // }).catch(err => { this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while getting customers!' }); });\r\n // }\r\n // }).catch(err => { this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while getting model/cate/brand from LocalData!' }); });\r\n\r\n // }).catch(err => { this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while getting customers from LocalDat!' }); });\r\n\r\n }\r\n else {\r\n this.auth.clearLoginProperty(null, null);\r\n this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Invalid user name or password!' });\r\n }\r\n\r\n } else {\r\n this.msgErr = 'Authentication does not exist and please try again.';\r\n this.loginErrModal.open();\r\n }\r\n\r\n }\r\n\r\n errorMsg(err) {\r\n if (err === null || typeof err._body === \"undefined\") return;\r\n let errMsg: string = JSON.parse(err._body).Message;\r\n if (errMsg === undefined) errMsg = JSON.parse(err._body);\r\n this.msgErr = errMsg.startsWith('cex') ? errMsg.substring(6) : errMsg;\r\n this.loginErrModal.open();\r\n }\r\n\r\n ok() {\r\n //this.ld.sendLogout(this.loginId);\r\n this.loginErrModal.close();\r\n\r\n }\r\n\r\n\r\n // Get_Customers(): Promise {\r\n // return new Promise((resolve, reject) => {\r\n // let temp = [];\r\n // lFservice.Get_LF(GlobalFunc.CusKey).then(value => {\r\n // if (value == null) {\r\n // this.httpService.getData('api/customerForDDown').subscribe(\r\n // data => temp = data,\r\n // err => {\r\n // this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while loading data from server!' });\r\n // reject(null);\r\n // },\r\n // () => {\r\n // lFservice.Set_LF(GlobalFunc.CusKey, temp).then(value => {\r\n // resolve(true);\r\n // }).catch(err => {\r\n // this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while loading data!' });\r\n // reject(null);\r\n // });\r\n // });\r\n // }\r\n // }).catch(err => {\r\n // this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while loading mcb data!' });\r\n // reject(null);\r\n // });\r\n // });\r\n // }\r\n\r\n // Get_MCB(): Promise {\r\n // return new Promise((resolve, reject) => {\r\n // let temp = [];\r\n // lFservice.Get_LF(GlobalFunc.MCBKey).then(value => {\r\n // if (value == null) {\r\n // this.httpService.getData('api/job/getmcb').subscribe(\r\n // data => temp = data,\r\n // err => {\r\n // this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while loading mcb from server!' });\r\n // reject(null);\r\n // },\r\n // () => {\r\n // lFservice.Set_LF(GlobalFunc.MCBKey, temp).\r\n // then(_value => { \r\n // resolve(true);\r\n // }).\r\n // catch(err => {\r\n // this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while loading mcb from server!' });\r\n // reject(null);\r\n // }); \r\n // });\r\n // }\r\n // }).catch(err => {\r\n // this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while loading mcb data!' });\r\n // reject(null);\r\n // });\r\n // }); \r\n // }\r\n}\r\n\r\nexport class Login {\r\n public constructor(\r\n public loginId: string,\r\n public pwd: string) { }\r\n}\r\n","import {Component, OnInit, ViewChild} from '@angular/core';\r\n\r\n@Component({\r\n selector: 'i-home',\r\n template: ``\r\n})\r\n\r\nexport class HomeCP implements OnInit {\r\n ngOnInit() {}\r\n}","import { Component, OnInit, ViewChild, NgZone, OnDestroy, Input, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Location, DatePipe } from '@angular/common';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { NgProgressService } from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { lFservice } from '../service/lFservice';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\nimport { ServiceType } from '../servicetype/servicetype';\r\nimport { AuthService } from '../service/authservice';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { Customer } from '../customer/customer';\r\nimport { LoginUser } from '../loginuser/loginuser';\r\nimport { Job } from './job';\r\nimport { MCB } from './mcb';\r\nimport { Accessory } from '../accessory/accessory';\r\nimport { DropDownValue } from './dropdownvalue';\r\n\r\n@Component({\r\n selector: 'i-job',\r\n templateUrl: './job.component.html'\r\n})\r\nexport class JobCP implements OnInit, OnDestroy {\r\n @Input() jid: string;\r\n @Input() isModal: boolean = false;\r\n @Output() onClick = new EventEmitter();\r\n\r\n @ViewChild('scanDeviceIdModal', { static: false }) scanDeviceIdModal: BsModalComponent;\r\n @ViewChild('accessoryModal', { static: false }) accessoryModal: BsModalComponent;\r\n @ViewChild('customerModal', { static: false }) customerModal: BsModalComponent;\r\n @ViewChild('actionModal', { static: false }) actionModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('modelModal', { static: false }) modelModal: BsModalComponent;\r\n @ViewChild('deviceID', { static: false }) deviceID;\r\n @ViewChild('scanCustomerModal', { static: false }) scanCustomerModal: BsModalComponent;\r\n @ViewChild('scancustomerId', { static: false }) scancustomerId;\r\n @ViewChild(NgForm, { static: false }) form;\r\n\r\n job: Job = this.newJob();\r\n customer: any;//= { vir_label: \"\", vir_value: 0 };\r\n model: any;// = { vir_label: \"\", vir_value: 0 };\r\n\r\n servicetypes: SelectItem[];\r\n jobRemarks: SelectItem[] = [{ label: 'Select job\\'s remark', value: null },\r\n { label: 'Service Only', value: 'Service Only' },\r\n { label: 'Parts Change', value: 'Parts Change' },\r\n { label: 'YGN Service', value: 'YGN Service' },\r\n { label: 'YGN Service2', value: 'YGN Service2' },\r\n { label: 'MDY Service', value: 'MDY Service' }];\r\n loginusers: SelectItem[];\r\n\r\n //customers: any[] = [];\r\n mcbs: any[];\r\n _listofAccessory: Accessory[];\r\n jobAccessories: Accessory[] = [];\r\n _listOfMon: MCB[];\r\n filteredSuppN: any[];\r\n actionlogs: any[];\r\n results: any[] = [];\r\n modlresults: any[] = [];\r\n\r\n isAccessoryModalOpen: boolean = false;\r\n isModelModalOpen: boolean = false;\r\n isCusModalOpen: boolean = false;\r\n jobbydidempty: boolean = false;\r\n isAccordion: boolean = false;\r\n isCreateJob: boolean = false;\r\n visibleJP: boolean = false;\r\n didempty: boolean = false;\r\n Warrantychecked: boolean = false;\r\n isPrint: boolean = false;\r\n unvalidCustomer: boolean;\r\n unvalidModel: boolean;\r\n showJobError: boolean;\r\n\r\n toastkey = \"i-job\";\r\n cusScantoastkey = \"cusscan-toast\";\r\n jobmsgs: string = '';\r\n title: string = \"Create New Job\";\r\n sub: any;\r\n suppliers;\r\n\r\n oDropDownValueList: DropDownValue[];\r\n dropdownValues: DropDownValue[] = [];\r\n\r\n selectedValues: string;\r\n selectedAccessories: string;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private ngzone: NgZone, private pService: NgProgressService, public httpService: HttpServices, public auth: AuthService, public currentRoute: ActivatedRoute, public router: Router, public location: Location, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public datepipe: DatePipe) {\r\n\r\n this.visibleJP = false;\r\n this.Warrantychecked = false;\r\n this.suppliers = [];\r\n this.mcbs = [];\r\n\r\n this.sub = this._dataChanged.modelChanged.subscribe(\r\n rdata => { },\r\n err => { },\r\n () => { }\r\n );\r\n this.sub = this._dataChanged.customerChanged.subscribe(\r\n rdata => { },\r\n err => { },\r\n () => { }\r\n );\r\n this.sub = this._dataChanged.serviceTypeChanged.subscribe(\r\n rdata => { },\r\n err => { },\r\n () => { }\r\n );\r\n this.sub = this._dataChanged.loginUserChanged.subscribe(\r\n rdata => { },\r\n err => { },\r\n () => { }\r\n );\r\n this.sub = this._dataChanged.accessoryChanged.subscribe(\r\n rdata => { },\r\n err => { },\r\n () => { }\r\n );\r\n\r\n this.unvalidCustomer = false;\r\n this.unvalidModel = false;\r\n }\r\n\r\n ngOnInit() {\r\n this.auth.getAuthInfo().then(n => {\r\n if (n) {\r\n this.auth.setAllData(n);\r\n this.job = this.newJob();\r\n } else {\r\n this.job = this.newJob();\r\n }\r\n this.GetData();\r\n //this.Get_Customers();\r\n this.Get_MCB();\r\n this.Get_ServiceType();\r\n this.Get_ServiceTechnician();\r\n this.Get_Accessory();\r\n this.Get_Suppliers();\r\n this.GetDropDownValue();\r\n })\r\n }\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n this.is450Width = window.innerWidth <= 450 ? true : false;\r\n });\r\n }\r\n\r\n resize(e) {\r\n setTimeout(() => {\r\n this.is450Width = window.innerWidth <= 450 ? true : false;\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (!this.isPrint) {\r\n if (this.isAccordion && !this.isCreateJob) {\r\n if (this.job.JID) {\r\n this.httpService.postData('api/job/jobdelete/', this.job.JID).subscribe(data => { }, err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while deleting data!'));\r\n }\r\n }\r\n }\r\n this.job = undefined;\r\n this.customer = undefined;\r\n this.model = undefined;\r\n }\r\n\r\n GetData() {\r\n if (this.jid) {\r\n this.pService.start();\r\n this.httpService.getData(\"api/job/\" + this.jid).subscribe(\r\n data => {\r\n if (data) {\r\n this.job = data;\r\n this.searchCustomer(this.job?.Customer?.Ph)\r\n } else {\r\n this.job = this.newJob();\r\n }\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (this.job) {\r\n this.job.APPDT = new Date(this.job.APPDT);\r\n if (this.job.JID) {\r\n this.title = \"Edit Job\";\r\n if (this.job.SStat === 'a' && this.job.TStat === 'c') {\r\n this.Warrantychecked = true;\r\n }\r\n }\r\n else {\r\n this.Warrantychecked = false;\r\n }\r\n\r\n if (this.job.Customer) {\r\n this.customer = { vir_label: this.job.Customer.CN + \" / \" + this.job.Customer.Ph + \" / \" + this.job.Customer.City, vir_value: this.job.CID };\r\n }\r\n\r\n if (this.job.Model) {\r\n this.model = { vir_label: this.job.Model.MoN + \" / \" + this.job.Model.CatN + \" / \" + this.job.Model.BN, vir_value: this.job.MoID };\r\n }\r\n\r\n this.ReBindAccessoryMultiSelect();\r\n this.reBindDescriptionMultiSelect();\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n }\r\n\r\n // Get_Customers(): void {\r\n // //this._listOfCustomer = [];\r\n // this.customers = [];\r\n // lFservice.Get_LF(GlobalFunc.CusKey).then(value => {\r\n // if (value == null) {\r\n // this.pService.start();\r\n // this.httpService.getData('api/customerForDDown').subscribe(\r\n // data => {\r\n // this.customers = data || [];\r\n\r\n // lFservice.Set_LF(GlobalFunc.CusKey, this.customers).then(value => {\r\n // this.customers.map(c => {\r\n // c.vir_label = c.CN + \" / \" + c.Ph + (c.City ? \" / \" + c.City : \"\");\r\n // c.vir_value = c.CID;\r\n // });\r\n // }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!'));\r\n // },\r\n // err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'),\r\n // () => {\r\n // this.pService.done();\r\n // }\r\n // );\r\n // }\r\n // else {\r\n // this.customers = value;\r\n // this.customers.map(c => {\r\n // c.vir_label = c.CN + \" / \" + c.Ph + (c.City ? \" / \" + c.City : \"\");\r\n // c.vir_value = c.CID;\r\n // });\r\n // }\r\n // }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb data!'));\r\n // }\r\n\r\n Get_MCB(): void {\r\n this._listOfMon = [];\r\n lFservice.Get_LF(GlobalFunc.MCBKey).then(value => {\r\n if (value == null) {\r\n this.pService.start();\r\n this.httpService.getData('api/job/getmcb').subscribe(\r\n data => this._listOfMon = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'),\r\n () => {\r\n lFservice.Set_LF(GlobalFunc.MCBKey, this._listOfMon).then(_value => {\r\n this.getMCBSourceData(this._listOfMon);\r\n }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'));\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n else {\r\n this._listOfMon = value;\r\n this.getMCBSourceData(this._listOfMon);\r\n }\r\n }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb data!'));\r\n }\r\n\r\n Get_ServiceType(): void {\r\n let temp = [];\r\n lFservice.Get_LF(GlobalFunc.STKey).then(value => {\r\n if (!value) {\r\n this.pService.start();\r\n this.httpService.getData('api/servicetype').subscribe(\r\n data => temp = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading service type from server!'),\r\n () => {\r\n lFservice.Set_LF(GlobalFunc.STKey, temp);\r\n this.ServiceTypeDropDown(temp);\r\n this.pService.done();\r\n });\r\n }\r\n else {\r\n this.ServiceTypeDropDown(value);\r\n }\r\n }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading service type data!'));\r\n }\r\n\r\n Get_ServiceTechnician() {\r\n let temp = [];\r\n lFservice.Get_LF(GlobalFunc.LUKey).then(value => {\r\n if (!value) {\r\n this.pService.start();\r\n this.httpService.getData('api/loginuser').subscribe(\r\n data => temp = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading categories data from server!'),\r\n () => {\r\n lFservice.Set_LF(GlobalFunc.LUKey, temp);\r\n this.LoginUserDropoDown(temp);\r\n this.pService.done();\r\n });\r\n }\r\n else {\r\n this.LoginUserDropoDown(value);\r\n }\r\n }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!'));\r\n }\r\n\r\n Get_Accessory(): void {\r\n let temp = [];\r\n lFservice.Get_LF(GlobalFunc.AcKey).then(value => {\r\n if (!value) {\r\n this.pService.start();\r\n this.httpService.getData('api/accessory').subscribe(\r\n data => temp = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'),\r\n () => {\r\n lFservice.Set_LF(GlobalFunc.AcKey, temp).\r\n catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!'));\r\n this._listofAccessory = temp;\r\n this.ReBindAccessoryMultiSelect();\r\n this.pService.done();\r\n });\r\n }\r\n else {\r\n this._listofAccessory = value;\r\n this.ReBindAccessoryMultiSelect();\r\n }\r\n }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!'));\r\n }\r\n\r\n Get_Suppliers(): void {\r\n let temp = [];\r\n lFservice.Get_LF(GlobalFunc.SplKey).then(value => {\r\n if (value == null) {\r\n this.pService.start();\r\n this.httpService.getData('api/getSuppliers').subscribe(\r\n data => temp = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading service type from server!'),\r\n () => {\r\n lFservice.Set_LF(GlobalFunc.SplKey, temp).then(value => {\r\n this.suppliers = [];\r\n this.suppliers.push({ label: 'Select Suppliers', value: null });\r\n if (temp == undefined) return;\r\n temp.forEach(x => { this.suppliers.push({ label: x.ID, value: x.ID }) });\r\n this.pService.done();\r\n }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while setting data into Local!'));\r\n }\r\n );\r\n }\r\n else {\r\n this.suppliers = [];\r\n this.suppliers.push({ label: 'Select Suppliers', value: null });\r\n if (value == undefined) return;\r\n value.forEach(x => { this.suppliers.push({ label: x.ID, value: x.ID }) });\r\n }\r\n }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!'));\r\n }\r\n\r\n GetDropDownValue(): void {\r\n let ddvList: any = [];\r\n this.pService.start();\r\n this.httpService.getData('api/dropDownValue').subscribe(\r\n data => ddvList = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading decription from server!'),\r\n () => {\r\n if (ddvList) {\r\n this.oDropDownValueList = ddvList.filter(\r\n (obj, i, arr) => obj.Description != null && obj.Description != undefined && obj.Description != \"\" && (arr.findIndex(t => t.Description === obj.Description) === i)\r\n ).map(d => Object.assign({}, d)); //distinct & filter\r\n this.oDropDownValueList.sort((a, b) => a.Description > b.Description ? 1 : (b.Description > a.Description ? -1 : 0));\r\n //this.oDropDownValueList = ddvList.filter(v => v.Description != null && v.Description != undefined && v.Description != \"\").map(d => Object.assign({}, d));\r\n this.reBindDescriptionMultiSelect();\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n reBindDescriptionMultiSelect(): void {\r\n\r\n if (this.oDropDownValueList !== null && this.oDropDownValueList !== undefined) {\r\n if (this.job !== undefined && this.job !== null) {\r\n if (this.job.JOB !== undefined && this.job.JOB !== null && this.job.JOB !== \"\") {\r\n const ddvalueList = [];\r\n\r\n let tempSplitList = this.job.JOB.split(\",\", this.job.JOB.length - 1);\r\n\r\n if (tempSplitList != null && tempSplitList != undefined && tempSplitList.length > 0) {\r\n tempSplitList.map(d => {\r\n let ddvObj = this.oDropDownValueList.find(ddv => ddv.Description == d);\r\n if (ddvObj != null && ddvObj != undefined) {\r\n ddvalueList.push(ddvObj);\r\n }\r\n });\r\n\r\n this.dropdownValues = ddvalueList.map(d => Object.assign({}, d));\r\n this.selectedValues = this.job.JOB;\r\n //this.AssignDescriptionSelectedValue();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n AssignDescriptionSelectedValue() {\r\n if (this.dropdownValues !== null) {\r\n this.selectedValues = \"\";\r\n this.dropdownValues.map(ja => {\r\n this.selectedValues = this.selectedValues + (this.selectedValues != \"\" ? \", \" : \"\") + ja.Description;\r\n });\r\n }\r\n }\r\n\r\n onRowSelect(e: any) {\r\n this.AssignDescriptionSelectedValue();\r\n }\r\n\r\n onRowUnselect(e: any) {\r\n this.AssignDescriptionSelectedValue();\r\n }\r\n\r\n handleHeaderCheckboxToggle(e: any) {\r\n this.AssignDescriptionSelectedValue();\r\n }\r\n\r\n newJob() {\r\n return new Job(\r\n null, null, null, this.auth.DID, this.auth.UN, null, '', null, '', null, null, true, new Date(), 0, '', '', 'S', '', '', 0, null, '', '', null, '', false, null, 0, 0, 0,\r\n 0, 0, null, null, '', 0, this.auth.ScID, '', this.auth.UN, '', '', false, '', '', null, 0, '', '', null, null, [], ''\r\n );\r\n }\r\n\r\n getMCBSourceData(data): void {\r\n if (data == undefined) return;\r\n\r\n this.mcbs = [];\r\n let tmp = '';\r\n\r\n if (this.auth.DID !== null) {\r\n for (let mcb of data) {\r\n if (mcb.DID === this.auth.DID) {\r\n if (mcb.MoN !== tmp) {\r\n this.mcbs.push({ vir_label: mcb.MoN + \" / \" + mcb.CatN + \" / \" + mcb.BN, vir_value: mcb.MoID });\r\n }\r\n tmp = mcb.MoN;\r\n }\r\n }\r\n }\r\n else {\r\n for (let mcb of data) {\r\n if (mcb.MoN !== tmp) {\r\n this.mcbs.push({ vir_label: mcb.MoN + \" / \" + mcb.CatN + \" / \" + mcb.BN, vir_value: mcb.MoID });\r\n }\r\n tmp = mcb.MoN;\r\n }\r\n }\r\n }\r\n\r\n ServiceTypeDropDown(data: ServiceType[]): void {\r\n if (!data) return;\r\n\r\n this.servicetypes = [];\r\n this.servicetypes.push({ label: 'Select service type', value: null });\r\n\r\n // if (this.job) {\r\n // if (this.job.JID) {\r\n // for (let st of data) {\r\n // this.servicetypes.push({ label: st.STN, value: st.STID });\r\n // }\r\n // }\r\n // else {\r\n // if (!this.auth.DID) {\r\n // for (let st of data) {\r\n // this.servicetypes.push({ label: st.STN, value: st.STID });\r\n // }\r\n // }\r\n // else {\r\n // for (let st of data) {\r\n // if (st.DID == this.auth.DID) {\r\n // this.servicetypes.push({ label: st.STN, value: st.STID });\r\n // }\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n if ((this.job && this.job.JID) || (this.auth && !this.auth.DID)) {\r\n data.map(d => this.servicetypes.push({ label: d.STN, value: d.STID }));\r\n } else {\r\n data.map(d => {\r\n if (d.DID == this.auth.DID) {\r\n this.servicetypes.push({ label: d.STN, value: d.STID });\r\n }\r\n });\r\n }\r\n }\r\n\r\n LoginUserDropoDown(data: LoginUser[]) {\r\n if (data == undefined || this.job === undefined) return;\r\n\r\n this.loginusers = [];\r\n this.loginusers.push({ label: \"Select technician\", value: null });\r\n\r\n if (this.job.JID || !this.auth.DID) {\r\n for (let lu of data) {\r\n if (lu.UT == \"Service Technician\") {\r\n this.loginusers.push({ label: lu.Name + ' (' + lu.ScN + ')', value: lu.UN });\r\n }\r\n }\r\n }\r\n else {\r\n for (let lu of data) {\r\n if (this.auth.DID) {\r\n if (lu.UT == \"Service Technician\" && lu.DID === this.auth.DID && lu.ScID === this.auth.ScID) {\r\n this.loginusers.push({ label: lu.Name + ' (' + lu.ScN + ')', value: lu.UN });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // AccessoryDropDown(data: Accessory[]): void {\r\n // this.accessories = [];\r\n // if (data) {\r\n // for (let acces of data) {\r\n // this.accessories.push({ label: acces.AcsN, value: acces.AcsID });\r\n // }\r\n // this.ReBindAccessoryMultiSelect();\r\n // }\r\n // }\r\n\r\n ReBindAccessoryMultiSelect(): void {\r\n\r\n if (this._listofAccessory !== null && this._listofAccessory !== undefined) {\r\n if (this.job !== undefined && this.job !== null) {\r\n\r\n if (this.job.JobAccessories !== undefined && this.job.JobAccessories !== null) {\r\n const accessoryList = [];\r\n this.job.JobAccessories.map(j => {\r\n let accessoryObj = this._listofAccessory.find(acc => acc.AcsID === parseInt(j));\r\n if (accessoryObj !== null && accessoryObj !== undefined) {\r\n accessoryList.push(accessoryObj);\r\n }\r\n });\r\n\r\n this.jobAccessories = accessoryList.map(a => Object.assign({}, a));\r\n this.AssignAccessorySelectedValue();\r\n }\r\n }\r\n }\r\n }\r\n\r\n AssignAccessorySelectedValue() {\r\n if (this.jobAccessories !== null) {\r\n this.selectedAccessories = \"\";\r\n this.jobAccessories.map(ja => {\r\n this.selectedAccessories = this.selectedAccessories + (this.selectedAccessories != \"\" ? \", \" : \"\") + ja.AcsN;\r\n });\r\n }\r\n }\r\n\r\n onRowSelectAccessory(e: any) {\r\n this.AssignAccessorySelectedValue();\r\n }\r\n\r\n onRowUnselectAccessory(e: any) {\r\n this.AssignAccessorySelectedValue();\r\n }\r\n\r\n handleHeaderAccessoryCheckboxToggle(e: any) {\r\n this.AssignAccessorySelectedValue();\r\n }\r\n\r\n searchCus(event) {\r\n if (!event) return;\r\n if (event.query.length >= 4) {\r\n this.searchCustomer(event.query); \r\n }\r\n }\r\n\r\n onSearchSubmit(event) {\r\n if (!event) return;\r\n // if (event.query.length >= 5){ \r\n // this.searchCustomer(event.query);\r\n // } \r\n this.searchCustomer(event.target.value);\r\n }\r\n\r\n searchCustomer(name: string): void { \r\n //this.results = [];\r\n this.pService.start();\r\n let param = { name: name };\r\n this.httpService.postData('api/customer/customersearch', param).subscribe(\r\n data => {\r\n this.results = data || [];\r\n this.results.map(c => {\r\n c.vir_label = c.CN + \" / \" + c.Ph + (c.City ? \" / \" + c.City : \"\");\r\n c.vir_value = c.CID;\r\n });\r\n },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'),\r\n () => {\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n searchModl(event) {\r\n let qstring = event.query;\r\n if (qstring.length >= 2) {\r\n this.modlresults = [];\r\n for (let obj of this.mcbs) {\r\n if (obj.vir_label.toLowerCase().includes(qstring.toLowerCase())) { this.modlresults.push(obj); }\r\n }\r\n }\r\n }\r\n\r\n assignCustomer(cusObj: Customer) {\r\n if (cusObj) {\r\n let ind = this.results.findIndex(x => x.CID === cusObj.CID);\r\n if (ind >= 0) this.results[ind] = Object.assign({}, cusObj);\r\n else {\r\n this.results.push(Object.assign({}, cusObj))\r\n lFservice.Set_LF(GlobalFunc.CusKey, this.results);\r\n this.results.map(c => {\r\n c.vir_label = c.CN + \" / \" + c.Ph + (c.City ? \" / \" + c.City : \"\");\r\n c.vir_value = c.CID;\r\n });\r\n }\r\n this.customer = { vir_label: cusObj.CN + \" / \" + cusObj.Ph + (cusObj.City ? \" / \" + cusObj.City : \"\"), vir_value: cusObj.CID };\r\n this.unvalidCustomer = false;\r\n }\r\n else {\r\n let index = this.results.findIndex(cus => (this.customer && cus.vir_label === this.customer.vir_label));\r\n\r\n if (index < 0) {\r\n this.job.CID = null;\r\n this.unvalidCustomer = true;\r\n }\r\n }\r\n }\r\n\r\n autoCompleteSelect(caller) { \r\n if (caller === 'customer') {\r\n this.job.CID = this.customer.vir_value;\r\n this.unvalidCustomer = false;\r\n }\r\n else {\r\n this.job.MoID = this.model.vir_value;\r\n this.unvalidModel = false;\r\n }\r\n }\r\n\r\n autoCompleteBlur(caller) { \r\n if (caller === 'customer') {\r\n if (typeof this.customer === 'string') { \r\n this.unvalidCustomer = true;\r\n }\r\n }\r\n else {\r\n if (typeof this.model === 'string') {\r\n this.unvalidModel = true;\r\n }\r\n }\r\n }\r\n\r\n AssignJobAccessories() {\r\n if (this.jobAccessories !== null) {\r\n this.job.JobAccessories = [];\r\n this.jobAccessories.map(ja => {\r\n this.job.JobAccessories.push(ja.AcsID.toString());\r\n });\r\n }\r\n }\r\n\r\n AssignDescription() {\r\n if (this.dropdownValues !== null) {\r\n this.job.JOB = \"\";\r\n this.dropdownValues.map(ja => {\r\n this.job.JOB = this.job.JOB + (this.job.JOB != \"\" ? \",\" : \"\") + ja.Description;\r\n });\r\n }\r\n }\r\n\r\n CreateJob(isbtnCreate): void {\r\n this.job.CID = this.customer.vir_value;\r\n this.job.MoID = this.model.vir_value;\r\n\r\n if (this.unvalidModel || this.unvalidCustomer || !this.job.HAPP || !this.form.valid) return;\r\n\r\n this.AssignDescription();\r\n\r\n if ((this.job.CID === null || this.job.CID === '')\r\n || (this.job.STID === null || this.job.STID === '')\r\n || (this.job.MoID === null || this.job.MoID === '')\r\n || (this.job.JOB === null || this.job.JOB === '')\r\n || (this.job.JAT1 === null || this.job.JAT1 === '')\r\n ) {\r\n this.httpService.showToast(this.toastkey, 'error', 'Please, fill Require-Data !');\r\n this.showJobError = (this.job.JOB === null || this.job.JOB === '');\r\n return;\r\n }\r\n\r\n this.job.Customer = this.results.find(cus => cus.CID == this.job.CID);\r\n this.job.Model = this._listOfMon.find(m => m.MoID == this.job.MoID);\r\n\r\n if (this.job.JID !== null) this.jobmsgs = 'edit';\r\n else {\r\n this.jobmsgs = 'create';\r\n this.job.JDT = new Date();\r\n }\r\n this.isCreateJob = isbtnCreate;\r\n\r\n this.AssignJobAccessories();\r\n\r\n if (this.Warrantychecked) {\r\n this.job.SStat = 'a';\r\n this.job.TStat = 'c';\r\n }\r\n else {\r\n this.job.SStat = '';\r\n this.job.TStat = 'a';\r\n this.job.SuppN = '';\r\n }\r\n\r\n if (this.job.RSM == null) {\r\n this.job.RSM = '';\r\n }\r\n\r\n //if (!this.job.HAPP) this.job.APPDT = null;\r\n if (this.job.APPDT) {\r\n this.job.APPDT.setSeconds(0);\r\n this.job.APPDT.setMilliseconds(0);\r\n let apot_date = this.datepipe.transform(this.job.APPDT, 'dd-MMM-yyyy hh:mm a');\r\n if (!this.job.APDH) this.job.APDH = '';\r\n if (!this.job.APDH.includes(apot_date)) {\r\n this.job.APDH += (!this.job.APDH || this.job.APDH.endsWith(\",\") ? \"\" : \", \") + apot_date.toString();\r\n }\r\n }\r\n\r\n this.pService.start(); \r\n this.httpService.postData('api/job', this.job).subscribe(\r\n data => {\r\n this.job.JID = data.JID;\r\n this.job.JIDR = data.JIDR;\r\n },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!'),\r\n () => {\r\n if (!this.isPrint) {\r\n if (this.isCreateJob) this.navigationPage();\r\n }\r\n else {\r\n if (this.job) {\r\n this.router.navigate(['/jobprintview', this.job.JID]);\r\n }\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n cancelJob(): void {\r\n this.jobmsgs = 'cancel';\r\n this.navigationPage();\r\n }\r\n\r\n deleteJob() {\r\n if (this.auth.role == 'Admin' || this.auth.role == 'Service Manager' && (this.job.JID !== null && this.job.JID !== undefined)) {\r\n this.deleteModal.open();\r\n }\r\n }\r\n\r\n delJob() {\r\n this.deleteModal.close();\r\n\r\n if (this.job.JID !== null || this.job.JID !== undefined) {\r\n this.pService.start();\r\n this.httpService.postData('api/job/jobdelete', this.job.JID).subscribe(\r\n expdata => { },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while deleting job !') },\r\n () => {\r\n this.jobmsgs = 'del';\r\n this.pService.done();\r\n this.navigationPage();\r\n }\r\n );\r\n }\r\n }\r\n\r\n navigationPage() {\r\n if (this.isModal) {\r\n this.onClick.emit(this.jobmsgs);\r\n } else {\r\n this.router.navigate(['/joblist']);\r\n }\r\n }\r\n\r\n deleteModalDismiss() {\r\n this.deleteModal.dismiss();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n search(event): void {\r\n let query = event.query;\r\n this.filteredSuppN = [];\r\n for (let sup of this.suppliers) {\r\n let value = sup.label;\r\n if (value == null) return;\r\n if (value.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n this.filteredSuppN.push(value);\r\n }\r\n }\r\n }\r\n\r\n onJPTabOpenJobPhoto(): void {\r\n this.onJPTabOpen();\r\n this.visibleJP = true;\r\n }\r\n\r\n onJPTabOpen(): void {\r\n if (this.job.JID == null && this.job.JID == undefined) {\r\n this.isAccordion = true;\r\n this.CreateJob(false);\r\n }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.job.JID !== undefined) {\r\n let temp = [];\r\n this.pService.start();\r\n this.httpService.getData('api/actionlog/' + this.job.JID.toUpperCase() + '/' + 'Jobs').subscribe(\r\n data => temp = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'),\r\n () => {\r\n if (temp !== undefined) { this.actionlogs = temp; this.actionModal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!') }\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n SetAccessoryData(): void {\r\n lFservice.Set_LF(GlobalFunc.AcKey, this._listofAccessory);\r\n }\r\n\r\n SetCustomerData(): void {\r\n // lFservice.Set_LF(GlobalFunc.CusKey, this.results);\r\n }\r\n\r\n SetMCBData(): void {\r\n lFservice.Set_LF(GlobalFunc.MCBKey, this._listOfMon);\r\n }\r\n\r\n scanDeviceID(): void {\r\n this.job.DeviceID = '';\r\n this.didempty = false; this.jobbydidempty = false;\r\n this.scanDeviceIdModal.open();\r\n\r\n this.deviceID.nativeElement.focus();\r\n }\r\n\r\n OKDeviceID(): void {\r\n if (this.job.DeviceID == '') {\r\n this.didempty = true;\r\n if (this.jobbydidempty) {\r\n this.jobbydidempty = false;\r\n }\r\n this.deviceID.nativeElement.focus();\r\n }\r\n else {\r\n if (this.didempty) this.didempty = false;\r\n\r\n let tmp: any;\r\n this.pService.start();\r\n this.httpService.getData('api/job/getjobbydeviceId2/' + this.job.DeviceID).subscribe(\r\n data => { tmp = data[0] },\r\n err => {\r\n this.scanDeviceIdModal.close();\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting job data by device ID !');\r\n },\r\n () => {\r\n if (tmp == undefined) {\r\n this.jobbydidempty = true;\r\n this.job.DeviceID = '';\r\n this.deviceID.nativeElement.focus();\r\n }\r\n else {\r\n this.scanDeviceIdModal.close();\r\n this.job.CID = tmp.CID;\r\n this.job.MoID = tmp.MoID;\r\n this.job.STID = tmp.STID;\r\n this.job.JOB = tmp.JOB;\r\n\r\n let tpaCust = this.results.filter(cust => cust.vir_value === tmp.CID);\r\n if (tpaCust.length > 0) this.customer = tpaCust[0];\r\n let tpaMon = this.mcbs.filter(mcb => mcb.vir_value === tmp.MoID);\r\n if (tpaMon.length > 0) this.model = tpaMon[0];\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n }\r\n\r\n scanDeviceIdModalClose() {\r\n this.scanDeviceIdModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n onKeydownDId(event): void {\r\n if (event.keyCode == 13) {\r\n this.OKDeviceID();\r\n }\r\n }\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n curr_dt() {\r\n let curdt: Date;\r\n curdt = new Date();\r\n }\r\n\r\n RefreshModl() {\r\n this.pService.start();\r\n let temp = [];\r\n this.httpService.getData('api/job/getmcb').subscribe(\r\n data => temp = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'),\r\n () => {\r\n lFservice.Set_LF(GlobalFunc.MCBKey, temp).then(_value => {\r\n this._listOfMon = _value;\r\n this.getMCBSourceData(this._listOfMon);\r\n }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'));\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n\r\n\r\n ////////////////////////////////////////Scan Customer Data/////////////////////////////////////\r\n\r\n scanCustomerdata: string;\r\n cusInfo = { phone: '', name: '' };\r\n btnProcess: boolean;\r\n is450Width: boolean = false;\r\n\r\n scanCustomer() {\r\n this.btnProcess = false;\r\n this.scanCustomerModal.open();\r\n this.onInputFocus();\r\n }\r\n\r\n customerByPhone(phone: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (phone) {\r\n this.httpService.postData('api/customer/byphone/', { \"Ph\": phone }).subscribe(\r\n data => {\r\n resolve(data);\r\n },\r\n err => {\r\n this.httpService.showToast(this.cusScantoastkey, 'error', 'Error occurs while getting Customer by Phone!');\r\n reject(undefined);\r\n },\r\n )\r\n } else {\r\n this.httpService.showToast(this.cusScantoastkey, 'error', 'Error occurs while getting Customer by Phone!');\r\n resolve(undefined);\r\n }\r\n });\r\n }\r\n\r\n changedScanCustomer(event) {\r\n if (event.keyCode == 13) {\r\n let strAry = this.scanCustomerdata.split(\";\", 2);\r\n if (strAry && strAry.length > 0) {\r\n this.cusInfo.phone = strAry[0];\r\n this.cusInfo.name = strAry[1];\r\n this.customerByPhone(this.cusInfo.phone).then(customer => {\r\n if (customer) {\r\n this.assignCustomer(customer);\r\n this.closeScanCustomerModal();\r\n }\r\n else {\r\n this.getCustomerFormLinn();\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n getCustomerFormLinn() {\r\n if (this.cusInfo) {\r\n let param = { phoneNumber: this.cusInfo ? this.cusInfo.phone : '' };\r\n let tmpObj;\r\n this.httpService.linnPostData('customer/get-info', param).then(expdata => {\r\n tmpObj = expdata; \r\n if (tmpObj.responseCode === '1') {\r\n this.btnProcess = true;\r\n let customerObj = new Customer('', '', '', '', '', '', '', '', '', '');\r\n if (tmpObj && tmpObj.data !== undefined && tmpObj.data !== null) {\r\n customerObj.CID = 0;\r\n customerObj.CN = tmpObj.data.name;\r\n customerObj.City = tmpObj.data.addressTownship;\r\n customerObj.Em = '';\r\n customerObj.Ph = tmpObj.data.phoneNumber;\r\n customerObj.nEm = false;\r\n customerObj.nPh = true;\r\n customerObj.nSMS = true;\r\n customerObj.Addr = tmpObj.data.address;\r\n this.createCustomer(customerObj);\r\n }\r\n } else {\r\n this.scanCustomerdata = undefined;\r\n if (tmpObj.error && tmpObj.error.length > 0) {\r\n this.httpService.showToast(this.cusScantoastkey, 'error', tmpObj.error[0].errorMessage);\r\n } else {\r\n this.httpService.showToast(this.cusScantoastkey, 'error', tmpObj.responseMessage);\r\n }\r\n }\r\n }).catch(err => {\r\n this.scanCustomerdata = undefined;\r\n this.httpService.showToast(this.cusScantoastkey, 'error', tmpObj.responseMessage);\r\n });\r\n }\r\n }\r\n\r\n // getCustomerFormLinn() {\r\n // if (this.cusInfo) {\r\n // let param = { phoneNumber: this.cusInfo ? this.cusInfo.phone : '' };\r\n // let tmpObj;\r\n // this.httpService.linnPostData('customer/get-info', param).subscribe(\r\n // expdata => {\r\n // tmpObj = expdata;\r\n // if (tmpObj.responseCode === '1') {\r\n // this.btnProcess = true;\r\n // let customerObj = new Customer('', '', '', '', '', '', '', '', '', '');\r\n // if (tmpObj && tmpObj.data !== undefined && tmpObj.data !== null) {\r\n // customerObj.CID = 0;\r\n // customerObj.CN = tmpObj.data.name;\r\n // customerObj.City = tmpObj.data.addressTownship;\r\n // customerObj.Em = '';\r\n // customerObj.Ph = tmpObj.data.phoneNumber;\r\n // customerObj.nEm = false;\r\n // customerObj.nPh = true;\r\n // customerObj.nSMS = true;\r\n // customerObj.Addr = tmpObj.data.address;\r\n // this.createCustomer(customerObj);\r\n // }\r\n // } else {\r\n // this.scanCustomerdata = undefined;\r\n // if (tmpObj.error && tmpObj.error.length > 0) {\r\n // this.httpService.showToast(this.cusScantoastkey, 'error', tmpObj.error[0].errorMessage);\r\n // } else {\r\n // this.httpService.showToast(this.cusScantoastkey, 'error', tmpObj.responseMessage);\r\n // }\r\n // }\r\n // },\r\n // err => {\r\n // this.scanCustomerdata = undefined;\r\n // this.httpService.showToast(this.cusScantoastkey, 'error', tmpObj.responseMessage)\r\n // });\r\n // }\r\n // }\r\n\r\n createCustomer(customer): void {\r\n if (customer !== undefined) {\r\n this.httpService.postData('api/customer', customer).\r\n subscribe(\r\n data => { customer.CID = data },\r\n err => this.httpService.showToast(this.cusScantoastkey, 'error', 'Error occurs while inserting/updating data!'),\r\n () => {\r\n this.assignCustomer(customer);\r\n this.closeScanCustomerModal();\r\n }\r\n );\r\n }\r\n }\r\n\r\n onInputFocus() {\r\n setTimeout(() => {\r\n if (document.getElementById('scancustomerId')) {\r\n this.scancustomerId.nativeElement.focus();\r\n }\r\n });\r\n }\r\n\r\n onDismissScanCustomer() {\r\n this.httpService.AddClassToModal(this.isModal);\r\n this.scanCustomerdata = undefined;\r\n this.cusInfo = { phone: '', name: '' };\r\n }\r\n\r\n closeScanCustomerModal() {\r\n this.scanCustomerdata = undefined;\r\n this.cusInfo = { phone: '', name: '' };\r\n this.scanCustomerModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n //////////////////////////////////////////Customer Modal/////////////////////////////////////\r\n\r\n addNewCust() {\r\n this.isCusModalOpen = true;\r\n this.customerModal.open();\r\n }\r\n\r\n onCloseCustomerModal(customer: Customer) {\r\n this.isCusModalOpen = false;\r\n this.assignCustomer(customer);\r\n this.customerModal.close();\r\n\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n onDismissCustomerModal() {\r\n this.httpService.AddClassToModal(this.isModal);\r\n this.isCusModalOpen = false;\r\n }\r\n\r\n //////////////////////////////////////Model Modal/////////////////////////////////////\r\n addNewModel() {\r\n this.isModelModalOpen = true;\r\n this.modelModal.open();\r\n }\r\n\r\n onDismissModelModal() {\r\n this.Get_MCB();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n onCloseModelModal(moId) {\r\n this.isModelModalOpen = false;\r\n\r\n if (moId !== undefined) {\r\n this._listOfMon = [];\r\n this.pService.start();\r\n this.httpService.getData('api/job/getmcb').subscribe(\r\n data => {\r\n this._listOfMon = data || [];\r\n lFservice.Set_LF(GlobalFunc.MCBKey, this._listOfMon);\r\n this.getMCBSourceData(this._listOfMon);\r\n\r\n let mcb = this._listOfMon.filter(x => x.MoID === moId);\r\n if (mcb.length > 0) {\r\n this.model = { vir_label: mcb[0].MoN + \" / \" + mcb[0].CatN + \" / \" + mcb[0].BN, vir_value: mcb[0].MoID }\r\n this.unvalidModel = false;\r\n }\r\n },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'),\r\n () => {\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n else {\r\n let index = this.mcbs.findIndex(m => m.vir_label === this.model.vir_label);\r\n\r\n if (index < 0) {\r\n this.job.MoID = null;\r\n this.unvalidModel = true;\r\n }\r\n }\r\n this.modelModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n /////////////////////////////////////Accessory Modal/////////////////////////////////////\r\n\r\n accessoryModalOpen() {\r\n this.isAccessoryModalOpen = true;\r\n this.accessoryModal.open();\r\n }\r\n\r\n onCloseAccessoryModal(accessory: Accessory): void {\r\n if (accessory !== undefined) {\r\n if (this.jobAccessories == undefined) this.jobAccessories = [];\r\n let accesAry = this._listofAccessory.map(a => Object.assign({}, a));\r\n for (let aces of accesAry) {\r\n if (aces.AcsID == accessory.AcsID) {\r\n // this.jobAccessories.push(accessory.AcsID);\r\n this.jobAccessories.push(accessory);\r\n break;\r\n }\r\n else {\r\n this._listofAccessory.push(accessory);\r\n this.SetAccessoryData();\r\n // this.jobAccessories.push(accessory.AcsID);\r\n this.jobAccessories.push(accessory);\r\n break;\r\n }\r\n }\r\n }\r\n this.isAccessoryModalOpen = false;\r\n this.accessoryModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n handleKeyboardEvent(e: KeyboardEvent) {\r\n if (this.btnProcess) return;\r\n this.onInputFocus();\r\n }\r\n}","export class Job {\r\n constructor(\r\n public JID?,\r\n public JIDR?,\r\n public JDT?,\r\n public DID?,\r\n public JCUN?,\r\n public JAT1?,\r\n public JAT2?,\r\n public CID?,\r\n public JOB?,\r\n public STID?,\r\n\r\n public MoID?,\r\n public HAPP?,\r\n public APPDT?,\r\n public DAmo?,\r\n public OAcc?,\r\n public RC?,\r\n public JT?,\r\n public RT?,\r\n public TStat?,\r\n public TProg?,\r\n\r\n public TDnDT?,\r\n public TDBy?,\r\n public SStat?,\r\n public SDnDT?,\r\n public SDBy?,\r\n public Taken?,\r\n public TDT?,\r\n public SAmo?,\r\n public PAmo?,\r\n public TAmo?,\r\n\r\n public Crec?,\r\n public Chg?,\r\n public WSDT?,\r\n public WADT?,\r\n public WR?,\r\n public RCC?,\r\n public ScID?,\r\n public SuppN?,\r\n public UN?,\r\n public DeviceID?,\r\n public RSM?,\r\n public FOC?,\r\n\r\n public STN?,\r\n public MoN?,\r\n public JobAccessories?,\r\n public HasPhoto?,\r\n\r\n public Imei?,\r\n public JK?,\r\n public Customer?,\r\n public Model?,\r\n public JobPhotos?,\r\n public APDH?,//Appointment date history\r\n ) { }\r\n}","import { Component, OnInit, ViewChild, Input, OnDestroy, OnChanges } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { UUID } from 'angular2-uuid';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { AuthService } from '../service/authservice';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n\r\n//Model\r\nimport { StockItem } from '../stockitem/stockitem';\r\nimport { JobPart } from '../job/jobpart';\r\nimport { StockInHandStatus } from '../job/stockinhandstatus';\r\n\r\n@Component({\r\n selector: 'i-jobpart',\r\n templateUrl: './jobpart.component.html'\r\n})\r\n\r\nexport class JobPartCP implements OnInit, OnDestroy, OnChanges {\r\n @Input() JID: string;\r\n @Input() DID: number;\r\n @Input() displayPrintStyle: boolean;\r\n @Input() brandName: string;\r\n @Input() isModal: boolean = false;\r\n\r\n @ViewChild('actionModal', { static: false }) actionModal: BsModalComponent;\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n public toggle: boolean = false;\r\n public selectedChk: JobPart[];\r\n public selectedData: JobPart;\r\n public actionlogs: any[];\r\n public stockitems: SelectItem[];\r\n public _stockitemsList: StockItem[];\r\n public isNew: boolean = false;\r\n public jobparts: JobPart[] = [];\r\n public jobPartForm: FormGroup;\r\n public stockinHandStatus: StockInHandStatus;\r\n public ifValueChanged: boolean = false;\r\n public toastkey = \"i-jobpart\";\r\n // @ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public auth: AuthService) {\r\n this.stockinHandStatus = new StockInHandStatus();\r\n\r\n this.jobparts = [];\r\n }\r\n\r\n CreateForm(): void {\r\n this.jobPartForm = this.fb.group({\r\n 'JPID': new FormControl(),\r\n 'JID': new FormControl(''),\r\n 'SID': new FormControl(0, Validators.required),\r\n 'SN': new FormControl(''),\r\n 'Cat': new FormControl(''),\r\n 'Rqty': new FormControl(0),\r\n 'Stus': new FormControl(''),\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n // this.CreateForm();\r\n // this.getStockItemDDown();\r\n\r\n // if (this.JID != undefined) {\r\n // this.GetJobParts();\r\n // }\r\n }\r\n\r\n ngOnDestroy() {\r\n // this.JID=undefined;\r\n // this.jobparts=[];\r\n }\r\n\r\n ngOnChanges(event) {\r\n // if(this.jobparts.length>0){\r\n // this.jobparts=[];\r\n // }\r\n\r\n this.CreateForm();\r\n this.getStockItemDDown();\r\n\r\n if (this.JID) {\r\n this.GetJobParts();\r\n }\r\n }\r\n\r\n GetJobParts() {\r\n let temp = [];\r\n this.httpService.getData('api/getjobpart/' + this.JID + '/' + UUID.UUID()).subscribe(\r\n data => {\r\n temp = data;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.jobparts = temp;\r\n });\r\n }\r\n\r\n RefreshData(): void {\r\n let temp = [];\r\n if (this.JID == undefined) return;\r\n this.httpService.getData('getjobpart/' + this.JID).subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.jobparts = temp;\r\n });\r\n }\r\n\r\n getStockItemDDown() {\r\n this._stockitemsList = [];\r\n this.stockitems = [];\r\n this.stockitems.push({ label: 'Select stockitem', value: null });\r\n\r\n this.httpService.getData('api/stockitembydid/' + (this.auth.DID ? this.auth.DID : this.DID)).subscribe(\r\n expdata => { this._stockitemsList = expdata },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n for (let si of this._stockitemsList) {\r\n if (this.brandName && this.brandName !== '') {\r\n if (si.SN.includes(this.brandName)) {\r\n this.stockitems.push({ label: si.SN + \" / \" + si.Cat + \" / \" + si.SID, value: si.SID });\r\n }\r\n }\r\n else {\r\n this.stockitems.push({ label: si.SN + \" / \" + si.Cat + \" / \" + si.SID, value: si.SID });\r\n\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n findStockItem(): void {\r\n let i;\r\n let len = this.stockitems.length;\r\n for (i = 0; i < len; i++) {\r\n if (this._stockitemsList[i].SID === this.jobPartForm.controls['SID'].value) {\r\n this.jobPartForm.controls['SN'].patchValue(this._stockitemsList[i].SN);\r\n this.jobPartForm.controls['Cat'].patchValue(this._stockitemsList[i].Cat);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.ifValueChanged = false;\r\n this.isNew = true;\r\n this.CreateForm();\r\n this.jobPartForm.controls['JID'].patchValue(this.JID);\r\n this.entryModal.open();\r\n }\r\n showDialogToEdit(jobpart: JobPart): void {\r\n this.isNew = false;\r\n this.CreateForm();\r\n this.stockitemChange(jobpart.SID);\r\n this.selectedData = jobpart;\r\n\r\n this.jobPartForm.patchValue({ JPID: jobpart.JPID, JID: this.JID, SID: jobpart.SID, Rqty: jobpart.Rqty });\r\n this.entryModal.open();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != undefined) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedData != undefined) {\r\n let temp = [];\r\n this.httpService.getData('api/actionlog/' + this.selectedData.JPID.toUpperCase() + '/' + 'JobParts').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) { this.actionlogs = temp; this.actionModal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!'); }\r\n });\r\n }\r\n }\r\n\r\n entryModalClose() {\r\n this.entryModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n stockitemChange(val): void {\r\n if (val != 0 && val != null) {\r\n\r\n this.ifValueChanged = true;\r\n let temp = [];\r\n this.httpService.getData('api/jobpartstatus/' + val + '/' + this.auth.ScID).subscribe(\r\n data => {\r\n this.stockinHandStatus.StockInHand = data.StockInHand;\r\n this.stockinHandStatus.Status = data.Status;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => { });\r\n }\r\n }\r\n\r\n saveData(): void {\r\n if (this.JID == undefined) return;\r\n if (this.jobPartForm == undefined) return;\r\n\r\n this.jobPartForm.controls[\"Stus\"].patchValue(this.stockinHandStatus.Status);\r\n\r\n this.httpService.postData('api/jobpart', this.jobPartForm.value).\r\n subscribe(\r\n data => {\r\n if (this.isNew) {\r\n this.jobPartForm.controls['JPID'].patchValue(data.JPID);\r\n this.jobPartForm.controls['Stus'].patchValue(data.Stus);\r\n this.findStockItem();\r\n this.jobparts.unshift(this.jobPartForm.value);\r\n }\r\n else {\r\n this.jobPartForm.controls['Stus'].patchValue(data.Stus);\r\n this.findStockItem();\r\n this.jobparts[GlobalFunc.findSelectedIndex(this.jobparts, this.selectedData)] = this.jobPartForm.value;\r\n }\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.entryModalClose();\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n deleteData(): void {\r\n let jp = this.selectedChk;\r\n jp.forEach(value => {\r\n this.httpService.postData('api/job/jobpartdelete/', value.JPID).subscribe(\r\n data => {\r\n this.jobparts.splice(GlobalFunc.findSelectedIndex(this.jobparts, value), 1);\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while deleting data!');\r\n this.pService.done();\r\n },\r\n () => { this.httpService.showToast(this.toastkey, 'success', 'Successfully deleted'); }\r\n );\r\n });\r\n\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n }\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n}","import { Component, ViewChild, Input, OnInit } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n//Model\r\nimport { JobPhoto } from '../job/jobphoto';\r\n\r\n@Component({\r\n selector: 'i-jobphoto',\r\n templateUrl: './jobphoto.component.html'\r\n})\r\n\r\nexport class JobPhotoCP implements OnInit {\r\n @Input() JID: string;\r\n @Input() jobPhotos: JobPhoto[] = [];\r\n @ViewChild('confirmModal', { static: false }) confirmModal: BsModalComponent;\r\n public deleteJPID: string;\r\n src: string = \"\";\r\n //jobphotos: JobPhoto[] = [];\r\n public toastkey = \"i-jobphoto\";\r\n\r\n // resizeOptions: ResizeOptions = {\r\n // resizeMaxHeight: 256,\r\n // resizeMaxWidth: 256\r\n // };\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public auth: AuthService) { }\r\n\r\n ngOnInit(){\r\n \r\n if(this.jobPhotos !== null && this.jobPhotos !== undefined){\r\n this.jobPhotos.map(jp=>{\r\n jp.Photo = \"data:image/png;base64,\" + jp.Photo;\r\n });\r\n }\r\n }\r\n\r\n // selected(imageResult: ImageResult) {\r\n // this.src = imageResult.resized && imageResult.resized.dataURL || imageResult.dataURL;\r\n // }\r\n\r\n confirmDelete(jpid: string) {\r\n this.deleteJPID = jpid;\r\n this.confirmModal.open();\r\n }\r\n\r\n deletePhoto() {\r\n // let index: number = -1;\r\n // for (var _index in this.jobphotos) {\r\n // if (this.jobphotos[_index].JPID == this.deleteJPID) {\r\n // index = parseInt(_index);\r\n // }\r\n // }\r\n const index = this.jobPhotos.findIndex(jp => jp.JPID == this.deleteJPID);\r\n if (index >= 0) {\r\n this.httpService.postData('api/jobphotodelete', this.deleteJPID).subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while deleting data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.jobPhotos.splice(index, 1);\r\n this.confirmModal.close();\r\n }\r\n );\r\n }\r\n }\r\n\r\n add() {\r\n let jobphoto = new JobPhoto();\r\n jobphoto.JID = this.JID;\r\n jobphoto.JPID = undefined;\r\n jobphoto.Photo = this.src;\r\n\r\n this.httpService.postData('api/jobphoto', jobphoto).subscribe(\r\n data => { jobphoto.JPID = data.JPID; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => { \r\n if(this.jobPhotos !== null && this.jobPhotos !== undefined){\r\n this.jobPhotos.push(jobphoto);\r\n this.src = '';\r\n }\r\n \r\n });\r\n \r\n \r\n }\r\n\r\n cancel() {\r\n this.src = '';\r\n }\r\n \r\n fileChangeListener($event) {\r\n if ($event.target === undefined) return;\r\n var image:any = new Image();\r\n var myReader:FileReader = new FileReader();\r\n var that = this;\r\n\r\n this.resizeImage($event.target.files[0],1000,1000).then(blob=>{\r\n myReader.onloadend = function (loadEvent:any) {\r\n image.src = loadEvent.target.result;\r\n that.src = loadEvent.target.result;\r\n };\r\n myReader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\n resizeImage(file:File, maxWidth:number, maxHeight:number):Promise {\r\n return new Promise((resolve, reject) => {\r\n let image = new Image();\r\n image.src = window.URL.createObjectURL(file);\r\n image.onload = () => {\r\n let width = image.width;\r\n let height = image.height;\r\n \r\n if (width <= maxWidth && height <= maxHeight) {\r\n resolve(file);\r\n }\r\n \r\n let newWidth;\r\n let newHeight;\r\n \r\n if (width > height) {\r\n newHeight = height * (maxWidth / width);\r\n newWidth = maxWidth;\r\n } else {\r\n newWidth = width * (maxHeight / height);\r\n newHeight = maxHeight;\r\n }\r\n \r\n let canvas = document.createElement('canvas');\r\n canvas.width = newWidth;\r\n canvas.height = newHeight;\r\n \r\n let context = canvas.getContext('2d');\r\n \r\n context.drawImage(image, 0, 0, newWidth, newHeight);\r\n \r\n canvas.toBlob(resolve, file.type);\r\n };\r\n image.onerror = reject;\r\n });\r\n }\r\n}","export class JobPhoto {\r\n constructor(public JPID?, public JID?, public Photo?) { }\r\n}","import { Component, OnInit, Input, ViewChild } from '@angular/core';\r\n\r\n//Third Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { JobPhoto } from './jobphoto';\r\n\r\n@Component({\r\n selector: 'i-jobphotoview',\r\n templateUrl: './jobphotoview.component.html'\r\n})\r\n\r\nexport class JobPhotoViewCP implements OnInit {\r\n @Input() JID: string;\r\n\r\n public jobphotos: JobPhoto[];\r\n public toastkey = \"i-jobphotoview\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices) { }\r\n\r\n ngOnInit() {\r\n this.GetJobPhoto();\r\n }\r\n\r\n GetJobPhoto() {\r\n let temp = [];\r\n if (this.JID != undefined) {\r\n this.httpService.getData('api/getjobphoto/' + this.JID).subscribe(\r\n data => {\r\n temp = data;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => { this.jobphotos = temp; });\r\n }\r\n }\r\n}","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n//Third Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n//Model\r\nimport { JobViewModel } from '../joblist/jobviewmodel';\r\nimport { MCB } from '../job/mcb';\r\n\r\n@Component({\r\n selector: 'i-jobprintview',\r\n templateUrl: './jobprintview.component.html'\r\n})\r\n\r\nexport class JobPrintViewCP implements OnInit, OnDestroy {\r\n public jvm: JobViewModel;\r\n public _listOfMon: MCB[] = [];\r\n public jid: string;\r\n public sub: any;\r\n public toastkey = \"i-jobprintview\";\r\n\r\n public Qrdata: string = '';\r\n // @ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public currentRoute: ActivatedRoute, public router: Router, public loca: Location, public auth: AuthService) {\r\n this.sub = this.currentRoute.params.subscribe(param => {\r\n this.jid = param['jid'];\r\n });\r\n this.jvm = new JobViewModel();\r\n }\r\n\r\n ngOnInit() {\r\n this.GetJobByID();\r\n }\r\n ngOnDestroy() {\r\n this.sub.unsubscribe();\r\n }\r\n\r\n printjob() {\r\n window.print();\r\n }\r\n\r\n goBack() {\r\n this.loca.back();\r\n }\r\n\r\n GetJobByID() {\r\n this.httpService.getData('api/jobprintview/' + this.jid).subscribe(\r\n data => {\r\n this.jvm = data;\r\n this.Qrdata = 'http://view.linnservice.com/#/jobdetail/' + this.jvm.JID;//this.jvm.JIDR;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.jvm.Addr = this.auth.Addr;\r\n this.jvm.ScN = this.auth.ScN;\r\n });\r\n }\r\n}","export class StockInHandStatus {\r\n constructor(public StockInHand?, public Status?) { }\r\n}","import { Component, OnInit, ViewChild, NgZone, OnDestroy, AfterViewInit,HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { Observable } from 'rxjs';\r\nimport { Table } from 'primeng/table';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { lFservice } from '../service/lFservice';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { JobListQuery } from '../joblist/joblistquery';\r\nimport { JobViewModel } from '../joblist/jobviewmodel';\r\nimport { Customer } from '../customer/customer';\r\nimport { Job } from '../job/job';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\n\r\n@Component({\r\n selector: 'i-joblist',\r\n templateUrl: './joblist.component.html'\r\n})\r\nexport class JobListCP implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('confirmModal', { static: false }) confirmModal: BsModalComponent;\r\n @ViewChild('jobdoneModal', { static: false }) jobdoneModal: BsModalComponent;\r\n @ViewChild('jobModal', { static: false }) jobModal: BsModalComponent;\r\n @ViewChild('customerTakenModal', { static: false }) customerTakenModal: BsModalComponent;\r\n @ViewChild('serviceCenterModal', { static: false }) serviceCenterModal: BsModalComponent;\r\n @ViewChild('rsm', { static: false }) rsm;\r\n @ViewChild('pdt', { static: false }) pdt;\r\n @ViewChild('confirmSMDoneModal', { static: false }) confirmSMDoneModal: BsModalComponent;\r\n @ViewChild('table', { static: false }) table: Table;\r\n\r\n @ViewChild('UnRepairModal', { static: false }) UnRepairModal: BsModalComponent;\r\n\r\n public jobs: JobViewModel[] = [];\r\n public joblistquery: JobListQuery;\r\n public printMode: boolean = false;\r\n public techDoneRadioVal: string;\r\n public jobv: JobViewModel;\r\n public customer: Customer;\r\n public srObjT: any;\r\n public srObjSM: any;\r\n public srObjJ: any;\r\n public srCenterChanged;\r\n public pRadioReChk: boolean = false;\r\n\r\n public job: any;\r\n public jobmodaltitle = '';\r\n public showJobDoneDialog: boolean = false;\r\n public jobVPs: any[] = [];\r\n public techName: string = '';\r\n public tmpdate: Date;\r\n public tmpjv: JobViewModel;\r\n public smDoneRadioVal: string;\r\n public filteredjobs: any[] = [];\r\n public selectedJobStatus: string = '';\r\n public tmpscid: number;\r\n public sourcedata: any[] = [];\r\n public totalRecords: number;\r\n public subobj: any;\r\n public showTaken: boolean;\r\n public showServiceCenter: boolean;\r\n public toastkey = \"i-joblist\";\r\n\r\n public jid: string;\r\n public showJobModal: boolean;\r\n\r\n public jobstatusddown = [\r\n { label: 'Service Manager Done', value: 'Service Manager Done' },\r\n { label: 'Technician Done', value: 'Technician Done' },\r\n // { label: 'Hardware YGN', value: 'Hardware YGN' },\r\n // { label: 'Hardware MDY', value: 'Hardware MDY' },\r\n { label: 'Waiting Part', value: 'Waiting Part' },\r\n // { label: 'Part Done', value: 'Part Done' },\r\n { label: 'Waiting Customer Reply', value: 'Waiting Customer Reply' },\r\n { label: 'Waiting Warranty', value: 'Waiting Warranty' },\r\n { label: 'Work In Progress', value: 'Work In Progress' },\r\n { label: 'Unable to repair', value: 'Unable to repair' },\r\n { label: 'Customer Cancel', value: 'Customer Cancel' }\r\n ];\r\n public _searchdata: string = '';\r\n\r\n public statusVal: string;\r\n public reAssigCheck: boolean;\r\n public technicians: any[];\r\n public assignedTechs: any[];\r\n public jobShift: any;\r\n public tsourcedata: any[];\r\n public scsourcedata: ServiceCenter[];\r\n public servicecenterlist: any[] = [];\r\n\r\n public searchType: string = '';\r\n\r\n // public tmpScId : string = '';\r\n // public scddown: SelectItem[] = [];\r\n // public scList;\r\n\r\n jobRemark: any;\r\n isExpWidth: boolean;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router, public auth: AuthService, public _ngZone: NgZone, public _dataChanged: DataChangedEvent) {\r\n // router.navigateByUrl(\"www.linnservice.com/currentjob.csv\");\r\n\r\n //this.scddown.push({ value: null, label: '- Select Service Center -' });\r\n\r\n this.showTaken = false;\r\n this.jobv = new JobViewModel();\r\n this.customer = new Customer();\r\n this._searchdata = null;\r\n\r\n\r\n //this.selectedJobStatus = this.jobstatusddown[0].value;\r\n //this.joblistquery = new JobListQuery('c', 'a', new Date(), new Date(), this.auth.ScID == null ? -1 : this.auth.ScID, this.auth.DID == null ? -1 : this.auth.DID);\r\n this.joblistquery = new JobListQuery(this.selectedJobStatus, 'a', new Date(), new Date(), this.auth.ScID == null ? -1 : this.auth.ScID, this.auth.DID == null ? -1 : this.auth.DID);\r\n\r\n this.statusVal = '';\r\n this.reAssigCheck = false;\r\n this.technicians = [];\r\n this.assignedTechs = [];\r\n this.jobShift = { JID: null, JAT1: null, Status: '' };\r\n this.tsourcedata = [];\r\n\r\n /// service center Changed\r\n this.srCenterChanged = _dataChanged.jobServiceCenterChanged.subscribe(\r\n srDataObj => {\r\n if (this.selectedJobStatus === srDataObj.Obj.JobState) {\r\n this._ngZone.run(() => {\r\n this.RefreshData();\r\n });\r\n }\r\n },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!')\r\n )\r\n\r\n ////job changed\r\n this.srObjJ = _dataChanged.jobChanged.subscribe(\r\n srDataJ => {\r\n if (srDataJ.Msg === 'deleted' && srDataJ.Value2 && this.selectedJobStatus === srDataJ.Value2.JobState && this.auth.ScID === srDataJ.Value2.ScID) {\r\n this._ngZone.run(() => {\r\n this.RefreshData();\r\n });\r\n }\r\n else if (srDataJ.Obj && this.selectedJobStatus === srDataJ.Obj.JobState && this.auth.ScID === srDataJ.Obj.ScID) {\r\n this._ngZone.run(() => {\r\n this.RefreshData();\r\n });\r\n }\r\n },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!')\r\n );\r\n ////technician status changed\r\n this.srObjT = _dataChanged.jobTStatusChanged.subscribe(\r\n srDataT => {\r\n if (srDataT.Value2 && this.auth.ScID == srDataT.Value2.ScID) {\r\n this._ngZone.run(() => {\r\n this.RefreshData();\r\n });\r\n }\r\n },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!') }\r\n\r\n );\r\n ////service manager status changed\r\n this.srObjSM = _dataChanged.jobSmStatusChanged.subscribe(\r\n srDataSM => {\r\n //need to modify Emit Data in app.component\r\n if (srDataSM.Value2 && this.auth.ScID == srDataSM.Value2.ScID) {\r\n this._ngZone.run(() => {\r\n this.RefreshData();\r\n });\r\n }\r\n },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!') }\r\n );\r\n ////loginuser chnaged\r\n this.srObjSM = _dataChanged.loginUserChanged.subscribe(\r\n srLU => {\r\n this._ngZone.run(() => {\r\n this.Get_ServiceTechnician();\r\n });\r\n },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading loginuser(Technicians) from server!') }\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.getLocalJobStatus().then(exp=>{\r\n if(exp){\r\n this.RefreshData();\r\n }\r\n });\r\n \r\n this.Get_ServiceTechnician();\r\n this.Get_ServiceCenter();\r\n this.searchType = 'JID';\r\n if (this.auth != null || this.auth != undefined) this.tmpscid = this.auth.ScID;\r\n }\r\n\r\n ngAfterViewInit(){\r\n this.isExpWidth = window.innerWidth < 700;\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.srObjT != undefined) this.srObjT.unsubscribe();\r\n if (this.srObjSM != undefined) this.srObjSM.unsubscribe();\r\n if (this.srObjJ != undefined) this.srObjJ.unsubscribe();\r\n if (this.srCenterChanged != undefined) this.srCenterChanged.unsubscribe();\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n resize(e) {\r\n this.isExpWidth = window.innerWidth < 700;\r\n }\r\n\r\n getLocalJobStatus(): Promise {\r\n return new Promise((resolve) => {\r\n lFservice.Get_LF(\"currentjobs_jobstatus\").then(value => {\r\n if (value == null) {\r\n this.selectedJobStatus = this.jobstatusddown[0].value;\r\n }\r\n else {\r\n this.selectedJobStatus = value;\r\n }\r\n resolve(true);\r\n }).catch(err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!');\r\n resolve(false);\r\n });\r\n });\r\n }\r\n\r\n\r\n in_upd_Bcast(_jvm, notjobchange, val1 = null) {\r\n let index = this.jobs.findIndex(j => j.JID === _jvm.JID);\r\n if (index >= 0) {\r\n this.jobs[index] = _jvm;\r\n } else {\r\n this.jobs.unshift(_jvm);\r\n }\r\n\r\n this.jobs = this.jobs.filter(j => j.Taken === false);\r\n lFservice.Set_LF(GlobalFunc.CJKey, this.jobs);\r\n\r\n if (val1) {\r\n this.httpService.getData('api/getjobshift/' + _jvm.JID).subscribe(\r\n data => {\r\n lFservice.Set_LF(_jvm.JID, data);\r\n },\r\n err => {\r\n },\r\n () => {\r\n });\r\n }\r\n\r\n\r\n if (this.selectedJobStatus === _jvm.JobState) {\r\n\r\n let idx = this.sourcedata.findIndex(x => x.JID === _jvm.JID);\r\n if (idx >= 0) {\r\n this.sourcedata[idx] = _jvm;\r\n this.sourcedata = this.sourcedata.filter(j => j.Taken === false); // not good\r\n\r\n let idx1 = this.filteredjobs.findIndex(xx => xx.JID === _jvm.JID);\r\n if (idx1 >= 0) {\r\n this.filteredjobs[idx1] = _jvm;\r\n this.filteredjobs = this.filteredjobs.filter(j => j.Taken === false); // not good\r\n let btn = document.getElementById('customerSpan');\r\n if (btn) {\r\n btn.click();\r\n }\r\n }\r\n }\r\n else {\r\n this.sourcedata.unshift(_jvm);\r\n this.sourcedata = this.sourcedata.filter(j => j.Taken === false); // not good\r\n\r\n this.sourcedata.sort((a, b) => a.JDT < b.JDT ? 1 : (b.JDT < a.JDT ? -1 : 0));\r\n\r\n if (this.table && this.table['first'] === 0) {\r\n this.filteredjobs.unshift(_jvm);\r\n this.filteredjobs = this.filteredjobs.filter(j => j.Taken === false); // not good\r\n\r\n\r\n let btn = document.getElementById('customerSpan');\r\n if (btn) {\r\n btn.click();\r\n }\r\n }\r\n\r\n this.totalRecords = this.sourcedata.length;\r\n }\r\n }\r\n else {\r\n if (notjobchange) {\r\n let idx = this.sourcedata.findIndex(x => x.JID === _jvm.JID);\r\n if (idx >= 0) {\r\n this.sourcedata.splice(idx, 1);\r\n this.sourcedata = this.sourcedata.filter(j => j.Taken === false); // not good\r\n\r\n let idx1 = this.filteredjobs.findIndex(x => x.JID === _jvm.JID);\r\n if (idx1 >= 0) {\r\n this.filteredjobs.splice(idx1, 1);\r\n this.filteredjobs = this.filteredjobs.filter(j => j.Taken === false); // not good\r\n\r\n let btn = document.getElementById('customerSpan');\r\n if (btn) {\r\n btn.click();\r\n }\r\n }\r\n this.totalRecords = this.sourcedata.length;\r\n }\r\n }\r\n else {\r\n this.filterJobs(this.selectedJobStatus);\r\n }\r\n }\r\n }\r\n\r\n RefreshData() {\r\n this.joblistquery.Type = this.selectedJobStatus;\r\n\r\n this.pService.start();\r\n this.httpService.postData('api/currentjoblist', this.joblistquery).subscribe(\r\n data => {\r\n this.jobs = data[0] || [];\r\n this.jobs = this.jobs.filter(j => j.Taken === false); // not good\r\n this.jobRemark = data[1];\r\n lFservice.Set_LF(GlobalFunc.CJKey, this.jobs).then(value => { }).catch(err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while setting data into Local!'));\r\n\r\n this.filterJobs(this.selectedJobStatus);\r\n this.pService.done();\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading current jobs from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n\r\n }\r\n );\r\n }\r\n\r\n filterJobs(jobstatus = undefined) {\r\n this.sourcedata = [];\r\n this.filteredjobs = [];\r\n let tempJobs = this.jobs.filter(j => j.Taken === false && j.JobState === jobstatus); // not good\r\n this.sourcedata = tempJobs.map(j => Object.assign({}, j));\r\n this.sourcedata.sort((a, b) => a.JDT < b.JDT ? 1 : (b.JDT < a.JDT ? -1 : 0));\r\n this.totalRecords = this.sourcedata.length;\r\n //this.filteredjobs = this.sourcedata.slice(0, 20); \r\n this.filteredjobs = this.sourcedata.map(a => Object.assign({}, a));\r\n let tmp = this.filteredjobs.filter(obj => !obj.CNPh && !obj.MoNSTN);\r\n if (tmp.length > 0) {\r\n this.RefreshData();\r\n }\r\n\r\n //if (this.table) this.table.paginate({ first: 0, rows: 20 });\r\n }\r\n\r\n jobStatusChanged(event) {\r\n if (!event) return;\r\n this.selectedJobStatus = event.value;\r\n this.searchType = 'JID';\r\n this._searchdata = '';\r\n\r\n lFservice.Set_LF('currentjobs_jobstatus', this.selectedJobStatus);\r\n this.RefreshData();\r\n //this.filterJobs(event.value);\r\n }\r\n\r\n goSMDone(jv: JobViewModel) {\r\n this.jobv = jv;\r\n this.smDoneRadioVal = '';\r\n this.confirmSMDoneModal.open();\r\n }\r\n gotoCusTaken() {\r\n this.confirmSMDoneModal.close();\r\n this.changeJobViewToJob(this.jobv);\r\n this.getJobDescription();\r\n this.getTechName();\r\n this.showTaken = true;\r\n this.customerTakenModal.open();\r\n }\r\n\r\n onClickCusTake() {\r\n this.showTaken = false;\r\n this.customerTakenModal.close();\r\n if (this.job != undefined) this.job = undefined;\r\n }\r\n\r\n gotoServiceCenter(jv: JobViewModel = undefined) {\r\n if (jv) {//for work in process chnaged service center\r\n this.jobv = jv;\r\n }\r\n this.confirmSMDoneModal.close();\r\n this.showServiceCenter = true;\r\n this.serviceCenterModal.open();\r\n }\r\n\r\n onClickServiceCenter() {\r\n this.httpService.postData('api/jobs/UpdateServiceCenter/' + this.jobv.JID + '/' + this.tmpscid, null).subscribe(\r\n data => {\r\n // this.RefreshData();\r\n this.showServiceCenter = false;\r\n this.serviceCenterModal.close();\r\n if (this.job != undefined) this.job = undefined;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!');\r\n },\r\n );\r\n }\r\n\r\n goTechDoneBySM(jv: JobViewModel): void {\r\n if (jv != undefined || this.jobv != undefined) {\r\n this.jobv = jv;\r\n this.techDoneRadioVal = '';\r\n this.confirmModal.open();\r\n this.pRadioReChk = false;\r\n }\r\n }\r\n\r\n gotoCreateJob() {\r\n // this.jobmodaltitle = 'Create Job';\r\n // this.showJobModal = true;\r\n // this.jid = null;\r\n // this.jobModal.open();\r\n\r\n this.router.navigate(['/createjob']);\r\n\r\n }\r\n\r\n goEdit(jv): void {\r\n this.jobmodaltitle = 'Edit Job';\r\n this.jid = jv.JID;\r\n this.showJobModal = true;\r\n this.jobModal.open();\r\n }\r\n\r\n supStatusChanges(): void {\r\n this.confirmModal.close();\r\n this.confirmSMDoneModal.close();\r\n if (this.jobv) {\r\n if (this.techDoneRadioVal == \"Re-Check\" || this.smDoneRadioVal == \"Re-Check\") {\r\n this.jobv.SStat = 'b';\r\n this.jobv.TStat = 'a';\r\n this.jobv.SDnDT = null;\r\n this.httpService.postData('api/jobsupervisorrecheck2', this.jobv).subscribe(\r\n data => {\r\n this.smDoneRadioVal = this.techDoneRadioVal = '';\r\n },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!'),\r\n () => {\r\n });\r\n }\r\n else {\r\n this.showJobDoneDialog = true;\r\n this._ngZone.run(() => {\r\n this.jobv.SStat = 'c';\r\n this.jobv.SDnDT = new Date();\r\n this.getCustomerByID();\r\n this.jobdoneModal.open();\r\n });\r\n }\r\n }\r\n }\r\n\r\n ReceiveEmitClick() {\r\n this.jobdoneModal.close();\r\n this.showJobDoneDialog = false;\r\n this.jobv.JobState = 'Service Manager Done';\r\n this._ngZone.run(() => { this.in_upd_Bcast(this.jobv, true); });\r\n }\r\n\r\n onClickEmit(event) {\r\n this.showJobModal = false;\r\n this.jobModal.close();\r\n if (this.jid != undefined) this.jid = undefined;\r\n this.searchType = 'JID';\r\n this._searchdata = '';\r\n }\r\n\r\n canEdit(): boolean {\r\n if (this.printMode) return true;\r\n else {\r\n if (this.joblistquery.Type != 'd') return false;\r\n else return true;\r\n }\r\n }\r\n\r\n ngModChg(result: boolean): void {\r\n this.pRadioReChk = result;\r\n if (result) {\r\n let timerSub = Observable.timer(50, 1000).subscribe(t => { this.rsm.nativeElement.focus(); }, err => { }, () => { timerSub.unsubscribe(); });\r\n }\r\n }\r\n\r\n goSearch(event) {\r\n if (this._searchdata === '') {\r\n this.filterJobs(this.selectedJobStatus);\r\n }\r\n if (event.keyCode === 13) {\r\n if (this._searchdata === '') { this.filterJobs(this.selectedJobStatus); }\r\n else {\r\n if (this.searchType === 'JID') {\r\n this.filteredjobs = this.sourcedata.filter(job => (job.JIDR.trim()).toLowerCase().indexOf(this._searchdata.toLowerCase().trim()) !== -1);\r\n }\r\n else if (this.searchType === 'IMEI') {\r\n this.filteredjobs = this.sourcedata.filter(job => (job.Imei.trim()).toLowerCase().indexOf(this._searchdata.toLowerCase().trim()) !== -1);\r\n } else {\r\n this.filteredjobs = this.sourcedata.filter(job => (job.Ph.trim()).toLowerCase().indexOf(this._searchdata.toLowerCase().trim()) !== -1);\r\n }\r\n\r\n this.totalRecords = this.filteredjobs.length;\r\n }\r\n }\r\n }\r\n\r\n printJobFun() {\r\n if (this.jobv != undefined || this.jobv != null) {\r\n let link = ['/jobprintview', this.jobv.JID];\r\n this.router.navigate(link);\r\n }\r\n }\r\n printjob(): void {\r\n window.print();\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/exportcurrentjoblist', this.joblistquery).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/currentjobs.csv';\r\n this.httpService.DirectLocToWindow(\"currentjobs\");\r\n }\r\n );\r\n }\r\n getCustomerByID(): void {\r\n if (this.jobv.CID != undefined || this.jobv.CID != null) {\r\n let temp;\r\n this.pService.start();\r\n this.httpService.getData('api/getcustomer/' + this.jobv.CID).subscribe(\r\n data => temp = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'),\r\n () => {\r\n if (temp != undefined) {\r\n this.customer = temp;\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n }\r\n getJobDescription(): void {\r\n if (this.job.JID != undefined || this.job.JID != null || this.job.JID != '') {\r\n this.jobVPs = [];\r\n this.pService.start();\r\n this.httpService.postData('api/getJobDescription', this.job.JID).subscribe(\r\n data => { this.jobVPs = data; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading job_voucher_print data !');\r\n },\r\n () => {\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n }\r\n getTechName(): void {\r\n if (this.job.JAT1 != undefined || this.job.JAT1 != null || this.job.JAT1 != '') {\r\n this.pService.start();\r\n this.httpService.getData('api/gettechname/' + this.job.JAT1).subscribe(\r\n data => { this.techName = data },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting technician name !') },\r\n () => {\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n }\r\n changeJobViewToJob(jv: JobViewModel) {\r\n if (!this.job) {\r\n this.job = new Job();\r\n }\r\n\r\n if (jv === null || jv === undefined) return;\r\n\r\n this.job.JID = jv.JID;\r\n this.job.JIDR = jv.JIDR;\r\n this.job.JDT = jv.JDT;\r\n this.job.DID = jv.DID;\r\n this.job.JCUN = jv.JCUN;\r\n this.job.JAT1 = jv.JAT1;\r\n this.job.JAT2 = jv.JAT2;\r\n this.job.CID = jv.CID;\r\n this.job.JOB = jv.JOB;\r\n this.job.STID = jv.STID;\r\n\r\n this.job.MoID = jv.MoID;\r\n this.job.HAPP = jv.HAPP;\r\n this.job.APPDT = jv.APPDT === null ? null : new Date(jv.APPDT);\r\n this.job.DAmo = jv.DAmo;\r\n this.job.OAcc = jv.OAcc;\r\n this.job.RC = jv.RC;\r\n this.job.JT = jv.JT;\r\n this.job.RT = jv.RT;\r\n this.job.TStat = jv.TStat;\r\n this.job.TProg = jv.TProg;\r\n\r\n this.job.TDnDT = jv.TDnDT;\r\n this.job.TDBy = jv.TDBy;\r\n this.job.SStat = jv.SStat;\r\n this.job.SDnDT = jv.SDnDT;\r\n this.job.SDBy = jv.SDBy;\r\n this.job.Taken = jv.Taken;\r\n this.job.TDT = jv.TDT;\r\n this.job.SAmo = jv.SAmo;\r\n this.job.PAmo = jv.PAmo;\r\n this.job.TAmo = jv.TAmo;\r\n\r\n this.job.Crec = jv.Crec;\r\n this.job.Chg = jv.Chg;\r\n this.job.WSDT = jv.WSDT;\r\n this.job.WADT = jv.WADT;\r\n this.job.WR = jv.WR;\r\n this.job.RCC = jv.RCC;\r\n this.job.ScID = jv.ScID;\r\n this.job.SuppN = jv.SuppN;\r\n this.job.UN = jv.UN;\r\n this.job.DeviceID = jv.DeviceID;\r\n this.job.RSM = jv.RSM;\r\n this.job.FOC = jv.FOC;\r\n\r\n this.job.JobAccessories = jv.Accessories;\r\n\r\n this.job.STN = jv.STN;\r\n this.job.MoN = jv.MoN;\r\n\r\n this.job.Imei = jv.Imei;\r\n this.job.JK = jv.JK;\r\n }\r\n Get_ServiceTechnician(): Promise {\r\n return new Promise((resolve, reject) => {\r\n let temp = [];\r\n lFservice.Get_LF(GlobalFunc.LUKey).then(value => {\r\n if (!value) {\r\n this.pService.start();\r\n this.httpService.getData('api/loginuser').subscribe(\r\n data => {\r\n temp = data;\r\n },\r\n err => {\r\n this.pService.done();\r\n reject(err);\r\n },\r\n () => {\r\n this.pService.done();\r\n this.tsourcedata = temp;\r\n lFservice.Set_LF(GlobalFunc.LUKey, temp);\r\n resolve(true);\r\n });\r\n }\r\n else {\r\n this.tsourcedata = value;\r\n resolve(true);\r\n }\r\n }).catch(err => reject(err));\r\n });\r\n }\r\n\r\n Get_ServiceCenter(): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => {\r\n this.scsourcedata = data;\r\n },\r\n err => {\r\n reject(err);\r\n },\r\n () => {\r\n for (let sc of this.scsourcedata) {\r\n this.servicecenterlist.push({ label: sc.ScN, value: sc.ScID });\r\n }\r\n resolve(true);\r\n });\r\n });\r\n }\r\n\r\n ReAssignTechDropoDown(data, reassigntechs): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (data) {\r\n this.technicians = [];\r\n this.technicians.push({ label: \"Select Technician to re-assign\", value: null });\r\n\r\n if (!this.auth.DID) {\r\n let len = data.length;\r\n for (let i = 0; i < len; i++) {\r\n if (data[i].UT == \"Service Technician\" && (!reassigntechs.includes(data[i].Id))) {\r\n this.technicians.push({ label: data[i].Name + ' (' + data[i].ScN + ')', value: data[i].UN });\r\n }\r\n if (i === (len - 1)) {\r\n resolve(true);\r\n }\r\n }\r\n }\r\n else {\r\n let len = data.length;\r\n for (let i = 0; i < len; i++) {\r\n if (data[i].UT == \"Service Technician\" && data[i].DID === this.auth.DID && data[i].ScID === this.auth.ScID && (!reassigntechs.includes(data[i].Id))) {\r\n this.technicians.push({ label: data[i].Name + ' (' + data[i].ScN + ')', value: data[i].UN });\r\n }\r\n\r\n if (i === (len - 1)) {\r\n resolve(true);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n getAssignedTechnicians(jid): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.assignedTechs = [];\r\n\r\n lFservice.Get_LF(jid).then(value => {\r\n if (!value || (value && value.length <= 0 )) {\r\n this.pService.start();\r\n this.httpService.getData('api/getjobshift/' + jid).subscribe(\r\n data => { this.assignedTechs = data; },\r\n err => {\r\n this.pService.done();\r\n reject(err);\r\n },\r\n () => {\r\n this.pService.done();\r\n lFservice.Set_LF(jid, this.assignedTechs);\r\n resolve(true);\r\n });\r\n }\r\n else {\r\n this.assignedTechs = value;\r\n resolve(true);\r\n }\r\n });\r\n });\r\n }\r\n\r\n gotoUnRepairOrCancelCustomer(jv: JobViewModel) {\r\n this.statusVal = '';\r\n this.reAssigCheck = false;\r\n this.jobShift.JAT1 = null;\r\n\r\n if (jv) {\r\n this.jobv = Object.assign({}, jv);\r\n this.jobShift.JID = jv.JID;\r\n this.getAssignedTechnicians(jv.JID).then(rps => {\r\n let tmp = [];\r\n let len = this.assignedTechs.length;\r\n if (len > 0) {\r\n for (let i = 0; i < len; i++) {\r\n tmp.push(this.assignedTechs[i].JAT1);\r\n\r\n if (i === (len - 1)) {\r\n this.ReAssignTechDropoDown(this.tsourcedata, tmp).then(rps => {\r\n this.UnRepairModal.open();\r\n });\r\n }\r\n }\r\n }\r\n else {\r\n this.UnRepairModal.open();\r\n }\r\n });\r\n }\r\n }\r\n\r\n statusChange(result: boolean) {\r\n this.reAssigCheck = result;\r\n }\r\n saveReAssignTechnician() {\r\n if (this.statusVal == \"Done\") {\r\n this.UnRepairModal.close();\r\n if (this.jobv) {\r\n this.showJobDoneDialog = true;\r\n this._ngZone.run(() => {\r\n this.jobv.SStat = 'c';\r\n this.jobv.SDnDT = new Date();\r\n this.getCustomerByID();\r\n this.jobdoneModal.open();\r\n });\r\n }\r\n else {\r\n this.httpService.showToast(this.toastkey, 'error', 'Job is not defined!');\r\n }\r\n }\r\n else if (this.statusVal == \"Re-Assign\") {\r\n\r\n if (this.jobShift.JAT1 === null) return;\r\n this.UnRepairModal.close();\r\n this.pService.start();\r\n this.httpService.postData('api/savereassigntech', this.jobShift).subscribe(\r\n data => { },\r\n err => {\r\n this.pService.done();\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while insert/update re-assign technician!');\r\n },\r\n () => {\r\n this.pService.done();\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully saved re-assign technician!');\r\n }\r\n );\r\n }\r\n }\r\n}\r\n//comments\r\n// let objs=this.sourcedata;\r\n// let len=objs.length;\r\n// for(let i=0;i this.jobs = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if(this.jobs){\r\n this.jobs.map(j => {\r\n j.MoN = this.getmcbName(j.MoID);\r\n });\r\n }\r\n this.pService.done();\r\n });\r\n }\r\n\r\n getmcbName(moid: number): string {\r\n if (this._listOfMon == undefined) return \"\";\r\n for (let mon of this._listOfMon) {\r\n if (mon.MoID == moid) {\r\n return mon.MoN + \" / \" + mon.CatN + \" / \" + mon.BN;\r\n }\r\n }\r\n }\r\n Get_MCB(): void {\r\n this.httpService.getData('api/job/getmcb').subscribe(\r\n data => this._listOfMon = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.getTechJobList();\r\n });\r\n }\r\n\r\n printjob(): void {\r\n window.print();\r\n }\r\n Refresh(): void {\r\n this.pService.start();\r\n this.getTechJobList();\r\n }\r\n\r\n typeChanged(): void {\r\n if (this.joblistquery.Type != null) {\r\n this.bindPeriod(this.joblistquery.Type);\r\n }\r\n this.pService.start();\r\n this.getTechJobList();\r\n }\r\n\r\n periodChanged(): void {\r\n if (this.joblistquery.Period == 'f') {\r\n this.joblistquery.FromDate = new Date();\r\n this.joblistquery.ToDate = new Date();\r\n }\r\n this.pService.start();\r\n this.getTechJobList();\r\n }\r\n onSelectDate(): void {\r\n this.pService.start();\r\n this.getTechJobList();\r\n }\r\n}","import { Component, OnInit, ViewChild, OnDestroy, NgZone, AfterViewInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\nimport { SelectItem } from 'primeng/api';\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { JobViewModel } from '../joblist/jobviewmodel';\r\nimport { DropDownValue } from '../job/dropdownvalue';\r\n\r\n@Component({\r\n selector: 'i-techjoblist2',\r\n templateUrl: './techjoblist2.component.html'\r\n})\r\nexport class TechJobListCP2 implements OnInit, OnDestroy, AfterViewInit {\r\n\r\n @ViewChild('confirmModal', { static: false }) confirmModal: BsModalComponent;\r\n @ViewChild('techStatusModal', { static: false }) techStatusModal: BsModalComponent;\r\n @ViewChild('tr', { static: false }) tr;\r\n\r\n @ViewChild('jobModal', { static: false }) jobModal: BsModalComponent;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n jobs: JobViewModel[] = [];\r\n jobv: JobViewModel;\r\n\r\n objT: any;\r\n objSM: any;\r\n objJ: any;\r\n rowGroupMetadata: any;\r\n\r\n rbval: string;\r\n title: string = '';\r\n techRemark: string;\r\n jobRemark: string;\r\n note:string;\r\n jobmodaltitle: string;\r\n jid: string;\r\n brandName: string = '';\r\n toastkey = \"i-techjoblist2\";\r\n\r\n printMode: boolean = false;\r\n pRadioReChk: boolean;\r\n pRadioJobReChk: boolean;\r\n pRadioNote: boolean;\r\n showJobModal: boolean;\r\n\r\n oDropDownValueList: DropDownValue[];\r\n dropdownValues: DropDownValue[] = [];\r\n\r\n selectedValues: string;\r\n isunder500width: boolean = false;\r\n\r\n jobRemarks: SelectItem[] = [{ label: 'Select job\\'s remark', value: null },\r\n { label: 'Service Only', value: 'Service Only' },\r\n { label: 'Parts Change', value: 'Parts Change' },\r\n { label: 'YGN Service', value: 'YGN Service' },\r\n { label: 'YGN Service2', value: 'YGN Service2' },\r\n { label: 'MDY Service', value: 'MDY Service' }];\r\n\r\n technicianRemark: string;\r\n\r\n constructor(private pService: NgProgressService ,public httpservice: HttpServices, public auth: AuthService, public router: Router, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this.pRadioReChk = false;\r\n this.pRadioJobReChk = false;\r\n this.pRadioNote = false;\r\n\r\n this.techRemark = '';\r\n this.jobRemark = '';\r\n\r\n this.objJ = _dataChanged.jobChanged.subscribe(\r\n srDataJ => {\r\n this._ngZone.run(() => this.getTechJobList());\r\n },\r\n err => { this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!') },\r\n () => { }\r\n );\r\n\r\n this.objT = _dataChanged.jobTStatusChanged.subscribe(\r\n srDataT => {\r\n this._ngZone.run(() => this.getTechJobList());\r\n },\r\n err => { this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!') },\r\n () => { }\r\n );\r\n\r\n this.objSM = _dataChanged.jobSmStatusChanged.subscribe(\r\n srDataSM => {\r\n this._ngZone.run(() => this.getTechJobList());\r\n },\r\n err => { this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!') },\r\n () => { }\r\n );\r\n this.jobv = new JobViewModel();\r\n this.jobmodaltitle = '';\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getTechJobList();\r\n this.getDropdownValue();\r\n this.updateRowGroupMetaData();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.objT != undefined) this.objT.unsubscribe();\r\n if (this.objSM != undefined) this.objSM.unsubscribe();\r\n if (this.objJ != undefined) this.objJ.unsubscribe();\r\n }\r\n\r\n ngAfterViewInit(){\r\n this.isunder500width = window.innerWidth < 500;\r\n }\r\n\r\n resize(e) {\r\n this.isunder500width = window.innerWidth < 500;\r\n }\r\n\r\n getTechJobList(): void {\r\n this.httpservice.postData('api/techjoblist2', this.auth.UN).subscribe(\r\n data => {\r\n this.jobs = data;\r\n this.pService.done();\r\n },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading technician jobs from server!')\r\n this.pService.done();\r\n },\r\n\r\n () => {\r\n this.pService.done();\r\n this.jobs.sort((a, b) => a.JDT > b.JDT ? 1 : (b.JDT > a.JDT ? -1 : 0));\r\n }\r\n );\r\n }\r\n\r\n reBindTechRemarkMultiSelect(): void {\r\n\r\n if(this.jobv.TStat == 'e'){ //show input box only in Unable to repair status\r\n this.technicianRemark = this.jobv.RT;\r\n return;\r\n }\r\n\r\n this.dropdownValues = [];\r\n \r\n if (this.oDropDownValueList !== null && this.oDropDownValueList !== undefined) {\r\n if (this.jobv !== undefined && this.jobv !== null) {\r\n\r\n if (this.jobv.RT !== undefined && this.jobv.RT !== null && this.jobv.RT !== \"\") {\r\n const ddvalueList = [];\r\n\r\n let tempSplitList = this.jobv.RT.split(\",\", this.jobv.RT.length - 1);\r\n if (tempSplitList != null && tempSplitList != undefined && tempSplitList.length > 0) {\r\n tempSplitList.map(d => {\r\n let ddvObj = this.oDropDownValueList.find(ddv => ddv.TechnicianRemark == d);\r\n if (ddvObj != null && ddvObj != undefined) {\r\n ddvalueList.push(ddvObj);\r\n }\r\n });\r\n\r\n this.dropdownValues = ddvalueList.map(d => Object.assign({}, d));\r\n this.selectedValues = this.jobv.RT;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n getDropdownValue(): Promise {\r\n return new Promise((resolve) => {\r\n let ddvList: any = [];\r\n let param = {\"Type\":\"b\"};\r\n this.httpservice.postData('api/DropDownValue/GetByType',param).subscribe(\r\n data => {\r\n ddvList = data;\r\n },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n //dropdown value\r\n if (ddvList) {\r\n this.oDropDownValueList = ddvList.slice();\r\n // this.oDropDownValueList = ddvList.filter(\r\n // (obj, i, arr) => obj.TechnicianRemark != null && obj.TechnicianRemark != undefined && obj.TechnicianRemark != \"\" && (arr.findIndex(t => t.TechnicianRemark === obj.TechnicianRemark) === i)\r\n // ).map(d => Object.assign({}, d)); //distinct & filter\r\n this.oDropDownValueList.sort((a, b) => a.Description > b.Description ? 1 : (b.Description > a.Description ? -1 : 0));\r\n //this.oDropDownValueList = ddvList.filter(v => v.TechnicianRemark != null && v.TechnicianRemark != undefined && v.TechnicianRemark != \"\").map(d => Object.assign({}, d));\r\n this.reBindTechRemarkMultiSelect();\r\n }\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n printjob(): void {\r\n window.print();\r\n }\r\n\r\n openStateModal(jv: JobViewModel): void {\r\n //this.jobv = jv;\r\n this.jobv = GlobalFunc.CloneData(jv, JobViewModel);\r\n this.brandName = jv.BN.slice(0, jv.BN.indexOf('/'));\r\n\r\n this.confirmModal.open();\r\n this.rbval = '';\r\n this.pRadioReChk = false;\r\n this.pRadioJobReChk = false;\r\n this.pRadioNote = false;\r\n\r\n this.jobRemark = this.jobv.JK;\r\n this.reBindTechRemarkMultiSelect();\r\n }\r\n\r\n AssignTechinicianRemark() {\r\n if(this.jobv.TStat != 'e'){\r\n if (this.dropdownValues !== null) {\r\n this.jobv.RT = \"\";\r\n this.dropdownValues.map(ja => {\r\n this.jobv.RT = this.jobv.RT + (this.jobv.RT != \"\" ? \",\" : \"\") + ja.Description;\r\n });\r\n } \r\n }else{\r\n this.jobv.RT = this.technicianRemark;\r\n }\r\n }\r\n\r\n AssignTechRemarkSelectedValue() {\r\n if (this.dropdownValues !== null) {\r\n this.selectedValues = \"\";\r\n this.dropdownValues.map(ja => {\r\n this.selectedValues = this.selectedValues + (this.selectedValues != \"\" ? \", \" : \"\") + ja.Description;\r\n });\r\n }\r\n }\r\n\r\n techStatusChanges(): void {\r\n this.confirmModal.close();\r\n\r\n if (this.jobv && this.rbval) {\r\n switch (this.rbval) {\r\n case 'Waiting Customer Reply': {\r\n this.jobv.TStat = 'b';\r\n this.title = 'Waiting Customer Reply';\r\n this.techStatusModalOpen();\r\n break;\r\n }\r\n case 'Waiting Warranty': {\r\n this.jobv.TStat = 'c';\r\n this.jobv.WSDT = new Date();\r\n this.title = 'Waiting Warranty';\r\n this.techStatusModalOpen();\r\n break;\r\n }\r\n case 'Done': {\r\n this.jobv.TStat = 'd';\r\n this.title = 'Technician Job Done ';\r\n this.techStatusModalOpen();\r\n break;\r\n }\r\n\r\n // case 'Hardware YGN': {\r\n // this.jobv.TStat = 'f';\r\n // this.saveTechStateChanges();\r\n // break;\r\n // }\r\n\r\n // case 'Hardware MDY': {\r\n // this.jobv.TStat = 'g';\r\n // this.saveTechStateChanges();\r\n // break;\r\n // }\r\n\r\n case 'Waiting Part': {\r\n this.jobv.TStat = 'h';\r\n this.saveTechStateChanges();\r\n break;\r\n }\r\n\r\n // case 'Part Done': {\r\n // this.jobv.TStat = 'i';\r\n // this.saveTechStateChanges();\r\n // break;\r\n // }\r\n // case 'Write Technician Remark': {\r\n // this.jobv.RT = this.techRemark;\r\n // this.saveTechStateChanges().then(rps => {\r\n // let idx = this.jobs.findIndex(x => x.JID === this.jobv.JID);\r\n // if (idx >= 0) {\r\n // this.jobs[idx].RT = this.jobv.RT;\r\n // }\r\n // });\r\n // break;\r\n // }\r\n\r\n case 'Choose Technician Remark': {\r\n //this.jobv.RT = this.techRemark;\r\n this.saveTechStateChanges().then(rps => {\r\n let idx = this.jobs.findIndex(x => x.JID === this.jobv.JID);\r\n if (idx >= 0) {\r\n this.jobs[idx].RT = this.jobv.RT;\r\n }\r\n });\r\n break;\r\n }\r\n case 'UnableRepair': {\r\n this.jobv.TStat = 'e';\r\n this.title = 'Technician Job Done (Unable to repair)';\r\n this.techStatusModalOpen();\r\n break;\r\n }\r\n case 'CancelCustomer': {\r\n this.jobv.TStat = 'j';\r\n this.title = 'Technician Job Done (Customer Cancel)';\r\n this.techStatusModalOpen();\r\n break;\r\n }\r\n case 'Job\\'s Remark': {\r\n this.jobv.JK = this.jobRemark;\r\n this.saveTechStateChanges();\r\n break;\r\n }\r\n case 'Note':{\r\n this.jobv.RC = this.note;\r\n this.saveTechStateChanges();\r\n }\r\n }\r\n }\r\n }\r\n\r\n saveTechStateChanges(): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (!this.pRadioReChk) {\r\n this.techStatusModal.close();\r\n }\r\n\r\n if (this.jobv.JID) {\r\n \r\n this.AssignTechinicianRemark();\r\n this.pService.start();\r\n this.httpservice.postData('api/jobstaus2', this.jobv).subscribe(\r\n data => { },\r\n err => { this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while updating data!'); reject(err) },\r\n () => {\r\n this.pService.done();\r\n this.httpservice.showToast(this.toastkey, 'success', 'Technician state change successfully !');\r\n resolve('ok');\r\n }\r\n );\r\n }\r\n });\r\n }\r\n\r\n onRowSelect(e: any) {\r\n this.AssignTechRemarkSelectedValue();\r\n }\r\n\r\n onRowUnselect(e: any) {\r\n this.AssignTechRemarkSelectedValue();\r\n }\r\n\r\n handleHeaderCheckboxToggle(e: any){\r\n this.AssignTechRemarkSelectedValue();\r\n }\r\n\r\n // radioBtnChange(result,isJobRemark = false) {\r\n // this.pRadioReChk = result;\r\n // this.pRadioJobReChk = isJobRemark;\r\n // if (result) {\r\n // let timerSub = Observable.timer(50, 1000).subscribe(t => {\r\n // this.tr.nativeElement.focus();\r\n // }, err => { }, () => { timerSub.unsubscribe(); });\r\n // }\r\n // }\r\n\r\n radioBtnChange(result, isJobRemark = false, isNote = false) {\r\n this.pRadioReChk = result;\r\n this.pRadioJobReChk = isJobRemark;\r\n this.pRadioNote = isNote;\r\n // if (result) {\r\n // this.dropdownValues = [];\r\n // let timerSub = Observable.timer(50, 1000).subscribe(t => {\r\n // this.tr.nativeElement.focus();\r\n // }, err => { }, () => { timerSub.unsubscribe(); });\r\n // }\r\n\r\n if (result) {\r\n this.reBindTechRemarkMultiSelect();\r\n } else {\r\n this.dropdownValues = [];\r\n }\r\n\r\n if(isNote){\r\n this.note = this.jobv.RC;\r\n }\r\n }\r\n\r\n gotoCreateJob() {\r\n // this.jobmodaltitle = 'Create Job';\r\n // this.showJobModal = true;\r\n // this.jid = null;\r\n // this.jobModal.open();\r\n this.router.navigate(['/createjob']);\r\n }\r\n\r\n onClickEmit(event) {\r\n this.showJobModal = false;\r\n this.jobModal.close();\r\n if (this.jid != undefined) this.jid = undefined;\r\n }\r\n\r\n onSort() {\r\n this.updateRowGroupMetaData();\r\n }\r\n\r\n updateRowGroupMetaData() {\r\n this.rowGroupMetadata = {};\r\n if (this.jobs) {\r\n for (let i = 0; i < this.jobs.length; i++) {\r\n let rowData = this.jobs[i];\r\n let jstate = rowData.JobState;\r\n if (i == 0) {\r\n this.rowGroupMetadata[jstate] = { index: 0, size: 1 };\r\n }\r\n else {\r\n let previousRowData = this.jobs[i - 1];\r\n let previousRowGroup = previousRowData.JobState;\r\n if (jstate === previousRowGroup)\r\n this.rowGroupMetadata[jstate].size++;\r\n else\r\n this.rowGroupMetadata[jstate] = { index: i, size: 1 };\r\n }\r\n }\r\n }\r\n }\r\n\r\n customSort(event) {\r\n event.data.sort((a, b) => {\r\n let result = 0;\r\n let groupField_a = a.JobState;\r\n let groupField_b = b.JobState;\r\n let sortField_a = a[event.field];\r\n let sortField_b = b[event.field];\r\n if (groupField_a == groupField_b || event.field == \"JobState\") {\r\n if (sortField_a == null && sortField_b != null) result = -1;\r\n else if (sortField_a != null && sortField_b == null) result = 1;\r\n else if (sortField_a == null && sortField_b == null) result = 0;\r\n else if (sortField_a == null && sortField_b != null) result = -1;\r\n else if (typeof sortField_a === 'string' && typeof sortField_b === 'string') result = sortField_a.localeCompare(sortField_b);\r\n else result = (sortField_a < sortField_b) ? -1 : (sortField_a == sortField_b) ? 0 : 1;\r\n }\r\n return (event.order * result);\r\n });\r\n }\r\n\r\n techStatusModalOpen() {\r\n \r\n this.reBindTechRemarkMultiSelect();\r\n this.techStatusModal.open();\r\n }\r\n}","import { Component, ViewChild, NgZone, Input } from '@angular/core';//OnInit, OnDestroy\r\nimport { Router } from '@angular/router';\r\n\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport { Table } from 'primeng/table';\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { Observable } from 'rxjs';\r\nimport { NgProgressService } from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { lFservice } from '../service/lFservice';\r\n\r\n//Model\r\nimport { JobViewModel } from '../joblist/jobviewmodel';\r\nimport { Job } from '../job/job';\r\nimport { Customer } from '../customer/customer';\r\nimport { JobListNewDeptQuery } from './joblistnewDeptquery';\r\n\r\n@Component({\r\n selector: 'i-joblistnew',\r\n templateUrl: './joblistnew.component.html'\r\n})\r\nexport class JobListNewCP {\r\n @Input() joblistnewQry = new JobListNewDeptQuery(1, null, null, null, 'a',\r\n new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0),\r\n new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 0), true, true, null);\r\n @Input() isModalMode: boolean = false;\r\n @Input() callFormName: string;\r\n\r\n @ViewChild('confirmModal', { static: false }) confirmModal: BsModalComponent;\r\n @ViewChild('jobdoneModal', { static: false }) jobdoneModal: BsModalComponent;\r\n @ViewChild('jobModal', { static: false }) jobModal: BsModalComponent;\r\n @ViewChild('customerTakenModal', { static: false }) customerTakenModal: BsModalComponent;\r\n @ViewChild('takenDetailModal', { static: false }) takenDetailModal: BsModalComponent;\r\n @ViewChild('searchTypeModel', { static: false }) searchTypeModel: BsModalComponent;\r\n @ViewChild('rsm', { static: false }) rsm;\r\n @ViewChild('pdt', { static: false }) pdt;\r\n @ViewChild('table', { static: false }) table: Table;\r\n\r\n public printMode: boolean = false;\r\n\r\n public scList: any = null;\r\n public stList: any = null;\r\n public jobstatusddown: SelectItem[] = [];\r\n public servicecenterddown: SelectItem[] = [];\r\n public servicetypeddown: SelectItem[] = [];\r\n public periodddown: SelectItem[] = [];\r\n\r\n public joblistnew: any[] = [];\r\n\r\n public srObjT: any;\r\n public srObjSM: any;\r\n public srObjJ: any;\r\n\r\n public jobv: JobViewModel;\r\n public customer: Customer;\r\n\r\n public techDoneRadioVal: string;\r\n\r\n public pRadioReChk: boolean = false;\r\n\r\n public jidr: string = '';\r\n\r\n public job: Job;\r\n public jobmodaltitle = '';\r\n public jid: string;\r\n public showJobModal: boolean;\r\n\r\n public jobVPs: any[] = [];\r\n public techName: string = '';\r\n public showIncome: boolean = false;\r\n\r\n public datasource: any[] = [];\r\n public totalRecords: number;\r\n\r\n public _searchjid: string = '';\r\n\r\n public searchVal: string = '';\r\n public searchData: any;// = {searchdata:'', searchtype: ''};\r\n public tmpsearchJV: any;\r\n jobRemark: any;\r\n public toastkey = \"i-joblistnew\";\r\n\r\n selectedServiceCenter: number;\r\n selectedServiceType: number;\r\n\r\n jobRemarks = [\r\n { label: 'Service Only', value: 'Service Only' },\r\n { label: 'Parts Change', value: 'Parts Change' },\r\n { label: 'YGN Service', value: 'YGN Service' },\r\n { label: 'YGN Service2', value: 'YGN Service2' },\r\n { label: 'MDY Service', value: 'MDY Service' }];\r\n\r\n selectedJobRemark: Array;\r\n\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n\r\n constructor(private pService: NgProgressService, public httpService: HttpServices, public router: Router, public auth: AuthService, public _ngZone: NgZone, public _dataChanged: DataChangedEvent) {\r\n this.jobv = new JobViewModel();\r\n this.customer = new Customer();\r\n this.initJob();\r\n this.jidr = '';\r\n // this._searchjid = null;\r\n this._searchjid = '';\r\n\r\n this.srObjT = _dataChanged.jobTStatusChanged.subscribe(\r\n srDataT => { this._ngZone.run(() => { this.getJobListNew() }) },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'),\r\n () => { }\r\n );\r\n\r\n this.srObjSM = _dataChanged.jobSmStatusChanged.subscribe(\r\n srDataSM => { this._ngZone.run(() => { this.getJobListNew() }) },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'),\r\n () => { }\r\n );\r\n\r\n this.srObjJ = _dataChanged.jobChanged.subscribe(\r\n srDataJ => { this._ngZone.run(() => { this.getJobListNew(); }) },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'),\r\n () => { }\r\n );\r\n\r\n this.jobstatusddown = [\r\n { label: 'Received Jobs', value: 1 },\r\n { label: 'Service Manager Done', value: 2 },\r\n { label: 'Technician Done', value: 3 },\r\n { label: 'Taken', value: 4 },\r\n { label: 'Remaining Jobs', value: 17 },\r\n { label: 'Work In Progress', value: 5 },\r\n { label: 'Waiting Warranty', value: 6 },\r\n { label: 'Waiting Customer Reply', value: 7 },\r\n { label: 'FOC', value: 8 },\r\n\r\n { label: 'No Taken', value: 9 },\r\n { label: 'Unable to repair', value: 10 },\r\n { label: 'Unable to repair(Manager done)', value: 11 },\r\n { label: 'All Unable to repair', value: 110 }, //custom value\r\n { label: 'Customer Cancel', value: 18 },\r\n { label: 'Customer Cancel(Manager done)', value: 19 },\r\n { label: 'All Customer Cancel', value: 118 },//custom value\r\n // work in progress for no period -- 12\r\n // { label: 'Hardware YGN', value: 13 },\r\n // { label: 'Hardware MDY', value: 14 },\r\n { label: 'Waiting Part', value: 15 },\r\n //{ label: 'Part Done', value: 16 },\r\n //{ label: 'Total', value: 20 },\r\n ];\r\n\r\n this.periodddown = [\r\n { label: 'Today', value: 'a' },\r\n { label: 'This week', value: 'b' },\r\n { label: 'This Month', value: 'c' },\r\n { label: 'Within 2 Months', value: 'd' },\r\n { label: 'Within 3 Months', value: 'e' },\r\n { label: 'Custom Date', value: 'f' }];\r\n\r\n this.pService.start();\r\n\r\n this.showIncome = false;\r\n\r\n this.searchVal = 'JID';\r\n\r\n this.servicecenterddown.push({ label: '- Select Service Center -', value: null });\r\n this.servicetypeddown.push({ label: '- Select Service Type -', value: null });\r\n }\r\n\r\n ngOnInit() {\r\n this._ngZone.run(() => {\r\n lFservice.Get_LF('authinfo').then(res => {\r\n if (res) {\r\n this.httpService.auth.authtoken = res.access_token;\r\n this.getJobListNew();\r\n }\r\n }).catch(err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!') })\r\n });\r\n this.showIncome = false;\r\n\r\n this.httpService.getDataFJ(['api/getsc', 'api/getst']).subscribe(\r\n data => {\r\n this.scList = data[0];\r\n this.stList = data[1];\r\n\r\n for (let sc of this.scList) {\r\n this.servicecenterddown.push({ label: sc.Name, value: sc.ID });\r\n }\r\n\r\n for (let st of this.stList) {\r\n this.servicetypeddown.push({ label: st.Name, value: st.ID });\r\n }\r\n\r\n this.selectedServiceCenter = this.joblistnewQry.servicecenterId;\r\n this.selectedServiceType = this.joblistnewQry.servicetypeId;\r\n\r\n this.pService.done();\r\n },\r\n err => { this.httpService.showToast(this.toastkey, 'error', err); },\r\n () => {\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.srObjT != undefined) this.srObjT.unsubscribe();\r\n if (this.srObjSM != undefined) this.srObjSM.unsubscribe();\r\n if (this.srObjJ != undefined) this.srObjJ.unsubscribe();\r\n }\r\n\r\n showSearchTypeModel(jv) {\r\n this.tmpsearchJV = Object.assign({}, jv);\r\n this.searchTypeModel.open();\r\n }\r\n\r\n searchTypeModelClose() {\r\n this.searchTypeModel.close();\r\n this.searchVal = 'JID';\r\n this.httpService.AddClassToModal(this.isModalMode);\r\n }\r\n\r\n searchTypeOK() {\r\n this.searchTypeModel.dismiss();\r\n this.httpService.AddClassToModal(this.isModalMode);\r\n this.searchData = { searchdata: (this.searchVal === 'JID' ? this.tmpsearchJV.JIDR : this.tmpsearchJV.Imei), searchtype: this.searchVal };\r\n this.takenDetailModal.open();\r\n }\r\n\r\n goCustomerTaken(jv: JobViewModel) {\r\n this.changeJobViewToJob(jv).then(() => {\r\n this.getJobDescription();\r\n this.getTechName();\r\n this.customerTakenModal.open();\r\n });\r\n\r\n }\r\n\r\n goTechDoneBySM(jv: JobViewModel): void {\r\n if (jv != undefined || this.jobv != undefined) {\r\n this.jobv = jv;\r\n this.confirmModal.open();\r\n }\r\n }\r\n\r\n goEdit(jv: JobViewModel): void {\r\n this.jobmodaltitle = 'Edit Job';\r\n this.showJobModal = true;\r\n this.jid = jv.JID;\r\n this.jobModal.open();\r\n }\r\n\r\n confirmModalClose() {\r\n this.confirmModal.close();\r\n this.httpService.AddClassToModal(this.isModalMode);\r\n }\r\n\r\n supStatusChanges(): void {\r\n this.confirmModalClose();\r\n if (this.jobv != undefined) {\r\n if (this.techDoneRadioVal == \"Re-Check\") {\r\n this.jobv.SStat = 'b';\r\n this.jobv.TStat = 'a';\r\n this.jobv.SDnDT = null;\r\n this.pService.start();\r\n this.httpService.postData('api/jobsupervisorrecheck2', this.jobv).\r\n subscribe(\r\n data => { },\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!'),\r\n () => {\r\n // this._ngZone.run(() => {\r\n // if (this.jobv.SStat == 'b') {\r\n // this.jobv.TStat = 'a';\r\n // this.jobv.TProg = 0;\r\n // }\r\n // this.getJobListNew();\r\n // });\r\n this.pService.done();\r\n });\r\n }\r\n else if (this.techDoneRadioVal == \"Done\") {\r\n this._ngZone.run(() => {\r\n this.jobv.SStat = 'c';\r\n this.GetCustomerByID();\r\n this.jobdoneModal.open();\r\n });\r\n }\r\n }\r\n }\r\n\r\n jobdoneModalDismiss() {\r\n this.jobdoneModal.dismiss();\r\n this.httpService.AddClassToModal(this.isModalMode);\r\n }\r\n\r\n // takenDetail(JIDR) {\r\n // this.jidr = JIDR;\r\n // this.takenDetailModal.open();\r\n // }\r\n\r\n ngModChg(result: boolean): void {\r\n this.pRadioReChk = result;\r\n if (result) {\r\n let timerSub = Observable.timer(50, 1000).subscribe(t => { this.rsm.nativeElement.focus(); }, err => { }, () => { timerSub.unsubscribe(); });\r\n }\r\n }\r\n\r\n filterChanged() {\r\n this.joblistnewQry.servicecenterId = this.selectedServiceCenter;\r\n this.joblistnewQry.servicetypeId = this.selectedServiceType;\r\n\r\n this.getJobListNew();\r\n }\r\n\r\n filterChangedJobremark() {\r\n this.getJobListNew();\r\n }\r\n\r\n onSelectDate() {\r\n this.getJobListNew();\r\n }\r\n\r\n printjob() {\r\n window.print();\r\n }\r\n\r\n exportToCSV() {\r\n //this.pdt.exportCSV();\r\n this.httpService.postData('api/exportjoblistnew', this.joblistnewQry).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/joblist_not_currentjobs.csv';\r\n this.httpService.DirectLocToWindow(\"joblist_not_currentjobs\");\r\n }\r\n )\r\n }\r\n\r\n initJob() {\r\n this.job = new Job(\r\n null, null, null, this.auth.DID, this.auth.loginName, '', '', null, '', null, null, true, new Date(), 0, '', '', 'S', '', '', 0, null, '', '', null, '', false, null, 0, 0, 0,\r\n 0, 0, null, null, '', 0, this.auth.ScID, '', this.auth.loginName, '', '', false, '', '', null, 0, '', '', null, null, [], ''\r\n );\r\n }\r\n\r\n getJobListNew() {\r\n if (!this.joblistnewQry.jobstatusId || !this.joblistnewQry.fromdate || !this.joblistnewQry.todate) { return; }\r\n this.pService.start();\r\n if (this.callFormName == \"totalDashboard\") {\r\n let query2 = {\r\n ScID: this.joblistnewQry.servicecenterId, DID: null,\r\n STID: this.joblistnewQry.servicetypeId, JobStatusId: this.joblistnewQry.jobstatusId\r\n };\r\n\r\n if (this.joblistnewQry.jobstatusId == 10) query2.JobStatusId = 1;\r\n else if (this.joblistnewQry.jobstatusId == 13) query2.JobStatusId = 2;\r\n else if (this.joblistnewQry.jobstatusId == 14) query2.JobStatusId = 3;\r\n else if (this.joblistnewQry.jobstatusId == 15) query2.JobStatusId = 4;\r\n else if (this.joblistnewQry.jobstatusId == 16) query2.JobStatusId = 6;\r\n else if (this.joblistnewQry.jobstatusId == 3) query2.JobStatusId = 7;\r\n else if (this.joblistnewQry.jobstatusId == 2) query2.JobStatusId = 8;\r\n else if (this.joblistnewQry.jobstatusId == 6) query2.JobStatusId = 9;\r\n else if (this.joblistnewQry.jobstatusId == 7) query2.JobStatusId = 10;\r\n else if (this.joblistnewQry.jobstatusId == 18) query2.JobStatusId = 11;\r\n else if (this.joblistnewQry.jobstatusId == 20) query2.JobStatusId = 12;\r\n\r\n this.httpService.postData('api/totaljoblistdetail', query2).subscribe(\r\n data => {\r\n this.datasource = data[0] || [];\r\n this.jobRemark = data[1] || [];\r\n this.filterData();\r\n this.pService.done();\r\n },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'); }\r\n );\r\n\r\n } else {\r\n var dataquery = Object.assign({}, this.joblistnewQry);\r\n if (this.joblistnewQry.jobstatusId == 110) {\r\n dataquery.jobstatusId = 10;\r\n dataquery.noSDone = false;\r\n } else if (this.joblistnewQry.jobstatusId == 118) {\r\n dataquery.jobstatusId = 18;\r\n dataquery.noSDone = false;\r\n }\r\n if (this.selectedJobRemark && this.selectedJobRemark.length > 0) {\r\n dataquery.jobremark = this.selectedJobRemark.map((x: any) => {\r\n return x.value;\r\n });\r\n } else {\r\n dataquery.jobremark = null;\r\n }\r\n if (this.joblistnewQry.jobstatusId == 2 || this.joblistnewQry.jobstatusId == 3 ||\r\n this.joblistnewQry.jobstatusId == 17 || this.joblistnewQry.jobstatusId == 5 ||\r\n this.joblistnewQry.jobstatusId == 7 || this.joblistnewQry.jobstatusId == 9 ||\r\n this.joblistnewQry.jobstatusId == 10 || this.joblistnewQry.jobstatusId == 11 ||\r\n this.joblistnewQry.jobstatusId == 110 || this.joblistnewQry.jobstatusId == 18 ||\r\n this.joblistnewQry.jobstatusId == 118 || this.joblistnewQry.jobstatusId == 15) { //(Taken မပါရပါ။)\r\n dataquery.noTaken = true;\r\n } else if (this.joblistnewQry.jobstatusId == 4) {\r\n dataquery.noTaken = false;\r\n }\r\n else {\r\n dataquery.noTaken = null;\r\n }\r\n\r\n this.httpService.postData('api/joblistnew', dataquery).subscribe(\r\n data => {\r\n this.datasource = data[0] || [];\r\n this.jobRemark = data[1] || [];\r\n this.filterData();\r\n this.pService.done();\r\n },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!'); }\r\n );\r\n }\r\n\r\n }\r\n\r\n // filterData() {\r\n // this.totalRecords = this.datasource.length;\r\n // this.joblistnew = this.datasource.slice(0, 20);\r\n // this.joblistnew.sort((a, b) => a.JDT < b.JDT ? 1 : (b.JDT < a.JDT ? -1 : 0));\r\n // if (this.tpa) this.tpa.paginate({ first: 0, rows: 20 });\r\n // // this.tpa.paginate({ first: 0, rows: 20 });\r\n // }\r\n\r\n filterData() {\r\n this.joblistnew = this.datasource;\r\n if (this._searchjid && this._searchjid !== '')\r\n this.joblistnew = this.joblistnew.filter((s) => (s.JIDR.trim() + '¶»' + s.Ph.trim() + '¶»' + s.CNPh.trim()).toLowerCase().indexOf(this._searchjid.toLowerCase().trim()) !== -1);\r\n\r\n this.joblistnew.sort((a, b) => a.JDT < b.JDT ? 1 : (b.JDT < a.JDT ? -1 : 0));\r\n this.totalRecords = this.joblistnew.length;\r\n //if (this.table) this.table.paginate({ first: 0, rows: 20 });\r\n }\r\n\r\n GetCustomerByID(): void {\r\n let temp;\r\n this.pService.start();\r\n this.httpService.getData('api/getcustomer/' + this.jobv.CID).subscribe(\r\n data => temp = data,\r\n err => this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'),\r\n () => {\r\n if (temp != undefined) {\r\n this.customer = temp;\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n getJobDescription(): void {\r\n if (this.job.JID !== undefined || this.job.JID !== null) {\r\n this.jobVPs = [];\r\n this.pService.start();\r\n this.httpService.postData('api/getJobDescription', this.job.JID).subscribe(\r\n data => { this.jobVPs = data; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading job_voucher_print data !'); },\r\n () => {\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n }\r\n\r\n getTechName(): void {\r\n if (this.job.JAT1 !== undefined || this.job.JAT1 !== null || this.job.JAT1 !== '') {\r\n this.pService.start();\r\n this.httpService.getData('api/gettechname/' + this.job.JAT1).subscribe(\r\n data => { this.techName = data },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting technician name !'); },\r\n () => {\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n }\r\n\r\n changeJobViewToJob(jv: JobViewModel): Promise {\r\n return new Promise((resolve) => {\r\n this.initJob();\r\n this.job.JID = jv.JID;\r\n this.job.JIDR = jv.JIDR;\r\n this.job.JDT = jv.JDT;\r\n this.job.JAT1 = jv.JAT1;\r\n this.job.JAT2 = jv.JAT2;\r\n this.job.CID = jv.CID;\r\n this.job.JOB = jv.JOB;\r\n this.job.STID = jv.STID;\r\n this.job.MoID = jv.MoID;\r\n this.job.HAPP = jv.HAPP;\r\n this.job.APPDT = new Date(jv.APPDT);\r\n this.job.DAmo = jv.DAmo;\r\n this.job.OAcc = jv.OAcc;\r\n this.job.RC = jv.RC;\r\n this.job.JT = jv.JT;\r\n this.job.RT = jv.RT;\r\n this.job.TStat = jv.TStat;\r\n this.job.TProg = jv.TProg;\r\n this.job.TDnDT = jv.TDnDT;\r\n this.job.TDBy = jv.TDBy;\r\n this.job.SStat = jv.SStat;\r\n this.job.SDnDT = jv.SDnDT;\r\n this.job.SDBy = jv.SDBy;\r\n this.job.Taken = jv.Taken;\r\n this.job.TDT = jv.TDT;\r\n this.job.SAmo = jv.SAmo;\r\n this.job.PAmo = jv.PAmo;\r\n this.job.TAmo = jv.TAmo;\r\n this.job.Crec = jv.Crec;\r\n this.job.Chg = jv.Chg;\r\n this.job.WSDT = jv.WSDT;\r\n this.job.WADT = jv.WADT;\r\n this.job.WR = jv.WR;\r\n this.job.RCC = jv.RCC;\r\n this.job.SuppN = jv.SuppN;\r\n this.job.DeviceID = jv.DeviceID;\r\n this.job.RSM = jv.RSM;\r\n this.job.FOC = jv.FOC;\r\n this.job.STN = jv.STN;\r\n this.job.MoN = jv.MoN;\r\n resolve(true);\r\n })\r\n }\r\n\r\n onClickEmit(event) {\r\n this.showJobModal = false;\r\n this.jobModal.close();\r\n if (this.jid != undefined) this.jid = undefined;\r\n\r\n this.httpService.AddClassToModal(this.isModalMode);\r\n }\r\n\r\n onClickCusTake() {\r\n this.customerTakenModal.close();\r\n this.httpService.AddClassToModal(this.isModalMode);\r\n if (this.job != undefined) this.job = undefined;\r\n this._ngZone.run(() => this.getJobListNew());\r\n }\r\n\r\n // goSearch(event) {\r\n // if (this._searchjid === '') {\r\n // this.filterData();\r\n // }\r\n // if (event.keyCode === 13) {\r\n // if (this._searchjid === '') { this.filterData(); }\r\n // else {\r\n // this.joblistnew = this.datasource.filter(job => job.JIDR === this._searchjid);\r\n // this.totalRecords = this.joblistnew.length;\r\n // }\r\n // }\r\n // }\r\n\r\n goSearch(event) {\r\n if (event.keyCode === 13) {\r\n this.filterData();\r\n }\r\n }\r\n\r\n closeTakenDetailModal() {\r\n\r\n this.takenDetailModal.dismiss();\r\n this.httpService.AddClassToModal(this.isModalMode);\r\n this.pService.start();\r\n // this.httpService.getData('api/getsearchjob/' + this.jidr).subscribe(\r\n this.httpService.postData('api/getsearchjob', this.searchData).subscribe(\r\n data => {\r\n let idx = this.joblistnew.findIndex(x => x.JIDR === data[0].JIDR);\r\n if (idx >= 0) {\r\n this.joblistnew[idx].RSM = data[0].RSM;\r\n }\r\n let _idx = this.datasource.findIndex(x => x.JIDR === data[0].JIDR);\r\n if (_idx >= 0) {\r\n this.datasource[_idx].RSM = data[0].RSM;\r\n }\r\n this.searchData = undefined;\r\n },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting Service_Manager\\'s remark !'); },\r\n () => {\r\n this.jidr = '';\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n}\r\nexport var exportJobnew: Job;","export class JobListNewDeptQuery{\r\n constructor(\r\n public jobstatusId?, \r\n public departmentId?, \r\n public servicecenterId?, \r\n public servicetypeId?, \r\n public period?, \r\n public fromdate?, \r\n public todate?, \r\n public noTaken?, \r\n public noSDone?, \r\n public jat?,\r\n public jobremark?\r\n ){}\r\n}","export class JobListNewQuery{\r\n constructor(public jobstatusId?, public departmentId?, public servicecenterId?, public servicetypeId?, public period?, public fromdate?, public todate?, public noTaken?, public noSDone?){}\r\n}","import { Component, Input} from '@angular/core';\r\n@Component({\r\n selector: 'i-log',\r\n template: ` \r\n \r\n \r\n \r\n
      1? '1px solid #bdbdbd' : ''}\" class=\"clearfix car-item\">\r\n
      \r\n
      \r\n
      \r\n
      \r\n
      Action Time :
      \r\n
      {{log.ATD}}
      \r\n
      \r\n
      \r\n
      Action Type :
      \r\n
      {{log.ATyp}}
      \r\n
      \r\n
      \r\n
      Log :
      \r\n
      {{log.LogD}}
      \r\n
      \r\n
      \r\n
      User :
      \r\n
      {{log.UN}}
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n
      \r\n`\r\n})\r\nexport class LogCP {\r\n @Input() logs: any[];\r\n}","import { Component, OnInit, ViewChild, AfterViewInit } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\n//third libraries\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n//model\r\nimport { LoginUser } from '../loginuser/loginuser';\r\n\r\n@Component({\r\n selector: 'login-app',\r\n templateUrl: './login.html'\r\n})\r\n\r\nexport class LoginApplication implements OnInit,AfterViewInit {\r\n\r\n public loginForm: FormGroup;\r\n public loginUsers: LoginUser[];\r\n public toastkey = \"login-app\";\r\n\r\n @ViewChild('loginname', { static: false }) loginname;\r\n @ViewChild('pwd', { static: false }) pwd;\r\n public loggedIn: boolean = false;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public router: Router, public auth: AuthService, public httpService: HttpServices, public fb: FormBuilder) {\r\n\r\n this.auth.getAuthInfo().then(n => {\r\n if (n) {\r\n this.auth.setAllData(n);\r\n this.router.navigate(['/']);\r\n }\r\n else {\r\n if (!this.router.url.includes(\"external-login\")) {\r\n this.logout();\r\n }\r\n }\r\n }).catch(err => {\r\n this.logout();\r\n });\r\n }\r\n\r\n logout() {\r\n this.httpService.logout().then(res => {\r\n \r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetLoginUsers();\r\n this.httpService.GetDepartment();\r\n this.httpService.GetServiceCenters();\r\n this.CreateForm();\r\n }\r\n\r\n ngAfterViewInit(){\r\n if(this.loginname){\r\n this.loginname.nativeElement.focus();\r\n }\r\n }\r\n\r\n GetLoginUsers() {\r\n this.loginUsers = [];\r\n this.pService.start();\r\n this.httpService.getData('api/loginuser_unAuth').subscribe(\r\n data => {\r\n this.loginUsers = data;\r\n this.pService.done();\r\n },\r\n err =>{\r\n this.httpService.showToast(this.toastkey, 'error','Error occurs while loading Login users from server!');\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n CreateForm() {\r\n this.loginForm = this.fb.group({\r\n 'UN': new FormControl('', Validators.required),\r\n 'Pwd': new FormControl('', Validators.required),\r\n 'DID': new FormControl(null),\r\n 'ScID': new FormControl(null)\r\n });\r\n }\r\n\r\n login(loginuser: LoginUser) {\r\n //Hash Base64\r\n loginuser.Pwd = GlobalFunc.HashString(loginuser.Pwd);\r\n\r\n this.httpService.logIn(loginuser.UN, loginuser.Pwd).subscribe(\r\n result => {\r\n if (typeof result === 'object') {\r\n result.did = loginuser.DID;\r\n result.scid = loginuser.ScID;\r\n\r\n // this.auth.loginName = result.name;\r\n // this.auth.authtoken = result.access_token;\r\n // this.auth.role = result.role;\r\n // this.auth.DID = result.did;\r\n // this.auth.ScID = result.scid;\r\n // this.auth.DPh = result.dph;\r\n\r\n // // let depIndex = this.httpService.deptllist.findIndex(dep => dep.value === result.did)\r\n // // if (depIndex >= 0)\r\n // // result.dn = this.httpService.deptllist[depIndex].label;\r\n // // else\r\n // // this.auth.DN = '';\r\n\r\n // // let scIndex = this.httpService.serviceCenters.findIndex(sc => sc.value === result.scid);\r\n // // if (scIndex >= 0)\r\n // // result.scn = this.httpService.serviceCenters[scIndex].label;\r\n // // else\r\n // // result.scn = '';\r\n\r\n // this.auth.DN = result.dn;\r\n // this.auth.ScN = result.scn;\r\n\r\n // this.auth.STID = result.stid;\r\n // this.auth.STN = result.stn;\r\n // this.auth.UN = result.un;\r\n // this.auth.Addr = result.addr;\r\n // this.auth.isLoggedIn = true;\r\n\r\n this.auth.setAllData(result);\r\n\r\n\r\n this.loggedIn = true;\r\n this.auth.storeCredential(result);\r\n // lFservice.Get_LF(GlobalFunc.CusKey).then(cusdata => {\r\n // lFservice.Get_LF(GlobalFunc.MCBKey).then(mcbdata => {\r\n // if (!cusdata && !mcbdata) {\r\n // this.pService.start();\r\n // this.Get_Customers().then(abc => {\r\n // this.Get_MCB().then(def => {\r\n\r\n // this.pService.done();\r\n // }).catch(err => { \r\n // this.pService.done(); \r\n // //this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while getting model/cate/brand!' }); \r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while getting model/cate/brand!');\r\n // });\r\n // }).catch(err => { \r\n // this.pService.done(); \r\n // //this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while getting customers!' }); \r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while getting customers!');\r\n // });\r\n // }\r\n // }).catch(err => { \r\n // //this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while getting model/cate/brand from LocalData!' }); \r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while getting model/cate/brand from LocalData!');\r\n // });\r\n\r\n // }).catch(err => { \r\n // //this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Error occurs while getting customers from LocalDat!' }); \r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while getting customers from LocalDat!');\r\n // });\r\n }\r\n else {\r\n this.auth.clearLoginProperty(null, null);\r\n //this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Invalid user name or password!' });\r\n this.httpService.showToast(this.toastkey, 'error','Invalid user name or password!');\r\n }\r\n }, err => { \r\n //this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Invalid user name or password!' });\r\n this.httpService.showToast(this.toastkey, 'error','Invalid user name or password!');\r\n },\r\n () => { }\r\n );\r\n }\r\n\r\n loginName_ModelChange(event) {\r\n if (this.loginUsers != undefined) {\r\n let temp: LoginUser = new LoginUser();\r\n temp = this.loginUsers.filter(value => value.UN == event)[0];\r\n\r\n if (temp != undefined) {\r\n if (temp.UT == 'Admin') {\r\n this.loginForm.controls['DID'].disable(); this.loginForm.controls['ScID'].disable();\r\n }\r\n else {\r\n this.loginForm.patchValue({ DID: temp.DID, ScID: temp.ScID });\r\n }\r\n }\r\n else this.loginForm.patchValue({ DID: null, ScID: null });\r\n }\r\n }\r\n\r\n setFocusNext(event) {\r\n if (event.keyCode === 13) {\r\n this.pwd.nativeElement.focus();\r\n }\r\n }\r\n\r\n goLogin(event, loginuser: LoginUser) {\r\n if (event.keyCode === 13) {\r\n if (this.loginForm.controls['UN'].value === null || this.loginForm.controls['UN'].value === undefined) return;\r\n this.login(loginuser);\r\n }\r\n }\r\n\r\n // Get_Customers(): Promise {\r\n // return new Promise((resolve, reject) => {\r\n // let temp = [];\r\n // lFservice.Get_LF(GlobalFunc.CusKey).then(value => {\r\n // if (value == null) {\r\n // this.httpService.getData('api/customerForDDown').subscribe(\r\n // data => temp = data,\r\n // err => {\r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while loading data from server!');\r\n // reject(null);\r\n // },\r\n // () => {\r\n // lFservice.Set_LF(GlobalFunc.CusKey, temp).then(value => {\r\n // resolve(true);\r\n // }).catch(err => {\r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while loading data!');\r\n // reject(null);\r\n // });\r\n // });\r\n // }\r\n // }).catch(err => {\r\n // this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb data!');\r\n // reject(null);\r\n // });\r\n // });\r\n // }\r\n\r\n // Get_MCB(): Promise {\r\n // return new Promise((resolve, reject) => {\r\n // let temp = [];\r\n // lFservice.Get_LF(GlobalFunc.MCBKey).then(value => {\r\n // if (value == null) {\r\n // this.httpService.getData('api/job/getmcb').subscribe(\r\n // data => temp = data,\r\n // err => {\r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while loading mcb from server!');\r\n // reject(null);\r\n // },\r\n // () => {\r\n // lFservice.Set_LF(GlobalFunc.MCBKey, temp).\r\n // then(_value => {\r\n // resolve(true);\r\n // }).\r\n // catch(err => {\r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while loading mcb from server!');\r\n // reject(null);\r\n // });\r\n // });\r\n // }\r\n // }).catch(err => {\r\n // this.httpService.showToast(this.toastkey, 'error','Error occurs while loading mcb data!');\r\n // reject(null);\r\n // });\r\n // });\r\n // }\r\n}\r\n","import { Component, OnInit, ViewChild, NgZone, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { NgProgressService } from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { LoginUser } from './loginuser';\r\nimport { Department } from '../department/department';\r\nimport { ServiceType } from '../servicetype/servicetype';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\nimport { AuthService } from '../service/authservice';\r\n\r\nexport declare interface ValidatorFn {\r\n (control: FormControl): { [key: string]: boolean } | null;\r\n}\r\n\r\n@Component({\r\n selector: 'i-loginuser',\r\n templateUrl: './loginuser.component.html'\r\n})\r\n\r\n\r\n\r\nexport class LoginUserCP implements OnInit, OnDestroy {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('actionModal', { static: false }) actionModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('otherModal', { static: false }) otherModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n @ViewChild('input1', { static: false }) vc1;\r\n @ViewChild('ConfirmedPwdModal', { static: false }) ConfirmedPwdModal: BsModalComponent;\r\n @ViewChild('ChangedPwdModal', { static: false }) ChangedPwdModal: BsModalComponent;\r\n\r\n apiName: string = \"loginuser\";\r\n loginUsers: LoginUser[];\r\n selectedData: LoginUser;\r\n selectedChk: LoginUser[];\r\n actionlogs: any[];\r\n\r\n oServiceTypeList: ServiceType[];\r\n servicetypes: SelectItem[];\r\n\r\n oServiceCenterList: ServiceCenter[];\r\n serviceCenters: SelectItem[];\r\n\r\n oDeptList: Department[] = [];\r\n deptllist: SelectItem[];\r\n\r\n usertypes: SelectItem[] = [\r\n { label: \"Select user type\", value: null },\r\n { label: \"Admin\", value: \"Admin\" },\r\n { label: \"Service Manager\", value: \"Service Manager\" },\r\n { label: \"Assistance Manager\", value: \"Assistance Manager\" },\r\n { label: \"Operator\", value: \"Operator\" },\r\n { label: \"Service Technician\", value: \"Service Technician\" },\r\n { label: \"Warranty\", value: \"Warranty\" }];\r\n\r\n isNew: boolean = false;\r\n isEntryModalOpen: boolean = false;\r\n isEmailValid: boolean = true;\r\n totalRecords: number;\r\n toastkey = \"i-loginuser\";\r\n\r\n isConfPwdModalOpen: boolean = false;\r\n isChangedPwdModalOpen: boolean = false;\r\n\r\n errorUNString: string = null;\r\n errorNameString: string = null;\r\n errorPwdString: string = null;\r\n errorUTString: string = null;\r\n errorEmailString: string = null;\r\n errorDPhString: string = null;\r\n\r\n luChanged: any;\r\n depChanged: any;\r\n scChanged: any;\r\n stChanged: any;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(public auth: AuthService ,private pService: NgProgressService, public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this.luChanged = this._dataChanged.loginUserChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj, this.loginUsers, \"UN\");\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.depChanged = this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"department\") {\r\n this.afterBroadCastEvent(sRobj, this.oDeptList, 'DID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.scChanged = this._dataChanged.serviceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.afterBroadCastEvent(sRobj, this.oServiceCenterList, 'ScID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.stChanged = this._dataChanged.serviceTypeChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicetype\") {\r\n this.afterBroadCastEvent(sRobj, this.oServiceTypeList, 'STID');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRequiredData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.loginUsers = this.selectedData = this.selectedChk = this.actionlogs = this.oServiceTypeList = this.servicetypes = this.oServiceCenterList = this.serviceCenters =\r\n this.oDeptList = this.deptllist = this.usertypes = undefined;\r\n\r\n if (this.luChanged != undefined) this.luChanged.unsubscribe();\r\n if (this.depChanged != undefined) this.depChanged.unsubscribe();\r\n if (this.scChanged != undefined) this.scChanged.unsubscribe();\r\n if (this.stChanged != undefined) this.stChanged.unsubscribe();\r\n\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let depList: any = [];\r\n let scList: any = [];\r\n let stList: any = [];\r\n let luList: any = [];\r\n this.httpService.getDataFJ(['api/department', 'api/servicecenter', 'api/servicetype', 'api/loginuser']).subscribe(\r\n data => {\r\n depList = data[0];\r\n scList = data[1];\r\n stList = data[2];\r\n luList = data[3];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (depList) {\r\n this.oDeptList = depList.map(d => Object.assign({}, d));\r\n this.setDepartmentData(this.oDeptList);\r\n }\r\n\r\n if (scList) {\r\n this.oServiceCenterList = scList.map(sc => Object.assign({}, sc));\r\n this.setServiceCenterData(this.oServiceCenterList);\r\n }\r\n\r\n if (stList) {\r\n this.oServiceTypeList = stList.map(st => Object.assign({}, st));\r\n this.setServiceTypeData(this.oServiceTypeList);\r\n }\r\n\r\n if (luList) {\r\n this.loginUsers = luList.map(a => Object.assign({}, a));\r\n this.totalRecords = this.loginUsers.length;\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n\r\n this.httpService.getData('api/department').subscribe(\r\n data => { this.oDeptList = data || []; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.setDepartmentData(this.oDeptList);\r\n this.pService.done();\r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => { this.oServiceCenterList = data || []; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.setServiceCenterData(this.oServiceCenterList);\r\n this.pService.done();\r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"servicetype\") {\r\n\r\n this.httpService.getData('api/servicetype').subscribe(\r\n data => { this.oServiceTypeList = data || []; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.setServiceTypeData(this.oServiceTypeList);\r\n this.pService.done();\r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n\r\n this.httpService.getData('api/loginuser').subscribe(\r\n data => { this.loginUsers = data || []; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.totalRecords = this.loginUsers.length;\r\n\r\n this.pService.done();\r\n }\r\n );\r\n\r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n this.setDepartmentData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.setServiceCenterData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"servicetype\") {\r\n this.setServiceTypeData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDepartmentData(dataList: Department[]) {\r\n this.deptllist = [];\r\n this.deptllist.push({ label: 'Select Department ', value: null });\r\n if (dataList) {\r\n dataList.map(dep => this.deptllist.push({ label: dep.DN, value: dep.DID }));\r\n }\r\n }\r\n\r\n setServiceCenterData(dataList: ServiceCenter[]) {\r\n this.serviceCenters = [];\r\n this.serviceCenters.push({ label: 'Select service center', value: null });\r\n if (dataList) {\r\n dataList.map(x => this.serviceCenters.push({ label: x.ScN, value: x.ScID }));\r\n }\r\n }\r\n\r\n setServiceTypeData(dataList: ServiceType[]) {\r\n this.servicetypes = [];\r\n this.servicetypes.push({ label: 'Select service type', value: null });\r\n if (dataList) {\r\n dataList.map(st => this.servicetypes.push({ label: st.STN, value: st.STID }));\r\n }\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetRequiredData();\r\n }\r\n\r\n findServiceType(para) {\r\n if (para != 0) {\r\n let ind = this.oServiceTypeList.findIndex(c => c.STID === para);\r\n if (ind > 0) {\r\n this.selectedData.STN = this.oServiceTypeList[ind].STN;\r\n }\r\n } else {\r\n this.selectedData.STN = '';\r\n }\r\n }\r\n\r\n findServiceCenter(para): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (para != 0) {\r\n let ind = this.oServiceCenterList.findIndex(c => c.ScID === para);\r\n if (ind > 0) {\r\n this.selectedData.ScN = this.oServiceCenterList[ind].ScN;\r\n }\r\n } else {\r\n this.selectedData.ScN = '';\r\n }\r\n resolve(true);\r\n })\r\n }\r\n\r\n findByIndexServicetype(data, selected): number {\r\n for (var _index in data) {\r\n if (this.loginUsers[_index].UN === selected.UN) {\r\n return parseInt(_index);\r\n }\r\n }\r\n }\r\n\r\n save(pdt, gb) {\r\n if (this.isNotValid()) return;\r\n\r\n if (this.isNew) {\r\n this.selectedData.Pwd = GlobalFunc.HashString(this.selectedData.Pwd);\r\n }\r\n this.selectedData.UserName = this.selectedData.Name;\r\n this.findServiceType(this.selectedData.STID);\r\n this.findServiceCenter(this.selectedData.ScID);\r\n this.pService.start();\r\n\r\n this.httpService.postData('api/loginuser', this.selectedData).\r\n subscribe(\r\n ddd => {\r\n // if (!this.isNew) {\r\n // let _index: number = this.findByIndexServicetype(this.loginUsers, this.selectedData);\r\n // this.loginUsers[_index] = this.selectedData;\r\n // } else {\r\n // this.loginUsers.unshift(this.selectedData);\r\n // }\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n //this.resetDatable(pdt, gb);\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.entryModalClose();\r\n this.pService.done();\r\n });\r\n }\r\n\r\n resetDatable(pdt, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n deleteData(): void {\r\n this.httpService.postData('api/loginuser/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/loginuser/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/loginuser.csv';\r\n this.httpService.DirectLocToWindow(\"loginuser\");\r\n }\r\n );\r\n }\r\n\r\n entryModalOpen() {\r\n this.isEntryModalOpen = true;\r\n this.entryModal.open();\r\n }\r\n\r\n entryModalClose() {\r\n this.errorUNString = null;\r\n this.errorNameString = null;\r\n this.errorPwdString = null;\r\n this.errorUTString = null;\r\n this.errorEmailString = null;\r\n this.errorDPhString = null;\r\n this.isEntryModalOpen = false;\r\n this.entryModal.close();\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true;\r\n this.selectedData = new LoginUser('', '', '', '', 0, 0, 0, '', '', '', '', '');\r\n this.entryModalOpen();\r\n if (this.vc != null && this.vc != undefined) this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToEdit(loginUser: LoginUser): void {\r\n this.isNew = false;\r\n this.selectedData = Object.assign({}, loginUser);\r\n this.entryModalOpen();\r\n if (this.vc1 != null && this.vc1 != undefined) this.vc1.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedData != undefined) {\r\n let temp = [];\r\n this.pService.start();\r\n this.httpService.getData('api/actionlog/' + this.selectedData.UN + '/' + 'LoginUser').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) {\r\n this.actionlogs = temp;\r\n this.actionModal.open();\r\n }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!') }\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n changedUN(e: string) {\r\n this.selectedData.UN = e;\r\n this.errorUNString = null;\r\n\r\n if (this.httpService.checkStringEmpty(this.selectedData.UN)) {\r\n this.errorUNString = 'User ID is required';\r\n } else {\r\n if (this.httpService.checkMaxLength(this.selectedData.UN, 20)) {\r\n this.errorUNString = 'Cannot exceed more than 20 characters.';\r\n } else {\r\n let isUserNameExist = false;\r\n this.httpService.postData('api/loginuser/IsUserNameExist', this.selectedData.UN).subscribe(\r\n data => isUserNameExist = data,\r\n err => { },\r\n () => {\r\n if (isUserNameExist) {\r\n this.errorUNString = 'User ID is already exist.';\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n changedName(e: string) {\r\n this.selectedData.Name = e;\r\n this.errorNameString = null;\r\n\r\n if (this.httpService.checkStringEmpty(this.selectedData.Name)) {\r\n this.errorNameString = 'Name is required.';\r\n }\r\n\r\n if (this.httpService.checkMaxLength(this.selectedData.Name, 50)) {\r\n this.errorNameString = 'Cannot exceed more than 50 characters.';\r\n }\r\n }\r\n\r\n onChangedPassword(e: string) {\r\n this.selectedData.Pwd = e;\r\n this.errorPwdString = null;\r\n\r\n if (this.httpService.checkStringEmpty(this.selectedData.Pwd)) {\r\n this.errorPwdString = 'Password is required.';\r\n }\r\n\r\n if (this.httpService.checkMaxLength(this.selectedData.Pwd, 50)) {\r\n this.errorPwdString = 'Cannot exceed more than 50 characters.';\r\n }\r\n }\r\n\r\n changedUT(e) {\r\n this.selectedData.UT = e;\r\n this.errorUTString = null;\r\n\r\n if (this.httpService.checkStringEmpty(this.selectedData.UT)) {\r\n this.errorUTString = 'User Type is required.';\r\n }\r\n }\r\n\r\n changedEmail(e: string) {\r\n this.selectedData.Email = e;\r\n this.errorEmailString = null;\r\n\r\n if (this.httpService.checkStringEmpty(this.selectedData.Email)) {\r\n this.errorEmailString = 'Email is required.';\r\n } else {\r\n if (this.httpService.checkMaxLength(this.selectedData.Email, 50)) {\r\n this.errorEmailString = 'Cannot exceed more than 50 characters.';\r\n } else {\r\n this.httpService.checkEmail(this.selectedData.Email).then(valid => {\r\n if (!valid) {\r\n this.errorEmailString = 'Invalid email address.';\r\n }\r\n this.isEmailValid = valid;\r\n });\r\n }\r\n }\r\n }\r\n\r\n changedDPh(e: string) {\r\n this.selectedData.DPh = e;\r\n this.errorDPhString = null;\r\n\r\n if (this.httpService.checkStringEmpty(this.selectedData.DPh)) {\r\n this.errorDPhString = 'Department phone is required.';\r\n }\r\n\r\n if (!this.selectedData.DPh.match(/^[0-9]*$/)) {\r\n this.errorDPhString = 'Invalid department phone number.';\r\n }\r\n\r\n if (this.httpService.checkMaxLength(this.selectedData.DPh, 50)) {\r\n this.errorDPhString = 'Cannot exceed more than 50 characters.';\r\n }\r\n }\r\n\r\n isNotValid() {\r\n return this.selectedData === undefined ||\r\n this.selectedData === null ||\r\n this.httpService.checkStringEmpty(this.selectedData.UN) ||\r\n this.httpService.checkMaxLength(this.selectedData.UN, 20) ||\r\n this.httpService.checkStringEmpty(this.selectedData.Name) ||\r\n this.httpService.checkMaxLength(this.selectedData.Name, 50) ||\r\n this.httpService.checkStringEmpty(this.selectedData.Pwd) ||\r\n this.httpService.checkMaxLength(this.selectedData.Pwd, 50) ||\r\n this.httpService.checkStringEmpty(this.selectedData.UT) ||\r\n this.httpService.checkStringEmpty(this.selectedData.Email) ||\r\n !this.isEmailValid ||\r\n this.httpService.checkStringEmpty(this.selectedData.DPh) ||\r\n this.selectedData.DPh.match(/^[0-9]*$/) == null ||\r\n this.selectedData.DPh.match(/^[0-9]*$/) == undefined ||\r\n this.httpService.checkMaxLength(this.selectedData.DPh, 50);\r\n }\r\n\r\n changedPassword(): void {\r\n this.isConfPwdModalOpen = true;\r\n this.ConfirmedPwdModal.open();\r\n }\r\n\r\n editFormResultCurPwd(e: boolean) {\r\n this.isConfPwdModalOpen = false;\r\n this.ConfirmedPwdModal.close();\r\n if (e) {\r\n this.isChangedPwdModalOpen = true;\r\n this.ChangedPwdModal.open();\r\n }\r\n }\r\n\r\n editFormResultChangedPwd(e: any) {\r\n if (e != null && e!= undefined) {\r\n //this.selectedData = e;\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully update password.'); \r\n if(this.selectedData.UN == this.auth.UN){\r\n this.httpService.logout();\r\n }\r\n }\r\n this.isChangedPwdModalOpen = false;\r\n this.ChangedPwdModal.close();\r\n }\r\n}","export class LoginUser {\r\n constructor(public UT?, public Name?, public UN?, public Pwd?, public DID?, public STID?, public ScID?, public STN?, public ScN?, public DN?, public Email?, public DPh?, public UserName?) { }\r\n}","import { Component, OnInit, OnDestroy, OnChanges, AfterViewInit, AfterContentInit, ViewChild, NgZone } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { DashQuery } from '../dashboard/dashquery';\r\nimport { JobListNewQuery } from '../joblistnew/joblistnewquery';\r\nimport { SelectItem } from 'primeng/api/selectitem';\r\n\r\n@Component({\r\n selector: 'main-dashboard',\r\n templateUrl: './main-dashboard.component.html'\r\n})\r\n\r\nexport class MainDashboardCP implements OnInit, OnDestroy {\r\n @ViewChild('jobDetailListModal', { static: false }) jobDetailListModal: BsModalComponent;\r\n\r\n public dquery: DashQuery;\r\n public filteredDataList: any[] = [];//to calculate total\r\n public dataList: any[];\r\n public srObjT: any;\r\n public srObjSM: any;\r\n public joblistnewqry: JobListNewQuery;\r\n public title: string = '';\r\n public isJobDetailList: boolean = false;\r\n public search: string = '';\r\n public srObjJ: any;\r\n public toastkey = \"main-dashboard\";\r\n public servicecenterddown: SelectItem[] = [];\r\n public scList: any = null;\r\n selectedServiceCenter: number;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpservice: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this.dquery = new DashQuery();\r\n this.dquery.PType = 'st';\r\n this.dquery.Period = 'a';\r\n this.dquery.Selected = null;\r\n this.dquery.SCID = null;\r\n this.dquery.STID = null;\r\n this.dquery.DID = null;\r\n this.dquery.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.dquery.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n this.dquery.SearchText = '';\r\n\r\n this.joblistnewqry = new JobListNewQuery(null, null, null, null, 'a', this.dquery.FromDate, this.dquery.ToDate);\r\n\r\n // this.srObjT = this._dataChanged.jobTStatusChanged.subscribe(\r\n // srDataT => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // );\r\n\r\n // this.srObjSM = this._dataChanged.jobSmStatusChanged.subscribe(\r\n // srDataSM => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // );\r\n\r\n // this.srObjJ = this._dataChanged.jobChanged.subscribe(\r\n // srData => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // );\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.getRequiredData();\r\n this.getDataList();\r\n };\r\n\r\n ngOnDestroy() {\r\n this.dquery =\r\n this.dataList =\r\n this.joblistnewqry =\r\n this.dquery = undefined;\r\n if (this.srObjT !== undefined) this.srObjT.unsubscribe();\r\n if (this.srObjSM !== undefined) this.srObjSM.unsubscribe();\r\n if (this.srObjJ !== undefined) this.srObjJ.unsubscribe();\r\n }\r\n\r\n refresh(){ \r\n this.getDataList();\r\n }\r\n\r\n valChangedServiceCenter() {\r\n this.dquery.SCID = this.selectedServiceCenter;\r\n }\r\n\r\n getDataList(): void {\r\n if (this.dquery && this.dquery.SCID != null && this.dquery.SCID != undefined && this.dquery.FromDate && this.dquery.ToDate) {\r\n this.pService.start(); \r\n var obj = Object.assign({}, this.dquery);\r\n obj.SCID = obj.SCID == -1 ? null : obj.SCID;\r\n this.httpservice.postData('api/maindashboardtable', obj).subscribe(\r\n exp => {\r\n this.dataList = exp;\r\n },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', err); \r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n });\r\n } else {\r\n this.dataList = [];\r\n this.pService.done();\r\n }\r\n }\r\n\r\n getRequiredData(): void { \r\n this.httpservice.getDataFJ(['api/getsc']).subscribe(\r\n data => {\r\n this.scList = data[0];\r\n this.scList.map(x => {\r\n this.servicecenterddown.push({ label: x.Name, value: x.ID });\r\n })\r\n this.servicecenterddown.push({ label: '- All Service Center -', value: -1 });\r\n //this.pService.done();\r\n \r\n },\r\n err => { this.httpservice.showToast(this.toastkey, 'error', err); },\r\n () => {\r\n });\r\n }\r\n\r\n periodChanged(): void {\r\n //this.pService.start();\r\n if (this.dquery.Period === 'f') {\r\n this.dquery.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.dquery.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n //this.getDataList();\r\n\r\n } else {\r\n //this.getDataList();\r\n }\r\n }\r\n\r\n onSelectDate(): void {\r\n //this.getDataList();\r\n }\r\n\r\n exportToCSV() {\r\n this.dquery.SearchText = this.search;\r\n var obj = Object.assign({}, this.dquery);\r\n obj.SCID = obj.SCID == -1 ? null : obj.SCID; \r\n this.httpservice.postData('api/exportmaindashboardtable', obj).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpservice._url + 'excel/maindashboardjobs.csv';\r\n this.httpservice.DirectLocToWindow(\"maindashboardjobs\");\r\n }\r\n );\r\n }\r\n\r\n cellClickTotal(colfield, count , scenter){ \r\n if (this.search || count === 0) return;\r\n this.joblistnewqry.departmentId = null;\r\n this.joblistnewqry.servicecenterId = scenter.ScID;\r\n this.joblistnewqry.servicetypeId = null;\r\n this.joblistnewqry.period = this.dquery.Period;\r\n this.joblistnewqry.fromdate = this.dquery.FromDate;\r\n this.joblistnewqry.todate = this.dquery.ToDate;\r\n this.joblistnewqry.noTaken = false;\r\n this.joblistnewqry.noSDone = false;\r\n switch (colfield) {\r\n \r\n case 'WaitingCustomerReply': {\r\n this.joblistnewqry.jobstatusId = 7;\r\n this.title = 'Job Detail List (WaitingCustomerReply)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitPart': {\r\n this.joblistnewqry.jobstatusId = 15;\r\n this.title = 'Job Detail List (WaitPart)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'ReceivedJob': {\r\n this.joblistnewqry.jobstatusId = 1;\r\n this.title = 'Job Detail List (Job Receive)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WorkInProgress': {\r\n this.joblistnewqry.jobstatusId = 5;\r\n this.title = 'Job Detail List (WP)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'SDone': {\r\n this.joblistnewqry.noTaken = true;\r\n this.joblistnewqry.noSDone = true;\r\n this.joblistnewqry.jobstatusId = 2;\r\n this.title = 'Job Detail List (Service Manager Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'TDone': {\r\n this.joblistnewqry.noTaken = true;\r\n this.joblistnewqry.noSDone = true;\r\n this.joblistnewqry.jobstatusId = 3;\r\n this.title = 'Job Detail List (Technician Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Taken': {\r\n this.joblistnewqry.jobstatusId = 4;\r\n this.title = 'Job Detail List (Taken)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'FOC': {\r\n this.joblistnewqry.jobstatusId = 8;\r\n this.title = 'Job Detail List (FOC)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Warranty': {\r\n this.joblistnewqry.jobstatusId = 6;\r\n this.title = 'Job Detail List (Warranty)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Irreparable': {\r\n this.joblistnewqry.jobstatusId = 110; //custom value\r\n this.title = 'Job Detail List (Unable to repair)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'CancelCustomer': {\r\n this.joblistnewqry.jobstatusId = 118;\r\n this.title = 'Job Detail List (CustomerCancel)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n\r\n }\r\n this.jobDetailListModal.open();\r\n }\r\n\r\n cellClick(colfield, rdata, scenter) {\r\n if (rdata === null || rdata === undefined || rdata[colfield] === 0) return;\r\n this.joblistnewqry.departmentId = null;\r\n this.joblistnewqry.servicecenterId = scenter.ScID;\r\n this.joblistnewqry.servicetypeId = rdata.STID;\r\n this.joblistnewqry.period = this.dquery.Period;\r\n this.joblistnewqry.fromdate = this.dquery.FromDate;\r\n this.joblistnewqry.todate = this.dquery.ToDate;\r\n this.joblistnewqry.noTaken = true;\r\n this.joblistnewqry.noSDone = true; \r\n\r\n switch (colfield) {\r\n case 'CancelCustomer': {\r\n this.joblistnewqry.jobstatusId = 118;\r\n this.title = 'Job Detail List (CustomerCancel)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitingCustomerReply': {\r\n this.joblistnewqry.jobstatusId = 7;\r\n this.title = 'Job Detail List (WaitingCustomerReply)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitPart': {\r\n this.joblistnewqry.jobstatusId = 15;\r\n this.title = 'Job Detail List (WaitPart)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'ReceivedJob': {\r\n this.joblistnewqry.jobstatusId = 1;\r\n this.title = 'Job Detail List (Job Receive)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WorkInProgress': {\r\n this.joblistnewqry.jobstatusId = 5;\r\n this.title = 'Job Detail List (WP)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'SDone': {\r\n this.joblistnewqry.noTaken = true;\r\n this.joblistnewqry.noSDone = true;\r\n this.joblistnewqry.jobstatusId = 2;\r\n this.title = 'Job Detail List (Service Manager Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'TDone': {\r\n this.joblistnewqry.noTaken = true;\r\n this.joblistnewqry.noSDone = true;\r\n this.joblistnewqry.jobstatusId = 3;\r\n this.title = 'Job Detail List (Technician Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Taken': {\r\n this.joblistnewqry.jobstatusId = 4;\r\n this.title = 'Job Detail List (Taken)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'FOC': {\r\n this.joblistnewqry.jobstatusId = 8;\r\n this.title = 'Job Detail List (FOC)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Warranty': {\r\n this.joblistnewqry.jobstatusId = 6;\r\n this.title = 'Job Detail List (Warranty)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Irreparable': {\r\n this.joblistnewqry.jobstatusId = 110; //custom value\r\n this.title = 'Job Detail List (Unable to repair)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n\r\n }\r\n\r\n // if (this.joblistnewqry.jobstatusId == 110) {\r\n // this.joblistnewqry.noSDone = false;\r\n // } else if (this.joblistnewqry.jobstatusId == 118) {\r\n // this.joblistnewqry.noSDone = false;\r\n // } \r\n \r\n // if (this.joblistnewqry.jobstatusId == 2 || this.joblistnewqry.jobstatusId == 3 ||\r\n // this.joblistnewqry.jobstatusId == 17 || this.joblistnewqry.jobstatusId == 5 ||\r\n // this.joblistnewqry.jobstatusId == 7 || this.joblistnewqry.jobstatusId == 9 ||\r\n // this.joblistnewqry.jobstatusId == 10 || this.joblistnewqry.jobstatusId == 11 ||\r\n // this.joblistnewqry.jobstatusId == 110 || this.joblistnewqry.jobstatusId == 18 ||\r\n // this.joblistnewqry.jobstatusId == 118 || this.joblistnewqry.jobstatusId == 15) { //(Taken မပါရပါ။)\r\n // this.joblistnewqry.noTaken = true;\r\n // }else if(this.joblistnewqry.jobstatusId == 4){\r\n // this.joblistnewqry.noTaken = false;\r\n // }\r\n // else {\r\n // this.joblistnewqry.noTaken = null;\r\n // }\r\n this.jobDetailListModal.open();\r\n }\r\n\r\n jDListModalClose() {\r\n this.joblistnewqry = new JobListNewQuery(null, null, null, null, 'a', this.dquery.FromDate, this.dquery.ToDate);\r\n this.title = '';\r\n this.isJobDetailList = false;\r\n this.jobDetailListModal.close();\r\n }\r\n\r\n jobInfosValue(jobinfos: any) {\r\n if (jobinfos == null || jobinfos == undefined) return;\r\n\r\n if (this.search == null || this.search == undefined) this.search = '';\r\n let filteredData = [];\r\n filteredData = jobinfos.filter(j => (j.STN.trim()).toLowerCase().indexOf(this.search.toLowerCase().trim()) !== -1)\r\n this.filteredDataList = filteredData.map(a=> Object.assign({},a));\r\n return filteredData;\r\n }\r\n \r\n calculateTotal(propName:string, totalPropName:string, data: any){\r\n if(this.search == \"\" || this.search == null || this.search == undefined){\r\n return data[totalPropName];\r\n }else{\r\n var total = 0;\r\n if(this.filteredDataList!= null && this.filteredDataList != undefined && this.filteredDataList.length > 0){\r\n total = this.filteredDataList.map(a => a[propName]).reduce(function(a, b)\r\n {\r\n return a + b;\r\n });\r\n }\r\n data[totalPropName] = total;\r\n return total;\r\n }\r\n }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\n\r\n// Thrid Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\nimport { SelectItem } from 'primeng/api';\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { MessageTemplate } from './messagetemplate';\r\n\r\n@Component({\r\n selector: 'i-message-template',\r\n templateUrl: './messagetemplate.component.html'\r\n})\r\nexport class MessageTemplateCP implements OnInit {\r\n @ViewChild('templatetxt', { static: false }) templatetxt;\r\n messageTypeDDown: SelectItem[] = [];\r\n messagetemplate: MessageTemplate;\r\n messagetemplates: MessageTemplate[] = [];\r\n public toastkey = \"i-message-template\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public locat: Location, public httpservice: HttpServices) {\r\n this.messagetemplate = new MessageTemplate('', '');\r\n }\r\n ngOnInit() {\r\n this.setMsgTypeDDown();\r\n this.getMsgTemplates();\r\n }\r\n setMsgTypeDDown() {\r\n this.messageTypeDDown = [{ label: '- Select Message Type -', value: null }, { label: 'SMS', value: 'SMS' }, { label: 'Email', value: 'Email' }];\r\n }\r\n getMsgTemplates() {\r\n this.messagetemplates = [];\r\n this.pService.start();\r\n this.httpservice.getData('api/getMessageTemplates').subscribe(\r\n expdata => { this.messagetemplates = expdata; },\r\n err => { },\r\n () => { \r\n this.pService.done(); \r\n }\r\n );\r\n }\r\n msgTypeChange(event) {\r\n if (event.value != null) {\r\n let idx = this.messagetemplates.findIndex(x => x.mtType === event.value);\r\n if (idx >= 0) this.messagetemplate.mTemplate = this.messagetemplates[idx].mTemplate;\r\n this.templatetxt.nativeElement.focus();\r\n }\r\n else this.messagetemplate.mTemplate = '';\r\n }\r\n saveData() {\r\n this.pService.start();\r\n this.httpservice.postData('api/saveMessageTemplates', this.messagetemplate).subscribe(\r\n expdata => { },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs !' + '\\n' + err);\r\n this.pService.done();\r\n },\r\n () => {\r\n this.getMsgTemplates();\r\n this.httpservice.showToast(this.toastkey, 'success', 'Successfully done !');\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n}","export class MessageTemplate {\r\n constructor(public mtType?, public mTemplate?) {}\r\n}","import { Component, OnInit, ViewChild, NgZone, OnDestroy } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { Category } from '../category/category';\r\nimport { Model } from './model';\r\nimport { Brand } from '../brand/brand';\r\n\r\n@Component({\r\n selector: 'i-model',\r\n templateUrl: './model.component.html'\r\n})\r\nexport class ModelCP implements OnInit, OnDestroy {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('actionModal', { static: false }) actionModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('otherModal', { static: false }) otherModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n\r\n apiName: string = \"model\";\r\n isNew: boolean;\r\n categories: Category[] = [];\r\n catlist: SelectItem[] = [];\r\n\r\n models: Model[] = [];\r\n selectedChk: Model[] = [];\r\n\r\n brands: Brand[] = [];\r\n brandlist: SelectItem[] = [];\r\n\r\n actionlogs: any[] = [];\r\n\r\n model: Model = new Model();\r\n selectedData: Model;\r\n selectedBId: any;\r\n\r\n totalRecords: number;\r\n toastkey = \"i-model\";\r\n isShowCatModal: boolean = false;\r\n\r\n modelChanged: any;\r\n catChanged: any;\r\n brandChanged: any;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n\r\n this.modelChanged = this._dataChanged.modelChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj, this.models, \"MoID\");\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.catChanged = this._dataChanged.categoryChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"category\") {\r\n this.afterBroadCastEvent(sRobj, this.categories, 'CatID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.brandChanged = this._dataChanged.brandChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"brand\") {\r\n this.afterBroadCastEvent(sRobj, this.brands, 'BID');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRequiredData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.categories = this.catlist = this.models = this.selectedChk = this.brands = this.brandlist = this.actionlogs = this.model = this.selectedData = undefined;\r\n\r\n if (this.modelChanged != undefined) this.modelChanged.unsubscribe();\r\n if (this.catChanged != undefined) this.catChanged.unsubscribe();\r\n if (this.brandChanged != undefined) this.brandChanged.unsubscribe();\r\n\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let bList: any = [];\r\n let cList: any = [];\r\n let mList: any = [];\r\n this.httpService.getDataFJ(['api/category', 'api/brand', 'api/model']).subscribe(\r\n data => {\r\n cList = data[0];\r\n bList = data[1];\r\n mList = data[2];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (cList) {\r\n this.categories = cList.map(a => Object.assign({}, a));\r\n this.setCategoryData(this.categories);\r\n }\r\n\r\n if (bList) {\r\n this.brands = bList.map(b => Object.assign({}, b));\r\n this.setBrandData(this.brands);\r\n }\r\n\r\n if (mList) {\r\n this.models = mList.map(a => Object.assign({}, a));\r\n this.models.sort((a, b) => a.MoN > b.MoN ? 1 : (b.MoN > a.MoN ? -1 : 0));\r\n this.totalRecords = this.models.length;\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n getModelbyConditionChange(bid) {\r\n if (bid === null) {\r\n this.pService.start();\r\n this.httpService.getData('api/model').subscribe(\r\n data => { this.models = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done(); \r\n },\r\n () => {\r\n this.models.sort((a, b) => a.MoN > b.MoN ? 1 : (b.MoN > a.MoN ? -1 : 0));\r\n this.totalRecords = this.models.length;\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n else {\r\n this.getModelsByBId(bid);\r\n }\r\n }\r\n\r\n getModelsByBId(bid): void {\r\n let mList = [];\r\n this.pService.start();\r\n this.httpService.getData('api/model/getbybid/' + bid).subscribe(\r\n expdata => {\r\n mList = expdata;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (mList) {\r\n this.models = mList.map(a => Object.assign({}, a));\r\n this.models.sort((a, b) => a.MoN > b.MoN ? 1 : (b.MoN > a.MoN ? -1 : 0));\r\n this.totalRecords = this.models.length;\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"category\") {\r\n\r\n this.httpService.getData('api/category').subscribe(\r\n data => { this.categories = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setCategoryData(this.categories);\r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"brand\") {\r\n\r\n this.httpService.getData('api/brand').subscribe(\r\n data => { this.brands = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done();\r\n },\r\n () => { \r\n this.setBrandData(this.brands); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.getModelbyConditionChange(this.selectedBId);\r\n }\r\n }\r\n else {\r\n if (objData.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n if (this.selectedBId && this.selectedBId !== objData.Obj.BID) { //need to update data by selected brandid\r\n return;\r\n }\r\n }\r\n\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"category\") {\r\n this.setCategoryData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"brand\") {\r\n this.setBrandData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetRequiredData();\r\n }\r\n\r\n setCategoryData(dataList: Category[]) {\r\n this.catlist = [];\r\n this.catlist.push({ label: 'Select category', value: null });\r\n if (dataList) {\r\n dataList.map(x => { this.catlist.push({ label: x.CatN + \" (\" + x.BN + \")\", value: x.CatID }); });\r\n }\r\n }\r\n\r\n setBrandData(dataList: Brand[]) {\r\n this.brandlist = [];\r\n this.brandlist.push({ label: '- All -', value: null });\r\n if (dataList) {\r\n dataList.map(x => { this.brandlist.push({ label: x.BN, value: x.BID }); });\r\n }\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true;\r\n this.model = new Model();\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToEdit(model: Model): void {\r\n this.isNew = false;\r\n this.model = model;\r\n this.selectedData = model;\r\n\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedData != undefined) {\r\n let temp = [];\r\n this.pService.start();\r\n this.httpService.getData('api/actionlog/' + this.selectedData.MoID + '/' + 'Model').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading log data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) {\r\n this.actionlogs = temp;\r\n this.actionModal.open();\r\n }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!'); }\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n save(pdt, gb): void {\r\n //if (this.modelForm != undefined) {\r\n if (!this.model) return;\r\n this.pService.start();\r\n if (this.categories) {\r\n let mCategory = this.categories.find(c => c.CatID === this.model.CatID);\r\n this.model.CatN = mCategory?.CatN;\r\n this.model.BID = mCategory?.BID;\r\n this.model.BN = mCategory?.BN;\r\n }\r\n\r\n\r\n this.httpService.postData('api/model', this.model).subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating model!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.resetDatable(pdt, gb);\r\n\r\n //this.GetData();\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.entryModal.close();\r\n this.pService.done();\r\n }\r\n );\r\n //}\r\n }\r\n\r\n deleteData() {\r\n this.httpService.postData('api/model/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n resetDatable(pdt, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n BrandsChanged(event): void {\r\n this.selectedBId = event.value;\r\n this.getModelbyConditionChange(this.selectedBId);\r\n }\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n otherModalOpen() {\r\n this.isShowCatModal = true;\r\n this.otherModal.open();\r\n }\r\n\r\n otherModalClose() {\r\n this.isShowCatModal = false;\r\n this.otherModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/model/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/model.csv';\r\n this.httpService.DirectLocToWindow(\"model\");\r\n }\r\n );\r\n }\r\n}","export class Model {\r\n constructor(public MoID?, public MoN?, public CatID?, public CatN?, public BID?, public BN?) { }\r\n}","import { Component, OnInit, ViewChild, NgZone, Output, EventEmitter, Input } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { Category } from '../category/category';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n@Component({\r\n selector: 'i-modeldialog',\r\n templateUrl: './modeldialog.component.html'\r\n})\r\n\r\nexport class ModelDialogCP implements OnInit {\r\n @Output() onClick = new EventEmitter();\r\n @ViewChild('categoryModal', { static: false }) categoryModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n\r\n @Input() isModal: boolean = false;\r\n public modelForm: FormGroup;\r\n public categories: Category[];\r\n public catlist: SelectItem[];\r\n public toastkey = \"i-modeldialog\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _ngZone: NgZone, public auth: AuthService) {\r\n this.pService.start();\r\n }\r\n\r\n ngOnInit() {\r\n this.CreateForm();\r\n this.GetCategory();\r\n }\r\n\r\n CreateForm(): void {\r\n this.modelForm = this.fb.group({\r\n 'MoID': new FormControl(0),\r\n 'MoN': new FormControl('', Validators.compose([Validators.required, Validators.maxLength(50)])),\r\n 'CatID': new FormControl(0, Validators.required),\r\n 'CatN': new FormControl('')\r\n });\r\n\r\n if (this.vc != null || this.vc != undefined) this.vc.nativeElement.focus();\r\n }\r\n\r\n GetCategory(): void {\r\n let cList = [];\r\n this.httpService.getData('api/category').subscribe(\r\n data => cList = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.catlist = [];\r\n this.catlist.push({ label: 'Select category', value: null });\r\n if (cList) {\r\n cList.map(x => {\r\n if (x.DID === this.auth.DID) this.catlist.push({ label: x.CatN + \" (\" + x.BN + \")\", value: x.CatID });\r\n });\r\n }\r\n this.pService.done();\r\n });\r\n }\r\n\r\n // loadtodropdown(data: any[]): void {\r\n // this.catlist = [];\r\n // this.catlist.push({ label: 'Select category', value: null });\r\n // data.forEach(x => {\r\n // if (x.DID === this.auth.DID) this.catlist.push({ label: x.CatN + \" (\" + x.BN + \")\", value: x.CatID });\r\n // });\r\n // }\r\n\r\n findCategory(para) {\r\n if (para != 0) {\r\n if (this.categories != undefined) {\r\n for (let cat of this.categories) {\r\n if (cat.CatID === para) {\r\n this.modelForm.controls['CatN'].patchValue(cat.CatN);\r\n break;\r\n }\r\n }\r\n } else {\r\n this.modelForm.controls['CatN'].patchValue('');\r\n }\r\n }\r\n }\r\n\r\n onclick(isSaving: boolean): void {\r\n if (isSaving) {\r\n if (this.modelForm != undefined) {\r\n this.pService.start();\r\n this.httpService.postData('api/model', this.modelForm.value).\r\n subscribe(\r\n ddd => {\r\n this.modelForm.controls['MoID'].patchValue(ddd);\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.onClick.emit(this.modelForm.controls['MoID'].value);\r\n //this.onClick.emit(this.modelForm.value);\r\n this.pService.done();\r\n });\r\n }\r\n } else {\r\n this.onClick.emit();\r\n }\r\n }\r\n\r\n onDismissCategoryModal() {\r\n this.GetCategory();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n\r\n CategoryModalClose() {\r\n this.categoryModal.close();\r\n this.GetCategory();\r\n this.httpService.AddClassToModal(this.isModal);\r\n }\r\n}","import { Component, ViewChild, NgZone, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { Table } from 'primeng/table';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\nimport { Department } from '../department/department';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\n\r\n\r\n@Component({\r\n selector: 'i-over7',\r\n templateUrl: './over7.component.html'\r\n})\r\nexport class Over7CP implements OnInit, OnDestroy {\r\n @ViewChild('table', { static: false }) table: Table;\r\n @ViewChild('pdt', { static: false }) pdt;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n printMode: boolean = false;\r\n jobs: any[] = [];\r\n filteredjobs: any[] = [];\r\n totalRecords: number;\r\n\r\n oServiceCenterList: ServiceCenter[] = [];\r\n servicecenterlist: any[] = [];\r\n\r\n oDeptList: Department[] = [];\r\n deptllist: any[] = [];\r\n\r\n overdaylist = [{ label: '3', value: 3 }, { label: '7', value: 7 }, { label: '10', value: 10 }, { label: '15', value: 15 }, { label: '20', value: 20 }];\r\n\r\n _department: any;\r\n _servicecenter: any;\r\n _overday: any;\r\n _deptName: string = '';\r\n _scName: string = '';\r\n\r\n toastkey = \"i-over7\";\r\n\r\n depChanged: any;\r\n scChanged: any;\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router, public _ngZone: NgZone, public auth: AuthService, public _dataChanged: DataChangedEvent) {\r\n this.pService.start();\r\n this._overday = this.overdaylist[0].value;\r\n\r\n this.depChanged = this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"department\") {\r\n this.afterBroadCastEvent(sRobj, this.oDeptList, 'DID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.scChanged = this._dataChanged.serviceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.afterBroadCastEvent(sRobj, this.oServiceCenterList, 'ScID');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRequiredData().then(exp => {\r\n if (exp) {\r\n if (!this._department && this.deptllist && this.deptllist.length > 0) {\r\n this._department = this.deptllist[0].value;\r\n }\r\n if (!this._servicecenter && this.servicecenterlist && this.servicecenterlist.length > 0) {\r\n this._servicecenter = this.servicecenterlist[0].value;\r\n }\r\n this.getOverDayJobs();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.jobs = this.filteredjobs = this.oServiceCenterList = this.servicecenterlist = this.oDeptList = this.deptllist = this.overdaylist = this._department =\r\n this._servicecenter = this._overday = undefined;\r\n\r\n if (this.scChanged != undefined) this.scChanged.unsubscribe();\r\n if (this.depChanged != undefined) this.depChanged.unsubscribe();\r\n }\r\n\r\n getOverDayJobs() {\r\n if (this._department === null || this._servicecenter === null) return;\r\n\r\n this.pService.start();\r\n var param = {\r\n \"did\" : this._department,\r\n \"scid\" : this._servicecenter,\r\n \"overday\" : this._overday,\r\n \"noTaken\" : true\r\n }\r\n //this.httpService.getData('api/job/getoverdayjobs/' + this._department + '/' + this._servicecenter + '/' + this._overday).subscribe(\r\n this.httpService.postData('api/job/getoverdayjobs', param).subscribe(\r\n data => { this.jobs = data; this.pService.done();},\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting job data !');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.getDifferDays().then(rps => {\r\n this.filterData();\r\n this.pService.done();\r\n }).catch(err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting differ days !');\r\n this.pService.done();\r\n });\r\n }\r\n );\r\n //getting them for printMode !\r\n this.getDeptName();\r\n this.getSCName();\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let depList: any = [];\r\n let scList: any = [];\r\n this.httpService.getDataFJ(['api/department', 'api/servicecenter']).subscribe(\r\n data => {\r\n depList = data[0];\r\n scList = data[1];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (depList) {\r\n this.oDeptList = depList.map(d => Object.assign({}, d));\r\n this.setDepartmentData(this.oDeptList);\r\n }\r\n\r\n if (scList) {\r\n this.oServiceCenterList = scList.map(s => Object.assign({}, s));\r\n this.setServiceCenterData(this.oServiceCenterList);\r\n }\r\n\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n \r\n this.httpService.getData('api/department').subscribe(\r\n data => { this.oDeptList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { \r\n this.setDepartmentData(this.oDeptList);\r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => { this.oServiceCenterList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { \r\n this.setServiceCenterData(this.oServiceCenterList);\r\n this.pService.done(); \r\n }\r\n );\r\n \r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n this.setDepartmentData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.setServiceCenterData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDepartmentData(dataList: Department[]) {\r\n this.deptllist = [];\r\n if (dataList) {\r\n dataList.map(x => {\r\n if (x.DID === this.auth.DID) {\r\n this._department = x.DID;\r\n }\r\n this.deptllist.push({ label: x.DN, value: x.DID });\r\n });\r\n }\r\n }\r\n\r\n setServiceCenterData(dataList: ServiceCenter[]) {\r\n this.servicecenterlist = [];\r\n if (dataList) {\r\n dataList.map(x => {\r\n if (x.ScID === this.auth.ScID) {\r\n this._servicecenter = x.ScID;\r\n }\r\n this.servicecenterlist.push({ label: x.ScN, value: x.ScID });\r\n });\r\n }\r\n }\r\n\r\n getDifferDays(): Promise {\r\n return new Promise((resolve) => {\r\n let count = 0;\r\n this.jobs.forEach(j => {\r\n count++;\r\n var date1 = new Date(j.JDT);\r\n var date2 = new Date();\r\n\r\n var timeDiff = Math.abs(date2.getTime() - date1.getTime());\r\n j.diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24));\r\n });\r\n if (count === this.jobs.length) resolve('OK');\r\n });\r\n }\r\n\r\n getDeptName() {\r\n let tmp = this.deptllist.filter(dt => dt.value === this._department);\r\n this._deptName = tmp[0].label;\r\n }\r\n\r\n getSCName() {\r\n let tmp = this.servicecenterlist.filter(sc => sc.value === this._servicecenter);\r\n this._scName = tmp[0].label;\r\n }\r\n\r\n servicecentertodropdown(data: any[]): Promise {\r\n return new Promise((resolve) => {\r\n this.servicecenterlist = [];\r\n data.forEach(x => {\r\n if (x.ScID === this.auth.ScID) {\r\n this._servicecenter = x.ScID;\r\n }\r\n this.servicecenterlist.push({ label: x.ScN, value: x.ScID });\r\n });\r\n //this._servicecenter = this.servicecenterlist[0].value;\r\n resolve('OK');\r\n });\r\n }\r\n\r\n departmenttodropdown(data: any[]): Promise {\r\n return new Promise((resolve) => {\r\n this.deptllist = [];\r\n data.forEach(x => {\r\n if (x.DID === this.auth.DID) {\r\n this._department = x.DID;\r\n }\r\n this.deptllist.push({ label: x.DN, value: x.DID });\r\n });\r\n //this._department = this.deptllist[0].value;\r\n resolve('OK');\r\n });\r\n }\r\n\r\n filterData() {\r\n this.totalRecords = this.jobs.length;\r\n // this.filteredjobs = this.jobs.slice(0, 20); \r\n this.filteredjobs = this.jobs.map(a => Object.assign({}, a));\r\n //this.table.paginate({ first: 0, rows: 20 });\r\n }\r\n\r\n onChanged(event) { this.getOverDayJobs(); }\r\n\r\n goJobDetail(rdata) {\r\n //this.router.navigate(['/searchjob', rdata.trim()]); \r\n // this.router.navigate(['/searchjob']).then(obj => {\r\n // this._datachanged.searchjobChanged.emit(rdata.trim());\r\n // });\r\n this.router.navigate(['/searchjob', rdata, 'JID']);\r\n }\r\n\r\n printjob() { window.print(); }\r\n\r\n exportToCSV() {\r\n //this.pdt.exportCSV(); \r\n this.httpService.getData('api/job/exportoverdayjobs/' + this._department + '/' + this._servicecenter + '/' + this._overday).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/unfinishedjobs.csv';\r\n this.httpService.DirectLocToWindow(\"unfinishedjobs\");\r\n }\r\n );\r\n }\r\n}\r\n\r\n","import { Component, ViewChild, OnInit, OnChanges } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { UNAndReset } from '../prepareresetpwd/prepareresetpwd';\r\n\r\n@Component({\r\n selector: 'i-unandreset',\r\n templateUrl: './prepareresetpwd.component.html'\r\n})\r\nexport class UNAndResetCP implements OnInit, OnChanges {\r\n @ViewChild('successConfirmEmailModal', { static: false }) successConfirmEmailModal: BsModalComponent;\r\n @ViewChild('waitLoadingModal', { static: false }) waitLoadingModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n\r\n public un: any;\r\n public formUN: FormGroup;\r\n public unandreset: UNAndReset;\r\n public uns: string[] = [];\r\n public toastkey = \"i-unandreset\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public fb: FormBuilder, public httpservice: HttpServices, public router: Router) {\r\n this.unandreset = new UNAndReset();\r\n }\r\n\r\n ngOnInit() {\r\n this.GetUN();\r\n this.creatForm();\r\n if (this.vc != undefined) this.vc.nativeElement.focus();\r\n }\r\n\r\n ngOnChanges(event) {\r\n }\r\n\r\n creatForm(): void {\r\n this.formUN = this.fb.group({\r\n 'UN': new FormControl(null, Validators.required)\r\n });\r\n }\r\n\r\n ResetPwd(): void {\r\n let tmpUN = this.uns.filter(x => x == this.formUN.controls['UN'].value);\r\n if (tmpUN.length <= 0) {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Sorry, login user_name is invalid !');\r\n return;\r\n }\r\n\r\n this.waitLoadingModal.open();\r\n\r\n this.unandreset.UN = this.formUN.controls['UN'].value;//'tpa'\r\n\r\n let tmpunandreset: UNAndReset;\r\n\r\n this.pService.start();\r\n\r\n this.httpservice.postData('api/prepareresetpwd', this.unandreset).subscribe(\r\n data => { tmpunandreset = data },\r\n err => { this.pService.done(); \r\n this.waitLoadingModal.close(); this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while updating recoveryKey !') },\r\n () => {\r\n this.unandreset.recoveryKey = tmpunandreset.recoveryKey;\r\n\r\n if (tmpunandreset.successEmailSend) {\r\n this.waitLoadingModal.close();\r\n this.successConfirmEmailModal.open();\r\n }\r\n else {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Fail to send email');\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n GetUN(): void {\r\n this.pService.start();\r\n this.httpservice.getData('api/getUN').subscribe(\r\n data => { this.uns = data; },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while getting login user names !');\r\n this.pService.done();\r\n },\r\n () => { \r\n this.pService.done(); \r\n }\r\n );\r\n }\r\n\r\n closeFun(): void {\r\n this.successConfirmEmailModal.close();\r\n this.router.navigate(['/default']);\r\n //this.router.navigate(['/saveresetpwd', 'admin', '214590FA09CD1563FB7FC3E672EE8A3A77BA0626A0DCC6F2B6C3030E1DAAB45A']);\r\n\r\n }\r\n} ","export class UNAndReset {\r\n constructor(public UN?, public recoveryKey?, public email?, public Pwd?, public successEmailSend?) { }\r\n}","import { Component, Input, ElementRef, OnChanges, SimpleChanges } from '@angular/core';\r\n//import * as QRious from 'qrious';\r\n\r\ndeclare var require;\r\nvar QRious = require('qrious');\r\n\r\n@Component({\r\n /*moduleId: 'module.id',*/\r\n selector: 'qr-code-own',\r\n template: ''\r\n})\r\nexport class QRCodeComponentOwn implements OnChanges {\r\n @Input() background: string = 'white';\r\n @Input() backgroundAlpha: number = 1.0;\r\n @Input() foreground: string = 'black';\r\n @Input() foregroundAlpha: number = 1.0;\r\n @Input() level: string = 'L';\r\n @Input() mime: string = 'image/png';\r\n @Input() padding: number = null;\r\n @Input() size: number = 100;\r\n @Input() value: string = '';\r\n\r\n @Input() canvas: boolean = false;\r\n\r\n constructor(public elementRef: ElementRef) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if ('background' in changes ||\r\n 'backgroundAlpha' in changes ||\r\n 'foreground' in changes ||\r\n 'foregroundAlpha' in changes ||\r\n 'level' in changes ||\r\n 'mime' in changes ||\r\n 'padding' in changes ||\r\n 'size' in changes ||\r\n 'value' in changes ||\r\n 'canvas' in changes) { this.generate(); }\r\n }\r\n\r\n generate() {\r\n try {\r\n let el: HTMLElement = this.elementRef.nativeElement;\r\n el.innerHTML = '';\r\n let qr = new QRious({\r\n background: this.background,\r\n backgroundAlpha: this.backgroundAlpha,\r\n foreground: this.foreground,\r\n foregroundAlpha: this.foregroundAlpha,\r\n level: this.level,\r\n mime: this.mime,\r\n padding: this.padding,\r\n size: this.size,\r\n value: this.value\r\n });\r\n\r\n if (this.canvas) {\r\n el.appendChild(qr.canvas);\r\n } else {\r\n el.appendChild(qr.image);\r\n }\r\n } catch (e) {\r\n console.error(`Could not generate QR Code: ${e.message}`);\r\n }\r\n }\r\n}","import { Component, OnInit, OnChanges, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { Observable } from 'rxjs';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { UNAndReset } from '../prepareresetpwd/prepareresetpwd';\r\n\r\n@Component({\r\n selector: 'i-resetpwd',\r\n templateUrl: './saveresetpwd.component.html'\r\n})\r\nexport class ResetPwdCP implements OnInit, OnChanges {\r\n @ViewChild('successSaveModal', { static: false }) successSaveModal: BsModalComponent;\r\n @ViewChild('newpwd', { static: false }) newpwd;\r\n @ViewChild('cfmpwd', { static: false }) cfmpwd;\r\n\r\n public resetPwdForm: FormGroup;\r\n public sub: any;\r\n public UNResetObj: UNAndReset;\r\n public isRKeyValid: boolean;\r\n public toastkey = \"i-resetpwd\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public fb: FormBuilder, public router: Router, public route: ActivatedRoute, public httpservice: HttpServices) {\r\n this.UNResetObj = new UNAndReset();\r\n }\r\n\r\n ngOnInit() {\r\n this.sub = this.route.params.subscribe(params => { this.UNResetObj.UN = params['UN']; this.UNResetObj.recoveryKey = params['rKey'] });\r\n\r\n let rkey: any;\r\n this.pService.start();\r\n this.httpservice.getData('api/rk/' + this.UNResetObj.UN).subscribe(\r\n data => { rkey = data },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs !!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (rkey != this.UNResetObj.recoveryKey) {\r\n this.isRKeyValid = false;\r\n }\r\n else {\r\n this.isRKeyValid = true;\r\n this.createForm();\r\n let timerSub = Observable.timer(10, 100000).subscribe(t => { this.newpwd.nativeElement.focus(); }, err => { }, () => { timerSub.unsubscribe(); });\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n ngOnChanges(event) { }\r\n\r\n ngAfterViewInit() { }\r\n\r\n createForm(): void {\r\n this.resetPwdForm = this.fb.group({\r\n 'NewPwd': new FormControl('', Validators.required),\r\n 'ConfPwd': new FormControl('', Validators.required)\r\n });\r\n }\r\n\r\n saveResetPwd(): void {\r\n this.UNResetObj.Pwd = GlobalFunc.HashString(this.resetPwdForm.controls['NewPwd'].value);\r\n this.pService.start();\r\n this.httpservice.postData('api/saveResetPwd', this.UNResetObj).subscribe(\r\n data => { },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs !!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.successSaveModal.open(); \r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n cancelFun(): void {\r\n this.router.navigate(['/default']);\r\n }\r\n\r\n OK(): void {\r\n this.router.navigate(['/default']);\r\n }\r\n\r\n setFocusNext(event) {\r\n if (event.keyCode === 13) {\r\n this.cfmpwd.nativeElement.focus();\r\n }\r\n }\r\n\r\n gotoSaveResetPwd(event) {\r\n if (event.keyCode === 13) {\r\n this.saveResetPwd();\r\n }\r\n }\r\n}","import { Component, OnInit, OnDestroy, Input, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\nimport { Location } from '@angular/common';\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { Job } from '../job/job';\r\n\r\n@Component({\r\n selector: 'i-searchjob',\r\n templateUrl: './searchjob.component.html'\r\n})\r\nexport class SearchJobCP implements OnInit, OnDestroy {\r\n //@Input() jid;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n @Input() searchData;\r\n @Input() isModalDialog;\r\n public sub: any;\r\n public validJobId: boolean;\r\n public searchjob: any;\r\n public jt: any;\r\n public BAmo: number;\r\n public srobj: any;\r\n public toastkey = \"i-searchjob\";\r\n current_route : any;\r\n\r\n constructor(private pService: NgProgressService ,public activeRoute: ActivatedRoute, public httpservice: HttpServices, public router: Router, public auth: AuthService, public loca: Location, public _datachange: DataChangedEvent) {\r\n this.pService.start();\r\n this.searchjob = '';\r\n this.BAmo = 0;\r\n this.validJobId = false;\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n // if (this.searchData && this.searchData.searchdata !== '' && this.searchData.searchtype !== '') { this.getSearchJob(); }\r\n\r\n // this.srobj = this._datachange.searchjobChanged.subscribe(\r\n // emitobj => {\r\n // // this.jid = emitobj;\r\n // this.searchData = emitobj;\r\n // this.getSearchJob();\r\n // },\r\n // err => { },\r\n // () => { }\r\n // );\r\n \r\n this.current_route = this.activeRoute.params.subscribe(param => {\r\n if (param !== undefined && param.searchdata !== undefined && param.searchtype !== undefined) {\r\n this.searchData = param;\r\n setTimeout(() => { // for authorized error in browser refresh(f5)\r\n this.getSearchJob();\r\n });\r\n \r\n } else {\r\n this.getSearchJob();\r\n // this.pService.done();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.sub != undefined) {\r\n this.sub.unsubscribe();\r\n }\r\n if (this.srobj != undefined) {\r\n this.srobj.unsubscribe();\r\n }\r\n }\r\n\r\n getSearchJob(): void {\r\n if (this.searchData) {\r\n this.httpservice.postData('api/getsearchjob', this.searchData).subscribe(\r\n data => { this.searchjob = data[0] },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (!this.searchjob) {\r\n this.validJobId = false;\r\n this.httpservice.showToast(this.toastkey, 'info', 'There is no job by this job Id!');\r\n }\r\n else {\r\n this.validJobId = true;\r\n this.jt = this.searchjob.JT;\r\n\r\n if (this.searchjob.SAmo != undefined && this.searchjob.PAmo != undefined && this.searchjob.DAmo != undefined) {\r\n this.BAmo = this.searchjob.TAmo - this.searchjob.DAmo;\r\n }\r\n else {\r\n this.BAmo = 0;\r\n }\r\n }\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n }\r\n\r\n saveRSM() {\r\n let tmp = new Job();\r\n tmp.JID = this.searchjob.JID;\r\n tmp.RSM = this.searchjob.RSM;\r\n\r\n this.pService.start();\r\n this.httpservice.postData('api/saveRSM', tmp).subscribe(\r\n data => { },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while updating !');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.httpservice.showToast(this.toastkey, 'success', 'Sucess Update !');\r\n this.pService.done();\r\n }\r\n );\r\n }\r\n\r\n goBack() {\r\n this.loca.back();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { AuthService } from '../authservice';\r\n\r\n@Injectable()\r\nexport class Admin_Role implements CanActivate {\r\n\r\n constructor(public auth: AuthService) { }\r\n\r\n canActivate() {\r\n\r\n if (this.auth.isLoggedIn) {\r\n return (this.auth.role == 'Admin' || this.auth.role == 'Service Manager');\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { AuthService } from '../authservice';\r\n\r\n@Injectable()\r\nexport class Assistance_Manager_Role implements CanActivate {\r\n\r\n constructor(public auth: AuthService) { }\r\n\r\n canActivate() {\r\n\r\n if (this.auth.isLoggedIn) {\r\n return (this.auth.role == 'Assistance Manager' || this.auth.role == 'Service Manager' || this.auth.role == 'Admin')\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { AuthService } from '../authservice';\r\n\r\n@Injectable()\r\nexport class Else_Warranty_Role implements CanActivate {\r\n\r\n constructor(public auth: AuthService) { }\r\n\r\n canActivate() {\r\n\r\n if (this.auth.isLoggedIn) {\r\n return (this.auth.role == 'Operator' || this.auth.role == 'Service Technician' || this.auth.role == 'Assistance Manager' || this.auth.role == 'Service Manager' || this.auth.role == 'Admin')\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { AuthService } from '../authservice';\r\n\r\n@Injectable()\r\nexport class JustLogin implements CanActivate {\r\n\r\n constructor(public auth: AuthService) { }\r\n\r\n canActivate() {\r\n\r\n return this.auth.isLoggedIn;\r\n \r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { AuthService } from '../authservice';\r\n\r\n@Injectable()\r\nexport class Operator_Role implements CanActivate {\r\n\r\n constructor(public auth: AuthService) { }\r\n\r\n canActivate() {\r\n\r\n if (this.auth.isLoggedIn) {\r\n return (this.auth.role == 'Operator' || this.auth.role == 'Assistance Manager' || this.auth.role == 'Service Manager' || this.auth.role == 'Admin')\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { AuthService } from '../authservice';\r\n\r\n@Injectable()\r\nexport class Service_Manager_Role implements CanActivate {\r\n\r\n constructor(public auth: AuthService) { }\r\n\r\n canActivate() {\r\n\r\n if (this.auth.isLoggedIn) {\r\n return (this.auth.role == 'Service Manager' || this.auth.role == 'Admin')\r\n } else {\r\n return false;\r\n }\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { AuthService } from '../authservice';\r\n\r\n@Injectable()\r\nexport class Service_Tech_Role implements CanActivate {\r\n\r\n constructor(public auth: AuthService) { }\r\n\r\n canActivate() {\r\n if (this.auth.isLoggedIn) {\r\n //return (this.auth.role == 'Service Technician')\r\n return (this.auth.role == 'Service Technician' || this.auth.role == 'Assistance Manager' || this.auth.role == 'Service Manager' || this.auth.role == 'Admin');\r\n } else {\r\n return false;\r\n }\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate } from '@angular/router';\r\nimport { AuthService } from '../authservice';\r\n\r\n@Injectable()\r\nexport class Warranty_Role implements CanActivate {\r\n\r\n constructor(public auth: AuthService) { }\r\n\r\n canActivate() {\r\n if (this.auth.isLoggedIn) {\r\n //return (this.auth.role == 'Warranty')\r\n return (this.auth.role == 'Warranty' || this.auth.role == 'Assistance Manager' || this.auth.role == 'Service Manager' || this.auth.role == 'Admin');\r\n } else {\r\n return false;\r\n }\r\n }\r\n}","//import * as AuthStorage from 'localforage';\r\n\r\ndeclare var require;\r\nconst AuthStorage = require(\"localforage\");\r\n\r\nimport { Http, Headers, ConnectionBackend } from '@angular/http';\r\nimport {Injectable} from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n public loginName: string;\r\n public authtoken: string;\r\n public isLoggedIn: boolean;\r\n public role: string;\r\n public DID: number;\r\n public ScID: number;\r\n public STID: number;\r\n public STN: string;\r\n public UN: string;\r\n public Addr: string;\r\n public ScN: string;\r\n\r\n public DN: string;\r\n public DPh: string;\r\n \r\n public isAuthorized: boolean = false;\r\n public appRole: any;\r\n\r\n constructor(public http: Http, public router: Router) {\r\n AuthStorage.config({\r\n driver: AuthStorage.WEBSQL,\r\n name: \"LnnService\",\r\n version: \"2.0\",\r\n size: 52428800,\r\n storeName: 'keyvaluepairs',\r\n description: ''\r\n });\r\n }\r\n\r\n getAuthInfo(): Promise { \r\n return AuthStorage.getItem('authinfo');\r\n }\r\n\r\n storeCredential(authinfo: any) {\r\n AuthStorage.setItem('authinfo', authinfo).then(result => {\r\n this.router.navigate(['/']);\r\n }); \r\n }\r\n\r\n setAllData(data){\r\n this.loginName = data.name;\r\n this.authtoken = data.access_token;\r\n this.role = data.role;\r\n this.DID = data.did;\r\n this.ScID = data.scid;\r\n this.DPh = data.dph;\r\n this.DN = data.dn;\r\n this.ScN = data.scn;\r\n this.STID = data.stid;\r\n this.STN = data.stn;\r\n this.UN = data.un;\r\n this.Addr = data.addr;\r\n this.isLoggedIn = true;\r\n this.isAuthorized =true;\r\n this.appRole = data.role;\r\n }\r\n\r\n // logIn(username: string, password: string) {\r\n // let header = new Headers();\r\n // header.append('Content-Type', 'application/x-www-form-urlencoded');\r\n // var data = \"grant_type=password&username=\" + username + \"&password=\" + password;\r\n // return this.http.post(http.url + 'token', data, { headers: header, method: 'post' }).map(res => res.json());\r\n // //return this.http.post('http://localhost:48598/token', data, { headers: header, method: 'post' }).map(res => res.json());\r\n // }\r\n\r\n // logOut() {\r\n // this.clearLoginProperty(0,0);\r\n // AuthStorage.removeItem('authinfo'); \r\n // }\r\n\r\n clearLoginProperty(did: number, scid: number): void {\r\n this.loginName = ''; \r\n this.authtoken=''; \r\n this.role = '';\r\n this.DID = did;\r\n this.ScID = scid;\r\n this.DN = '';\r\n this.DPh = '';\r\n this.ScN = '';\r\n this.STID = 0;\r\n this.STN = '';\r\n this.UN = '';\r\n this.Addr = '';\r\n this.isLoggedIn = false;\r\n this.isAuthorized =false;\r\n this.appRole = '';\r\n }\r\n}","import { Injectable, EventEmitter } from '@angular/core';\nimport { SrMessage } from '../model/message';\n\n@Injectable()\nexport class DataChangedEvent {\n public accessoryChanged: EventEmitter;\n public brandChanged: EventEmitter;\n public categoryChanged: EventEmitter;\n public customerChanged: EventEmitter;\n public departmentChanged: EventEmitter;\n public loginUserChanged: EventEmitter;\n public modelChanged: EventEmitter;\n public serviceCenterChanged: EventEmitter;\n public serviceTypeChanged: EventEmitter;\n public stockItemChanged: EventEmitter;\n public jobTStatusChanged: EventEmitter;\n public jobChanged: EventEmitter;\n public jobTRateChanged: EventEmitter;\n public jobSmStatusChanged: EventEmitter;\n public jobWarrantyStatusChanged: EventEmitter;\n //public jobChanged: EventEmitter;\n public searchjobChanged: EventEmitter;\n public jobServiceCenterChanged: EventEmitter;\n\n constructor() {\n this.accessoryChanged = new EventEmitter();\n this.brandChanged = new EventEmitter();\n this.categoryChanged = new EventEmitter();\n this.customerChanged = new EventEmitter();\n this.departmentChanged = new EventEmitter();\n this.loginUserChanged = new EventEmitter();\n this.modelChanged = new EventEmitter();\n this.serviceCenterChanged = new EventEmitter();\n this.serviceTypeChanged = new EventEmitter();\n this.stockItemChanged = new EventEmitter();\n this.jobTStatusChanged = new EventEmitter();\n this.jobChanged = new EventEmitter();\n this.jobTRateChanged = new EventEmitter();\n this.jobSmStatusChanged = new EventEmitter();\n this.jobWarrantyStatusChanged = new EventEmitter();\n this.jobServiceCenterChanged = new EventEmitter();\n //this.jobChanged = new EventEmitter();\n this.searchjobChanged = new EventEmitter();\n }\n}","\r\n\r\ndeclare var require;\r\nvar CryptoJS = require(\"crypto-js\");\r\n\r\nexport class GlobalFunc {\r\n //Accessory\r\n static AcKey: string = \"Ac_Key\";\r\n\r\n //Category\r\n static CTKey: string = \"CT_Key\";\r\n\r\n //Brand\r\n static BrKey: string = \"Br_Key\";\r\n\r\n //Model\r\n static MKey: string = \"M_Key\";\r\n\r\n //Model,Category,Brand(MCB)\r\n static MCBKey: string = \"MCB_Key\";\r\n\r\n //Customer\r\n static CusKey: string = \"Cus_Key\";\r\n\r\n //Department\r\n static DPKey: string = \"DP_Key\";\r\n\r\n //Service Center\r\n static SCKey: string = \"SC_Key\";\r\n\r\n //Service Type\r\n static STKey: string = \"St_Key\";\r\n\r\n //Stock Item\r\n static SIKey: string = \"SI_Key\";\r\n\r\n //Current Jobs\r\n static CJKey: string = \"CJ_Key\";\r\n\r\n //Supplier\r\n static SplKey: string = \"Spl_Key\";\r\n\r\n //LoginUser\r\n static LUKey: string = \"LU_Key\";\r\n\r\n //JobShift for unable-repair\r\n //static JSftKey: string = \"JSft_Key\";\r\n\r\n static findSelectedIndex(temp, selected): number {\r\n return temp.indexOf(selected);\r\n }\r\n\r\n static findIndexByID(temp, selected, objtype: string): number {\r\n if (objtype == 'Accessory') {\r\n for (var _index in temp) {\r\n if (temp[_index].AcsID === selected.AcsID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'Brand') {\r\n for (var _index in temp) {\r\n if (temp[_index].BID === selected.BID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'Category') {\r\n for (var _index in temp) {\r\n if (temp[_index].CatID === selected.CatID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'Customer') {\r\n for (var _index in temp) {\r\n if (temp[_index].CID === selected.CID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'Department') {\r\n for (var _index in temp) {\r\n if (temp[_index].DID === selected.DID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'Model') {\r\n for (var _index in temp) {\r\n if (temp[_index].MoID === selected.MoID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'ServiceCenter') {\r\n for (var _index in temp) {\r\n if (temp[_index].ScID === selected.ScID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'ServiceType') {\r\n for (var _index in temp) {\r\n if (temp[_index].STID === selected.STID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'StockItem') {\r\n for (var _index in temp) {\r\n if (temp[_index].SID === selected.SID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n } else if (objtype == 'LoginUser') {\r\n for (var _index in temp) {\r\n if (temp[_index].UN === selected.UN) {\r\n return parseInt(_index);\r\n }\r\n }\r\n return -1;\r\n }\r\n\r\n return -2;\r\n }\r\n\r\n static CloneData(temp, model): any {\r\n let data = new model();\r\n for (let prop in temp) {\r\n data[prop] = temp[prop];\r\n }\r\n return data;\r\n }\r\n\r\n static filterData(query, data: any[]): any[] {\r\n let filtered: any[] = [];\r\n // for (let i = 0; i < data.length; i++) {\r\n // let temp = data[i];\r\n // if (temp.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n // filtered.push(temp);\r\n // }\r\n // }\r\n for(let obj of data){\r\n let temp = obj;\r\n if (temp.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(temp);\r\n }\r\n }\r\n return filtered;\r\n }\r\n\r\n static HashString(value: string): string {\r\n \r\n var hash = CryptoJS.MD5(value); \r\n let hashstring: string = CryptoJS.enc.Base64.stringify(hash);\r\n \r\n let result: string = '';\r\n // for (let i = 0; i < hashstring.length; i++) { \r\n // if (hashstring[i] == '+')\r\n // result += 'A';\r\n // else\r\n // result += hashstring[i];\r\n // }\r\n for(let obj of hashstring){\r\n if (obj == '+')\r\n result += 'A';\r\n else\r\n result += obj;\r\n }\r\n return result;\r\n }\r\n\r\n static periodList(): any {\r\n let periods = [];\r\n periods.push({ value: 'a', label: 'Today' });\r\n periods.push({ value: 'b', label: 'This week' });\r\n periods.push({ value: 'c', label: 'This Month' });\r\n periods.push({ value: 'd', label: 'Within 2 Months' });\r\n periods.push({ value: 'e', label: 'Within 3 Months' });\r\n periods.push({ value: 'f', label: 'Custom Date' });\r\n return periods;\r\n }\r\n\r\n static changeDateTime(datetimeObj): any {\r\n if (datetimeObj === null) return null;\r\n else {\r\n let tmpdatetime = new Date(new Date(datetimeObj).getFullYear(), new Date(datetimeObj).getMonth(), new Date(datetimeObj).getDate(),\r\n new Date(datetimeObj).getHours(), new Date(datetimeObj).getMinutes(), new Date(datetimeObj).getSeconds(), new Date(datetimeObj).getMilliseconds());\r\n\r\n tmpdatetime.setMinutes((tmpdatetime.getMinutes()) + 30);\r\n tmpdatetime.setHours((tmpdatetime.getHours()) + 6);\r\n return tmpdatetime;\r\n }\r\n }\r\n\r\n static GetNow(): Date{\r\n let d : Date = new Date();\r\n let result: Date = new Date(d.getFullYear() + '-'+ d.getMonth() + '-'+ d.getDate() + 'T' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds() + '.7217519+06:30');\r\n return result;\r\n\r\n\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Http, Response } from '@angular/http';\r\nimport { Headers, RequestOptions } from '@angular/http';\r\nimport { HttpClient, HttpRequest, HttpEventType, HttpResponse, HttpEvent } from '@angular/common/http';\r\nimport { Observable } from 'rxjs/observable';\r\nimport { AuthService } from './authservice';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { lFservice } from \"./lFservice\";\r\nimport { MessageService } from 'primeng/api';\r\n\r\n@Injectable()\r\nexport class HttpServices {\r\n // _url: string = \"http://linnservice.com/\";\r\n // _url: string = \"https://linnservice.itstar.io/\";\r\n _url = window.location.origin + '/';\r\n\r\n public deptllist: SelectItem[];\r\n\r\n public serviceCenters: SelectItem[];\r\n\r\n periods = [{ value: 'a', label: 'Today' },\r\n { value: 'b', label: 'This week' },\r\n { value: 'c', label: 'This Month' },\r\n { value: 'd', label: 'Within 2 Months' },\r\n { value: 'e', label: 'Within 3 Months' },\r\n { value: 'f', label: 'Custom Date' }\r\n ];\r\n\r\n public mobileWidth: boolean = false;\r\n\r\n public searchData: string = '';\r\n public searchType: string = 'JID';\r\n dateFormat = \"dd/M/yy\";\r\n dateTimeFormat = \"dd/MMM/yyyy hh:mm:ss a\";\r\n dtFormatNoSecond = \"dd/MMM/yy hh:mm a\";\r\n\r\n\r\n constructor(public router: Router, public _http: Http, public httpClient: HttpClient, public auth: AuthService, public messageService: MessageService) {\r\n }\r\n\r\n GetDepartment() {\r\n let temp = [];\r\n this.getData('api/department_nonAuth').subscribe(\r\n data => {\r\n temp = data;\r\n this.deptllist = [];\r\n this.deptllist.push({ label: '- Select Department -', value: null });\r\n if (temp == undefined) return;\r\n temp.forEach(x => {\r\n if (x.DN !== '') this.deptllist.push({ label: x.DN, value: x.DID });\r\n });\r\n },\r\n err => { });\r\n }\r\n\r\n GetServiceCenters() {\r\n let temp = [];\r\n this.getData('api/servicecenter_nonAuth').subscribe(\r\n data => {\r\n temp = data;\r\n this.serviceCenters = [];\r\n this.serviceCenters.push({ label: 'Select service center', value: null });\r\n if (temp == undefined) return;\r\n temp.forEach(x => this.serviceCenters.push({ label: x.ScN, value: x.ScID }));\r\n },\r\n err => { });\r\n }\r\n\r\n createAuthorizationHeader(headers: Headers): Promise {\r\n return new Promise((resolve, reject) => {\r\n headers.append('Content-Type', 'application/json');\r\n if (this.auth.authtoken) {\r\n headers.append(\"Authorization\", 'Bearer ' + this.auth.authtoken);\r\n }\r\n });\r\n\r\n }\r\n\r\n getData(paramURL: string) {\r\n let headers = new Headers();\r\n this.createAuthorizationHeader(headers); \r\n return this._http.get(this._url + paramURL, { headers }).map(res => res.json());\r\n\r\n }\r\n\r\n\r\n\r\n getDataFJ(paramURL: string[]) {\r\n let headers = new Headers();\r\n this.createAuthorizationHeader(headers);\r\n\r\n let qarray: any[] = [];\r\n\r\n for (let obj of paramURL) {\r\n qarray.push(this._http.get(this._url + obj, { headers }).map((res: Response) => res.json()));\r\n }\r\n return Observable.forkJoin(qarray);\r\n }\r\n\r\n postData(paramURL: string, data: any) {\r\n let headers = new Headers();\r\n this.createAuthorizationHeader(headers);\r\n return this._http.post(this._url + paramURL, JSON.stringify(data), { headers: headers, method: 'post' }).map(res => res.json());\r\n }\r\n\r\n // linnPostData(paramURL: string, data: any) {\r\n // let Url = 'https://shopping.linncomputer.com/api/';\r\n // let headers = new Headers();\r\n // this.createAuthorizationHeader(headers);\r\n // return this._http.post(Url + paramURL, JSON.stringify(data), { headers: headers, method: 'post' }).map(res => res.json());\r\n // }\r\n\r\n linnPostData(apiName: string, data: any): Promise {\r\n return new Promise((resolve, reject) => {\r\n this.httpClient.request(this.request( 'https://shopping.linncomputer.com/api/' + apiName, 'POST', JSON.stringify(data))).subscribe(\r\n e => {\r\n\r\n if (e.type === HttpEventType.UploadProgress || e.type === HttpEventType.DownloadProgress) {\r\n }\r\n else if (e instanceof HttpResponse) {\r\n resolve(e.body);\r\n }\r\n\r\n },\r\n err => {\r\n reject(err);\r\n }\r\n );\r\n });\r\n }\r\n\r\n request(apiName: string, type: string, data = undefined) {\r\n let setHeaders = {\r\n setHeaders: {\r\n 'Content-Type': 'application/json',\r\n }\r\n }\r\n return new HttpRequest(type, apiName, data, { reportProgress: true, }).clone(setHeaders);\r\n };\r\n\r\n /////////////////////////////////////////\r\n logout(): Promise {\r\n return new Promise((resolve, reject) => {\r\n if (this.auth.UN) {\r\n this.sendLogout(this.auth.UN).then(exp => {\r\n resolve(true);\r\n }).catch(err => {\r\n reject(err);\r\n });;\r\n } else {\r\n this.goToLogin();\r\n this.router.navigate(['/login']);\r\n }\r\n });\r\n }\r\n\r\n sendLogout(loginId: string): Promise {\r\n return new Promise((resolve, reject) => {\r\n let temp = [];\r\n this.getData('api/loginuser/logout/' + loginId).subscribe(\r\n\r\n data => {\r\n\r\n lFservice.Get_LF('AccessToken').then(res => {\r\n if (res) {\r\n this.goToLogin();\r\n }\r\n else {\r\n this.goToLogin();\r\n this.router.navigate(['/login']);\r\n }\r\n resolve(true);\r\n })\r\n },\r\n err => {\r\n reject(err);\r\n });\r\n })\r\n\r\n }\r\n\r\n goToLogin() {\r\n this.auth.clearLoginProperty(0, 0);\r\n lFservice.RemoveAllData();\r\n }\r\n\r\n logIn(username: string, password: string) {\r\n let header = new Headers();\r\n header.append('Content-Type', 'application/x-www-form-urlencoded');\r\n var data = \"grant_type=password&username=\" + username + \"&password=\" + password;\r\n return this._http.post(this._url + 'token', data, { headers: header, method: 'post' }).map(res => res.json());\r\n }\r\n\r\n ///////////////////////////////////////\r\n validASCII(e: string) {\r\n let vaildASCII = true;\r\n if (this.checkStringEmpty(e)) return vaildASCII;\r\n for (let i = 0; i < e.length; i++) {\r\n if (e.charCodeAt(i) >= 32 && e.charCodeAt(i) <= 126) vaildASCII = true;\r\n else {\r\n vaildASCII = false;\r\n break;\r\n }\r\n }\r\n return vaildASCII;\r\n }\r\n\r\n checkStringEmpty(data: string): boolean {\r\n if (data === undefined || data === null || data.trim() === '') {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n isValidString(val: string, max = 0, min = 0) {\r\n if (val) {\r\n if (val.trim() === '') return false;\r\n else if (max !== 0 && val.length > max) return false;\r\n else if (min !== 0 && val.length < min) return false;\r\n else return true;\r\n }\r\n else return false;\r\n\r\n }\r\n\r\n checkMaxLength(data: string, max: number): boolean {\r\n if (data === undefined || data === null) return false;\r\n if (data.length > max) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n checkEmail(data: string): Promise {\r\n return new Promise((resolve) => {\r\n if (data.match(/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/)) {\r\n resolve(true);\r\n }\r\n else {\r\n if (data == undefined || data.toString().trim() == \"\") { resolve(true); }\r\n else { resolve(false); }\r\n }\r\n });\r\n }\r\n\r\n AddClassToModal(ismodal: boolean) { \r\n if (ismodal) {\r\n var element = document.getElementById(\"index-body\");\r\n\r\n if (!element.classList.contains(\"modal-open\")) {\r\n element.classList.add(\"modal-open\");\r\n }\r\n }\r\n }\r\n\r\n showToast(keystr: string, toasttype: string, message: string) {\r\n let summarymsg = \"\";\r\n switch (toasttype.trim()) {\r\n case \"error\": summarymsg = \"Error Message\";\r\n break;\r\n case \"warn\": summarymsg = \"Warn Message\";\r\n break;\r\n case \"info\": summarymsg = \"Info Message\";\r\n break;\r\n case \"success\": summarymsg = \"Success Message\";\r\n break;\r\n }\r\n this.messageService.add({ key: keystr, severity: toasttype, summary: summarymsg, detail: message });\r\n }\r\n\r\n DirectLocToWindow(fileName: string) {\r\n if (fileName != null) {\r\n window.location.href = this._url + 'excel/' + fileName + '.csv';\r\n }\r\n }\r\n\r\n showUnsuccessDelMsg(key: string, data: any) {\r\n if (data && Array.isArray(data)) {\r\n this.showToast(key, 'error', 'We are not able to delete ' + data.length + (data.length === 1 ? 'row.' : 'rows.'));\r\n }\r\n }\r\n};","declare var require;\r\nconst local = require(\"localforage\");\r\n\r\nexport class lFservice {\r\n constructor() { }\r\n\r\n static Config_LF(): void {\r\n local.config({\r\n driver: local.WEBSQL,\r\n name: \"LnnService\",\r\n version: \"2.0\",\r\n size: 52428800,\r\n storeName: 'keyvaluepairs',\r\n description: ''\r\n });\r\n }\r\n\r\n static Set_LF(DbKey: string, DbValue: any): Promise {\r\n return local.setItem(DbKey, DbValue);\r\n }\r\n\r\n static Get_LF(DbKey: string): Promise { \r\n return local.getItem(DbKey);\r\n }\r\n\r\n static Remove_LF(DbKey: string): Promise {\r\n return local.removeItem(DbKey);\r\n } \r\n\r\n static RemoveAllData(): void {\r\n local.clear();\r\n // local.removeItem(GlobalFunc.AcKey);\r\n // local.removeItem(GlobalFunc.CTKey);\r\n // local.removeItem(GlobalFunc.BrKey);\r\n // local.removeItem(GlobalFunc.MKey);\r\n // local.removeItem(GlobalFunc.MCBKey);\r\n // local.removeItem(GlobalFunc.CusKey);\r\n // local.removeItem(GlobalFunc.DPKey);\r\n // local.removeItem(GlobalFunc.SCKey);\r\n // local.removeItem(GlobalFunc.STKey);\r\n // local.removeItem(GlobalFunc.SIKey);\r\n // local.removeItem(GlobalFunc.CJKey);\r\n // local.removeItem(GlobalFunc.SplKey);\r\n // local.removeItem(GlobalFunc.LUKey);\r\n //local.removeItem(GlobalFunc.JSftKey);\r\n }\r\n\r\n \r\n\r\n \r\n}\r\n\r\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { SrMessage } from '../model/message';\nimport 'ms-signalr-client';\nimport { HttpServices } from './httpservices';\n\ndeclare var $;\n\n@Injectable()\nexport class SignalRService {\n\n public proxy;\n public proxyName: string = 'LinnServiceHub';\n public connection;\n\n public messageReceived: EventEmitter;\n public connectionEstablished: EventEmitter;\n public connectionExists: Boolean;\n\n constructor(public httpservice: HttpServices) { \n this.connectionEstablished = new EventEmitter();\n this.messageReceived = new EventEmitter();\n this.connectionExists = false;\n\n\n\n this.connection = $.hubConnection(httpservice._url + '/signalr');\n this.proxy = this.connection.createHubProxy(this.proxyName);\n this.registerOnServerEvents();\n this.startConnection();\n }\n\n public sendMessage(message: SrMessage) {\n this.proxy.invoke('SendMessage', message);\n }\n\n public startConnection(): void {\n this.connection.start().done((data) => {\n this.connectionEstablished.emit(true);\n this.connectionExists = true;\n }).fail((error) => {\n this.connectionEstablished.emit(false);\n });\n }\n\n public registerOnServerEvents(): void {\n this.proxy.on('broadcastMessage', (data: SrMessage) => { \n this.messageReceived.emit(data);\n });\n }\n}","import { Component, OnInit, ViewChild, NgZone } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { ServiceCenter } from './servicecenter';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n@Component({\r\n selector: 'i-servicecenter',\r\n templateUrl: './servicecenter.component.html'\r\n})\r\n\r\nexport class ServiceCenterCP implements OnInit {\r\n @ViewChild('modal', { static: false }) modal: BsModalComponent;\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n\r\n @ViewChild('input', { static: false }) vc;\r\n\r\n apiName: string = \"servicecenter\";\r\n id = 'ScID';\r\n serviceCenterList: ServiceCenter[] = [];\r\n isNew: boolean;\r\n\r\n selectedChk: ServiceCenter[] = [];\r\n selectedService: ServiceCenter;\r\n actionlogs: any[] = [];\r\n\r\n serviceForm: FormGroup;\r\n\r\n totalRecords: number;\r\n toastkey = \"i-servicecenter\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this._dataChanged.serviceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.CreateForm();\r\n //intialize data\r\n this.GetData();\r\n }\r\n\r\n afterBroadCastEvent(objData) {\r\n if (objData && objData.Obj) {\r\n let ind = this.serviceCenterList.findIndex(temp => temp[this.id] === objData.Obj[this.id]);\r\n if (objData.Msg === 'deleted') {\r\n this.refresh();\r\n }\r\n else {\r\n\r\n if (ind >= 0) this.serviceCenterList[ind] = objData.Obj;\r\n else this.serviceCenterList.unshift(objData.Obj);\r\n }\r\n }\r\n }\r\n\r\n GetData(): void {\r\n let scList = [];\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => {\r\n scList = data;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (scList) {\r\n this.serviceCenterList = scList.map(a => Object.assign({}, a));\r\n this.totalRecords = this.serviceCenterList.length;\r\n }\r\n this.pService.done();\r\n });\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetData();\r\n }\r\n\r\n CreateForm(): void {\r\n this.serviceForm = this.fb.group({\r\n 'ScID': new FormControl(0),\r\n 'ScN': new FormControl('', Validators.compose([Validators.required, Validators.maxLength(50)])),\r\n 'Addr': new FormControl('')\r\n });\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true;\r\n this.CreateForm();\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToEdit(service: ServiceCenter): void {\r\n this.isNew = false;\r\n this.CreateForm();\r\n this.selectedService = service;\r\n this.serviceForm.patchValue({ ScID: service.ScID, ScN: service.ScN, Addr: service.Addr });\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedService != undefined) {\r\n let temp = [];\r\n this.httpService.getData('api/actionlog/' + this.selectedService.ScID + '/' + 'ServiceCenter').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) { this.actionlogs = temp; this.modal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!'); }\r\n });\r\n }\r\n }\r\n\r\n save(pdt, gb): void {\r\n if (this.serviceForm != undefined) {\r\n this.httpService.postData('api/servicecenter', this.serviceForm.value).\r\n subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.resetDatable(pdt, gb);\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.entryModal.close();\r\n });\r\n }\r\n }\r\n\r\n deleteData(): void {\r\n this.httpService.postData('api/servicecenter/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n resetDatable(pdt, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n modalClose() {\r\n this.modal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/servicecenter/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/servicecenter.csv';\r\n this.httpService.DirectLocToWindow(\"servicecenter\");\r\n }\r\n );\r\n }\r\n}","import { Component, OnInit, ViewChild, NgZone, OnDestroy } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { ServiceType } from './servicetype';\r\nimport { Department } from '../department/department';\r\n\r\n@Component({\r\n selector: 'i-servicetype',\r\n templateUrl: './servicetype.component.html'\r\n})\r\n\r\nexport class ServiceTypeCP implements OnInit, OnDestroy {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('actionModal', { static: false }) actionModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('otherModal', { static: false }) otherModal: BsModalComponent;\r\n\r\n @ViewChild('input', { static: false }) vc;\r\n\r\n apiName: string = \"servicetype\";\r\n id = 'STID';\r\n serviceTypeList: ServiceType[] = [];\r\n servicetype: ServiceType = new ServiceType();\r\n isNew: boolean;\r\n selectedChk: ServiceType[] = [];\r\n selectedData: ServiceType;\r\n actionlogs: any[] = [];\r\n\r\n oDeptList: Department[] = [];\r\n deptllist: SelectItem[] = [];\r\n\r\n totalRecords: number;\r\n toastkey = \"i-servicetype\";\r\n\r\n depChanged: any;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this._dataChanged.serviceTypeChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj, this.serviceTypeList, 'STID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.depChanged = this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"department\") {\r\n this.afterBroadCastEvent(sRobj, this.oDeptList, 'DID');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRequiredData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.serviceTypeList = this.servicetype = this.selectedChk = this.selectedData = this.actionlogs = this.oDeptList = this.deptllist = undefined;\r\n if (this.depChanged != undefined) this.depChanged.unsubscribe();\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let depList: any = [];\r\n let stList: any = [];\r\n this.httpService.getDataFJ(['api/department', 'api/servicetype']).subscribe(\r\n data => {\r\n depList = data[0];\r\n stList = data[1];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (depList) {\r\n this.oDeptList = depList.map(d => Object.assign({}, d));\r\n this.setDepartmentData(this.oDeptList);\r\n }\r\n\r\n if (stList) {\r\n this.serviceTypeList = stList.map(a => Object.assign({}, a));\r\n this.totalRecords = this.serviceTypeList.length;\r\n }\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n\r\n this.httpService.getData('api/department').subscribe(\r\n data => { this.oDeptList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setDepartmentData(this.oDeptList); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n\r\n this.httpService.getData('api/servicetype').subscribe(\r\n data => { this.serviceTypeList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done(); \r\n },\r\n () => { this.totalRecords = this.serviceTypeList.length; \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n this.setDepartmentData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDepartmentData(dataList: Department[]) {\r\n this.deptllist = [];\r\n this.deptllist.push({ label: 'Select Department ', value: null });\r\n if (dataList) {\r\n dataList.map(dep => this.deptllist.push({ label: dep.DN, value: dep.DID }));\r\n }\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetRequiredData();\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.isNew = true;\r\n this.servicetype = new ServiceType();\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToEdit(servicetype: ServiceType): void {\r\n this.isNew = false;\r\n this.selectedData = servicetype;\r\n this.servicetype = new ServiceType();\r\n this.servicetype = GlobalFunc.CloneData(servicetype, ServiceType);\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedData != undefined) {\r\n let temp = [];\r\n this.httpService.getData('api/actionlog/' + this.selectedData.STID + '/' + 'ServiceType').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) { this.actionlogs = temp; this.actionModal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!'); }\r\n });\r\n }\r\n }\r\n\r\n save(pdt, gb): void {\r\n if (this.servicetype.STN == undefined) return;\r\n if (this.servicetype != undefined) {\r\n this.httpService.postData('api/servicetype', this.servicetype).\r\n subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.resetDatable(pdt, gb);\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.entryModal.close();\r\n });\r\n }\r\n }\r\n\r\n deleteData() {\r\n this.httpService.postData('api/servicetype/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n resetDatable(pdt, gb): void {\r\n if (gb && gb.value && gb.value != '') {\r\n gb.value = '';\r\n if (pdt) pdt.reset();\r\n }\r\n }\r\n\r\n actionModalClose() {\r\n this.actionModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n otherModalClose() {\r\n this.otherModal.close();\r\n //this.getDepartment();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/servicetype/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/servicetype.csv';\r\n this.httpService.DirectLocToWindow(\"servicetype\");\r\n }\r\n );\r\n }\r\n}","export class ServiceType {\r\n constructor(public STID?, public STN?, public DID?, public DN?) { }\r\n}","export class AdjustmentListQuery {\r\n constructor(public AjType?, public ScID?, public Period?, public FromDate?, public ToDate?) { }\r\n}","export class StockAdjustment {\r\n constructor(public AjID?, public AjDT?, public SID?, public SN?, public Cat?, public Qty?, public ScID?, public ScN?, public AjType?, public Rmk?) { }\r\n}","import { Component, OnInit, ViewChild, NgZone } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { AdjustmentListQuery } from './adjustmentlistquery';\r\nimport { StockAdjustment } from './stockadjustment';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\nimport { StockItem } from '../stockitem/stockitem';\r\n\r\n@Component({\r\n selector: 'i-stockadjustmentlist',\r\n templateUrl: './stockadjustmentlist.component.html'\r\n})\r\n\r\nexport class StockAdjustmentListCP implements OnInit {\r\n @ViewChild('modal', { static: false }) modal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n adjustmentForm: FormGroup;\r\n query: AdjustmentListQuery;\r\n serviceCenters: ServiceCenter[];\r\n selectedChk: StockAdjustment[];\r\n servicecenterlist: SelectItem[];\r\n periods: SelectItem[];\r\n\r\n printMode: boolean = false;\r\n isNew: boolean = false;\r\n adjList: StockAdjustment[];\r\n AjTypes: SelectItem[];\r\n AjTypesFilter: SelectItem[];\r\n tempAdjustment: StockAdjustment;\r\n stockitems: SelectItem[];\r\n _stockitemsList: StockItem[];\r\n toastkey = \"i-stockadjustmentlist\";\r\n\r\n scChanged: any;\r\n siChanged: any;\r\n \r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _ngZone: NgZone, public _dataChanged: DataChangedEvent) {\r\n this.pService.start();\r\n this.adjList = [];\r\n this.query = new AdjustmentListQuery();\r\n\r\n this.scChanged = this._dataChanged.serviceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.afterBroadCastEvent(sRobj, this.serviceCenters, 'ScID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.siChanged = this._dataChanged.stockItemChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"stockitem\") {\r\n this.afterBroadCastEvent(sRobj, this._stockitemsList, 'SID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.bindAjTypesForFilter();\r\n this.bindPeriod();\r\n this.query.AjType = 'All';\r\n this.query.Period = 'a';\r\n this.query.ScID = null;\r\n this.CreateForm();\r\n this.defaultDateTime();\r\n this.bindAjTypes();\r\n this.GetRequiredData().then(exp => {\r\n if (exp) {\r\n this.getAdjustmentList();\r\n }\r\n });\r\n\r\n }\r\n\r\n bindAjTypesForFilter(): void {\r\n this.AjTypesFilter = [];\r\n this.AjTypesFilter.push({ value: 'All', label: 'All' });\r\n this.AjTypesFilter.push({ value: 'Damage', label: 'Damage' });\r\n this.AjTypesFilter.push({ value: 'Lost', label: 'Lost' });\r\n this.AjTypesFilter.push({ value: 'Used', label: 'Used' });\r\n this.AjTypesFilter.push({ value: 'Gift', label: 'Gift' });\r\n }\r\n bindAjTypes(): void {\r\n this.AjTypes = [];\r\n this.AjTypes.push({ value: 'Damage', label: 'Damage' });\r\n this.AjTypes.push({ value: 'Lost', label: 'Lost' });\r\n this.AjTypes.push({ value: 'Used', label: 'Used' });\r\n this.AjTypes.push({ value: 'Gift', label: 'Gift' });\r\n }\r\n\r\n bindPeriod(): void {\r\n this.periods = [];\r\n this.periods.push({ value: 'a', label: 'Today' });\r\n this.periods.push({ value: 'b', label: 'This week' });\r\n this.periods.push({ value: 'c', label: 'This Month' });\r\n this.periods.push({ value: 'd', label: 'Within 2 Months' });\r\n this.periods.push({ value: 'e', label: 'Within 3 Months' });\r\n this.periods.push({ value: 'f', label: 'Custom Date' });\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let scList: any = [];\r\n let siList: any = [];\r\n this.httpService.getDataFJ(['api/servicecenter', 'api/stockitem']).subscribe(\r\n data => {\r\n scList = data[0];\r\n siList = data[1];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (scList) {\r\n this.serviceCenters = scList.map(sc => Object.assign({}, sc));\r\n this.setServiceCenterData(this.serviceCenters);\r\n }\r\n\r\n if (siList) {\r\n this._stockitemsList = siList.map(si => Object.assign({}, si));\r\n this.setStockItemData(this._stockitemsList);\r\n }\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => { this.serviceCenters = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setServiceCenterData(this.serviceCenters); \r\n this.pService.done();\r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"stockitem\") {\r\n\r\n this.httpService.getData('api/stockitem').subscribe(\r\n data => { this._stockitemsList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setStockItemData(this._stockitemsList); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n }\r\n }\r\n else {\r\n\r\n if (objData.ObjType.toLowerCase() === \"stockadjustment\") {\r\n if (this.query && this.query.FromDate && this.query.ToDate && (this.query.FromDate > objData.ObjType.AjDT || this.query.ToDate < objData.ObjType.AjDT)) {//want to update data by selected period\r\n return;\r\n }\r\n }\r\n\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.setServiceCenterData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"stockitem\") {\r\n this.setStockItemData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setServiceCenterData(dataList: ServiceCenter[]) {\r\n this.servicecenterlist = [];\r\n this.servicecenterlist.push({ label: 'Select Center', value: null });\r\n if (dataList) {\r\n dataList.map(sc => this.servicecenterlist.push({ label: sc.ScN, value: sc.ScID }))\r\n }\r\n }\r\n\r\n setStockItemData(dataList: StockItem[]) {\r\n this.stockitems = [];\r\n this.stockitems.push({ label: 'Select stockitem ', value: null });\r\n if (dataList) {\r\n dataList.map(si => this.stockitems.push({ label: si.SN + \" / \" + si.Cat + \" / \" + si.SID, value: si.SID }));\r\n }\r\n }\r\n\r\n getAdjustmentList(): void {\r\n if (this.query && this.query.FromDate && this.query.ToDate) {\r\n this.pService.start();\r\n this.httpService.postData('api/get/stockadjustment', this.query).subscribe(\r\n data => { this.adjList = data; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n GetData(): void {\r\n this.pService.start();\r\n if (this.query.Period != 'f') this.defaultDateTime();\r\n this.getAdjustmentList();\r\n }\r\n\r\n refresh() { \r\n this.GetRequiredData().then(exp => {\r\n if (exp) {\r\n this.getAdjustmentList();\r\n }\r\n });\r\n }\r\n\r\n printjob(): void { window.print(); }\r\n\r\n CreateForm(): void {\r\n this.adjustmentForm = this.fb.group({\r\n 'AjID': new FormControl(''),\r\n 'AjDT': new FormControl(new Date(), Validators.compose([Validators.required])),\r\n 'SID': new FormControl(null, Validators.compose([Validators.required])),\r\n 'Qty': new FormControl(0, Validators.compose([Validators.required])),\r\n 'ScID': new FormControl(null, Validators.compose([Validators.required])),\r\n 'AjType': new FormControl('Damage', Validators.compose([Validators.required])),\r\n 'Rmk': new FormControl('')\r\n });\r\n }\r\n\r\n showModalDialog() {\r\n this.isNew = true;\r\n this.CreateForm();\r\n this.modal.open();\r\n }\r\n showDialogToEdit(adjustment: StockAdjustment) {\r\n this.isNew = false;\r\n this.CreateForm();\r\n this.modal.open();\r\n\r\n var date = new Date(adjustment.AjDT);\r\n\r\n this.adjustmentForm.patchValue({ AjID: adjustment.AjID, AjDT: date, SID: adjustment.SID, Qty: adjustment.Qty, ScID: adjustment.ScID, AjType: adjustment.AjType, Rmk: adjustment.Rmk });\r\n }\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n findAdjustmentIndex(data, selected): number {\r\n for (var _index in data) {\r\n if (this.adjList[_index].AjID == selected.AjID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n }\r\n\r\n findServiceCenter() {\r\n for (var i = 0; i < this.servicecenterlist.length; i++) {\r\n if (this.tempAdjustment.ScID == this.serviceCenters[i].ScID) {\r\n this.tempAdjustment.ScN = this.serviceCenters[i].ScN;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n findStock(): void {\r\n for (let si of this._stockitemsList) {\r\n if (this.tempAdjustment.SID == si.SID) {\r\n this.tempAdjustment.SN = si.SN;\r\n this.tempAdjustment.Cat = si.Cat;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n save() {\r\n if (this.adjustmentForm != undefined) {\r\n this.tempAdjustment = new StockAdjustment();\r\n this.tempAdjustment = this.adjustmentForm.value;\r\n\r\n this.findStock();\r\n this.findServiceCenter();\r\n\r\n this.httpService.postData('api/stockadjustment', this.tempAdjustment).\r\n subscribe(\r\n data => {\r\n if (this.isNew) {\r\n this.tempAdjustment.AjID = data.AjID;\r\n this.adjList.push(this.tempAdjustment);\r\n }\r\n else {\r\n var index = this.findAdjustmentIndex(this.adjList, this.adjustmentForm.value);\r\n this.adjList[index] = this.tempAdjustment;\r\n }\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.modal.close();\r\n });\r\n }\r\n }\r\n \r\n deleteData() {\r\n this.httpService.postData('api/stockadjustment/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n defaultDateTime() {\r\n this.query.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.query.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n }\r\n} ","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\r\nimport { Message, SelectItem } from 'primeng/api';\r\n\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\nimport { Department } from '../department/department';\r\n\r\n@Component({\r\n selector: 'stock-balance',\r\n templateUrl: './stockbalance.component.html'\r\n})\r\nexport class StockBalance implements OnInit, OnDestroy {\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n public msgs: Message[] = [];\r\n public stocks: SelectItem[] = [];\r\n public selectedStock: any;\r\n public stocksBalance: any[];\r\n public showTable: boolean = false;\r\n public totalBal: number = 0;\r\n public showlabel: boolean = false;\r\n public noZeroStocks: any[] = [];\r\n public departments: SelectItem[] = [];\r\n public selectedDepartment: SelectItem;\r\n public toastkey = \"i-department\";\r\n constructor(private pService: NgProgressService ,public httpservices: HttpServices, public auth: AuthService) {\r\n //this.pService.start();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getDepartment();\r\n this.getStocks();\r\n }\r\n\r\n getDepartment(): void {\r\n if (this.auth.DID) {\r\n return;\r\n }\r\n\r\n let temp: Department[] = [];\r\n this.httpservices.getData('api/department').subscribe(\r\n data => {\r\n temp = data;\r\n },\r\n err => {\r\n this.httpservices.showToast(this.toastkey, 'error', 'Error occurs while loading department data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.departments = [];\r\n this.departments.push({ label: 'Select Department ', value: null });\r\n temp.map(dep => {\r\n this.departments.push({ label: dep.DN, value: dep.DID });\r\n });\r\n\r\n });\r\n }\r\n\r\n getStocks(): void {\r\n let temp: any[];\r\n this.stocks = [];\r\n this.stocks.push({ label: 'Select Stocks ', value: null });\r\n\r\n if (!this.auth.DID && !this.selectedDepartment) {\r\n this.noZeroStocks = [];\r\n this.showTable = false;\r\n this.totalBal = 0;\r\n return;\r\n }\r\n \r\n this.httpservices.getData('api/stockitembydid/' + (this.auth.DID ? this.auth.DID : this.selectedDepartment)).subscribe(\r\n expdata => { temp = expdata ,this.pService.done();},\r\n err => {\r\n this.httpservices.showToast(this.toastkey, 'error', 'Error occurs while loading data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n for (let obj of temp) {\r\n this.stocks.push({ label: obj.SN + '( ' + obj.Cat + ' )', value: obj.SID });\r\n }\r\n }\r\n );\r\n\r\n this.pService.done();\r\n }\r\n\r\n calculateStockBal(): void {\r\n\r\n this.showTable = false;\r\n\r\n if (this.selectedStock == undefined || this.selectedStock == null) {\r\n this.showlabel = true;\r\n return;\r\n }\r\n\r\n this.totalBal = 0;\r\n\r\n this.httpservices.postData('api/stockBalance/', this.selectedStock).subscribe(\r\n data => { this.stocksBalance = data; },\r\n err => { this.msgs.push({ severity: 'error', summary: 'Error Message', detail: 'Sorry, error occurs while loading stocks from server !' }) },\r\n () => {\r\n this.noZeroStocks = this.stocksBalance.filter(x => x.sB != 0);\r\n this.noZeroStocks.forEach(x => {\r\n this.totalBal += x.sB;\r\n });\r\n if (this.totalBal != 0) this.showTable = true;\r\n else this.showlabel = true;\r\n }\r\n );\r\n }\r\n\r\n departmentChange(e) {\r\n this.getStocks();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.msgs = this.stocks = this.selectedStock = this.stocksBalance = this.noZeroStocks = this.departments = this.selectedDepartment = undefined;\r\n }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n//Third Library\r\nimport { NgProgressService } from \"ng2-progressbar\";\r\n\r\n//Model\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { StockIn } from './stockin';\r\nimport { StockInDetail } from './stockindetail';\r\nimport { UUID } from 'angular2-uuid';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\nimport { StockItem } from '../stockitem/stockitem';\r\nimport { SelectItem } from 'primeng/api';\r\n@Component({\r\n selector: 'i-purchase',\r\n templateUrl: './purchase-entry.component.html'\r\n})\r\nexport class PurchaseEntryCP {\r\n public stockIn: StockIn;\r\n public toastkey = \"i-stockin\";\r\n\r\n stockinDetailList: Array = [];\r\n servicecenters: ServiceCenter[];\r\n servicecenterlist: SelectItem[];\r\n\r\n stockitemsList: StockItem[];\r\n stockitems: SelectItem[];\r\n current_route: any;\r\n SIID: string;\r\n errorInd: Array<{ item: boolean, scenter: boolean }> = [];\r\n\r\n constructor(private pService: NgProgressService, public httpService: HttpServices, public router: Router, public activeRoute: ActivatedRoute) {\r\n this.pService.start();\r\n this.stockIn = new StockIn('', undefined, '', '', '');\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.GetRequiredData().then(() => {\r\n this.current_route = this.activeRoute.params.subscribe((param: any) => {\r\n if (param && param['siid']) {\r\n this.getStockList(param['siid']);\r\n }\r\n else {\r\n this.stockIn.SIDT = new Date();\r\n this.pService.done();\r\n }\r\n })\r\n });\r\n }\r\n\r\n getStockList(SIID: any): void {\r\n this.httpService.getData('api/getstockinbyid/' + SIID).subscribe(\r\n data => {\r\n this.stockIn = data;\r\n this.stockIn.SIDT = new Date(data.SIDT);\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => { this.getStockInDetail(SIID); });\r\n }\r\n\r\n getStockInDetail(SIID: any): void {\r\n this.stockinDetailList = [];\r\n this.httpService.getData('api/getstockindetail/' + SIID).subscribe(\r\n data => this.stockinDetailList = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n });\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let scList: any = [];\r\n let siList: any = [];\r\n\r\n this.httpService.getDataFJ(['api/servicecenter', 'api/stockitem']).subscribe(\r\n data => {\r\n scList = data[0];\r\n siList = data[1];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (scList) {\r\n this.servicecenters = scList.map(d => Object.assign({}, d));\r\n this.setServiceCenterData(this.servicecenters);\r\n }\r\n\r\n if (siList) {\r\n this.stockitemsList = siList.map(d => Object.assign({}, d));\r\n this.setStockItemData(this.stockitemsList);\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n setServiceCenterData(dataList: ServiceCenter[]) {\r\n this.servicecenterlist = [];\r\n this.servicecenterlist.push({ label: '- Select Service Center -', value: null });\r\n if (dataList) {\r\n dataList.map(sc => this.servicecenterlist.push({ label: sc.ScN, value: sc.ScID }));\r\n }\r\n }\r\n\r\n setStockItemData(dataList: StockItem[]) {\r\n this.stockitems = [];\r\n this.stockitems.push({ label: '- Select Stock-Item -', value: null });\r\n if (dataList) {\r\n dataList.map(si => this.stockitems.push({ label: si.SN + \" / \" + si.Cat + \" / \" + si.SID, value: si.SID }));\r\n }\r\n }\r\n\r\n addStockInDetail() {\r\n var stockInDetails = new StockInDetail(UUID.UUID(), '', '', '', '', '', 1, 0);\r\n stockInDetails.ScID = this.httpService.auth.ScID;\r\n this.stockinDetailList.push(stockInDetails);\r\n }\r\n\r\n deleteDetails(data: StockInDetail) {\r\n let ind = this.stockinDetailList.findIndex((rt: any) => rt.SIDID === data.SIDID);\r\n if (ind >= 0) this.stockinDetailList.splice(ind, 1);\r\n this.checkValid();\r\n }\r\n\r\n filterChanged() {\r\n this.checkValid();\r\n }\r\n\r\n checkValid(): Promise {\r\n return new Promise((resolve) => {\r\n this.errorInd = [];\r\n if (this.stockinDetailList && this.stockinDetailList.length > 0) {\r\n for (let i = 0; i < this.stockinDetailList.length; i++) {\r\n this.errorInd[i] = { item: false, scenter: false };\r\n this.errorInd[i].item = this.stockinDetailList[i].SID ? false : true;\r\n this.errorInd[i].scenter = this.stockinDetailList[i].ScID ? false : true;\r\n }\r\n }\r\n resolve(true);\r\n })\r\n }\r\n\r\n save() {\r\n this.checkValid().then(() => {\r\n if (this.stockinDetailList && this.stockinDetailList.findIndex((d: any) => !d.SID || !d.ScID) > -1) return;\r\n this.httpService.postData('api/updatestockin', this.stockIn).\r\n subscribe(data => {\r\n if (!this.stockIn.SIID) {\r\n this.stockIn.SIID = data.Message;\r\n }\r\n if (this.stockinDetailList && this.stockinDetailList.length > 0) {\r\n this.stockinDetailList.map(d => {\r\n d.SIID = this.stockIn.SIID;\r\n d.SIDID = \"\";\r\n })\r\n\r\n this.httpService.postData('api/multistockindetail', this.stockinDetailList).\r\n subscribe(data => {\r\n this.httpService.showToast(this.toastkey, 'success', 'Save Successfully');\r\n setTimeout(()=>{\r\n var link = ['stockinlist'];\r\n this.router.navigate(link);\r\n },300)\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => { });\r\n } \r\n else {\r\n this.httpService.showToast(this.toastkey, 'success', 'Save Successfully');\r\n setTimeout(()=>{\r\n var link = ['stockinlist'];\r\n this.router.navigate(link);\r\n },300)\r\n }\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => {\r\n\r\n });\r\n })\r\n }\r\n\r\n cancel() {\r\n var link = ['stockinlist'];\r\n this.router.navigate(link);\r\n }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n//Third Library\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Model\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { StockIn } from './stockin';\r\n\r\n@Component({\r\n selector: 'i-stockin',\r\n templateUrl: './stockin.component.html'\r\n})\r\nexport class StockInCP implements OnInit {\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n public stockIn: StockIn;\r\n public printMode: boolean = false;\r\n @ViewChild('input', { static: false }) vc;\r\n public toastkey = \"i-stockin\";\r\n \r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router) {\r\n this.stockIn = new StockIn('', undefined, '', '', '');\r\n }\r\n ngOnInit() {\r\n if (this.vc != undefined) this.vc.nativeElement.focus();\r\n }\r\n onChange(evt: any) {\r\n var files = evt.target.files;\r\n var file = files[0];\r\n if (files && file) {\r\n var reader = new FileReader();\r\n reader.onload = (function (file) {\r\n return file;\r\n })(this.stockIn.EFN = file.name);\r\n\r\n reader.onloadend = () => {\r\n this.stockIn.UploadFileData = btoa(reader.result.toString());\r\n this.stockIn.EFN = file.name;\r\n }\r\n reader.readAsBinaryString(file);\r\n }\r\n }\r\n goToList() {\r\n var link = ['/stockinlist'];\r\n this.router.navigate(link);\r\n }\r\n saveData(): void {\r\n this.httpService.postData('api/stockin/uploadfile', this.stockIn).subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => {\r\n this.goToList();\r\n }\r\n );\r\n }\r\n}","export class StockIn {\r\n constructor(\r\n public SIID?,\r\n public SIDT?,\r\n public Rmk?,\r\n public EFN?,\r\n public UploadFileData?\r\n ) { }\r\n}","import { Component, OnInit, OnDestroy, AfterViewInit, ViewChild, NgZone } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { LazyLoadEvent } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { StockIn } from './stockin';\r\nimport { StockInDetail } from './stockindetail';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\nimport { StockItem } from '../stockitem/stockitem';\r\n\r\n@Component({\r\n selector: 'i-stockindetail',\r\n templateUrl: './stockindetail.component.html'\r\n})\r\n\r\nexport class StockInDetailCP implements OnInit, OnDestroy, AfterViewInit {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('editStockInModal', { static: false }) editStockInModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n stockin: StockIn;\r\n tempStockIn: StockIn;\r\n stockInDetails: StockInDetail[] = [];\r\n selectedChk: StockInDetail[] = [];\r\n tempstockInDetail: StockInDetail;\r\n stockitems: SelectItem[];\r\n _stockitemsList: StockItem[];\r\n servicecenters: ServiceCenter[];\r\n servicecenterlist: SelectItem[];\r\n stockinForm: FormGroup;\r\n editstockinForm: FormGroup;\r\n printMode: boolean = false;\r\n sub: any;\r\n SIID: string;\r\n sourcedata: any[] = [];\r\n totalRecords: number;\r\n toastkey = \"i-stockindetail\";\r\n\r\n scChanged: any;\r\n siChanged: any;\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router, public currentRoute: ActivatedRoute, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this.stockin = new StockIn();\r\n\r\n this.sub = this.currentRoute.params.subscribe(param => {\r\n this.SIID = param['siid'];\r\n });\r\n\r\n this.scChanged = this._dataChanged.serviceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.afterBroadCastEvent(sRobj, this.servicecenters, 'ScID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.siChanged = this._dataChanged.stockItemChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"stockitem\") {\r\n this.afterBroadCastEvent(sRobj, this._stockitemsList, 'SID');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n ngOnInit() {\r\n this.CreateForm();\r\n this.GetRequiredData().then(exp => {\r\n if (exp) {\r\n if (this.SIID) {\r\n this.getStockList();\r\n } else {\r\n this.pService.done();\r\n }\r\n }\r\n });\r\n\r\n }\r\n ngOnDestroy() {\r\n this.stockin = this.tempStockIn = this.stockInDetails = this.selectedChk = this.tempstockInDetail = this.stockitems = this._stockitemsList = this.servicecenters =\r\n this.servicecenterlist = this.stockinForm = this.editstockinForm = this.sourcedata = undefined;\r\n\r\n if (this.sub != undefined) this.sub.unsubscribe();\r\n if (this.scChanged != undefined) this.scChanged.unsubscribe();\r\n if (this.siChanged != undefined) this.siChanged.unsubscribe();\r\n }\r\n ngAfterViewInit() {\r\n this.checkValid();\r\n }\r\n CreateForm(): void {\r\n this.stockinForm = this.fb.group({\r\n 'SIDID': new FormControl(null),\r\n 'SIID': new FormControl(this.SIID),\r\n 'ScID': new FormControl(null, Validators.compose([Validators.required])),\r\n 'ScN': new FormControl(''),\r\n 'SID': new FormControl(null, Validators.compose([Validators.required])),\r\n 'SN': new FormControl(''),\r\n 'Qty': new FormControl(0),\r\n 'Price': new FormControl(0)\r\n });\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let scList: any = [];\r\n let siList: any = [];\r\n\r\n this.httpService.getDataFJ(['api/servicecenter', 'api/stockitem']).subscribe(\r\n data => {\r\n scList = data[0];\r\n siList = data[1];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (scList) {\r\n this.servicecenters = scList.map(d => Object.assign({}, d));\r\n this.setServiceCenterData(this.servicecenters);\r\n }\r\n\r\n if (siList) {\r\n this._stockitemsList = siList.map(d => Object.assign({}, d));\r\n this.setStockItemData(this._stockitemsList);\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => { this.servicecenters = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done();\r\n },\r\n () => { this.setServiceCenterData(this.servicecenters); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"stockitem\") {\r\n\r\n this.httpService.getData('api/stockitem').subscribe(\r\n data => { this._stockitemsList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done();\r\n },\r\n () => { this.setStockItemData(this._stockitemsList); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.setServiceCenterData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"stockitem\") {\r\n this.setStockItemData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setServiceCenterData(dataList: ServiceCenter[]) {\r\n this.servicecenterlist = [];\r\n this.servicecenterlist.push({ label: '- Select Service Center -', value: null });\r\n if (dataList) {\r\n dataList.map(sc => this.servicecenterlist.push({ label: sc.ScN, value: sc.ScID }));\r\n }\r\n }\r\n\r\n setStockItemData(dataList: StockItem[]) {\r\n this.stockitems = [];\r\n this.stockitems.push({ label: '- Select Stock-Item -', value: null });\r\n if (dataList) {\r\n dataList.map(si => this.stockitems.push({ label: si.SN + \" / \" + si.Cat + \" / \" + si.SID, value: si.SID }));\r\n }\r\n }\r\n\r\n getStockList(): void {\r\n this.httpService.getData('api/getstockinbyid/' + this.SIID).subscribe(\r\n data => this.stockin = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => { this.getStockInDetail(); });\r\n }\r\n\r\n getStockInDetail(): void {\r\n this.stockInDetails = [];\r\n this.httpService.getData('api/getstockindetail/' + this.SIID).subscribe(\r\n data => this.sourcedata = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.sourcedata.sort((a, b) => a.SID > b.SID ? 1 : (a.SID < b.SID ? -1 : 0));\r\n this.totalRecords = this.sourcedata.length;\r\n this.stockInDetails = this.sourcedata.slice(0, 20);\r\n this.pService.done();\r\n });\r\n }\r\n\r\n showAddNewForm(): void {\r\n this.CreateForm();\r\n this.entryModal.open();\r\n this.checkValid();\r\n }\r\n\r\n showDialogToEdit(std: StockInDetail): void {\r\n this.CreateForm();\r\n this.stockinForm.patchValue({ SIDID: std.SIDID, SIID: std.SIID, ScID: std.ScID, ScN: std.ScN, SID: std.SID, SN: std.SN, Qty: std.Qty, Price: std.Price });\r\n this.entryModal.open();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n saveData(pdt): void {\r\n let tmpsidid;\r\n this.httpService.postData('api/stockindetail', this.stockinForm.value).subscribe(\r\n data => {\r\n tmpsidid = data.Message.toString();\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => {\r\n if (!this.stockinForm.controls['SIDID'].value) {\r\n this.sourcedata.unshift({\r\n SIDID: tmpsidid,\r\n SIID: this.SIID,\r\n ScID: this.stockinForm.controls['ScID'].value,\r\n ScN: this.stockinForm.controls['ScN'].value,\r\n SID: this.stockinForm.controls['SID'].value,\r\n SN: this.stockinForm.controls['SN'].value,\r\n Qty: this.stockinForm.controls['Qty'].value,\r\n Price: this.stockinForm.controls['Price'].value\r\n });\r\n\r\n this.totalRecords += 1;\r\n }\r\n else {\r\n let idx = this.sourcedata.findIndex(x => x.SIDID === this.stockinForm.controls['SIDID'].value);\r\n this.sourcedata[idx].ScID = this.stockinForm.controls['ScID'].value;\r\n this.sourcedata[idx].ScN = this.stockinForm.controls['ScN'].value;\r\n this.sourcedata[idx].SID = this.stockinForm.controls['SID'].value;\r\n this.sourcedata[idx].SN = this.stockinForm.controls['SN'].value;\r\n this.sourcedata[idx].Qty = this.stockinForm.controls['Qty'].value;\r\n this.sourcedata[idx].Price = this.stockinForm.controls['Price'].value;\r\n }\r\n\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully updated');\r\n this.entryModal.close();\r\n\r\n this.resetDatable(pdt);\r\n }\r\n );\r\n }\r\n\r\n setUpName(changedcomp) {\r\n if (changedcomp === 'sc') {\r\n let idx = this.servicecenterlist.findIndex(x => x.value === this.stockinForm.controls['ScID'].value);\r\n if (idx >= 0) { this.stockinForm.controls['ScN'].setValue(this.servicecenterlist[idx].label) };\r\n }\r\n else {\r\n let idx = this.stockitems.findIndex(x => x.value === this.stockinForm.controls['SID'].value);\r\n if (idx >= 0) { this.stockinForm.controls['SN'].setValue(this.stockitems[idx].label) }\r\n }\r\n }\r\n\r\n deleteData() {\r\n this.httpService.postData('api/stockindetail/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n printjob(): void { window.print(); }\r\n\r\n saveStockInData(): void {\r\n this.stockin = this.editstockinForm.value;\r\n\r\n this.httpService.postData('api/updatestockin', this.stockin).\r\n subscribe(data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => { this.editStockInModal.close(); });\r\n }\r\n formvalid = true;\r\n checkValid() {\r\n if (!this.stockinForm.valid) {\r\n this.formvalid = false;\r\n }\r\n else {\r\n this.formvalid = true;\r\n }\r\n }\r\n loadLazy(event: LazyLoadEvent) {\r\n setTimeout(() => {\r\n if (this.sourcedata && this.sourcedata.length > 0) {\r\n this.stockInDetails = this.sourcedata.slice(event.first, (event.first + event.rows));\r\n }\r\n }, 250);\r\n }\r\n resetDatable(pdt): void {\r\n pdt.reset();\r\n }\r\n}\r\n\r\n/*\r\nCreateStockInForm(): void {\r\n this.editstockinForm = this.fb.group({\r\n 'SIID': new FormControl(''),\r\n 'SIDT': new FormControl(new Date().toLocaleDateString(), Validators.compose([Validators.required])),\r\n 'Rmk': new FormControl('')\r\n });\r\n }\r\nshowStockInDialog() {\r\n this.CreateStockInForm();\r\n var sidt = new Date(this.stockin.SIDT).toLocaleDateString();\r\n this.editstockinForm.patchValue({ SIID: this.stockin.SIID, SIDT: sidt, Rmk: this.stockin.Rmk });\r\n this.editStockInModal.open();\r\n }\r\n\r\n this.CreateStockInForm();\r\n*/","export class StockInDetail {\r\n constructor(\r\n public SIDID?,\r\n public SIID?,\r\n public ScID?,\r\n public ScN?,\r\n public SID?,\r\n public SN?,\r\n /*public Cat?,*/\r\n public Qty?,\r\n public Price?) { }\r\n}","import { Component, OnInit, ViewChild, NgZone } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { StockIn } from './stockin';\r\nimport { StockInListQuery } from './stockinlistquery';\r\n\r\n@Component({\r\n selector: 'i-stockinlist',\r\n templateUrl: './stockinlist.component.html'\r\n})\r\n\r\nexport class StockInListCP implements OnInit {\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n public stockInList: StockIn[] = [];\r\n public selectedChk: StockIn[] = [];\r\n public printMode: boolean = false;\r\n public periods: SelectItem[];\r\n public query: StockInListQuery = new StockInListQuery();\r\n public toastkey = \"i-stockinlist\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router, public _ngZone: NgZone) {\r\n this.pService.start();\r\n }\r\n\r\n ngOnInit() {\r\n this.bindPeriod();\r\n this.query.Period = 'a';\r\n this.defaultDateTime();\r\n\r\n this._ngZone.run(() => this.getStockList());\r\n }\r\n\r\n getStockList(): void {\r\n if (this.query && this.query.FromDate && this.query.ToDate) {\r\n this.pService.start();\r\n this.httpService.postData('api/getstockin', this.query).subscribe(\r\n data => this.stockInList = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n bindPeriod(): void {\r\n this.periods = [];\r\n this.periods.push({ value: 'a', label: 'Today' });\r\n this.periods.push({ value: 'b', label: 'This week' });\r\n this.periods.push({ value: 'c', label: 'This Month' });\r\n this.periods.push({ value: 'd', label: 'Within 2 Months' });\r\n this.periods.push({ value: 'e', label: 'Within 3 Months' });\r\n this.periods.push({ value: 'f', label: 'Custom Date' });\r\n }\r\n periodChanges(): void {\r\n this.defaultDateTime();\r\n this.getStockList();\r\n }\r\n onSelectDate(): void {\r\n this.getStockList();\r\n }\r\n Refresh(): void {\r\n \r\n this.getStockList();\r\n }\r\n\r\n findIndexOfStockIn(selecteddata: StockIn): number {\r\n for (var _index in this.stockInList) {\r\n if (this.stockInList[_index].SIID == selecteddata.SIID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n }\r\n\r\n editStockIn(stockin: StockIn): void {\r\n var link = ['purchase-entry', stockin.SIID];\r\n this.router.navigate(link);\r\n }\r\n\r\n createStockIn(): void {\r\n var link = ['purchase-entry'];\r\n this.router.navigate(link);\r\n }\r\n\r\n createStockInExcel(): void{\r\n var link = ['stockin'];\r\n this.router.navigate(link);\r\n }\r\n\r\n deleteData() {\r\n this.httpService.postData('api/stockin/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n this.Refresh();\r\n },\r\n () => {\r\n this.Refresh();\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n \r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n showDialogToDelete() {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n printjob(): void { window.print(); }\r\n\r\n defaultDateTime() {\r\n this.query.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.query.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n }\r\n}","export class StockInListQuery {\r\n constructor(public Period?, public FromDate?, public ToDate?) { }\r\n}","import { Component, OnInit, ViewChild, NgZone, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport { Table } from 'primeng/table';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { StockItem } from './stockitem';\r\nimport { ServiceType } from '../servicetype/servicetype';\r\nimport { AuthService } from '../service/authservice';\r\nimport { Brand } from '../brand/brand';\r\n\r\n\r\n@Component({\r\n selector: 'i-stockitem',\r\n templateUrl: './stockitem.component.html'\r\n})\r\nexport class StockItemCP implements OnInit, OnDestroy {\r\n @ViewChild('modal', { static: false }) modal: BsModalComponent;\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('input', { static: false }) vc;\r\n @ViewChild('ServiceTypeChangeModal', { static: false }) ServiceTypeChangeModal: BsModalComponent;\r\n @ViewChild('BrandChangeModal', { static: false }) BrandChangeModal: BsModalComponent;\r\n @ViewChild('table', { static: false }) table: Table;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n apiName: string = \"stockitem\";\r\n id = 'SID';\r\n stockItem: StockItem = new StockItem();\r\n selectedStockItem: StockItem;\r\n stockForm: FormGroup;\r\n selectSType: any;\r\n\r\n stockitems: StockItem[] = [];\r\n selectedChk: StockItem[] = [];\r\n actionlogs: any[];\r\n\r\n oServiceTypeList: ServiceType[] = [];\r\n servicetypes: SelectItem[] = [];\r\n\r\n oBrandList: Brand[] = [];\r\n brandlist: SelectItem[] = [];\r\n\r\n sourcedata: any[] = [];\r\n totalRecords: number;\r\n\r\n isNew: boolean = false;\r\n toastkey = \"i-stockitem\";\r\n\r\n siChanged: any;\r\n stChanged: any;\r\n brandChanged: any;\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public _dataChanged: DataChangedEvent, public _ngZone: NgZone, public auth: AuthService) {\r\n this.brandlist = [];\r\n this.siChanged = this._dataChanged.stockItemChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n this.afterBroadCastEvent(sRobj, this.stockitems, 'SID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.stChanged = this._dataChanged.serviceTypeChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicetype\") {\r\n this.afterBroadCastEvent(sRobj, this.oServiceTypeList, 'STID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.brandChanged = this._dataChanged.brandChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"brand\") {\r\n this.afterBroadCastEvent(sRobj, this.oBrandList, 'BID');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.CreateForm();\r\n this.GetRequiredData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stockItem = this.selectedStockItem = this.stockForm = this.selectSType = this.stockitems = this.selectedChk = this.actionlogs = this.oServiceTypeList =\r\n this.servicetypes = this.oBrandList = this.brandlist = undefined;\r\n\r\n if (this.siChanged != undefined) this.siChanged.unsubscribe();\r\n if (this.stChanged != undefined) this.stChanged.unsubscribe();\r\n if (this.brandChanged != undefined) this.brandChanged.unsubscribe();\r\n }\r\n\r\n CreateForm(): void {\r\n this.stockForm = this.fb.group({\r\n 'SID': new FormControl('', Validators.compose([Validators.required, Validators.pattern(\"^[a-zA-Z0-9-_]*$\")])),\r\n 'SN': new FormControl('', Validators.compose([Validators.required])),\r\n 'Cat': new FormControl('', Validators.compose([Validators.required, Validators.maxLength(50)])),\r\n 'STID': new FormControl(null),\r\n 'BID': new FormControl(null),\r\n 'MinQ': new FormControl(0),\r\n 'UN': new FormControl(this.auth.UN),\r\n 'STN': new FormControl(''),\r\n 'BN': new FormControl(''),\r\n 'EFN': new FormControl(null),\r\n 'UploadFile': new FormControl(null)\r\n });\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let siList: any = [];\r\n let stList: any = [];\r\n let bList: any = [];\r\n this.httpService.getDataFJ(['api/stockitem', 'api/servicetype', 'api/brand']).subscribe(\r\n data => {\r\n siList = data[0];\r\n stList = data[1];\r\n bList = data[2];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n\r\n if (siList) {\r\n this.sourcedata = siList.map(si => Object.assign({}, si));\r\n this.stockitems = this.sourcedata.map(d => Object.assign({}, d));\r\n this.totalRecords = this.sourcedata.length;\r\n\r\n //if (pdt) { pdt.paginate({ first: tmpfirst, rows: 20 }); }\r\n }\r\n\r\n if (stList) {\r\n this.oServiceTypeList = stList.map(d => Object.assign({}, d));\r\n this.setServiceTypeData(this.oServiceTypeList);\r\n }\r\n\r\n if (bList) {\r\n bList.sort((a, b) => a.BID > b.BID ? 1 : (a.BID < b.BID ? -1 : 0));\r\n this.oBrandList = bList.map(d => Object.assign({}, d));\r\n this.setBrandData(this.oBrandList);\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"servicetype\") {\r\n\r\n this.httpService.getData('api/servicetype').subscribe(\r\n data => { this.oServiceTypeList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setServiceTypeData(this.oServiceTypeList); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"brand\") {\r\n\r\n this.httpService.getData('api/brand').subscribe(\r\n data => { this.oBrandList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => {\r\n this.oBrandList.sort((a, b) => a.BID > b.BID ? 1 : (a.BID < b.BID ? -1 : 0));\r\n this.setBrandData(this.oBrandList);\r\n this.pService.done();\r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === this.apiName.toLowerCase()) {\r\n\r\n this.httpService.getData('api/stockitem').subscribe(\r\n data => { this.sourcedata = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => {\r\n this.stockitems = this.sourcedata.map(d => Object.assign({}, d));\r\n this.totalRecords = this.sourcedata.length;\r\n this.pService.done();\r\n }\r\n );\r\n\r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"servicetype\") {\r\n this.setServiceTypeData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"brand\") {\r\n this.setBrandData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setServiceTypeData(dataList: ServiceType[]) {\r\n this.servicetypes = [];\r\n this.servicetypes.push({ label: 'Select a service type', value: null });\r\n if (dataList) {\r\n dataList.map(x => { this.servicetypes.push({ label: x.STN, value: x.STID }); });\r\n }\r\n }\r\n\r\n setBrandData(dataList: Brand[]) {\r\n this.brandlist = [];\r\n this.brandlist.push({ label: 'Select a brand', value: null });\r\n if (dataList) {\r\n dataList.map(x => { this.brandlist.push({ label: x.BN, value: x.BID }); });\r\n }\r\n }\r\n\r\n refresh() {\r\n this.pService.start();\r\n this.GetRequiredData();\r\n }\r\n\r\n uploadFile(): void {\r\n if (!this.stockItem.UploadFile) return;\r\n\r\n if (this.stockItem.EFN != '' || this.stockItem.EFN) this.stockItem.EFN = '';\r\n\r\n this.pService.start();\r\n this.httpService.postData('api/stockitem/uploadfile', this.stockItem).subscribe(\r\n ddd => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully uploaded');\r\n this.stockItem.UploadFile = null;\r\n this.stockItem.EFN = null;\r\n this.GetRequiredData();\r\n });\r\n }\r\n\r\n save(): void {\r\n if (!this.stockForm.value) return;\r\n\r\n if (this.stockForm) {\r\n if (!this.stockForm.controls['MinQ'].value) {\r\n this.stockForm.controls['MinQ'].setValue(0);\r\n }\r\n this.httpService.postData('api/stockitem', this.stockForm.value).subscribe(\r\n ddd => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n let tmpstn = '', tmpbn = '';\r\n if (this.stockForm.controls['STID'].value) {\r\n let tmpidx = this.servicetypes.findIndex(x => x.value === this.stockForm.controls['STID'].value);\r\n if (tmpidx >= 0) tmpstn = this.servicetypes[tmpidx].label;\r\n }\r\n if (this.stockForm.controls['BID'].value) {\r\n let _tmpidx = this.brandlist.findIndex(x => x.value === this.stockForm.controls['BID'].value);\r\n if (_tmpidx >= 0) tmpbn = this.brandlist[_tmpidx].label;\r\n }\r\n\r\n let idx = this.sourcedata.findIndex(x => x.SID === this.stockForm.controls['SID'].value);\r\n if (idx >= 0) {\r\n this.sourcedata[idx].SID = this.stockForm.controls['SID'].value;\r\n this.sourcedata[idx].SN = this.stockForm.controls['SN'].value;\r\n this.sourcedata[idx].Cat = this.stockForm.controls['Cat'].value;\r\n this.sourcedata[idx].STID = this.stockForm.controls['STID'].value;\r\n this.sourcedata[idx].BID = this.stockForm.controls['BID'].value;\r\n this.sourcedata[idx].MinQ = this.stockForm.controls['MinQ'].value;\r\n this.sourcedata[idx].UN = this.stockForm.controls['UN'].value;\r\n\r\n this.sourcedata[idx].STN = this.stockForm.controls['STID'].value ? tmpstn : '';\r\n this.sourcedata[idx].BN = this.stockForm.controls['BID'].value ? tmpbn : '';\r\n\r\n this.sourcedata[idx].EFN = this.stockForm.controls['EFN'].value;\r\n this.sourcedata[idx].UploadFile = this.stockForm.controls['UploadFile'].value;\r\n }\r\n else {\r\n this.sourcedata.unshift({\r\n 'SID': this.stockForm.controls['SID'].value,\r\n 'SN': this.stockForm.controls['SN'].value,\r\n 'Cat': this.stockForm.controls['Cat'].value,\r\n 'STID': this.stockForm.controls['STID'].value,\r\n 'BID': this.stockForm.controls['BID'].value,\r\n 'MinQ': this.stockForm.controls['MinQ'].value,\r\n 'UN': this.auth.UN,\r\n 'STN': tmpstn,\r\n 'BN': tmpbn,\r\n 'EFN': null,\r\n 'UploadFile': null\r\n });\r\n\r\n this.totalRecords += 1;\r\n }\r\n\r\n this.httpService.showToast(this.toastkey, 'success', 'Successfully inserted/updated');\r\n this.entryModal.close();\r\n }\r\n );\r\n }\r\n }\r\n\r\n stockItem_ModelChange(event): void {\r\n if (this.stockitems) {\r\n let temp: StockItem = new StockItem();\r\n let idx = this.stockitems.findIndex(x => x.SID === event);\r\n if (idx >= 0) {\r\n this.isNew = false;\r\n this.stockForm.patchValue({ 'SN': this.stockitems[idx].SN, 'Cat': this.stockitems[idx].Cat, 'STID': this.stockitems[idx].STID, 'BID': this.stockitems[idx].BID, 'MinQ': this.stockitems[idx].MinQ });\r\n }\r\n else {\r\n this.stockForm.patchValue({ 'SN': '', 'Cat': '', 'STID': null, 'BID': null, 'MinQ': 0 });\r\n }\r\n }\r\n }\r\n\r\n showDialogToAdd(): void {\r\n this.stockForm.controls['SID'].enable({ onlySelf: false });\r\n this.isNew = true;\r\n this.CreateForm();\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToEdit(rdata, ridx): void {\r\n this.isNew = false;\r\n this.selectedStockItem = rdata;\r\n this.stockForm.patchValue({\r\n SID: rdata.SID,\r\n SN: rdata.SN,\r\n Cat: rdata.Cat,\r\n STID: rdata.STID,\r\n BID: rdata.BID,\r\n MinQ: rdata.MinQ,\r\n UN: rdata.UN,\r\n STN: rdata.STN,\r\n BN: rdata.BN,\r\n EFN: rdata.EFN,\r\n UploadFile: rdata.UploadFile\r\n });\r\n this.entryModal.open();\r\n this.vc.nativeElement.focus();\r\n }\r\n\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n showLogDialog(): void {\r\n if (this.selectedStockItem != undefined) {\r\n let temp = [];\r\n this.httpService.getData('api/actionlog/' + this.selectedStockItem.SID + '/' + 'StockItem').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (temp != undefined) { this.actionlogs = temp; this.modal.open(); }\r\n else { this.httpService.showToast(this.toastkey, 'warn', 'There is no record to show!'); }\r\n });\r\n }\r\n }\r\n\r\n onChange(evt) {\r\n var files = evt.target.files;\r\n var file = files[0];\r\n if (files && file) {\r\n var reader = new FileReader();\r\n reader.onload = (function (file) {\r\n return file;\r\n })(this.stockItem.EFN = file.name);\r\n\r\n reader.onloadend = () => {\r\n this.stockItem.UploadFile = btoa(reader.result.toString());\r\n this.stockItem.EFN = file.name;\r\n }\r\n reader.readAsBinaryString(file);\r\n }\r\n }\r\n \r\n deleteData(): void {\r\n this.httpService.postData('api/stockitem/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n modalClose() {\r\n this.modal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/stockitem/export', null).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/stockitem.csv';\r\n this.httpService.DirectLocToWindow(\"stockitem\");\r\n }\r\n );\r\n }\r\n}","export class StockItem {\r\n constructor(\r\n public SID?, \r\n public SN?, \r\n public Cat?, \r\n public STID?, \r\n public BID?,\r\n public MinQ?, \r\n public UN?, \r\n public STN?, \r\n public BN?,\r\n public UploadFile?, \r\n public EFN?\r\n ) { }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport { NgProgressService } from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\nimport { StockLedger, StockLedgerQuery, StockCategory } from './stockledger';\r\n\r\n@Component({\r\n selector: 'i-stockledger',\r\n templateUrl: './stockledger.component.html'\r\n})\r\n\r\nexport class StockLedgerCP implements OnInit {\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n\r\n stockledgers: StockLedger[] = [];\r\n slquery: StockLedgerQuery;\r\n scats: SelectItem[] = [];\r\n selectedCategory: any;\r\n startDate: Date;\r\n endDate: Date;\r\n\r\n scenter: SelectItem[] = [];\r\n selectedServiceCenter: any;\r\n public toastkey = \"i-stockledger\";\r\n\r\n constructor(private pService: NgProgressService, public httpService: HttpServices) {\r\n this.scats.push({ label: 'Select a category', value: null });\r\n this.selectedCategory = null;\r\n\r\n this.scenter.push({ label: 'All', value: null });\r\n this.selectedServiceCenter = null;\r\n }\r\n\r\n ngOnInit() {\r\n let categories: StockCategory[] = [];\r\n this.httpService.getData('api/getstockcategory').subscribe(\r\n data => { categories = data },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting data of stock_category!\\n' + err);\r\n this.pService.done();\r\n },\r\n () => { categories.forEach(x => { this.scats.push({ label: x.Cat, value: x.Cat }) }) }\r\n );\r\n\r\n let tmp: ServiceCenter[] = [];\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => { tmp = data },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while getting data of service_center!\\n' + err);\r\n this.pService.done();\r\n },\r\n () => { tmp.forEach(x => { this.scenter.push({ label: x.ScN, value: x.ScID }); }) }\r\n );\r\n\r\n this.startDate = new Date(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 7, 0, 0, 0));;\r\n this.endDate = new Date(new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 0));\r\n }\r\n\r\n calculateSL() {\r\n if (this.startDate && this.endDate) {\r\n this.pService.start();\r\n this.slquery = new StockLedgerQuery(this.selectedCategory === null ? '' : this.selectedCategory, this.startDate, this.endDate, this.selectedServiceCenter);\r\n let temp: StockLedger[] = [];\r\n\r\n this.httpService.postData('api/stockledger', this.slquery).subscribe(\r\n data => { temp = data; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while calculating stock_ledger!\\n' + err);\r\n this.pService.done();\r\n },\r\n () => {\r\n this.stockledgers = temp;\r\n if (this.stockledgers.length === 0) {\r\n this.httpService.showToast(this.toastkey, 'info', 'There is no record(s) by your filters');\r\n }\r\n }\r\n );\r\n }\r\n }\r\n}","export class StockLedger {\r\n constructor(\r\n public SID,//StockItem pk\r\n public SN,//StockItem\r\n public Cat,//StockItem\r\n public oBalance,\r\n public sIn,\r\n public sUsed,\r\n public Adj,\r\n public sTransferIn,\r\n public sTransferOut,\r\n public cBalance\r\n ) { }\r\n\r\n}\r\n\r\nexport class StockCategory {\r\n constructor(\r\n public Cat\r\n ) { }\r\n}\r\n\r\nexport class StockLedgerQuery {\r\n constructor(\r\n public Cat,\r\n public StartDate,\r\n public EndDate,\r\n public ScID\r\n )\r\n { }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { StockTransfer } from './stocktransfer';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\n\r\n@Component({\r\n selector: 'i-createstocktransfer',\r\n templateUrl: './createstocktransfer.component.html'\r\n})\r\nexport class CreateStockTransferCP implements OnInit {\r\n public stockTransfer: StockTransfer;\r\n public deptllist: SelectItem[];\r\n public servicecenters: ServiceCenter[];\r\n public servicecenterlist: SelectItem[];\r\n public sub: any;\r\n public toastkey = \"i-createstocktransfer\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n constructor(private pService: NgProgressService ,public currentRoute: ActivatedRoute, public httpService: HttpServices, public router: Router) {\r\n this.pService.start();\r\n this.stockTransfer = new StockTransfer(null, null, null, null, null, null, null, null);\r\n this.stockTransfer.TDT = new Date().toLocaleDateString();\r\n this.sub = this.currentRoute.params.subscribe(param => {\r\n this.stockTransfer.TID = param['tid'];\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetServiceCenter();\r\n if (this.stockTransfer.TID != undefined) {\r\n this.getTransfer();\r\n }else{\r\n this.pService.done();\r\n }\r\n }\r\n\r\n getTransfer() {\r\n this.httpService.getData('api/getstocktransfer/' + this.stockTransfer.TID).subscribe(\r\n data => {\r\n this.stockTransfer = data;\r\n this.stockTransfer.TDT = new Date(data.TDT).toLocaleDateString();\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n this.pService.done();\r\n },\r\n () => { this.pService.done(); \r\n });\r\n }\r\n\r\n GetServiceCenter(): void {\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => this.servicecenters = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.servicecenterlist = [];\r\n this.servicecenterlist.push({ label: 'Select Service Center', value: null });\r\n if (this.servicecenters) {\r\n this.servicecenters.map(sc => this.servicecenterlist.push({ label: sc.ScN, value: sc.ScID }));\r\n }\r\n });\r\n }\r\n\r\n CreateStockTransfer(): void {\r\n if (this.stockTransfer != undefined) {\r\n this.httpService.postData('api/stocktransfer', this.stockTransfer).\r\n subscribe(\r\n data => { this.stockTransfer.TID = data.TID; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => { this.goToStockTransferDetail(); });\r\n }\r\n }\r\n\r\n goToStockTransferDetail(): void {\r\n let link = ['/stocktransferdetail', this.stockTransfer.TID];\r\n this.router.navigate(link);\r\n }\r\n}","export class StockTransfer {\r\n constructor(public TID?, public TDT?, public Rmk?, public IScID?, public IScN?, public OScID?, public OScN?, public STDetail?) { }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { StockTransfer } from './stocktransfer';\r\nimport { StockTransferDetail } from './stocktransferdetail';\r\nimport { StockItem } from '../stockitem/stockitem';\r\n\r\n@Component({\r\n selector: 'i-stocktransferdetail',\r\n templateUrl: './stocktransferdetail.component.html'\r\n})\r\nexport class StockTransferDetailCP implements OnInit {\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n @ViewChild('editModal', { static: false }) editModal: BsModalComponent;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n public selectedChk: StockTransferDetail[];\r\n public stockitems: SelectItem[];\r\n public _stockitemsList: StockItem[];\r\n public std: StockTransfer;\r\n public stockTransDetails: StockTransferDetail[];\r\n public tempStock: StockTransferDetail;\r\n public stockTransForm: FormGroup;\r\n public printMode: boolean = false;\r\n public sub: any;\r\n public tid: string = \"\";\r\n public rowIdx: number;\r\n public toastkey = \"i-stocktransferdetail\";\r\n\r\n constructor(private pService: NgProgressService ,public currentRoute: ActivatedRoute, public httpService: HttpServices, public fb: FormBuilder) {\r\n this.std = new StockTransfer();\r\n this.tempStock = new StockTransferDetail();\r\n this.stockTransDetails = [];\r\n this.sub = this.currentRoute.params.subscribe(param => {\r\n this.tid = param['tid'];\r\n this.std.TID = this.tid;\r\n\r\n });\r\n }\r\n ngOnInit() {\r\n this.CreateForm();\r\n this.get_StockItems();\r\n if (this.tid != \"\") { this.getTransfer(); }\r\n }\r\n CreateForm(): void {\r\n this.stockTransForm = this.fb.group({\r\n 'TID': new FormControl(this.tid),\r\n 'SID': new FormControl(null, Validators.compose([Validators.required])),\r\n 'Qty': new FormControl(0, Validators.required),\r\n });\r\n }\r\n getTransfer() {\r\n this.httpService.getData('api/stocktransferdetail/' + this.tid).subscribe(\r\n data => {\r\n this.std = data;\r\n this.stockTransDetails = this.std.STDetail;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.stockTransDetails.sort((a, b) => a.SID > b.SID ? 1 : (a.SID < b.SID ? -1 : 0));\r\n });\r\n }\r\n get_StockItems(): void {\r\n this.httpService.getData('api/stockitem').subscribe(\r\n data => this._stockitemsList = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.stockitems = [];\r\n this.stockitems.push({ label: 'Select stockitem ', value: null });\r\n if (this._stockitemsList) {\r\n this._stockitemsList.map(si => this.stockitems.push({ label: si.SN + \" / \" + si.Cat + \" / \" + si.SID, value: si.SID }));\r\n }\r\n });\r\n }\r\n\r\n isInt(n) {\r\n return Number(n) === n && n % 1 === 0;\r\n }\r\n\r\n Add(event, isNew: boolean): void {\r\n this.tempStock = new StockTransferDetail();\r\n if (isNew) {\r\n this.tempStock.TID = this.stockTransForm.controls['TID'].value;\r\n this.tempStock.SID = this.stockTransForm.controls['SID'].value;\r\n this.tempStock.Qty = this.stockTransForm.controls['Qty'].value;\r\n }\r\n else {\r\n if (event) {\r\n this.tempStock.TDID = event.TDID;\r\n this.tempStock.TID = event.TID;\r\n this.tempStock.SID = event.SID;\r\n if (event.Qty) {\r\n var n = Number(event.Qty);\r\n if (this.isInt(n)) {\r\n this.tempStock.Qty = event.Qty;\r\n }\r\n else {\r\n this.tempStock.Qty = 0;\r\n }\r\n }\r\n else {\r\n this.tempStock.Qty = 0;\r\n }\r\n }\r\n }\r\n\r\n this.findStock();\r\n\r\n this.httpService.postData('api/stocktransferdetail', this.tempStock).subscribe(\r\n data => {\r\n if (isNew) {\r\n this.tempStock.TDID = data.TDID;\r\n this.stockTransDetails.push(this.tempStock);\r\n }\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.CreateForm();\r\n this.stockTransDetails.sort((a, b) => a.SID > b.SID ? 1 : (a.SID < b.SID ? -1 : 0));\r\n }\r\n );\r\n }\r\n findIndexOfStock(selecteddata: StockTransferDetail): number {\r\n for (var _index in this.stockTransDetails) {\r\n if (this.stockTransDetails[_index].TDID === selecteddata.TDID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n }\r\n findStock(): void {\r\n for (let obj of this._stockitemsList) {\r\n if (this.stockTransForm.controls['SID'].value == obj.SID) {\r\n this.tempStock.SN = obj.SN;\r\n this.tempStock.Cat = obj.Cat;\r\n break;\r\n }\r\n }\r\n }\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != undefined) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n deleteData() {\r\n this.httpService.postData('api/stocktransferdetail/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n printjob(): void {\r\n window.print();\r\n }\r\n\r\n goEdit(stf) {\r\n this.tempStock = new StockTransferDetail();\r\n this.tempStock.TDID = stf.TDID;\r\n this.tempStock.TID = stf.TID;\r\n this.tempStock.SID = stf.SID;\r\n this.tempStock.Qty = stf.Qty;\r\n this.tempStock.Cat = stf.Cat;\r\n this.tempStock.SN = stf.SN;\r\n this.editModal.open();\r\n }\r\n saveEditVal() {\r\n this.editModal.close();\r\n\r\n this.httpService.postData('api/stocktransferdetail', this.tempStock).subscribe(\r\n data => {\r\n let idx = this.stockTransDetails.findIndex(x => x.TDID === this.tempStock.TDID);\r\n if (idx >= 0) {\r\n this.stockTransDetails[idx] = Object.assign({}, this.tempStock);\r\n }\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while inserting/updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.editModal.close();\r\n }\r\n );\r\n }\r\n}","export class StockTransferDetail {\r\n constructor(public TDID?, public TID?, public SID?, public SN?, public Cat?, public Qty?) { }\r\n}","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { SelectItem } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { StockTransfer } from './stocktransfer';\r\nimport { TransferListQuery } from './transferlistquery';\r\n\r\n@Component({\r\n selector: 'i-transferlist',\r\n templateUrl: './transferlist.component.html'\r\n})\r\nexport class TransferListCP implements OnInit {\r\n @ViewChild('deleteModal', { static: false }) deleteModal: BsModalComponent;\r\n public periods: SelectItem[];\r\n public stfList: StockTransfer[] = [];\r\n public query: TransferListQuery;\r\n public printMode: boolean = false;\r\n public selectedChk: StockTransfer[] = [];\r\n public selectedData: StockTransfer;\r\n public toastkey = \"i-transferlist\";\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router) {\r\n this.pService.start();\r\n this.query = new TransferListQuery();\r\n this.selectedData = new StockTransfer();\r\n }\r\n ngOnInit() {\r\n this.bindPeriod();\r\n this.query.Period = 'a';\r\n this.defaultDateTime();\r\n this.getTransferList();\r\n }\r\n\r\n bindPeriod(): void {\r\n this.periods = [];\r\n this.periods.push({ value: 'a', label: 'Today' });\r\n this.periods.push({ value: 'b', label: 'This week' });\r\n this.periods.push({ value: 'c', label: 'This Month' });\r\n this.periods.push({ value: 'd', label: 'Within 2 Months' });\r\n this.periods.push({ value: 'e', label: 'Within 3 Months' });\r\n this.periods.push({ value: 'f', label: 'Custom Date' });\r\n }\r\n getTransferList(): void {\r\n if (this.query && this.query.FromDate && this.query.ToDate) {\r\n this.pService.start();\r\n this.httpService.postData('api/get/stocktransferlist', this.query).subscribe(\r\n data => { this.stfList = data; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n });\r\n }\r\n }\r\n\r\n periodChanges(): void {\r\n\r\n this.defaultDateTime();\r\n\r\n this.getTransferList();\r\n }\r\n\r\n printjob(): void {\r\n window.print();\r\n }\r\n\r\n onSelectDate(): void {\r\n this.getTransferList();\r\n }\r\n goDetail(stf): void {\r\n let link = ['/stocktransferdetail', stf.TID];\r\n this.router.navigate(link);\r\n }\r\n\r\n Refresh(): void {\r\n \r\n this.getTransferList();\r\n }\r\n showDialogToDelete(): void {\r\n if (this.selectedChk != null && this.selectedChk != undefined && this.selectedChk.length > 0) {\r\n this.deleteModal.open();\r\n } else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'Need to select row!');\r\n }\r\n }\r\n\r\n deleteData() {\r\n this.httpService.postData('api/stocktransfer/multidelete/', this.selectedChk).\r\n subscribe(\r\n data => {\r\n this.httpService.showUnsuccessDelMsg(this.toastkey, data);\r\n },\r\n err => {\r\n this.doneDeleteProcess('error', 'Error occurs while deleting data!');\r\n },\r\n () => {\r\n this.doneDeleteProcess('success', 'Successfully deleted');\r\n });\r\n }\r\n\r\n deleteModalClose() {\r\n this.deleteModal.close();\r\n this.httpService.AddClassToModal(true);\r\n }\r\n\r\n doneDeleteProcess(header: string, msg: string) {\r\n this.selectedChk = null;\r\n this.deleteModalClose();\r\n this.httpService.showToast(this.toastkey, header, msg);\r\n }\r\n\r\n findIndexOfStock(selecteddata: StockTransfer): number {\r\n for (var _index in this.stfList) {\r\n if (this.stfList[_index].TID === selecteddata.TID) {\r\n return parseInt(_index);\r\n }\r\n }\r\n }\r\n\r\n defaultDateTime() {\r\n this.query.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.query.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n }\r\n}","export class TransferListQuery {\r\n constructor(public Period?, public FromDate?, public ToDate?) { }\r\n}","import { Component, OnInit, NgZone, OnDestroy, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { TakenListQuery } from './takenlistquery';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\nimport { Department } from '../department/department';\r\nimport { Job } from '../job/job';\r\nimport { MCB } from '../job/mcb';\r\n\r\n@Component({\r\n selector: 'i-takenlist',\r\n templateUrl: './takenlist.component.html'\r\n\r\n})\r\nexport class TakenListCP implements OnInit, OnDestroy {\r\n printMode: boolean = false;\r\n periods: SelectItem[] = [];\r\n jobtypes: SelectItem[] = [];\r\n query: TakenListQuery;\r\n servicecenters: ServiceCenter[] = [];\r\n servicecenterlist: SelectItem[] = [];\r\n\r\n oDeptList: Department[] = [];\r\n deptllist: SelectItem[];\r\n\r\n _listOfMon: MCB[] = [];\r\n takenList: Job[] = [];\r\n\r\n amount: any = { serviceCharges: 0, partsAmount: 0, totalAmount: 0, depositAmount: 0, balanceAmount: 0 };\r\n toastkey = \"i-takenlist\";\r\n\r\n depChanged: any;\r\n scChanged: any;\r\n modelChanged: any;\r\n brandChanged: any;\r\n catChanged: any;\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router, public auth: AuthService, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this.bindJobType();\r\n\r\n this.depChanged = this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"department\") {\r\n this.afterBroadCastEvent(sRobj, this.oDeptList, 'DID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.scChanged = this._dataChanged.serviceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.afterBroadCastEvent(sRobj, this.servicecenters, 'ScID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.modelChanged = this._dataChanged.modelChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"model\") {\r\n this.GetMcbInBroadcast();\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.brandChanged = this._dataChanged.brandChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"brand\") {\r\n this.GetMcbInBroadcast();\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.catChanged = this._dataChanged.categoryChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"category\") {\r\n this.GetMcbInBroadcast();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRequiredData().then(exp => {\r\n if (exp) {\r\n this.query = new TakenListQuery(this.auth.ScID, null, 'a', 'E', new Date(), new Date());\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.periods = this.jobtypes = this.query = this.servicecenters = this.servicecenterlist = this.oDeptList = this.deptllist = this._listOfMon = this.takenList =\r\n this.amount = undefined;\r\n\r\n if (this.depChanged != undefined) this.depChanged.unsubscribe();\r\n if (this.scChanged != undefined) this.scChanged.unsubscribe();\r\n if (this.modelChanged != undefined) this.modelChanged.unsubscribe();\r\n if (this.brandChanged != undefined) this.brandChanged.unsubscribe();\r\n if (this.catChanged != undefined) this.catChanged.unsubscribe();\r\n }\r\n\r\n bindJobType(): void {\r\n this.jobtypes = [];\r\n this.jobtypes.push({ value: null, label: 'All' });\r\n this.jobtypes.push({ value: 'S', label: 'Standard' });\r\n this.jobtypes.push({ value: 'E', label: 'Express' });\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let depList: any = [];\r\n let scList: any = [];\r\n let mcbList: any = [];\r\n this.httpService.getDataFJ(['api/department', 'api/servicecenter', 'api/job/getmcb']).subscribe(\r\n data => {\r\n depList = data[0];\r\n scList = data[1];\r\n mcbList = data[2];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (depList) {\r\n this.oDeptList = depList.map(d => Object.assign({}, d));\r\n this.setDepartmentData(this.oDeptList);\r\n }\r\n\r\n if (scList) {\r\n this.servicecenters = scList.map(sc => Object.assign({}, sc));\r\n this.setServiceCenterData(this.servicecenters);\r\n }\r\n\r\n if (mcbList) {\r\n this._listOfMon = mcbList.map(m => Object.assign({}, m));\r\n }\r\n\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n GetMcbInBroadcast() {\r\n let mcbList = [];\r\n this.httpService.getData('api/job/getmcb').subscribe(\r\n data => { mcbList = data || []; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this._listOfMon = mcbList.map(m => Object.assign({}, m));\r\n }\r\n );\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n\r\n this.httpService.getData('api/department').subscribe(\r\n data => { this.oDeptList = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setDepartmentData(this.oDeptList); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => { this.servicecenters = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setServiceCenterData(this.servicecenters); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"model\" || objData.ObjType.toLowerCase() === \"brand\" || objData.ObjType.toLowerCase() === \"category\") {\r\n this.GetMcbInBroadcast();\r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n this.setDepartmentData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.setServiceCenterData(dataList);\r\n }\r\n }\r\n }\r\n }\r\n\r\n setDepartmentData(dataList: Department[]) {\r\n this.deptllist = [];\r\n this.deptllist.push({ label: 'All', value: null });\r\n if (dataList) {\r\n dataList.map(dep => this.deptllist.push({ label: dep.DN, value: dep.DID }));\r\n }\r\n }\r\n\r\n setServiceCenterData(dataList: ServiceCenter[]) {\r\n this.servicecenterlist = [];\r\n this.servicecenterlist.push({ label: 'All', value: null });\r\n if (dataList) {\r\n dataList.map(x => { this.servicecenterlist.push({ label: x.ScN, value: x.ScID }); });\r\n }\r\n }\r\n\r\n getmcbName(moid: number): string {\r\n if (this._listOfMon == undefined) return \"\";\r\n for (let obj of this._listOfMon) {\r\n if (obj.MoID == moid) {\r\n return obj.MoN + \" / \" + obj.CatN + \" / \" + obj.BN;\r\n }\r\n }\r\n }\r\n\r\n Search(): void {\r\n this.amount = { serviceCharges: 0, partsAmount: 0, totalAmount: 0, depositAmount: 0, balanceAmount: 0 };\r\n\r\n if (this.query.ScID == null) this.query.ScID = 0;\r\n if (this.query.DID == null) this.query.DID = 0;\r\n\r\n if (this.query.JT == null) this.query.JT = '';\r\n\r\n this.httpService.postData('api/get/takenlist', this.query).subscribe(\r\n data => this.takenList = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (this.takenList.length == 0) this.httpService.showToast(this.toastkey, 'warn', 'There is No taken list!');\r\n if (this.takenList != undefined) {\r\n this.takenList.forEach(x => {\r\n if (x.MoID != undefined) {\r\n x.MoN = this.getmcbName(x.MoID);\r\n }\r\n this.amount.serviceCharges += x.SAmo;\r\n this.amount.partsAmount += x.PAmo;\r\n this.amount.totalAmount += x.TAmo;\r\n this.amount.depositAmount += x.DAmo;\r\n this.amount.balanceAmount += x.TAmo + x.DAmo;\r\n })\r\n }\r\n });\r\n }\r\n\r\n printjob(): void {\r\n window.print();\r\n }\r\n\r\n periodChange(): void {\r\n this.query.FromDate = this.query.ToDate = new Date();\r\n }\r\n}","export class TakenListQuery {\r\n constructor(public ScID?, public DID?, public Period?, public JT?, public FromDate?, public ToDate?) { }\r\n}","import { Component, OnInit, OnDestroy, OnChanges, AfterViewInit, AfterContentInit, ViewChild, NgZone } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport { NgProgressService } from \"ng2-progressbar\";\r\nimport { SelectItem } from 'primeng/api';\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Model\r\nimport { JobListNewQuery } from '../joblistnew/joblistnewquery';\r\nimport { TechDashQuery } from './techdashquery';\r\nimport { JobListNewDeptQuery } from '../joblistnew/joblistnewDeptquery';\r\n\r\n@Component({\r\n selector: 'tech-dashboard',\r\n templateUrl: './tech_dashboard.component.html'\r\n})\r\n\r\nexport class TechDashboardCP implements OnInit, OnDestroy {\r\n @ViewChild('jobDetailListModal', { static: false }) jobDetailListModal: BsModalComponent;\r\n\r\n public dquery: TechDashQuery;\r\n public filteredDataList: any[] = [];//to calculate total\r\n public dataList: any[];\r\n public srObjT: any;\r\n public srObjSM: any;\r\n public joblistnewqry: JobListNewDeptQuery;\r\n public title: string = '';\r\n public isJobDetailList: boolean = false;\r\n public search: string = '';\r\n public srObjJ: any;\r\n public toastkey = \"tech-dashboard\";\r\n public servicecenterddown: SelectItem[] = [];\r\n public scList: any = null;\r\n selectedServiceCenter: number;\r\n selectedDept;\r\n\r\n\r\n constructor(private pService: NgProgressService, public httpservice: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this.dquery = new TechDashQuery();\r\n this.dquery.PType = null;\r\n this.dquery.Period = 'a';\r\n this.dquery.SCID = null;\r\n this.dquery.DID = null;\r\n this.dquery.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.dquery.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n this.dquery.SearchText = '';\r\n\r\n this.joblistnewqry = new JobListNewDeptQuery(null, null, null, null, 'a', this.dquery.FromDate, this.dquery.ToDate);\r\n\r\n // this.srObjT = this._dataChanged.jobTStatusChanged.subscribe(\r\n // srDataT => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // );\r\n\r\n // this.srObjSM = this._dataChanged.jobSmStatusChanged.subscribe(\r\n // srDataSM => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // );\r\n\r\n // this.srObjJ = this._dataChanged.jobChanged.subscribe(\r\n // srData => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // );\r\n this.servicecenterddown.push({ label: '- Select Service Center -', value: null });\r\n }\r\n\r\n ngOnInit() {\r\n this.getRequiredData();\r\n this.getDataList();\r\n };\r\n\r\n ngOnDestroy() {\r\n this.dquery =\r\n this.dataList =\r\n this.joblistnewqry =\r\n this.dquery = undefined;\r\n if (this.srObjT !== undefined) this.srObjT.unsubscribe();\r\n if (this.srObjSM !== undefined) this.srObjSM.unsubscribe();\r\n if (this.srObjJ !== undefined) this.srObjJ.unsubscribe();\r\n }\r\n\r\n getRequiredData(): void {\r\n this.httpservice.getDataFJ(['api/getsc']).subscribe(\r\n data => {\r\n this.scList = data[0];\r\n this.scList.map(x => {\r\n this.servicecenterddown.push({ label: x.Name, value: x.ID });\r\n })\r\n //this.pService.done();\r\n },\r\n err => { this.httpservice.showToast(this.toastkey, 'error', err); },\r\n () => {\r\n });\r\n }\r\n\r\n refresh(){ \r\n this.getDataList();\r\n }\r\n\r\n getDataList(): void {\r\n if (this.dquery && this.dquery.FromDate && this.dquery.ToDate) {\r\n this.pService.start();\r\n this.httpservice.postData('api/techniciandashboard', this.dquery).subscribe(\r\n exp => {\r\n this.dataList = exp;\r\n },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', err);\r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n });\r\n } else {\r\n this.pService.done();\r\n }\r\n }\r\n\r\n filterChanged() {\r\n this.dquery.SCID = this.selectedServiceCenter;\r\n //this.pService.start();\r\n this.getDataList();\r\n }\r\n\r\n filterChangedDepartment() {\r\n this.dquery.DID = this.selectedDept;\r\n //this.pService.start();\r\n this.getDataList();\r\n }\r\n\r\n periodChanged(): void {\r\n //this.pService.start();\r\n console.log(\"periodchange \", this.dquery.Period);\r\n if (this.dquery.Period === 'f') {\r\n this.dquery.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.dquery.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n this.getDataList();\r\n\r\n } else this.getDataList();\r\n\r\n }\r\n\r\n onSelectDate(): void {\r\n this.getDataList();\r\n }\r\n\r\n exportToCSV() {\r\n this.dquery.SearchText = this.search;\r\n this.httpservice.postData('api/exporttechniciandashboard', this.dquery).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n this.httpservice.DirectLocToWindow(\"techniciandashboard\");\r\n }\r\n );\r\n }\r\n\r\n cellClickTotal(colfield, count , scenter) {\r\n if (this.search || count === 0) return;\r\n this.joblistnewqry.departmentId = this.dquery.DID;\r\n this.joblistnewqry.servicecenterId = scenter.ScID;\r\n this.joblistnewqry.servicetypeId = null;\r\n this.joblistnewqry.period = this.dquery.Period;\r\n this.joblistnewqry.fromdate = this.dquery.FromDate;\r\n this.joblistnewqry.todate = this.dquery.ToDate;\r\n this.joblistnewqry.noTaken = true;\r\n this.joblistnewqry.noSDone = true;\r\n this.joblistnewqry.jat = null;\r\n \r\n switch (colfield) {\r\n case 'WaitPart': {\r\n this.joblistnewqry.jobstatusId = 15;\r\n this.title = 'Job Detail List (WaitPart)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WorkInProgress': {\r\n this.joblistnewqry.jobstatusId = 5;\r\n this.title = 'Job Detail List (WorkInProgress)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitingCustomerReply': {\r\n this.joblistnewqry.jobstatusId = 7;\r\n this.title = 'Job Detail List (WaitingCustomerReply)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Warranty': {\r\n this.joblistnewqry.jobstatusId = 6;\r\n this.title = 'Job Detail List (Warranty)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'CancelCustomer': {\r\n this.joblistnewqry.jobstatusId = 18;\r\n this.title = 'Job Detail List (CancelCustomer)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Irreparable': {\r\n this.joblistnewqry.jobstatusId = 10;\r\n this.title = 'Job Detail List (Unable to repair)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'SDone': {\r\n this.joblistnewqry.jobstatusId = 2;\r\n //this.joblistnewqry.noSDone = \r\n this.title = 'Job Detail List (Service Manager Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'TDone': {\r\n this.joblistnewqry.jobstatusId = 3;\r\n this.title = 'Job Detail List (Technical Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Taken': {\r\n this.joblistnewqry.jobstatusId = 4;\r\n this.title = 'Job Detail List (Taken)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'FOC': {\r\n this.joblistnewqry.jobstatusId = 8;\r\n this.title = 'Job Detail List (FOC)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Irreparable2': {\r\n this.joblistnewqry.jobstatusId = 110; //custom value\r\n this.title = 'Job Detail List (Unable to repair)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'CancelCustomer2': {\r\n this.joblistnewqry.jobstatusId = 118;//custom value\r\n this.title = 'Job Detail List (CancelCustomer)';\r\n this.isJobDetailList = true; \r\n break;\r\n }\r\n case 'Total': {\r\n this.joblistnewqry.noTaken = false;\r\n this.joblistnewqry.noSDone = false;\r\n this.joblistnewqry.jobstatusId = 20;//custom value\r\n this.title = 'Job Detail List (Total)';\r\n this.isJobDetailList = true; \r\n break;\r\n }\r\n\r\n }\r\n this.jobDetailListModal.open();\r\n }\r\n\r\n cellClick(colfield, rdata, scenter) {\r\n if (rdata === null || rdata === undefined || rdata[colfield] === 0) return;\r\n this.joblistnewqry.departmentId = null;\r\n this.joblistnewqry.servicecenterId = scenter.ScID;\r\n this.joblistnewqry.servicetypeId = null;\r\n this.joblistnewqry.period = this.dquery.Period;\r\n this.joblistnewqry.fromdate = this.dquery.FromDate;\r\n this.joblistnewqry.todate = this.dquery.ToDate;\r\n this.joblistnewqry.noTaken = true;\r\n this.joblistnewqry.noSDone = true;\r\n this.joblistnewqry.jat = rdata.UN;\r\n \r\n switch (colfield) {\r\n case 'WaitPart': {\r\n this.joblistnewqry.jobstatusId = 15;\r\n this.title = 'Job Detail List (WaitPart)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WorkInProgress': {\r\n this.joblistnewqry.jobstatusId = 5;\r\n this.title = 'Job Detail List (WorkInProgress)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitingCustomerReply': {\r\n this.joblistnewqry.jobstatusId = 7;\r\n this.title = 'Job Detail List (WaitingCustomerReply)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Warranty': {\r\n this.joblistnewqry.jobstatusId = 6;\r\n this.title = 'Job Detail List (Warranty)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'CancelCustomer': {\r\n this.joblistnewqry.jobstatusId = 18;\r\n this.title = 'Job Detail List (CancelCustomer)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Irreparable': {\r\n this.joblistnewqry.jobstatusId = 10;\r\n this.title = 'Job Detail List (Unable to repair)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'SDone': {\r\n this.joblistnewqry.jobstatusId = 2;\r\n //this.joblistnewqry.noSDone = \r\n this.title = 'Job Detail List (Service Manager Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'TDone': {\r\n this.joblistnewqry.jobstatusId = 3;\r\n this.title = 'Job Detail List (Technical Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Taken': {\r\n this.joblistnewqry.jobstatusId = 4;\r\n this.title = 'Job Detail List (Taken)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'FOC': {\r\n this.joblistnewqry.jobstatusId = 8;\r\n this.title = 'Job Detail List (FOC)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Irreparable2': {\r\n this.joblistnewqry.jobstatusId = 110; //custom value\r\n this.title = 'Job Detail List (Unable to repair)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'CancelCustomer2': {\r\n this.joblistnewqry.jobstatusId = 118;//custom value\r\n this.title = 'Job Detail List (CancelCustomer)';\r\n this.isJobDetailList = true; \r\n break;\r\n }\r\n case 'Total': {\r\n this.joblistnewqry.noTaken = false;\r\n this.joblistnewqry.noSDone = false;\r\n this.joblistnewqry.jobstatusId = 20;//custom value\r\n this.title = 'Job Detail List (Total)';\r\n this.isJobDetailList = true; \r\n break;\r\n }\r\n\r\n }\r\n this.jobDetailListModal.open();\r\n }\r\n\r\n jDListModalClose() {\r\n this.joblistnewqry = new JobListNewDeptQuery(null, null, null, null, 'a', this.dquery.FromDate, this.dquery.ToDate);\r\n this.title = '';\r\n this.isJobDetailList = false;\r\n this.jobDetailListModal.close();\r\n }\r\n\r\n jobInfosValue(jobinfos: any) {\r\n if (jobinfos == null || jobinfos == undefined) return; \r\n if (this.search == null || this.search == undefined) this.search = '';\r\n let filteredData = [];\r\n filteredData = jobinfos.filter(j => (j.Name ? j.Name.trim() : j.UN).toLowerCase().indexOf(this.search.toLowerCase().trim()) !== -1)\r\n this.filteredDataList = filteredData.map(a => Object.assign({}, a));\r\n return filteredData;\r\n }\r\n\r\n calculateTotal(propName: string, totalPropName: string, data: any) {\r\n if (this.search == \"\" || this.search == null || this.search == undefined) {\r\n return data[totalPropName];\r\n } else {\r\n let total = 0;\r\n if (this.filteredDataList != null && this.filteredDataList != undefined && this.filteredDataList.length > 0) {\r\n total = this.filteredDataList.map(a => a[propName]).reduce(function (a, b) {\r\n return a + b;\r\n });\r\n }\r\n\r\n return total;\r\n }\r\n }\r\n}","export class TechDashQuery {\r\n constructor(\r\n public PType?: any, \r\n public Period?: any,\r\n public FromDate?: any,\r\n public ToDate?: any,\r\n \r\n public SCID?: any, \r\n public DID?: any,\r\n ){}\r\n \r\n SearchText?: any;\r\n}","import { Component, OnInit, NgZone, OnDestroy, ViewChild } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport { LazyLoadEvent } from 'primeng/api';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { GlobalFunc } from '../service/globalfunction';\r\n\r\n//Model\r\nimport { TechReviewQuery } from './techreviewquery';\r\nimport { Job } from '../job/job';\r\nimport { MCB } from '../job/mcb';\r\nimport { LoginUser } from '../loginuser/loginuser';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n@Component({\r\n selector: 'i-techreview',\r\n templateUrl: './techreview.component.html'\r\n})\r\nexport class TechReviewCp implements OnInit, OnDestroy {\r\n\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n printMode: boolean = false;\r\n periods: SelectItem[];\r\n reviewlist: Job[] = [];\r\n query: TechReviewQuery;\r\n _listOfMon: MCB[] = [];\r\n loginUsers: LoginUser[] = [];\r\n users: SelectItem[];\r\n techStatus: SelectItem[];\r\n status: string = \"\";\r\n recheckCount: number = 0;\r\n\r\n sourcedata: any[] = [];\r\n totalRecords: number;\r\n toastkey = \"i-techreview\";\r\n\r\n luChanged: any;\r\n modelChanged: any;\r\n brandChanged: any;\r\n catChanged: any;\r\n\r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public router: Router, public auth: AuthService, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this.periods = [];\r\n this.periods = GlobalFunc.periodList();\r\n this.techStatusBind();\r\n this.query = new TechReviewQuery();\r\n\r\n this.luChanged = this._dataChanged.loginUserChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"loginuser\") {\r\n this.afterBroadCastEvent(sRobj, this.loginUsers, 'UN');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.modelChanged = this._dataChanged.modelChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"model\") {\r\n this.GetMcbInBroadcast();\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.brandChanged = this._dataChanged.brandChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"brand\") {\r\n this.GetMcbInBroadcast();\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.catChanged = this._dataChanged.categoryChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"category\") {\r\n this.GetMcbInBroadcast();\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.query.TStat = 'a';\r\n this.query.Period = 'a';\r\n this.defaultDateTime();\r\n\r\n this.GetRequiredData().then(exp => {\r\n if (exp) {\r\n this.Search();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.periods = this.reviewlist = this.query = this._listOfMon = this.loginUsers = this.users = this.techStatus = this.sourcedata = undefined;\r\n\r\n if (this.luChanged != undefined) this.luChanged.unsubscribe();\r\n if (this.modelChanged != undefined) this.modelChanged.unsubscribe();\r\n if (this.brandChanged != undefined) this.brandChanged.unsubscribe();\r\n if (this.catChanged != undefined) this.catChanged.unsubscribe();\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let luList: any = [];\r\n let mcbList: any = [];\r\n this.httpService.getDataFJ(['api/loginuser', 'api/job/getmcb']).subscribe(\r\n data => {\r\n luList = data[0];\r\n mcbList = data[1];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (luList) {\r\n this.loginUsers = luList.map(lu => Object.assign({}, lu));\r\n this.setLoginUserData(this.loginUsers);\r\n }\r\n\r\n if (mcbList) {\r\n this._listOfMon = mcbList.map(m => Object.assign({}, m));\r\n }\r\n\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n GetMcbInBroadcast() {\r\n let mcbList = [];\r\n this.httpService.getData('api/job/getmcb').subscribe(\r\n data => { mcbList = data || []; },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this._listOfMon = mcbList.map(m => Object.assign({}, m));\r\n }\r\n );\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"loginuser\") {\r\n\r\n this.httpService.getData('api/loginuser').subscribe(\r\n data => { this.loginUsers = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setLoginUserData(this.loginUsers); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n }else if (objData.ObjType.toLowerCase() === \"model\" || objData.ObjType.toLowerCase() === \"brand\" || objData.ObjType.toLowerCase() === \"category\") {\r\n this.GetMcbInBroadcast();\r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"loginuser\") {\r\n this.setLoginUserData(dataList);\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n\r\n setLoginUserData(dataList: LoginUser[]) {\r\n this.users = [];\r\n this.users.push({ value: null, label: \"Select technician\" });\r\n if (dataList) {\r\n dataList.map(lu => {\r\n if (lu.UT === 'Service Technician') {\r\n if (this.auth.DID) {\r\n if (lu.DID === this.auth.DID) {\r\n this.users.push({ value: lu.UN, label: lu.Name });\r\n }\r\n } else {\r\n this.users.push({ value: lu.UN, label: lu.Name });\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n getmcbName(moid: number): string {\r\n if (this._listOfMon == undefined) return \"\";\r\n for (let obj of this._listOfMon) {\r\n if (obj.MoID == moid) {\r\n return obj.MoN + \" / \" + obj.CatN + \" / \" + obj.BN;\r\n }\r\n }\r\n }\r\n\r\n techStatusBind() {\r\n this.techStatus = [];\r\n this.techStatus.push({ value: 'a', label: \"Work In Progress\" });\r\n this.techStatus.push({ value: 'd', label: \"Done\" });\r\n this.techStatus.push({ value: 'e', label: \"Unable to repair\" });\r\n }\r\n\r\n printjob(): void {\r\n window.print();\r\n }\r\n\r\n Search(): void {\r\n if (this.query && this.query.FromDate && this.query.ToDate) {\r\n this.reviewlist = [];\r\n if (this.query.TStat == 'a') this.status = \"Work In Progress\";\r\n else if (this.query.TStat == 'd') this.status = \"Done\";\r\n else this.status = \"Unable to repair\";\r\n\r\n this.recheckCount = 0;\r\n\r\n this.httpService.postData('api/get/techreview', this.query).subscribe(\r\n data => {\r\n //this.reviewlist = data;\r\n this.sourcedata = data;\r\n this.totalRecords = this.sourcedata.length;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (this.sourcedata != undefined) {\r\n for (let review of this.sourcedata) {\r\n if (review.MoID != undefined) {\r\n review.MoN = this.getmcbName(review.MoID);\r\n this.recheckCount += review.RCC;\r\n }\r\n }\r\n }\r\n // this.reviewlist = this.sourcedata.slice(0, 20);\r\n this.reviewlist = this.sourcedata.map(a => Object.assign({}, a));\r\n });\r\n }\r\n }\r\n\r\n loadLazy(event: LazyLoadEvent) {\r\n setTimeout(() => {\r\n if (this.sourcedata) {\r\n this.reviewlist = this.sourcedata.slice(event.first, (event.first + event.rows));\r\n }\r\n }, 250);\r\n }\r\n\r\n usersChanged() {\r\n this.Search();\r\n }\r\n\r\n valueChanged(): void {\r\n this.status = \"\";\r\n this.Search();\r\n }\r\n\r\n periodChange(): void {\r\n this.defaultDateTime();\r\n this.Search();\r\n }\r\n\r\n datesChange() {\r\n this.Search();\r\n }\r\n\r\n defaultDateTime() {\r\n this.query.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.query.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/get/techreview/export', this.query).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/techreview.csv';\r\n this.httpService.DirectLocToWindow(\"techreview\");\r\n }\r\n );\r\n }\r\n}","export class TechReviewQuery {\r\n constructor(public UN?, public TStat?, public Period?, public FromDate?, public ToDate?) { }\r\n}","import { Component, OnInit, OnDestroy, ViewChild, NgZone } from '@angular/core';\r\n\r\n// Thrid Library\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\n\r\n//Service\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\nimport { HttpServices } from '../service/httpservices';\r\n\r\n//Model\r\nimport { DashQuery } from '../dashboard/dashquery';\r\nimport { JobListNewQuery } from '../joblistnew/joblistnewquery';\r\n\r\n@Component({\r\n selector: 'ground-dashboard',\r\n templateUrl: './total-dashboard.component.html'\r\n})\r\n\r\nexport class TotalDashboardCP implements OnInit, OnDestroy {\r\n @ViewChild('jobDetailListModal', { static: false }) jobDetailListModal: BsModalComponent;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n public dquery: DashQuery;\r\n public filteredDataList: any[] = [];//to calculate total\r\n public dataList: any[];\r\n public srObjT: any;\r\n public srObjSM: any;\r\n public joblistnewqry: JobListNewQuery;\r\n public title: string = '';\r\n public isJobDetailList: boolean = false;\r\n public search: string = '';\r\n public srObjJ: any;\r\n public toastkey = \"ground-dashboard\";\r\n\r\n constructor(private pService: NgProgressService ,public httpservice: HttpServices, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n this.dquery = new DashQuery();\r\n this.dquery.PType = 'st';\r\n this.dquery.Period = 'e';\r\n this.dquery.Selected = null;\r\n this.dquery.SCID = null;\r\n this.dquery.STID = null;\r\n this.dquery.DID = null;\r\n this.dquery.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.dquery.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n this.dquery.SearchText = '';\r\n\r\n this.joblistnewqry = new JobListNewQuery(null, null, null, null, 'a', this.dquery.FromDate, this.dquery.ToDate);\r\n\r\n // this.srObjT = this._dataChanged.jobTStatusChanged.subscribe(\r\n // srDataT => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // );\r\n\r\n // this.srObjSM = this._dataChanged.jobSmStatusChanged.subscribe(\r\n // srDataSM => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // );\r\n\r\n // this.srObjJ = this._dataChanged.jobChanged.subscribe(\r\n // srData => { this._ngZone.run(() => { this.getDataList(); }) },\r\n // err => {\r\n // this.httpservice.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n // this.pService.done();\r\n // },\r\n // () => { }\r\n // ); \r\n }\r\n\r\n ngOnInit() {\r\n \r\n this.getDataList();\r\n };\r\n\r\n ngOnDestroy() {\r\n this.dquery =\r\n this.dataList =\r\n this.joblistnewqry =\r\n this.dquery = undefined;\r\n if (this.srObjT !== undefined) this.srObjT.unsubscribe();\r\n if (this.srObjSM !== undefined) this.srObjSM.unsubscribe();\r\n if (this.srObjJ !== undefined) this.srObjJ.unsubscribe();\r\n }\r\n\r\n refresh(){\r\n this.pService.start();\r\n this.getDataList();\r\n }\r\n\r\n getDataList(): void {\r\n if (this.dquery) {\r\n this.httpservice.getData('api/totaldashboard').subscribe(\r\n exp => {\r\n this.dataList = exp;\r\n },\r\n err => {\r\n this.httpservice.showToast(this.toastkey, 'error', err); \r\n this.pService.done();\r\n },\r\n () => {\r\n this.pService.done();\r\n });\r\n } else {\r\n this.pService.done();\r\n }\r\n }\r\n\r\n periodChanged(): void {\r\n if (this.dquery.Period === 'f') {\r\n this.dquery.FromDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 0, 0, 0, 0);\r\n this.dquery.ToDate = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), 23, 59, 59, 60);\r\n this.getDataList();\r\n\r\n } else this.getDataList();\r\n\r\n }\r\n\r\n onSelectDate(): void {\r\n this.getDataList();\r\n }\r\n\r\n exportToCSV() {\r\n this.dquery.SearchText = this.search;\r\n this.httpservice.postData('api/exporttotaldashboard', this.dquery).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n // window.location.href = this.httpservice._url + 'excel/totaldashboard.csv';\r\n //window.location.href = 'http://linnservice.com/totaldashboard.csv';\r\n //window.location.href = 'http://localhost:48598/dashboardjobs.csv';\r\n this.httpservice.DirectLocToWindow(\"totaldashboard\");\r\n }\r\n );\r\n }\r\n\r\n cellClickTotal(colfield, count , scenter) {\r\n if (this.search || count === 0) return;\r\n this.joblistnewqry.departmentId = null;//rdata.DID;\r\n this.joblistnewqry.servicecenterId = scenter.ScID;\r\n this.joblistnewqry.servicetypeId =null;\r\n this.joblistnewqry.period = this.dquery.Period;\r\n this.joblistnewqry.fromdate = this.dquery.FromDate;\r\n this.joblistnewqry.todate = this.dquery.ToDate;\r\n switch (colfield) {\r\n case 'Irreparable': {\r\n this.joblistnewqry.jobstatusId = 10; // Status 1\r\n this.title = 'Job Detail List (Irreparable)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WPYGN': {\r\n this.joblistnewqry.jobstatusId = 13; // Status 2\r\n this.title = 'Job Detail List (WP YGN)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WPMDY': {\r\n this.joblistnewqry.jobstatusId = 14; // Status 3\r\n this.title = 'Job Detail List (WP MDY)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitPart': {\r\n this.joblistnewqry.jobstatusId = 15; // Status 4\r\n this.title = 'Job Detail List (Wait Part)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WP': {\r\n this.joblistnewqry.jobstatusId = 5; // Status 5\r\n this.title = 'Job Detail List (WP)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitingCustomerReply': {\r\n this.joblistnewqry.jobstatusId = 7; // Status 4\r\n this.title = 'Job Detail List (Waiting Customer Reply)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n // case 'PartDone': {\r\n // this.joblistnewqry.jobstatusId = 16; // Status 6\r\n // this.title = 'Job Detail List (Part Done)';\r\n // this.isJobDetailList = true;\r\n // break;\r\n // }\r\n case 'TDone': {\r\n this.joblistnewqry.jobstatusId = 3; // Status 7\r\n this.title = 'Job Detail List (Technical Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'SDone': {\r\n this.joblistnewqry.jobstatusId = 2; // Status 8\r\n this.title = 'Job Detail List (Service Manager Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Warranty': {\r\n this.joblistnewqry.jobstatusId = 6; // Status 9\r\n this.title = 'Job Detail List (Warranty)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'CancelCustomer': {\r\n this.joblistnewqry.jobstatusId = 18; // Status 18 for api/totaljoblistdetail\r\n this.title = 'Job Detail List (Customer Cancel)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Total': { \r\n this.joblistnewqry.jobstatusId = 20; // 20 to 12 Status for api/totaljoblistdetail for \r\n this.title = 'Job Detail List (Total)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n }\r\n this.jobDetailListModal.open();\r\n }\r\n\r\n cellClick(colfield, rdata, scenter) {\r\n if (rdata === null || rdata === undefined || rdata[colfield] === 0) return;\r\n this.joblistnewqry.departmentId = null;//rdata.DID;\r\n this.joblistnewqry.servicecenterId = scenter.ScID;\r\n this.joblistnewqry.servicetypeId = rdata.STID;\r\n this.joblistnewqry.period = this.dquery.Period;\r\n this.joblistnewqry.fromdate = this.dquery.FromDate;\r\n this.joblistnewqry.todate = this.dquery.ToDate;\r\n switch (colfield) {\r\n case 'Irreparable': {\r\n this.joblistnewqry.jobstatusId = 10; // Status 1\r\n this.title = 'Job Detail List (Irreparable)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WPYGN': {\r\n this.joblistnewqry.jobstatusId = 13; // Status 2\r\n this.title = 'Job Detail List (WP YGN)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WPMDY': {\r\n this.joblistnewqry.jobstatusId = 14; // Status 3\r\n this.title = 'Job Detail List (WP MDY)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitPart': {\r\n this.joblistnewqry.jobstatusId = 15; // Status 4\r\n this.title = 'Job Detail List (Wait Part)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WP': {\r\n this.joblistnewqry.jobstatusId = 5; // Status 5\r\n this.title = 'Job Detail List (WP)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'WaitingCustomerReply': {\r\n this.joblistnewqry.jobstatusId = 7; // Status 4\r\n this.title = 'Job Detail List (Waiting Customer Reply)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n // case 'PartDone': {\r\n // this.joblistnewqry.jobstatusId = 16; // Status 6\r\n // this.title = 'Job Detail List (Part Done)';\r\n // this.isJobDetailList = true;\r\n // break;\r\n // }\r\n case 'TDone': {\r\n this.joblistnewqry.jobstatusId = 3; // Status 7\r\n this.title = 'Job Detail List (Technical Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'SDone': {\r\n this.joblistnewqry.jobstatusId = 2; // Status 8\r\n this.title = 'Job Detail List (Service Manager Done)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Warranty': {\r\n this.joblistnewqry.jobstatusId = 6; // Status 9\r\n this.title = 'Job Detail List (Warranty)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'CancelCustomer': {\r\n this.joblistnewqry.jobstatusId = 18; // Status 18 for api/totaljoblistdetail\r\n this.title = 'Job Detail List (Customer Cancel)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n case 'Total': { \r\n this.joblistnewqry.jobstatusId = 20; // 20 to 12 Status for api/totaljoblistdetail for \r\n this.title = 'Job Detail List (Total)';\r\n this.isJobDetailList = true;\r\n break;\r\n }\r\n }\r\n this.jobDetailListModal.open();\r\n }\r\n\r\n jDListModalClose() {\r\n this.joblistnewqry = new JobListNewQuery(null, null, null, null, 'a', this.dquery.FromDate, this.dquery.ToDate);\r\n this.title = '';\r\n this.isJobDetailList = false;\r\n this.jobDetailListModal.close();\r\n }\r\n\r\n totalDashInfosValue(dashinfos: any) {\r\n if (dashinfos == null || dashinfos == undefined) return;\r\n\r\n if (this.search == null || this.search == undefined) this.search = '';\r\n let filteredData = [];\r\n filteredData = dashinfos.filter(j => (j.STN.trim()).toLowerCase().indexOf(this.search.toLowerCase().trim()) !== -1)\r\n this.filteredDataList = filteredData.map(a=> Object.assign({},a));\r\n return filteredData;\r\n }\r\n\r\n calculateTotal(propName:string, totalPropName:string, data: any){\r\n if(this.search == \"\" || this.search == null || this.search == undefined){\r\n return data[totalPropName];\r\n }else{\r\n let total = 0;\r\n if(this.filteredDataList!= null && this.filteredDataList != undefined && this.filteredDataList.length > 0){\r\n total = this.filteredDataList.map(a => a[propName]).reduce(function(a, b)\r\n {\r\n return a + b;\r\n });\r\n }\r\n return total;\r\n }\r\n }\r\n}","import { Component, OnInit, ViewChild, NgZone, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators, FormControl } from '@angular/forms';\r\n\r\n// Thrid Library\r\nimport { SelectItem } from 'primeng/api';\r\nimport { BsModalComponent } from 'ng2-bs3-modal';\r\nimport {NgProgressService} from \"ng2-progressbar\";\r\nimport { DataChangedEvent } from '../service/datachangedevent';\r\n\r\n//Service\r\nimport { HttpServices } from '../service/httpservices';\r\nimport { AuthService } from '../service/authservice';\r\n\r\n//Model\r\nimport { JobViewModel } from '../joblist/jobviewmodel';\r\nimport { WarrantyListQuery } from './wrrantylistquery';\r\nimport { Department } from '../department/department';\r\nimport { LoginUser } from '../loginuser/loginuser';\r\nimport { Model } from '../model/model';\r\nimport { Job } from '../job/job';\r\nimport { ServiceCenter } from '../servicecenter/servicecenter';\r\n\r\n@Component({\r\n selector: 'i-warranty',\r\n templateUrl: './warranty.component.html'\r\n})\r\nexport class WarrantyCP implements OnInit, OnDestroy {\r\n @ViewChild('entryModal', { static: false }) entryModal: BsModalComponent;\r\n jvm: JobViewModel[] = [];\r\n wForm: FormGroup;\r\n printMode: boolean = false;\r\n _loginUsers: LoginUser[];\r\n\r\n _departments: Department[];\r\n departmentlist: SelectItem[] = [];\r\n\r\n _models: Model[];\r\n modelslist: SelectItem[];\r\n\r\n serviceCenters: ServiceCenter[] = [];\r\n servicecenterlist: SelectItem[] = [];\r\n\r\n warrantyListQuery: WarrantyListQuery = new WarrantyListQuery(false, new Date(), new Date(), 1, -1, null);\r\n warrantyOptions = [{ label: 'Show all NOT delivered', value: 1 },\r\n { label: 'Show all NOT arrived', value: 2 },\r\n { label: 'Search by Check-In date', value: 3 },\r\n { label: 'Search by Appointment date', value: 4 },\r\n { label: 'Search by Delivered date', value: 5 },\r\n { label: 'Search by Arrived date', value: 6 }];\r\n\r\n suppliers = [];\r\n filteredSuppN: any[];\r\n samo: number = 0;\r\n pamo: number = 0;\r\n tamo: number = 0;\r\n wsdtIsNull: boolean = false;\r\n sourcedata: any[] = [];\r\n totalRecords: number;\r\n toastkey = \"i-warranty\";\r\n\r\n depChanged: any;\r\n luChanged: any;\r\n scChanged: any;\r\n jscChanged: any;\r\n jobChanged: any;\r\n jtstChanged: any;\r\n jsmstChanged: any;\r\n //@ViewChild(NgProgressComponent) pService: NgProgressComponent;\r\n \r\n constructor(private pService: NgProgressService ,public httpService: HttpServices, public fb: FormBuilder, public auth: AuthService, public _dataChanged: DataChangedEvent, public _ngZone: NgZone) {\r\n this.pService.start();\r\n\r\n this.CreateForm();\r\n\r\n this.depChanged = this._dataChanged.departmentChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"department\") {\r\n this.afterBroadCastEvent(sRobj, this._departments, 'DID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.luChanged = this._dataChanged.loginUserChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"loginuser\") {\r\n this.afterBroadCastEvent(sRobj, this._loginUsers, 'UN');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.scChanged = this._dataChanged.serviceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.ObjType) {\r\n this._ngZone.run(() => {\r\n if (sRobj.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.afterBroadCastEvent(sRobj, this.serviceCenters, 'ScID');\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.jscChanged = this._dataChanged.jobServiceCenterChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.Obj && (sRobj.Obj.ScID === this.warrantyListQuery.ScID || this.warrantyListQuery.ScID === -1) && (sRobj.Obj.DID === this.warrantyListQuery.DID || !this.warrantyListQuery.DID)) {\r\n this._ngZone.run(() => {\r\n this.GetData();\r\n });\r\n }\r\n });\r\n\r\n this.jobChanged = this._dataChanged.jobChanged.subscribe((sRobj) => {\r\n if (sRobj) {\r\n if (sRobj.Msg === 'deleted' && sRobj.Value2 && sRobj.Value2.ScID === this.auth.ScID && (sRobj.Value2.ScID === this.warrantyListQuery.ScID || this.warrantyListQuery.ScID === -1) && (sRobj.Value2.DID === this.warrantyListQuery.DID || !this.warrantyListQuery.DID)) {\r\n this._ngZone.run(() => {\r\n this.GetData();\r\n });\r\n }\r\n else if (sRobj.Obj && this.auth.ScID === sRobj.Obj.ScID && (sRobj.Obj.ScID === this.warrantyListQuery.ScID || this.warrantyListQuery.ScID === -1) && (sRobj.Obj.DID === this.warrantyListQuery.DID || !this.warrantyListQuery.DID)) {\r\n this._ngZone.run(() => {\r\n this.GetData();\r\n });\r\n }\r\n }\r\n });\r\n\r\n this.jtstChanged = this._dataChanged.jobTStatusChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.Value2 && sRobj.Value2.ScID === this.auth.ScID && (sRobj.Value2.ScID === this.warrantyListQuery.ScID || this.warrantyListQuery.ScID === -1) && (sRobj.Value2.DID === this.warrantyListQuery.DID || !this.warrantyListQuery.DID)) {\r\n this._ngZone.run(() => {\r\n this.GetData();\r\n });\r\n }\r\n });\r\n\r\n this.jsmstChanged = this._dataChanged.jobSmStatusChanged.subscribe((sRobj) => {\r\n if (sRobj && sRobj.Value2 && sRobj.Value2.ScID === this.auth.ScID && (sRobj.Value2.ScID === this.warrantyListQuery.ScID || this.warrantyListQuery.ScID === -1) && (sRobj.Value2.DID === this.warrantyListQuery.DID || !this.warrantyListQuery.DID)) {\r\n this._ngZone.run(() => {\r\n this.GetData();\r\n });\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.GetRequiredData().then(exp => {\r\n if (exp) {\r\n this.Get_Suppliers();\r\n this.GetData(); // new\r\n }\r\n });\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n\r\n this.jvm = this.wForm = this._loginUsers = this._departments = this.departmentlist = this._models =\r\n this.modelslist = this.serviceCenters = this.servicecenterlist = this.warrantyListQuery = this.warrantyOptions = this.suppliers = this.filteredSuppN =\r\n this.sourcedata = undefined;\r\n\r\n if (this.depChanged != undefined) this.depChanged.unsubscribe();\r\n if (this.luChanged != undefined) this.luChanged.unsubscribe();\r\n if (this.scChanged != undefined) this.scChanged.unsubscribe();\r\n if (this.jscChanged != undefined) this.jscChanged.unsubscribe();\r\n if (this.jobChanged != undefined) this.jobChanged.unsubscribe();\r\n if (this.jtstChanged != undefined) this.jtstChanged.unsubscribe();\r\n if (this.jsmstChanged != undefined) this.jsmstChanged.unsubscribe();\r\n\r\n }\r\n\r\n CreateForm(): void {\r\n this.wForm = this.fb.group({\r\n 'JID': new FormControl(0),\r\n 'WSDT': new FormControl(),\r\n 'WADT': new FormControl(),\r\n 'WR': new FormControl(''),\r\n 'SuppN': new FormControl()\r\n });\r\n }\r\n\r\n GetRequiredData(): Promise {\r\n return new Promise((resolve) => {\r\n let depList: any = [];\r\n let luList: any = [];\r\n let scList: any = [];\r\n this.httpService.getDataFJ(['api/department', 'api/loginuser', 'api/servicecenter']).subscribe(\r\n data => {\r\n depList = data[0];\r\n luList = data[1];\r\n scList = data[2];\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done();\r\n resolve(false);\r\n },\r\n () => {\r\n if (depList) {\r\n this._departments = depList.map(d => Object.assign({}, d));\r\n this.setDepartmentData(this._departments);\r\n }\r\n\r\n if (luList) {\r\n this._loginUsers = luList.map(lu => Object.assign({}, lu));\r\n }\r\n\r\n if (scList) {\r\n this.serviceCenters = scList.map(sc => Object.assign({}, sc));\r\n this.setServiceCenterData(this.serviceCenters);\r\n }\r\n this.pService.done();\r\n resolve(true);\r\n }\r\n );\r\n });\r\n }\r\n\r\n GetData() {\r\n this.httpService.postData('api/jobwarranty', this.warrantyListQuery).subscribe(\r\n data => {\r\n this.sourcedata = data;\r\n this.totalRecords = this.sourcedata.length;\r\n this.jvm = this.sourcedata;\r\n },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading mcb from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n if (this.sourcedata != undefined) {\r\n if (this.sourcedata.length > 0) {\r\n for (let wrty of this.sourcedata) {\r\n wrty.Name = this.getLoginUserName(wrty.JCUN);\r\n }\r\n this.jvm = this.sourcedata.map(a => Object.assign({}, a));\r\n }\r\n else {\r\n this.httpService.showToast(this.toastkey, 'warn', 'There is no warranty !');\r\n }\r\n }\r\n });\r\n }\r\n\r\n Get_Suppliers(): void {\r\n let temp = [];\r\n this.httpService.getData('api/getSuppliers').subscribe(\r\n data => temp = data,\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading service type from server!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.suppliers = [];\r\n this.suppliers.push({ label: 'Select Suppliers', value: null });\r\n if (temp == undefined) return;\r\n temp.forEach(x => { this.suppliers.push({ label: x.ID, value: x.ID }) })\r\n }\r\n );\r\n }\r\n\r\n afterBroadCastEvent(objData, dataList, id) {\r\n if (objData && objData.Obj && dataList) {\r\n let ind = dataList.findIndex(temp => temp[id] === objData.Obj[id]);\r\n if (objData.Msg === 'deleted') {\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n\r\n this.httpService.getData('api/department').subscribe(\r\n data => { this._departments = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { this.setDepartmentData(this._departments); \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n\r\n this.httpService.getData('api/servicecenter').subscribe(\r\n data => { this.serviceCenters = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!');\r\n this.pService.done(); \r\n },\r\n () => { this.setServiceCenterData(this.serviceCenters); \r\n \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n } else if (objData.ObjType.toLowerCase() === \"loginuser\") {\r\n\r\n this.httpService.getData('api/loginuser').subscribe(\r\n data => { this._loginUsers = data || []; },\r\n err => { this.httpService.showToast(this.toastkey, 'error', 'Error occurs while loading data from server!'); \r\n this.pService.done(); \r\n },\r\n () => { \r\n this.pService.done(); \r\n }\r\n );\r\n\r\n }\r\n }\r\n else {\r\n if (ind >= 0) dataList[ind] = objData.Obj;\r\n else dataList.unshift(objData.Obj);\r\n\r\n if (objData.ObjType.toLowerCase() === \"department\") {\r\n this.setDepartmentData(dataList);\r\n } else if (objData.ObjType.toLowerCase() === \"servicecenter\") {\r\n this.setServiceCenterData(dataList);\r\n }\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n setDepartmentData(dataList: Department[]) {\r\n this.departmentlist = [];\r\n this.departmentlist.push({ label: '- Select Department -', value: null });\r\n if (dataList) {\r\n dataList.map(dep => this.departmentlist.push({ label: dep.DN, value: dep.DID }));\r\n }\r\n }\r\n\r\n setServiceCenterData(dataList: ServiceCenter[]) {\r\n this.servicecenterlist = [];\r\n this.servicecenterlist.push({ label: 'Select service center', value: -1 });\r\n if (dataList) {\r\n dataList.map(x => this.servicecenterlist.push({ label: x.ScN, value: x.ScID }));\r\n }\r\n }\r\n\r\n openEntryModal(jv: JobViewModel): void {\r\n this.wForm.patchValue({\r\n JID: jv.JID,\r\n WSDT: jv.WSDT != null ? new Date(jv.WSDT) : null,\r\n WADT: jv.WADT != null ? new Date(jv.WADT) : null,\r\n WR: jv.WR,\r\n SuppN: jv.SuppN\r\n });\r\n var index = this.findByIndexJvm(jv.JID);\r\n this.samo = this.jvm[index].SAmo;\r\n this.pamo = this.jvm[index].PAmo;\r\n this.tamo = this.jvm[index].TAmo;\r\n\r\n if (jv.WSDT == null) this.wsdtIsNull = true;\r\n else this.wsdtIsNull = false;\r\n\r\n this.entryModal.open();\r\n }\r\n\r\n findByIndexJvm(jid): number {\r\n for (var _index in this.jvm) {\r\n if (this.jvm[_index].JID === jid) {\r\n return parseInt(_index);\r\n }\r\n }\r\n }\r\n\r\n save(): void {\r\n if (this.wForm.controls['JID'].value != null) {\r\n let job = new Job();\r\n job.JID = this.wForm.controls['JID'].value;\r\n job.WSDT = this.wForm.controls['WSDT'].value;\r\n job.WADT = this.wForm.controls['WADT'].value;\r\n job.WR = this.wForm.controls['WR'].value;\r\n job.SuppN = this.wForm.controls['SuppN'].value;\r\n job.SAmo = this.samo;\r\n job.PAmo = this.pamo;\r\n job.TAmo = this.tamo;\r\n job.DeviceID = '';\r\n\r\n this.httpService.postData('api/job/jobwarranty', job).\r\n subscribe(\r\n data => { },\r\n err => {\r\n this.httpService.showToast(this.toastkey, 'error', 'Error occurs while updating data!');\r\n this.pService.done();\r\n },\r\n () => {\r\n this.httpService.showToast(this.toastkey, 'success', 'Save successfully!');\r\n var index = this.findByIndexJvm(job.JID);\r\n if (job.WSDT != \"\")\r\n this.jvm[index].WSDT = job.WSDT;\r\n else\r\n this.jvm[index].WSDT = null;\r\n\r\n if (job.WADT != \"\")\r\n this.jvm[index].WADT = job.WADT;\r\n else\r\n this.jvm[index].WADT = null;\r\n\r\n this.jvm[index].WR = job.WR;\r\n this.jvm[index].SuppN = job.SuppN;\r\n this.jvm[index].SAmo = job.SAmo;\r\n this.jvm[index].PAmo = job.PAmo;\r\n this.jvm[index].TAmo = job.TAmo;\r\n\r\n this.entryModal.close();\r\n });\r\n }\r\n }\r\n\r\n getLoginUserName(Name: string): string {\r\n if (this._loginUsers == undefined) return \"\";\r\n for (let obj of this._loginUsers) {\r\n if (obj.UN == Name) {\r\n return obj.Name;\r\n }\r\n }\r\n }\r\n\r\n onchangeWOptions(event): void {\r\n this.WrtyChange(event).then(x => { this.GetData() });\r\n }\r\n\r\n WrtyChange(event) {\r\n return new Promise((resolve, reject) => {\r\n if (event.value == 3 || event.value == 4 || event.value == 5 || event.value == 6)\r\n this.warrantyListQuery.ChkDate = true;\r\n else\r\n this.warrantyListQuery.ChkDate = false;\r\n\r\n this.warrantyListQuery.FromDate = new Date();\r\n this.warrantyListQuery.ToDate = new Date();\r\n\r\n this.warrantyListQuery.OptionValue = event.value;\r\n resolve(true);\r\n });\r\n }\r\n\r\n printjob(): void {\r\n window.print();\r\n }\r\n\r\n search(event): void {\r\n let query = event.query;\r\n this.filteredSuppN = [];\r\n for (let obj of this.suppliers) {\r\n let value = obj.label;\r\n if (value == null) return;\r\n if (value.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n this.filteredSuppN.push(value);\r\n }\r\n }\r\n }\r\n\r\n calculateAmount(): void {\r\n this.tamo = this.samo + this.pamo;\r\n }\r\n\r\n exportToCSV() {\r\n this.httpService.postData('api/jobwarranty/export', this.warrantyListQuery).subscribe(\r\n data => { },\r\n err => { },\r\n () => {\r\n //window.location.href = this.httpService._url + 'excel/jobwarranty.csv';\r\n this.httpService.DirectLocToWindow(\"jobwarranty\");\r\n }\r\n );\r\n }\r\n}","export class WarrantyListQuery {\r\n constructor(public ChkDate?, public FromDate?, public ToDate?, public OptionValue?, public ScID?, public DID?) { }\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"]}