{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.effects.ts","webpack:///src/app/app.module.ts","webpack:///src/app/entity-metadata.ts","webpack:///src/app/helpers/index.ts","webpack:///src/app/helpers/tracking-teko.ts","webpack:///src/app/lib/check-number/check-number.service.ts","webpack:///src/app/lib/check-number/index.ts","webpack:///src/app/lib/index.ts","webpack:///src/app/lib/notifications/index.ts","webpack:///src/app/lib/notifications/notifications.service.ts","webpack:///src/app/lib/validators/index.ts","webpack:///src/app/lib/validators/validator.service.ts","webpack:///src/app/loyalty.directive.ts","webpack:///src/app/modules/auth/auth-routing.module.ts","webpack:///src/app/modules/auth/auth.guard.ts","webpack:///src/app/modules/auth/auth.module.ts","webpack:///src/app/modules/auth/auth.service.ts","webpack:///src/app/modules/auth/block-user/block-user.component.ts","webpack:///src/app/modules/auth/block-user/block-user.component.html","webpack:///src/app/modules/auth/change-password/change-password.component.ts","webpack:///src/app/modules/auth/change-password/change-password.component.html","webpack:///src/app/modules/auth/confirm-otp/confirm-otp.component.ts","webpack:///src/app/modules/auth/confirm-otp/confirm-otp.component.html","webpack:///src/app/modules/auth/confirm-otp/index.ts","webpack:///src/app/modules/auth/forgot-pass/forgot-pass.component.ts","webpack:///src/app/modules/auth/forgot-pass/forgot-pass.component.html","webpack:///src/app/modules/auth/forgot-pass/index.ts","webpack:///src/app/modules/auth/jwt.interceptor.ts","webpack:///src/app/modules/auth/login/login.component.ts","webpack:///src/app/modules/auth/login/login.component.html","webpack:///src/app/modules/auth/register/register.component.ts","webpack:///src/app/modules/auth/register/register.component.html","webpack:///src/app/modules/auth/reset-pass/index.ts","webpack:///src/app/modules/auth/reset-pass/reset-pass.component.ts","webpack:///src/app/modules/auth/reset-pass/reset-pass.component.html","webpack:///src/app/modules/auth/sync-account/index.ts","webpack:///src/app/modules/auth/sync-account/sync-account.component.ts","webpack:///src/app/modules/auth/sync-account/sync-account.component.html","webpack:///src/app/modules/auth/sync-account/sync-faild/index.ts","webpack:///src/app/modules/auth/sync-account/sync-faild/sync-faild.component.ts","webpack:///src/app/modules/auth/sync-account/sync-faild/sync-faild.component.html","webpack:///src/app/modules/auth/sync-account/sync-form/index.ts","webpack:///src/app/modules/auth/sync-account/sync-form/sync-form.component.ts","webpack:///src/app/modules/auth/sync-account/sync-form/sync-form.component.html","webpack:///src/app/modules/auth/sync-account/sync-success/index.ts","webpack:///src/app/modules/auth/sync-account/sync-success/sync-success.component.ts","webpack:///src/app/modules/auth/sync-account/sync-success/sync-success.component.html","webpack:///src/app/modules/loyalty/campaign/services/campaign.service.ts","webpack:///src/app/modules/loyalty/campaign/services/index.ts","webpack:///src/app/modules/loyalty/campaign/services/qr-code.service.ts","webpack:///src/app/modules/loyalty/campaign/services/shares.service.ts","webpack:///src/app/modules/loyalty/directive/drag-drop.directive.ts","webpack:///src/app/modules/loyalty/google-analytic-service/google-analytic.service.ts","webpack:///src/app/modules/loyalty/loyalty-routing.module.ts","webpack:///src/app/modules/loyalty/loyalty.component.ts","webpack:///src/app/modules/loyalty/loyalty.component.html","webpack:///src/app/modules/loyalty/loyalty.module.ts","webpack:///src/app/reducers/index.ts","webpack:///src/app/shared/components/alert-retarget/alert-retarget.component.ts","webpack:///src/app/shared/components/alert-retarget/alert-retarget.component.html","webpack:///src/app/shared/components/core/delete-popup/delete-popup.component.ts","webpack:///src/app/shared/components/core/delete-popup/delete-popup.component.html","webpack:///src/app/shared/components/core/image/image.component.html","webpack:///src/app/shared/components/core/image/image.component.ts","webpack:///src/app/shared/components/core/input/input.component.ts","webpack:///src/app/shared/components/core/input/input.component.html","webpack:///src/app/shared/components/core/selectbox/selectbox.component.ts","webpack:///src/app/shared/components/core/selectbox/selectbox.component.html","webpack:///src/app/shared/components/core/upload-file/index.ts","webpack:///src/app/shared/components/core/upload-file/upload-file.component.ts","webpack:///src/app/shared/components/core/upload-file/upload-file.component.html","webpack:///src/app/shared/components/core/uploader/index.ts","webpack:///src/app/shared/components/core/uploader/uploader.component.html","webpack:///src/app/shared/components/core/uploader/uploader.component.ts","webpack:///src/app/shared/components/distributor-add/distributor-add.component.ts","webpack:///src/app/shared/components/distributor-add/distributor-add.component.html","webpack:///src/app/shared/components/export-file/export-file.component.ts","webpack:///src/app/shared/components/export-file/export-file.component.html","webpack:///src/app/shared/components/exports/export.component.ts","webpack:///src/app/shared/components/exports/export.component.html","webpack:///src/app/shared/components/filter-bar/filter-bar.component.ts","webpack:///src/app/shared/components/filter-bar/filter-bar.component.html","webpack:///src/app/shared/components/gift-add/gift-add.component.ts","webpack:///src/app/shared/components/gift-add/gift-add.component.html","webpack:///src/app/shared/components/list-component/list-component.component.ts","webpack:///src/app/shared/components/modal-alert/modal-alert.component.ts","webpack:///src/app/shared/components/modal-alert/modal-alert.component.html","webpack:///src/app/shared/components/modal/modal.component.ts","webpack:///src/app/shared/components/modal/modal.component.html","webpack:///src/app/shared/components/staff-add/staff-add.component.ts","webpack:///src/app/shared/components/staff-add/staff-add.component.html","webpack:///src/app/shared/components/staff-permission/staff-permission.component.ts","webpack:///src/app/shared/components/staff-permission/staff-permission.component.html","webpack:///src/app/shared/components/update-business/update-business.component.ts","webpack:///src/app/shared/components/update-business/update-business.component.html","webpack:///src/app/shared/components/upload-img-button/upload-img-button.component.ts","webpack:///src/app/shared/components/upload-img-button/upload-img-button.component.html","webpack:///src/app/shared/components/upload-img/upload-img.component.ts","webpack:///src/app/shared/components/upload-img/upload-img.component.html","webpack:///src/app/shared/components/warning-leave/warning-leave.component.ts","webpack:///src/app/shared/components/warning-leave/warning-leave.component.html","webpack:///src/app/shared/components/warning-noti/warning-noti.component.ts","webpack:///src/app/shared/components/warning-noti/warning-noti.component.html","webpack:///src/app/shared/components/warning-permission/warning-permission.component.ts","webpack:///src/app/shared/components/warning-permission/warning-permission.component.html","webpack:///src/app/shared/date-expired/date-expired.component.ts","webpack:///src/app/shared/date-expired/date-expired.component.html","webpack:///src/app/shared/directive/drag-drop.directive.ts","webpack:///src/app/shared/directive/input-number.ts","webpack:///src/app/shared/modal-out-date/modal-out-date.component.ts","webpack:///src/app/shared/modal-out-date/modal-out-date.component.html","webpack:///src/app/shared/models/business.ts","webpack:///src/app/shared/models/constant.ts","webpack:///src/app/shared/services/base-loyalty.service.ts","webpack:///src/app/shared/services/base.service.ts","webpack:///src/app/shared/services/business/business.service.ts","webpack:///src/app/shared/services/campaign/campaign.service.ts","webpack:///src/app/shared/services/campaign/index.ts","webpack:///src/app/shared/services/campaign/stamps.service.ts","webpack:///src/app/shared/services/common/common.service.ts","webpack:///src/app/shared/services/crud.servive.ts","webpack:///src/app/shared/services/distributor/distributor.service.ts","webpack:///src/app/shared/services/gift/gift.service.ts","webpack:///src/app/shared/services/index.ts","webpack:///src/app/shared/services/qrcode/qrcode.service.ts","webpack:///src/app/shared/services/root.service.ts","webpack:///src/app/shared/services/staff/staff.service.ts","webpack:///src/app/shared/services/sync/sync.service.ts","webpack:///src/app/shared/services/upload.service.ts","webpack:///src/app/shared/services/winner/winners.service.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/shared/utils.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","routes","path","loadChildren","m","AuthModule","redirectTo","pathMatch","LoyaltyModule","canActivate","AppRoutingModule","forRoot","imports","AppComponent","authService","renderer2","s","createElement","type","text","tracking_id_teko","document","getElementsByTagName","appendChild","selector","templateUrl","styleUrls","AppEffects","actions$","AppModule","provide","useClass","useValue","multi","metaReducers","router","instrument","maxAge","logOnly","production","stateKey","declarations","providers","bootstrap","entityMetadata","pluralNames","entityConfig","removeAllSpacingBetweenWords","str","replace","trim","removeEmptyQuery","query","forEach","key","undefined","getArrayNotDuplicateAfterCompareTwoArray","arr1","arr2","filter","includes","name","getArrayDuplicateAfterCompareTwoArray","operationArray","arr","subtract","i","length","max","Math","min","sum","reduce","a","b","average","formatPhone84","phone","getUserInput","metadataString","localStorage","getItem","metadata","JSON","parse","userInput","x","value","getMetadataRequest","metadataJson","metadataRequest","concat","phongVuCheck","campaign","phongvu","isEnable","userIds","owner","track","payload","CheckNumberService","config","result","message","status","decimal","parseInt","split","zero","c","NotificationService","notification","nzPlacement","nzMaxStack","create","template","remove","ValidatorService","control","isWhitespace","isValid","vnf_regex","test","LoyaltytDirective","rootService","isCollapsed","isShow","changeMessage","component","AuthRoutingModule","forChild","AuthGuard","authenService","route","state","currentUser","currentUserValue","navigate","providedIn","entryComponents","AuthService","http","otpSubject","otpObj","asObservable","deviceSubject","deviceId","currentUserSubject","getDeviceId","queryString","window","location","search","urlParams","URLSearchParams","get","load","fp","visitorId","setItem","next","body","post","apiCoreV2","pipe","user","stringify","data","clear","params","otp","limit","offset","filterString","BlockUserComponent","authQrcodeService","reason","login","subscribe","res","logout","back","ChangePasswordComponent","_formBuilder","commonService","isVisible","isCheckAccountVietel","type_input","type_input1","isCheckAccountByViettel","createForm","frmChangePass","group","oldPassword","required","newPassword","confirmPassword","controls","markAsDirty","updateValueAndValidity","old_password$","password$","confirmed_password$","setValue","valid","changePassword","statusCode","setTimeout","error","reset","input","ConfirmOTPComponent","loading","submitted","userObj","confirmOTP","submitForm","ForgotPassComponent","auth","isVersionViettel","validPhone","frmForgot","match","getOTP","token","JwtInterceptor","request","clone","setHeaders","Authorization","handle","LoginComponent","notiService","userName","password","remember","styleMessage","screenName","contentType","contentName","interaction","target","checkInputSpace","alertType","alertMessage","special_partner_code","color","notiError","block","forgotPassword","RegisterComponent","frmSingin","returnUrl","first_name","minLength","maxLength","pattern","last_name","email","confirm_password","event","verifi_password","username","passKeypress","confirmPassKeypress","ResetPassWordComponent","isNotMatch","frmOTP","confirmed_password","confirmOtpForgetPassword","thuongELly","handleForgetPassword","response","SyncAccountComponent","syncService","queryParams","avatar","access_token","loyaltyUser","saveUserLoyalty","cancel","syncAcount","SyncFaildComponent","syncAgain","SyncFormComponent","userLoyalty","name_company","syncQrcodeLoyalty","err","SyncSuccessComponent","CampaignService","changeStepSubject","getStep","campaignSubject","getCampaign","step","isZero","Number","idPackage","boxGiftId","packageCodeId","listCode","slice","count","rows","observable","subscriber","complete","idCampaign","put","patch","QRCodeService","inputArr","reject","sort","id_end","item","push","end","start","inputPrefix","serial","nextItem","id_start","stamp","SharesService","fileToUpload","endpoint","formData","FormData","append","DragDropDirective","sanitizer","files","evt","preventDefault","stopPropagation","dataTransfer","emit","GoogleAnalyticService","action","console","log","gtag","url","gTagScript","async","src","googleAnalyticId","head","dataLayerScript","innerHTML","children","DashboardModule","WinnersModule","CampaignModule","GiftsModule","SettingsModule","BonusCodeModule","OrdersModule","SponsorModule","AccumulatePointsModule","MemberModule","ExchangeGiftModule","SellerModule","VoucherManagementModule","LoyaltyRoutingModule","LoyaltyComponent","modalService","changeTab","isCheckTeko","unsubscribe$","timeToday","Date","menu","title","routerLink","nzType","nzTheme","isChildren","isViettelCheck","isTeko","isExpiredViettel","getUser","$jquery","listenChange","subscriptionCampaign","isExpiredByViettel","val","saveChangeTab","currentMessage","dateViettel","isAfter","modal","nzVisible","nzTitle","nzContent","nzClosable","nzWidth","nzStyle","top","nzFooter","nzClassName","nzMaskClosable","nzComponentParams","unsubscribe","$","click","toggleClass","toggle","css","hide","afterClose","logo","url_image","small","changeMenu","updateBusiness","reducers","AlertRetargetComponent","modalRef","close","closeModal","DeletePopupComponent","fb","index","emitData","regionName","ImageComponent","upload","maxSize","multiple","change","done","sizes","returnSize","showUploadButton","showUploadList","showPreviewIcon","showRemoveIcon","hidePreviewIconInNonImage","fileList","beforeUpload","file","promise","isImage","img","Image","URL","createObjectURL","onload","width","naturalWidth","height","naturalHeight","revokeObjectURL","dimensions","fileType","indexOf","fileExt","ext","pop","toLowerCase","size","tusUpload","postImg","onSuccess","maxImage","$event","variant","index_variant","onChange","InputComponent","baseService","member","nzpan","show_search","options","select_force","mode","is_allow_custom","editorConf","toolbarGroups","groups","removeButtons","valueChange","placeholder","tips","layout","label","old_value","Array","isArray","uiType","f","suggest","obj","EMAIL_REGEXP","checked","_tmp","events","method","option","value_label","obj_variant","is_exist","is_new_value","new_value","onSelectChange","SelectboxComponent","conf","addItem","minimumResultsForSearch","UploadFileComponent","importFile","UploaderComponent","DistributorAddComponent","distributorService","checkNumber","validateS","staffsService","form","checkNoWhiteSpaceValidator","address","phone_manager","checkNumberPhoneValidator","store_id","reciew_sponsor","icheck_id","shops","distributors","name_qrcode_store","messagePhone","images","content","findUserSocialByIdOrPhone","avatar_thumbnails","uid","thumbUrl","thumbnail","isName","distributorId","disable","loadShop","findingManager","icheckId","patchValue","isCheckPhone","allShopQrcode","allDistributor","res1","res2","store","allShop","allIdDistributor","element","clearValidators","invalid","openMessage","isNumber","checkNumberInput","removeControl","update","onSubmit","getShopName","checkValidatePhone","uploadImageAttribute","ExportFileComponent","campaignSharedService","getList","frmAddBonusCode","activities","winners","postGoogleSheet","noti","getGoogleSheet","link","idx","Index","copyText","checkInput","copyLanding","ExportShareComponent","crudCodeService","formBuilder","frmExport","param","is_not_body","assign","postData","FilterBarComponent","changeFilter","dateFormat","stores","offsetStore","isLoadingStore","limitStore","gifts","offsetGift","isLoadingGift","limitGift","businesses","configs","loadBusiness","loadStore","loadGift","filterForm","listenChangeFormValue","recursive","valueChanges","output","keywords","from","toISOString","to","getAnyThing","onFormSubmit","nzDisabled","GiftAddComponent","giftSharedService","checkNumberService","googleAnalyticService","config_editor","subscriptions","tooltipiCoin","tooltip","icoin_product","typeGifts","valueOptions","descriptionProgram","valImageVNPoint","errMessage","initialize","gift","updateForm","checkTooltip","frmAddGift","icoin","setValidators","imgVNPOINT","icoin_icoin","phone_card","digital_money","typeForm","createFormGift","image","type_update","weight","description","active","manual_release","vnpay_campaign_id","vnpay_gift_code","transport","splice","getTransportConfig","check","isClose","checkSpace","putData","addDone","gift_name","gift_type","gift_value","abs","changeTypeGift","ListComponentComponent","isAllDisplayDataChecked","isIndeterminate","listOfDisplayData","mapOfCheckedId","ids","pageIndex","pageSize","total","listOfAllData","refreshStatus","every","some","entries","changeExpiredViettel","warning","deletes","medium","open","createCampaign","postAnyThing","updateCampaign","putAnyThing","updateGift","patchAnyThing","ModalAlertComponent","nameConfirm","nameClose","UIModalComponent","renderer","autoHeight","isScenario","isSuccess","isWaring","disableClickOutside","customCssAnimation","duration","show","entranceAnimation","exitAnimation","fullWidth","hiddenHeader","hiddenFooter","showChange","closeEvent","closeNext","listenForOutsideClick","changesObj","uiModalWindow","clearTimeout","timer","entranceAnimationClass","exitAnimationClass","animationDurationForShow","animationDurationForHide","currentValue","removeClass","uiModal","nativeElement","addClass","StaffAddComponent","icheckUser","staff","createStaff","lookingUser","addStaff","StaffPermissionComponent","permissionCampaign","permissionsTest","permissionsByStaff","permissions","permissionStaff","permission_id","permission_method_code","setPermissionsStaff","UpdateBusinessComponent","businessService","business","expiredAt","expired_at","listCities","urlImage","city_id","listDistricts","district_id","listWards","account_qrcode_id","accountQrcodeName","account_qrcode_name","frmEditBusiness","website","String","ward_id","getCities","cities","cityId","getDistricts","districts","districId","wardId","getWards","wards","reload","changeCities","changeDistricts","changeWards","IMG_REGEX","UploadImgButtonComponent","notificationService","onReceive","onDelete","onGetSizeFile","toFixed","changes","createNotification","banners","srcBanner","isRequired","onChangeBanner","onRemoveImage","UploadImgComponent","WarningLeaveComponent","submit","WarningNotiComponent","isChecked","accept","WarningPermissionComponent","DateExpiredComponent","openModal","DragDropDirectiveShare","nextUniqueId","REGEX_NUMBER","AppInputNumberDirective","injector","ngZone","decimalPipe","controlType","stateChanges","focused","touched","ngControl","errorState","_validator","Map","numberType","format","formatSeparator","describedBy","onTouched","_valueAccessor","formatValue","_placeholder","_required","set","_readonly","_disabled","_right","empty","_setElementTypeText","valueAccessor","_removeFocusOutsideListener","_transformValue","readonly","disabled","unFormatValue","_setElementTypeNumber","_onBlur","fn","_initFocusOutsideListener","validators","compose","values","runOutsideAngular","addEventListener","bind","removeEventListener","toString","_setElementValue","_decimalTransform","setProperty","special","viewFormatFn","transform","useExisting","host","ModalOutDateComponent","campaignService","OpenModal","Business","CAMPAIGN","statusTimeTitle","typeVouchers","TYPE_GIFT","CONGRATULATION","ICOIN","PRODUCT","RECEIVE_STORE","PHONE_CARD","VOUCHER","VNPAY_QR","TYPE_PROGRAM","receive_gift","mini_game","accumulate_point","accumulation_long_term_point","receive_gift_qr_mar","mini_game_qr_mar","accumulation_long_term_point_qr_mar","accumulate_point_qr_mar","TYPE_CAMPAIGN_ICHECK","TYPE_BONUS_POINTS","TYPE_CAMPAIGN_WEBAPP","statusHistoryVouchers","is_rollback","benefit","date_active","batch_stamp","strip_stamp","date_export_gift","package_sponsor","game","times_play","actionGames","GIFT","WINNER","GIFT_MEMBER_STATUS","CAMPAIGN_STATUS","ACTIVE","WAITING_PAYMENT","APPROVED_DONATION","REFUSED_DONATION","BANNED","STOPPED","SPONSOR","SPONSOR_WAITING_APPROVED","ORDER","CARD","CONFIG","tabsize","toolbar","fontNames","CUSTOMERS","winner_status","OptionTypeActive","WhiteList","source","BaseLoyaltyService","baseUrl","apiLoyalty","buildUrl","BaseService","apiCore","BusinessService","CampaignSharedService","StampService","boxGift","boxGiftID","CommonService","date","textarea","style","position","left","opacity","focus","select","execCommand","removeChild","CrudCodeService","idcampaign","DistributorService","GiftSharedService","doneObjSubject","addGiftDone","AuthQrcodeService","RootService","messageSource","currentChangeTab","apiPublicLoyalty","campaignId","districtId","toPromise","winnerIds","StaffsService","idStaff","SyncService","UploadService","baseUrl3","baseUrl2","WinnersService","idWinner","SERVICE_LIB","SharedModule","schemas","CustomSerializer","routerState","root","firstChild","environment","apiMock","apiNotPublicLoyalty","url_static_image","url_mkt","openAppiCheck","urlWebapp","landingUrl","FMC_ID","SEBANG_ID","uploadStream","bootstrapModule"],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.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-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.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 ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './modules/auth/auth.guard';\r\n\r\n\r\nconst routes: Routes = [\r\n\r\n { path: 'auth', loadChildren: () => import('./modules/auth/auth.module').then(m => m.AuthModule)},\r\n { path: '', redirectTo: 'loyalty', pathMatch: 'full' },\r\n { path: 'loyalty', loadChildren: () => import('./modules/loyalty/loyalty.module').then(m => m.LoyaltyModule), canActivate: [AuthGuard] }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import {Component, OnInit, Renderer2} from '@angular/core';\r\nimport {AuthService} from './modules/auth/auth.service';\r\nimport {environment} from '../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent implements OnInit {\r\n constructor(\r\n private authService: AuthService,\r\n private renderer2: Renderer2\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n // this.addTrackingId();\r\n // (window as any).track('hookMessage', (body) => {\r\n // console.log('messeage', body);\r\n // });\r\n }\r\n\r\n addTrackingId() {\r\n const s = this.renderer2.createElement('script');\r\n s.type = 'text/javascript';\r\n s.text = `\r\n !function(t,e,r,n,s,a,o,c){t[s]||(t.GlobalTrackerNamespace=t.GlobalTrackerNamespace||[],t.GlobalTrackerNamespace.push(s),t.GlobalTrackerNamespace.push(\"https://tracking.tekoapis.com\"),t[s]=function(){(t[s].q=t[s].q||[]).push(arguments)},t[s].q=t[s].q||[],(o=e.createElement(r)).async=!0,o.src=n,(c=e.getElementsByTagName(r)[0]).parentNode.insertBefore(o,c),window.onerror=function(e,r,a,o,c){if(r===n)return t[s](\"exception\",{msg:e,error:c}),!1})}(window,document,\"script\",\"https://cdn.tekoapis.com/tracker/dist/v2/tracker.full.min.js\",\"track\");\r\n track(\"init\", '${environment.tracking_id_teko}' )\r\n track(\"enableLinkClick\");\r\n track('enableSubmitForm');\r\n track('enableFocusForm');\r\n `;\r\n // track(\"enableTrackVisibleContentImpressions\", true);\r\n document.getElementsByTagName('head')[0].appendChild(s);\r\n }\r\n}\r\n","","import { Injectable } from '@angular/core';\r\nimport { Actions, createEffect } from '@ngrx/effects';\r\n\r\n@Injectable()\r\nexport class AppEffects {\r\n constructor(private actions$: Actions) {}\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { StoreModule } from '@ngrx/store';\r\nimport { reducers, metaReducers } from './reducers';\r\nimport { StoreDevtoolsModule } from '@ngrx/store-devtools';\r\nimport { environment } from '../environments/environment';\r\nimport { EffectsModule } from '@ngrx/effects';\r\nimport { AppEffects } from './app.effects';\r\nimport { StoreRouterConnectingModule ,routerReducer, RouterStateSerializer} from '@ngrx/router-store';\r\nimport { EntityDataModule } from '@ngrx/data';\r\nimport { entityConfig } from './entity-metadata';\r\n\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NgZorroAntdModule, NZ_I18N, en_US } from 'ng-zorro-antd';\r\nimport { FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { registerLocaleData } from '@angular/common';\r\nimport en from '@angular/common/locales/en';\r\n\r\nimport { NzButtonModule } from 'ng-zorro-antd/button';\r\n\r\nimport { JwtInterceptor } from 'src/app/modules/auth/jwt.interceptor';\r\nimport { ErrorInterceptor } from 'src/app/modules/auth/error.interceptor';\r\nimport { LoyaltyModule} from 'src/app/modules/loyalty/loyalty.module';\r\nimport { CustomSerializer } from './shared/utils';\r\nimport { StampService } from './shared/services';\r\nimport { CommonService } from './shared/services/common/common.service';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nregisterLocaleData(en); \r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n StoreModule.forRoot(reducers, {metaReducers}),\r\n StoreModule.forRoot({\r\n router: routerReducer\r\n }),\r\n StoreDevtoolsModule.instrument({maxAge: 25, logOnly: environment.production}),\r\n EffectsModule.forRoot([AppEffects]),\r\n StoreRouterConnectingModule.forRoot({stateKey: \"router\"}),\r\n EntityDataModule.forRoot(entityConfig),\r\n HttpClientModule,\r\n NgZorroAntdModule,\r\n FormsModule,\r\n BrowserAnimationsModule,\r\n NzButtonModule,\r\n ReactiveFormsModule,\r\n LoyaltyModule,\r\n NgxCaptchaModule\r\n ],\r\n providers: [\r\n StampService,\r\n CommonService,\r\n {provide: RouterStateSerializer, useClass: CustomSerializer},\r\n {provide: NZ_I18N, useValue: en_US},\r\n {provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true},\r\n // {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true},\r\n ],\r\n exports: [\r\n\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { EntityMetadataMap, EntityDataModuleConfig } from '@ngrx/data';\r\n\r\nconst entityMetadata: EntityMetadataMap = {};\r\n\r\nconst pluralNames = { };\r\n\r\nexport const entityConfig: EntityDataModuleConfig = {\r\n entityMetadata,\r\n pluralNames\r\n};\r\n","import { environment } from \"src/environments/environment\";\r\n\r\nexport function removeAllSpacingBetweenWords(str: string) {\r\n return str.replace(/\\s+/g, ' ').trim();\r\n}\r\n\r\nexport function removeEmptyQuery(query: any) {\r\n Object.keys(query).forEach(key => {\r\n if (query[key] === undefined || query[key] === null || query[key] === '') {\r\n delete query[key];\r\n }\r\n });\r\n return query;\r\n}\r\n\r\nexport function getArrayNotDuplicateAfterCompareTwoArray(arr1: any[], arr2: any[], type?: string) {\r\n if (type === 'id') { return arr1.filter(e => !arr2.includes(e.id)); }\r\n if (type === 'name') { return arr1.filter(e => !arr2.includes(e.name)); }\r\n return arr1.filter(e => !arr2.includes(e));\r\n}\r\n\r\nexport function getArrayDuplicateAfterCompareTwoArray(arr1: any[], arr2: any[], type?: string) {\r\n if (type === 'id') { return arr1.filter(e => arr2.includes(e.id)); }\r\n if (type === 'name') { return arr1.filter(e => arr2.includes(e.name)); }\r\n return arr1.filter(e => arr2.includes(e));\r\n}\r\n\r\nexport function operationArray(arr: any[]) {\r\n let subtract = arr[0];\r\n for (let i = 1; i < arr.length; i++) {\r\n subtract -= arr[i];\r\n }\r\n const max = Math.max(...arr);\r\n const min = Math.min(...arr);\r\n const sum = arr.reduce((a, b) => a + b, 0);\r\n const average = arr.reduce((a, b) => a + b, 0) / arr.length;\r\n return {\r\n max,\r\n min,\r\n subtract,\r\n sum,\r\n average\r\n };\r\n}\r\nexport function formatPhone84(phone: string) {\r\n if (!phone) return phone;\r\n phone = phone.replace(/\\D+/gm, \"\");\r\n phone = phone.replace(/^0/, \"84\");\r\n phone = phone.replace(/^(?!84)/, \"84\");\r\n return phone;\r\n}\r\n\r\nexport function getUserInput() {\r\n const metadataString = localStorage.getItem('metadata');\r\n if (!metadataString) return null;\r\n const metadata: any[] = JSON.parse(metadataString);\r\n const userInput: any = metadata ? metadata.filter(x => x.key === 'inputUser') : null;\r\n if (userInput && userInput[0]) return userInput[0].value;\r\n return null;\r\n}\r\nexport function getMetadataRequest(metadata: any[]) {\r\n const metadataString = localStorage.getItem('metadata');\r\n if (!metadataString) return metadata;\r\n const metadataJson: any[] = JSON.parse(metadataString);\r\n const metadataRequest = metadataJson.filter(x => x.key !== 'inputUser');\r\n if (metadata) {\r\n return metadata.concat(metadataRequest);\r\n }\r\n return metadataRequest;\r\n}\r\nexport function phongVuCheck(campaign: any) {\r\n if (!campaign) return false;\r\n if (!environment.phongvu) return false;\r\n if (!environment.phongvu.isEnable) return false;\r\n if (!environment.phongvu.userIds.includes(campaign.owner.id)) return false;\r\n return true;\r\n}\r\n\r\n// export function vnpayCheck(campaign: any) {\r\n// if (!campaign) { return false; }\r\n// if (!environment.vnpay) {return false; }\r\n// if (!environment.vnpay.isEnable) {return false; }\r\n// if (!environment.vnpay.userIds.includes(campaign.owner.id)) {return false; }\r\n// }\r\n","import { environment } from 'src/environments/environment';\r\n\r\nexport function track(type, payload) {\r\n // if (!window) {window = (window as any).track('init', environment.tracking_id_teko); }\r\n // (window as any).track(type, payload);\r\n}\r\n","import { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class CheckNumberService {\r\n /**\r\n * @author Zin\r\n * @param value Giá trị truyền vào để check \"string or number\"\r\n * @param config Object điều kiện của function\r\n * @param config.zero Truyền vào true or false (True là chấp nhận số 0, False không chấp nhận giá trị có số 0)\r\n * @param config.decimal Truyền vào true or false (True là chấp nhận số Thập Phân, False không chấp nhận)\r\n * Lưu ý các giá trị trong config không truyền vào thì mặc định là False\r\n */\r\n checkNumberInput(value, config?: any) {\r\n let result = { message: '', status: true };\r\n if (!config?.decimal && value != parseInt(value)) {\r\n result.message = 'Đây không phải số';\r\n result.status = false;\r\n return result\r\n } else if (config?.decimal && value != parseInt(value) && value.split('.').length !== 2) {\r\n result.message = 'Đây không phải số';\r\n result.status = false;\r\n return result\r\n } else if (`${value}`.split('.').length > 2) {\r\n result.message = 'Đây không phải số';\r\n result.status = false;\r\n return result\r\n }\r\n\r\n if (parseInt(value) < 0) {\r\n result.message = 'Không được nhập số âm!';\r\n result.status = false;\r\n return result;\r\n }\r\n\r\n if (!config?.zero && value == 0) {\r\n result.message = 'Không được nhập số 0!';\r\n result.status = false;\r\n return result\r\n }\r\n\r\n result.message = 'Đúng';\r\n result.status = true;\r\n return result;\r\n }\r\n/**\r\n * @author Zin\r\n * @param value nhận vào giá trị\r\n */\r\n formatNumberMoney(value) {\r\n return value.replace(/./g, (c, i, a) => {\r\n return i > 0 && c !== '.' && (a.length - i) % 3 === 0 ? ',' + c : c;\r\n });\r\n }\r\n}\r\n","export * from './check-number.service'","export * from './check-number';\r\nexport * from './notifications';\r\nexport * from './validators';","export * from './notifications.service'","import { Injectable, TemplateRef } from \"@angular/core\";\r\nimport { NzNotificationService } from 'ng-zorro-antd';\r\n\r\n@Injectable()\r\nexport class NotificationService {\r\n constructor(private notification: NzNotificationService) {\r\n notification.config({\r\n nzPlacement: 'bottomRight',\r\n nzMaxStack: 1\r\n });\r\n }\r\n notiError(message: string) {\r\n this.notification.create(\r\n 'error',\r\n `LỖI`,\r\n `${message}`\r\n );\r\n }\r\n notiSuccess(message: string) {\r\n this.notification.create(\r\n 'success',\r\n `THÀNH CÔNG`,\r\n `${message}`\r\n );\r\n }\r\n notiWarning(message: string) {\r\n this.notification.create(\r\n 'warning',\r\n `THÔNG BÁO`,\r\n `${message}`\r\n );\r\n }\r\n notiInfo(message: string) {\r\n this.notification.create(\r\n 'info',\r\n `THÔNG TIN`,\r\n `${message}`\r\n );\r\n }\r\n notiForTemplate(template: TemplateRef) {\r\n this.notification.template(template);\r\n }\r\n remove() {\r\n this.notification.remove();\r\n }\r\n}\r\n","export * from './validator.service';","import { Injectable } from \"@angular/core\";\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Injectable()\r\nexport class ValidatorService {\r\n /**\r\n * @author Zin\r\n * @param control nhận vào giá trị trên form\r\n */\r\n checkNoWhiteSpaceValidator(control: FormControl) {\r\n const isWhitespace = (control.value || '').trim().length === 0;\r\n const isValid = !isWhitespace;\r\n return isValid ? null : { 'whitespace': true };\r\n }\r\n checkNumberPhoneValidator(control: FormControl) {\r\n let result = { 'phone': true };\r\n const vnf_regex = /((09|03|07|08|05)+([0-9]{8})\\b)/g;\r\n if (control.value && control.value.length > 0) {\r\n if(vnf_regex.test(control.value) === false) {\r\n return result;\r\n } else {\r\n return null;\r\n }\r\n }\r\n }\r\n}","import { Directive, ElementRef, HostListener, Input } from '@angular/core';\r\nimport { RootService } from \"./shared/services/root.service\";\r\n\r\n@Directive({\r\n selector: '[appShowMenu]',\r\n})\r\nexport class LoyaltytDirective {\r\n\r\n constructor(\r\n private rootService: RootService,\r\n ) { }\r\n\r\n @Input('appShowMenu') isCollapsed = true;\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n this.isShow(false);\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n this.isShow(true);\r\n }\r\n\r\n private isShow(isCollapsed: boolean) {\r\n this.rootService.changeMessage(isCollapsed);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegisterComponent } from './register/register.component';\r\nimport { ForgotPassComponent } from './forgot-pass';\r\nimport { ResetPassWordComponent } from './reset-pass';\r\nimport { ConfirmOTPComponent } from './confirm-otp';\r\nimport { SyncAccountComponent, SyncFormComponent, SyncSuccessComponent, SyncFaildComponent } from './sync-account';\r\nimport { BlockUserComponent } from './block-user/block-user.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'login', component: LoginComponent },\r\n { path: 'register', component: RegisterComponent},\r\n { path: 'forgot', component: ForgotPassComponent},\r\n { path: 'reset-pass', component: ResetPassWordComponent},\r\n { path: 'confirm-otp', component: ConfirmOTPComponent},\r\n { path: 'sync-account', component: SyncAccountComponent},\r\n { path: 'sync-form', component: SyncFormComponent},\r\n { path: 'sync-success', component: SyncSuccessComponent},\r\n { path: 'sync-faild', component: SyncFaildComponent},\r\n { path: 'blocked', component: BlockUserComponent}\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AuthRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { AuthService } from './auth.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenService: AuthService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenService.currentUserValue;\r\n if (currentUser) {\r\n // logged in so return true\r\n return true;\r\n }\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/auth/login']);\r\n return false;\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AuthRoutingModule } from './auth-routing.module';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { RegisterComponent } from './register/register.component';\r\n\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { JwtInterceptor } from './jwt.interceptor';\r\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\r\n\r\nimport { ForgotPassComponent } from './forgot-pass';\r\nimport { ResetPassWordComponent } from './reset-pass';\r\nimport { ConfirmOTPComponent } from './confirm-otp';\r\nimport { SyncAccountComponent, SyncFormComponent, SyncSuccessComponent, SyncFaildComponent } from './sync-account';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { BlockUserComponent } from './block-user/block-user.component';\r\n\r\n@NgModule({\r\n declarations: [LoginComponent, RegisterComponent,\r\n ForgotPassComponent, ResetPassWordComponent,\r\n ConfirmOTPComponent, SyncAccountComponent,\r\n SyncFormComponent, SyncSuccessComponent,\r\n SyncFaildComponent, ChangePasswordComponent, BlockUserComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n AuthRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgZorroAntdModule\r\n ],\r\n exports: [\r\n ChangePasswordComponent\r\n ],\r\n entryComponents: [\r\n ChangePasswordComponent\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n ],\r\n})\r\nexport class AuthModule { }\r\n","import { Injectable, Output, EventEmitter } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport FingerprintJS from '@fingerprintjs/fingerprintjs';\r\n\r\nimport { environment } from 'src/environments/environment';\r\nimport { User } from 'src/app/shared/models/user';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthService {\r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n private otpSubject = new BehaviorSubject({});\r\n otpObj = this.otpSubject.asObservable();\r\n\r\n private deviceSubject = new BehaviorSubject({});\r\n deviceId = this.deviceSubject.asObservable();\r\n\r\n constructor(private http: HttpClient) {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n this.getDeviceId();\r\n\r\n }\r\n getDeviceId() {\r\n // nhận deviceId từ url\r\n const queryString = window.location.search;\r\n const urlParams = new URLSearchParams(queryString);\r\n let deviceId = urlParams.get('deviceId');\r\n\r\n if (!deviceId || deviceId === 'null' || deviceId === 'undefined') {\r\n deviceId = localStorage.getItem('device_id');\r\n }\r\n if (!deviceId || deviceId === 'null' || deviceId === 'undefined') {\r\n FingerprintJS.load().then(fp => {\r\n fp.get().then(async result => {\r\n deviceId = await result.visitorId;\r\n localStorage.setItem('device_id', deviceId);\r\n this.deviceSubject.next(deviceId);\r\n });\r\n });\r\n } else {\r\n localStorage.setItem('device_id', deviceId);\r\n this.deviceSubject.next(deviceId);\r\n }\r\n }\r\n\r\n public get currentUserValue(): any {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n setOTPObject(body) {\r\n this.otpSubject.next(body);\r\n }\r\n\r\n login(body: any) {\r\n return this.http.post(`${environment.apiCoreV2}/login`, body)\r\n .pipe(map(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n localStorage.setItem('currentUser', JSON.stringify(user?.data));\r\n this.currentUserSubject.next(user?.data);\r\n return user;\r\n }));\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n // localStorage.removeItem('currentUser');\r\n // localStorage.removeItem('loyaltyUser');\r\n localStorage.clear();\r\n this.currentUserSubject.next(null);\r\n }\r\n\r\n // quen mk\r\n getOTP(query: any) {\r\n return this.http.get(`${environment.apiCoreV2}/api/noauth/user/password/forgot/request`, { params: query })\r\n .pipe(map(otp => {\r\n localStorage.setItem('phone', query.phone);\r\n return otp;\r\n }));\r\n }\r\n confirmOtpForgetPassword(body) {\r\n return this.http.post(`${environment.apiCoreV2}/api/noauth/user/password/forgot/confirm`, body);\r\n }\r\n handleForgetPassword(body) {\r\n return this.http.post(`${environment.apiCoreV2}/api/noauth/user/password/forgot/change`, body);\r\n }\r\n // end quen mk\r\n\r\n // thay doi mk\r\n changePassword(body: any): Observable {\r\n return this.http.post(`${environment.apiCoreV2}/api/auth/user/password`, body);\r\n }\r\n // end doi mk\r\n\r\n searchUserByName(name?) {\r\n const body: any = {\r\n limit: 10,\r\n offset: 0\r\n }\r\n if (name) body.filterString = name;\r\n return this.http.post(`${environment.apiCoreV2}/social/api/users/query`, body);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthQrcodeService } from 'src/app/shared/services';\r\nimport { AuthService } from '../auth.service';\r\n\r\n@Component({\r\n selector: 'app-block-user',\r\n templateUrl: './block-user.component.html',\r\n styleUrls: ['./block-user.component.scss']\r\n})\r\nexport class BlockUserComponent implements OnInit {\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authQrcodeService: AuthQrcodeService,\r\n private authService: AuthService,\r\n ) { }\r\n\r\n reason = '';\r\n ngOnInit() {\r\n const body = {};\r\n this.authQrcodeService.login(body).subscribe(res => {\r\n this.reason = res.data.reason;\r\n });\r\n }\r\n\r\n back() {\r\n localStorage.clear();\r\n this.authService.logout();\r\n this.router.navigate(['/auth/login']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
Tài khoản đã bị khóa
\r\n \r\n \r\n

Lý do: {{reason}}

\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 } from '@angular/core';\r\nimport { FormBuilder, Validators, FormGroup} from '@angular/forms';\r\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\r\nimport { AuthService } from '../auth.service';\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from 'src/app/shared/services/common/common.service';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.scss']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n constructor(\r\n private _formBuilder: FormBuilder,\r\n private authService: AuthService,\r\n private notification: NzNotificationService,\r\n private router: Router,\r\n public commonService: CommonService\r\n ) { }\r\n isVisible = false;\r\n message = '';\r\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n phone: string;\r\n frmChangePass: FormGroup;\r\n isCheckAccountVietel = false;\r\n\r\n type_input = 'password';\r\n type_input1 = 'password';\r\n\r\n ngOnInit() {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n this.message = '';\r\n this.notification.config({\r\n nzPlacement: 'bottomRight'\r\n });\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n this.frmChangePass = this._formBuilder.group({\r\n // phone: [ this.phone, [Validators.required]],\r\n oldPassword: [null, [Validators.required]],\r\n newPassword: [null, [Validators.required]],\r\n confirmPassword: [null, [Validators.required]]\r\n });\r\n }\r\n\r\n submitForm() {\r\n this.message = '';\r\n for (const key of Object.keys(this.frmChangePass.controls)) {\r\n this.frmChangePass.controls[key].markAsDirty();\r\n this.frmChangePass.controls[key].updateValueAndValidity();\r\n }\r\n\r\n const old_password$ = this.frmChangePass.value.oldPassword ? this.frmChangePass.value.oldPassword.trim() : '';\r\n const password$ = this.frmChangePass.value.newPassword ? this.frmChangePass.value.newPassword.trim() : '';\r\n const confirmed_password$ = this.frmChangePass.value.confirmPassword ? this.frmChangePass.value.confirmPassword.trim() : '';\r\n if (old_password$ === '') {\r\n this.frmChangePass.controls.oldPassword.setValue(null);\r\n }\r\n if (password$ === '') {\r\n this.frmChangePass.controls.newPassword.setValue(null);\r\n }\r\n if (confirmed_password$ === '') {\r\n this.frmChangePass.controls.confirmPassword.setValue(null);\r\n }\r\n\r\n if (this.frmChangePass.valid) {\r\n if (password$ === confirmed_password$) {\r\n this.authService.changePassword(this.frmChangePass.value).subscribe(\r\n (res) => {\r\n if (+res.statusCode === 200) {\r\n this.isVisible = !this.isVisible;\r\n this.notification.create(\r\n 'success',\r\n `Thành công`,\r\n `Đổi mật khẩu thành công!`\r\n );\r\n setTimeout(() => {\r\n this.authService.logout();\r\n this.router.navigate(['/auth/login']);\r\n }, 1000);\r\n } else {\r\n this.notification.create(\r\n 'error',\r\n `Đổi mật khẩu thất bại!`,\r\n `${res.message}`\r\n );\r\n }\r\n },\r\n (error) => {\r\n this.notification.create(\r\n 'error',\r\n `Đổi mật khẩu thất bại!`,\r\n `${error}`\r\n );\r\n }\r\n );\r\n } else {\r\n this.message = 'Mật khẩu xác nhận phải giống mật khẩu mới';\r\n }\r\n }\r\n }\r\n show() {\r\n this.message = '';\r\n this.frmChangePass.reset();\r\n this.isVisible = true;\r\n }\r\n hide() {\r\n this.isVisible = false;\r\n }\r\n showPass(input) {\r\n if (input === 'eye') {\r\n this.type_input = 'text';\r\n } else {\r\n this.type_input = 'password';\r\n }\r\n }\r\n\r\n showPassOld(input) {\r\n if (input === 'eye') {\r\n this.type_input1 = 'text';\r\n } else {\r\n this.type_input1 = 'password';\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
Thay đổi mật khẩu
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

