{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/Description/description.component.html","./src/app/accessory/accessory.component.html","./src/app/accessory/accessorydialog.component.html","./src/app/adminjoblist/adminjoblist.component.html","./src/app/app.component.html","./src/app/app.profile.component.html","./src/app/app.topbar.html","./src/app/brand/brand.component.html","./src/app/category/category.component.html","./src/app/changedPassword/changedPassword-entry.html","./src/app/changedPassword/confirmPassword-entry.html","./src/app/customer/customer.component.html","./src/app/customer/customerdialog.component.html","./src/app/customertaken/customertaken.component.html","./src/app/customertaken/printcomp.html","./src/app/dashboard/dashboard.component.html","./src/app/dashboardsup/dashboardsupervisor.component.html","./src/app/dashboardsup/dashboardsupervisorview.component.html","./src/app/dashboardsup/jobdone.component.html","./src/app/dashboardsup/jobdoneprintview.component.html","./src/app/dashboardtech/dashboardtech.component.html","./src/app/dashboardtech/dashboardview.component.html","./src/app/department/department.component.html","./src/app/deviceid/deviceid.component.html","./src/app/external-login.html","./src/app/job/job.component.html","./src/app/job/jobpart.component.html","./src/app/job/jobphoto.component.html","./src/app/job/jobphotoview.component.html","./src/app/job/jobprintview.component.html","./src/app/joblist/joblist.component.html","./src/app/joblist/techjoblist.component.html","./src/app/joblist/techjoblist2.component.html","./src/app/joblistnew/joblistnew.component.html","./src/app/login/login.html","./src/app/loginuser/loginuser.component.html","./src/app/main-dashboard/main-dashboard.component.html","./src/app/messagetemplates/messagetemplate.component.html","./src/app/model/model.component.html","./src/app/model/modeldialog.component.html","./src/app/over7DayJobs/over7.component.html","./src/app/prepareresetpwd/prepareresetpwd.component.html","./src/app/saveresetpwd/saveresetpwd.component.html","./src/app/searchjob/searchjob.component.html","./src/app/servicecenter/servicecenter.component.html","./src/app/servicetype/servicetype.component.html","./src/app/stockadjustment/stockadjustmentlist.component.html","./src/app/stockbalance/stockbalance.component.html","./src/app/stockin/purchase-entry.component.html","./src/app/stockin/stockin.component.html","./src/app/stockin/stockindetail.component.html","./src/app/stockin/stockinlist.component.html","./src/app/stockitem/stockitem.component.html","./src/app/stockledger/stockledger.component.html","./src/app/stocktransfer/createstocktransfer.component.html","./src/app/stocktransfer/stocktransferdetail.component.html","./src/app/stocktransfer/transferlist.component.html","./src/app/takenlist/takenlist.component.html","./src/app/tech-dashboard/tech_dashboard.component.html","./src/app/techreview/techreview.component.html","./src/app/total-dashboard/total-dashboard.component.html","./src/app/warranty/warranty.component.html","./src/app/Description/description.component.ts","./src/app/Description/dropdownvalue.ts","./src/app/accessory/accessory.component.ts","./src/app/accessory/accessory.ts","./src/app/accessory/accessorydialog.component.ts","./src/app/adminjoblist/adminjoblist.component.ts","./src/app/adminjoblist/adminjoblistquery.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.footer.component.ts","./src/app/app.menu.component.ts","./src/app/app.module.ts","./src/app/app.profile.component.ts","./src/app/app.routes.ts","./src/app/app.topbar.component.ts","./src/app/appDirectives/appointmentNotiColor.directive.ts","./src/app/blank/blank.component.ts","./src/app/blank/blankwithparam.component.ts","./src/app/brand/brand.component.ts","./src/app/brand/brand.ts","./src/app/category/category.component.ts","./src/app/changedPassword/changedPassword-entry.component.ts","./src/app/changedPassword/confirmPassword-entry.component.ts","./src/app/customer/customer.component.ts","./src/app/customer/customer.ts","./src/app/customer/customerdialog.component.ts","./src/app/customertaken/customertaken.component.ts","./src/app/customertaken/jobvoucherprint.ts","./src/app/customertaken/printcomp.ts","./src/app/dashboard/dashboard.component.ts","./src/app/dashboard/dashquery.ts","./src/app/dashboardsup/animate.css","./src/app/dashboardsup/dashboardsupervisor.component.ts","./src/app/dashboardsup/dashboardsupervisorview.component.ts","./src/app/dashboardsup/jobdone.component.ts","./src/app/dashboardsup/jobdoneprintview.component.ts","./src/app/dashboardtech/dashboardtech.component.ts","./src/app/dashboardtech/dashboardview.component.ts","./src/app/department/department.component.ts","./src/app/deviceid/deviceid.component.ts","./src/app/external-login.cp.ts","./src/app/home/home.ts","./src/app/job/job.component.ts","./src/app/job/job.ts","./src/app/job/jobpart.component.ts","./src/app/job/jobphoto.component.ts","./src/app/job/jobphoto.ts","./src/app/job/jobphotoview.component.ts","./src/app/job/jobprintview.component.ts","./src/app/job/stockinhandstatus.ts","./src/app/joblist/joblist.component.ts","./src/app/joblist/joblistquery.ts","./src/app/joblist/jobviewmodel.ts","./src/app/joblist/techjoblist.component.ts","./src/app/joblist/techjoblist2.component.ts","./src/app/joblistnew/joblistnew.component.ts","./src/app/joblistnew/joblistnewDeptquery.ts","./src/app/joblistnew/joblistnewquery.ts","./src/app/log/log.component.ts","./src/app/login/login.ts","./src/app/loginuser/loginuser.component.ts","./src/app/loginuser/loginuser.ts","./src/app/main-dashboard/main-dashboard.component.ts","./src/app/messagetemplates/messagetemplate.component.ts","./src/app/messagetemplates/messagetemplate.ts","./src/app/model/model.component.ts","./src/app/model/model.ts","./src/app/model/modeldialog.component.ts","./src/app/over7DayJobs/over7.component.ts","./src/app/prepareresetpwd/prepareresetpwd.component.ts","./src/app/prepareresetpwd/prepareresetpwd.ts","./src/app/qrcodeown/qrcodeown.component.ts","./src/app/saveresetpwd/saveresetpwd.component.ts","./src/app/searchjob/searchjob.component.ts","./src/app/service/auth_guard/admin_role.ts","./src/app/service/auth_guard/assistance_manager_role.ts","./src/app/service/auth_guard/else_warranty_role.ts","./src/app/service/auth_guard/justlogin.ts","./src/app/service/auth_guard/operator_role.ts","./src/app/service/auth_guard/service_manager_role.ts","./src/app/service/auth_guard/service_tech_role.ts","./src/app/service/auth_guard/warranty_role.ts","./src/app/service/authservice.ts","./src/app/service/datachangedevent.ts","./src/app/service/globalfunction.ts","./src/app/service/httpservices.ts","./src/app/service/lFservice.ts","./src/app/service/signalrservice.ts","./src/app/servicecenter/servicecenter.component.ts","./src/app/servicetype/servicetype.component.ts","./src/app/servicetype/servicetype.ts","./src/app/stockadjustment/adjustmentlistquery.ts","./src/app/stockadjustment/stockadjustment.ts","./src/app/stockadjustment/stockadjustmentlist.component.ts","./src/app/stockbalance/stockbalance.component.ts","./src/app/stockin/purchase-entry.component.ts","./src/app/stockin/stockin.component.ts","./src/app/stockin/stockin.ts","./src/app/stockin/stockindetail.component.ts","./src/app/stockin/stockindetail.ts","./src/app/stockin/stockinlist.component.ts","./src/app/stockin/stockinlistquery.ts","./src/app/stockitem/stockitem.component.ts","./src/app/stockitem/stockitem.ts","./src/app/stockledger/stockledger.component.ts","./src/app/stockledger/stockledger.ts","./src/app/stocktransfer/createstocktransfer.component.ts","./src/app/stocktransfer/stocktransfer.ts","./src/app/stocktransfer/stocktransferdetail.component.ts","./src/app/stocktransfer/stocktransferdetail.ts","./src/app/stocktransfer/transferlist.component.ts","./src/app/stocktransfer/transferlistquery.ts","./src/app/takenlist/takenlist.component.ts","./src/app/takenlist/takenlistquery.ts","./src/app/tech-dashboard/tech_dashboard.component.ts","./src/app/tech-dashboard/techdashquery.ts","./src/app/techreview/techreview.component.ts","./src/app/techreview/techreviewquery.ts","./src/app/total-dashboard/total-dashboard.component.ts","./src/app/warranty/warranty.component.ts","./src/app/warranty/wrrantylistquery.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;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;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;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;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;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;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;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;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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B;AACjB;AACA;AACc;AACJ;AAE7D,uBAAuB;AACvB,sDAAsD;AACR;AACK;AAEnD,eAAe;AACuC;AACF;AACM;AACI;AAE9D,cAAc;AACgD;AACU;AACZ;AACZ;AACJ;AACK;AACZ;AACW;AACS;AACE;AACY;AACR;AACS;AACN;AACN;AACZ;AACY;AACA;AAClB;AACkB;AACN;AACQ;AACE;AACd;AACE;AACQ;AACD;AACa;AACA;AACI;AACQ;AAC3B;AAC2B;AACA;AACd;AACgB;AAC1B;AACG;AACD;AACR;AACY;AACA;AACC;AACK;AACC;AACR;AACR;AAEG;AACM;AACC;AACJ;AACa;AACG;AACM;AACR;AACE;AACtB;AAEzD,YAAY;AAC+C;AACE;AACoB;AACM;AACpB;AACQ;AACR;AACU;AAE7E,MAAM;AAC+D;AAEA;AAExB;AAG+B;AACR;AACuB;AACA;AACtB;IA8JxD,SAAS,SAAT,SAAS;IAClB;IAEA,CAAC;CACJ;;AAJY,SAAS;IA5JrB,8DAAQ,CAAC;QACN,OAAO,EAAE;YACL,iEAAgB;YAChB,uEAAa;YACb,0DAAW,EAAE,kEAAmB;YAChC,qDAAS;YACT,wDAAU,EAAC,qEAAgB;YAC3B,4FAAuB;YACvB,kEAAe;YACf,wEAAkB;YAClB,oEAAgB;YAChB,4DAAY;YACZ,gEAAc;YACd,gEAAc;YACd,0DAAW;YACX,gEAAc;YACd,0DAAW;YACX,8EAAqB;YACrB,0EAAmB;YACnB,eAAe;YACf,sEAAiB;YACjB,kBAAkB;YAClB,kBAAkB;YAClB,gEAAc;YACd,sBAAsB;YACtB,mBAAmB;YACnB,0DAAW;YACX,4DAAY;YACZ,gEAAc;YACd,gEAAc;YACd,4DAAY;YACZ,gEAAc;YACd,oEAAgB;YAChB,gEAAc;YACd,wDAAU;YACV,cAAc;YACd,0DAAW;YACX,kEAAe;YACf,sEAAiB;YACjB,kEAAe;YACf,0EAAmB;YACnB,gEAAc;YACd,8DAAa;YACb,gEAAc;YACd,wDAAU;YACV,8DAAa;YACb,gEAAc;YACd,sEAAiB;YACjB,kEAAe;YACf,wEAAkB;YAClB,kEAAe;YACf,0DAAW;YA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","file":"main-es2018.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"],"sourceRoot":"webpack:///"}