Nhập mật khẩu hiện tại

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

Nhập mật khẩu mới

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

Nhập lại mật khẩu mới

\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {{message}}\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 } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AuthService } from 'src/app/modules/auth/auth.service';\r\nimport { first } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-confirm-otp',\r\n templateUrl: './confirm-otp.component.html',\r\n styleUrls: ['./confirm-otp.component.scss']\r\n})\r\nexport class ConfirmOTPComponent implements OnInit {\r\n\r\n confirmOTP: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n userObj: any = {};\r\n error = '';\r\n\r\n constructor(\r\n private _formBuilder: FormBuilder,\r\n private authService: AuthService,\r\n private router: Router\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.authService.otpObj.subscribe(res => {\r\n this.userObj = res;\r\n })\r\n }\r\n\r\n\r\n createForm() {\r\n this.confirmOTP = this._formBuilder.group({\r\n otp: [null, [Validators.required]],\r\n phone: ['0']\r\n });\r\n }\r\n\r\n submitForm() {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Xác nhận đăng ký

\r\n
\r\n \r\n \r\n Mã kích hoạt đã được gửi đến số điện thoại:\r\n

{{userObj.phone}}

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

Vui lòng nhập mã xác nhận

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Quay lại\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","export * from './confirm-otp.component';","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AuthService } from '../auth.service';\r\nimport { Router } from '@angular/router';\r\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\r\nimport {environment} from \"../../../../environments/environment\";\r\n\r\n@Component({\r\n selector: 'app-forgot-pass',\r\n templateUrl: './forgot-pass.component.html',\r\n styleUrls: ['./forgot-pass.component.scss']\r\n})\r\nexport class ForgotPassComponent implements OnInit {\r\n isVersionViettel = false;\r\n constructor(\r\n private _formBuilder: FormBuilder,\r\n private auth: AuthService,\r\n private router: Router,\r\n private notification: NzNotificationService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.notification.config({\r\n nzPlacement: 'bottomRight',\r\n nzMaxStack: 1\r\n });\r\n this.createForm();\r\n this.isVersionViettel = environment.isVersionViettel;\r\n }\r\n\r\n frmForgot: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n error = '';\r\n validPhone = /^(\\+|\\d)[0-9]{7,16}$/;\r\n\r\n createForm() {\r\n this.frmForgot = this._formBuilder.group({\r\n phone: [null, [\r\n Validators.required\r\n ]]\r\n });\r\n }\r\n\r\n submitForm() {\r\n if (this.frmForgot.value.phone.match(this.validPhone)) {\r\n this.auth.getOTP(this.frmForgot.value)\r\n .subscribe(\r\n (res) => {\r\n if (+res.statusCode === 200) {\r\n this.notification.create(\r\n 'success',\r\n `Lấy mã OTP thành công`,\r\n `Mã OTP đã được gửi đến số điện thoại.`\r\n );\r\n localStorage.setItem('tokenForgetPassword', res?.data?.token);\r\n this.router.navigate(['/auth/reset-pass']);\r\n return;\r\n }\r\n this.notification.error('Có lỗi xảy ra', res.message);\r\n },\r\n (error) => {\r\n this.notification.create(\r\n 'error',\r\n 'Có lỗi xảy ra !!!',\r\n `${error}`\r\n );\r\n });\r\n } else {\r\n this.notification.create(\r\n 'error',\r\n 'Có lỗi xảy ra !!!',\r\n `Số điện thoại không hợp lệ!`\r\n );\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n

Quên mật khẩu

\r\n
\r\n

Nhập Số điện thoại của tài khoản cần thiết lập lại mật khẩu

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

Vui lòng nhập số điện thoại

\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Sản phẩm được hợp tác và phát triển bởi Viettel Telecom và iCheck\r\n
\r\n \r\n

Tổng đài CSKH: 18008000 (nhánh 6) - Tư vấn dịch vụ: 18008168 - Email:\r\n cskh@viettel.com.vn

\r\n
\r\n
","export * from './forgot-pass.component'","import { Injectable } from '@angular/core';\r\nimport {HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpResponse} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\nimport { AuthService } from './auth.service';\r\nimport {map} from \"rxjs/operators\";\r\nimport {Router} from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n device_id: string;\r\n constructor(private authService: AuthService,\r\n private router: Router) {\r\n // this.authService.deviceId.subscribe(device_id => this.device_id = device_id);\r\n }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n // add authorization header with jwt token if available\r\n const currentUser = this.authService.currentUserValue;\r\n if (currentUser && currentUser?.token) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${currentUser.token}`\r\n }\r\n });\r\n }\r\n // @ts-ignore\r\n return next.handle(request).pipe(map((e: HttpEvent) => {\r\n if (e instanceof HttpResponse) {\r\n if (e?.body?.statusCode == 401) {\r\n localStorage.clear();\r\n this.authService.logout();\r\n this.router.navigate(['/auth/login']);\r\n }\r\n }\r\n return e;\r\n }));\r\n }\r\n}\r\n","import {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {AuthService} from '../auth.service';\r\nimport {Router} from '@angular/router';\r\nimport {AuthQrcodeService} from 'src/app/shared/services';\r\nimport {environment} from '../../../../environments/environment';\r\nimport {NotificationService} from 'src/app/lib';\r\nimport {track} from '../../../helpers/tracking-teko';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private router: Router,\r\n private notiService: NotificationService,\r\n private authQrcodeService: AuthQrcodeService\r\n ) {\r\n }\r\n\r\n user = {\r\n userName: null,\r\n password: null,\r\n remember: false\r\n };\r\n\r\n message = '';\r\n loading = false;\r\n styleMessage = {\r\n 'margin-top': '10px',\r\n 'color': 'red',\r\n 'font-weight': 500,\r\n 'font-size': '13px',\r\n };\r\n isVersionViettel = false;\r\n\r\n ngOnInit() {\r\n this.isVersionViettel = environment.isVersionViettel;\r\n const currentUser = this.authService.currentUserValue;\r\n if (currentUser && currentUser?.token) {\r\n this.router.navigate(['/loyalty']);\r\n }\r\n\r\n track('trackLoadPageView', {\r\n screenName: 'login',\r\n contentType: 'others',\r\n });\r\n }\r\n\r\n password = 'password';\r\n\r\n showPass(input) {\r\n if (input === 'eye') {\r\n this.password = 'text';\r\n } else {\r\n this.password = 'password';\r\n }\r\n }\r\n\r\n login() {\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Dang nhap',\r\n interaction: 'click',\r\n target: 'Dashboard',\r\n });\r\n this.user.userName = this.checkInputSpace(this.user.userName);\r\n this.user.password = this.checkInputSpace(this.user.password);\r\n if (this.user.userName && this.user.password) {\r\n this.authService.login(this.user)\r\n .subscribe(\r\n (user: any) => {\r\n if (+user?.statusCode === 200 && user?.data?.token) {\r\n const body = {};\r\n this.authQrcodeService.login(body).subscribe(res => {\r\n track('alert', {\r\n alertType: res.statusCode === 200 ? 'success' : 'failed',\r\n alertMessage: res.statusCode === 200 ? 'Dang nhap thanh cong' : 'Dang nhap that bai'\r\n });\r\n if (res.statusCode === 200) {\r\n // tslint:disable-next-line:max-line-length\r\n if ((this.isVersionViettel && res.data.special_partner_code === 'VIETTEL') || (!this.isVersionViettel && !res.data.special_partner_code)) {\r\n this.styleMessage = {\r\n 'margin-top': '10px',\r\n color: '#01DF01',\r\n 'font-weight': 500,\r\n 'font-size': '13px',\r\n };\r\n this.message = 'Đăng nhập thành công!';\r\n localStorage.setItem('loyaltyUser', JSON.stringify(res.data));\r\n this.router.navigate(['/loyalty/home']);\r\n } else {\r\n this.notiService.notiError('Tài khoản không hợp lệ');\r\n }\r\n } else if (res.statusCode === 403 && res.data && res.data.block) {\r\n this.router.navigate(['/auth/blocked']);\r\n } else {\r\n this.message = `${res.message}`;\r\n }\r\n });\r\n return;\r\n }\r\n this.message = 'Thông tin đăng nhập không chính xác!';\r\n },\r\n error => {\r\n this.message = 'Thông tin đăng nhập không chính xác!';\r\n });\r\n }\r\n }\r\n\r\n checkInputSpace(input) {\r\n return input.replace(/\\s/g, '');\r\n }\r\n\r\n forgotPassword() {\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Quen mat khau',\r\n interaction: 'click',\r\n target: 'resetPasswordPopup',\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n track('trackUnLoadPageView', {\r\n screenName: 'login',\r\n contentType: 'others',\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
Đăng nhập
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{message}}\r\n
\r\n
\r\n \r\n \r\n Quên mật khẩu\r\n \r\n Đăng nhập\r\n \r\n \r\n
\r\n
\r\n
\r\n
Sản phẩm được hợp tác và phát triển bởi Viettel Telecom và iCheck\r\n
\r\n \r\n

Tổng đài CSKH: 18008000 (nhánh 6) - Tư vấn dịch vụ: 18008168 - Email:\r\n cskh@viettel.com.vn

\r\n \r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { AuthService } from 'src/app/modules/auth/auth.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { first } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.scss']\r\n})\r\nexport class RegisterComponent implements OnInit {\r\n\r\n constructor(\r\n private _formBuilder: FormBuilder,\r\n private authService: AuthService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n ) {\r\n if (this.authService.currentUserValue) {\r\n this.router.navigate(['/']);\r\n }\r\n this.frmSingin = _formBuilder.group({\r\n });\r\n }\r\n\r\n frmSingin: FormGroup;\r\n loginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n error = '';\r\n\r\n verifi_password;\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.returnUrl = '/auth/login';\r\n }\r\n\r\n createForm() {\r\n this.frmSingin = this._formBuilder.group({\r\n first_name: [null, [\r\n Validators.minLength(2),\r\n Validators.maxLength(50),\r\n Validators.required,\r\n Validators.pattern('[a-zA-ZàáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđÀÁẠẢÃÂẦẤẨẪẬĂẰẮẲẴẶÈÉẺẼẸÊỀẾỂỄỆÌÍỈĨỊÒÓỎÕỌÔỒỐỔỖỘƠỜỚỞỠỢÙÚỦŨỤƯỪỨỬỮỰỲÝỶỸỴĐ ]*')\r\n ]],\r\n last_name: [null, [\r\n Validators.minLength(2),\r\n Validators.maxLength(50),\r\n Validators.required,\r\n Validators.pattern('[a-zA-ZàáạảãâầấậẩẫăằắặẳẵèéẹẻẽêềếệểễìíịỉĩòóọỏõôồốộổỗơờớợởỡùúụủũưừứựửữỳýỵỷỹđÀÁẠẢÃÂẦẤẨẪẬĂẰẮẲẴẶÈÉẺẼẸÊỀẾỂỄỆÌÍỈĨỊÒÓỎÕỌÔỒỐỔỖỘƠỜỚỞỠỢÙÚỦŨỤƯỪỨỬỮỰỲÝỶỸỴĐ ]*')\r\n ]],\r\n phone: [null, [\r\n Validators.required,\r\n Validators.minLength(10),\r\n Validators.maxLength(10),\r\n Validators.pattern('[0-9]*')\r\n ]],\r\n email: [null, [\r\n Validators.pattern('[a-zA-Z0-9.-_]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')\r\n ]],\r\n password: [null, [\r\n Validators.required,\r\n ]],\r\n confirm_password: [null, [\r\n Validators.required\r\n ]],\r\n });\r\n }\r\n\r\n confirmPassKeypress(event) {\r\n let password = this.frmSingin.value.password;\r\n let confirm_password = event.target.value;\r\n if (password !== confirm_password) {\r\n this.verifi_password = false;\r\n } else { this.verifi_password = true; }\r\n }\r\n\r\n passKeypress(event) {\r\n let confirm_password = this.frmSingin.value.confirm_password;\r\n let password = event.target.value;\r\n if (password !== confirm_password) {\r\n this.verifi_password = false;\r\n } else { this.verifi_password = true; }\r\n }\r\n\r\n submitForm(user) {\r\n for (const key of Object.keys(this.frmSingin.controls)) {\r\n this.frmSingin.controls[key].markAsDirty();\r\n this.frmSingin.controls[key].updateValueAndValidity();\r\n }\r\n\r\n if (user.name === '' || user.phone === '' || user.username === '' || user.password === '' || user.confirm_password === '') {\r\n return;\r\n }\r\n\r\n if (user.password !== user.confirm_password) {\r\n return;\r\n }\r\n\r\n if (this.frmSingin.valid) {\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Đăng ký

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

Vui lòng nhập họ

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

Họ phải có ít nhất 2 chữ cái

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

Họ không được quá 50 chữ cái

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

Họ không hợp lệ

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

Vui lòng nhập tên

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

Tên phải có ít nhất 2 chữ cái

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

Tên không được quá 50 chữ cái

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

Tên không hợp lệ

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

Vui lòng nhập số điện thoại

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

Số điện thoại tối thiểu phải là 10 số

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

Số điện thoại tối đa phải là 10 số

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

Số điện thoại không hợp lệ

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

Email không hợp lệ

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

Vui lòng nhập mật khẩu

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

Vui lòng nhập lại mật khẩu

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

Mật\r\n khẩu xác nhận chưa đúng

\r\n\r\n
\r\n
\r\n Đăng nhập\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","export * from './reset-pass.component'","import {Component, OnInit} from '@angular/core';\r\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\r\nimport {AuthService} from 'src/app/modules/auth/auth.service';\r\nimport {Router, ActivatedRoute} from '@angular/router';\r\nimport {NzNotificationService} from 'ng-zorro-antd/notification';\r\nimport {concatMap} from \"rxjs/operators\";\r\nimport {of} from \"rxjs\";\r\nimport {environment} from \"../../../../environments/environment\";\r\n\r\n@Component({\r\n selector: 'app-reset-pass',\r\n templateUrl: './reset-pass.component.html',\r\n styleUrls: ['./reset-pass.component.scss']\r\n})\r\nexport class ResetPassWordComponent implements OnInit {\r\n isVersionViettel = false;\r\n constructor(\r\n private _formBuilder: FormBuilder,\r\n private auth: AuthService,\r\n private router: Router,\r\n private notification: NzNotificationService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.createForm();\r\n this.isVersionViettel = environment.isVersionViettel;\r\n }\r\n\r\n frmOTP: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n isNotMatch = false;\r\n\r\n error = '';\r\n\r\n createForm() {\r\n this.frmOTP = this._formBuilder.group({\r\n otp: [null, [\r\n Validators.required\r\n ]],\r\n password: [null, [Validators.required]],\r\n confirmed_password: [null, [Validators.required]],\r\n phone: [localStorage.getItem('phone')]\r\n });\r\n }\r\n\r\n submitForm() {\r\n this.frmOTP.value.otp = this.frmOTP.value.otp.trim();\r\n if (this.frmOTP.value.password === this.frmOTP.value.confirmed_password) {\r\n const body = {\r\n token: localStorage.getItem('tokenForgetPassword') || '',\r\n otp: this.frmOTP.value.otp\r\n };\r\n this.auth.confirmOtpForgetPassword(body).pipe(concatMap(res => {\r\n if (+res.statusCode === 200) {\r\n const thuongELly = {\r\n token: res?.data?.token || '',\r\n password: this.frmOTP.value.password,\r\n confirmPassword: this.frmOTP.value.confirmed_password\r\n };\r\n return this.auth.handleForgetPassword(thuongELly);\r\n }\r\n this.notification.error('Có lỗi xảy ra', `${res.message}`);\r\n return of(251997);\r\n })).subscribe(response => {\r\n if (response === 251997) {\r\n return;\r\n }\r\n if (+response.statusCode === 200) {\r\n this.notification.create(\r\n 'success',\r\n `Đổi mật khẩu thành công!`,\r\n `Hãy đăng nhập lại.`\r\n );\r\n this.router.navigate(['/auth/login']);\r\n return;\r\n }\r\n this.notification.error('Có lỗi xảy ra', `${response.message}`);\r\n }, error => {\r\n this.notification.error('Có lỗi xảy ra', `${error}`);\r\n });\r\n } else {\r\n this.isNotMatch = true;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n

Đặt lại mật khẩu

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

Mã kích hoạt đã được gửi đến số điện thoại

\r\n

{{frmOTP.value.phone}}

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

Vui lòng nhập mã xác nhận

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

Vui lòng nhập mật khẩu mới

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

Vui lòng nhập lại mật khẩu

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

Mật khẩu chưa trùng khớp

\r\n
\r\n
\r\n Lấy lại OTP\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
Sản phẩm được hợp tác và phát triển bởi Viettel Telecom và iCheck\r\n
\r\n \r\n

Tổng đài CSKH: 18008000 (nhánh 6) - Tư vấn dịch vụ: 18008168 - Email:\r\n cskh@viettel.com.vn

\r\n
\r\n
","export * from './sync-account.component';\r\nexport * from './sync-form';\r\nexport * from './sync-success';\r\nexport * from './sync-faild';","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { SyncService } from 'src/app/shared/services';\r\n\r\n@Component({\r\n selector: 'app-sync-account',\r\n templateUrl: './sync-account.component.html',\r\n styleUrls: ['./sync-account.component.scss']\r\n})\r\nexport class SyncAccountComponent implements OnInit {\r\n\r\n loading = false;\r\n error = '';\r\n submitted = false;\r\n /*user qrcode*/\r\n loyaltyUser;\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private syncService: SyncService\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.route.queryParams.subscribe(params => {\r\n let id = params['id'];\r\n let phone = params['phone'];\r\n let name = params['name'];\r\n let avatar = params['avatar'] || '';\r\n let access_token = params['access_token'];\r\n if (id && phone && name) {\r\n this.loyaltyUser = {\r\n name: name,\r\n id: id,\r\n phone: phone,\r\n avatar: avatar,\r\n access_token: access_token\r\n }\r\n }\r\n });\r\n }\r\n\r\n syncAcount() {\r\n this.syncService.saveUserLoyalty(this.loyaltyUser);\r\n this.router.navigate(['/auth/sync-form']);\r\n }\r\n\r\n cancel() {\r\n this.router.navigate(['/auth/login']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n

Liên kết tài khoản

\r\n
\r\n

Liên kết tài khoản iCheck với tài khoản QR Code\r\n để tạo chương trình Loyalty áp dụng cho tem QR code của bạn.

\r\n \r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n

{{loyaltyUser?.name}}

\r\n {{loyaltyUser?.phone}}\r\n
\r\n
\r\n
\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 * from './sync-faild.component'","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-sync-faild',\r\n templateUrl: './sync-faild.component.html',\r\n styleUrls: ['./sync-faild.component.scss']\r\n})\r\nexport class SyncFaildComponent implements OnInit {\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.route\r\n .queryParams\r\n .subscribe(params => {\r\n this.message = params.message;\r\n });\r\n }\r\n\r\n message;\r\n syncAgain() {\r\n this.router.navigate(['/auth/sync-form']);\r\n }\r\n\r\n cancel() {\r\n this.router.navigate(['/auth/login']);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
Liên kết không thành công
\r\n

{{message}}

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
","export * from './sync-form.component'","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from '../../auth.service';\r\nimport { SyncService } from 'src/app/shared/services';\r\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\r\n\r\n@Component({\r\n selector: 'app-sync-form',\r\n templateUrl: './sync-form.component.html',\r\n styleUrls: ['./sync-form.component.scss']\r\n})\r\nexport class SyncFormComponent implements OnInit {\r\n\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private syncService: SyncService,\r\n private notification: NzNotificationService,\r\n ) { }\r\n\r\n userLoyalty;\r\n user = {\r\n userName: null,\r\n password: null,\r\n remember: false\r\n };\r\n\r\n message = '';\r\n loading = false;\r\n styleMessage = {\r\n 'margin-top': '10px',\r\n color: 'red',\r\n 'font-weight': 500,\r\n 'font-size': '13px',\r\n };\r\n access_token;\r\n name_company;\r\n\r\n\r\n password = 'password';\r\n ngOnInit() {\r\n this.syncService.userLoyalty.subscribe(data => {\r\n this.access_token = data.access_token;\r\n this.name_company = data.name;\r\n });\r\n }\r\n showPass(input) {\r\n if (input === 'eye') {\r\n this.password = 'text';\r\n } else {\r\n this.password = 'password';\r\n }\r\n }\r\n\r\n login() {\r\n this.user.userName = this.checkInputSpace(this.user.userName);\r\n this.user.password = this.checkInputSpace(this.user.password);\r\n if (this.user.userName && this.user.userName) {\r\n this.authService.login(this.user)\r\n .subscribe(\r\n (user: any) => {\r\n if (+user?.statusCode === 200 && user?.data?.token) {\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n // sau khi login thanh cong vao gateway thi goi api dong bo ben loyalty\r\n const body = {\r\n token: this.access_token\r\n };\r\n this.syncService.syncQrcodeLoyalty(body).subscribe(\r\n (result) => {\r\n if (result.statusCode === 200) {\r\n localStorage.setItem('loyaltyUser', JSON.stringify(result.data));\r\n this.router.navigate(['/auth/sync-success']);\r\n } else {\r\n this.router.navigate(['/auth/sync-faild'], { queryParams: { message: result.message } });\r\n }\r\n },\r\n (err) => {\r\n this.notification.create(\r\n 'error',\r\n 'Hệ thống bị lỗi!!!',\r\n `${err}`\r\n );\r\n });\r\n }\r\n },\r\n (err) => {\r\n this.message = 'Thông tin tài khoản không chính xác!';\r\n });\r\n }\r\n }\r\n\r\n checkInputSpace(input) {\r\n return input.replace(/\\s/g, '');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
Liên kết tài khoản
\r\n

Đăng nhập bằng tài khoản iCheck muốn liên kết với tài khoản QR Code: {{name_company}}\r\n

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {{message}}\r\n
\r\n
\r\n \r\n \r\n Quên mật khẩu\r\n \r\n \r\n \r\n
\r\n
\r\n
","export * from './sync-success.component'","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-sync-success',\r\n templateUrl: './sync-success.component.html',\r\n styleUrls: ['./sync-success.component.scss']\r\n})\r\nexport class SyncSuccessComponent implements OnInit {\r\n\r\n constructor(\r\n ) { }\r\n\r\n ngOnInit() { }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
Liên kết thành công
\r\n

Bạn đã liên kết tài khoản thành công và có thể tạo chương trình Loyalty cho tem QR code.

\r\n \r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { BaseLoyaltyService } from 'src/app/shared/services/base-loyalty.service';\r\n\r\n@Injectable()\r\nexport class CampaignService extends BaseLoyaltyService {\r\n\r\n // Change step\r\n private changeStepSubject = new BehaviorSubject(0);\r\n getStep = this.changeStepSubject.asObservable();\r\n\r\n // Send object Campaign\r\n private campaignSubject = new BehaviorSubject(null);\r\n getCampaign = this.campaignSubject.asObservable();\r\n\r\n changeStep(step: number) {\r\n this.changeStepSubject.next(step);\r\n }\r\n\r\n sendCampaign(campaign: any) {\r\n this.campaignSubject.next(campaign);\r\n }\r\n\r\n checkNumberInput213(value, isZero = false) {\r\n const result = { status: false, message: '' };\r\n if (value !== Number(value)) {\r\n result.message = 'Đây không phải số';\r\n result.status = false;\r\n return result;\r\n }\r\n\r\n if (Number(value) < 0) {\r\n result.message = 'Không được nhập số âm!';\r\n result.status = false;\r\n return result;\r\n }\r\n\r\n if (!isZero && value === 0) {\r\n result.status = false;\r\n result.message = 'Đây không phải là số!';\r\n return result;\r\n }\r\n\r\n result.status = true;\r\n result.message = 'Đung!';\r\n return result;\r\n }\r\n\r\n /*chi lay cac goi ma cua doanh nghiep chua su dung*/\r\n getPackageCodeUse(query?: any): Observable {\r\n return this.get(`campaign/package-code/list`, { params: query });\r\n }\r\n\r\n getCodeByPackage(idPackage, query): Observable {\r\n return this.get(`/package-code/getcode/${idPackage}`, { params: query });\r\n }\r\n\r\n getCodeByPackageUpdate(boxGiftId, packageCodeId, query): Observable {\r\n return this.get(`/campaign/box-gift/${boxGiftId}/package-code/${packageCodeId}/codes`, { params: query });\r\n }\r\n\r\n getListCodeSelected(listCode, query): Observable {\r\n const res = listCode.slice(query.offset, query.offset + query.limit);\r\n const data = {\r\n count: listCode.length,\r\n rows: res\r\n };\r\n const observable = new Observable(subscriber => {\r\n subscriber.next(data);\r\n subscriber.complete();\r\n });\r\n return observable;\r\n }\r\n\r\n /*Danh sách mã trúng thưởng đã chọn với 1 quà*/\r\n getListCodeBonusByGift(boxGiftId, query): Observable {\r\n return this.get(`/campaign/box-gift/${boxGiftId}/codes-win`, { params: query });\r\n }\r\n\r\n /*Xóa mã trúng thưởng khỏi chương trình*/\r\n deleteBonusCode(boxGiftId, body): Observable {\r\n return this.delete(`/campaign/box-gift/${boxGiftId}/code-win`, body);\r\n }\r\n\r\n checkBarcode(body: any): Observable {\r\n return this.post(`/campaign/check-barcode`, body);\r\n }\r\n\r\n createCampaign(body: any): Observable {\r\n return this.post(`/campaign`, body);\r\n }\r\n\r\n updateCampaign(idCampaign: number, body: any): Observable {\r\n return this.put(`/campaign/${idCampaign}`, body);\r\n }\r\n\r\n updateStatus(idCampaign: number, body: any): Observable {\r\n return this.patch(`/campaign/${idCampaign}/staff-change-status`, body);\r\n }\r\n\r\n getDetail(id: string): Observable {\r\n return this.get(`/campaign/${id}`);\r\n }\r\n\r\n stopCampaign(idCampaign, body): Observable {\r\n return this.patch(`/campaign/${idCampaign}/staff-change-status`, body);\r\n }\r\n\r\n activeCampaign(idCampaign, body): Observable {\r\n return this.patch(`/campaign/${idCampaign}/staff-change-status`, body);\r\n }\r\n checkCanCreateCampaignLongTermPoints(): Observable {\r\n return this.get(`/loyalty/network-information`);\r\n }\r\n}\r\n","export * from './campaign.service';\r\nexport * from './shares.service';\r\nexport * from './qr-code.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseLoyaltyService } from 'src/app/shared/services/base-loyalty.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class QRCodeService extends BaseLoyaltyService {\r\n mergeArray(inputArr) {\r\n const result: any = [];\r\n return new Promise((resolve, reject) => {\r\n inputArr.sort((a, b) => a.id_end - b.id_end);\r\n for (const item of inputArr) {\r\n if (result.length === 0) {\r\n result.push(item);\r\n continue;\r\n }\r\n if (result[result.length - 1].end + 1 === item.start) {\r\n result[result.length - 1].end = item.end;\r\n } else {\r\n result.push(item);\r\n }\r\n }\r\n resolve(result);\r\n });\r\n }\r\n check(inputPrefix: any, serial: any) {\r\n return new Promise((resolve, reject) => {\r\n const res = { error: [], status: false };\r\n for (let i = 0; i < inputPrefix.length; i++) {\r\n const item = inputPrefix[i];\r\n const nextItem = inputPrefix[i + 1];\r\n if (serial.start >= item.id_start && serial.end <= item.id_end) {\r\n res.status = true;\r\n resolve(res);\r\n }\r\n if (item.id_start <= serial.start && item.id_end < serial.end) {\r\n res.error.push({\r\n start: item.id_end + 1,\r\n end: nextItem ? nextItem.id_start - 1 : serial.end\r\n });\r\n continue;\r\n }\r\n if (item.id_end < serial.end) {\r\n res.error.push({\r\n start: item.id_end + 1,\r\n end: nextItem ? nextItem.id_start - 1 : serial.end\r\n });\r\n continue;\r\n }\r\n if (item.id_start > serial.end) {\r\n res.error.push({\r\n start: serial.start,\r\n end: item.id_start\r\n });\r\n continue;\r\n }\r\n }\r\n resolve(res);\r\n });\r\n }\r\n checkStampSerial(stamp): Observable {\r\n return this.post(`/qrcode/check-serial`, stamp);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseLoyaltyService } from 'src/app/shared/services/base-loyalty.service';\r\nimport { ResponseModel } from 'src/app/shared/models/response';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class SharesService extends BaseLoyaltyService {\r\n\r\n getGame(): Observable {\r\n return this.get(`/sponsor/game`);\r\n }\r\n\r\n // theme\r\n getThemesGame(): Observable {\r\n return this.get(`/sponsor/game/themes`);\r\n }\r\n getTheme(id: number) {\r\n return this.get(`/sponsor/game/${id}/theme_game`);\r\n }\r\n\r\n createTheme(body: any) {\r\n return this.post(`/sponsor/game/themes`, body);\r\n }\r\n\r\n updateTheme(id: number, body: any) {\r\n return this.put(`/sponsor/game/${id}/themes`, body);\r\n }\r\n // end\r\n\r\n getPackageSponsor(query): Observable {\r\n return this.get(`/sponsor`, { params: query });\r\n }\r\n\r\n getObejctLanding(): Observable {\r\n return this.get(`/campaign/schema`);\r\n }\r\n\r\n actionWhiteList(id: number, query: any, body?: any): Observable {\r\n return this.post(`/campaign/${id}/customers/${query}`, body)\r\n }\r\n\r\n postFile(fileToUpload: File, id: any, params?: any): Observable {\r\n const endpoint = `/campaign/${id}/upload-customers`;\r\n const formData: FormData = new FormData();\r\n formData.append('name_file', fileToUpload);\r\n return this\r\n .post(endpoint, formData, { params })\r\n .pipe(map((res) => res));\r\n }\r\n}\r\n","import {Directive, EventEmitter, HostListener, Output} from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n@Directive({\r\n selector: '[appDragDrop]'\r\n})\r\nexport class DragDropDirective {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n @Output() files: EventEmitter = new EventEmitter();\r\n\r\n @HostListener('dragover', ['$event']) public onDragOver(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n }\r\n\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n }\r\n\r\n @HostListener('drop', ['$event']) public onDrop(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n\r\n // for (let i = 0; i < evt.dataTransfer.files.length; i++) {\r\n // const file = evt.dataTransfer.files[i];\r\n // const url = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(file));\r\n // files.push({ file, url });\r\n // }\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.files.emit(files);\r\n }\r\n }\r\n\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {environment} from \"../../../../environments/environment\";\r\n\r\n// tslint:disable-next-line:ban-types\r\ndeclare var gtag: Function;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GoogleAnalyticService {\r\n\r\n constructor() { }\r\n\r\n public event(action: string, payload: any) {\r\n console.log('bắn event', payload);\r\n console.log('action', action);\r\n gtag('event', action, payload);\r\n }\r\n\r\n public initialize() {\r\n // dynamically add analytics scripts to document head\r\n try {\r\n const url = 'https://www.googletagmanager.com/gtag/js?id=';\r\n const gTagScript = document.createElement('script');\r\n gTagScript.async = true;\r\n gTagScript.src = `${url}${environment.googleAnalyticId}`;\r\n document.head.appendChild(gTagScript);\r\n\r\n const dataLayerScript = document.createElement('script');\r\n dataLayerScript.innerHTML = `\r\n window.dataLayer = window.dataLayer || [];\r\n function gtag(){dataLayer.push(arguments);}\r\n gtag('js', new Date());\r\n gtag('config', '${environment.googleAnalyticId}', {'send_page_view': false});`;\r\n document.head.appendChild(dataLayerScript);\r\n } catch (e) {\r\n console.error('Error adding Google Analytics', e);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { LoyaltyComponent } from './loyalty.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '', component: LoyaltyComponent,\r\n children: [\r\n { path: '', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule) },\r\n { path: 'home', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule) },\r\n { path: 'customers', loadChildren: () => import('./customers/customers.module').then(m => m.WinnersModule) },\r\n { path: 'campaigns', loadChildren: () => import('./campaign/campaign.module').then(m => m.CampaignModule) },\r\n { path: 'gifts', loadChildren: () => import('./gifts/gifts.module').then(m => m.GiftsModule) },\r\n { path: 'settings', loadChildren: () => import('./settings/settings.module').then(m => m.SettingsModule) },\r\n { path: 'bonus-code', loadChildren: () => import('./bonus-code/bonus-code.module').then(m => m.BonusCodeModule) },\r\n { path: 'orders', loadChildren: () => import('./orders/orders.module').then(m => m.OrdersModule) },\r\n { path: 'sponsors', loadChildren: () => import('./sponsor/sponsor.module').then(m => m.SponsorModule) },\r\n // tslint:disable-next-line:max-line-length\r\n { path: 'accumulate-points', loadChildren: () => import('./accumulate-point/accumulate-points.module').then(m => m.AccumulatePointsModule) },\r\n { path: 'member', loadChildren: () => import('./member-gift/member.module').then(m => m.MemberModule) },\r\n { path: 'exchange-gift', loadChildren: () => import('./exchange-gift/exchange-gift.module').then(m => m.ExchangeGiftModule) },\r\n // tslint:disable-next-line:max-line-length\r\n { path: 'exchange-gift-store', loadChildren: () => import('./exchange-gift-store/exchange-gift-store.module').then(m => m.ExchangeGiftModule) },\r\n { path: 'sell-out', loadChildren: () => import('./seller/seller.module').then(m => m.SellerModule)},\r\n // tslint:disable-next-line:max-line-length\r\n { path: 'voucher-management', loadChildren: () => import('./voucher-management/voucher-management.module').then(m => m.VoucherManagementModule)},\r\n ]\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class LoyaltyRoutingModule { }\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/modules/auth/auth.service';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { RootService } from 'src/app/shared/services/root.service';\r\nimport { UpdateBusinessComponent } from 'src/app/shared/components/update-business/update-business.component';\r\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\r\nimport { NzModalService } from 'ng-zorro-antd';\r\nimport { ModalOutDateComponent } from 'src/app/shared/modal-out-date/modal-out-date.component';\r\nimport { CommonService } from 'src/app/shared/services/common/common.service';\r\nimport * as moment from 'moment';\r\nimport { DateExpiredComponent } from 'src/app/shared/date-expired/date-expired.component';\r\nimport { CampaignService } from './campaign/services/campaign.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-loyalty',\r\n templateUrl: './loyalty.component.html',\r\n styleUrls: ['./loyalty.component.scss']\r\n})\r\nexport class LoyaltyComponent implements OnInit, OnDestroy {\r\n isCollapsed = true;\r\n isVisible = false;\r\n changeTab = false;\r\n isCheckTeko = false;\r\n unsubscribe$ = new Subject();\r\n timeToday = new Date();\r\n subscriptionCampaign: Subscription;\r\n menu = [\r\n {\r\n title: 'Thống kê loyalty',\r\n routerLink: '/loyalty/home',\r\n class: 'iconMenu2',\r\n nzType: 'line-chart',\r\n nzTheme: 'outline',\r\n isChildren: false,\r\n isViettelCheck: true,\r\n isTeko: false,\r\n },\r\n {\r\n title: 'Chương trình',\r\n routerLink: '/loyalty/campaigns',\r\n class: 'iconMenu2',\r\n nzType: 'appstore',\r\n nzTheme: 'outline',\r\n isChildren: false,\r\n isViettelCheck: true,\r\n isTeko: false\r\n },\r\n {\r\n title: 'Tài trợ',\r\n routerLink: '',\r\n class: 'iconMenu2',\r\n nzType: 'sketch',\r\n nzTheme: 'outline',\r\n isChildren: true,\r\n isViettelCheck: false,\r\n children: [\r\n {\r\n routerLink: '/loyalty/sponsors/sponsor-me',\r\n title: 'Gói tài trợ'\r\n },\r\n {\r\n routerLink: '/loyalty/sponsors/sponsor-management',\r\n title: 'Duyệt tài trợ'\r\n }\r\n ]\r\n },\r\n // ẩn chương trình sell-out\r\n // {\r\n // title: 'Chương trình Sell-out',\r\n // routerLink: '/loyalty/sell-out/campaign',\r\n // class: 'iconMenu2',\r\n // nzType: 'shopping',\r\n // nzTheme: 'outline',\r\n // isChildren: true,\r\n // children: [\r\n // {\r\n // routerLink: '/loyalty/sell-out/campaign/create',\r\n // title: 'Tạo chương trình'\r\n // },\r\n // {\r\n // routerLink: '/loyalty/sell-out',\r\n // title: 'Danh sách'\r\n // },\r\n // {\r\n // routerLink: '2',\r\n // title: 'Thống kê chỉ số Sell-in'\r\n // },\r\n // {\r\n // routerLink: '3',\r\n // title: 'Thống kê thanh toán'\r\n // },\r\n // {\r\n // routerLink: '4',\r\n // title: 'Thống kê điểm thưởng'\r\n // },\r\n // {\r\n // routerLink: '5',\r\n // title: 'Lịch sử trả thưởng'\r\n // },\r\n // {\r\n // routerLink: '6',\r\n // title: 'Lịch sử đổi điểm'\r\n // },\r\n // ]\r\n // },\r\n {\r\n title: 'Quản lý gói voucher',\r\n routerLink: '/loyalty/manager-package-voucher',\r\n class: 'iconMenu2',\r\n nzType: 'book',\r\n nzTheme: 'outline',\r\n isChildren: true,\r\n isViettelCheck: true,\r\n isTeko: false,\r\n children: [\r\n {\r\n routerLink: '/loyalty/voucher-management/vouchers',\r\n title: 'Danh sách gói voucher',\r\n isViettelCheck: true\r\n },\r\n {\r\n routerLink: '/loyalty/voucher-management/history-voucher',\r\n title: 'Lịch sử voucher',\r\n isViettelCheck: true\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Đơn hàng',\r\n routerLink: '/loyalty/orders',\r\n class: 'iconMenu2',\r\n nzType: 'book',\r\n nzTheme: 'outline',\r\n isChildren: false,\r\n isViettelCheck: false,\r\n isTeko: false,\r\n },\r\n {\r\n title: 'Mã dự thưởng',\r\n routerLink: '/loyalty/bonus-code',\r\n class: 'iconMenu2',\r\n nzType: 'qrcode',\r\n nzTheme: 'outline',\r\n isChildren: false,\r\n isViettelCheck: false,\r\n isTeko: false,\r\n },\r\n {\r\n title: 'Quà tặng',\r\n routerLink: '/loyalty/gifts',\r\n class: 'iconMenu2',\r\n nzType: 'gift',\r\n nzTheme: 'outline',\r\n isChildren: false,\r\n isViettelCheck: true,\r\n isTeko: false\r\n },\r\n {\r\n title: 'Khách hàng',\r\n routerLink: '',\r\n class: 'iconMenu2',\r\n nzType: 'team',\r\n nzTheme: 'outline',\r\n isChildren: true,\r\n isViettelCheck: true,\r\n isTeko: false,\r\n children: [\r\n {\r\n routerLink: '/loyalty/customers/programs',\r\n title: 'Danh sách khách hàng',\r\n isViettelCheck: true\r\n },\r\n {\r\n routerLink: '/loyalty/customers/winners',\r\n title: 'Lịch sử trúng thưởng',\r\n isViettelCheck: true\r\n },\r\n // {\r\n // routerLink: '/loyalty/customers/statistical',\r\n // title: 'Thống kê trúng thưởng',\r\n // isViettelCheck: true\r\n // },\r\n {\r\n routerLink: '/loyalty/customers/activities',\r\n title: 'Lịch sử tham gia',\r\n isViettelCheck: true\r\n }\r\n ]\r\n },\r\n // {\r\n // title: 'Tích điểm thành viên',\r\n // routerLink: '',\r\n // class: 'iconMenu2',\r\n // nzType: 'transaction',\r\n // nzTheme: 'outline',\r\n // isChildren: true,\r\n // isViettelCheck: false,\r\n // isTeko: true,\r\n // children: [\r\n // {\r\n // routerLink: '/member/member-gift',\r\n // title: 'Quà tặng thành viên'\r\n // },\r\n // {\r\n // routerLink: '/member/member-point',\r\n // title: 'Điểm khách hàng'\r\n // },\r\n // {\r\n // routerLink: '/loyalty/exchange-gift',\r\n // title: 'Danh sách đổi quà'\r\n // },\r\n // {\r\n // routerLink: '/loyalty/exchange-gift-store',\r\n // title: 'Thống kê danh sách đổi quà'\r\n // },\r\n // ]\r\n // },\r\n {\r\n title: 'Điểm tích lũy',\r\n routerLink: '',\r\n class: 'iconMenu2',\r\n nzType: 'transaction',\r\n nzTheme: 'outline',\r\n isChildren: true,\r\n isViettelCheck: true,\r\n isTeko: false,\r\n children: [\r\n {\r\n routerLink: '/loyalty/accumulate-points/points-customer',\r\n title: 'Điểm khách hàng',\r\n isViettelCheck: true\r\n },\r\n {\r\n routerLink: '/loyalty/accumulate-points/gifts-customer',\r\n title: 'Danh sách đổi quà',\r\n isViettelCheck: true\r\n },\r\n {\r\n routerLink: '/loyalty/accumulate-points/statistical-gift',\r\n title: 'Thống kê danh sách đổi quà tại cửa hàng',\r\n isViettelCheck: true\r\n }\r\n ]\r\n },\r\n {\r\n title: 'Cấu hình',\r\n routerLink: '',\r\n class: 'iconMenu2',\r\n nzType: 'setting',\r\n nzTheme: 'outline',\r\n isChildren: true,\r\n isViettelCheck: false,\r\n isTeko: false,\r\n children: [\r\n {\r\n routerLink: '/loyalty/settings/staffs',\r\n title: 'Nhân viên',\r\n isViettelCheck: true\r\n },\r\n {\r\n routerLink: '/loyalty/settings/distributors',\r\n title: 'Đại lý - Cửa hàng',\r\n isViettelCheck: false\r\n }\r\n ]\r\n },\r\n ];\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n private rootService: RootService,\r\n private notification: NzNotificationService,\r\n private modalService: NzModalService,\r\n public commonService: CommonService,\r\n ) {\r\n this.getUser();\r\n // this.checkName = ViettelValue();\r\n }\r\n\r\n loyaltyUser;\r\n // tslint:disable-next-line:variable-name\r\n url_image;\r\n isCheckAccountVietel: boolean = false;\r\n dateViettel: any;\r\n isExpiredViettel: boolean = false;\r\n ngOnInit() {\r\n this.$jquery();\r\n this.listenChange();\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n\r\n this.subscriptionCampaign = this.commonService.isExpiredByViettel.asObservable().subscribe(val => {\r\n this.isExpiredViettel = val;\r\n });\r\n\r\n\r\n // check điều kiện tài khoản teko\r\n // this.rootService.checkCanCreateCampaignLongTermPoints().subscribe(res => {\r\n // if (res.statusCode !== 200) {\r\n // this.isCheckTeko = true;\r\n // console.log('xxxx', this.isCheckTeko);\r\n // }\r\n // });\r\n }\r\n\r\n changeMenu() {\r\n this.changeTab = !this.changeTab;\r\n this.rootService.saveChangeTab(this.changeTab);\r\n this.listenChange();\r\n }\r\n\r\n listenChange() {\r\n if (this.changeTab === true) {\r\n this.isCollapsed = false;\r\n } else {\r\n this.isCollapsed = true;\r\n this.rootService.currentMessage.pipe(takeUntil(this.unsubscribe$)).subscribe(message => {\r\n if (this.changeTab === true) {\r\n this.isCollapsed = false;\r\n this.menu.map(item => {\r\n return item.class = !this.isCollapsed ? 'iconMenu' : 'iconMenu2';\r\n });\r\n } else {\r\n this.isCollapsed = message;\r\n this.menu.map(item => {\r\n return item.class = !this.isCollapsed ? 'iconMenu' : 'iconMenu2';\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.isCheckAccountVietel) {\r\n console.log('vào rồi', moment());\r\n console.log('vào rồi2', moment(this.dateViettel));\r\n console.log(moment().isAfter(moment(this.dateViettel)));\r\n if (this.commonService.isExpiredViettel()) {\r\n const modal = this.modalService.create({\r\n nzVisible: true,\r\n nzTitle: `Thông báo`,\r\n nzContent: DateExpiredComponent,\r\n nzClosable: false,\r\n nzWidth: 600,\r\n nzStyle: { top: '30px' },\r\n nzFooter: null,\r\n nzClassName: !this.isCheckAccountVietel ? '' : 'modal-viettel',\r\n nzMaskClosable: false,\r\n nzComponentParams: {\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n logout() {\r\n localStorage.clear();\r\n this.authService.logout();\r\n this.router.navigate(['/auth/login']);\r\n // localStorage.removeItem('loyaltyUser');\r\n // location.reload();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.complete();\r\n this.unsubscribe$.unsubscribe();\r\n this.subscriptionCampaign.unsubscribe();\r\n }\r\n\r\n $jquery() {\r\n $('.selected-user').click(function (event) {\r\n event.stopPropagation();\r\n $('.icon-down-user').toggleClass('flip');\r\n $('.box-user').toggle();\r\n });\r\n\r\n $(window).click(function () {\r\n if ($('.box-user').css('display') == 'block') {\r\n $('.box-user').hide();\r\n $('.icon-down-user').toggleClass('flip');\r\n }\r\n });\r\n }\r\n\r\n updateBusiness() {\r\n const modal = this.modalService.create({\r\n nzVisible: true,\r\n nzTitle: `Thông tin doanh nghiệp`,\r\n nzContent: UpdateBusinessComponent,\r\n nzClosable: false,\r\n nzWidth: 700,\r\n nzStyle: { top: '30px' },\r\n nzFooter: null,\r\n nzClassName: !this.isCheckAccountVietel ? '' : 'modal-viettel',\r\n nzMaskClosable: false,\r\n nzComponentParams: {}\r\n });\r\n modal.afterClose.pipe(takeUntil(this.unsubscribe$)).subscribe(result => {\r\n if (result && result.statusCode === 200) {\r\n this.notification.create(\r\n 'success',\r\n `Cập nhật thành công!`,\r\n `Cập nhật thông tin doanh nghiệp thành công!`\r\n );\r\n this.getUser();\r\n }\r\n if (result && !result.statusCode) {\r\n this.notification.create(\r\n 'error',\r\n 'Có lỗi xảy ra !!!',\r\n `${result}`\r\n );\r\n }\r\n });\r\n }\r\n\r\n\r\n getUser() {\r\n if (localStorage.getItem('loyaltyUser')) {\r\n this.loyaltyUser = JSON.parse(localStorage.getItem('loyaltyUser'));\r\n if (this.loyaltyUser.logo) {\r\n this.url_image = this.loyaltyUser.logo.small;\r\n } else {\r\n this.url_image = '/assets/images/default-avatar.png';\r\n }\r\n }\r\n }\r\n\r\n // popup hiển thị khi hết thời gian sử dụng\r\n outDateTime() {\r\n const modal = this.modalService.create({\r\n nzVisible: true,\r\n nzTitle: `Thông báo`,\r\n nzContent: ModalOutDateComponent,\r\n nzClosable: false,\r\n nzWidth: 500,\r\n nzStyle: { top: '30px' },\r\n nzFooter: null,\r\n nzClassName: !this.isCheckAccountVietel ? '' : 'modal-viettel',\r\n nzMaskClosable: false,\r\n nzComponentParams: {}\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
  • \r\n \r\n {{item.title}}\r\n
  • \r\n
  • \r\n
      \r\n
    • \r\n {{child.title}}\r\n
    • \r\n
    \r\n
  • \r\n
    \r\n
\r\n
    \r\n \r\n
  • \r\n \r\n {{item.title}}\r\n
  • \r\n
  • \r\n
      \r\n
    • \r\n {{child.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 TÀI KHOẢN ĐÃ HẾT HẠN\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n

Sản phẩm được hợp tác và phát triển bởi Viettel Telecom và iCheck

\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { LoyaltyRoutingModule } from './loyalty-routing.module';\r\nimport { LoyaltyComponent } from './loyalty.component';\r\nimport { NgZorroAntdModule, NZ_I18N, en_US } from 'ng-zorro-antd';\r\nimport { LoyaltytDirective } from 'src/app/loyalty.directive';\r\nimport { SharedModule } from 'src/app/shared/shared.module';\r\nimport { AuthModule } from '../auth/auth.module';\r\nimport { NzSpinModule } from 'ng-zorro-antd/spin';\r\nimport { DragDropDirective } from './directive/drag-drop.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n LoyaltyComponent,\r\n LoyaltytDirective,\r\n DragDropDirective,\r\n // ExchangeGiftComponent,\r\n // ExchangeGiftStoreComponent\r\n ],\r\n exports: [\r\n DragDropDirective\r\n ],\r\n imports: [\r\n CommonModule,\r\n LoyaltyRoutingModule,\r\n NgZorroAntdModule,\r\n SharedModule,\r\n AuthModule,\r\n NzSpinModule,\r\n ]\r\n})\r\nexport class LoyaltyModule { }\r\n","import {\r\n ActionReducer,\r\n ActionReducerMap,\r\n createFeatureSelector,\r\n createSelector,\r\n MetaReducer\r\n} from '@ngrx/store';\r\nimport { environment } from '../../environments/environment';\r\n\r\nexport interface State {\r\n\r\n}\r\n\r\nexport const reducers: ActionReducerMap = {\r\n\r\n};\r\n\r\n\r\nexport const metaReducers: MetaReducer[] = !environment.production ? [] : [];\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {NzModalRef} from 'ng-zorro-antd';\r\n\r\n@Component({\r\n selector: 'app-alert-retarget',\r\n templateUrl: './alert-retarget.component.html',\r\n styleUrls: ['./alert-retarget.component.scss']\r\n})\r\nexport class AlertRetargetComponent implements OnInit {\r\n isShow = false;\r\n constructor(\r\n private modalRef: NzModalRef,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n onShowModal() {\r\n this.isShow = true;\r\n }\r\n\r\n closeModal() {\r\n // this.isShow = false;\r\n this.modalRef.close('close');\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
Bạn chưa đăng ký sử dụng dịch vụ Re-target
\r\n\r\n
Vui lòng liên hệ iCheck để đăng ký sử dụng dịch vụ này
\r\n
\r\n\r\n
\r\n \r\n
\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { FormArray, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { NzModalService, TransferItem, NzConfigService } from 'ng-zorro-antd';\r\nimport { Subject } from 'rxjs';\r\nimport { CommonService } from 'src/app/shared/services/common/common.service';\r\nimport { track } from 'src/app/helpers/tracking-teko';\r\n\r\n@Component({\r\n selector: 'app-delete-popup',\r\n templateUrl: './delete-popup.component.html',\r\n styleUrls: ['./delete-popup.component.scss']\r\n})\r\nexport class DeletePopupComponent implements OnInit {\r\n isVisible = false;\r\n index = 1;\r\n isCheckAccountVietel = false;\r\n name: any;\r\n title: any;\r\n data: any;\r\n id: any;\r\n // tslint:disable-next-line:variable-name\r\n @Output() emitData = new EventEmitter();\r\n\r\n constructor(\r\n private fb: FormBuilder,\r\n private modalService: NzModalService,\r\n private notification: NzConfigService,\r\n public commonService: CommonService\r\n\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n }\r\n\r\n\r\n handleCancel(): void {\r\n this.isVisible = false;\r\n }\r\n\r\n showModal(data: any, id?: any) {\r\n this.isVisible = true;\r\n this.data = data;\r\n if (typeof id === 'string') {\r\n let a = [];\r\n a.push(id)\r\n this.id = a;\r\n } else {\r\n this.id = id;\r\n }\r\n }\r\n\r\n onSubmit() {\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Xac nhan',\r\n interaction: 'click',\r\n regionName: 'popup'\r\n });\r\n this.emitData.emit(this.id);\r\n this.isVisible = false;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
{{data.label}}
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","\r\n fileList.length\" [nzCustomRequest]=\"tusUpload\"\r\n (nzChange)=\"onChange($event)\" [nzBeforeUpload]=\"beforeUpload\">\r\n Kích thước:\r\n {{sizes[0].width}} x\r\n {{sizes[0].height}} \r\n \r\n
Upload
\r\n
\r\n","import { Component, OnInit, ViewChild, ElementRef, OnChanges, SimpleChanges, Output, EventEmitter, Input } from '@angular/core';\r\nimport { UploadXHRArgs, UploadChangeParam, UploadFile, InputBoolean, InputNumber, NzMessageService } from 'ng-zorro-antd';\r\nimport { of, timer, Observable, Observer, from } from 'rxjs';\r\nimport { UploadService } from '../../../services/upload.service';\r\nimport { map, take, tap, switchMap } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-i-image',\r\n templateUrl: './image.component.html'\r\n})\r\nexport class ImageComponent implements OnInit {\r\n\r\n @Input() @InputNumber() maxSize = 0;\r\n @Input() fileType: string;\r\n @Input() fileExt: string;\r\n @Input() @InputBoolean() multiple: boolean = false;\r\n @Output() change = new EventEmitter();\r\n @Output() done = new EventEmitter();\r\n\r\n @Input() sizes: any[] = [];\r\n @Output() returnSize = new EventEmitter();\r\n @Input() variant: any;\r\n @Input() index_variant: any;\r\n @Input() code: any;\r\n @Input() maxImage: number;\r\n\r\n size: string;\r\n\r\n showUploadButton = true;\r\n uploadError: string;\r\n public showUploadList = {\r\n showPreviewIcon: true,\r\n showRemoveIcon: true,\r\n hidePreviewIconInNonImage: true\r\n }\r\n @Input() fileList: any = [];\r\n\r\n constructor(private upload: UploadService,\r\n\r\n private message: NzMessageService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.maxImage === undefined) {\r\n this.maxImage = 20;\r\n }\r\n\r\n if (!this.fileList) {\r\n this.fileList = [];\r\n }\r\n }\r\n\r\n\r\n beforeUpload = (file: UploadFile) => {\r\n const promise = new Promise((resolve, reject) => {\r\n if (!this.isImage(file.type)) {\r\n resolve(file);\r\n }\r\n\r\n const img = new Image();\r\n img.src = window.URL.createObjectURL(file);\r\n img.onload = () => {\r\n const width = img.naturalWidth;\r\n const height = img.naturalHeight;\r\n window.URL.revokeObjectURL(img.src);\r\n file.dimensions = {\r\n width,\r\n height\r\n };\r\n resolve(file);\r\n };\r\n });\r\n\r\n return from(promise).pipe(map(file => {\r\n if (this.fileType) {\r\n const type = file.type;\r\n if (!type || this.fileType.indexOf(type) < 0) {\r\n this.message.create('error', 'Định dạng file không được hỗ trợ');\r\n return false;\r\n }\r\n }\r\n\r\n if (this.fileExt) {\r\n const ext = file.name.split('.').pop().toLowerCase();\r\n\r\n if (!ext || this.fileExt.toLowerCase().indexOf(ext) < 0) {\r\n this.message.create('error', 'Định dạng file không được hỗ trợ');\r\n return false;\r\n }\r\n }\r\n\r\n if (file.size > 5000000) {\r\n this.message.create('error', 'Dung lượng file vượt quá 5MB');\r\n return false;\r\n }\r\n\r\n if (this.sizes.length) {\r\n if (!(file.dimensions.width == this.sizes[0].width && file.dimensions.height == this.sizes[0].height)) {\r\n this.message.create(\"error\", `Kích cỡ hình ảnh không phù hợp ( ${this.sizes[0].width} x ${this.sizes[0].height} )`);\r\n return false;\r\n }\r\n }\r\n return true;\r\n\r\n }));\r\n }\r\n\r\n tusUpload = (item: UploadXHRArgs) => {\r\n if (item.file) {\r\n return this.upload.postImg(item.file).subscribe(\r\n (res) => item.onSuccess!({\r\n id: res.data.url,\r\n url: res.data.url,\r\n }, item.file!, null),\r\n (err) => {\r\n this.message.create(\"error\", `Ảnh quá nặng vui lòng upload ảnh nhẹ hơn.`);\r\n }\r\n );\r\n }\r\n }\r\n\r\n onChange($event: UploadChangeParam) {\r\n if ($event.fileList.filter(file => file.status !== 'done').length > 0) {\r\n this.showUploadButton = false;\r\n } else {\r\n this.showUploadButton = true;\r\n this.done.emit();\r\n }\r\n\r\n if (this.variant) {\r\n $event['obj_variant'] = this.variant;\r\n }\r\n\r\n if (this.index_variant !== undefined && this.index_variant !== null) {\r\n $event['index_variant'] = this.index_variant;\r\n }\r\n\r\n if (this.code) {\r\n $event['code'] = this.code;\r\n }\r\n this.change.emit($event);\r\n }\r\n\r\n protected isImage(type: string) {\r\n return type && type.split('/')[0] === 'image';\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport * as _ from 'lodash';\r\nimport { BaseService } from '../../../services/base.service';\r\n\r\n@Component({\r\n selector: 'i-input',\r\n templateUrl: './input.component.html',\r\n styleUrls: ['./input.component.css']\r\n})\r\nexport class InputComponent implements OnInit, OnChanges {\r\n\r\n @Input()\r\n member: any = {};\r\n public tips: string;\r\n public name: string;\r\n public required: boolean;\r\n public value: any;\r\n public placeholder: string;\r\n public nzpan: number = 24;\r\n public error: boolean = false;\r\n public code: string;\r\n public message: string = \"\";\r\n public multiple: string = \"default\";\r\n public label: string;\r\n public show_search: boolean = true;\r\n public options: any = [];\r\n public uiType: string;\r\n public select_force: boolean = false;\r\n public old_value: any;\r\n @Input() index_variant: any;\r\n @Input() mode: string = 'add'\r\n\r\n public is_allow_custom: boolean = false;\r\n public new_value: any;\r\n\r\n public editorConf = {\r\n toolbarGroups: [\r\n { name: 'editing', groups: ['find', 'selection', 'spellchecker', 'editing'] },\r\n { name: 'clipboard', groups: ['clipboard', 'undo'] },\r\n { name: 'document', groups: ['mode', 'document', 'doctools'] },\r\n '/',\r\n { name: 'basicstyles', groups: ['basicstyles', 'cleanup'] },\r\n { name: 'paragraph', groups: ['list', 'indent', 'blocks', 'align', 'bidi', 'paragraph'] },\r\n { name: 'links', groups: ['links'] },\r\n { name: 'insert', groups: ['insert'] },\r\n { name: 'forms', groups: ['forms'] },\r\n '/',\r\n { name: 'styles', groups: ['styles'] },\r\n { name: 'colors', groups: ['colors'] },\r\n { name: 'tools', groups: ['tools'] },\r\n { name: 'others', groups: ['others'] },\r\n { name: 'about', groups: ['about'] }\r\n ],\r\n\r\n removeButtons: 'Replace,Scayt,Undo,Source,Save,NewPage,Preview,Print,Templates,CopyFormatting,RemoveFormat,BidiLtr,BidiRtl,Language,Flash,Form,Checkbox,Radio,TextField,Textarea,Select,Button,ImageButton,HiddenField,SelectAll,Strike,Subscript,Superscript,CreateDiv,Blockquote,Maximize,ShowBlocks,About,Smiley,SpecialChar'\r\n };\r\n\r\n @Output() valueChange = new EventEmitter();\r\n\r\n constructor(private baseService: BaseService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.is_allow_custom = this.member.is_allow_custom || false;\r\n this.placeholder = this.member.placeholder || this.member.name;\r\n this.tips = this.member.tips;\r\n this.required = this.member.required || false;\r\n this.code = this.member.code;\r\n this.nzpan = this.member.layout == 'half' ? 8 : 20;\r\n this.error = false;\r\n this.code = this.member.code;\r\n this.multiple = this.member.type == \"multi_select\" ? 'multiple' : 'default';\r\n this.label = this.member.name;\r\n this.show_search = this.member.show_search ? true : false;\r\n this.options = this.member.options || [];\r\n\r\n if (this.member.type == 'package_group') {\r\n this.value = {};\r\n this.member.children.forEach(e => {\r\n this.value[e.code] = e.value;\r\n if (e.required) {\r\n this.required = true;\r\n }\r\n });\r\n } else {\r\n setTimeout(() => {\r\n if (this.member.type == 'suggest') {\r\n if (this.mode == 'edit') {\r\n this.value = this.member.value ? this.member.value.id : undefined;\r\n this.old_value = this.member.value ? this.member.value.id : undefined;\r\n }\r\n } else {\r\n this.value = this.member.value || undefined;\r\n this.old_value = this.member.value || undefined;\r\n\r\n if (Array.isArray(this.value)) {\r\n this.value = _.map(this.value, e => {\r\n return parseInt(e) || e;\r\n })\r\n } else if (this.value) {\r\n this.value = parseInt(this.value) || this.value;\r\n }\r\n }\r\n\r\n if (this.member.type == 'enum' || (this.member.type == 'select' && this.multiple == 'default')) {\r\n this.value = parseInt(this.value) || this.value;\r\n }\r\n\r\n if (this.member.uiType == 'select' || this.member.type == 'enum') {\r\n this.value = parseInt(this.value) || this.value;\r\n this.options = _.map(this.options, e => {\r\n let f = {\r\n value: e.id,\r\n label: e.value\r\n }\r\n\r\n if (Array.isArray(this.value) && this.value.indexOf(f.value) > -1) {\r\n f['checked'] = true;\r\n }\r\n return f;\r\n })\r\n }\r\n }, 500);\r\n }\r\n\r\n if (this.member.type == 'suggest') {\r\n this.suggest('');\r\n }\r\n\r\n if (this.member.type == 'enum') {\r\n this.select_force = true;\r\n this.nzpan = 8;\r\n this.member.uiType = 'select';\r\n this.multiple = 'default';\r\n } else {\r\n this.member.uiType = this.member.type == \"multi_select\" ? 'select' : this.member.type;\r\n }\r\n\r\n\r\n }\r\n\r\n onBlur(obj) {\r\n this.error = false;\r\n let value = obj.target.value;\r\n if (this.required && (!value || value == undefined)) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng nhập\"\r\n } else if (this.member.uiType == 'email') {\r\n let EMAIL_REGEXP = /^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i;\r\n\r\n if (value != \"\" && (value.length <= 5 || !EMAIL_REGEXP.test(value))) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng nhập đúng email\"\r\n } else {\r\n this.emitData(value);\r\n }\r\n } else {\r\n if (this.member.type == 'package_group') {\r\n this.emitData(this.value);\r\n } else\r\n this.emitData(value);\r\n }\r\n }\r\n\r\n onChange(obj) {\r\n this.error = false;\r\n let value = obj;\r\n if (this.required && (!value || value == undefined)) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng nhập\"\r\n } else {\r\n if (this.member.type == 'package_group') {\r\n this.emitData(this.value);\r\n } else\r\n this.emitData(value);\r\n }\r\n }\r\n\r\n checkbox(obj: any): void {\r\n this.value = [];\r\n this.error = false;\r\n\r\n obj.forEach(e => {\r\n if (e.checked) {\r\n this.value.push(e.value);\r\n }\r\n });\r\n if (this.required && this.value.length == 0) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng lựa chọn\"\r\n } else {\r\n this.emitData(this.value);\r\n }\r\n }\r\n\r\n changeRadio(): void {\r\n this.emitData(this.value);\r\n }\r\n\r\n changeSelectBox(obj): void {\r\n this.emitData(obj);\r\n }\r\n\r\n onBlurSelect(obj) {\r\n this.error = false;\r\n if ((this.value == \"\" || this.value == [\"\"]) && this.required) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng lựa chọn\"\r\n }\r\n }\r\n\r\n onSelectChange(obj) {\r\n this.error = false;\r\n this.value = obj;\r\n if ((this.value == \"\" || this.value == [\"\"]) && this.required) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng lựa chọn\"\r\n } else {\r\n let _tmp;\r\n if (Array.isArray(this.value)) {\r\n _tmp = [];\r\n this.value.forEach(e => {\r\n if (e && e != \"\") {\r\n _tmp.push(e);\r\n }\r\n });\r\n this.emitData(_tmp);\r\n } else {\r\n this.emitData(this.value);\r\n }\r\n }\r\n }\r\n\r\n onBlurSuggest(obj) {\r\n this.error = false;\r\n if ((!this.value || this.value == \"\" || this.options.length == 0) && this.required) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng lựa chọn\"\r\n }\r\n }\r\n\r\n changeSuggest(obj) {\r\n this.error = false;\r\n if ((!obj || obj == \"\" || this.options.length == 0) && this.required) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng lựa chọn\"\r\n } else {\r\n this.emitData(obj);\r\n }\r\n }\r\n\r\n\r\n onChangeDate(result: Date): void {\r\n this.emitData(result);\r\n }\r\n\r\n onChangeBoolean($event: any): void {\r\n this.emitData($event);\r\n }\r\n\r\n onChangeCustomEditor($event) {\r\n if (this.required && $event.length == 0) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng nhập\"\r\n } else {\r\n this.emitData($event);\r\n }\r\n }\r\n\r\n suggest($event) {\r\n let type = 'onChange';\r\n let events = this.member.events || [];\r\n let event = _.find(events, { type: type });\r\n if (event) {\r\n if (event.method == 'get') {\r\n this.baseService.get(event.url + '?search=' + $event).subscribe(data => {\r\n this.options = data.rows\r\n })\r\n } else if (event.method == 'post') {\r\n this.baseService.post(event.url, { search: event }).subscribe(data => {\r\n this.options = data.rows\r\n })\r\n }\r\n }\r\n }\r\n\r\n _keypress(obj: any) {\r\n if (obj.code == 'Enter') {\r\n this.error = false;\r\n let value = obj.target.value;\r\n if (this.required && (!value || value == undefined)) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng nhập\"\r\n } else if (this.member.uiType == 'email') {\r\n let EMAIL_REGEXP = /^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i;\r\n\r\n if (value != \"\" && (value.length <= 5 || !EMAIL_REGEXP.test(value))) {\r\n this.error = true;\r\n this.message = \"Xin vui lòng nhập đúng email\"\r\n } else {\r\n this.emitData(value);\r\n }\r\n } else {\r\n if (this.member.type == 'package_group') {\r\n this.emitData(this.value);\r\n } else\r\n this.emitData(value);\r\n }\r\n }\r\n }\r\n\r\n emitData(value) {\r\n this.old_value = this.member.value;\r\n this.member.value = value;\r\n this.member.old_value = this.old_value;\r\n if (this.member.uiType == 'select') {\r\n let option;\r\n this.options.forEach(e => {\r\n if (e.value == value) option = e;\r\n });\r\n if (option) {\r\n this.member.value_label = option.label;\r\n }\r\n }\r\n if (this.index_variant) {\r\n this.member.index_variant = this.index_variant;\r\n }\r\n if (this.member.obj_variant) {\r\n let index = _.findIndex(this.member.obj_variant, { code: this.member.code });\r\n this.member.obj_variant[index].value = value;\r\n if (this.member.uiType == 'select') {\r\n this.member.obj_variant[index].value_label = this.member.value_label;\r\n }\r\n }\r\n this.valueChange.emit(this.member)\r\n }\r\n\r\n ngOnChanges() {\r\n }\r\n\r\n addCustomValue($event) {\r\n if (!$event || !$event.target || !$event.target.value || $event.target.value.trim() == '') return;\r\n let value = $event.target.value.trim();\r\n let is_exist = false;\r\n this.options.forEach(e => {\r\n if (e.value == value) {\r\n is_exist = true;\r\n }\r\n });\r\n if (!is_exist) {\r\n // let key = this.nonAccentVietnamese(value);\r\n // key = key.replace(/\\s/g, '_');\r\n let key = value;\r\n let payload = {\r\n value: key,\r\n label: value,\r\n is_new_value: true\r\n };\r\n this.options.push(payload)\r\n this.new_value = undefined;\r\n if (this.multiple == 'multiple') {\r\n if (Array.isArray(this.value)) {\r\n this.value.push(key)\r\n } else {\r\n this.value = [key];\r\n }\r\n } else {\r\n this.value = key;\r\n }\r\n this.onSelectChange(this.value);\r\n }\r\n }\r\n\r\n nonAccentVietnamese(str) {\r\n str = str.toLowerCase();\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g, \"a\");\r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g, \"e\");\r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g, \"i\");\r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g, \"o\");\r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g, \"u\");\r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g, \"y\");\r\n str = str.replace(/đ/g, \"d\");\r\n // Some system encode vietnamese combining accent as individual utf-8 characters\r\n str = str.replace(/\\u0300|\\u0301|\\u0303|\\u0309|\\u0323/g, \"\"); // Huyền sắc hỏi ngã nặng\r\n str = str.replace(/\\u02C6|\\u0306|\\u031B/g, \"\"); // Â, Ê, Ă, Ơ, Ư\r\n return str;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n {{value.length}}/{{member.max_length}}\r\n \r\n\r\n\r\n \r\n 4) || select_force)\"\r\n [nzDisabled]=\"member.readOnly\">\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {{value.length}}/{{member.max_length}}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n {{message}}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter} from '@angular/core';\r\nimport * as _ from 'lodash';\r\n\r\n@Component({\r\n selector: 'i-select',\r\n templateUrl: './selectbox.component.html',\r\n styleUrls: ['./selectbox.component.css']\r\n})\r\nexport class SelectboxComponent implements OnInit {\r\n @Input()\r\n member: any = {};\r\n public tips : string;\r\n public name : string;\r\n public options : any = [];\r\n public required : boolean;\r\n public value : any;\r\n public placeholder: string;\r\n public layout : string = 'half';\r\n public conf : any = {};\r\n public label: string;\r\n public addItem: boolean = false;\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.options = this.member.options;\r\n // this.options = _.map(this.member.options, e => {\r\n // return {\r\n // id: e.value,\r\n // text: e.name\r\n // }\r\n // })\r\n this.placeholder = this.member.placeholder;\r\n this.tips = this.member.tips;\r\n this.required = this.member.required;\r\n this.value = this.member.value;\r\n this.name = this.member.name;\r\n this.label = this.member.label;\r\n this.conf = {\r\n multiple : this.member.multiple || false,\r\n minimumResultsForSearch : this.member.show_search || -1\r\n }\r\n this.addItem = this.member.addItem ? true : false;\r\n }\r\n onBlur()\r\n {}\r\n onBlurSelect()\r\n {}\r\n\r\n @Output() valueChange = new EventEmitter();\r\n eventChange() { // You can give any function name\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Add item
\r\n
\r\n
\r\n\r\n
\r\n","export * from './upload-file.component';","import { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'upload-file',\r\n templateUrl: './upload-file.component.html',\r\n styleUrls: ['./upload-file.component.scss']\r\n})\r\nexport class UploadFileComponent implements OnChanges{\r\n @Input() config: any;\r\n @Output() importFile: EventEmitter = new EventEmitter();\r\n acceptType: '[.csv, .xlsx]';\r\n\r\n constructor() {}\r\n ngOnChanges(change: SimpleChanges) {\r\n }\r\n}","{{config.name}}\r\n\r\n \r\n","export * from './uploader.component';\r\n","\r\n \r\n \r\n \r\n \r\n Kích thước:\r\n {{sizes[0].width}} x\r\n {{sizes[0].height}} \r\n \r\n \r\n\r\n","import { Component, OnInit, ViewChild, ElementRef, OnChanges, SimpleChanges, Output, EventEmitter, Input } from '@angular/core';\r\nimport { UploadXHRArgs, UploadChangeParam, UploadFile, InputBoolean, InputNumber, NzMessageService } from 'ng-zorro-antd';\r\nimport { of, timer, Observable, Observer, from } from 'rxjs';\r\nimport { map, take, tap, switchMap } from 'rxjs/operators';\r\nimport { UploadService } from 'src/app/shared/services/upload.service';\r\n\r\n@Component({\r\n selector: 'con-uploader',\r\n templateUrl: './uploader.component.html',\r\n styleUrls: ['./uploader.component.scss']\r\n})\r\nexport class UploaderComponent implements OnInit {\r\n\r\n @Input() @InputNumber() maxSize = 0;\r\n @Input() fileType: string;\r\n @Input() fileExt: string;\r\n @Input() @InputBoolean() multiple: boolean = false;\r\n @Output() change = new EventEmitter();\r\n @Output() done = new EventEmitter();\r\n\r\n @Input() sizes: any[] = [];\r\n @Output() returnSize = new EventEmitter();\r\n size: string;\r\n\r\n showUploadButton = true;\r\n uploadError: string;\r\n\r\n constructor(\r\n private upload: UploadService,\r\n private message: NzMessageService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n beforeUpload = (file: UploadFile) => {\r\n const promise = new Promise((resolve, reject) => {\r\n if (!this.isImage(file.type)) {\r\n resolve(file);\r\n }\r\n\r\n const img = new Image();\r\n img.src = window.URL.createObjectURL(file);\r\n img.onload = () => {\r\n const width = img.naturalWidth;\r\n const height = img.naturalHeight;\r\n window.URL.revokeObjectURL(img.src);\r\n file.dimensions = {\r\n width,\r\n height\r\n };\r\n resolve(file);\r\n };\r\n });\r\n\r\n return from(promise).pipe(map(file => {\r\n if (this.fileType) {\r\n const type = file.type;\r\n\r\n if (!type || this.fileType.indexOf(type) < 0) {\r\n this.message.create('error', 'Định dạng file không được hỗ trợ');\r\n return false;\r\n }\r\n }\r\n\r\n if (this.fileExt) {\r\n const ext = file.name.split('.').pop().toLowerCase();\r\n\r\n if (!ext || this.fileExt.toLowerCase().indexOf(ext) < 0) {\r\n this.message.create('error', 'Định dạng file không được hỗ trợ');\r\n return false;\r\n }\r\n }\r\n\r\n if (this.sizes.length) {\r\n if (!(file.dimensions.width == this.sizes[0].width && file.dimensions.height == this.sizes[0].height)) {\r\n this.message.create(\"error\", `Kích cỡ hình ảnh không phù hợp ( ${this.sizes[0].width} x ${this.sizes[0].height} )`);\r\n return false;\r\n }\r\n }\r\n return true;\r\n\r\n }));\r\n }\r\n\r\n tusUpload = (item: UploadXHRArgs) => {\r\n if (item.file) {\r\n return this.upload.postImg(item.file).subscribe(\r\n (res) => item.onSuccess!({\r\n id: res.data.url,\r\n url: res.data.url,\r\n }, item.file!, null),\r\n (err) => {\r\n this.message.create(\"error\", `Ảnh quá nặng vui lòng upload ảnh nhẹ hơn.`);\r\n }\r\n );\r\n }\r\n }\r\n\r\n onChange($event: UploadChangeParam) {\r\n if ($event.fileList.filter(file => file.status !== 'done').length > 0) {\r\n this.showUploadButton = false;\r\n } else {\r\n this.showUploadButton = true;\r\n this.done.emit();\r\n }\r\n\r\n this.change.emit($event);\r\n }\r\n\r\n protected isImage(type: string) {\r\n return type && type.split('/')[0] === 'image';\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NzModalRef, NzNotificationService } from 'ng-zorro-antd';\r\nimport { DistributorService, RootService, StaffsService } from '../../services';\r\nimport { removeAllSpacingBetweenWords, getArrayDuplicateAfterCompareTwoArray, formatPhone84 } from 'src/app/helpers';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { Subject, forkJoin } from 'rxjs';\r\nimport { CheckNumberService, NotificationService } from 'src/app/lib';\r\nimport { ValidatorService } from 'src/app/lib/validators';\r\nimport { AccumualteService } from 'src/app/modules/loyalty/accumulate-point/services';\r\nimport { CommonService } from '../../services/common/common.service';\r\nimport {track} from \"../../../helpers/tracking-teko\";\r\n\r\n@Component({\r\n selector: 'app-distributor-add',\r\n templateUrl: './distributor-add.component.html',\r\n styleUrls: ['./distributor-add.component.scss']\r\n})\r\nexport class DistributorAddComponent implements OnInit, OnDestroy {\r\n isCheckAccountVietel = false;\r\n constructor(\r\n private fb: FormBuilder,\r\n public commonService: CommonService,\r\n private rootService: RootService,\r\n private distributorService: DistributorService,\r\n private notification: NzNotificationService,\r\n private checkNumber: CheckNumberService,\r\n private notiService: NotificationService,\r\n private validateS: ValidatorService,\r\n public modalRef: NzModalRef,\r\n private staffsService: StaffsService,\r\n ) { }\r\n\r\n unsubscribe$ = new Subject();\r\n\r\n @ViewChild('phone_manager', { static: true }) phone_manager: ElementRef;\r\n\r\n form: FormGroup = this.fb.group({\r\n name: [null, [Validators.required, Validators.maxLength(255), this.validateS.checkNoWhiteSpaceValidator]],\r\n phone: [null, [Validators.required]],\r\n address: [null, Validators.maxLength(255)],\r\n phone_manager: [null, [Validators.required, this.validateS.checkNumberPhoneValidator, Validators.pattern(/^-?(0|[0-9]\\d*)?$/)]],\r\n logo: [null],\r\n store_id: [null],\r\n reciew_sponsor: [false],\r\n icheck_id: [null, [Validators.required]]\r\n });\r\n\r\n type: string;\r\n data: any;\r\n distributorId: any;\r\n\r\n shops: any[] = [];\r\n distributors: any[] = [];\r\n name_qrcode_store: any[] = [];\r\n\r\n icheckId: any;\r\n isCheckPhone: boolean;\r\n isName: string;\r\n delayTimer: any;\r\n messagePhone = '';\r\n images: any[] = [];\r\n\r\n openMessage(type: string, title: string, content: any) {\r\n return this.notification.create(\r\n type,\r\n title,\r\n content\r\n );\r\n }\r\n ngOnInit() {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n if (this.type === 'update') {\r\n // ==============================//\r\n this.staffsService.findUserSocialByIdOrPhone(this.data.icheck_id, null).pipe(takeUntil(this.unsubscribe$)).subscribe(res => {\r\n // if (res.rows.length > 0) {\r\n this.form.get('phone_manager').setValue(null);\r\n if (res.data && res.data.avatar_thumbnails) {\r\n this.form.get('logo').setValue(res.data.avatar_thumbnails.small);\r\n this.images = [{\r\n uid: 1,\r\n name: '',\r\n status: 'done',\r\n url: res.data.avatar_thumbnails.small,\r\n thumbUrl: res.data.avatar_thumbnails.thumbnail,\r\n id: res.data.id\r\n }];\r\n }\r\n if (res.data && res.data.name) { this.isName = removeAllSpacingBetweenWords(res.data.name); }\r\n // }\r\n });\r\n // ==============================//\r\n this.distributorId = this.data.id;\r\n this.form.get('name').setValue(this.data.name);\r\n this.form.get('phone').setValue(this.data.phone);\r\n this.form.get('address').setValue(this.data.address);\r\n this.form.get('store_id').setValue(this.data.store_id);\r\n this.form.get('reciew_sponsor').setValue(this.data.reciew_sponsor);\r\n this.form.get('icheck_id').setValue(this.data.icheck_id);\r\n this.form.get('store_id').disable();\r\n }\r\n this.loadShop();\r\n }\r\n\r\n checkValidatePhone($event) {\r\n this.findingManager($event.target.value); \r\n }\r\n checkPhoneCustomer(phone: string) {\r\n // let phoneTrim = phone.replace(/\\s/g, '').trim();\r\n // const isNumber = this.checkNumber.checkNumberInput(phoneTrim);\r\n // if(isNumber.status) {\r\n // const query = {\r\n // phone: phoneTrim\r\n // }\r\n // this.accumulateService.findingCustomer(query).subscribe((res: ResponseModel) => {\r\n // if(res.statusCode === 200) {\r\n // this.campagin = res.data.rows;\r\n // if(this.campagin.length > 0) {\r\n // this.customerName = this.campagin[0].name;\r\n // } else {\r\n // this.notiService.notiWarning('Số điện thoại của bạn chưa tham gia chương trình tích điểm');\r\n // }\r\n // }\r\n // })\r\n // } else {\r\n // this.notiService.notiError(isNumber.message);\r\n // }\r\n }\r\n\r\n findingManager(phone) {\r\n this.staffsService.findUserSocialByIdOrPhone(null, formatPhone84(removeAllSpacingBetweenWords(phone))).pipe(takeUntil(this.unsubscribe$)).subscribe(res => {\r\n if (res.data) {\r\n this.icheckId = res.data.id;\r\n this.form.patchValue({ icheck_id: this.icheckId });\r\n this.isCheckPhone = false;\r\n if (res.data.avatar) {\r\n this.images = [{\r\n uid: 1,\r\n name: '',\r\n status: 'done',\r\n url: res.data.avatar_thumbnails.small,\r\n thumbUrl: res.data.avatar_thumbnails.small,\r\n id: res.data.avatar\r\n }];\r\n }\r\n if (res.data.name) { this.isName = removeAllSpacingBetweenWords(res.data.name); }\r\n } else {\r\n this.isName = '';\r\n this.isCheckPhone = true;\r\n this.messagePhone = 'Số điện thoại chưa đăng ký trên iCheck';\r\n }\r\n });\r\n }\r\n\r\n loadShop() {\r\n forkJoin(\r\n this.distributorService.allShopQrcode(), /*Tra ve tat ca cac cua hang ben QR code*/\r\n this.distributorService.allDistributor() /*Tra ve tat ca cac cua hang da duoc doanh nghiep nay phan phoi*/\r\n ).subscribe(([res1, res2]) => {\r\n if (res1 && res1.data && res1.data.store) {\r\n const allShop = res1.data.store;\r\n if (res2 && res2.data && res2.data.rows) {\r\n const allDistributor = res2.data.rows;\r\n let allIdDistributor = [];\r\n allDistributor.forEach(element => {\r\n allIdDistributor.push(element.store_id);\r\n });\r\n // Neu update thi them id cua hang hien tai vao; Boi vi update khong cho cap nhat cua hang khac;\r\n if (this.type === 'update') {\r\n allIdDistributor = allIdDistributor.filter(item => item !== this.data.store_id);\r\n }\r\n this.shops = allShop.filter(x => !allIdDistributor.includes(x.id));\r\n }\r\n }\r\n });\r\n }\r\n\r\n getShopName(data: any) {\r\n if (data) {\r\n const arr = getArrayDuplicateAfterCompareTwoArray(this.shops, [data], 'id');\r\n if (arr.length > 0 && this.form.get('name').value === null) { this.form.get('name').setValue(arr[0].name); }\r\n }\r\n }\r\n\r\n uploadImageAttribute($event) {\r\n switch ($event.type) {\r\n case 'removed': {\r\n this.form.get('logo').setValue(null);\r\n break;\r\n }\r\n case 'success': {\r\n if ($event.file.status === 'done') {\r\n this.form.patchValue({ logo: $event.file.response.id });\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (this.type === 'update') {\r\n this.form.controls.phone_manager.clearValidators();\r\n this.form.controls.phone_manager.updateValueAndValidity();\r\n }\r\n for (const key of Object.keys(this.form.controls)) {\r\n this.form.controls[key].markAsDirty();\r\n this.form.controls[key].updateValueAndValidity();\r\n }\r\n if (this.form.invalid || this.isCheckPhone === true) {\r\n if (this.isCheckPhone === true) {\r\n this.openMessage('warning', 'Cảnh báo', `Số điện thoại chưa đăng ký trên iCheck`);\r\n }\r\n return;\r\n }\r\n if(this.form.get('icheck_id').value !== null) {\r\n delete this.form.value.phone_manager;\r\n }\r\n switch (this.type) {\r\n case 'create': {\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Them moi',\r\n interaction: 'click',\r\n regionName: 'createStore',\r\n target: 'storeList',\r\n });\r\n let isNumber = this.checkNumber.checkNumberInput(this.form.get('phone').value);\r\n if(isNumber.status) {\r\n this.distributorService.create(this.form.value).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n (res) => {\r\n track('alert', {\r\n alertType: res.statusCode === 200 ? 'success' : 'failed',\r\n alertMessage: res.statusCode === 200 ? 'Them cua hang thanh cong' : 'Them cua hang that bai'\r\n });\r\n if (res.statusCode === 200) {\r\n this.openMessage('success', 'Thành công', `Thêm thành công`);\r\n this.form.removeControl('icheck_id');\r\n this.modalRef.close('OK');\r\n } else {\r\n this.openMessage('warning', 'Cảnh báo', `${res.message}`);\r\n }\r\n },\r\n (error) => {\r\n this.openMessage('error', 'Có lỗi xảy ra !!!', `${error}`);\r\n }\r\n );\r\n break;\r\n } else {\r\n this.notiService.notiError(`Số điện thoại nhập ${isNumber.message}`);\r\n break;\r\n }\r\n }\r\n case 'update': {\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Cap nhat',\r\n interaction: 'click',\r\n regionName: 'createStore',\r\n target: 'storeList',\r\n });\r\n this.distributorService.update(this.distributorId, this.form.value).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n (res) => {\r\n track('alert', {\r\n alertType: res.statusCode === 200 ? 'success' : 'failed',\r\n alertMessage: res.statusCode === 200 ? 'Cap nhat cua hang thanh cong' : 'Cap nhat cua hang that bai'\r\n });\r\n if (res.statusCode === 200) {\r\n this.openMessage('success', 'Thành công', `Cập nhật thành công`);\r\n this.modalRef.close('OK');\r\n } else {\r\n this.openMessage('warning', 'Cảnh báo', `${res.message}`);\r\n }\r\n },\r\n (error) => {\r\n this.openMessage('error', 'Có lỗi xảy ra !!!', `${error}`);\r\n }\r\n );\r\n break;\r\n }\r\n }\r\n }\r\n\r\n cancel() {\r\n this.form.reset();\r\n this.modalRef.close();\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Bo qua',\r\n interaction: 'click',\r\n regionName: 'createStaff',\r\n target: 'storeList',\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.complete();\r\n this.unsubscribe$.unsubscribe();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n Tên đại lý - cửa hàng (*)\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập tên đại lý - cửa hàng

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

Tên đại lý - cửa hàng không được dài quá 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Số điện thoại (*)\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập số điện thoại

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

Vui lòng nhập số

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Địa chỉ\r\n \r\n \r\n \r\n \r\n

Địa chỉ không được dài quá 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Cửa hàng QR Code liên kết\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Vui lòng chọn cửa hàng QR Code liên kết

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n Số điện thoại người quản lý (*)\r\n \r\n

(số điện thoại phải đã đăng ký trên iCheck)

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

Vui lòng nhập số điện thoại quản lý

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

Vui lòng nhập số

\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{isName}}\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
","import { Winners } from './../../../modules/loyalty/customers/models/winners.model';\r\nimport { CampaignSharedService } from 'src/app/shared/services';\r\nimport { CampaignService } from './../../../modules/loyalty/campaign/services/campaign.service';\r\nimport { NzModalRef, NzNotificationService } from 'ng-zorro-antd';\r\nimport { FormGroup, Validators, FormBuilder } from '@angular/forms';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { CommonService } from '../../services/common/common.service';\r\nimport { ThrowStmt } from '@angular/compiler';\r\n\r\n@Component({\r\n selector: 'app-export-file',\r\n templateUrl: './export-file.component.html',\r\n styleUrls: ['./export-file.component.scss']\r\n})\r\nexport class ExportFileComponent implements OnInit {\r\n\r\n @Input() campaign;\r\n\r\n frmAddBonusCode: FormGroup;\r\n width = '100%';\r\n Index: any;\r\n constructor(\r\n private _formBuilder:FormBuilder,\r\n public modalRef: NzModalRef,\r\n public commonService: CommonService,\r\n public notification:NzNotificationService,\r\n public campaignSharedService: CampaignSharedService\r\n ) {\r\n this.createForm();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getList(this.campaign.id);\r\n }\r\n\r\n createForm(){\r\n this.frmAddBonusCode = this._formBuilder.group({\r\n activities: [null, [\r\n Validators.maxLength(255)\r\n ]],\r\n winners: [null, Validators.maxLength(255)]\r\n });\r\n }\r\n\r\n submitForm() {\r\n const body = {\r\n activities: this.frmAddBonusCode.get('activities').value,\r\n winners: this.frmAddBonusCode.get('winners').value\r\n }\r\n this.campaignSharedService.postGoogleSheet(this.campaign.id, body).subscribe(res => {\r\n if(res.statusCode == 200) {\r\n this.noti('Lưu thành công');\r\n this.closeModal();\r\n }\r\n \r\n })\r\n }\r\n\r\n getList(id){\r\n this.campaignSharedService.getGoogleSheet(id).subscribe(res => {\r\n\r\n this.frmAddBonusCode.get('activities').setValue(res.data.activities.link);\r\n this.frmAddBonusCode.get('winners').setValue(res.data.winners.link);\r\n \r\n })\r\n }\r\n \r\n checkInput(e) {\r\n\r\n }\r\n\r\n noti(message: string) {\r\n this.notification.create(\r\n 'success',\r\n `THÔNG BÁO`,\r\n `${message}`\r\n );\r\n }\r\n\r\n closeModal() {\r\n this.modalRef.close();\r\n }\r\n\r\n copyLanding(idx){\r\n this.Index = idx;\r\n const id = JSON.parse(localStorage.getItem('loyaltyUser'));\r\n this.commonService.copyText(`loyalty-bot@icheck-loyalty-dev.iam.gserviceaccount.com `);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n Lịch sử tham gia\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập link lịch sử tham gia

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

Vui lòng chỉ nhập tối đa 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n Lịch sử trúng thưởng\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập link lịch sử trúng thưởng

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

Vui lòng chỉ nhập tối đa 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n
Sau khi điền link file google sheet, vui lòng thêm quyền edit cho tài khoản:\r\n loyalty-bot@icheck-loyalty-dev.iam.gserviceaccount.com \r\n để cho phép hệ thống đẩy dữ liệu báo cáo lên file của bạn.\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, OnInit, OnDestroy, Input } from '@angular/core';\r\nimport { ListComponentComponent } from 'src/app/shared/components/list-component/list-component.component';\r\nimport { NzModalService, NzNotificationService, NzModalRef } from 'ng-zorro-antd';\r\nimport { Router } from '@angular/router';\r\nimport { CrudCodeService } from 'src/app/shared/services';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { CommonService } from '../../services/common/common.service';\r\n\r\n@Component({\r\n selector: 'export',\r\n templateUrl: './export.component.html',\r\n styleUrls: ['./export.component.scss']\r\n})\r\nexport class ExportShareComponent extends ListComponentComponent implements OnInit, OnDestroy {\r\n isCheckAccountVietel = false;\r\n constructor(\r\n public modalService: NzModalService,\r\n public notification: NzNotificationService,\r\n public router: Router,\r\n public commonService: CommonService,\r\n public crudCodeService: CrudCodeService,\r\n private formBuilder: FormBuilder,\r\n public modalRef: NzModalRef) {\r\n super(modalService, notification, router, crudCodeService, commonService);\r\n }\r\n\r\n @Input() filter;\r\n @Input() endpoint;\r\n @Input() is_not_body;\r\n frmExport: FormGroup;\r\n ngOnInit() {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n\r\n this.createForm();\r\n }\r\n\r\n createForm() {\r\n return new Promise((resolve) => {\r\n this.frmExport = this.formBuilder.group({\r\n email: [null, [\r\n Validators.pattern('[a-zA-Z0-9.-_]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}'),\r\n Validators.required,\r\n Validators.maxLength(255)\r\n ]]\r\n });\r\n resolve();\r\n });\r\n }\r\n\r\n submitForm() {\r\n for (const key of Object.keys(this.frmExport.controls)) {\r\n this.frmExport.controls[key].markAsDirty();\r\n this.frmExport.controls[key].updateValueAndValidity();\r\n }\r\n let body: any = {};\r\n let param: any = {};\r\n if(this.is_not_body) {\r\n body.email = this.frmExport.value.email;\r\n param = Object.assign({}, this.filter);\r\n } else {\r\n body = this.filter;\r\n body.email = this.frmExport.value.email;\r\n param = null;\r\n }\r\n if (this.frmExport.valid) {\r\n this.postData(`${this.endpoint}`, body, param).then(res => {\r\n if (res) {\r\n this.frmExport.reset();\r\n this.modalRef.close(res);\r\n }\r\n });\r\n }\r\n }\r\n\r\n cancel() {\r\n this.modalRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n Email (*)\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập email

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

Email không đúng định dạng

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

Vui lòng chỉ nhập tối đa 255 ký tự

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

Báo cáo sẽ được tự động gửi đến địa chỉ email nhập bên trên ngay khi tống hợp thành công.

\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\r\nimport { Config } from 'protractor';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { removeEmptyQuery } from 'src/app/helpers';\r\nimport { CrudCodeService, DistributorService } from '../../services';\r\nimport { CommonService } from '../../services/common/common.service';\r\nimport {track} from \"../../../helpers/tracking-teko\";\r\n// import { RootService } from 'src/app/services';\r\n\r\n@Component({\r\n selector: 'app-filter-bar',\r\n templateUrl: './filter-bar.component.html',\r\n styleUrls: ['./filter-bar.component.scss']\r\n})\r\nexport class FilterBarComponent implements OnInit {\r\n isCheckAccountVietel = false;\r\n\r\n @Input() configs;\r\n @Output('changeFilter') changeFilter = new EventEmitter();\r\n dateFormat = 'dd/MM/yyyy';\r\n\r\n filterForm: any;\r\n unsubscribe$ = new Subject();\r\n\r\n constructor(private distributorService: DistributorService,\r\n private crudCodeService: CrudCodeService,\r\n public commonService: CommonService) { }\r\n\r\n ngOnInit(): void {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n let group={};\r\n this.configs.forEach(config=>{\r\n\r\n if (config.key === 'business_id') {\r\n this.loadBusiness();\r\n }\r\n if (config.key === 'store_icheck_id') {\r\n this.loadStore('first');\r\n }\r\n if (config.key === 'gift_id') {\r\n this.loadGift('first');\r\n }\r\n\r\n if (config.type === 'select-box' || config.type === 'select-box-custom') {\r\n group[config.key]=new FormControl(null);\r\n } else {\r\n group[config.key]=new FormControl('');\r\n }\r\n \r\n })\r\n this.filterForm = new FormGroup(group);\r\n\r\n\r\n this.listenChangeFormValue();\r\n }\r\n\r\n listenChangeFormValue() {\r\n console.log(123)\r\n const recursive = (f: FormGroup | FormArray) => {\r\n for (const i in f) {\r\n if (typeof f[i] === 'string') {\r\n f[i] = f[i].trim()\r\n if (f[i].trim().length === 0) {\r\n f[i] = null;\r\n }\r\n }\r\n }\r\n };\r\n this.filterForm.valueChanges.pipe(debounceTime(500)).subscribe(value => {\r\n const output = {\r\n ...value\r\n };\r\n\r\n // if (value?.name || value?.phone) {\r\n track('siteSearch', {\r\n keywords: value?.name || value?.phone ? value?.name || value?.phone : '',\r\n params: JSON.stringify(value)\r\n });\r\n // }\r\n recursive(output)\r\n this.configs.forEach(element => {\r\n if (element.type === 'daterange' && value[element.key]?.length) {\r\n output.from = value[element.key][0].toISOString();\r\n output.to = value[element.key][1].toISOString();\r\n delete output[element.key];\r\n }\r\n });\r\n console.log(output)\r\n removeEmptyQuery(output);\r\n this.changeFilter.emit(output);\r\n })\r\n }\r\n\r\n stores = [];\r\n offsetStore = 0;\r\n isLoadingStore = false;\r\n limitStore = 10;\r\n\r\n loadStore(type) {\r\n if (!this.isLoadingStore) {\r\n const query = {\r\n offset: type === 'first' ? 0 : this.offsetStore += this.limitStore,\r\n limit: this.limitStore,\r\n };\r\n this.isLoadingStore = true;\r\n \r\n this.distributorService.allDistributor(query).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n {\r\n next: x => {\r\n if (x.statusCode === 200) {\r\n this.isLoadingStore = false;\r\n this.stores = [...this.stores, ...x.data.rows];\r\n }\r\n },\r\n \r\n }\r\n );\r\n }\r\n }\r\n\r\n gifts = [];\r\n offsetGift = 0;\r\n isLoadingGift = false;\r\n limitGift= 10;\r\n\r\n loadGift(type) {\r\n let query = {};\r\n if (!this.isLoadingGift) {\r\n query = {\r\n offset: type === 'first' ? 0 : this.offsetGift += this.limitGift,\r\n limit: this.limitGift,\r\n };\r\n this.isLoadingGift = true;\r\n const endpoint = '/loyalty/gift';\r\n \r\n this.crudCodeService.getAnyThing(endpoint, query).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n {\r\n next: x => {\r\n if (x.statusCode === 200) {\r\n this.isLoadingGift = false;\r\n this.gifts = [...this.gifts, ...x.data.rows];\r\n }\r\n },\r\n \r\n }\r\n );\r\n }\r\n }\r\n\r\n businesses = [];\r\n loadBusiness(data?: any) {\r\n const query: any = {\r\n name: data ? data.trim() : null,\r\n offset: 0,\r\n limit: 100\r\n };\r\n\r\n removeEmptyQuery(query);\r\n\r\n // this.rootService.getAllBusiness(query).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n // (res: any) => {\r\n // this.businesses = res.data.rows;\r\n // }\r\n // );\r\n }\r\n\r\n search() {\r\n const output = {\r\n ...this.filterForm.value\r\n };\r\n this.configs.forEach(element => {\r\n if (element.type === 'daterange' && this.filterForm.value[element.key]?.length) {\r\n output['from'] = this.filterForm.value[element.key][0].toISOString();\r\n output['to'] = this.filterForm.value[element.key][1].toISOString();\r\n delete output[element.key];\r\n }\r\n });\r\n removeEmptyQuery(output);\r\n this.changeFilter.emit(output);\r\n }\r\n\r\n reset() {\r\n this.filterForm.reset();\r\n }\r\n\r\n onFormSubmit() {\r\n\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.complete();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n {{item.name}}\r\n \r\n \r\n\r\n \r\n {{item.name}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{item.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
","import { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NzModalRef, NzNotificationService, NzModalService } from 'ng-zorro-antd';\r\nimport { GiftSharedService, CrudCodeService } from '../../services';\r\nimport { Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { GIFT, ICOIN, CAMPAIGN, CARD, CONFIG } from '../../models/constant';\r\nimport { CheckNumberService, NotificationService } from 'src/app/lib';\r\nimport { ListComponentComponent } from '../list-component/list-component.component';\r\nimport { CommonService } from '../../services/common/common.service';\r\nimport { track } from '../../../helpers/tracking-teko';\r\nimport {GoogleAnalyticService} from \"../../../modules/loyalty/google-analytic-service/google-analytic.service\";\r\nimport {AlertRetargetComponent} from \"../alert-retarget/alert-retarget.component\";\r\nimport {ModalAlertComponent} from \"../modal-alert/modal-alert.component\";\r\n\r\n@Component({\r\n selector: 'app-gift-add',\r\n templateUrl: './gift-add.component.html',\r\n styleUrls: ['./gift-add.component.scss']\r\n})\r\nexport class GiftAddComponent extends ListComponentComponent implements OnInit, OnDestroy {\r\n isCheckAccountVietel = false;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public modalRef: NzModalRef,\r\n private giftSharedService: GiftSharedService,\r\n private checkNumberService: CheckNumberService,\r\n public modalService: NzModalService,\r\n public notification: NzNotificationService,\r\n private notiService: NotificationService,\r\n public commonService: CommonService,\r\n public router: Router,\r\n public crudCodeService: CrudCodeService,\r\n private googleAnalyticService: GoogleAnalyticService,\r\n ) {\r\n super(modalService, notification, router, crudCodeService, commonService);\r\n this.createForm();\r\n this.googleAnalyticService.initialize();\r\n }\r\n // config summnernote\r\n public config = CONFIG.config_editor;\r\n\r\n @Input() gift;\r\n @Input() type;\r\n subscriptions: Subscription = new Subscription();\r\n tooltipiCoin = CAMPAIGN.tooltip.icoin_product;\r\n typeForm;\r\n frmAddGift: FormGroup;\r\n typeGifts = GIFT.type;\r\n valueOptions = [];\r\n images = [];\r\n isImage = false;\r\n\r\n descriptionProgram = {\r\n placeholder: 'Mô tả quà',\r\n width: '1000px',\r\n value: null,\r\n size: 6\r\n };\r\n\r\n valImageVNPoint = {\r\n 10: 'img_079NFpcp4k6CgAOCfTnyd',\r\n 20: 'img_rb2Zzuf3YTtxLN9ui0mh9',\r\n 50: 'img_gWESrNOSwx4vZdN2bNTii',\r\n 100 : 'img_kGvkNsvJB7BZcy7PDEKr7',\r\n 200: 'img_i2-gMbQppfwtYbcAeLjsS',\r\n 500: 'img_PGl45fhp8YlCBnZ8jrlYr',\r\n 1000: 'img_1XIyuzvTPZaqMvsvtvPan',\r\n 2000: 'img_EvH5V4TMPCBioixvbdLw0',\r\n 5000: 'img_PQvWkTYzfo03ms4hjQsKN',\r\n 10000: 'img_7LnRhYNCYE9tYZtMPKWCA',\r\n 20000: 'img_LO5HaJDCx4Kl21EO5hdTn',\r\n 50000: 'img_KmuzEIigkmPoP71xfEo3C',\r\n 100000: 'img_wS72u17Hi-8-2C9zYDxpi',\r\n 200000: 'img_cNnIGUGLeJQccHblh5Z5Y',\r\n 500000: 'img_Tv-LwcjJ8vx32jsucSktU'\r\n };\r\n\r\n errMessage = '';\r\n imgVNPOINT: any;\r\n\r\n ngOnInit() {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n /*Neu this.gift co gia tri thi action la UPDATE nguoc lai la INSERT*/\r\n if (this.gift) {\r\n this.updateForm();\r\n this.checkTooltip();\r\n } else {\r\n this.createForm();\r\n }\r\n\r\n this.frmAddGift.get('type').valueChanges.subscribe(val => {\r\n if (val === 'VNPAY_QR' || val === 'CONGRATULATION') {\r\n this.frmAddGift.controls.icoin.clearValidators();\r\n } else {\r\n this.frmAddGift.controls.icoin.setValidators([Validators.required]);\r\n }\r\n });\r\n\r\n this.frmAddGift.get('icoin').valueChanges.subscribe(val => {\r\n if (val && this.frmAddGift.get('type').value === 'ICOIN') {\r\n this.imgVNPOINT = `assets/images/vn-point/${val}.png`;\r\n console.log(\"val=====>\",val);\r\n \r\n this.frmAddGift.get('image').setValue(this.valImageVNPoint[val]);\r\n } else {\r\n if (!this.gift && this.frmAddGift.get('type').value === 'ICOIN') {\r\n this.imgVNPOINT = null;\r\n this.frmAddGift.get('image').setValue(null);\r\n }\r\n }\r\n });\r\n }\r\n checkTooltip() {\r\n this.frmAddGift.controls.icoin.setValue(null);\r\n if (this.frmAddGift.value.type === 'PRODUCT') {\r\n this.tooltipiCoin = CAMPAIGN.tooltip.icoin_product;\r\n } else if (this.frmAddGift.value.type === 'ICOIN') {\r\n this.valueOptions = ICOIN;\r\n this.tooltipiCoin = CAMPAIGN.tooltip.icoin_icoin;\r\n } else if (this.frmAddGift.value.type === 'PHONE_CARD') {\r\n this.valueOptions = CARD;\r\n this.tooltipiCoin = CAMPAIGN.tooltip.phone_card;\r\n } else if (this.frmAddGift.value.type === 'DIGITAL_MONEY') {\r\n this.valueOptions = CARD;\r\n this.tooltipiCoin = CAMPAIGN.tooltip.digital_money;\r\n }\r\n }\r\n\r\n createForm() {\r\n this.typeForm = 'Thêm mới';\r\n this.createFormGift();\r\n }\r\n\r\n updateForm() {\r\n this.images = [{\r\n uid: 1,\r\n name: '',\r\n status: 'done',\r\n url: this.gift.image.small,\r\n thumbUrl: this.gift.image.small,\r\n id: this.gift.image.id\r\n }];\r\n this.typeForm = 'Cập nhật';\r\n this.typeGifts = GIFT.type_update;\r\n this.createFormGift().then(() => {\r\n this.frmAddGift.patchValue(this.gift);\r\n // this.frmAddGift.get('name').patchValue(this.gift.name);\r\n this.frmAddGift.get('image').patchValue(this.gift.image.id);\r\n // this.frmAddGift.get('type').patchValue(this.gift.type);\r\n this.frmAddGift.get('icoin').patchValue(this.gift.icoin || 0);\r\n this.frmAddGift.get('weight').patchValue(this.gift?.weight || 0);\r\n // this.frmAddGift.get('description').patchValue(this.gift.description);\r\n // this.frmAddGift.get('active').patchValue(this.gift.active);\r\n // this.frmAddGift.get('manual_release').patchValue(this.gift.manual_release);\r\n // if (this.frmAddGift.value.type === 'VNPAY_QR') {\r\n // this.frmAddGift.get('vnpay_campaign_id').patchValue(this.gift.gift_vnpay.campaign_id);\r\n // this.frmAddGift.get('vnpay_gift_code').patchValue(this.gift.gift_vnpay.gift_code);\r\n // }\r\n });\r\n console.log(\"this.gift.icoin========>\",this.gift.icoin);\r\n \r\n }\r\n\r\n createFormGift() {\r\n return new Promise((resolve, reject) => {\r\n this.frmAddGift = this.formBuilder.group({\r\n name: [null, [\r\n Validators.required,\r\n Validators.maxLength(255)\r\n ]],\r\n image: [null, [Validators.required]],\r\n type: ['PRODUCT', [\r\n Validators.required\r\n ]],\r\n icoin: [0, [Validators.required]],\r\n description: [null],\r\n active: [true],\r\n manual_release: [false],\r\n vnpay_campaign_id: [null],\r\n vnpay_gift_code: [null],\r\n transport: [false],\r\n weight: [null],\r\n });\r\n resolve();\r\n });\r\n }\r\n\r\n uploadImageAttribute($event) {\r\n console.log('$event', $event);\r\n if ($event.fileList) {\r\n if ($event.type === 'removed') {\r\n this.frmAddGift.controls.image.setValue(null);\r\n for (let i = 0; i < this.images.length; i++) {\r\n if (this.images[i].id === $event.file.id) {\r\n this.images.splice(i, 1);\r\n this.frmAddGift.controls.image.setValue(null);\r\n }\r\n }\r\n }\r\n if ($event.type === 'success' && $event.file.status === 'done') {\r\n this.frmAddGift.controls.image.setValue($event.file.response.id);\r\n this.isImage = false;\r\n }\r\n }\r\n }\r\n\r\n changeTypeGift(event) {\r\n this.checkTooltip();\r\n if (event === 'CONGRATULATION' || event === 'RECEIVE_STORE') {\r\n this.frmAddGift.controls.icoin.setValue(0);\r\n }\r\n //\r\n // if (event === 'ICOIN') {\r\n // this.frmAddGift.get('image').setValue('img_L9KylNhL1k0MKCVh0elak');\r\n // }\r\n // if (event === 'PRODUCT') {\r\n // this.frmAddGift.get('weight').setValidators([Validators.required, Validators.min(0)]);\r\n // } else {\r\n // this.frmAddGift.get('weight').clearValidators();\r\n // }\r\n // this.frmAddGift.get('weight').updateValueAndValidity();\r\n }\r\n\r\n onConfigLogistic() {\r\n if (this.frmAddGift.get('transport').value) {\r\n this.giftSharedService.getTransportConfig().subscribe(res => {\r\n if (res && res.statusCode === 200) {\r\n if (!res?.data?.check) {\r\n this.frmAddGift.get('transport').setValue(false);\r\n const modal = this.modalService.create({\r\n nzVisible: true,\r\n nzTitle: `Thông báo`,\r\n nzContent: ModalAlertComponent,\r\n nzClosable: false,\r\n nzWidth: 500,\r\n nzFooter: null,\r\n nzMaskClosable: false,\r\n nzComponentParams: {\r\n isClose: false,\r\n title: 'Bạn chưa đăng ký sử dụng dịch vụ Logistic cho quà hiện vật',\r\n content: 'Vui lòng liên hệ với iCheck để đăng ký sử dụng \\n' +\r\n 'dịch vụ này'\r\n }\r\n });\r\n modal.afterClose.subscribe(data => {\r\n // console.log(\"data\", data)\r\n });\r\n // this.notification.error('Thông báo', res?.message);\r\n }\r\n }\r\n });\r\n }\r\n if (this.frmAddGift.get('transport').value) {\r\n this.frmAddGift.get('weight').setValidators([Validators.required, Validators.min(0)]);\r\n } else {\r\n this.frmAddGift.get('weight').clearValidators();\r\n }\r\n this.frmAddGift.get('weight').updateValueAndValidity();\r\n }\r\n\r\n submitForm() {\r\n let checkSpace = false;\r\n\r\n /*validate image gift*/\r\n if (this.frmAddGift.value.image) {\r\n this.isImage = false;\r\n } else { this.isImage = true; }\r\n\r\n for (const key of Object.keys(this.frmAddGift.controls)) {\r\n this.frmAddGift.controls[key].markAsDirty();\r\n this.frmAddGift.controls[key].updateValueAndValidity();\r\n }\r\n\r\n if (this.frmAddGift.value.name && this.frmAddGift.value.name.replace(/\\s/g, '') === '') {\r\n checkSpace = true;\r\n this.frmAddGift.controls.name.setValue(null);\r\n }\r\n\r\n if (this.frmAddGift.value.type === 'VNPAY_QR') {\r\n if (this.frmAddGift.get('vnpay_campaign_id').value == null || this.frmAddGift.get('vnpay_gift_code').value == null\r\n || this.frmAddGift.get('vnpay_campaign_id').value == '' || this.frmAddGift.get('vnpay_gift_code').value == '') {\r\n this.notiService.notiError(`Vui lòng điền đầy đủ thông tin cần thiết.`);\r\n return;\r\n }\r\n }\r\n\r\n if (this.frmAddGift.valid && !checkSpace) {\r\n if (this.gift) {// update\r\n\r\n // tracking\r\n // track('manualTrackInteractionContent', {\r\n // contentName: 'Sua',\r\n // interaction: 'click',\r\n // regionName: 'createGiftPopup',\r\n // target: 'giftList'\r\n // });\r\n // end\r\n const endpoint = `/gift/${this.gift.id}`;\r\n if (this.frmAddGift.value.icoin === '' || this.frmAddGift.value.icoin === undefined) {\r\n this.frmAddGift.controls.icoin.setValue(null);\r\n }\r\n\r\n const payload = {...this.frmAddGift.value};\r\n payload.weight = this.frmAddGift.get('weight').value || 0;\r\n this.putData(endpoint, payload).then(res => {\r\n track('alert', {\r\n alertType: res ? 'success' : 'failed',\r\n alertMessage: res ? `${this.type === 'updateGift' ? 'Cap nhat' : 'Tao moi'} qua tang thanh cong` : `${this.type === 'updateGift' ? 'Cap nhat' : 'Tao moi'} qua tang that bai`\r\n });\r\n if (res) {\r\n this.giftSharedService.addDone(true);\r\n this.frmAddGift.reset();\r\n this.modalRef.close(res);\r\n }\r\n });\r\n } else {// add\r\n\r\n // tracking\r\n // track('manualTrackInteractionContent', {\r\n // contentName: 'Them',\r\n // interaction: 'click',\r\n // regionName: 'createGiftPopup',\r\n // target: 'giftList'\r\n // });\r\n // end\r\n const endpoint = `/gift`;\r\n const payload = {...this.frmAddGift.value};\r\n payload.weight = this.frmAddGift.get('weight').value || 0;\r\n this.postData(endpoint, payload).then(res => {\r\n // track('alert', {\r\n // alertType: res ? 'success' : 'failed',\r\n // alertMessage: res ? `${this.type === 'updateGift' ? 'Cap nhat' : 'Tao moi'} qua tang thanh cong` : `${this.type === 'updateGift' ? 'Cap nhat' : 'Tao moi'} qua tang that bai`\r\n // });\r\n try {\r\n this.googleAnalyticService.event('create_gift', {\r\n gift_name: this.frmAddGift.get('name')?.value,\r\n gift_type: this.frmAddGift.get('type')?.value,\r\n gift_value: this.frmAddGift.get('icoin')?.value,\r\n });\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n if (res) {\r\n this.giftSharedService.addDone(true);\r\n this.frmAddGift.reset();\r\n this.modalRef.close(res);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n formatNumber($event, key) {\r\n // tslint:disable-next-line:radix\r\n this.frmAddGift.get(key).setValue(Math.abs($event.target.value));\r\n }\r\n\r\n checkNumber($event) {\r\n const isNumber = this.checkNumberService.checkNumberInput($event.target.value);\r\n if (isNumber.status) {\r\n this.frmAddGift.get('icoin').patchValue($event.target.value);\r\n } else {\r\n this.errMessage = isNumber.message;\r\n }\r\n \r\n }\r\n\r\n cancel() {\r\n if (this.typeForm === 'Cập nhật') {\r\n // tracking\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Bo qua',\r\n interaction: 'click',\r\n regionName: 'createGiftPopup',\r\n target: 'giftList'\r\n });\r\n // end\r\n } else {\r\n // tracking\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Bo qua',\r\n interaction: 'click',\r\n regionName: 'updateGiftPopup',\r\n target: 'giftList'\r\n });\r\n // end\r\n }\r\n this.subscriptions.unsubscribe();\r\n this.modalRef.close();\r\n }\r\n\r\n // viettelCheck\r\n hiddenOptionViettel(option) {\r\n if (this.isCheckAccountVietel) {\r\n return option.isViettelCheck;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.subscriptions.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n Tên quà (*)\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập tên quà

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

Vui lòng chỉ nhập tối đa 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Ảnh quà(*)\r\n \r\n \r\n \r\n Kích thước tối ưu: Tỉ lệ ảnh 1:1\r\n Kích thước tối ưu: Tỉ lệ ảnh 1:1\r\n \r\n

\r\n Vui lòng chọn ảnh\r\n

\r\n
\r\n
\r\n
\r\n\r\n \r\n Loại quà (*)\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Vui lòng chọn loại quà

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Giá trị (*)\r\n \r\n \r\n\r\n \r\n \r\n \r\n

{{errMessage}}

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

{{errMessage}}

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

Vui lòng nhập giá trị quà

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n \r\n Mã chương trình VNPay (*) \r\n \r\n \r\n \r\n \r\n

Nhập mã chương trình VNPay

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

Vui lòng chỉ nhập tối đa 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Mã VNPay QR (*)\r\n \r\n \r\n \r\n \r\n

Nhập mã chương trình VNPay

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

Vui lòng chỉ nhập tối đa 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n Mô tả\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Lưu ý: Khi kích hoạt Duyệt quà, quà tặng sau khi trúng sẽ cần thao tác duyệt để khách hàng có thể nhận thưởng\r\n \r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Trọng lượng *\r\n \r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n

Vui lòng nhập trọng lượng

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

Giá trị tối thiểu là 0

\r\n
\r\n
\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, OnDestroy } from '@angular/core';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { CrudCodeService } from '../../services/crud.servive';\r\nimport { Router } from '@angular/router';\r\nimport { NzNotificationService, NzModalService } from 'ng-zorro-antd';\r\nimport { WarningPermissionComponent } from '../warning-permission/warning-permission.component';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { CommonService } from '../../services/common/common.service';\r\nimport {track} from \"../../../helpers/tracking-teko\";\r\n\r\n@Component({\r\n selector: 'app-list-component',\r\n template: ``,\r\n})\r\nexport class ListComponentComponent implements OnInit, OnDestroy {\r\n isCheckAccountVietel = false;\r\n unsubscribe$ = new Subject();\r\n public pageIndex: number;\r\n public pageSize: number;\r\n public total: number;\r\n public loading: boolean;\r\n public listOfAllData: any;\r\n constructor(\r\n public modalService: NzModalService,\r\n public notification: NzNotificationService,\r\n public router: Router,\r\n public crudCodeService: CrudCodeService,\r\n public commonService: CommonService\r\n ) {\r\n this.pageIndex = 1;\r\n this.pageSize = 10;\r\n this.total = 0;\r\n this.loading = false;\r\n this.listOfAllData = [];\r\n }\r\n\r\n isAllDisplayDataChecked = false;\r\n isIndeterminate = false;\r\n listOfDisplayData: any[] = [];\r\n mapOfCheckedId: { [key: string]: boolean } = {};\r\n ids: any[] = [];\r\n isShow: boolean;\r\n\r\n ngOnInit() {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n }\r\n\r\n currentPageDataChange($event: any[]): void {\r\n this.listOfDisplayData = $event;\r\n this.refreshStatus();\r\n }\r\n\r\n refreshStatus(): void {\r\n this.isAllDisplayDataChecked = this.listOfDisplayData.every(item => this.mapOfCheckedId[item.id]);\r\n this.isIndeterminate = this.listOfDisplayData.some(item => this.mapOfCheckedId[item.id]) && !this.isAllDisplayDataChecked;\r\n this.ids = [];\r\n for (const [key, value] of Object.entries(this.mapOfCheckedId)) {\r\n if (value === true) {\r\n this.ids.push(key);\r\n }\r\n }\r\n if (this.ids.length > 0) {\r\n this.isShow = false;\r\n } else {\r\n this.isShow = true;\r\n }\r\n }\r\n\r\n checkAll(value: boolean): void {\r\n this.listOfDisplayData.forEach(item => (this.mapOfCheckedId[item.id] = value));\r\n this.refreshStatus();\r\n }\r\n\r\n getQuery(query) {\r\n Object.keys(query).forEach(key => {\r\n if (query[key] === undefined || query[key] === null) {\r\n delete query[key];\r\n }\r\n });\r\n return query;\r\n }\r\n\r\n getData(endpoint: string, query?: any) {\r\n this.loading = true;\r\n return new Promise((resolve, reject) => {\r\n this.crudCodeService.getAnyThing(endpoint, query).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n {\r\n next: x => {\r\n this.loading = false;\r\n if (x.statusCode === 200) {\r\n this.commonService.changeExpiredViettel(x.status === 'USER_IS_EXPIRED');\r\n this.listOfAllData = x.data?.rows;\r\n this.total = x.data?.count;\r\n resolve(this.listOfAllData);\r\n } else if (x.statusCode === 403) {\r\n this.warning(x.message);\r\n } else {\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra !!!'`,\r\n `${x.message}`\r\n );\r\n }\r\n },\r\n error: err => {\r\n this.loading = false;\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra !!!'`,\r\n `${err}`\r\n );\r\n reject(err);\r\n },\r\n complete: () => {\r\n this.loading = false;\r\n },\r\n }\r\n );\r\n });\r\n }\r\n\r\n deleteData(endpoint: string, body: any) {\r\n return new Promise((resolve, reject) => {\r\n this.crudCodeService.deletes(endpoint, body).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n {\r\n next: x => {\r\n if (x.statusCode === 200) {\r\n this.notification.create(\r\n 'success',\r\n `Thành công`,\r\n `${x.data.message}`\r\n );\r\n } else {\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra !!!'`,\r\n `${x.data.message}`\r\n );\r\n }\r\n },\r\n error: err => {\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra !!!'`,\r\n `${err}`\r\n );\r\n },\r\n complete: () => {\r\n resolve(200);\r\n },\r\n }\r\n );\r\n });\r\n }\r\n\r\n showImage(data) {\r\n if (data && data.image && data.image.medium) {\r\n window.open(`${data.image.medium}`);\r\n }\r\n }\r\n\r\n warning(message?: string) {\r\n const modal = this.modalService.create({\r\n nzVisible: true,\r\n nzContent: WarningPermissionComponent,\r\n nzClosable: false,\r\n nzWidth: 500,\r\n nzMaskClosable: false,\r\n nzFooter: null,\r\n nzClassName: !this.isCheckAccountVietel ? '' : 'modal-viettel',\r\n nzComponentParams: {\r\n message\r\n }\r\n });\r\n modal.afterClose.subscribe(() => {});\r\n }\r\n\r\n postData(endpoint: string, body: any, filter?: any, createCampaign?) {\r\n return new Promise((resolve, reject) => {\r\n this.crudCodeService.postAnyThing(endpoint, body, filter).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n {\r\n next: x => {\r\n if (createCampaign === 'createCampaign') {\r\n track('alert', {\r\n alertMessage: x.statusCode === 200 ? 'Tao chuong trinh thanh cong' : 'Tao chuong trinh that bai',\r\n alertType: x.statusCode === 200 ? 'success' : 'failed'\r\n });\r\n }\r\n console.log('createCampaign', createCampaign);\r\n if (createCampaign === 'limit' || createCampaign === 'unLimit') {\r\n track('alert', {\r\n alertMessage: x.statusCode === 200 ? `${createCampaign === 'limit' ? 'Gioi han' : 'Bo gioi han'} danh sach tham gia thanh cong` : `${createCampaign === 'limit' ? 'Gioi han' : 'Bo gioi han'} danh sach tham gia khong thanh cong`,\r\n alertType: x.statusCode === 200 ? 'success' : 'failed'\r\n });\r\n }\r\n if (x.statusCode === 200) {\r\n let message = '';\r\n if (x.data && x.data.message) {\r\n message = x.data.message;\r\n } else {\r\n message = `Tạo thành công!`;\r\n }\r\n this.notification.create(\r\n 'success',\r\n `Thành công`,\r\n `${message}`\r\n );\r\n resolve(x.data);\r\n } else if (x.statusCode === 403) {\r\n this.warning(x.message);\r\n } else {\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra!'`,\r\n `${x.message}`\r\n );\r\n }\r\n },\r\n error: err => {\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra!'`,\r\n `${err}`\r\n );\r\n reject(err);\r\n },\r\n complete: () => {},\r\n }\r\n );\r\n });\r\n }\r\n\r\n putData(endpoint: string, body: any, updateCampaign?) {\r\n return new Promise((resolve, reject) => {\r\n this.crudCodeService.putAnyThing(endpoint, body).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n {\r\n next: x => {\r\n if (updateCampaign) {\r\n track('alert', {\r\n alertType: x.statusCode === 200 ? 'success' : 'failed',\r\n alertMessage: x.statusCode === 200 ? 'Cap nhat chuong trinh thanh cong' : 'Cap nhat chuong trinh that bai'\r\n });\r\n }\r\n if (x.statusCode === 200) {\r\n this.notification.create(\r\n 'success',\r\n `Thành công`,\r\n `Cập nhật thành công!`\r\n );\r\n resolve(x.data);\r\n } else if (x.statusCode === 403) {\r\n this.warning(x.message);\r\n } else {\r\n reject();\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra!'`,\r\n `${x.message}`\r\n );\r\n }\r\n },\r\n error: err => {\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra!'`,\r\n `${err}`\r\n );\r\n reject(err);\r\n },\r\n complete: () => {},\r\n }\r\n );\r\n });\r\n }\r\n\r\n patchData(endpoint: string, body: any, updateGift?) {\r\n return new Promise((resolve, reject) => {\r\n this.crudCodeService.patchAnyThing(endpoint, body).pipe(takeUntil(this.unsubscribe$)).subscribe(\r\n {\r\n next: x => {\r\n if (updateGift) {\r\n track('alert', {\r\n alertType: x.statusCode === 200 ? 'success' : 'failed',\r\n alertMessage: x.statusCode === 200 ? 'Cap nhat trang thai qua thanh cong' : 'Cap nhat trang thai qua that bai'\r\n });\r\n }\r\n if (x.statusCode === 200) {\r\n this.notification.create(\r\n 'success',\r\n `Thành công`,\r\n `Cập nhật thành công!`\r\n );\r\n resolve(x.data);\r\n } else if (x.statusCode === 403) {\r\n this.warning(x.message);\r\n } else {\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra!'`,\r\n `${x.message}`\r\n );\r\n }\r\n },\r\n error: err => {\r\n this.notification.create(\r\n 'error',\r\n `'Có lỗi xảy ra!'`,\r\n `${err}`\r\n );\r\n reject(err);\r\n },\r\n complete: () => {},\r\n }\r\n );\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unsubscribe$.next();\r\n this.unsubscribe$.complete();\r\n }\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {NzModalRef} from \"ng-zorro-antd\";\r\nimport {CommonService} from \"../../services/common/common.service\";\r\n\r\n@Component({\r\n selector: 'app-modal-alert',\r\n templateUrl: './modal-alert.component.html',\r\n styleUrls: ['./modal-alert.component.scss']\r\n})\r\nexport class ModalAlertComponent implements OnInit {\r\n isShow = false;\r\n @Input() nameConfirm = 'Đã hiểu';\r\n @Input() nameClose = 'Hủy bỏ';\r\n @Input() title = '';\r\n @Input() content = '';\r\n @Input() isClose = true;\r\n isCheckAccountVietel = false\r\n constructor(\r\n private modalRef: NzModalRef,\r\n private commonService: CommonService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n }\r\n\r\n onShowModal() {\r\n this.isShow = true;\r\n }\r\n\r\n closeModal(type: string) {\r\n // this.isShow = false;\r\n this.modalRef.close(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
{{title}}
\r\n\r\n
{{content}}
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input, OnChanges,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2, SimpleChanges,\r\n ViewChild\r\n} from \"@angular/core\";\r\nimport { CommonService } from \"../../services/common/common.service\";\r\n\r\n@Component({\r\n selector: 'app-ui-modal',\r\n templateUrl: './modal.component.html',\r\n styleUrls: ['./modal.component.scss']\r\n})\r\n\r\nexport class UIModalComponent implements OnInit, OnDestroy, OnChanges {\r\n isCheckAccountVietel = false;\r\n @Input() show: boolean;\r\n @Input() autoHeight = false;\r\n @Input() titleModal;\r\n @Input() isScenario = true;\r\n @Input() isSuccess = true;\r\n @Input() isWaring = true;\r\n @Input() disableClickOutside = true;\r\n @Input() customCssAnimation: {\r\n duration: {\r\n show: number,\r\n hide: number\r\n },\r\n entranceAnimation: string,\r\n exitAnimation: string\r\n } = {\r\n duration: {\r\n show: 500,\r\n hide: 100\r\n },\r\n entranceAnimation: 'fadeInDown',\r\n exitAnimation: 'fadeOutUp'\r\n };\r\n @Input() height: number;\r\n @Input() width: number;\r\n @Input() padding: number;\r\n @Input() fullWidth = false;\r\n @Input() hiddenHeader = false;\r\n @Input() hiddenFooter = false;\r\n @Output() showChange: EventEmitter = new EventEmitter();\r\n @Output() closeEvent: EventEmitter = new EventEmitter();\r\n // tslint:disable-next-line\r\n @Output('close') closeNext: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('uiModal', { static: false }) private uiModal: ElementRef;\r\n @ViewChild('uiModalWindow', { static: false }) private uiModalWindow: ElementRef;\r\n\r\n listenForOutsideClick = false;\r\n timer: any;\r\n\r\n constructor(private renderer: Renderer2, public commonService: CommonService) { }\r\n\r\n ngOnInit() { }\r\n\r\n ngOnChanges(changesObj: SimpleChanges) {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n if (changesObj.show && this.uiModalWindow) {\r\n clearTimeout(this.timer);\r\n\r\n const entranceAnimationClass = this.customCssAnimation.entranceAnimation;\r\n const exitAnimationClass = this.customCssAnimation.exitAnimation;\r\n const animationDurationForShow = this.customCssAnimation.duration.show;\r\n const animationDurationForHide = this.customCssAnimation.duration.hide;\r\n\r\n if (changesObj.show.currentValue === true) {\r\n this.renderer.removeClass(this.uiModal.nativeElement, 'display-none');\r\n this.renderer.addClass(this.uiModalWindow.nativeElement, entranceAnimationClass);\r\n\r\n this.timer = setTimeout(() => {\r\n this.renderer.removeClass(this.uiModalWindow.nativeElement, entranceAnimationClass);\r\n this.listenForOutsideClick = true;\r\n }, animationDurationForShow);\r\n } else {\r\n this.renderer.addClass(this.uiModalWindow.nativeElement, exitAnimationClass);\r\n\r\n this.timer = setTimeout(() => {\r\n this.renderer.addClass(this.uiModal.nativeElement, 'display-none');\r\n this.renderer.removeClass(this.uiModalWindow.nativeElement, exitAnimationClass);\r\n this.listenForOutsideClick = false;\r\n }, animationDurationForHide);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n clearTimeout(this.timer);\r\n }\r\n\r\n close() {\r\n this.show = false;\r\n this.closeNext.emit();\r\n this.showChange.emit(false);\r\n }\r\n\r\n open() {\r\n this.show = true;\r\n this.closeNext.emit();\r\n this.showChange.emit(true);\r\n }\r\n\r\n onClickOutsideComponent() {\r\n if (this.disableClickOutside) {\r\n return;\r\n }\r\n\r\n this.closeEvent.emit(true);\r\n this.listenForOutsideClick = false;\r\n this.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
{{titleModal}}
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n \r\n
{{titleModal}}
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\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 } from '@angular/core';\r\nimport { NzModalRef } from 'ng-zorro-antd';\r\nimport { RootService } from '../../services/root.service';\r\nimport { StaffsService } from '../../services';\r\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\r\nimport { formatPhone84 } from 'src/app/helpers';\r\nimport { CommonService } from '../../services/common/common.service';\r\nimport {track} from '../../../helpers/tracking-teko';\r\n\r\n@Component({\r\n selector: 'app-staff-add',\r\n templateUrl: './staff-add.component.html',\r\n styleUrls: ['./staff-add.component.scss']\r\n})\r\nexport class StaffAddComponent implements OnInit {\r\n isCheckAccountVietel = false;\r\n constructor(\r\n public modalRef: NzModalRef,\r\n private rootService: RootService,\r\n private staffsService: StaffsService,\r\n private notification: NzNotificationService,\r\n public commonService: CommonService\r\n\r\n ) { }\r\n\r\n images = [];\r\n isImage = false;\r\n icheckUser = {\r\n id: undefined,\r\n name: undefined,\r\n phone: undefined,\r\n avatar: undefined,\r\n avatar_thumbnails: {\r\n small: undefined\r\n }\r\n };\r\n phone;\r\n message = '';\r\n staff;\r\n\r\n ngOnInit() { this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n }\r\n\r\n lookingUser() {\r\n if (this.phone && this.phone.length < 7) {\r\n this.message = 'Số điện thoại chưa đúng.';\r\n }\r\n\r\n if (this.phone && this.phone.length > 11) {\r\n this.message = 'Số điện thoại chưa đúng.';\r\n }\r\n\r\n if (this.phone && (this.phone.length > 7) && (this.phone.length < 11)) {\r\n this.staffsService.findUserSocialByIdOrPhone(null, formatPhone84(this.phone)).subscribe(res => {\r\n if (res.data) {\r\n this.message = '';\r\n this.icheckUser = res.data;\r\n this.staff = {\r\n name: this.icheckUser.name,\r\n phone: this.phone,\r\n icheck_id: this.icheckUser.id,\r\n logo: this.icheckUser.avatar\r\n };\r\n console.log(this.staff);\r\n } else {\r\n this.message = 'Số điện thoại trên chưa được đăng ký trên app iCheck';\r\n }\r\n });\r\n }\r\n }\r\n\r\n addStaff() {\r\n if (!this.phone) {\r\n this.message = 'Bạn chưa nhập số điện thoại';\r\n }\r\n if (this.staff) {\r\n track('manualTrackInteractionContent', {\r\n contentName: 'Them',\r\n interaction: 'click',\r\n regionName: 'createStaff',\r\n target: 'staftList'\r\n });\r\n this.staffsService.createStaff(this.staff).subscribe(\r\n (res) => {\r\n track('alert', {\r\n alertType: res?.statusCode === 200 ? 'success' : 'failed',\r\n alertMessage: res?.statusCode === 200 ? 'Them nhan vien thanh cong' : 'Them nhan vien that bai'\r\n });\r\n this.modalRef.close(res);\r\n },\r\n (error) => {\r\n this.notification.create(\r\n 'error',\r\n 'Có lỗi xảy ra !!!',\r\n `${error}}`\r\n );\r\n }\r\n );\r\n }\r\n }\r\n\r\n cancel() {\r\n this.modalRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n Số điện thoại (*)\r\n \r\n \r\n \r\n \r\n \r\n \r\n

{{message}}

\r\n
\r\n\r\n \r\n Ảnh\r\n \r\n
\r\n \"\"\r\n {{icheckUser?.name}}\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { NzModalRef } from 'ng-zorro-antd';\r\nimport { StaffsService } from '../../services';\r\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\r\nimport { CommonService } from '../../services/common/common.service';\r\nimport { filter } from 'rxjs/operators';\r\nimport * as _ from 'lodash';\r\nimport {track} from \"../../../helpers/tracking-teko\";\r\n@Component({\r\n selector: 'app-staff-permission',\r\n templateUrl: './staff-permission.component.html',\r\n styleUrls: ['./staff-permission.component.scss']\r\n})\r\nexport class StaffPermissionComponent implements OnInit {\r\n isCheckAccountVietel = false;\r\n constructor(\r\n public modalRef: NzModalRef,\r\n private staffsService: StaffsService,\r\n private notification: NzNotificationService,\r\n public commonService: CommonService\r\n\r\n ) {\r\n }\r\n\r\n @Input() staff;\r\n campaignPermission;\r\n public permissionMethod;\r\n public permissions;\r\n public permissionCampaign = 'READ';\r\n\r\n public permissionsTest = [];\r\n\r\n ngOnInit() {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n this.staffsService.permissionsByStaff(this.staff.icheck_id).subscribe(res => {\r\n if (res.statusCode === 200 && res.data) {\r\n // this.permissionsTest = res.data;\r\n this.permissionsTest = !this.isCheckAccountVietel ? res.data : res.data.filter(item => item.name !== 'Quản lý tài trợ' && item.name !== 'Quản lý gói tài trợ'); \r\n }\r\n });\r\n track('manualTrackVisibleContentImpressions', {\r\n regionName: 'permissionSettingPopup',\r\n contentName: 'Phan quyen',\r\n index: 0,\r\n });\r\n }\r\n\r\n changeCampaignPermission(event) {\r\n }\r\n\r\n cancel() {\r\n this.modalRef.close();\r\n }\r\n\r\n submitForm() {\r\n const permissions = [];\r\n this.permissionsTest.forEach(item => {\r\n const permissionStaff = {\r\n permission_id: item.permission_id,\r\n permission_method_code: item.permission_method_code\r\n };\r\n permissions.push(permissionStaff);\r\n });\r\n const req = {\r\n permissions\r\n };\r\n this.staffsService.setPermissionsStaff(this.staff.icheck_id, req).subscribe(\r\n (res) => {\r\n track('alert', {\r\n alertType: res?.statusCode === 200 ? 'success' : 'failed',\r\n alertMessage: res?.statusCode === 200 ? 'Cap nhat thanh cong' : 'Cap nhat that bai'\r\n });\r\n this.modalRef.close(res);\r\n },\r\n (error) => {\r\n this.notification.create(\r\n 'error',\r\n 'Có lỗi xảy ra !!!',\r\n `${error}`\r\n );\r\n }\r\n );\r\n }\r\n}\r\n","
\r\n
\r\n \r\n {{item.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
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { NzModalRef } from 'ng-zorro-antd';\r\nimport { RootService } from '../../services/root.service';\r\nimport { BusinessService } from '../../services';\r\nimport { NzNotificationService } from 'ng-zorro-antd/notification';\r\nimport { Business } from '../../models/business';\r\nimport { CommonService } from '../../services/common/common.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-update-business',\r\n templateUrl: './update-business.component.html',\r\n styleUrls: ['./update-business.component.scss']\r\n})\r\nexport class UpdateBusinessComponent implements OnInit {\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public modalRef: NzModalRef,\r\n public rootService: RootService,\r\n private businessService: BusinessService,\r\n private notification: NzNotificationService,\r\n private business: Business,\r\n public commonService: CommonService\r\n ) {\r\n this.business = JSON.parse(localStorage.getItem('loyaltyUser'));\r\n this.createForm();\r\n }\r\n frmEditBusiness: FormGroup;\r\n urlImage;\r\n cities;\r\n districts;\r\n wards;\r\n images = [];\r\n isImage = false;\r\n accountQrcodeName;\r\n cityId;\r\n districId;\r\n wardId;\r\n // tslint:disable-next-line:variable-name\r\n expiredAt: any;\r\n isCheckAccountVietel = false;\r\n\r\n ngOnInit() {\r\n this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n\r\n this.expiredAt = this.business.expired_at;\r\n this.listCities();\r\n if (this.business.logo && this.business.logo.id) {\r\n this.urlImage = this.business.logo.small;\r\n }\r\n if (this.business.logo) {\r\n this.images = [{\r\n uid: 1,\r\n name: '',\r\n status: 'done',\r\n url: this.urlImage ? this.urlImage : null,\r\n thumbUrl: this.urlImage ? this.urlImage : null,\r\n id: this.business.logo\r\n }];\r\n }\r\n\r\n if (this.business.city_id) {\r\n this.listDistricts(this.business.city_id);\r\n }\r\n\r\n if (this.business.district_id) {\r\n this.listWards(this.business.district_id);\r\n }\r\n\r\n if (this.business.account_qrcode_id !== null) {\r\n this.accountQrcodeName = this.business.account_qrcode_name;\r\n } else {\r\n this.accountQrcodeName = 'Chưa liên kết';\r\n }\r\n }\r\n\r\n createForm() {\r\n this.frmEditBusiness = this.formBuilder.group({\r\n logo: [this.business.logo ? this.business.logo.id : null, [\r\n ]],\r\n name: [this.business.name, [\r\n Validators.required,\r\n Validators.maxLength(255)\r\n ]],\r\n phone: [this.business.phone, [\r\n Validators.minLength(7),\r\n Validators.maxLength(11),\r\n Validators.pattern('[0-9]*')\r\n ]],\r\n email: [this.business.email, [\r\n Validators.maxLength(255),\r\n Validators.pattern('[a-zA-Z0-9.-_]{1,}@[a-zA-Z.-]{2,}[.]{1}[a-zA-Z]{2,}')\r\n ]],\r\n website: [this.business.website, [\r\n Validators.maxLength(255)\r\n ]],\r\n city_id: [this.business.city_id ? String(this.business.city_id) : null, []],\r\n district_id: [this.business.district_id ? String(this.business.district_id) : null, []],\r\n ward_id: [this.business.ward_id ? String(this.business.ward_id) : null, []],\r\n address: [this.business.address, [\r\n Validators.maxLength(255)\r\n ]],\r\n // ent_terminal: [this.business.ent_terminal ? String(this.business.ent_terminal) : null, []]\r\n });\r\n }\r\n\r\n uploadImageAttribute($event) {\r\n if ($event.fileList) {\r\n if ($event.type === 'removed') {\r\n for ( let i = 0; i < this.images.length; i++) {\r\n if ( this.images[i].id === $event.file.id) {\r\n this.images.splice(i, 1);\r\n this.frmEditBusiness.controls.logo.setValue(null);\r\n }\r\n }\r\n }\r\n if ($event.type === 'success' && $event.file.status === 'done') {\r\n this.frmEditBusiness.controls.logo.setValue($event.file.response.id);\r\n this.isImage = false;\r\n }\r\n }\r\n }\r\n\r\n listCities() {\r\n this.rootService.getCities().subscribe(res => {\r\n this.cities = res.rows;\r\n });\r\n }\r\n changeCities(event) {\r\n this.cityId = parseInt(event);\r\n if (this.cityId) {\r\n this.listDistricts(this.cityId);\r\n this.frmEditBusiness.controls.district_id.setValue(null);\r\n this.frmEditBusiness.controls.ward_id.setValue(null);\r\n }\r\n }\r\n\r\n listDistricts(cityId) {\r\n this.rootService.getDistricts(cityId).subscribe(res => {\r\n this.districts = res.rows;\r\n });\r\n }\r\n changeDistricts(event) {\r\n this.districId = parseInt(event);\r\n if (this.districId) {\r\n this.listWards(this.districId);\r\n this.frmEditBusiness.controls.ward_id.setValue(null);\r\n }\r\n }\r\n changeWards(event) {\r\n this.wardId = parseInt(event);\r\n }\r\n\r\n listWards(districId) {\r\n this.rootService.getWards(districId).subscribe(res => {\r\n this.wards = res.rows;\r\n });\r\n }\r\n\r\n submitForm() {\r\n let checkSpace = false;\r\n for (const key of Object.keys(this.frmEditBusiness.controls)) {\r\n this.frmEditBusiness.controls[key].markAsDirty();\r\n this.frmEditBusiness.controls[key].updateValueAndValidity();\r\n }\r\n\r\n if (this.frmEditBusiness.value.city_id === null) {\r\n this.frmEditBusiness.controls.district_id.setValue(null);\r\n this.frmEditBusiness.controls.ward_id.setValue(null);\r\n }\r\n\r\n if (this.frmEditBusiness.value.district_id === null) {\r\n this.frmEditBusiness.controls.ward_id.setValue(null);\r\n }\r\n\r\n if (this.frmEditBusiness.value.name.replace(/\\s/g, '') === '') {\r\n checkSpace = true;\r\n this.frmEditBusiness.controls.name.setValue(null);\r\n }\r\n\r\n if (this.frmEditBusiness.valid && !checkSpace) {\r\n const body = {\r\n name: this.frmEditBusiness.value.name.trim(),\r\n logo: this.frmEditBusiness.value.logo,\r\n email: this.frmEditBusiness.value.email,\r\n phone: this.frmEditBusiness.value.phone,\r\n address: this.frmEditBusiness.value.address,\r\n website: this.frmEditBusiness.value.website,\r\n // email: this.frmEditBusiness.value.email.trim(),\r\n // phone: this.frmEditBusiness.value.phone.trim(),\r\n // address: this.frmEditBusiness.value.address.trim(),\r\n // website: this.frmEditBusiness.value.website.trim(),\r\n city_id: this.frmEditBusiness.value.city_id,\r\n district_id: this.frmEditBusiness.value.district_id,\r\n ward_id: this.frmEditBusiness.value.ward_id,\r\n expired_at: this.frmEditBusiness.value.expired_at,\r\n // ent_terminal: this.frmEditBusiness.value.ent_terminal\r\n };\r\n this.businessService.updateBusiness(body).subscribe(\r\n (res) => {\r\n if (res.statusCode === 200) {\r\n this.notification.create(\r\n 'success',\r\n `Cập nhật thành công`,\r\n `Cập nhật thông tin doanh nghiệp thành công!`\r\n );\r\n localStorage.setItem('loyaltyUser', JSON.stringify(res.data));\r\n this.modalRef.close();\r\n if ((res.data.name !== this.business.name) || (res.data.logo.id !== this.business.logo.id)) {\r\n setTimeout(() => {\r\n location.reload();\r\n }, 2000);\r\n }\r\n } else {\r\n this.notification.create(\r\n 'error',\r\n 'Có lỗi xảy ra !!!',\r\n `${res.message}.`\r\n );\r\n }\r\n },\r\n (error) => {\r\n this.notification.create(\r\n 'error',\r\n 'Có lỗi xảy ra !!!',\r\n `${error}.`\r\n );\r\n }\r\n );\r\n }\r\n }\r\n\r\n cancel() {\r\n this.modalRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n

Thời hạn tài khoản: {{expiredAt | date: ' hh:mm:ss dd/MM/yyyy'}}

\r\n\r\n \r\n Logo\r\n \r\n \r\n \r\n

\r\n Vui lòng chọn ảnh\r\n

\r\n
\r\n
\r\n
\r\n\r\n \r\n Tên doanh nghiệp(*)\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập tên doanh nghiệp

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

Vui lòng chỉ nhập tối đa 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Số điện thoại\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập tối đa 11 ký tự

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

Vui lòng nhập tối thiểu 7 ký tự

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

Số điện thoại phải là số

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Email\r\n \r\n \r\n \r\n \r\n

Chỉ được nhập tối đa 255 ký tự

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

Email không đúng định dạng

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Website\r\n \r\n \r\n \r\n \r\n

Chỉ được nhập tối đa 255 ký tự

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

Website không đúng định dạng

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Tỉnh/thành\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Vui lòng chọn tỉnh/thành

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Quận/huyện\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Vui lòng chọn quận/huyện

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Phường/xã\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Vui lòng chọn phường/xã

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Địa chỉ\r\n \r\n \r\n \r\n \r\n

Vui lòng nhập địa chỉ

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

Chỉ được nhập tối đa 255 ký tự

\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n Tài khoản QRcode\r\n \r\n

{{accountQrcodeName}}

\r\n
\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 { UploadService } from 'src/app/shared/services/upload.service';\r\nimport { NzNotificationService } from 'ng-zorro-antd';\r\nimport { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nconst IMG_REGEX = /(.*?)\\.(jpg|png|jpeg)$/i;\r\n@Component({\r\n selector: 'app-upload-img-button',\r\n templateUrl: './upload-img-button.component.html',\r\n styleUrls: ['./upload-img-button.component.scss']\r\n})\r\nexport class UploadImgButtonComponent implements OnInit {\r\n @Input() banners: any;\r\n @Input() required: boolean = false;\r\n @Output() onReceive = new EventEmitter();\r\n @Output() onDelete = new EventEmitter();\r\n\r\n constructor(private notificationService: NzNotificationService,\r\n private upload: UploadService) {\r\n }\r\n\r\n ngOnChanges(changes: import('@angular/core').SimpleChanges): void {\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n onChangeBanner(files) {\r\n if (files?.length > 0) {\r\n const images = [];\r\n Array.from(files).forEach(file => {\r\n if (+this.onGetSizeFile((file as any).size) > 5) {\r\n // this.notification('Dung lượng file vượt quá 5MB');\r\n this.createNotification('error', 'THÔNG BÁO', 'Dung lượng file vượt quá 5MB');\r\n } else {\r\n if (IMG_REGEX.test((file as any)?.name)) {\r\n return this.upload.postImg(file).subscribe((res) => {\r\n images.push(res);\r\n this.banners = images;\r\n // this.isImage = true;\r\n this.onReceive.emit({ id: res?.data?.url, srcBanner: res?.data?.url });\r\n this.required = false;\r\n });\r\n } else {\r\n // this.notification('Vui lòng chọn định dạng ảnh JPG, PNG');\r\n this.createNotification('error', 'THÔNG BÁO', 'Vui lòng chọn định dạng ảnh JPG, PNG, JPEG');\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n onRemoveImage() {\r\n this.banners = [];\r\n // this.required = true;\r\n // this.infoForm.get('image').setValue(null);\r\n // this.isImage = false;\r\n this.onDelete.emit({ id: null, isRequired: true });\r\n }\r\n\r\n onGetSizeFile = (size: string) => (+size / (1024 * 1024)).toFixed(2);\r\n\r\n createNotification(type, title, message) {\r\n this.notificationService.create(type, title, message);\r\n }\r\n\r\n ngOnDestroy(): void {\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, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { NzNotificationService } from 'ng-zorro-antd';\r\nimport { UploadService } from '../../services/upload.service';\r\n\r\nconst IMG_REGEX = /(.*?)\\.(jpg|png|jpeg)$/i;\r\n@Component({\r\n selector: 'app-ui-upload-image',\r\n templateUrl: './upload-img.component.html',\r\n styleUrls: ['./upload-img.component.scss']\r\n})\r\n\r\nexport class UploadImgComponent implements OnInit, OnDestroy, OnChanges {\r\n // banners: any = [];\r\n\r\n @Input() banners: any;\r\n @Input() isUploadImage: any;\r\n @Input() isUploadBanner: any;\r\n @Input() isUploadRotation: any;\r\n @Input() isUploadNeedle: any;\r\n @Input() isUploadBackground: any;\r\n @Input() height: any;\r\n @Input() width: any;\r\n @Input() isUploadV2: any;\r\n @Input() required: boolean = false;\r\n @Output() onReceive = new EventEmitter();\r\n @Output() onDelete = new EventEmitter();\r\n\r\n constructor(private notificationService: NzNotificationService,\r\n private upload: UploadService) {\r\n }\r\n\r\n ngOnChanges(changes: import('@angular/core').SimpleChanges): void {\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n\r\n onChangeBanner(files) {\r\n if (files?.length > 0) {\r\n Array.from(files).forEach(file => {\r\n if (+this.onGetSizeFile((file as any).size) > 5) {\r\n this.createNotification('error', 'THÔNG BÁO', 'Dung lượng file vượt quá 5MB');\r\n } else {\r\n if (IMG_REGEX.test((file as any)?.name)) {\r\n return this.upload.postImg(file).subscribe((res) => {\r\n this.banners = [{\r\n src: res.data.url\r\n }];\r\n this.onReceive.emit({\r\n id: res?.data?.url,\r\n srcBanner: res?.data.url\r\n });\r\n this.required = false;\r\n\r\n });\r\n } else {\r\n this.createNotification('error', 'THÔNG BÁO', 'Vui lòng chọn định dạng ảnh JPG, PNG, JPEG');\r\n }\r\n }\r\n });\r\n\r\n // this.banners = images;\r\n }\r\n }\r\n\r\n onRemoveImage() {\r\n this.banners = [];\r\n this.onDelete.emit({ id: null, isRequired: true });\r\n }\r\n\r\n onGetSizeFile = (size: string) => (+size / (1024 * 1024)).toFixed(2);\r\n\r\n createNotification(type, title, message) {\r\n this.notificationService.create(type, title, message);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n

Vui lòng chọn ảnh

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

Vui lòng chọn ảnh

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

Vui lòng chọn ảnh

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

Vui lòng chọn ảnh

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

Vui lòng chọn ảnh

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

Vui lòng chọn ảnh

\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport {NzModalRef} from 'ng-zorro-antd';\r\nimport { CommonService } from '../../services/common/common.service';\r\n\r\n@Component({\r\n selector: 'app-warning-leave',\r\n templateUrl: './warning-leave.component.html',\r\n styleUrls: ['./warning-leave.component.scss']\r\n})\r\nexport class WarningLeaveComponent implements OnInit {\r\n isCheckAccountVietel = false;\r\n @Input() isValue;\r\n @Input() isSucces;\r\n constructor(\r\n private modalRef: NzModalRef,\r\n public commonService: CommonService\r\n ) { }\r\n\r\n ngOnInit(): void { this.isCheckAccountVietel = this.commonService.isCheckAccountByViettel();\r\n\r\n }\r\n submit(type: string) {\r\n this.modalRef.close(type);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n Tất cả dữ liệu bạn thay đổi sẽ không lưu. Bạn có chắc chắn muốn rời khỏi trang này?\r\n Cấu hình chương trình chưa được lưu. Bạn có chắc chắn muốn rời khỏi trang này?\r\n Chương trình chưa có kịch bản trả thưởng. Bạn có chắc chắn muốn hoàn thành cấu hình chương trình không?\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport {NzModalRef} from 'ng-zorro-antd';\r\nimport { CommonService } from '../../services/common/common.service';\r\n\r\n@Component({\r\n selector: 'app-warning-noti',\r\n templateUrl: './warning-noti.component.html',\r\n styleUrls: ['./warning-noti.component.scss']\r\n})\r\nexport class WarningNotiComponent implements OnInit {\r\n isChecked = false;\r\n @Input() id: any;\r\n constructor(\r\n private modalRef: NzModalRef,\r\n public commonService: CommonService\r\n ) { }\r\n\r\n ngOnInit(): void {}\r\n\r\n accept(){\r\n if(this.isChecked) {\r\n localStorage.setItem('percentGift', JSON.stringify(this.isChecked));\r\n }\r\n this.modalRef.close(this.isChecked);\r\n }\r\n}\r\n","
\r\n
\r\n

Khi cài đặt xác suất rơi quà là 0%, quà tặng vẫn có thể rơi ra nếu số lượng quà > 0 và các phần quà khác trong kịch bản đã hết.

\r\n

Để chắn chắn quà không rơi ra, vui lòng điều chỉnh số lượng quà bằng 0.

\r\n \r\n
\r\n \r\n
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NzModalRef } from 'ng-zorro-antd';\r\nimport {AuthService} from '../../../modules/auth/auth.service';\r\n\r\n@Component({\r\n selector: 'app-warning-permission',\r\n templateUrl: './warning-permission.component.html',\r\n styleUrls: ['./warning-permission.component.scss']\r\n})\r\nexport class WarningPermissionComponent implements OnInit {\r\n\r\n @Input() message;\r\n constructor(\r\n private router: Router,\r\n private authService: AuthService,\r\n public modalRef: NzModalRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n accept() {\r\n // localStorage.clear();\r\n // this.authService.logout();\r\n // this.router.navigate(['/auth/login']);\r\n this.modalRef.close();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n

Cảnh báo

\r\n

{{message}}

\r\n Tôi đã hiểu\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { NzModalRef } from 'ng-zorro-antd';\r\nimport { AuthService } from 'src/app/modules/auth/auth.service';\r\nimport { ModalOutDateComponent } from '../modal-out-date/modal-out-date.component';\r\n\r\n@Component({\r\n selector: 'app-date-expired',\r\n templateUrl: './date-expired.component.html',\r\n styleUrls: ['./date-expired.component.scss']\r\n})\r\nexport class DateExpiredComponent implements OnInit {\r\n\r\n form = this.fb.group({});\r\n constructor(\r\n private authService: AuthService,\r\n private fb: FormBuilder,\r\n private router: Router,\r\n public modalRef: NzModalRef,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n closeModal() {\r\n this.authService.logout();\r\n this.router.navigate(['/auth/login']);\r\n // localStorage.removeItem('loyaltyUser');\r\n // localStorage.clear();\r\n // location.reload();\r\n this.modalRef.close();\r\n }\r\n\r\n openModal() {\r\n this.modalRef.close();\r\n console.log('date');\r\n }\r\n}\r\n","
\r\n
\r\n \r\n Tài khoản đã hết hạn sử dụng. Vui lòng liên hệ nhân viên iCheck để gia hạn thêm tài khoản!\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n","import {Directive, EventEmitter, HostListener, Output} from '@angular/core';\r\nimport {DomSanitizer} from '@angular/platform-browser';\r\n\r\n@Directive({\r\n selector: '[appDragDrop]'\r\n})\r\n// tslint:disable-next-line:directive-class-suffix\r\nexport class DragDropDirectiveShare {\r\n\r\n constructor(private sanitizer: DomSanitizer) { }\r\n\r\n @Output() files: EventEmitter = new EventEmitter();\r\n\r\n @HostListener('dragover', ['$event']) public onDragOver(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n }\r\n\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n }\r\n\r\n @HostListener('drop', ['$event']) public onDrop(evt: DragEvent) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n\r\n // for (let i = 0; i < evt.dataTransfer.files.length; i++) {\r\n // const file = evt.dataTransfer.files[i];\r\n // const url = this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(file));\r\n // files.push({ file, url });\r\n // }\r\n const files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.files.emit(files);\r\n }\r\n }\r\n\r\n}\r\n","import {\r\n Directive, ElementRef, forwardRef,\r\n HostListener, Input, Renderer2, Injector,\r\n OnInit, HostBinding, DoCheck, NgZone, OnDestroy\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, NG_VALIDATORS, Validator,\r\n FormControl, NgControl, ValidatorFn, Validators } from '@angular/forms';\r\nimport { DecimalPipe } from '@angular/common';\r\nimport { Subject } from 'rxjs';\r\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\r\n\r\ntype NumberType = number | string | null;\r\n\r\nlet nextUniqueId = 0;\r\nconst REGEX_NUMBER = /[^\\d.\\-e+]/g;\r\n\r\n@Directive({\r\n // tslint:disable-next-line:directive-selector\r\n // selector: 'input[type=\"number\"],input[type=\"currency\"],input[type=\"percent\"],input[number]',\r\n selector: '[input[type=\"number\"],input[type=\"currency\"],input[type=\"percent\"],input[number]]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => AppInputNumberDirective),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => AppInputNumberDirective),\r\n multi: true,\r\n },\r\n DecimalPipe\r\n ],\r\n host: {\r\n '[id]': 'id',\r\n '[attr.aria-describedby]': 'describedBy',\r\n '[class.text-right]': 'right',\r\n }\r\n})\r\n// tslint:disable-next-line:max-line-length\r\nexport class AppInputNumberDirective implements OnInit, DoCheck, OnDestroy, ControlValueAccessor, Validator {\r\n controlType = 'customNumber';\r\n stateChanges = new Subject();\r\n focused = false;\r\n touched = false;\r\n ngControl: NgControl = null;\r\n errorState = false;\r\n id = `attachment-input-${nextUniqueId++}`;\r\n _validator: Map = new Map();\r\n\r\n private _valueAccessor: NumberType;\r\n @HostBinding('attr.value') @Input()\r\n get value() { return this._valueAccessor; }\r\n set value(value) {\r\n this._valueAccessor = value;\r\n this.formatValue(value);\r\n this.stateChanges.next();\r\n }\r\n\r\n @Input() numberType: 'number' | 'currency' | 'percent' = 'number';\r\n @Input() type: string;\r\n @Input() format: string = '1.0-0';\r\n @Input() formatSeparator: boolean = true;\r\n @Input() viewFormatFn: (val: any) => string;\r\n\r\n private _placeholder: string;\r\n @Input()\r\n get placeholder() { return this._placeholder; }\r\n set placeholder(val) {\r\n this._placeholder = val;\r\n this.stateChanges.next();\r\n }\r\n\r\n private _required: boolean;\r\n @Input()\r\n get required() { return this._required; }\r\n set required(val) {\r\n this._required = coerceBooleanProperty(val);\r\n this.stateChanges.next();\r\n }\r\n\r\n @Input()\r\n set min(val) {\r\n if (coerceNumberProperty(val)) {\r\n this._validator.set('min', Validators.min(coerceNumberProperty(val)));\r\n } else {\r\n this._validator.delete('min');\r\n }\r\n }\r\n\r\n @Input()\r\n set max(val) {\r\n if (coerceNumberProperty(val)) {\r\n this._validator.set('max', Validators.max(coerceNumberProperty(val)));\r\n } else {\r\n this._validator.delete('max');\r\n }\r\n }\r\n\r\n private _readonly: boolean;\r\n @Input()\r\n get readonly() { return this._readonly; }\r\n set readonly(val) {\r\n this._readonly = coerceBooleanProperty(val);\r\n this.stateChanges.next();\r\n }\r\n\r\n private _disabled: boolean;\r\n @Input()\r\n get disabled() { return this._disabled; }\r\n set disabled(val) {\r\n this._disabled = coerceBooleanProperty(val);\r\n this.stateChanges.next();\r\n }\r\n\r\n private _right: boolean;\r\n @Input()\r\n get right() { return this._right; }\r\n set right(val) {\r\n this._right = coerceBooleanProperty(val);\r\n this.stateChanges.next();\r\n }\r\n\r\n @HostBinding('class.floating')\r\n get shouldLabelFloat() { return this.focused || !this.empty; }\r\n get empty() { return !this.value; }\r\n\r\n @HostBinding('attr.aria-describedby') describedBy = '';\r\n\r\n constructor(\r\n public injector: Injector,\r\n private element: ElementRef,\r\n private renderer: Renderer2,\r\n private ngZone: NgZone,\r\n private decimalPipe: DecimalPipe) {\r\n }\r\n\r\n ngOnInit() {\r\n this._setElementTypeText();\r\n this.ngControl = this.injector.get(NgControl);\r\n\r\n if (this.ngControl !== null) {\r\n this.ngControl.valueAccessor = this;\r\n }\r\n\r\n if (this.numberType === 'currency' && this.format === '1.0-0') {\r\n this.format = '1.2-2';\r\n }\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (this.ngControl) {\r\n this.errorState = this.ngControl.invalid && this.ngControl.touched;\r\n this.stateChanges.next();\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._removeFocusOutsideListener();\r\n }\r\n\r\n @HostListener('input', ['$event.target.value'])\r\n onInput(value) {\r\n this._valueAccessor = this._transformValue(value);\r\n this.onChange(this._valueAccessor); // notify Angular Validators\r\n }\r\n\r\n @HostListener('blur')\r\n _onBlur() {\r\n if (this.readonly || this.disabled) {\r\n return;\r\n }\r\n\r\n this._setElementTypeText();\r\n this.formatValue(this._valueAccessor);\r\n }\r\n\r\n @HostListener('focus')\r\n onFocus() {\r\n if (this.readonly || this.disabled) {\r\n return;\r\n }\r\n\r\n this.unFormatValue();\r\n this._setElementTypeNumber();\r\n }\r\n\r\n @HostListener('focusout')\r\n onFocusOut() {\r\n this._onBlur();\r\n }\r\n\r\n onChange = (value: any) => { };\r\n onTouched: () => void = () => { this.touched = true; };\r\n\r\n writeValue(value: any) {\r\n this._valueAccessor = this._transformValue(value);\r\n this.formatValue(this._valueAccessor); // format Value\r\n }\r\n\r\n registerOnChange(fn: (value: any) => void) {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void) {\r\n this.onTouched = () => {\r\n this.touched = true;\r\n fn();\r\n };\r\n\r\n this._initFocusOutsideListener();\r\n }\r\n\r\n validate(control: FormControl) {\r\n const validators = Validators.compose([...this._validator.values()]);\r\n return validators ? validators(control) : null;\r\n }\r\n\r\n private _initFocusOutsideListener() {\r\n this.ngZone.runOutsideAngular(() => {\r\n this.element.nativeElement.addEventListener('focus', this.onTouched.bind(this));\r\n });\r\n }\r\n\r\n private _removeFocusOutsideListener() {\r\n this.ngZone.runOutsideAngular(() => {\r\n this.element.nativeElement.removeEventListener('focus', this.onTouched.bind(this));\r\n });\r\n }\r\n\r\n private formatValue(value: NumberType) {\r\n if (value !== null) {\r\n value = ((value !== undefined && value !== null) ? value : '').toString().replace(REGEX_NUMBER, '');\r\n\r\n this._setElementValue(this._decimalTransform(value), true);\r\n } else {\r\n this._setElementValue(this._decimalTransform(), true);\r\n }\r\n }\r\n\r\n private unFormatValue() {\r\n const value = this.element.nativeElement.value;\r\n\r\n if (value) {\r\n this._setElementValue(value.replace(REGEX_NUMBER, ''));\r\n } else {\r\n this._setElementValue(this._decimalTransform());\r\n }\r\n }\r\n\r\n private _setElementTypeNumber() {\r\n this.renderer.setProperty(this.element.nativeElement, 'type', 'number');\r\n }\r\n\r\n private _setElementTypeText() {\r\n this.renderer.setProperty(this.element.nativeElement, 'type', 'text');\r\n }\r\n\r\n private _setElementValue(value, special?) {\r\n this.renderer.setProperty(this.element.nativeElement, 'value', (\r\n this.viewFormatFn ?\r\n this.viewFormatFn(value) :\r\n (special && value && this.numberType === 'percent' ? `${value}%` : value)\r\n ));\r\n }\r\n\r\n private _transformValue(value?) {\r\n const val = (this.decimalPipe\r\n .transform(((value !== undefined && value !== null) ? value : '').toString().replace(REGEX_NUMBER, ''), this.format)\r\n || '');\r\n\r\n if (val === '') {\r\n return undefined;\r\n }\r\n\r\n return Number(val.replace(REGEX_NUMBER, ''));\r\n }\r\n\r\n private _decimalTransform(value?) {\r\n let val = this.decimalPipe.transform((value !== undefined && value !== null) ? value : '', this.format) || '';\r\n\r\n if (!this.formatSeparator) {\r\n val = val.replace(REGEX_NUMBER, '');\r\n }\r\n\r\n return val;\r\n }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport {NzModalRef} from 'ng-zorro-antd';\r\nimport { CampaignService } from 'src/app/modules/loyalty/campaign/services';\r\n\r\n@Component({\r\n selector: 'app-modal-out-date',\r\n templateUrl: './modal-out-date.component.html',\r\n styleUrls: ['./modal-out-date.component.scss']\r\n})\r\nexport class ModalOutDateComponent implements OnInit {\r\n @Input() show: boolean;\r\n @Input() titleModal;\r\n form = this.fb.group({});\r\n constructor(\r\n private fb: FormBuilder,\r\n private router: Router,\r\n public modalRef: NzModalRef,\r\n private campaignService: CampaignService,\r\n ) { }\r\n\r\n @Input() date: any;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n closeModal() {\r\n this.modalRef.close();\r\n // this.campaignService.changeStep(0);\r\n // this.router.navigate(['/auth/login']);\r\n }\r\n\r\n OpenModal() {\r\n this.modalRef.close('yes');\r\n console.log('date');\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n Thời gian diễn ra chương trình vượt quá thời hạn tài khoản của bạn. Nếu tài khoản hết hạn,\r\n chương trình sẽ bị dừng hoạt động. Bạn chắc chắn muốn tiếp tục không ? \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n","import { Injectable } from '@angular/core';\r\n@Injectable()\r\nexport class Business {\r\n public name: string;\r\n public phone: string;\r\n public email: string;\r\n public website: string;\r\n public logo: {\r\n id: string,\r\n small: string,\r\n thumbnail: string,\r\n medium: string\r\n };\r\n public address: string;\r\n public city_id: number;\r\n public district_id: number;\r\n public ward_id: number;\r\n public account_qrcode_id?: number;\r\n public account_qrcode_name?: string;\r\n public expired_at: any;\r\n // public ent_terminal: string;\r\n}\r\n","export const CAMPAIGN = {\r\n status: [\r\n {\r\n id: 1,\r\n name: 'ACTIVE',\r\n key: 'active',\r\n label: 'Kích hoạt',\r\n isViettelCheck: false,\r\n },\r\n // {\r\n // id: 2,\r\n // name: 'WAITING_PAYMENT',\r\n // key: 'waiting_payment',\r\n // label: 'Chờ thanh toán',\r\n // isViettelCheck: true,\r\n // },\r\n // {\r\n // id: 3,\r\n // name: 'WAITING_APPROVE_DONATION',\r\n // key: 'waiting_approve_donation',\r\n // label: 'Chờ duyệt',\r\n // isViettelCheck: true,\r\n // },\r\n // {\r\n // id: 4,\r\n // name: 'APPROVED_DONATION',\r\n // key: 'approved_donation',\r\n // label: 'Duyệt tài trợ',\r\n // isViettelCheck: true,\r\n // },\r\n // {\r\n // id: 5,\r\n // name: 'REFUSED_DONATION',\r\n // key: 'refused__donation',\r\n // label: 'Từ chối tài trợ',\r\n // isViettelCheck: true,\r\n // },\r\n {\r\n id: 6,\r\n name: 'BANNED',\r\n key: 'banned',\r\n label: 'Bị dừng',\r\n isViettelCheck: false,\r\n },\r\n {\r\n id: 7,\r\n name: 'STOPPED',\r\n key: 'stopped',\r\n label: 'Đã dừng',\r\n isViettelCheck: false,\r\n }\r\n ],\r\n statusTimeTitle: [\r\n {\r\n id: 1,\r\n name: 'INPROGRESS',\r\n key: 'INPROGRESS',\r\n label: 'Đang diễn ra',\r\n },\r\n {\r\n id: 2,\r\n name: 'NOT_YET',\r\n key: 'NOT_YET',\r\n label: 'Chưa bắt đầu',\r\n },\r\n {\r\n id: 3,\r\n name: 'FINISHED',\r\n key: 'FINISHED',\r\n label: 'Đã kết thúc',\r\n },\r\n ],\r\n type: [\r\n {\r\n id: 'receive_gift',\r\n name: 'Kịch bản quét tem/nhập mã nhận quà',\r\n key: 'receive_gift',\r\n isViettelCheck: true\r\n },\r\n {\r\n id: 'mini_game',\r\n name: 'Kịch bản mini game',\r\n key: 'mini_game',\r\n isViettelCheck: true\r\n },\r\n {\r\n id: 'accumulate_point',\r\n name: 'Kịch bản tích luỹ nhận quà',\r\n key: 'accumulate_point',\r\n isViettelCheck: true\r\n },\r\n {\r\n id: 'accumulation_long_term_point',\r\n name: 'Kịch bản tích điểm thành viên',\r\n key: 'accumulation_long_term_point',\r\n isViettelCheck: true\r\n },\r\n {\r\n id: 'receive_gift_qr_mar',\r\n name: 'Kịch bản rơi quà không giới hạn',\r\n key: 'receive_gift_qr_mar',\r\n isViettelCheck: false\r\n },\r\n {\r\n id: 'mini_game_qr_mar',\r\n name: 'Kịch bản mini game không giới hạn',\r\n key: 'mini_game_qr_mar',\r\n isViettelCheck: false\r\n },\r\n // Kịch bản Tích điểm thành viên không giới hạn\r\n {\r\n id: 'accumulation_long_term_point_qr_mar',\r\n name: 'Kịch bản tích điểm thành viên không giới hạn',\r\n key: 'accumulation_long_term_point_qr_mar',\r\n isViettelCheck: true\r\n },\r\n {\r\n id: 'accumulate_point_qr_mar',\r\n name: 'Kịch bản tích lũy nhận quà không giới hạn',\r\n key: 'accumulate_point_qr_mar',\r\n isViettelCheck: false\r\n }\r\n ],\r\n typeVouchers: [\r\n {\r\n id: 1,\r\n name: 'Đang hoạt động',\r\n key: 'active'\r\n },\r\n {\r\n id: 2,\r\n name: 'Đang khóa',\r\n key: 'locked'\r\n },\r\n {\r\n id: 3,\r\n name: 'Bị khóa',\r\n key: 'admin_locked'\r\n }\r\n ],\r\n TYPE_GIFT: {\r\n CONGRATULATION: 'Quà tinh thần',\r\n ICOIN: 'Quà VNPoint',\r\n PRODUCT: 'Quà hiện vật',\r\n RECEIVE_STORE: 'Quà nhận tại cửa hàng',\r\n PHONE_CARD: 'Quà thẻ điện thoại',\r\n VOUCHER: 'Quà Voucher',\r\n VNPAY_QR: 'Quà VNPAY_QR',\r\n // DIGITAL_MONEY: 'Tiền thưởng'\r\n },\r\n\r\n TYPE_PROGRAM: {\r\n receive_gift: 'Nhận quà',\r\n mini_game: 'Mini Game',\r\n accumulate_point: 'Tích lũy nhận điểm',\r\n accumulation_long_term_point: 'Tích điểm thành viên',\r\n receive_gift_qr_mar: 'Rơi quà may mắn',\r\n mini_game_qr_mar: 'Mini game',\r\n accumulation_long_term_point_qr_mar: 'Kịch bản tích điểm thành viên không giới hạn',\r\n accumulate_point_qr_mar: 'Tích điểm đổi quà'\r\n },\r\n\r\n TYPE_CAMPAIGN_ICHECK: [\r\n {\r\n id: 'login_required',\r\n name: 'Đăng nhập tài khoản icheck để tham gia chương trình',\r\n key: 'login_required'\r\n },\r\n {\r\n id: 'free',\r\n name: 'Không yêu cầu đăng nhập',\r\n key: 'free'\r\n }\r\n ],\r\n\r\n TYPE_BONUS_POINTS: [\r\n {\r\n name: 'Yêu cầu nhập mã dự thưởng',\r\n key: 'codes'\r\n },\r\n {\r\n name: 'Không yêu cầu nhập mã dự thưởng',\r\n key: 'nocodes'\r\n }\r\n ],\r\n\r\n TYPE_CAMPAIGN_WEBAPP: [\r\n {\r\n id: 'info_required',\r\n name: 'Nhập thông tin khách hàng để tham gia chương trình',\r\n key: 'info_required'\r\n },\r\n {\r\n id: 'info_otp_required',\r\n name: 'Nhập thông tin khách hàng và mã OTP để tham gia chương trình',\r\n key: 'info_otp_required'\r\n },\r\n {\r\n id: 'free',\r\n name: 'Không yêu cầu nhập thông tin khách hàng',\r\n key: 'free'\r\n }\r\n ],\r\n\r\n statusHistoryVouchers: [\r\n {\r\n id: 1,\r\n name: 'Đã hoàn tác',\r\n is_rollback: true\r\n },\r\n {\r\n id: 2,\r\n name: 'Tất cả',\r\n is_rollback: null,\r\n },\r\n // {\r\n // id: 3,\r\n // name: 'Bị khóa',\r\n // key: 3\r\n // }\r\n ],\r\n\r\n tooltip: {\r\n benefit: `Ngân sách được dùng cho loại quà VNPoint và thẻ cào.\r\n Tổng giá trị quà iPoint và thẻ điện thoại không được phép vượt quá ngân sách của chương trình.`,\r\n date_active: `Thời gian kích hoạt phải nằm trong khoảng thời gian diễn ra chương trình.`,\r\n batch_stamp: `Lựa chọn lô tem muốn áp dụng chương trình Loyalty. Lô tem phải được cấu hình áp dụng dịch vụ Loyalty từ hệ thống QR Code`,\r\n strip_stamp: `Lựa chọn dải tem muốn áp dụng chương trình Loyalty.\r\n Lô tem chứa dải tem phải được cấu hình áp dụng dịch vụ Loyalty từ hệ thống QR Code.\r\n Đồng thời, tài khoản QR Code đã liên kết phải có quyền quản lý dài tem này.`,\r\n stamp: `Lựa chọn tem muốn áp dụng chương trình Loyalty.\r\n Lô tem chứa mỗi tem phải được cấu hình áp dụng dịch vụ Loyalty từ hệ thống QR Code.\r\n Đồng thời, tài khoản QR Code đã liên kết phải có quyền quản lý từng tem này.`,\r\n package: `Chọn gói mã dự thưởng để yêu cầu người dùng nhập mã dự thưởng mới được tặng quà ngẫu nhiên.\r\n Trường hợp không chọn mã dự thưởng người dùng khi quét mã vạch sản phẩm hoặc truy cập từ URL sẽ được tự động tặng quà ngẫu nhiên.`,\r\n icoin_product: `Giá trị quà thực tế bằng VNĐ. Khi quà có giá trị cao hết, hệ thống sẽ ưu tiên trả thưởng bằng quà có giá trị thấp hơn.`,\r\n icoin_icoin: `Số VNPoint và thẻ cào được chuyển từ ngân sách chương trình sang ví của người dùng khi trúng thưởng.`,\r\n date_export_gift: `Quá thời gian nhận, những quà hiện vật người dùng đã trúng sẽ tự động chuyển sang trạng thái Hủy`,\r\n package_sponsor: `Chọn gói tài trợ để được sử dụng quà tài trợ trong chương trình.\r\n Thời gian diễn ra chương trình của bạn bắt buộc phải nằm trong khoảng thời gian quy định của tất cả các gói tài trợ đã chọn.`,\r\n phone_card: `Số tiền trên thẻ cào được nạp vào số điện thoại của khách hàng theo từng mệnh giá khi trúng thưởng.`,\r\n digital_money: `Số tiền thưởng của khách hàng sẽ được gửi lại theo từng mệnh giá khi trúng thưởng.`\r\n },\r\n game: {\r\n times_play: [\r\n {\r\n id: 1,\r\n title: `6 giải`,\r\n key: 6\r\n },\r\n {\r\n id: 2,\r\n title: `8 giải`,\r\n key: 8\r\n },\r\n {\r\n id: 3,\r\n title: `10 giải`,\r\n key: 10\r\n }\r\n ]\r\n },\r\n actionGames: [\r\n {\r\n id: 1,\r\n key: 'icheck://luckywheel?id={campaign_id}',\r\n name: 'Vào chơi'\r\n },\r\n {\r\n id: 2,\r\n key: 'icheck://luckywheel?id={campaign_id}',\r\n name: 'Game là dễ'\r\n }\r\n ]\r\n};\r\nexport const GIFT = {\r\n type: [\r\n { value: 'PRODUCT', label: 'Hiện vật', nzDisabled: false , isViettelCheck: false },\r\n { value: 'ICOIN', label: 'Điểm VNPoint', nzDisabled: false, isViettelCheck: true},\r\n { value: 'CONGRATULATION', label: 'Quà tinh thần', nzDisabled: false, isViettelCheck: false},\r\n { value: 'PHONE_CARD', label: 'Thẻ cào điện thoại', nzDisabled: false, isViettelCheck: true },\r\n { value: 'RECEIVE_STORE', label: 'Quà nhận tại cửa hàng', nzDisabled: false, isViettelCheck: false},\r\n {value : 'VNPAY_QR', label: 'Mã VNPay-QR', nzDisabled: false, isViettelCheck: false},\r\n // {value : 'DIGITAL_MONEY', label: 'Tiền thưởng', nzDisabled: false, isViettelCheck: false}\r\n ],\r\n type_update: [\r\n { value: 'PRODUCT', label: 'Hiện vật', nzDisabled: true, isViettelCheck: false },\r\n { value: 'ICOIN', label: 'Điểm VNPoint', nzDisabled: true, isViettelCheck: true },\r\n { value: 'CONGRATULATION', label: 'Quà tinh thần', nzDisabled: true, isViettelCheck: false },\r\n { value: 'PHONE_CARD', label: 'Thẻ cào điện thoại', nzDisabled: true, isViettelCheck: true },\r\n { value: 'RECEIVE_STORE', label: 'Quà nhận tại cửa hàng', nzDisabled: false, isViettelCheck: false },\r\n {value : 'VNPAY_QR', label: 'Mã VNPay-QR', nzDisabled: false, isViettelCheck: false},\r\n // {value : 'DIGITAL_MONEY', label: 'Tiền thưởng', nzDisabled: true, isViettelCheck: false}\r\n ],\r\n options: [\r\n { value: 'qr_code', label: 'Tem QR code' },\r\n { value: 'barcode', label: 'Mã vạch sản phẩm' },\r\n { value: 'url', label: 'URL chương trình' }\r\n ],\r\n typeGifts: [\r\n { id: 'chance', value: 'Xác suất nhận quà' },\r\n { id: 'stamp', value: 'Chọn tem trúng quà' },\r\n { id: 'code', value: 'Nhập mã nhận quà' }\r\n ]\r\n};\r\nexport const WINNER = {\r\n status: [\r\n {value: 'waiting_information', label: 'Thiếu thông tin nhận quà'},\r\n { value: 'waiting_confirmation', label: 'Đang xác nhận'},\r\n { value: 'NOT_CHARGED', label: 'Chưa nhận thẻ'},\r\n { value: 'new', label: 'Chưa nhận quà' },\r\n { value: 'delivering', label: 'Đang giao'},\r\n { value: 'received_gift', label: 'Đã nhận' },\r\n // { value: 'CHARGED', label: 'Đã nạp thẻ'},\r\n { value: 'canceled', label: 'Từ chối' },\r\n { value: 'waiting_receive_gift', label: 'Chờ duyệt' },\r\n {label: 'Đã tạo đơn giao vận', value: 'create_viettel_order'},\r\n // { value: 'refused_gift', label: 'Từ chối' },\r\n // { value: 'canceled', label: 'Hủy' },\r\n ],\r\n\r\n reason: [\r\n {value: 'Lý do khác', label: 'Lý do khác'},\r\n {value: 'Khách hàng không muốn nhận quà', label: 'Khách hàng không muốn nhận quà'},\r\n ]\r\n};\r\nexport const GIFT_MEMBER_STATUS = [\r\n { key: 'PAUSED', value: 'stop', id: 1, label: 'Bị dừng' },\r\n { key: 'ACTIVE', value: 'active', id: 2, label: 'Kích hoạt' },\r\n { key: 'DEACTIVE', value: 'pause', id: 0, label: 'Đã dừng' },\r\n { key: 'PENDING', value: 'waiting', id: 3, label: 'Chờ duyệt' },\r\n // { key: 'APPROVE', value: 'approve', id: 4, label: 'Đã duyệt'},\r\n { key: 'DISAPPROVE', value: 'approve', id: 5, label: 'Không duyệt' }\r\n];\r\nexport const CAMPAIGN_STATUS = {\r\n ACTIVE: 'active',\r\n WAITING_PAYMENT: 'waiting_payment',\r\n APPROVED_DONATION: 'approved_donation',\r\n REFUSED_DONATION: 'refused__donation',\r\n BANNED: 'banned',\r\n STOPPED: 'stopped'\r\n};\r\nexport const ICOIN = [\r\n { value: 10, label: 10 },\r\n { value: 20, label: 20 },\r\n { value: 50, label: 50 },\r\n { value: 100, label: 100 },\r\n { value: 200, label: 200 },\r\n { value: 500, label: 500 },\r\n { value: 1000, label: 1000 },\r\n { value: 2000, label: 2000 },\r\n { value: 5000, label: 5000 },\r\n { value: 10000, label: 10000 },\r\n { value: 20000, label: 20000 },\r\n { value: 50000, label: 50000 },\r\n { value: 100000, label: 100000 },\r\n { value: 200000, label: 200000 },\r\n { value: 500000, label: 500000 }\r\n];\r\nexport const SPONSOR = {\r\n status: [\r\n {\r\n id: 1,\r\n name: 'ACTIVE',\r\n key: 'active',\r\n label: 'Kích hoạt'\r\n },\r\n {\r\n id: 2,\r\n name: 'WAITING_PAYMENT',\r\n key: 'waiting_payment',\r\n label: 'Chờ thanh toán'\r\n },\r\n {\r\n id: 5,\r\n name: 'BANNED',\r\n key: 'banned',\r\n label: 'Bị dừng'\r\n },\r\n {\r\n id: 6,\r\n name: 'STOPPED',\r\n key: 'stopped',\r\n label: 'Đã dừng'\r\n }\r\n ],\r\n tooltip: {\r\n benefit: `Ngân sách được dùng cho loại quà VNPoint và thẻ cào.\r\n Tổng giá trị quà iPoint và thẻ điện thoại không được phép vượt quá ngân sách của gói tài trợ.`,\r\n date_active: `Thời gian kích hoạt phải nằm trong khoảng thời gian diễn ra gói tài trợ.`,\r\n batch_stamp: `Lựa chọn lô tem muốn áp dụng gói tài trợ Loyalty. Lô tem phải được cấu hình áp dụng dịch vụ Loyalty từ hệ thống QR Code`,\r\n strip_stamp: `Lựa chọn dải tem muốn áp dụng gói tài trợ Loyalty.\r\n Lô tem chứa dải tem phải được cấu hình áp dụng dịch vụ Loyalty từ hệ thống QR Code.\r\n Đồng thời, tài khoản QR Code đã liên kết phải có quyền quản lý dài tem này.`,\r\n stamp: `Lựa chọn tem muốn áp dụng gói tài trợ Loyalty.\r\n Lô tem chứa mỗi tem phải được cấu hình áp dụng dịch vụ Loyalty từ hệ thống QR Code.\r\n Đồng thời, tài khoản QR Code đã liên kết phải có quyền quản lý từng tem này.`,\r\n package: `Chọn gói mã dự thưởng để yêu cầu người dùng nhập mã dự thưởng mới được tặng quà ngẫu nhiên.\r\n Trường hợp không chọn mã dự thưởng người dùng khi quét mã vạch sản phẩm hoặc truy cập từ URL sẽ được tự động tặng quà ngẫu nhiên.`,\r\n icoin_product: `Giá trị quà thực tế bằng VNĐ. Khi quà có giá trị cao hết, hệ thống sẽ ưu tiên trả thưởng bằng quà có giá trị thấp hơn.`,\r\n icoin_icoin: `Số VNPoint và thẻ cào được chuyển từ ngân sách gói tài trợ sang ví của người dùng khi trúng thưởng.`,\r\n date_export_gift: `Quá thời gian nhận, những quà hiện vật người dùng đã trúng sẽ tự động chuyển sang trạng thái Hủy`,\r\n package_sponsor: `Chọn gói tài trợ để được sử dụng quà tài trợ trong gói tài trợ.\r\n Thời gian diễn ra gói tài trợ của bạn bắt buộc phải nằm trong khoảng thời gian quy định của tất cả các gói tài trợ đã chọn.`,\r\n phone_card: `Số tiền trên thẻ cào được nạp vào số điện thoại của khách hàng theo từng mệnh giá khi trúng thưởng.`\r\n },\r\n};\r\nexport const SPONSOR_WAITING_APPROVED = {\r\n status: [\r\n {\r\n id: 1,\r\n name: 'waiting_approve_donation',\r\n label: 'Chờ duyệt'\r\n },\r\n {\r\n id: 2,\r\n name: 'approved_donation',\r\n label: 'Đã duyệt'\r\n },\r\n {\r\n id: 3,\r\n name: 'refused_donation',\r\n label: 'Từ chối'\r\n }\r\n ]\r\n};\r\nexport const ORDER = {\r\n status: [\r\n {\r\n id: 1,\r\n name: 'WAITING_APPROVE',\r\n key: 'WAITING_APPROVE',\r\n label: 'Chờ duyệt'\r\n },\r\n {\r\n id: 2,\r\n name: 'APPROVED',\r\n key: 'APPROVED',\r\n label: 'Đã duyệt'\r\n },\r\n {\r\n id: 3,\r\n name: 'REFUSED',\r\n key: 'REFUSED',\r\n label: 'Từ chối'\r\n }\r\n ]\r\n};\r\nexport const CARD = [\r\n { value: 10000, label: 10000 },\r\n { value: 20000, label: 20000 },\r\n { value: 50000, label: 50000 },\r\n { value: 100000, label: 100000 },\r\n { value: 200000, label: 200000 },\r\n { value: 500000, label: 500000 }\r\n];\r\nexport const CONFIG = {\r\n config_editor: {\r\n placeholder: '',\r\n tabsize: 2,\r\n height: '250px',\r\n toolbar: [\r\n ['misc', ['codeview', 'undo', 'redo']],\r\n ['style', ['bold', 'italic', 'underline', 'clear']],\r\n ['fontsize', ['fontname', 'fontsize', 'color']],\r\n ['para', ['style', 'ul', 'ol', 'paragraph', 'height']],\r\n ['insert', ['link', 'video']]\r\n ],\r\n fontNames: ['Helvetica', 'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New', 'Roboto', 'Times']\r\n }\r\n};\r\n\r\nexport const CUSTOMERS = {\r\n status: [\r\n {\r\n id: 'WIN',\r\n name: 'Trúng thưởng',\r\n label: 'WIN'\r\n },\r\n {\r\n id: 'UNLUCKY',\r\n name: 'Không trúng thưởng',\r\n label: 'UNLUCKY'\r\n }\r\n ],\r\n winner_status : [\r\n // {\r\n // id: 'new',\r\n // name: 'Chưa nhận quà',\r\n // label: 'new'\r\n // },\r\n // {\r\n // id: 'received_gift',\r\n // name: 'Đã nhận quà',\r\n // label: 'received_gift'\r\n // },\r\n {id: 'waiting_information', label: 'waiting_information', name: 'Thiếu thông tin nhận quà'},\r\n { id: 'waiting_confirmation', label: 'waiting_confirmation', name: 'Đang xác nhận'},\r\n { id: 'NOT_CHARGED', label: 'NOT_CHARGED', name: 'Chưa nhận thẻ'},\r\n { id: 'new', label: 'new', name: 'Chưa nhận quà' },\r\n { id: 'delivering', label: 'delivering', name: 'Đang giao'},\r\n { id: 'received_gift', label: 'received_gift', name: 'Đã nhận' },\r\n // { id: 'CHARGED', label: 'CHARGED', name: 'Đã nạp thẻ'},\r\n { id: 'canceled', label: 'canceled', name: 'Từ chối' },\r\n ]\r\n};\r\n\r\nexport const OptionTypeActive = [\r\n { value: 'PRODUCT', label: 'Hiện vật', checked: false },\r\n { value: 'ICOIN', label: 'VNPoint', checked: false },\r\n { value: 'CONGRATULATION', label: 'Quà tinh thần', checked: false},\r\n { value: 'PHONE_CARD', label: 'Thẻ cào điện thoại', checked: false },\r\n { value: 'RECEIVE_STORE', label: 'Quà nhận tại cửa hàng', checked: false},\r\n {value : 'VNPAY_QR', label: 'Mã VNPay-QR', checked: false}\r\n]\r\n\r\nexport const WhiteList = {\r\n status: [\r\n {\r\n id: 1,\r\n name: 'pending',\r\n label: 'Chờ duyệt'\r\n },\r\n {\r\n id: 2,\r\n name: 'accepted',\r\n label: 'Đã duyệt'\r\n },\r\n {\r\n id: 3,\r\n name: 'rejected',\r\n label: 'Từ chối'\r\n }\r\n ],\r\n source: [\r\n {\r\n id: 1,\r\n name: 'import',\r\n label: 'Tải lên'\r\n },\r\n {\r\n id: 2,\r\n name: 'register',\r\n label: 'Đăng ký'\r\n },\r\n {\r\n id: 3,\r\n name: 'undefined',\r\n label: 'Khác'\r\n }\r\n ]\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseLoyaltyService {\r\n\r\n private baseUrl = environment.apiLoyalty;\r\n constructor(protected http: HttpClient) { }\r\n\r\n get(endpoint: string, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.get(this.buildUrl(endpoint), options);\r\n }\r\n\r\n post(endpoint: string, body: any | null, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.post(this.buildUrl(endpoint), body, options);\r\n }\r\n\r\n patch(endpoint: string, body: any | null, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.patch(this.buildUrl(endpoint), body, options);\r\n }\r\n\r\n put(endpoint: string, body: any | null, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.put(this.buildUrl(endpoint), body, options);\r\n }\r\n delete(endpoint: string, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.delete(this.buildUrl(endpoint), options);\r\n }\r\n\r\n protected buildUrl(url: string): string {\r\n return `${this.baseUrl}/${url.replace(/^\\/+/g, '')}`;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams, HttpRequest } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseService {\r\n\r\n private baseUrl = environment.apiCore;\r\n\r\n constructor(protected http: HttpClient) { }\r\n\r\n get(endpoint: string, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.get(this.buildUrl(endpoint), options);\r\n }\r\n\r\n post(endpoint: string, body: any | null, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.post(this.buildUrl(endpoint), body, options);\r\n }\r\n\r\n patch(endpoint: string, body: any | null, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.patch(this.buildUrl(endpoint), body, options);\r\n }\r\n\r\n put(endpoint: string, body: any | null, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.put(this.buildUrl(endpoint), body, options);\r\n }\r\n delete(endpoint: string, options: {\r\n headers?: HttpHeaders | {\r\n [header: string]: string | string[];\r\n };\r\n params?: HttpParams | {\r\n [param: string]: string | string[];\r\n };\r\n } = {}): Observable {\r\n return this.http.delete(this.buildUrl(endpoint), options);\r\n }\r\n\r\n protected buildUrl(url: string): string {\r\n return `${this.baseUrl}/${url.replace(/^\\/+/g, '')}`;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\nimport { Observable } from 'rxjs';\r\nimport { Business } from '../../models/business';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class BusinessService extends BaseLoyaltyService {\r\n\r\n updateBusiness(body: Business): Observable {\r\n return this.put(`/user`, body);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class CampaignSharedService extends BaseLoyaltyService {\r\n\r\n getCampaign(query?: any): Observable {\r\n return this.get(`/campaign`, { params: query });\r\n }\r\n\r\n charList(query?: any): Observable {\r\n return this.get(`/campaign/statistical/chart/for-main`, { params: query });\r\n }\r\n\r\n statistical(): Observable {\r\n return this.get(`/campaign/statistical/overview/for-main`);\r\n }\r\n\r\n createFallGift(body) {\r\n return this.post('/campaign', body);\r\n }\r\n\r\n getDetailFallGift(id) {\r\n return this.get(`/campaign/${id}`);\r\n }\r\n\r\n getDetailCampaign(id) {\r\n return this.get(`/campaign/${id}`);\r\n }\r\n\r\n updateFallGift(id, body) {\r\n return this.put(`/campaign/${id}`, body);\r\n }\r\n\r\n updateCampaign(id, body) {\r\n return this.put(`/campaign/${id}`, body);\r\n }\r\n\r\n getGoogleSheet(id) {\r\n return this.get(`/campaign/${id}/setting-ggsheets`);\r\n }\r\n\r\n postGoogleSheet(id,body){\r\n return this.post(`campaign/${id}/setting-ggsheets`, body)\r\n }\r\n}\r\n","export * from './stamps.service';\r\nexport * from './campaign.service';\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class StampService extends BaseLoyaltyService {\r\n\r\n id = localStorage.getItem('loyaltyUser') ? JSON.parse(localStorage.getItem('loyaltyUser')).account_qrcode_id : '';\r\n\r\n getBatchQRCode(): Observable {\r\n return this.get(`/qrcode/batch`);\r\n }\r\n\r\n getPrefix() :Observable {\r\n return this.get(`/qrcode/prefix`);\r\n }\r\n\r\n checkPrefix(query?) :Observable {\r\n return this.get(`/qrcode/prefix-detail`, { params: query });\r\n }\r\n\r\n getStampOfGift(boxGiftId, query): Observable {\r\n return this.get(`/campaign/gift/stamp/${boxGiftId}`, { params: query });\r\n }\r\n\r\n getStampHandMade(body, boxGift?): Observable {\r\n let boxGiftID = boxGift? `/${boxGift}` : '';\r\n return this.post(`/campaign/stamp-handmade${boxGiftID}`, body);\r\n }\r\n\r\n /*Xóa mã trúng thưởng khỏi chương trình*/\r\n deleteStamp(boxGiftId, body): Observable {\r\n return this.delete(`/campaign/box-gift/${boxGiftId}/target`, body);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class CommonService {\r\n loyaltyUser: any;\r\n date: any;\r\n isExpiredByViettel = new BehaviorSubject(false);\r\n\r\n changeExpiredViettel(status) {\r\n this.isExpiredByViettel.next(status);\r\n }\r\n constructor() {\r\n this.loyaltyUser = JSON.parse(localStorage.getItem('loyaltyUser'));\r\n }\r\n\r\n isCheckAccountByViettel() {\r\n if (this.loyaltyUser) {\r\n // .toLowerCase()\r\n return this.loyaltyUser.special_partner_code === 'VIETTEL';\r\n }\r\n return false;\r\n }\r\n\r\n isExpiredViettel(date?: any) {\r\n return moment(date ? date : '').isAfter(moment(this.loyaltyUser.expired_at));\r\n }\r\n\r\n copyText(val) {\r\n const textarea = document.createElement('textarea');\r\n textarea.style.position = 'fixed';\r\n textarea.style.left = '0';\r\n textarea.style.top = '0';\r\n textarea.style.opacity = '0';\r\n textarea.value = val;\r\n document.body.appendChild(textarea);\r\n textarea.focus();\r\n textarea.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(textarea);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseLoyaltyService } from './base-loyalty.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CrudCodeService extends BaseLoyaltyService {\r\n\r\n getAnyThing(endpoint: string, query?: any): Observable {\r\n return this.get(`${endpoint}`, { params: query });\r\n }\r\n\r\n deletes(endpoint: string, body: any): Observable {\r\n return this.delete(`${endpoint}`, body);\r\n }\r\n\r\n postAnyThing(endpoint: string, body: any, query?: any): Observable {\r\n return this.post(`${endpoint}`, body, { params: query });\r\n }\r\n\r\n putAnyThing(endpoint: string, body: any): Observable {\r\n return this.put(`${endpoint}`, body);\r\n }\r\n\r\n patchAnyThing(endpoint: string, body: any): Observable {\r\n return this.patch(`${endpoint}`, body);\r\n }\r\n\r\n getSettingRedirect(idcampaign) {\r\n return this.get(`campaign/${idcampaign}/setting-redirect`)\r\n }\r\n\r\n postSettingRedirect(idCampaign, body) {\r\n return this.post(`campaign/${idCampaign}/setting-redirect`, body)\r\n }\r\n\r\n PostExcel(endpoint: string, body: any, query): Observable {\r\n return this.post(`${endpoint}`,body, {params: query});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class DistributorService extends BaseLoyaltyService {\r\n\r\n allDistributor(query?: any): Observable {\r\n return this.get(`/distributor`, { params: query });\r\n }\r\n\r\n allShopQrcode(query?: any) {\r\n return this.get(`/qrcode/store`, { params: query });\r\n }\r\n\r\n create(body: any): Observable {\r\n return this.post(`/distributor`, body);\r\n }\r\n\r\n update(id: any, body: any): Observable {\r\n return this.put(`/distributor?id=${id}`, body);\r\n }\r\n\r\n destroy(id: any): Observable {\r\n return this.delete(`/distributor?id=${id}`);\r\n }\r\n\r\n}\r\n","import {Injectable, OnInit} from '@angular/core';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\nimport {CommonService} from \"../common/common.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class GiftSharedService extends BaseLoyaltyService implements OnInit{\r\n loyaltyUser: any;\r\n private doneObjSubject = new BehaviorSubject(false);\r\n addGiftDone = this.doneObjSubject.asObservable();\r\n\r\n addDone(done) {\r\n this.doneObjSubject.next(done);\r\n }\r\n\r\n listGift(query?: any): Observable {\r\n const params = query;\r\n //\r\n // ICOIN: 'Quà Xu',\r\n // PRODUCT: 'Quà hiện vật',\r\n // CONGRATULATION: 'Quà tinh thần',\r\n // PHONE_CARD: 'Quà thẻ nạp điện thoại',\r\n // RECEIVE_STORE: 'Quà nhận tại cửa hàng',\r\n // VOUCHER: 'Voucher',\r\n params.type = this.isCheckAccountByViettel()\r\n ? 'PRODUCT,CONGRATULATION,RECEIVE_STORE,VOUCHER'\r\n : 'ICOIN,PRODUCT,CONGRATULATION,PHONE_CARD,RECEIVE_STORE,VOUCHER,VNPAY_QR,DIGITAL_MONEY';\r\n return this.get(`/gift`, { params });\r\n }\r\n\r\n listGiftMember(query?: any): Observable {\r\n return this.get(`/loyalty/gift`, { params: query });\r\n }\r\n\r\n listGiftSponsor(query?: any): Observable {\r\n return this.get(`/sponsor/gifts`, { params: query });\r\n }\r\n\r\n addGift(body: any) {\r\n return this.post(`/gift`, body);\r\n }\r\n\r\n addGiftMember(body: any) {\r\n return this.post(`/loyalty/gift`, body);\r\n }\r\n\r\n updateGift(body: any, gift: any) {\r\n return this.put(`/gift/${gift.id}`, body);\r\n }\r\n\r\n // tslint:disable-next-line:contextual-lifecycle\r\n ngOnInit(): void {\r\n }\r\n\r\n isCheckAccountByViettel() {\r\n this.loyaltyUser = JSON.parse(localStorage.getItem('loyaltyUser'));\r\n if (this.loyaltyUser?.special_partner_code === 'VIETTEL') {\r\n // .toLowerCase()\r\n return this.loyaltyUser?.special_partner_code === 'VIETTEL';\r\n }\r\n return false;\r\n }\r\n\r\n getTransportConfig(): Observable {\r\n return this.post(`/gift/check-transport-config`, {});\r\n }\r\n}\r\n","export * from './gift/gift.service';\r\nexport * from './sync/sync.service';\r\nexport * from './campaign';\r\nexport * from './winner/winners.service';\r\nexport * from './qrcode/qrcode.service';\r\nexport * from './business/business.service';\r\nexport * from './staff/staff.service';\r\nexport * from './distributor/distributor.service';\r\nexport * from './root.service';\r\nexport * from './crud.servive';\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthQrcodeService extends BaseLoyaltyService {\r\n\r\n login(body: any) {\r\n return this.post(`/user/login`, body);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from './base.service';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RootService extends BaseService {\r\n messageSource = new BehaviorSubject(true);\r\n changeTab = new BehaviorSubject(false);\r\n currentMessage = this.messageSource.asObservable();\r\n currentChangeTab = this.changeTab.asObservable();\r\n\r\n changeMessage(message) {\r\n this.messageSource.next(message);\r\n }\r\n\r\n saveChangeTab(changeTab) {\r\n this.changeTab.next(changeTab);\r\n }\r\n\r\n getCities(): Observable {\r\n return this.http.get(`${environment.apiPublicLoyalty}/cities?limit=100`);\r\n }\r\n\r\n // API danh sách cửa hàng\r\n getStores(query?: any): Observable {\r\n return this.http.get(`${environment.apiPublicLoyalty}/campaign/list/store`, { params: query });\r\n }\r\n\r\n getCampaign(campaignId) {\r\n return this.http.get(`${environment.apiPublicLoyalty}/campaign/get-campaign?campaign_code=${campaignId}`);\r\n }\r\n\r\n getDistricts(cityId): Observable {\r\n return this.http.get(`${environment.apiPublicLoyalty}/districts?city_id=${cityId}&limit=100`);\r\n }\r\n\r\n getWards(districtId): Observable {\r\n return this.http.get(`${environment.apiPublicLoyalty}/wards?district_id=${districtId}&limit=100`);\r\n }\r\n\r\n getiCheckUser(search) {\r\n if (search.length > 8) {\r\n return this.get(`/users?search=${search}`);\r\n }\r\n return this.get(`/users/${search}/profile`);\r\n }\r\n\r\n getiCheck() {\r\n return this.get(`/users`);\r\n }\r\n\r\n // teko\r\n checkCanCreateCampaignLongTermPoints(): Observable {\r\n return this.get(`/api/business/loyalty/cms/loyalty/network-information`);\r\n }\r\n\r\n getCitiesViettelPost() {\r\n return this.http.get(`${environment.apiPublicLoyalty}/vettel-post/cities`).toPromise();\r\n }\r\n\r\n getDistrictsViettelPost(cityId) {\r\n return this.http.get(`${environment.apiPublicLoyalty}/vettel-post/districts`, {\r\n params: {\r\n cityId\r\n }\r\n }).toPromise();\r\n }\r\n\r\n getWardsViettelPost(districtId) {\r\n return this.http.get(`${environment.apiPublicLoyalty}/vettel-post/wards`, {\r\n params: {\r\n districtId\r\n }\r\n }).toPromise();\r\n }\r\n\r\n getAddressViettelPost(winnerIds) {\r\n return this.http.post(`${environment.apiPublicLoyalty}/vettel-post/viettel-post-address`, {winnerIds}).toPromise();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class StaffsService extends BaseLoyaltyService {\r\n\r\n listStaff(query?: any): Observable {\r\n return this.get(`/staff`, { params: query });\r\n }\r\n\r\n createStaff(body: any): Observable {\r\n return this.post(`/staff`, body);\r\n }\r\n\r\n permissionsByStaff(idStaff): Observable {\r\n return this.get(`/user/${idStaff}/list-permission`);\r\n }\r\n\r\n setPermissionsStaff(idStaff, body): Observable {\r\n return this.post(`/user/${idStaff}/assign-permission`, body);\r\n }\r\n\r\n deleteStaff(staff): Observable {\r\n return this.delete(`staff/${staff.id}`);\r\n }\r\n findUserSocialByIdOrPhone(id, phone) {\r\n if(id) return this.get(`/user/social/get-user-info-by-id/${id}`);\r\n return this.get(`/user/social/get-user-info-by-phone/${phone}`);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\nexport class SyncService extends BaseLoyaltyService {\r\n\r\n private doneObjSubject = new BehaviorSubject({});\r\n public userLoyalty = this.doneObjSubject.asObservable();\r\n\r\n saveUserLoyalty(obj) {\r\n this.doneObjSubject.next(obj);\r\n }\r\n\r\n syncQrcodeLoyalty(body: any): Observable {\r\n return this.post(`user/sync-account`, body);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class UploadService {\r\n\r\n private baseUrl = 'https://upload.icheck.vn';\r\n private baseUrl3 = 'https://upload.icheck.com.vn';\r\n private baseUrl2 = 'https://apis.icheck.vn/upload/image/v1';\r\n\r\n constructor(private http: HttpClient) { }\r\n\r\n public postImg(file: any): Observable {\r\n // return this.http.post(`${this.baseUrl2}/raw`, body);\r\n \r\n const body = new FormData();\r\n body.append('my_field', 'file');\r\n body.append('my_file', file)\r\n return this.http.post(`${this.baseUrl3}/upload/stream`, body);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseLoyaltyService } from '../base-loyalty.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class WinnersService extends BaseLoyaltyService {\r\n\r\n listWinner(query?: any): Observable {\r\n return this.get(`/winner/for-main`, { params: query });\r\n }\r\n\r\n updateStatusRecieveGift(body, idWinner): Observable {\r\n return this.patch(`/winner/${idWinner}`, body);\r\n }\r\n\r\n changeStatus(body, idWinner): Observable {\r\n return this.patch(`/winner/${idWinner}/change-status`, body);\r\n }\r\n\r\n getActivities(query?: any): Observable {\r\n return this.get(`/campaign/user/activities`, { params: query });\r\n }\r\n\r\n listStatistical(query?: any): Observable {\r\n return this.get(`/winner/statistic-winners`, {params: query});\r\n }\r\n}\r\n","import { WarningNotiComponent } from './components/warning-noti/warning-noti.component';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgxSummernoteModule } from 'node_modules/ngx-summernote';\r\nimport { NgZorroAntdModule } from 'ng-zorro-antd';\r\nimport { NzUploadModule } from 'ng-zorro-antd/upload';\r\nimport { NzSelectModule } from 'ng-zorro-antd/select';\r\nimport { GiftAddComponent } from './components/gift-add/gift-add.component';\r\nimport { ImageComponent } from './components/core/image/image.component';\r\nimport { SelectboxComponent } from './components/core/selectbox/selectbox.component';\r\nimport { InputComponent } from './components/core/input/input.component';\r\nimport { UploaderComponent } from './components/core/uploader';\r\nimport { UploadFileComponent } from './components/core/upload-file';\r\nimport { NzBreadCrumbModule } from 'ng-zorro-antd/breadcrumb';\r\n\r\n// Import service\r\nimport {\r\n\tGiftSharedService, SyncService, CampaignSharedService,\r\n\tWinnersService, BusinessService, StaffsService, CrudCodeService\r\n} from './services';\r\nimport { DeletePopupComponent } from './components/core/delete-popup/delete-popup.component';\r\nimport { UpdateBusinessComponent } from './components/update-business/update-business.component';\r\nimport { Business } from './models/business';\r\nimport { StaffAddComponent } from './components/staff-add/staff-add.component';\r\nimport { StaffPermissionComponent } from './components/staff-permission/staff-permission.component';\r\nimport { DistributorAddComponent } from './components/distributor-add/distributor-add.component';\r\n\r\nimport { CheckNumberService, NotificationService, ValidatorService } from '../lib';\r\nimport { ListComponentComponent } from './components/list-component/list-component.component';\r\nimport { WarningPermissionComponent } from './components/warning-permission/warning-permission.component';\r\nimport { FilterBarComponent } from './components/filter-bar/filter-bar.component';\r\nimport { ExportShareComponent } from './components/exports/export.component';\r\nimport { WarningLeaveComponent } from './components/warning-leave/warning-leave.component';\r\nimport {UIModalComponent} from './components/modal/modal.component';\r\nimport { ModalOutDateComponent } from './modal-out-date/modal-out-date.component';\r\nimport { DateExpiredComponent } from './date-expired/date-expired.component';\r\nimport {AppInputNumberDirective} from \"./directive/input-number\";\r\nimport { UploadImgComponent } from './components/upload-img/upload-img.component';\r\nimport {LoyaltyModule} from '../modules/loyalty/loyalty.module';\r\nimport {DragDropDirectiveShare} from './directive/drag-drop.directive';\r\nimport { ExportFileComponent } from './components/export-file/export-file.component';\r\nimport { UploadImgButtonComponent } from './components/upload-img-button/upload-img-button.component';\r\nimport { AlertRetargetComponent } from './components/alert-retarget/alert-retarget.component';\r\nimport { ModalAlertComponent } from './components/modal-alert/modal-alert.component';\r\nconst SERVICE_LIB = [CheckNumberService, NotificationService, ValidatorService];\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tExportShareComponent,\r\n\t\tGiftAddComponent,\r\n\t\tImageComponent,\r\n\t\tSelectboxComponent,\r\n\t\tInputComponent,\r\n\t\tUploaderComponent,\r\n\t\tUploadFileComponent,\r\n\t\tDeletePopupComponent,\r\n\t\tUpdateBusinessComponent,\r\n\t\tStaffAddComponent,\r\n\t\tStaffPermissionComponent,\r\n\t\tDistributorAddComponent,\r\n\t\tListComponentComponent,\r\n\t\tWarningPermissionComponent,\r\n\t\tFilterBarComponent,\r\n\t\tUIModalComponent,\r\n\t\tModalOutDateComponent,\r\n\t\tWarningLeaveComponent,\r\n\t\tWarningNotiComponent,\r\n\t\tModalOutDateComponent,\r\n\t\tDateExpiredComponent,\r\n\t\tAppInputNumberDirective,\r\n\t\tUploadImgComponent,\r\n\t\tDragDropDirectiveShare,\r\n\t\tExportFileComponent,\r\n\t\tUploadImgButtonComponent,\r\n\t\tAlertRetargetComponent,\r\n\t\tModalAlertComponent\r\n\t],\r\n imports: [\r\n CommonModule,\r\n NgZorroAntdModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NzUploadModule,\r\n NzSelectModule,\r\n NgxSummernoteModule,\r\n NzBreadCrumbModule,\r\n ],\r\n\tschemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n\texports: [\r\n\t\tExportShareComponent,\r\n\t\tGiftAddComponent,\r\n\t\tImageComponent,\r\n\t\tUploadFileComponent,\r\n\t\tDeletePopupComponent,\r\n\t\tUpdateBusinessComponent,\r\n\t\tStaffAddComponent,\r\n\t\tUIModalComponent,\r\n\t\tModalOutDateComponent,\r\n\t\tStaffPermissionComponent,\r\n\t\tDistributorAddComponent,\r\n\t\tWarningPermissionComponent,\r\n\t\tUploadImgComponent,\r\n\t\tUploadImgButtonComponent,\r\n\t\tFilterBarComponent,\r\n\t\tAppInputNumberDirective,\r\n\t\tDragDropDirectiveShare,\r\n\t\tAlertRetargetComponent,\r\n\t\tAlertRetargetComponent\r\n\t],\r\n\tentryComponents: [\r\n\t\tExportShareComponent,\r\n\t\tGiftAddComponent,\r\n\t\tUpdateBusinessComponent,\r\n\t\tStaffAddComponent,\r\n\t\tUIModalComponent,\r\n\t\tModalOutDateComponent,\r\n\t\tStaffPermissionComponent,\r\n\t\tDistributorAddComponent,\r\n\t\tWarningPermissionComponent,\r\n\t\tModalAlertComponent\r\n\t],\r\n\tproviders: [\r\n\t\t...SERVICE_LIB,\r\n\t\tSyncService,\r\n\t\tCampaignSharedService,\r\n\t\tGiftSharedService,\r\n\t\tWinnersService,\r\n\t\tBusinessService,\r\n\t\tStaffsService,\r\n\t\tBusiness,\r\n\t\tCrudCodeService\r\n\t]\r\n})\r\nexport class SharedModule { }\r\n","// In a custom serializer ts file\r\nimport { Params, RouterStateSnapshot } from '@angular/router';\r\nimport { RouterStateSerializer } from '@ngrx/router-store';\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nexport interface RouterStateUrl {\r\n url: string;\r\n params: Params;\r\n queryParams: Params;\r\n}\r\n\r\n@Injectable()\r\nexport class CustomSerializer implements RouterStateSerializer {\r\n serialize(routerState: RouterStateSnapshot): RouterStateUrl {\r\n let route = routerState.root;\r\n\r\n while (route.firstChild) {\r\n route = route.firstChild;\r\n }\r\n\r\n const {\r\n url,\r\n root: { queryParams },\r\n } = routerState;\r\n const { params } = route;\r\n\r\n // Only return an object including the URL, params and query params\r\n // instead of the entire snapshot\r\n return { url, params, queryParams };\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n apiMock: 'https://loyalty-api.icheck.com.vn',\r\n\r\n // apiCoreOld: 'https://api.icheck.com.vn/api/v1',\r\n apiCore: 'https://loyalty-api.icheck.com.vn',\r\n apiCoreV2: 'https://loyalty-api.icheck.com.vn',\r\n\r\n apiLoyalty: 'https://loyalty-api.icheck.com.vn/api/business/loyalty/cms',\r\n apiPublicLoyalty: 'https://loyalty-api.icheck.com.vn/api/business/public/loyalty',\r\n apiNotPublicLoyalty: 'https://loyalty-api.icheck.com.vn/api/business/loyalty',\r\n urlImage: 'https://upload.icheck.vn/hi/',\r\n url_static_image: \"http://icheckcdn.net/images/720x720\",\r\n url_mkt: 'https://qr.icheck.vn/',\r\n openAppiCheck: 'https://icheck.page.link/home',\r\n urlWebapp: 'https://loyalty-webapp.icheck.vn/',\r\n isVersionViettel: false,\r\n phongvu: {\r\n isEnable: false,\r\n userIds: [252, 38],\r\n landingUrl: 'http://pv-landing.icheck.vn'\r\n },\r\n tracking_id_teko: '34790b03-c309-4901-9607-18fc8dc0ce43',\r\n FMC_ID: 435,\r\n SEBANG_ID: [637, 629, 321, 653],\r\n googleAnalyticId: 'G-YGGPHFTC7Y',\r\n uploadStream: 'https://upload.icheck.com.vn/upload/stream',\r\n};\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"]}