{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/assets/image/vehicle/RIGID PGG TRUCK_RHD_THUMB.jpg","webpack:///./src/App.vue?a022","webpack:///./src/assets/image/vehicle/TRACTOR_PGG CHASSIS_RHD.jpg","webpack:///./src/assets sync ^\\.\\/.*$","webpack:///./src/assets/image/vehicle/RIGID PGG KNUCKLE CRANE TRUCK_RHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_RHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_TUBE SKID_LHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_RHD.jpg","webpack:///./src/locales lazy ^\\.\\/.*$ namespace object","webpack:///./src/assets/image/vehicle/RIGID PGG TRUCK_LHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/RIGID TANKER_RHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_PGG CHASSIS_RHD_THUMB.jpg","webpack:///./src/App.vue?100c","webpack:///./src/components/LoadingOverlay.vue?6203","webpack:///src/components/LoadingOverlay.vue","webpack:///./src/components/LoadingOverlay.vue?d777","webpack:///./src/components/LoadingOverlay.vue","webpack:///./src/models/consts.ts","webpack:///./src/I18n.ts","webpack:///./src/models/enums.ts","webpack:///./src/models/select-item.ts","webpack:///./src/utility/ui-utility.ts","webpack:///./src/utility/index.ts","webpack:///./src/store/store-mapping.ts","webpack:///./src/App.vue","webpack:///./src/App.vue?6c26","webpack:///./src/App.vue?8d77","webpack:///./src/services/AuthorService.ts","webpack:///./src/views/HomeEntry.vue?525d","webpack:///./src/components/HomePage.vue?59f8","webpack:///./src/components/FormSelect.vue?45be","webpack:///./src/components/FormSelect.vue","webpack:///./src/components/FormSelect.vue?5174","webpack:///./src/components/FormSelect.vue?a512","webpack:///./src/components/SectionList.vue?7cea","webpack:///./src/components/SectionList.vue","webpack:///./src/components/SectionList.vue?c719","webpack:///./src/components/SectionList.vue?c529","webpack:///./src/components/FormRegular.vue?b379","webpack:///./src/components/FormRegular.vue","webpack:///./src/components/FormRegular.vue?455e","webpack:///./src/components/FormRegular.vue?7c93","webpack:///./src/components/HomePage.vue","webpack:///./src/components/HomePage.vue?94af","webpack:///./src/components/HomePage.vue?85eb","webpack:///./src/views/HomeEntry.vue","webpack:///./src/views/HomeEntry.vue?e5b2","webpack:///./src/views/HomeEntry.vue?f509","webpack:///./src/views/SearchPage.vue?3c18","webpack:///./src/components/FormAutocomplete.vue?f194","webpack:///./src/components/FormAutocomplete.vue","webpack:///./src/components/FormAutocomplete.vue?859c","webpack:///./src/components/FormAutocomplete.vue?b6ca","webpack:///./src/models/trip-info/index.ts","webpack:///./src/components/QrScaner.vue?c234","webpack:///./src/components/QrScaner.vue","webpack:///./src/components/QrScaner.vue?3557","webpack:///./src/components/QrScaner.vue?9296","webpack:///./src/views/SearchPage.vue","webpack:///./src/views/SearchPage.vue?f7a1","webpack:///./src/views/SearchPage.vue?fbbc","webpack:///./src/views/TripInformation.vue?5eb4","webpack:///./src/components/FormInput.vue?ff88","webpack:///./src/components/FormInput.vue","webpack:///./src/components/FormInput.vue?d8ac","webpack:///./src/components/FormInput.vue?e120","webpack:///./src/components/FormRadioGroup.vue?7c61","webpack:///./src/components/FormRadioGroup.vue","webpack:///./src/components/FormRadioGroup.vue?5e0d","webpack:///./src/components/FormRadioGroup.vue?759b","webpack:///./src/models/maitain-notification/index.ts","webpack:///./src/models/question-section/attachment.ts","webpack:///./src/models/question-section/question.ts","webpack:///./src/models/question-section/sub-section.ts","webpack:///./src/models/question-section/index.ts","webpack:///./src/utility/sortHelper.ts","webpack:///./src/services/service-address.ts","webpack:///./src/models/service/index.ts","webpack:///./src/services/APIService.ts","webpack:///./src/services/shared-service.ts","webpack:///./src/services/evcr-svc.ts","webpack:///./src/models/vehicle/index.ts","webpack:///./src/services/data-process/basic-process.ts","webpack:///./src/services/data-process/questions-process.ts","webpack:///./src/views/TripInformation.vue","webpack:///./src/views/TripInformation.vue?d1f8","webpack:///./src/views/TripInformation.vue?27bc","webpack:///./src/views/VehicleCondition.vue?584d","webpack:///./src/components/FormTextarea.vue?b165","webpack:///./src/components/FormTextarea.vue","webpack:///./src/components/FormTextarea.vue?3f15","webpack:///./src/components/FormTextarea.vue?0a03","webpack:///./src/views/VehicleCondition.vue","webpack:///./src/views/VehicleCondition.vue?8949","webpack:///./src/views/VehicleCondition.vue?11b0","webpack:///./src/views/RecordOverview.vue?d626","webpack:///./src/views/RecordOverview.vue","webpack:///./src/views/RecordOverview.vue?2aef","webpack:///./src/views/RecordOverview.vue?122c","webpack:///./src/views/RecordQuestionDetail.vue?cecd","webpack:///./src/components/RecordQuestionHead.vue?aefe","webpack:///./src/components/ZoomIn.vue?6a3b","webpack:///./src/components/ZoomIn.vue","webpack:///./src/components/ZoomIn.vue?29b4","webpack:///./src/components/ZoomIn.vue?3d47","webpack:///./src/components/RecordQuestionHead.vue","webpack:///./src/components/RecordQuestionHead.vue?3f1d","webpack:///./src/components/RecordQuestionHead.vue?d2c6","webpack:///./src/components/RecordQuestionRegular.vue?813c","webpack:///./src/components/RecordQuestionRegular.vue","webpack:///./src/components/RecordQuestionRegular.vue?0f1d","webpack:///./src/components/RecordQuestionRegular.vue?a90c","webpack:///./src/components/RecordQuestionAdditional.vue?9426","webpack:///./src/components/RecordQuestionAdditional.vue","webpack:///./src/components/RecordQuestionAdditional.vue?dfa8","webpack:///./src/components/RecordQuestionAdditional.vue?0fd7","webpack:///./src/views/RecordQuestionDetail.vue","webpack:///./src/views/RecordQuestionDetail.vue?6773","webpack:///./src/views/RecordQuestionDetail.vue?f71e","webpack:///./src/views/RecordQuestionDefect.vue?bff5","webpack:///./src/components/FormFile.vue?1a4e","webpack:///./src/components/FormFile.vue","webpack:///./src/components/FormFile.vue?90e3","webpack:///./src/components/FormFile.vue?bcdf","webpack:///./src/views/RecordQuestionDefect.vue","webpack:///./src/views/RecordQuestionDefect.vue?8ca4","webpack:///./src/views/RecordQuestionDefect.vue?4488","webpack:///./src/views/RecordQuestionGood.vue?a9cf","webpack:///./src/views/RecordQuestionGood.vue","webpack:///./src/views/RecordQuestionGood.vue?c1f6","webpack:///./src/views/RecordQuestionGood.vue?e6e0","webpack:///./src/views/RecordQuestionDefectSummary.vue?01ad","webpack:///./src/components/RecordQuestionSummaryItem.vue?c759","webpack:///./src/components/RecordQuestionSummaryRegular.vue?5e24","webpack:///./src/components/RecordQuestionSummaryRegularItem.vue?18c5","webpack:///./src/components/RecordQuestionSummaryRegularItem.vue","webpack:///./src/components/RecordQuestionSummaryRegularItem.vue?4b84","webpack:///./src/components/RecordQuestionSummaryRegularItem.vue?b814","webpack:///./src/components/RecordQuestionSummaryRegular.vue","webpack:///./src/components/RecordQuestionSummaryRegular.vue?7c8a","webpack:///./src/components/RecordQuestionSummaryRegular.vue?90a1","webpack:///./src/components/RecordQuestionSummaryAdditional.vue?a1b5","webpack:///./src/components/RecordQuestionSummaryAdditional.vue","webpack:///./src/components/RecordQuestionSummaryAdditional.vue?7b90","webpack:///./src/components/RecordQuestionSummaryAdditional.vue?91c1","webpack:///./src/components/RecordQuestionSummaryItem.vue","webpack:///./src/components/RecordQuestionSummaryItem.vue?4610","webpack:///./src/components/RecordQuestionSummaryItem.vue?7483","webpack:///./src/views/RecordQuestionDefectSummary.vue","webpack:///./src/views/RecordQuestionDefectSummary.vue?ef33","webpack:///./src/views/RecordQuestionDefectSummary.vue?0a11","webpack:///./src/views/RecordQuestionSubmitNotice.vue?809b","webpack:///./src/views/RecordQuestionSubmitNotice.vue","webpack:///./src/views/RecordQuestionSubmitNotice.vue?c0e0","webpack:///./src/views/RecordQuestionSubmitNotice.vue?ba4c","webpack:///./src/views/RecordQuestionSubmitSign.vue?a4db","webpack:///./src/views/RecordQuestionSubmitSign.vue","webpack:///./src/views/RecordQuestionSubmitSign.vue?5654","webpack:///./src/views/RecordQuestionSubmitSign.vue?04ce","webpack:///./src/views/RecordQuestionSubmitResult.vue?2344","webpack:///./src/views/RecordQuestionSubmitResult.vue","webpack:///./src/views/RecordQuestionSubmitResult.vue?9a52","webpack:///./src/views/RecordQuestionSubmitResult.vue?aabf","webpack:///./src/views/TripInformationView.vue?9f5f","webpack:///./src/views/TripInformationView.vue","webpack:///./src/views/TripInformationView.vue?164d","webpack:///./src/views/TripInformationView.vue?2bed","webpack:///./src/views/About.vue?d79b","webpack:///./src/views/About.vue","webpack:///./src/views/QueSection.vue?8a9a","webpack:///./src/views/QueSection.vue","webpack:///./src/views/QueSection.vue?b41e","webpack:///./src/views/QueSection.vue?cb85","webpack:///./src/router/routes.ts","webpack:///./src/router/index.ts","webpack:///./src/store/actions.ts","webpack:///./src/store/mutations.ts","webpack:///./src/store/state.ts","webpack:///./src/utility/saveStatePlugin.js","webpack:///./src/models/evcr/index.ts","webpack:///./src/store/modules/last-evcr-module.ts","webpack:///./src/models/plant/index.ts","webpack:///./src/services/data-process/plant-process.ts","webpack:///./src/services/plant-svc.ts","webpack:///./src/models/evcr-post/index.ts","webpack:///./src/models/evcr-post/print-form-post.ts","webpack:///./src/models/evcr-post/question-post.ts","webpack:///./src/services/data-process/packing-process.ts","webpack:///./src/store/modules/evcr-module.ts","webpack:///./src/store/modules/tmp-evcr-module.ts","webpack:///./src/store/modules/user-module.ts","webpack:///./src/store/index.ts","webpack:///./src/plugins/vuetify.js","webpack:///./src/main.js","webpack:///./src/assets/image/vehicle/RIGID PGG KNUCKLE CRANE TRUCK_RHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/RIGID PGG TRUCK_LHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_PGG CHASSIS_LHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_RHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_LHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_LHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_LHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/RIGID TANKER_LHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_RHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_LHD.jpg","webpack:///./src/assets/image/Vehicle.png","webpack:///./src/assets/image/vehicle/TRACTOR_RHD.jpg","webpack:///./src/views/SearchPage.vue?d010","webpack:///./src/assets/image/vehicle/TRACTOR_PGG CHASSIS_LHD_THUMB.jpg","webpack:///./src/assets/image/PictureVessel.jpg","webpack:///./src/assets/logo.svg","webpack:///./src/assets/image/vehicle/TRACTOR_LHD_THUMB.jpg","webpack:///./src/components/QrScaner.vue?07dc","webpack:///./src/assets/image/PictureChassis.jpg","webpack:///./src/assets/image/vehicle/RIGID PGG KNUCKLE CRANE TRUCK_LHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/RIGID TANKER_RHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_TUBE SKID_RHD.jpg","webpack:///./src/assets/image/PictureTractor.jpg","webpack:///./src/assets/logo.png","webpack:///./src/assets/image/vehicle/RIGID PGG TRUCK_RHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_TUBE SKID_RHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_TUBE SKID_LHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/RIGID PGG KNUCKLE CRANE TRUCK_LHD.jpg","webpack:///./src/assets/image/loading.gif","webpack:///./src/assets/image/vehicle/RIGID TANKER_LHD_THUMB.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_LHD.jpg","webpack:///./src/assets/image/vehicle/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_RHD_THUMB.jpg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","map","webpackContext","req","id","webpackContextResolve","code","keys","webpackAsyncContext","then","ids","_vm","this","_h","$createElement","_c","_self","attrs","$store","state","_e","$route","fullPath","loginError","staticClass","_v","_s","Date","getFullYear","version","staticRenderFns","_m","component","FIELD_REQUIRED","STR_ADDTIONAL_QUE","STR_DEFAULT_LANG","STR_THIRD_PARTY_TRUE","SAP_QUESTION_TYPE_REGULAR","SAP_QUESTION_TYPE_ADDTIONAL","EVCR_DATA_KEY","EVCR_IS_EDIT_KEY","STR_SUBSECTION_ID","STR_ADDITION_ID","STR_TRIP_ID_MASK_LB","STR_TRIP_ID_PLACE_HOLDER_LB","STR_TRIP_ID_MASK_PG","STR_TRIP_ID_PLACE_HOLDER_PG","use","messages","numberFormatsTemplate","minimumFractionDigits","maximumFractionDigits","dateTimeFormatsTemplate","short","year","month","day","med","hour","minute","hour12","long","weekday","numberFormats","dateTimeFormats","i18n","locale","fallbackLocale","setI18nLanguage","lang","a","defaults","headers","common","querySelector","loadedLanguages","loadLanguageAsync","includes","log","msgs","setLocaleMessage","catch","Env","PageName","TractorThirdPartyCategory","ChassisThirdPartyCategory","VesselThirdPartyCategory","QuestionSectionType","QuestionType","PicType","RegularAnswer","SubmitStatus","SapVehcileType","SapVehcileCategory","SapQuestionType","LangCode","SapLanguage","SapReturnCode","ImgeApiMode","TripType","itemText","itemValue","picType","Tractor","Chassis","Vessel","fileName","filePath","config","app","vehicle_pic_path","fileFullPath","img","ConsoleLog","Confirm","confirm","router","HomePage","fuelHome","GoBack","go","TripInformation","VehicleCondition","SearchPage","QuestionsView","GetQueSectionUrl","subSectionId","suSectionId","QueSection","params","RecordQuestionTractor","RecordQuestionChassis","RecordQuestionVessel","RecordQuestionDefectSummary","RecordOverview","parameters","RecordQuestionDefect","RecordQuestionGood","RemoveBase64Head","base64Data","indexOf","substring","IsNullOrEmpty","defaultMsg","errorMsg","errorCode","isEdit","localStorage","setItem","toString","removeItem","Text","items","LB","PG","Other","regularItem","localMode","SubSectionStyle","subSection","cssclass","validated","QuestionsPicName","tmpName","QuestionsThumbnailName","test_mode","picFile","picSize","height","width","image","Image","Timeout","millonSeconds","ClearError","IsDebug","env","tch","Dev","integ","$isDebug","validateOdometer","odometer","valid","Number","parseFloat","erro","CreateNewUUID","obj","NullToEmpty","CloneObj","JSON","parse","stringify","DeepClone","originalData","HandleAPIException","isSuccess","ChangingConfirm","postObj","RequestConfirmWithEnv","Prod","formattedChanging","CopyToClip","content","aux","body","select","execCommand","removeChild","ObjectContainAllFields","standObj","recursive","isGood","Array","isArray","shouldSkip","forEach","keyName","GetDatePart","date","dd","getDate","mm","getMonth","yyyy","parseInt","GetTimePart","hourPart","getHours","minutePart","getMinutes","mLstringId","defaultText","text","langCode","English","zh_CN","Chinese","zh_TW","ChineseZF","id_ID","Indonesian","ms_MY","Malay","en_US","toLowerCase","ms","DateFormatForSAP","formatedValue","TimeFormatForSAP","time","CountArrayDuplicate","arrary","filter","item","index","PadLeftZero","aNumber","StoreGetter","StoreAction","StoreMutation","extend","components","loadingOverlay","LoadingOverlay","isLoggedIn","computed","userProfile","umUserProfile","methods","setIsDebug","search","location","query","split","pair","toLocaleLowerCase","initialLan","language","navigator","$lanCode","self","$i18n","beforeMount","dispatch","umLogin","mounted","created","beforeCreate","VApp","VContainer","VMain","authRequest","scopes","app_client_scope","configSettings","auth","clientId","app_client_id","authority","redirectUri","app_redirect_url","navigateToLoginRequestUrl","cache","cacheLocation","storeAuthStateInCookie","userAgent","handleRedirectCallback","authCallback","response","$authService","loginRedirect","acquireTokenSilent","getAccount","logout","acquireTokenRedirect","accessToken","acquireTokenPopup","authService","FuelHome","icons","mdiHomeCircle","editable","directives","rawName","expression","newDisable","on","$event","newEvcr","editDisable","goEdit","GoSearch","$router","showQuestionIcon","showEditIcon","rules","label","readonly","onChanging","onUserChanging","scopedSlots","_u","fn","proxy","questionCick","mdiMapMarkerQuestion","editCick","mdiPencil","props","String","required","Boolean","default","showAsLabel","mdi","$emit","VCol","VIcon","VRow","VSelect","_l","questions","class","additionalQuestionCollection","sectionData","ImagePath","VBtn","hardStop","model","callback","$$v","selectedValue","cssAnswer","cssLabel","lastValue","setLastValue","answer","cssClass","Good","Defective","NA","VRadio","VRadioGroup","FormSelect","SectionList","FormRegular","question","mdiHome","initialize","temEditable","RegularItems","VehiclePath","editClick","HomeEditCick","questionClick","HomeQuestionCick","GoTripInfo","temInitializeEvcrData","longitude","getInitialize","emGetFive","latitude","commit","StartLoading","root","confirmMsg","emResetEvcr","EndLoading","logIn","login","VCard","VCardTitle","VSpacer","scrollTop","documentElement","vehicles","tractor","queryText","onUserVehicleFilter","newValue","onVehicleChange","lastEvcrModule","$set","handleTractorChange","validationMessage","selectId","domProps","customFilter","userFilter","Function","VAutocomplete","VCardText","tripType","tripTypeItems","lbsTripId","prePost","prePostItems","plantId","customPlantId","driver1","driver1Name","driver2","isTractorThirdParty","tractorThirdPartyCategory","thirdParty","chassis","isChassisThirdParty","chassisThirdPartyCategory","vessel","isVesselThirdParty","vesselThirdPartyCategory","signImage","country","plantName","overviewImage","pgTripId","otherTripId","CreateTripInfo","CreateTripInfoTest","formId","ref","_g","_b","showDialog","close","labelText","submit","camera","onDecode","onInit","decodedContent","cameraError","retry","QrcodeStream","initialValue","handleChange","isValid","validationSuccess","validationFailure","validationPending","resetValidationState","turnCameraOn","turnCameraOff","value1","scannedValue","toUpperCase","QrScanerbeforeMount","VDialog","VDivider","VToolbar","VToolbarItems","VToolbarTitle","QrScaner","FormAutocomplete","v","emVehicles","userCountryCode","umUserCountryCode","destroyed","scannedData","trim","lemUpdateTractor","tractorData","tractValue","trip","lvmGetLastEvcr","showStateMsg","TripInformationView","emGetVehicle","countryCode","hidenLoading","logName","hasError","category","searchText","found","vehicleId","tripInfo","VCardActions","IsLocalMode","onNext","updateTripType","showLbTripIdInput","showOtherTripIdInput","lbsTripIdRule","updateLbTripIdInfo","pgTripIdRule","updateTripIdInfo","pre","updateTripInfo","staticStyle","nearbyPlant","showLbPlant","onUserFilter","customPlant","onPlantChange","showDT","showPgPlant","locationMsg","onTractorThirdPartyStatusChange","getTractorCategoryItems","vehicleType","showChassisAutoCompleteAsLabel","onChassisThirdPartyStatusChange","handleChassisChange","getChassisCategoryItems","chassisVehicleType","showVesselAutoCompleteAsLabel","onUserVesselFilter","onVesselThirdPartyStatusChange","handleVesselChange","getVesselCategoryItems","vesselVehicleType","numberType","menuDate","maxDate","$refs","save","menuTime","maxTime","GoHome","mask","counter","placeholder","VTextField","userChange2","vehicleEquipment","desc","notificationId","defectDesc","status","attachment","CreateEmptyFile","attachmentBase64","CreateAttachments","sequenceId","notificationIsNeeded","comment","instruction","questionType","isReqular","sectionType","numberRange","questionTypeBooleanValue","equipmentID","codeGroup","charact","originalSequenceId","originalSubSectionId","attachments","issueDesc","size","lastModified","containDefect","subSectionTitle","CreateSubSection","Regular","title","imagePath","isSelected","containAdditionalQuestion","additionalQuestionContainDefect","regularQuestionCollection","imageName","thumbnailName","containTopDefect","CreateQuestionSection","section","CreateQuestionTractor","CreateQuestionChassis","CreateQuestionVessel","CreateQuestionAll","ALl","OrderedByPlantId","firstElement","secondElement","OrderedBySpecialColumn","OrderedByVehicleId","columnName","globalConfig","apiDomain","sapLangCode","url","resultUqery","emptyString","appConfig","useLamda","api_domain_lamda","api_domain_local","serviceAddress","warning","token","GetRequestLocal","GetRequestLamda","api_key","ResponseProcessor","post","PostRequestLocal","PostRequestLamda","postData","results","errorText","apiService","AsyncFetchGet","getAccessToken","GetRequest","UnAuthCheck","AsyncFetchGetByToken","tokenString","GetRequestToken","AsyncFetchPost","PostRequest","assign","noAccessUrl","SetMaintainNotification","GenerateEquipmentNotificationGetUrl","returnVal","GenerateEquipmentNotifications","GetQuestions","GenerateQuestionGetUrl","GetEvcrValidation","GenerateValidateEvcrGetUrl","PostNewEvcr","GeneratePostNewEvcrUrl","PostNewEvcrSign","GeneratePostNewEvcrSignUrl","PostEvcrImages","GeneratePostEvcrImagesUrl","GetLastEvcr","GenerateLastEvcrGetUrl","GenerateLastEvcr","GetFive","GenerateGetFiveUrl","GenerateFive","GetVehicleList","GenerateCounryVehiclesGetUrl","GenerateVehicleList","vesselId","category2","plant","name1","element","TractorLicense","ChassisLicense","LBShellID","NotificationTitle","NotificationID","Comments","NotificationDate","NotificationTime","NotificationStatus","sapQueType","typeReturn","Char","ValidateEvcr","res","msg","LBShellTrip","PrePost","Plant","Driver1","Driver1Name","ThirdPartyInd","OdoMeter","Time","eVCRRecordItemSet","sapQuestios","que","SequenceID","QuestionDesc","Answer","NotificationInd","EquipmentID","VehicleType","CodeGroup","Code","Charact","HardStop","SectionID","five","VehicleID","VesselID","VehicleCat","VehicleCat2","Country","Name1","sort","tractorSection","additionalQuestions","regularQuestions","subSectionIndex","Set","subIndex","QuestionInsText","subSectionAdditional","additionalIndex","dataType","DataType","LowerLimit","UpperLimit","QuestionTmpl","questionSection","questionTractor","questionChassis","questionVessel","UpdateQuestionSectionHasDefect","questionSectionHasRegularDefect","questionSectionHasAdditionalDefect","containAdditionalDefect","hasQuestion","validatedRegular","validatedAdditional","regularSubSection","currentId","currentIndex","findIndex","SetFirtLastSubsection","isRegular","notLast","notFirst","GetLastRegualrSubSectionId","FormInput","FormRadioGroup","customerLocation","currentScanType","tripId","validatePlant","onlyChinaRequireCustomPlant","validateCustomPlant","validateOdometerform","emTripInfo","emNearbyPlant","notifications","emMaintainNotifications","userId","umUserId","userName","umUserName","emIsEdit","questionFilterChanged","emQuestionFilterChanged","emQuestions","showLB","refreshTripValidation","showWhichTripIdInput","showPgTripIdInput","tripIdMask","tripIdPlaceHolder","tripIdLabel","ruleTripId","validateLbsTripId","validateLbsTripIdLength","validatePgTripId","validatePgTripIdLength","validatePlantIdFromLbsTripId","validPlantId","plants","setDefaultPlant","RequireCustomPlant","validCustomPlant","currentDate","clearLocationMsg","getLocation","emClearNearByData","geolocation","getCurrentPosition","position","coords","emGetNearbyPlant","evcrModule","enableHighAccuracy","maximumAge","emInitialData","emInitialTripData","emClearTripId","nextTick","form","validate","replace","vesselFound","chassisFound","tractorFound","isVehicleCategoryduplicate","checkWhetherVehicleCategoryDuplicate","isTripTimeFuture","checkWhetherTimeIsFuture","hasNotification","containNonThreePartyVehicle","emGetMaintainNotification","whetherTimeIsFuture","timeArray","timeCurrent","timeFromPage","setHours","whetherVehicleCategoryDuplicate","vehicleCategoryArray","updateTripInfoTractor","updateTripInfoChassis","updateTripInfoVessel","updatedDriver","emUpdateTripInfo","tipInfo","emUpdateIsEdit","city","enname","encity","getPlantItems","VCheckbox","VDatePicker","VForm","VMenu","VTimePicker","notification","disable","rows","disabled","VTextarea","FormTextarea","itemIndex","submitMsg","Vue","GoToSummary","hasDefects","emHasDefects","GoCondition","GoQuestionTractor","goNext","emUpdateQuestions","confirmToSubmit","RecordQuestionSubmitResult","action","Success","isOk","emPostNewEvcr","imageApiMode","One","loadQuestions","emGetQuestions","temSetEditable","VImg","newRecordData","questionAnwerSectionTractor","sectionDataIndex","next","goToRecordQuestionDefectSummary","photoHeight","photoWidth","zoom","loadedPic","recordQuestionHeadData","updateShowDialog","imageEvent","vehiclePic","ZoomPhotoWidth","ZoomPhotoHeight","picWidth","picHeight","ZoomIn","picFileName","showZoom","zoomIn","loadPic","photoThumb","fullImage","loaded","loadHandler","addEventListener","style","display","complete","recordQuestionRegularData","refInFor","InputSelect","originalValue","goToquestionRegularDetail","inputString","inputNumber","questionData","regularQ","emUpdateQuestion","recordQuestionAdditionalData","onUpdateCharQuestion","onUpdateQuestion","sequnceId","RecordQuestionHead","RecordQuestionRegular","RecordQuestionAdditional","submitOrder","whetherHidePictureUpload","AddBase64Head","file","picBase64","uploadAttachment","onCancel","onOkay","placeHolder","multiple","fileValue","imgBase64","initalImgBase64","showUpload","showPicture","stopLoading","getPartString","strValue","uploadedPic","match","reader","FileReader","readerEvent","ev","zipImage","zipResult","good","clearFile","loadResult","readAsDataURL","loadImage","canvas","max_size","ctx","getContext","drawImage","dataUrl","toDataURL","dataSize","Blob","imgWidth","imgHeight","maxSize","VFileInput","FormFile","originalQue","hidePictureUpload","TRACTOR","RIGID_PGG_KNUCKLE_CRANE_TRUCK","RIGID_PGG_TRUCK","RIGID_TANKER","CHASSIS_TRAILER","PGG_CHASSIS","LB_MB_ISO_TANKER","TUBE_SKID","btnDisable","okText","showBtnText","GoOverview","TestMode","submitAll","submitAllWait","submitOne","submitParallel","recordQuestionSummaryData","questionRegular","questionRegularIndex","questionAdditional","questionAdditionalIndex","recordQuestionSummaryRegularData","recordQuestionSummaryRegularItemData","VCardSubtitle","RecordQuestionSummaryRegularItem","recordQuestionSummaryAdditionalData","questionIndex","RecordQuestionSummaryRegular","RecordQuestionSummaryAdditional","RecordQuestionSummaryItem","hasTopDefects","emHasTopDefects","submitTest","AllNotWait","AllWait","Parallel","RecordQuestionSubmitNotice","RecordQuestionSubmitSign","backgroundColor","undo","isNotSigned","signString","emPostNewEvcrSign","signaturePad","undoSignature","saveSignature","isEmpty","Failure","goPre","Processing","watch","immediate","handler","deep","localDateTime","lemLastEvcrTripInfo","lemQuestions","localDateString","localTimeString","hasQuestions","sectionIndex","goPrevious","getData","GoQuestionChassis","GoQuestionVessel","GoSummary","previousId","lastReguarSubSectionId","nextSubSectionId","questionsTmp","preNexStatus","routes","path","HomeEntry","meta","isSecure","RecordQuestionDetail","About","base","beforeEach","to","from","matched","some","record","isLogin","open","GetCurrentUseCase","startLoading","isLoading","endLoading","saveStatePlugin","store","subscribe","mutation","mutationList","emInitializeState","consts","subscribeAction","after","actionList","CreateEvcr","namespaced","lastEvcr","getters","lastEvcrTrip","getTractor","mutations","resetLastVcr","updateTractor","actions","getLastEvcr","BaseDataLoadingAction","timeEnd","name2","enname2","plantIdName","GeneratePlantList","PlantID","Name2","City","ENCity","ENName1","ENName2","GetPlantList","GenerateCounryPlantsGetUrl","Driver2","Tractor3rdParty","Chassis3rdParty","Vessel3rdParty","uri","VehicleId3rd","dateArray","evcrPost","dateString","timeString","dtUtc","toUTCString","dateUtc","getUTCFullYear","getUTCMonth","getUTCDate","timeUtc","getUTCHours","getUTCMinutes","getUTCSeconds","GeneratePostEvcrData","GeneratePostEvcrDataSign","evcrPostSign","href","GeneratePostEvcrImages","GeneratePostEvcrImageArray","imgeArray","addAttachments","questionPost","imageNeeded","questPosts","evcr","maintainNotifications","currentQuestionFilter","isQuestionFilterChanged","existing","resetEvcr","clearNearByData","clearVehicle","clearTripId","updateIsEdit","updateQuestion","updateQuestions","updateQuestionTractor","updateQuestionChassis","updateQuestionVessel","initializeState","tmpEvcState","validEvcr","validQuestions","submitFailed","initialTripData","needContinue","allSettled","emGetPlant","resulsts","amSubmitFailed","reason","initialData","getFive","getNearbyPlant","getPlant","getVehicle","getMaintainNotification","getQuestions","postNewEvcr","isOkay","postImges","postImgeArray","hasDefect","filePost","imgPost","alert","postNewEvcrSign","postDataSign","resSign","validateNewEvcrSign","validationMsg","tmpEvcrModule","eVcrData","resetTmpEvcr","setEditable","initializeEvcData","tmpEvcrData","getItem","userModule","user","idToken","ctry","resetUser","getUser","Store","plugins","Vuetify","VueSignaturePad","VueMask","productionTip","vuetify","render","h","App","$mount"],"mappings":"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","file":"js/index.61310e57.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"index\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"lang-id-ID\":\"lang-id-ID\",\"lang-ms-MY\":\"lang-ms-MY\",\"lang-zh-CN\":\"lang-zh-CN\"}[chunkId]||chunkId) + \".\" + {\"lang-id-ID\":\"f9abadee\",\"lang-ms-MY\":\"55c89c08\",\"lang-zh-CN\":\"fb3511c9\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","module.exports = __webpack_public_path__ + \"img/RIGID PGG TRUCK_RHD_THUMB.380bb887.jpg\";","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/TRACTOR_PGG CHASSIS_RHD.c39f7a03.jpg\";","var map = {\n\t\"./image/PictureChassis.jpg\": \"b975\",\n\t\"./image/PictureTractor.jpg\": \"cd72\",\n\t\"./image/PictureVessel.jpg\": \"99ed\",\n\t\"./image/Vehicle.png\": \"888b\",\n\t\"./image/loading.gif\": \"f1c7\",\n\t\"./image/vehicle/RIGID PGG KNUCKLE CRANE TRUCK_LHD.jpg\": \"edd0\",\n\t\"./image/vehicle/RIGID PGG KNUCKLE CRANE TRUCK_LHD_THUMB.jpg\": \"becb\",\n\t\"./image/vehicle/RIGID PGG KNUCKLE CRANE TRUCK_RHD.jpg\": \"1c3f\",\n\t\"./image/vehicle/RIGID PGG KNUCKLE CRANE TRUCK_RHD_THUMB.jpg\": \"5ee0\",\n\t\"./image/vehicle/RIGID PGG TRUCK_LHD.jpg\": \"6599\",\n\t\"./image/vehicle/RIGID PGG TRUCK_LHD_THUMB.jpg\": \"33f8\",\n\t\"./image/vehicle/RIGID PGG TRUCK_RHD.jpg\": \"cf45\",\n\t\"./image/vehicle/RIGID PGG TRUCK_RHD_THUMB.jpg\": \"0248\",\n\t\"./image/vehicle/RIGID TANKER_LHD.jpg\": \"7203\",\n\t\"./image/vehicle/RIGID TANKER_LHD_THUMB.jpg\": \"f242\",\n\t\"./image/vehicle/RIGID TANKER_RHD.jpg\": \"c478\",\n\t\"./image/vehicle/RIGID TANKER_RHD_THUMB.jpg\": \"3ee0\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_LHD.jpg\": \"7c02\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_LHD_THUMB.jpg\": \"6d7a\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_RHD.jpg\": \"2876\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_RHD_THUMB.jpg\": \"f9c8\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_LHD.jpg\": \"6b34\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_LHD_THUMB.jpg\": \"6a96\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_RHD.jpg\": \"2cae\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_RHD_THUMB.jpg\": \"6842\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_TUBE SKID_LHD.jpg\": \"2b3b\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_TUBE SKID_LHD_THUMB.jpg\": \"e889\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_TUBE SKID_RHD.jpg\": \"c6c3\",\n\t\"./image/vehicle/TRACTOR_CHASSIS TRAILER_TUBE SKID_RHD_THUMB.jpg\": \"ddef\",\n\t\"./image/vehicle/TRACTOR_LHD.jpg\": \"f867\",\n\t\"./image/vehicle/TRACTOR_LHD_THUMB.jpg\": \"a3c0\",\n\t\"./image/vehicle/TRACTOR_PGG CHASSIS_LHD.jpg\": \"66c2\",\n\t\"./image/vehicle/TRACTOR_PGG CHASSIS_LHD_THUMB.jpg\": \"9939\",\n\t\"./image/vehicle/TRACTOR_PGG CHASSIS_RHD.jpg\": \"10e9\",\n\t\"./image/vehicle/TRACTOR_PGG CHASSIS_RHD_THUMB.jpg\": \"4501\",\n\t\"./image/vehicle/TRACTOR_RHD.jpg\": \"8f3a\",\n\t\"./image/vehicle/TRACTOR_RHD_THUMB.jpg\": \"76e0\",\n\t\"./logo.png\": \"cf05\",\n\t\"./logo.svg\": \"9b19\",\n\t\"./site.css\": \"3d68\"\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 = \"1771\";","module.exports = __webpack_public_path__ + \"img/RIGID PGG KNUCKLE CRANE TRUCK_RHD.5544e439.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_RHD.46857680.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_TUBE SKID_LHD.25d4cf38.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_RHD.b5c149a0.jpg\";","var map = {\n\t\"./en-US\": [\n\t\t\"e0e1\"\n\t],\n\t\"./en-US.json\": [\n\t\t\"e0e1\"\n\t],\n\t\"./id-ID\": [\n\t\t\"7502\",\n\t\t\"lang-id-ID\"\n\t],\n\t\"./id-ID.json\": [\n\t\t\"7502\",\n\t\t\"lang-id-ID\"\n\t],\n\t\"./ms-MY\": [\n\t\t\"6579\",\n\t\t\"lang-ms-MY\"\n\t],\n\t\"./ms-MY.json\": [\n\t\t\"6579\",\n\t\t\"lang-ms-MY\"\n\t],\n\t\"./zh-CN\": [\n\t\t\"423e\",\n\t\t\"lang-zh-CN\"\n\t],\n\t\"./zh-CN.json\": [\n\t\t\"423e\",\n\t\t\"lang-zh-CN\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"326a\";\nmodule.exports = webpackAsyncContext;","module.exports = __webpack_public_path__ + \"img/RIGID PGG TRUCK_LHD_THUMB.0a59c22c.jpg\";","module.exports = __webpack_public_path__ + \"img/RIGID TANKER_RHD_THUMB.7baf897a.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_PGG CHASSIS_RHD_THUMB.5613649c.jpg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[(this.$store.state.isLoading)?_c('div',{attrs:{\"id\":\"ap-loading-overlay\"}},[_c('div',{attrs:{\"id\":\"ap-loading-image\"}})]):_vm._e(),_c('v-app',[_c('v-main',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('router-view',{key:_vm.$route.fullPath}),_c('div',{attrs:{\"id\":\"ap-footer\"}},[(_vm.loginError.length > 0)?_c('div',{staticClass:\"red-error\"},[_vm._v(\" \"+_vm._s(_vm.loginError)+\" \")]):_vm._e(),_c('div',{attrs:{\"id\":\"ap-copyright\"}},[_vm._v(\" Copyright © 1996 - \"+_vm._s(new Date().getFullYear())+\" Air Products and Chemicals, Inc \"+_vm._s(_vm.version)+\" \")])])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"ap-loading-overlay\"}},[_c('div',{attrs:{\"id\":\"ap-loading-image\"}})])}]\n\nexport { render, staticRenderFns }","\r\n \r\n\r\n\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingOverlay.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadingOverlay.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoadingOverlay.vue?vue&type=template&id=04616f70&\"\nimport script from \"./LoadingOverlay.vue?vue&type=script&lang=js&\"\nexport * from \"./LoadingOverlay.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const FIELD_REQUIRED = 'Field is required';\r\nexport const STR_ADDTIONAL_QUE = 'Additional Question';\r\nexport const STR_DEFAULT_LANG = 'en-US';\r\nexport const STR_LANG_ZH_CN = 'zh-CN';\r\n\r\nexport const STR_ITEM_TEXT = \"itemText\";\r\nexport const STR_ITEM_VALUE = \"itemValue\";\r\nexport const STR_BASE_64 = \"BASE64\";\r\nexport const STR_THIRD_PARTY_TRUE = \"X\";\r\n\r\nexport const SAP_QUESTION_TYPE_REGULAR = 'R'\r\nexport const SAP_QUESTION_TYPE_ADDTIONAL = 'T'\r\n\r\nexport const EVCR_DATA_KEY = \"Storage_TmpEvcrData\";\r\nexport const EVCR_IS_EDIT_KEY = \"Storage_IsEdit\";\r\n\r\nexport const STR_SUBSECTION_ID = \"subSectionId\";\r\nexport const STR_ADDITION_ID = \"additionId\";\r\n\r\n\r\nexport const STR_TRIP_ID_MASK_LB = \"NNNN-NNNNNN\";\r\nexport const STR_TRIP_ID_PLACE_HOLDER_LB = \"XXXX-XXXXXX\";\r\nexport const STR_TRIP_ID_MASK_PG = \"NNNNNNNNNN\";\r\nexport const STR_TRIP_ID_PLACE_HOLDER_PG = \"XXXXXXXXXX\";\r\n","import Vue from 'vue'\r\nimport VueI18n from 'vue-i18n'\r\nimport axios from 'axios'\r\nimport english from '@/locales/en-US.json'\r\nimport zhcn from '@/locales/zh-CN.json'\r\nimport { STR_DEFAULT_LANG } from './models/consts'\r\nimport { ConsoleLog, ConvertBrowserLanguage } from './utility'\r\n// import english from '../public/locales/en-US.json'\r\n\r\nVue.use(VueI18n)\r\n\r\nconst messages = {\r\n 'en-US': english,\r\n // STR_LANG_ZH_CN: zhcn\r\n}\r\n\r\nconst numberFormatsTemplate = {\r\n '2dec': { minimumFractionDigits: 2, maximumFractionDigits: 2 },\r\n '3dec': { minimumFractionDigits: 3, maximumFractionDigits: 3 },\r\n '4dec': { minimumFractionDigits: 4, maximumFractionDigits: 4 }\r\n}\r\n\r\nconst dateTimeFormatsTemplate = {\r\n short: {\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit'\r\n },\r\n med: {\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n hour: 'numeric',\r\n minute: 'numeric',\r\n hour12: false\r\n },\r\n long: {\r\n year: 'numeric',\r\n month: 'short',\r\n day: 'numeric',\r\n weekday: 'short',\r\n hour: 'numeric',\r\n minute: 'numeric'\r\n }\r\n} as VueI18n.DateTimeFormats;\r\n\r\nvar numberFormats = {\r\n 'en-US': numberFormatsTemplate\r\n}\r\n\r\nvar dateTimeFormats = {\r\n 'en-US': dateTimeFormatsTemplate\r\n}\r\n\r\nconst i18n = new VueI18n({\r\n locale: STR_DEFAULT_LANG,\r\n fallbackLocale: STR_DEFAULT_LANG,\r\n dateTimeFormats,\r\n numberFormats,\r\n messages,\r\n});\r\n// console.log(\"i18n.messages\", messages, i18n);\r\n(i18n as any).loadedLanguages = [STR_DEFAULT_LANG]\r\n\r\nfunction setI18nLanguage(lang: string) {\r\n i18n.locale = lang\r\n axios.defaults.headers.common['Accept-Language'] = lang\r\n document.querySelector('html')?.setAttribute('lang', lang)\r\n\r\n return lang\r\n}\r\n\r\n(i18n as any).loadLanguageAsync = (lang: string) => {\r\n // console.log(\"loadLanguageAsync start\", lang);\r\n if (i18n.locale !== lang) {\r\n if (!(i18n as any).loadedLanguages.includes(lang)) {\r\n console.log(\"loadLanguageAsync\", lang);\r\n return import(/* webpackChunkName: \"lang-[request]\" */ `./locales/${lang}`)\r\n .then(msgs => {\r\n numberFormats[lang] = numberFormatsTemplate\r\n dateTimeFormats[lang] = dateTimeFormatsTemplate\r\n i18n.setLocaleMessage(lang, msgs);\r\n (i18n as any).loadedLanguages.push(lang)\r\n console.log(\"loadLanguageAsync.push\", lang, (i18n as any).loadedLanguages, msgs);\r\n return setI18nLanguage(lang)\r\n })\r\n .catch(() => {\r\n lang = STR_DEFAULT_LANG\r\n })\r\n }\r\n\r\n return Promise.resolve(setI18nLanguage(lang))\r\n }\r\n\r\n return Promise.resolve(lang)\r\n}\r\n\r\nexport default i18n\r\n","\r\nexport enum Env {\r\n tch = \"tch\",\r\n Dev = \"dev\",\r\n integ = \"integ\",\r\n Prod = \"prod\"\r\n}\r\n\r\nexport enum PageName {\r\n HomePage = \"HomePage\",\r\n SearchPage = \"SearchPage\",\r\n TripInformation = \"TripInformation\",\r\n VehicleCondition = \"VehicleCondition\",\r\n RecordOverview = \"RecordOverview\",\r\n RecordQuestionTractor = \"RecordQuestionTractor\",\r\n RecordQuestionChassis = \"RecordQuestionChassis\",\r\n RecordQuestionVessel = \"RecordQuestionVessel\",\r\n QueSection = \"QueSection\",\r\n RecordSummary = \"RecordSummary\",\r\n RecordQuestionDetail = \"RecordQuestionDetail\",\r\n RecordQuestionDefect = \"RecordQuestionDefect\",\r\n RecordQuestionGood = \"RecordQuestionGood\",\r\n RecordQuestionDefectSummary = \"RecordQuestionDefectSummary\",\r\n RecordQuestionSubmitNotice = \"RecordQuestionSubmitNotice\",\r\n RecordQuestionSubmitSign = \"RecordQuestionSubmitSign\",\r\n RecordQuestionSubmitResult = \"RecordQuestionSubmitResult\",\r\n TripInformationView = \"TripInformationView\",\r\n QuestionsView = \"QuestionsView\",\r\n About = \"About\",\r\n}\r\n\r\nexport enum TractorThirdPartyCategory {\r\n TRACTOR = \"TRACTOR\",\r\n RIGID_PGG_TRUCK = \"RIGID PGG TRUCK\",\r\n RIGID_PGG_KNUCKLE_CRANE_TRUCK = \"RIGID PGG KNUCKLE CRANE TRUCK\",\r\n RIGID_TANKER = \"RIGID TANKER\",\r\n}\r\n\r\nexport enum ChassisThirdPartyCategory {\r\n CHASSIS_TRAILER = \"CHASSIS TRAILER\",\r\n PGG_CHASSIS = \"PGG CHASSIS\",\r\n\r\n}\r\n\r\nexport enum VesselThirdPartyCategory {\r\n LB_MB_ISO_TANKER = \"LB&MB&ISO TANKER\",\r\n TUBE_SKID = \"TUBE SKID\",\r\n\r\n}\r\n\r\nexport enum QuestionSectionType {\r\n Tractor = \"tractor\",\r\n Chassis = \"chassis\",\r\n // Tanker = \"Tanker\",\r\n Vessel = \"vessel\",\r\n}\r\n\r\nexport enum QuestionType {\r\n Regular = \"Regular\",\r\n Char = \"Char\",\r\n Number = \"Number\",\r\n Boolean = \"Boolean\",\r\n}\r\nexport enum PicType {\r\n Tractor = \"PictureTractor\",\r\n Chassis = \"PictureChassis\",\r\n Vessel = \"PictureVessel\",\r\n ALl = \"All\",\r\n}\r\n// answer: string; // Good,Defective and N/A\r\nexport enum RegularAnswer {\r\n Good = \"Good\",\r\n Defective = \"Defective\",\r\n NA = \"N/A\",\r\n}\r\n\r\nexport enum SubmitStatus {\r\n Processing = \"processing\",\r\n Success = \"success\",\r\n Failure = \"failure\"\r\n}\r\n\r\n\r\nexport enum SapVehcileType {\r\n Tractor = \"TRACTOR\",\r\n Chassis = \"CHASSIS\",\r\n Vessel = \"VESSEL\",\r\n}\r\nexport enum SapVehcileCategory {\r\n Tractor = \"Tractor\",\r\n Chassis = \"Chassis\",\r\n Vessel = \"Vessel\",\r\n}\r\nexport enum SapQuestionType {\r\n Regular = \"R\",\r\n Char = \"CHAR\",\r\n Number = \"NUM\",\r\n Boolean = \"BOOL\",\r\n}\r\nexport enum LangCode {\r\n zh_CN = \"zh-CN\",\r\n en_GB = \"en-GB\",\r\n en_US = \"en-US\",\r\n zh_TW = \"zh-TW\",\r\n id_ID = \"id-ID\", //Indonesian\r\n id = \"id\", //Indonesian\r\n ms = \"ms\", //Malay\r\n ms_MY = \"ms-MY\", //Malay\r\n}\r\n\r\nexport enum SapLanguage {\r\n Chinese = \"ZH\",\r\n English = \"EN\",\r\n Malay = \"MS\",\r\n Indonesian = \"ID\",\r\n ChineseZF = \"ZF\",\r\n}\r\n\r\nexport enum SapReturnCode {\r\n ExistingEvcr_961 = 'ZERP3/961',\r\n TractorNotExisting_962 = 'ZERP3/962',\r\n ChassisNotExisting_963 = 'ZERP3/963',\r\n VesselNotExisting_964 = 'ZERP3/964',\r\n ApexIDNotExisting_965 = 'ZERP3/965',\r\n NonAccessToQueTemplate_966 = 'ZERP3/966',\r\n NonAccessToEvcRecord_967 = 'ZERP3/967',\r\n NonAccessToCreatEvc_968 = 'ZERP3/968',\r\n ErrorSaveEvc_969 = 'ZERP3/969',\r\n // Exist_961 = 'ZERP3/961',\r\n // Exist_961 = 'ZERP3/961',\r\n // Exist_961 = 'ZERP3/961',\r\n // Exist_961 = 'ZERP3/961',\r\n // Exist_961 = 'ZERP3/961',\r\n // Exist_961 = 'ZERP3/961',\r\n}\r\n\r\nexport enum ImgeApiMode {\r\n AllNotWait = \"all\",\r\n AllWait = \"allWait\",\r\n One = \"one\",\r\n Parallel = \"parallel\",\r\n // None = \"none\",\r\n}\r\n\r\nexport enum TripType {\r\n LB = \"LB\",\r\n PG = \"PG\",\r\n Other = \"OT\"\r\n}\r\n\r\n","import { Text } from \"@/utility\";\r\n\r\nexport interface ISelectItem {\r\n itemText: string;\r\n itemValue: string;\r\n}\r\n\r\nexport class SelectItem implements ISelectItem {\r\n itemText: string;\r\n itemValue: string;\r\n\r\n constructor(itemText: string, itemValue: string) {\r\n this.itemText = itemText;\r\n this.itemValue = itemValue;\r\n }\r\n}\r\n","import { PageName, PicType, QuestionSectionType, SapReturnCode, TripType } from \"@/models/enums\";\r\nimport { ConsoleLog, ConvertBrowserLanguage, IsNullOrEmpty, Text } from \".\";\r\nimport * as consts from \"@/models/consts\"\r\nimport { SelectItem } from \"@/models/select-item\";\r\nimport Vue from \"vue\";\r\nimport i18n from \"@/I18n\";\r\nimport config from '@/config/config.json';\r\nimport { SubSection } from \"@/models/question-section/sub-section\";\r\n\r\nexport const ImagePath = (picType: PicType) => {\r\n if (picType === PicType.Tractor) {\r\n return require('@/assets/image/PictureTractor.jpg')\r\n } else if (picType === PicType.Chassis) {\r\n return require('@/assets/image/PictureChassis.jpg')\r\n } else if (picType === PicType.Vessel) {\r\n return require('@/assets/image/PictureVessel.jpg')\r\n }\r\n}\r\n\r\nexport const VehiclePath = (fileName: string) => {\r\n // fileName = \"Vehicle.png\";\r\n const filePath = config.app.vehicle_pic_path;\r\n const fileFullPath = `${filePath}${fileName}`;\r\n // ConsoleLog({ \"VehiclePath.fileName\": fileFullPath });\r\n try {\r\n const img = require('@/assets/' + fileFullPath)\r\n // const img = require(`@/assets/${fileName}`) //doesn't support\r\n // ConsoleLog({ \"VehiclePath\": img });\r\n return img;\r\n } catch (error) {\r\n ConsoleLog({ \"VehiclePath.error\": error });\r\n return null;\r\n }\r\n}\r\nexport const VehicleThumbnail = (fileName: string) => {\r\n // fileName = \"Vehicle_thumb.png\";\r\n const filePath = `${config.app.vehicle_pic_path}${fileName}`;\r\n // ConsoleLog({ \"VehicleThumbnail.fileName\": filePath });\r\n try {\r\n const img = require('@/assets/' + filePath)\r\n // ConsoleLog({ \"VehicleThumbnail\": img });\r\n return img;\r\n } catch (error) {\r\n ConsoleLog({ \"VehicleThumbnail.error\": error });\r\n return null;\r\n }\r\n}\r\n// export const HomeIcon = () => {\r\n// return require(`@/assets/image/home-40.png`);\r\n// }\r\nexport const Confirm = (message: string) => {\r\n return window.confirm(message)\r\n}\r\nexport const Alert = (message: string) => {\r\n window.alert(message)\r\n}\r\nexport const GoHome = (router: any, needConfirm: boolean = true) => {\r\n // if (needConfirm) {\r\n // if (!Confirm('The Unsaved information will be lost, are you sure to navigate to Home?')) {\r\n // return;\r\n // }\r\n // }\r\n router.push({ name: PageName.HomePage });\r\n}\r\nexport const FuelHome = () => {\r\n return config.app.fuelHome\r\n}\r\nexport const GoBack = (router: any) => {\r\n router.go(-1);\r\n}\r\nexport const GoTripInfo = (router: any) => {\r\n router.push({ name: PageName.TripInformation });\r\n}\r\nexport const GoCondition = (router: any) => {\r\n router.push({ name: PageName.VehicleCondition });\r\n}\r\nexport const GoSearch = (router: any) => {\r\n router.push({ name: PageName.SearchPage });\r\n}\r\nexport const GoQuestionsView = (router: any) => {\r\n router.push({ name: PageName.QuestionsView });\r\n}\r\n\r\nexport const GoQuestionWithHash = (router: any, picType: PicType, subSectionId: string) => {\r\n let sectionType = QuestionSectionType.Tractor;\r\n switch (picType) {\r\n case PicType.Tractor:\r\n sectionType = QuestionSectionType.Tractor;\r\n break;\r\n case PicType.Vessel:\r\n sectionType = QuestionSectionType.Vessel;\r\n break;\r\n case PicType.Chassis:\r\n sectionType = QuestionSectionType.Chassis;\r\n break;\r\n }\r\n return `record-question/${sectionType.toString()}#${consts.STR_SUBSECTION_ID + subSectionId}`;\r\n}\r\n\r\nexport const GetQueSectionUrl = (subSectionId: string) => {\r\n return `/record-question/${subSectionId}`;\r\n ///record-question/:sectionId\r\n}\r\n\r\nexport const GoQuestion = (router: any, suSectionId: string) => {\r\n router.push({\r\n name: PageName.QueSection,\r\n params: {\r\n subSectionId: suSectionId,\r\n },\r\n });\r\n}\r\n\r\nexport const GoQuestionTractor = (router: any) => {\r\n router.push({\r\n name: PageName.RecordQuestionTractor,\r\n params: {\r\n type: QuestionSectionType.Tractor,\r\n },\r\n });\r\n}\r\n\r\nexport const GoQuestionChassis = (router: any) => {\r\n router.push({\r\n name: PageName.RecordQuestionChassis,\r\n params: {\r\n type: QuestionSectionType.Chassis,\r\n },\r\n });\r\n}\r\nexport const GoQuestionVessel = (router: any) => {\r\n router.push({\r\n name: PageName.RecordQuestionVessel,\r\n params: {\r\n type: QuestionSectionType.Vessel,\r\n },\r\n });\r\n}\r\n\r\nexport const GoSummary = (router: any) => {\r\n router.push({ name: PageName.RecordQuestionDefectSummary });\r\n}\r\n\r\nexport const GoOverview = (router: any) => {\r\n router.push({ name: PageName.RecordOverview });\r\n}\r\n\r\nexport const GoDefect = (router: any, parameters: any) => {\r\n router.push({\r\n name: PageName.RecordQuestionDefect,\r\n params: { ...parameters },\r\n // query: { timestamp: Date.now() }\r\n });\r\n}\r\n\r\nexport const GoGood = (router: any, parameters: any) => {\r\n router.push({\r\n name: PageName.RecordQuestionGood,\r\n params: { ...parameters },\r\n // query: { timestamp: Date.now() }\r\n });\r\n}\r\n\r\nexport const RemoveBase64Head = (base64Data) => {\r\n if (0 == base64Data.indexOf(\"data:image/\")) {\r\n let c = base64Data.indexOf(\"base64,\") + 7;\r\n base64Data = base64Data.substring(c);\r\n return base64Data;\r\n } else {\r\n return base64Data;\r\n }\r\n};\r\n\r\nexport const AddBase64Head = (base64Data) => {\r\n if (IsNullOrEmpty(base64Data)) {\r\n return base64Data;\r\n }\r\n return `data:image/png;base64,${base64Data}`\r\n};\r\n\r\n\r\n\r\nexport const HandleSapReturnCode = (error: any, defaultMsg: string = \"\") => {\r\n let errorMsg = defaultMsg.length == 0 ? \"Encountered error that back-end doesn't return the specified error code.\" : defaultMsg;\r\n const errorCode = error?.error?.code as SapReturnCode;\r\n ConsoleLog(['HandleSapReturnCode', error, errorCode]);\r\n if (errorCode && error?.error?.message?.value) {\r\n errorMsg = error?.error?.message?.value;\r\n }\r\n return errorMsg;\r\n}\r\n\r\nexport const IsEditEvcr = () => {\r\n let isEdit = false;\r\n const isEditStorage = localStorage.getItem(consts.EVCR_IS_EDIT_KEY);\r\n if (isEditStorage && isEditStorage === true.toString()) {\r\n isEdit = true;\r\n }\r\n return isEdit;\r\n};\r\n\r\nexport const SetIsEditEvcr = (isEdit: boolean) => {\r\n localStorage.setItem(consts.EVCR_IS_EDIT_KEY, isEdit.toString());\r\n};\r\n\r\nexport const RemoveStorageEvcr = () => {\r\n localStorage.removeItem(consts.EVCR_DATA_KEY)\r\n SetIsEditEvcr(false);\r\n};\r\n\r\nexport const GetTranslationRequired = () => {\r\n return Text(\"ml_114626\", consts.FIELD_REQUIRED);\r\n}\r\nexport const GetTranslationAdditionalQues = () => {\r\n return Text('ml_114685', consts.STR_ADDTIONAL_QUE);\r\n}\r\n\r\nexport const PrePostItems = () => {\r\n // await IntialLangData();\r\n let items: SelectItem[] = [];\r\n items.push(new SelectItem(Text(\"ml_114687\", \"Pre\"), \"PR\"));\r\n items.push(new SelectItem(Text(\"ml_114688\", \"Post\"), \"PO\"));\r\n // ConsoleLog({\r\n // \"PrePostItems\": items,\r\n // });\r\n return items;\r\n};\r\n\r\nexport const TripTypetems = () => {\r\n let items: SelectItem[] = [];\r\n items.push(new SelectItem(Text(\"ml_114898\", \"LB/MB\"), TripType.LB));\r\n items.push(new SelectItem(Text(\"ml_114899\", \"PG\"), TripType.PG));\r\n items.push(new SelectItem(Text(\"ml_115441\", \"Others\"), TripType.Other));\r\n return items;\r\n};\r\n\r\nexport const BoolItems = [\r\n new SelectItem(\"true\", \"true\"),\r\n new SelectItem(\"false\", \"false\"),\r\n];\r\n\r\nexport const RegularItems = () => {\r\n let items: SelectItem[] = [];\r\n const regularItem = [new SelectItem(Text(\"ml_114689\", \"Good\"), \"Good\"),\r\n new SelectItem(Text(\"ml_114690\", \"Defective\"), \"Defective\"),\r\n new SelectItem(Text(\"ml_114691\", \"N/A\"), \"N/A\")];\r\n items.push(...regularItem);\r\n return items;\r\n};\r\n\r\nexport const IntialLangData = async () => {\r\n const language = ConvertBrowserLanguage(window.navigator.language);\r\n ConsoleLog({\r\n \"window.navigator.language\": window.navigator.language,\r\n language: language,\r\n });\r\n Vue.prototype.$lanCode = language;\r\n await (i18n as any).loadLanguageAsync(language);\r\n}\r\n\r\nexport const IsLocalMode = () => {\r\n return config.app.localMode ? true : false;\r\n}\r\n\r\nexport const SubSectionStyle = (subSection: SubSection) => {\r\n let cssclass = \"margin-5\";\r\n if (subSection.validated) {\r\n cssclass += ' back-groud-green'; //color-red\r\n }\r\n return cssclass;\r\n}\r\n\r\nexport const QuestionsPicName = (tmpName: string) => {\r\n return `${tmpName}.jpg`;\r\n}\r\n\r\nexport const QuestionsThumbnailName = (tmpName: string) => {\r\n return `${tmpName}_THUMB.jpg`;\r\n}\r\n\r\nexport const TestMode = () => {\r\n return config.app.test_mode ? true : false;\r\n}\r\n\r\nexport const GetPicSize = (fileName: string) => {\r\n const picFile = VehiclePath(fileName);\r\n let picSize = { height: '100', width: '60' };\r\n try {\r\n // const img = require(\"@/\" + picFile)\r\n if (picFile.toString().length > 0) {\r\n // ConsoleLog({ \"picFile\": picFile });\r\n let image = new Image();\r\n image.src = picFile;\r\n if (image.height === 0) {\r\n image.height = 120;\r\n image.width = 60;\r\n }\r\n // ConsoleLog({ \"image\": image });\r\n picSize.height = image.height.toString();\r\n picSize.width = image.width.toString();\r\n }\r\n ConsoleLog({ \"GetPicSize\": picSize, \"fileName\": fileName, \"img\": picFile });\r\n } catch (error) {\r\n ConsoleLog({ \"GetPicSize\": picSize, \"fileName\": fileName, \"error\": error });\r\n }\r\n return picSize;\r\n}\r\n","import config from '@/config/config.json';\r\nimport i18n from '@/I18n';\r\nimport { Env, LangCode, SapLanguage } from '@/models/enums';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport Vue from 'vue';\r\nimport * as consts from \"@/models/consts\"\r\nimport { IsLocalMode } from './ui-utility';\r\n\r\nexport const Timeout = (millonSeconds: number) => {\r\n return new Promise((resolve) => {\r\n window.setTimeout(resolve, millonSeconds);\r\n })\r\n};\r\nexport function ClearError(state: any) {\r\n state.errorMsg = \"\";\r\n}\r\n\r\nexport function IsDebug() {\r\n return config.app.env as Env === Env.tch || config.app.env as Env === Env.Dev || config.app.env as Env === Env.integ || Vue.prototype.$isDebug;\r\n // return true;\r\n}\r\n\r\nexport function ConsoleLog(data: any) {\r\n if (!IsDebug()) {\r\n return;\r\n }\r\n console.log(data);\r\n}\r\nexport function validateOdometer(odometer: string) {\r\n var valid = false;\r\n try {\r\n valid = Number.parseFloat(odometer) > 0 && Number.parseFloat(odometer) < 3000000;\r\n // ConsoleLog({ \"numberValue\": Number.parseFloat(odometer) })\r\n } catch (erro) {\r\n }\r\n return valid;\r\n}\r\n\r\nexport function CreateNewUUID() {\r\n return uuidv4();\r\n}\r\n\r\nexport function CreateNewUUIDWithoutLine() {\r\n return uuidv4().replace(/-/g, '');\r\n}\r\n\r\nexport function IsNullOrEmpty(obj?: string) {\r\n return obj === undefined || obj === null || obj === '';\r\n}\r\nexport function NullToEmpty(obj?: string) {\r\n return (obj === undefined || obj === null) ? \"\" : obj;\r\n}\r\nexport function CloneObj(obj: any) {\r\n return obj === undefined ? undefined : JSON.parse(JSON.stringify(obj));\r\n}\r\n\r\nexport function DeepClone(originalData: any) {\r\n if (IsNullOrEmpty(originalData)) {\r\n return originalData;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(originalData));\r\n}\r\n\r\nexport function HandleAPIException(data: any, state: any, message: string) {\r\n if (data && data.isSuccess === false) {\r\n state.errorMsg = message;\r\n }\r\n}\r\n\r\nexport function ChangingConfirm(postObj: any) {\r\n return RequestConfirmWithEnv(postObj, config.app.env as Env);\r\n}\r\n\r\nexport function RequestConfirmWithEnv(postObj: any, env: Env) {\r\n // return true;\r\n if (env === Env.Prod || !IsLocalMode()) {\r\n return true;\r\n }\r\n\r\n const formattedChanging = JSON.stringify(postObj, null, 4);\r\n CopyToClip(formattedChanging);\r\n return window.confirm(`\r\n This message is only for developer debug purpose, user can ignore this and click OK. This popup will be removed after go-live.\\r\\n\r\n ${formattedChanging}`);\r\n}\r\n\r\nexport function CopyToClip(content: string) {\r\n const aux = document.createElement('input');\r\n aux.setAttribute('value', content);\r\n document.body.appendChild(aux);\r\n aux.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(aux);\r\n}\r\n\r\nexport function ObjectContainAllFields(obj: any, standObj: any, recursive = true) {\r\n if (!obj || !standObj || typeof obj !== 'object' || typeof standObj !== 'object') {\r\n ConsoleLog({ \"ObjectContainAllFields\": `!obj || !standObj || typeof obj !== 'object' || typeof standObj !== 'object'`, obj: obj, standObj: standObj, recursive: recursive });\r\n return false;\r\n }\r\n let isGood = true;\r\n if (Array.isArray(obj)) {\r\n // ConsoleLog({ \"ObjectContainAllFields\": `Array.isArray(obj)`, obj: obj, standObj: standObj, recursive: recursive });\r\n if (obj.length > 0) {\r\n //only check the first element if the field is an arry.\r\n return ObjectContainAllFields(obj[0], Array.isArray(standObj) ? standObj[0] : standObj, recursive);\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n // ConsoleLog({ \"ObjectContainAllFields\": `Note Array`, obj: obj, standObj: standObj, recursive: recursive });\r\n let shouldSkip = false;\r\n Object.keys(standObj).forEach(keyName => {\r\n // ConsoleLog({ \"ObjectContainAllFields is checking\": `${keyName}`, keyName: obj[keyName], keys: Object.keys(standObj) });\r\n if (shouldSkip) {\r\n return;\r\n }\r\n if (obj[keyName] === undefined) {\r\n ConsoleLog({ \"ObjectContainAllFields\": `${keyName} doesn't exist.`, keyName: obj[keyName] });\r\n shouldSkip = true;\r\n isGood = false;\r\n } else {\r\n if (typeof obj[keyName] === 'object' && obj[keyName] !== null) {\r\n isGood = ObjectContainAllFields(obj[keyName], standObj[keyName], recursive)\r\n if (isGood === false) {\r\n shouldSkip = true;\r\n }\r\n }\r\n }\r\n });\r\n return isGood;\r\n }\r\n}\r\n\r\n// export function ObjectContainAllFields(obj: any, standObj: any) {\r\n// let isGood = true;\r\n// //arry object typeof\r\n// Object.keys(standObj).forEach(keyName => {\r\n// if (!obj[keyName]) {\r\n// ConsoleLog({ keyName: obj[keyName] });\r\n// isGood = false;\r\n// return isGood;\r\n// }\r\n// });\r\n// return isGood;\r\n// }\r\n\r\nexport function ObjectContainAllFieldsForArray(obj: any, standObj: any) {\r\n let isGood = true;\r\n if (Array.isArray(obj) && obj.length > 0) {\r\n isGood = ObjectContainAllFields(obj[0], standObj);\r\n }\r\n return isGood;\r\n}\r\n\r\nexport const ConvertDateTime = (dateTime: string) => {\r\n let date = \"\"\r\n let time = \"\";\r\n if (!IsNullOrEmpty(dateTime)) {\r\n ///Date(1643097360000)/\r\n try {\r\n const datetime = new Date(getDateFromAspNetFormat(dateTime));\r\n date = GetDatePart(datetime);\r\n //datetime.toISOString().split('T')[0],\r\n time = datetime.getHours() + \":\" + datetime.getMinutes()\r\n } catch (error) {\r\n ConsoleLog({ \"ConvertDateTime\": error });\r\n }\r\n }\r\n return { date: date, time: time };\r\n}\r\n\r\nexport function getDateFromAspNetFormat(date: string): number {\r\n const re = /-?\\d+/;\r\n const m = re.exec(date);\r\n ConsoleLog({ \"getDateFromAspNetFormat\": m });\r\n return m && m.length > 0 ? parseInt(m[0], 10) : 0;\r\n}\r\n\r\nexport const GetDatePart = (date: Date) => {\r\n let dd = date.getDate().toString();\r\n let mm = (date.getMonth() + 1).toString();\r\n var yyyy = date.getFullYear();\r\n if (parseInt(dd) < 10) {\r\n dd = '0' + parseInt(dd);\r\n }\r\n if (parseInt(mm) < 10) {\r\n mm = '0' + parseInt(mm);\r\n }\r\n return `${yyyy}-${mm}-${dd}`\r\n}\r\nexport const GetTimePart = (date: Date) => {\r\n // return date.getHours() + \":\" + date.getMinutes();\r\n let hourPart = date.getHours().toString();\r\n let minutePart = date.getMinutes().toString();\r\n if (parseInt(hourPart) < 10) {\r\n hourPart = '0' + parseInt(hourPart);\r\n }\r\n if (parseInt(minutePart) < 10) {\r\n minutePart = '0' + parseInt(minutePart);\r\n }\r\n return `${hourPart}:${minutePart}`;\r\n}\r\n\r\nexport const Text = (mLstringId: string, defaultText: string) => {\r\n const text = TranslatedText(mLstringId);\r\n return text === mLstringId ? defaultText : text;\r\n};\r\n\r\nexport const TranslatedText = (mLstringId: string) => {\r\n return i18n.t(mLstringId).toString();\r\n};\r\n\r\nexport const HasAccess = (userRoles: string[]): boolean => {\r\n ConsoleLog({ 'HasAccess': DeepClone(userRoles) });\r\n let hasAccess = false;\r\n if (userRoles.length === 0) {\r\n return hasAccess;\r\n }\r\n\r\n if (userRoles.includes(config.app.role)) {\r\n hasAccess = true;\r\n }\r\n return hasAccess;\r\n};\r\n\r\nexport const GetSapLanguage = (lang: string): string => {\r\n ConsoleLog({ 'GetSapLanguage': lang });\r\n let langCode = SapLanguage.English;\r\n switch (lang) {\r\n case LangCode.zh_CN:\r\n langCode = SapLanguage.Chinese\r\n break;\r\n case LangCode.zh_TW:\r\n langCode = SapLanguage.ChineseZF;\r\n break;\r\n case LangCode.id:\r\n case LangCode.id_ID:\r\n langCode = SapLanguage.Indonesian;\r\n break;\r\n case LangCode.ms_MY:\r\n langCode = SapLanguage.Malay;\r\n break;\r\n }\r\n // lang.slice(0, 2)\r\n return langCode;\r\n};\r\n\r\n\r\nexport const ConvertBrowserLanguage = (lang: string): string => {\r\n // ConsoleLog({ 'ConvertBrowserLanguage': lang });\r\n let langCode = LangCode.en_US;\r\n switch (lang.toLowerCase()) {\r\n case LangCode.zh_CN.toLowerCase():\r\n langCode = LangCode.zh_CN;\r\n break;\r\n case LangCode.zh_TW.toLowerCase():\r\n langCode = LangCode.zh_TW;\r\n break;\r\n case LangCode.id.toLowerCase():\r\n case LangCode.id_ID.toLowerCase():\r\n langCode = LangCode.id_ID;\r\n break;\r\n case LangCode.ms.toLowerCase():\r\n case LangCode.ms_MY.toLowerCase():\r\n langCode = LangCode.ms_MY;\r\n break;\r\n }\r\n // lang.slice(0, 2)\r\n return langCode;\r\n};\r\n\r\n// export const IsUserLogin = () => {\r\n// const auth = Vue.$authService as any;\r\n// let isLogin = false;\r\n// if (auth && auth.getUser()) {\r\n// const user = auth.getUser();\r\n// console.log(\"IsUserLogin\", user?.userName, user);\r\n// isLogin = true;\r\n\r\n// }\r\n// return isLogin;\r\n// }\r\n\r\nexport const DateFormatForSAP = (date: string) => {\r\n let formatedValue = \"\";\r\n if (IsNullOrEmpty(date)) {\r\n return formatedValue\r\n }\r\n if (date.length !== 8) {\r\n return date;\r\n }\r\n return date.substring(0, 4) + \"-\" + date.substring(4, 6) + \"-\" + date.substring(6, 8)\r\n}\r\nexport const TimeFormatForSAP = (time: string) => {\r\n let formatedValue = \"\";\r\n if (IsNullOrEmpty(time)) {\r\n return formatedValue\r\n }\r\n if (time.length !== 6) {\r\n return time;\r\n }\r\n return time.substring(0, 2) + \":\" + time.substring(2, 4);\r\n}\r\n\r\nexport function CountArrayDuplicate (arrary: string[]) {\r\n return arrary.filter((item, index) => arrary.indexOf(item) != index).length;\r\n}\r\n\r\nexport function PadLeftZero (aNumber: number) {\r\n return (\"0\" + aNumber).slice(-2);\r\n}","export enum StoreGetter {\r\n emEvcr = 'evcrModule/evcr',\r\n emTripInfo = 'evcrModule/tripInfo',\r\n emNearbyPlant = 'evcrModule/nearbyPlant',\r\n emVehicles = 'evcrModule/vehicles',\r\n emMaintainNotifications = 'evcrModule/maintainNotifications',\r\n emQuestionTractor = 'evcrModule/questionTractor',\r\n emQuestionChassis = 'evcrModule/questionChassis',\r\n emQuestionVessel = 'evcrModule/questionVessel',\r\n emQuestions = 'evcrModule/questions',\r\n emHasDefects = 'evcrModule/hasDefects',\r\n emHasTopDefects = 'evcrModule/hasTopDefects',\r\n emIsEdit = 'evcrModule/isEdit',\r\n emQuestionFilterChanged = 'evcrModule/questionFilterChanged',\r\n temEditable = 'tmpEvcrModule/editable',\r\n\r\n lemLastEvcrTripInfo = \"lastEvcrModule/lastEvcrTrip\",\r\n lemGetTractor = \"lastEvcrModule/getTractor\",\r\n lemQuestions = \"lastEvcrModule/questions\",\r\n\r\n umUserProfile = 'userModule/userProfile',\r\n umUserId = 'userModule/userId',\r\n umUserName = 'userModule/userName',\r\n umUserCountryCode = 'userModule/userCountryCode',\r\n}\r\n\r\nexport enum StoreAction {\r\n emInitialData = 'evcrModule/initialData',\r\n emInitialTripData = 'evcrModule/initialTripData',\r\n emGetFive = 'evcrModule/getFive',\r\n // emInitializeEvcrData = 'evcrModule/initializeEvcData',\r\n emGetNearbyPlant = 'evcrModule/getNearbyPlant',\r\n emGetPlant = 'evcrModule/getPlant',\r\n emGetVehicle = 'evcrModule/getVehicle',\r\n emGetMaintainNotification = 'evcrModule/getMaintainNotification',\r\n emGetQuestions = 'evcrModule/getQuestions',\r\n emPostNewEvcr = 'evcrModule/postNewEvcr',\r\n emPostNewEvcrSign = 'evcrModule/postNewEvcrSign',\r\n\r\n emValidateNewEvcr = 'evcrModule/validateNewEvcr',\r\n\r\n lvmGetLastEvcr = 'lastEvcrModule/getLastEvcr',\r\n temInitializeEvcrData = 'tmpEvcrModule/initializeEvcData',\r\n umLogin = 'userModule/login',\r\n}\r\n\r\nexport enum StoreMutation {\r\n StartLoading = 'startLoading',\r\n EndLoading = 'endLoading',\r\n emSubmitFailed = \"evcrModule/submitFailed\",\r\n emSubmitSuccess = \"evcrModule/submitSuccess\",\r\n emResetEvcr = \"evcrModule/resetEvcr\",\r\n emClearNearByData = \"evcrModule/clearNearByData\",\r\n emUpdateTripInfo = \"evcrModule/updateTripInfo\",\r\n emClearTripId = \"evcrModule/clearTripId\",\r\n emUpdateIsEdit = \"evcrModule/updateIsEdit\",\r\n emUpdateQuestionTractor = \"evcrModule/updateQuestionTractor\",\r\n emUpdateQuestionChassis = \"evcrModule/updateQuestionChassis\",\r\n emUpdateQuestionVessel = \"evcrModule/updateQuestionVessel\",\r\n emUpdateQuestions = \"evcrModule/updateQuestions\",\r\n emUpdateQuestion = \"evcrModule/updateQuestion\",\r\n emInitializeState = \"evcrModule/initializeState\",\r\n amSubmitFailed = \"evcrModule/submitFailed\",\r\n\r\n lemResetLastEvcr = \"lastEvcrModule/resetLastVcr\",\r\n lemUpdateTractor = \"lastEvcrModule/updateTractor\",\r\n temSetEditable = 'tmpEvcrModule/setEditable',\r\n\r\n}","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport LoadingOverlay from \"@/components/LoadingOverlay.vue\";\r\n// import { GenerateTransitionName } from \"./router/routes\";\r\nimport i18n from \"./I18n\";\r\nimport {\r\n CloneObj,\r\n ConsoleLog,\r\n ConvertBrowserLanguage,\r\n DeepClone,\r\n} from \"./utility\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"./store/store-mapping\";\r\nimport config from \"@/config/config.json\";\r\nimport AuthService from \"./services/AuthorService\";\r\nimport APIService, { apiService } from \"./services/APIService\";\r\nexport default Vue.extend({\r\n name: \"App\",\r\n components: {\r\n loadingOverlay: LoadingOverlay,\r\n },\r\n\r\n data: () => ({\r\n version: config.app.version,\r\n isLoggedIn: false,\r\n loginError: \"\",\r\n }),\r\n computed: {\r\n ...mapGetters({\r\n userProfile: StoreGetter.umUserProfile,\r\n }),\r\n },\r\n methods: {\r\n setIsDebug() {\r\n const search = window.location.search;\r\n if (search.length === 0) {\r\n return;\r\n }\r\n const query = search.substring(1);\r\n const parameters = query.split(\"&\");\r\n for (const item of parameters) {\r\n const pair = item.split(\"=\");\r\n if (\r\n pair.length === 2 &&\r\n pair[0].toLocaleLowerCase() === \"debug\" &&\r\n pair[1].toLocaleLowerCase() === \"true\"\r\n ) {\r\n console.log(\"Vue.prototype.$isDebug = true;\");\r\n Vue.prototype.$isDebug = true;\r\n }\r\n }\r\n },\r\n async initialLan() {\r\n const language = ConvertBrowserLanguage(window.navigator.language);\r\n ConsoleLog({\r\n \"window.navigator.language\": window.navigator.language,\r\n language: language,\r\n });\r\n Vue.prototype.$lanCode = language;\r\n const self = this as any;\r\n await self.$i18n.loadLanguageAsync(language);\r\n },\r\n },\r\n // watch: {\r\n // // watch $route decide which style to use\r\n // $route(to, from) {\r\n // (this as any).transitionName = GenerateTransitionName(to, from);\r\n // },\r\n // },\r\n async beforeMount() {\r\n // ConsoleLog({ \"App.beforeMount\": \"a\" });\r\n\r\n //Logging\r\n await this.$store.dispatch(StoreAction.umLogin);\r\n if (!this.userProfile) {\r\n this.isLoggedIn = false;\r\n return;\r\n }\r\n this.isLoggedIn = true;\r\n ConsoleLog({ \"App.userProfile\": DeepClone(this.userProfile) });\r\n // await this.initialLan();\r\n\r\n // await this.checkLogin();\r\n // self.$store.commit(StoreMutation.EndLoading);\r\n\r\n // if (self.userProfile) {\r\n // ConsoleLog({ \"userProfile.LanguageCode\": self.userProfile.LanguageCode });\r\n // Vue.prototype.$lanCode = self.userProfile.LanguageCode;\r\n // await self.$i18n.loadLanguageAsync(self.userProfile.LanguageCode);\r\n // self.$store.commit(\"EndLoading\");\r\n // } else {\r\n // await self.$i18n.loadLanguageAsync(\"zh-CN\");\r\n // }\r\n },\r\n async mounted() {\r\n ConsoleLog({\r\n \"app.mounted.window.navigator.language\": window.navigator.language,\r\n });\r\n await this.initialLan();\r\n },\r\n async created() {\r\n (this as any).setIsDebug();\r\n // ConsoleLog({\r\n // \"App.created\": \"a\",\r\n // });\r\n },\r\n beforeCreate() {\r\n // ConsoleLog({\r\n // \"App.beforeCreate\": \"a\",\r\n // });\r\n },\r\n});\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=281917fa&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VApp,VContainer,VMain})\n","import * as Msal from 'msal'\r\nimport Vue from 'vue'\r\nimport config from '@/config/config.json';\r\nimport { DeepClone } from '@/utility';\r\n\r\nconst authRequest = {\r\n //scopes: ['openid', 'user.read', 'User.Read.All'] // if calls graph api\r\n // scopes: ['f18314d9-3bc9-4965-8ecb-a6f4110738f2/.default'] // it has to be this for v2 endpoint\r\n // scopes: [\"user.read\"]\r\n //dev\r\n // scopes: [\"api://82566e80-1f45-400e-bfcb-0782aeebe99e/access_as_user\"]\r\n scopes: [config.app.app_client_scope]\r\n //integ\r\n // scopes: [\"api://da163d2b-9566-4eaf-a58e-a644b1696fab/access_as_user\"]\r\n //prod\r\n // scopes: [\"api://e2e06f27-728d-44f9-9cb8-df95e46d4a85/access_as_user\"]\r\n}\r\n\r\nexport default class AuthService {\r\n userAgent: Msal.UserAgentApplication\r\n\r\n constructor() {\r\n var configSettings: any = {\r\n auth: {\r\n //dev\r\n // clientId: 'f18314d9-3bc9-4965-8ecb-a6f4110738f2',\r\n clientId: config.app.app_client_id,\r\n //integ\r\n // clientId: 'dca8c708-6013-418d-9797-b81d20bc885f',\r\n //prod\r\n // clientId: '8fd03a7c-52cc-4e63-9b60-0d415af50269',\r\n authority: 'https://login.microsoftonline.com/950af356-6025-4fdb-96a0-a9be6b893fec',\r\n // redirectUri: 'http://localhost:8080',\r\n // redirectUri: 'https://d3uibumvb8512g.cloudfront.net/',\r\n redirectUri: config.app.app_redirect_url,\r\n navigateToLoginRequestUrl: true\r\n },\r\n cache: {\r\n cacheLocation: 'localStorage',\r\n storeAuthStateInCookie: true\r\n }\r\n }\r\n\r\n this.userAgent = new Msal.UserAgentApplication(configSettings);\r\n this.userAgent.handleRedirectCallback(this.authCallback);\r\n }\r\n\r\n private authCallback(error, response) {\r\n const authServ = Vue.$authService;\r\n if (error) {\r\n console.log('authCallback:' + error);\r\n } else {\r\n console.log('authCallback: token type is:', response);\r\n // window.location.assign(config.app.app_redirect_url)\r\n }\r\n }\r\n public login() {\r\n this.userAgent.loginRedirect(authRequest)\r\n // this.userAgent.loginPopup({})\r\n // return this.userAgent.loginPopup()\r\n // return this.userAgent.loginPopup(authRequest);\r\n }\r\n public acquireTokenSilent() {\r\n return this.userAgent.acquireTokenSilent(authRequest);\r\n }\r\n\r\n public getUser() {\r\n return this.userAgent.getAccount()\r\n }\r\n public logout() {\r\n this.userAgent.logout()\r\n }\r\n\r\n public async isLogin() {\r\n try {\r\n await this.userAgent.acquireTokenSilent(authRequest);\r\n }\r\n catch (error) {\r\n console.log('check isLogin error:' + error);\r\n this.userAgent.acquireTokenRedirect(authRequest);\r\n return false;\r\n }\r\n return true;\r\n }\r\n public async getAccessToken() {\r\n return this.userAgent.acquireTokenSilent(authRequest).then(\r\n accessToken => {\r\n return accessToken;\r\n },\r\n error => {\r\n console.log('getAccessToken failed: ' + error);\r\n return this.userAgent\r\n .acquireTokenPopup(authRequest)\r\n .then(\r\n accessToken => {\r\n return accessToken;\r\n },\r\n err => {\r\n console.error(err);\r\n }\r\n );\r\n });\r\n }\r\n public async getToken() {\r\n try {\r\n return await this.userAgent.acquireTokenSilent(authRequest);\r\n }\r\n catch (err) {\r\n //Acquire token silent failure, and send an interactive request\r\n console.log('getToken failed: ' + err);\r\n this.userAgent.acquireTokenRedirect(authRequest);\r\n }\r\n }\r\n}\r\n\r\nexport const authService = new AuthService();\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('home-page')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{staticClass:\"text-center\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.isLoggedIn)?_c('v-card-title',[_c('v-spacer'),_c('a',{attrs:{\"href\":_vm.FuelHome()}},[_c('v-icon',{attrs:{\"x-large\":\"\",\"color\":\"blue\",\"title\":\"Home\"}},[_vm._v(_vm._s(_vm.icons.mdiHomeCircle))])],1)],1):_vm._e(),(_vm.isLoggedIn)?_c('v-card',[(!_vm.editable)?_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114602'),expression:\"'ml_114602'\"}],attrs:{\"color\":\"primary\",\"block\":\"\",\"disabled\":_vm.newDisable},on:{\"click\":function($event){return _vm.newEvcr()}}},[_vm._v(\" New eVCR \")]):_vm._e(),(_vm.editable)?_c('div',[_vm._v(\" \")]):_vm._e(),(_vm.editable)?_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114603'),expression:\"'ml_114603'\"}],attrs:{\"color\":\"primary\",\"block\":\"\",\"disabled\":_vm.editDisable},on:{\"click\":function($event){return _vm.goEdit()}}},[_vm._v(\" Edit Draft eVCR \")]):_vm._e(),_c('div',[_vm._v(\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"block\":\"\"},on:{\"click\":function($event){return _vm.GoSearch(_vm.$router)}}},[_vm._v(\" \"+_vm._s(_vm.Text(\"ml_114604\", \"Display Last eVCR\"))+\" \")])],1):_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114746'),expression:\"'ml_114746'\"}]},[_vm._v(\"logging in is in progress...\")]),(_vm.loginError.length > 0)?_c('div',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.loginError))]):_vm._e()],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"padding-0\",attrs:{\"cols\":(!_vm.showQuestionIcon && !_vm.showEditIcon) ? 12:''}},[_c('v-select',{attrs:{\"value\":_vm.value,\"items\":_vm.items,\"rules\":_vm.rules,\"label\":_vm.label,\"item-text\":\"itemText\",\"item-value\":\"itemValue\",\"readonly\":_vm.readonly},on:{\"input\":_vm.onChanging,\"change\":_vm.onUserChanging},scopedSlots:_vm._u([(_vm.required)?{key:\"label\",fn:function(){return [_c('span',{staticClass:\"red-error\"},[_c('strong',[_vm._v(\"* \")])]),_vm._v(_vm._s(_vm.label)+\" \")]},proxy:true}:null],null,true)})],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showQuestionIcon),expression:\"showQuestionIcon\"}],staticClass:\"padding-0 alignMiddle\",attrs:{\"cols\":\"1\"}},[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showQuestionIcon),expression:\"showQuestionIcon\"}],attrs:{\"color\":\"darken-1\"},on:{\"click\":_vm.questionCick}},[_vm._v(_vm._s(_vm.icons.mdiMapMarkerQuestion))])],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showEditIcon),expression:\"showEditIcon\"}],staticClass:\"padding-0 alignMiddle \",attrs:{\"cols\":\"1\"}},[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showEditIcon),expression:\"showEditIcon\"}],attrs:{\"color\":\"darken-1\"},on:{\"click\":_vm.editCick}},[_vm._v(_vm._s(_vm.icons.mdiPencil))])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ISelectItem } from \"@/models/select-item\";\r\n// import {questionIcon} from \"@/assets/image/question-40.png\"\r\nimport { ConsoleLog, Timeout } from \"@/utility\";\r\nimport Vue from \"vue\";\r\nimport { mdiPencil, mdiMapMarkerQuestion } from \"@mdi/js\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String || Number,\r\n label: String,\r\n items: [],\r\n rules: [],\r\n required: Boolean,\r\n readonly: { type: Boolean, default: false },\r\n showAsLabel: { type: Boolean, default: false },\r\n showQuestionIcon: { type: Boolean, default: false },\r\n showEditIcon: { type: Boolean, default: false },\r\n },\r\n data: () => ({\r\n icons: {\r\n mdiPencil,\r\n mdiMapMarkerQuestion,\r\n },\r\n }),\r\n\r\n computed: {},\r\n methods: {\r\n ConsoleLog,\r\n onChanging(value: string) {\r\n this.$emit(\"input\", value);\r\n },\r\n onUserChanging(value: any) {\r\n ConsoleLog({ onUserChanging: { value: this.items } });\r\n this.$emit(\"userChange\", value);\r\n },\r\n editCick(e: any) {\r\n // ConsoleLog({ editCick: e });\r\n this.$emit(\"userEditClick\", e);\r\n },\r\n questionCick(e: any) {\r\n // ConsoleLog({ questionCick: e });\r\n this.$emit(\"userQuestionClick\", e);\r\n },\r\n },\r\n mounted(): void {\r\n const self = this as any;\r\n if (self.items && self.items.length > 0) {\r\n self.items.forEach((item) => {\r\n // ConsoleLog(item);\r\n });\r\n } else {\r\n // ConsoleLog([\"self.items\", self.items]);\r\n }\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormSelect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormSelect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormSelect.vue?vue&type=template&id=3bc4fc58&\"\nimport script from \"./FormSelect.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormSelect.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VCol,VIcon,VRow,VSelect})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_vm._l((_vm.questions.regularQuestionCollection),function(subSection,index){return [_c('v-btn',{key:index,class:_vm.SubSectionStyle(subSection),attrs:{\"to\":_vm.GetQueSectionUrl(subSection.subSectionId)}},[_vm._v(_vm._s(subSection.subSectionId))])]}),(_vm.questions.containAdditionalQuestion)?_c('v-btn',{class:_vm.SubSectionStyle(_vm.questions.additionalQuestionCollection[0]),attrs:{\"to\":_vm.GetQueSectionUrl(_vm.STR_ADDITION_ID)}},[_c('v-icon',[_vm._v(\"mdi-format-list-bulleted-square\")])],1):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { PicType } from \"@/models/enums\";\r\nimport * as consts from \"@/models/consts\";\r\nimport { ConsoleLog, Timeout } from \"@/utility\";\r\nimport { ImagePath, GetQueSectionUrl, SubSectionStyle } from \"@/utility/ui-utility\";\r\nimport Vue from \"vue\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { StoreGetter } from \"@/store/store-mapping\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n questions: {\r\n type: Object,\r\n },\r\n },\r\n data() {\r\n return {\r\n sectionData: [\r\n 1,\r\n 2,\r\n 3,\r\n 4,\r\n 5,\r\n 6,\r\n 7,\r\n 8,\r\n 9,\r\n 10,\r\n 11,\r\n 12,\r\n 13,\r\n 14,\r\n 15,\r\n 16,\r\n 17,\r\n 18,\r\n 19,\r\n 20,\r\n 21,\r\n 22,\r\n 23,\r\n 24,\r\n 25,\r\n ],\r\n STR_ADDITION_ID: consts.STR_ADDITION_ID,\r\n };\r\n },\r\n computed: {\r\n // ...mapGetters({\r\n // questions: StoreGetter.emQuestions,\r\n // }),\r\n },\r\n methods: {\r\n ImagePath,\r\n GetQueSectionUrl,\r\n SubSectionStyle,\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SectionList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SectionList.vue?vue&type=template&id=45b80520&\"\nimport script from \"./SectionList.vue?vue&type=script&lang=ts&\"\nexport * from \"./SectionList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VContainer,VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{staticClass:\"margin-0\"},[(_vm.required)?_c('div',{class:_vm.hardStop ? 'back-ground-light-grey color-white' : ''},[_c('span',{staticClass:\"red-error\"},[_c('strong',[_vm._v(\"* \")])]),_vm._v(\" \"+_vm._s(_vm.label)+\" \")]):_vm._e()]),_c('v-row',{staticClass:\"margin-0\"},[_c('v-row',{staticClass:\"margin-0\"},[_c('v-col',{staticClass:\"padding-0\",attrs:{\"cols\":!_vm.showQuestionIcon && !_vm.showEditIcon ? 12 : ''}},[_c('v-radio-group',{staticClass:\"margin-0\",attrs:{\"row\":\"\",\"rules\":_vm.rules,\"readonly\":_vm.readonly},on:{\"change\":_vm.onChanging},model:{value:(_vm.selectedValue),callback:function ($$v) {_vm.selectedValue=$$v},expression:\"selectedValue\"}},[_vm._l((_vm.items),function(item){return [_c('v-radio',{key:item.itemValue,class:_vm.cssAnswer(item.itemValue, _vm.selectedValue),attrs:{\"label\":item.itemText,\"value\":item.itemValue},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',{class:_vm.cssLabel(item.itemValue, _vm.selectedValue)},[_vm._v(_vm._s(item.itemText))])]},proxy:true}],null,true)})]})],2)],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showQuestionIcon),expression:\"showQuestionIcon\"}],staticClass:\"padding-0 alignMiddle\",attrs:{\"cols\":_vm.showEditIcon ? 1 : 2}},[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showQuestionIcon),expression:\"showQuestionIcon\"}],attrs:{\"color\":\"darken-1\"},on:{\"click\":_vm.questionCick}},[_vm._v(_vm._s(_vm.icons.mdiMapMarkerQuestion))])],1),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showEditIcon),expression:\"showEditIcon\"}],staticClass:\"padding-0 alignMiddle\",attrs:{\"cols\":_vm.showQuestionIcon ? 1 : 2}},[_c('v-icon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showEditIcon),expression:\"showEditIcon\"}],attrs:{\"color\":\"darken-1\"},on:{\"click\":_vm.editCick}},[_vm._v(_vm._s(_vm.icons.mdiPencil))])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ISelectItem } from \"@/models/select-item\";\r\nimport { ConsoleLog, Timeout } from \"@/utility\";\r\nimport Vue from \"vue\";\r\nimport { mdiPencil, mdiMapMarkerQuestion } from \"@mdi/js\";\r\nimport { RegularAnswer } from \"@/models/enums\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String || Number,\r\n label: String,\r\n items: [],\r\n rules: [],\r\n required: Boolean,\r\n readonly: { type: Boolean, default: false },\r\n showAsLabel: { type: Boolean, default: false },\r\n showQuestionIcon: { type: Boolean, default: false },\r\n showEditIcon: { type: Boolean, default: false },\r\n hardStop: { type: Boolean, default: false },\r\n },\r\n data: () => ({\r\n selectedValue: null,\r\n icons: {\r\n mdiPencil,\r\n mdiMapMarkerQuestion,\r\n },\r\n lastValue: \"\",\r\n }),\r\n computed: {},\r\n methods: {\r\n ConsoleLog,\r\n setLastValue(lastValue: string) {\r\n ConsoleLog({ \"FormRadioGroup.setLastValue\": lastValue });\r\n this.lastValue = lastValue;\r\n },\r\n\r\n cssAnswer(itemValue: string, answer: string) {\r\n let cssClass = \"margin-right-3 \";\r\n if (itemValue !== answer) {\r\n return cssClass;\r\n }\r\n switch (answer) {\r\n case RegularAnswer.Good:\r\n cssClass += \"back-ground-green\";\r\n break;\r\n case RegularAnswer.Defective:\r\n cssClass += \"back-ground-red\";\r\n break;\r\n case RegularAnswer.NA:\r\n cssClass += \"back-ground-grey\";\r\n break;\r\n }\r\n return cssClass;\r\n },\r\n cssLabel(itemValue: string, answer: string) {\r\n let cssClass = \"font-size-14 margin-right-3 \";\r\n if (itemValue !== answer) {\r\n return cssClass;\r\n }\r\n switch (answer) {\r\n case RegularAnswer.Good:\r\n case RegularAnswer.Defective:\r\n case RegularAnswer.NA:\r\n cssClass += \"color-white\";\r\n break;\r\n }\r\n return cssClass;\r\n },\r\n\r\n onChanging(value: string): void {\r\n ConsoleLog({ \"FormRegular.onChanging\": value, lastValue: this.lastValue });\r\n this.$emit(\"input\", value);\r\n this.$emit(\"userChange\", value, this.lastValue);\r\n },\r\n // onUserChanging(value: any) {\r\n // this.$emit(\"FormRegular.userChange\", value);\r\n // },\r\n editCick(e: any) {\r\n // ConsoleLog({ editCick: e });\r\n this.$emit(\"userEditClick\", e);\r\n },\r\n questionCick(e: any) {\r\n // ConsoleLog({ questionCick: e });\r\n this.$emit(\"userQuestionClick\", e);\r\n },\r\n },\r\n mounted(): void {\r\n const self = this as any;\r\n if (self.value) {\r\n self.selectedValue = self.value;\r\n this.lastValue = self.value;\r\n }\r\n ConsoleLog({ \"FormRadioGroup.lastValue\": this.lastValue });\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRegular.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRegular.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormRegular.vue?vue&type=template&id=10bebf23&\"\nimport script from \"./FormRegular.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormRegular.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VRadio,VRadioGroup,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"@/store/store-mapping\";\r\nimport {\r\n GoTripInfo,\r\n GoSearch,\r\n Confirm,\r\n RemoveStorageEvcr,\r\n RegularItems,\r\n VehicleThumbnail,\r\n GetPicSize,\r\n} from \"@/utility/ui-utility\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { ConsoleLog, DeepClone, Text } from \"@/utility\";\r\nimport { VehiclePath, FuelHome } from \"@/utility/ui-utility\";\r\nimport FormSelect from \"@/components/FormSelect.vue\";\r\nimport SectionList from \"@/components/SectionList.vue\";\r\nimport FormRegular from \"@/components/FormRegular.vue\";\r\nimport { mdiHome, mdiHomeCircle } from \"@mdi/js\";\r\nexport default Vue.extend({\r\n name: \"HomePage\",\r\n components: { FormSelect, SectionList, FormRegular },\r\n data: () => ({\r\n isLoggedIn: false,\r\n loginError: \"\",\r\n question: \"\",\r\n icons: {\r\n mdiHome,\r\n mdiHomeCircle,\r\n },\r\n newDisable: false,\r\n editDisable: false,\r\n }),\r\n async created() {\r\n await this.initialize();\r\n // if (IsUserLogin()) {\r\n // this.isLoggedIn = true;\r\n // }\r\n ConsoleLog({ \"HomePage.beforeMount.userProfile\": DeepClone(this.userProfile) });\r\n if (this.userProfile) {\r\n this.isLoggedIn = true;\r\n }\r\n },\r\n computed: {\r\n ...mapGetters({\r\n editable: StoreGetter.temEditable,\r\n userProfile: StoreGetter.umUserProfile,\r\n }),\r\n },\r\n methods: {\r\n RegularItems,\r\n VehiclePath,\r\n FuelHome,\r\n editClick(e: any) {\r\n ConsoleLog({ HomeEditCick: e });\r\n },\r\n questionClick(e: any) {\r\n ConsoleLog({ HomeQuestionCick: e });\r\n },\r\n GoTripInfo,\r\n GoSearch,\r\n Text,\r\n async initialize() {\r\n const self = this as any;\r\n await self.$store.dispatch(StoreAction.temInitializeEvcrData, {\r\n longitude: \"test\",\r\n });\r\n },\r\n async getInitialize() {\r\n const self = this as any;\r\n await self.$store.dispatch(StoreAction.emGetFive, {\r\n longitude: \"\",\r\n latitude: \"\",\r\n });\r\n },\r\n goEdit() {\r\n console.log(\"Start of goEdit\");\r\n const self = this as any;\r\n this.editDisable = true;\r\n this.$store.commit(StoreMutation.StartLoading, null, { root: true });\r\n console.log(\"before navigating to TripInofo, goEdit\");\r\n GoTripInfo(self.$router);\r\n return false;\r\n },\r\n newEvcr() {\r\n console.log(\"Start of newEVCR\");\r\n try {\r\n this.newDisable = true;\r\n console.log(\"newDisable\", this.newDisable, \"editable:\", this.editable);\r\n if (this.editable) {\r\n const confirmMsg = Text(\r\n \"ml_114755\",\r\n \"There is a draft eVCR, would you like to remove it and make a new eVCR?\"\r\n );\r\n console.log(\"confirmMsg:\", confirmMsg);\r\n if (window.confirm(confirmMsg)) {\r\n console.log(\"after Confirm\");\r\n this.$store.commit(StoreMutation.StartLoading, null, { root: true });\r\n console.log(\r\n \"this.$store.commit(StoreMutation.StartLoading, null, { root: true });\"\r\n );\r\n this.$store.commit(StoreMutation.emResetEvcr);\r\n console.log(\" this.$store.commit(StoreMutation.emResetEvcr);\");\r\n RemoveStorageEvcr();\r\n console.log(\"RemoveStorageEvcr();\");\r\n GoTripInfo(this.$router);\r\n console.log(\"GoTripInfo(this.$router);\");\r\n } else {\r\n console.log(\"this.newDisable = false;\");\r\n this.newDisable = false;\r\n }\r\n } else {\r\n console.log(\"before navigating to TripInofo, newEVCR\");\r\n this.$store.commit(StoreMutation.StartLoading, null, { root: true });\r\n console.log(\r\n \" this.$store.commit(StoreMutation.StartLoading, null, { root: true });\"\r\n );\r\n this.$store.commit(StoreMutation.emResetEvcr);\r\n console.log(\"this.$store.commit(StoreMutation.emResetEvcr);\");\r\n RemoveStorageEvcr();\r\n console.log(\"RemoveStorageEvcr()\");\r\n GoTripInfo(this.$router);\r\n console.log(\"after navigating to TripInofo, newEVCR\");\r\n }\r\n } catch (error: any) {\r\n this.$store.commit(StoreMutation.EndLoading, null, { root: true });\r\n console.log(\"newEVCR.error\", error);\r\n }\r\n return false;\r\n },\r\n async logIn() {\r\n this.loginError = \"\";\r\n const auth = Vue.$authService as any;\r\n ConsoleLog({ \"login.auth \": auth });\r\n try {\r\n const loginResponse = await auth.login();\r\n // following code is available only when using loginPopup to log.\r\n // ConsoleLog({ \"App.login \": loginResponse });\r\n // if (IsUserLogin()) {\r\n // this.isLoggedIn = true;\r\n // this.loginError = \"\";\r\n // } else {\r\n // this.loginError = \"Loggin failure\";\r\n // }\r\n } catch (error) {\r\n ConsoleLog({ \"login.error \": error });\r\n this.loginError = \"Loggin failure, please try again\";\r\n }\r\n },\r\n },\r\n\r\n async beforeMount() {\r\n // VehiclePath(\"Tractor_Chassis Trailer_Tube Skid_RHD.jpg\");\r\n // VehicleThumbnail(\"Rigid Tanker_RHD_THUMB.jpg\");\r\n // VehiclePath(\"TRACTOR_LHD.jpg\");\r\n // GetPicSize(\"TRACTOR_LHD.jpg\");\r\n this.editDisable = false;\r\n this.newDisable = false;\r\n await this.getInitialize();\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomePage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomePage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomePage.vue?vue&type=template&id=45dc81aa&\"\nimport script from \"./HomePage.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomePage.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardTitle,VCol,VContainer,VIcon,VRow,VSpacer})\n","\n\n\n\n\r\nimport { ConsoleLog } from \"@/utility\";\r\nimport Vue from \"vue\";\r\nimport HomePage from \"../components/HomePage.vue\";\r\n\r\nexport default Vue.extend({\r\n name: \"HomeEntry\",\r\n\r\n components: {\r\n HomePage,\r\n },\r\n mounted() {\r\n ConsoleLog({\r\n \"Home.mounted\": document.body.scrollTop,\r\n \"document.documentElement.scrollTop\": document.documentElement.scrollTop,\r\n });\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeEntry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HomeEntry.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HomeEntry.vue?vue&type=template&id=6465c827&\"\nimport script from \"./HomeEntry.vue?vue&type=script&lang=ts&\"\nexport * from \"./HomeEntry.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{staticClass:\"text-center\"},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114663'),expression:\"'ml_114663'\"}]},[_vm._v(\"Search for the last eVCR\")]),_c('v-card-text',[_c('v-card-actions',[_c('form-autocomplete',{attrs:{\"items\":_vm.vehicles(_vm.SapVehcileCategory.Tractor),\"label\":_vm.Text('ml_114631', 'Tractor/Rigid/Truck'),\"rules\":_vm.rules.tractor,\"itemText\":\"vehicleId\",\"itemValue\":\"vehicleId\",\"userFilter\":function (item, queryText, itemText) { return _vm.onUserVehicleFilter(\n item,\n queryText,\n itemText,\n _vm.SapVehcileCategory.Tractor\n ); }},on:{\"userChange\":function (newValue) { return _vm.onVehicleChange(newValue, '', _vm.SapVehcileCategory.Tractor); }},model:{value:(_vm.$store.state.lastEvcrModule.tractor),callback:function ($$v) {_vm.$set(_vm.$store.state.lastEvcrModule, \"tractor\", $$v)},expression:\"$store.state.lastEvcrModule.tractor\"}}),_c('v-spacer'),_c('qr-scaner',{attrs:{\"formId\":\"formIdTractor\",\"initialValue\":_vm.$store.state.lastEvcrModule.tractor,\"labelText\":_vm.Text('ml_114631', 'Tractor/Rigid/Truck')},on:{\"handleChange\":_vm.handleTractorChange}})],1),_c('div',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.validationMessage))]),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114649'),expression:\"'ml_114649'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoBack(_vm.$router)}}},[_vm._v(\"Home\")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n !_vm.IsNullOrEmpty(this.$store.state.lastEvcrModule.tractor)\n ),expression:\"\\n !IsNullOrEmpty(this.$store.state.lastEvcrModule.tractor)\\n \"},{name:\"t\",rawName:\"v-t\",value:('ml_114639'),expression:\"'ml_114639'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":_vm.selectId}},[_vm._v(\"Next\")])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[(_vm.showAsLabel)?[_c('v-card-text',[_c('div',{domProps:{\"textContent\":_vm._s(_vm.label)}}),_c('div',{domProps:{\"textContent\":_vm._s(_vm.value)}})])]:[_c('v-autocomplete',{attrs:{\"value\":_vm.value,\"disabled\":_vm.readonly,\"items\":_vm.items,\"filter\":_vm.customFilter,\"item-text\":_vm.itemText,\"item-value\":_vm.itemValue,\"rules\":_vm.rules,\"label\":_vm.label},on:{\"change\":_vm.onUserChanging},scopedSlots:_vm._u([(_vm.required)?{key:\"label\",fn:function(){return [_c('span',{staticClass:\"red-error\"},[_c('strong',[_vm._v(\"* \")])]),_vm._v(_vm._s(_vm.label)+\" \")]},proxy:true}:null],null,true)})]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { PropValidator } from \"vue/types/options\";\r\nexport default Vue.extend({\r\n props: {\r\n value: String || Number,\r\n label: String,\r\n items: [],\r\n rules: [],\r\n itemText: { type: String, default: \"itemText\" },\r\n itemValue: { type: String, default: \"itemValue\" },\r\n required: Boolean,\r\n readonly: { type: Boolean, default: false },\r\n showAsLabel: { type: Boolean, default: false },\r\n userFilter: {\r\n type: Function,\r\n default: (item: any, queryText: string, itemText: string) => {\r\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1;\r\n },\r\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\r\n },\r\n computed: {},\r\n methods: {\r\n customFilter(item: any, queryText: string, itemText: string) {\r\n return this.userFilter(item, queryText, itemText);\r\n },\r\n onChanging(value: string) {\r\n this.$emit(\"input\", value);\r\n },\r\n onUserChanging(value: any) {\r\n this.$emit(\"userChange\", value);\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormAutocomplete.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormAutocomplete.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormAutocomplete.vue?vue&type=template&id=6d7c5136&\"\nimport script from \"./FormAutocomplete.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormAutocomplete.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAutocomplete,VCardText,VRow})\n","import { GetDatePart, GetTimePart } from \"@/utility\";\r\nimport { IsLocalMode, PrePostItems, TripTypetems } from \"@/utility/ui-utility\";\r\nimport { TripType } from \"../enums\";\r\nimport { ISelectItem } from \"../select-item\";\r\n\r\nexport interface ITripInfo {\r\n tripType: string,\r\n tripTypeItems: ISelectItem[];\r\n lbsTripId: string;\r\n otherTripId: string;\r\n prePost: string;\r\n prePostItems: ISelectItem[];\r\n plantId: string;\r\n customPlantId: string;\r\n driver1: string;\r\n driver1Name: string;\r\n driver2: string;\r\n tractor: string;\r\n isTractorThirdParty:boolean;\r\n tractorThirdPartyCategory:string;\r\n thirdParty: boolean;\r\n chassis: string;\r\n isChassisThirdParty:boolean;\r\n chassisThirdPartyCategory:string;\r\n vessel: string;\r\n isVesselThirdParty:boolean;\r\n vesselThirdPartyCategory:string;\r\n odometer: string;\r\n date: string;\r\n time: string;\r\n pgTripId: string;\r\n signImage:string;\r\n country:string;\r\n language:string;\r\n plantName:string;\r\n overviewImage:string;\r\n}\r\n\r\nexport class TripInfo implements ITripInfo {\r\n tripType: string;\r\n tripTypeItems: ISelectItem[];\r\n lbsTripId: string;\r\n otherTripId: string;\r\n prePost: string;\r\n prePostItems: ISelectItem[];\r\n plantId: string;\r\n customPlantId:string;\r\n driver1: string;\r\n driver1Name: string;\r\n driver2: string;\r\n tractor: string;\r\n isTractorThirdParty:boolean;\r\n tractorThirdPartyCategory:string;\r\n thirdParty: boolean;\r\n chassis: string;\r\n isChassisThirdParty:boolean;\r\n chassisThirdPartyCategory:string;\r\n vessel: string;\r\n isVesselThirdParty:boolean;\r\n vesselThirdPartyCategory:string;\r\n odometer: string;\r\n date: string;\r\n time: string;\r\n pgTripId: string;\r\n signImage:string;\r\n country:string;\r\n language:string;\r\n plantName:string;\r\n overviewImage:string;\r\n constructor(\r\n tripType: string,\r\n tripTypeItems: ISelectItem[],\r\n lbsTripId: string,\r\n prePost: string,\r\n prePostItems: ISelectItem[],\r\n plantId: string,\r\n customPlantId:string,\r\n driver1: string,\r\n driver1Name: string,\r\n driver2: string,\r\n tractor: string,\r\n isTractorThirdParty:boolean,\r\n tractorThirdPartyCategory:string,\r\n thirdParty: boolean,\r\n chassis: string,\r\n isChassisThirdParty:boolean,\r\n chassisThirdPartyCategory:string,\r\n vessel: string,\r\n isVesselThirdParty:boolean,\r\n vesselThirdPartyCategory:string,\r\n odometer: string,\r\n date: string,\r\n time: string,\r\n signImage:string,\r\n country:string,\r\n language:string,\r\n plantName:string,\r\n overviewImage:string,\r\n ) {\r\n this.tripType = tripType;\r\n this.tripTypeItems = tripTypeItems;\r\n this.lbsTripId = lbsTripId;\r\n this.pgTripId = lbsTripId;\r\n this.otherTripId=lbsTripId;\r\n this.prePost = prePost;\r\n this.prePostItems = prePostItems;\r\n this.plantId = plantId;\r\n this.customPlantId=customPlantId;\r\n this.driver1 = driver1;\r\n this.driver1Name = driver1Name;\r\n this.driver2 = driver2;\r\n this.tractor = tractor;\r\n this.isTractorThirdParty = isTractorThirdParty;\r\n this.tractorThirdPartyCategory=tractorThirdPartyCategory;\r\n this.thirdParty = thirdParty;\r\n this.chassis = chassis;\r\n this.isChassisThirdParty=isChassisThirdParty;\r\n this.chassisThirdPartyCategory=chassisThirdPartyCategory;\r\n this.vessel = vessel;\r\n this.isVesselThirdParty=isVesselThirdParty;\r\n this.vesselThirdPartyCategory=vesselThirdPartyCategory;\r\n this.odometer = odometer;\r\n this.date = date;\r\n this.time = time;\r\n this.signImage=signImage;\r\n this.country=country;\r\n this.language=language;\r\n this.plantName=plantName;\r\n this.overviewImage=overviewImage;\r\n }\r\n}\r\nexport function CreateTripInfo() {\r\n const date = new Date();\r\n if (IsLocalMode()) {\r\n return CreateTripInfoTest();\r\n } else {\r\n return new TripInfo(\"\", TripTypetems(), \"\", \"\", PrePostItems(), \"\", \"\", \"\", \"\", '', \"\", false, \"\", false, \"\", false, \"\", \"\", false, \"\", \"\", GetDatePart(date), GetTimePart(date), \"\", \"\", \"\", \"\", \"\");\r\n }\r\n\r\n}\r\nexport function CreateTripInfoTest() {\r\n const date = new Date();\r\n //HU A-T3109 沪AT3109 45Q001\r\n // return new TripInfo(\"trip07\", \"PO\", PrePostItems(), \"7153\", \"ZHANGW13\", \"TANGE\", \"沪AT3109\", false, \"陕EU002挂\", \"33Q003\", \"1000\", GetDatePart(date), GetTimePart(date));\r\n return new TripInfo(TripType.PG, TripTypetems(), \"will-202235\", \"PO\", PrePostItems(), \"7153\", \"7153\", \"ZHANGW13\", \"Zhang Weida\", \"\", \"沪AT3109\", false, \"\", false, \"\", false, \"\", \"\", false, \"\", \"1000\", GetDatePart(date), GetTimePart(date), \"\", \"\", \"\", \"\", \"\");\r\n}\r\n\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"justify\":\"center\"}},[_c('v-dialog',{attrs:{\"fullscreen\":\"\",\"hide-overlay\":\"\",\"scrollable\":\"\",\"transition\":\"dialog-bottom-transition\",\"id\":_vm.formId},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-spacer'),_c('v-btn',_vm._g(_vm._b({directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114669'),expression:\"'ml_114669'\"}],attrs:{\"color\":\"primary\",\"dark\":\"\",\"width\":\"100%\"}},'v-btn',attrs,false),on),[_vm._v(\"Scan\")])]}}]),model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\"},on:{\"click\":_vm.close}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.Text(\"ml_114669\", \"Scan\") + \" \" + _vm.labelText))]),_c('v-spacer'),_c('v-toolbar-items',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114657'),expression:\"'ml_114657'\"}],attrs:{\"dark\":\"\",\"text\":\"\"},on:{\"click\":_vm.submit}},[_vm._v(\" Okay \")])],1)],1),_c('qrcode-stream',{attrs:{\"camera\":_vm.camera},on:{\"decode\":_vm.onDecode,\"init\":_vm.onInit}},[(_vm.validationSuccess)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114664'),expression:\"'ml_114664'\"}],staticClass:\"validation-success\"},[_vm._v(\" Scanning is completed \")]):_vm._e(),(_vm.validationFailure)?_c('div',{staticClass:\"validation-failure\"},[_vm._v(\" \"+_vm._s(_vm.labelText)+\" not confirmed \")]):_vm._e(),(_vm.validationPending)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114665'),expression:\"'ml_114665'\"}],staticClass:\"validation-pending\"},[_vm._v(\" Scanning in progress \")]):_vm._e()]),(_vm.decodedContent.length > 0)?_c('div',[_c('span',[_vm._v(\" \"+_vm._s(_vm.Text(\"ml_114721\", \"Scaned\") + \" \" + _vm.labelText)+\": \")]),_c('span',[_c('b',[_vm._v(\" \"+_vm._s(_vm.decodedContent))]),_vm._v(\". \")])]):_vm._e(),_c('p',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.cameraError))]),(_vm.decodedContent.length > 0 && _vm.camera === 'off')?_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114666'),expression:\"'ml_114666'\"}],attrs:{\"color\":\"primary\",\"dark\":\"\",\"block\":\"\"},on:{\"click\":_vm.retry}},[_vm._v(\"Retry\")]):_vm._e(),_c('br'),(_vm.decodedContent.length > 0 && 1 > 2)?_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114639'),expression:\"'ml_114639'\"}],attrs:{\"color\":\"primary\",\"dark\":\"\",\"block\":\"\"},on:{\"click\":_vm.submit}},[_vm._v(\"Next\")]):_vm._e(),_c('v-divider')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ConsoleLog, Timeout, Text, IsNullOrEmpty } from \"@/utility\";\r\nimport Vue from \"vue\";\r\nimport { QrcodeStream } from \"vue-qrcode-reader\";\r\n\r\nexport default Vue.extend({\r\n components: { QrcodeStream },\r\n props: {\r\n formId: String,\r\n labelText: String,\r\n initialValue: String,\r\n handleChange: { type: Function },\r\n },\r\n data() {\r\n return {\r\n showDialog: false,\r\n cameraError: \"\",\r\n decodedContent: \"\",\r\n isValid: { type: Boolean, default: undefined },\r\n camera: \"auto\",\r\n };\r\n },\r\n computed: {\r\n validationSuccess(): boolean {\r\n return (this as any).isValid === true;\r\n },\r\n validationFailure(): boolean {\r\n return (this as any).isValid === false;\r\n },\r\n validationPending(): boolean {\r\n return (this as any).isValid === undefined && (this as any).camera === \"off\";\r\n },\r\n },\r\n methods: {\r\n Text,\r\n resetValidationState(): void {\r\n const self = this as any;\r\n self.isValid = undefined;\r\n self.message = \"\";\r\n },\r\n retry(): void {\r\n const self = this as any;\r\n self.resetValidationState();\r\n self.turnCameraOn();\r\n },\r\n submit(): void {\r\n const self = this as any;\r\n self.turnCameraOff();\r\n this.$emit(\"handleChange\", self.decodedContent);\r\n self.showDialog = false;\r\n },\r\n onChanging(value1: string) {\r\n ConsoleLog({ onChanging: value1 });\r\n this.$emit(\"input\", value1);\r\n },\r\n turnCameraOn() {\r\n (this as any).camera = \"auto\";\r\n },\r\n turnCameraOff() {\r\n (this as any).camera = \"off\";\r\n },\r\n async onDecode(scannedValue: string) {\r\n const self = this as any;\r\n self.decodedContent = scannedValue.toUpperCase();\r\n\r\n await Timeout(1000);\r\n self.isValid = true;\r\n this.submit();\r\n // self.turnCameraOff();\r\n // self.isValid = scannedValue.startsWith(\"http\");\r\n },\r\n async onInit(promise: any) {\r\n // promise.then(console.log).catch(console.error);\r\n try {\r\n await promise;\r\n // promise.then(console.log);\r\n } catch (error: any) {\r\n if (error.name === \"NotAllowedError\") {\r\n this.cameraError = Text(\r\n \"ml_114670\",\r\n \"ERROR: you need to grant camera access permission\"\r\n );\r\n } else if (error.name === \"NotFoundError\") {\r\n this.cameraError = Text(\"ml_114671\", \"ERROR: no camera on this device\");\r\n } else if (error.name === \"NotSupportedError\") {\r\n this.cameraError = \"ERROR: secure context required (HTTPS, localhost)\";\r\n } else if (error.name === \"NotReadableError\") {\r\n this.cameraError = Text(\"ml_114672\", \"ERROR: is the camera already in use?\");\r\n } else if (error.name === \"OverconstrainedError\") {\r\n this.cameraError = Text(\r\n \"ml_114673\",\r\n \"ERROR: installed cameras are not suitable\"\r\n );\r\n } else if (error.name === \"StreamApiNotSupportedError\") {\r\n this.cameraError = Text(\r\n \"ml_114674\",\r\n \"ERROR: Stream API is not supported in this browser\"\r\n );\r\n } else if (error.name === \"InsecureContextError\") {\r\n this.cameraError = Text(\r\n \"ml_114675\",\r\n \"ERROR: Camera access is only permitted in secure context. Use HTTPS or localhost rather than HTTP.\"\r\n );\r\n } else {\r\n this.cameraError = `${Text(\r\n \"ml_114676\",\r\n \"ERROR: Stream API is not supported in this browser\"\r\n )} (${error.name})`;\r\n }\r\n }\r\n },\r\n close() {\r\n const self = this as any;\r\n self.turnCameraOff();\r\n self.showDialog = false;\r\n },\r\n },\r\n beforeMount() {\r\n ConsoleLog({ QrScanerbeforeMount: this.initialValue });\r\n if (!IsNullOrEmpty(this.initialValue)) {\r\n this.decodedContent = this.initialValue;\r\n } else {\r\n this.decodedContent = \"\";\r\n }\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QrScaner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QrScaner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QrScaner.vue?vue&type=template&id=1f6e8e88&scoped=true&\"\nimport script from \"./QrScaner.vue?vue&type=script&lang=ts&\"\nexport * from \"./QrScaner.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./QrScaner.vue?vue&type=style&index=0&id=1f6e8e88&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1f6e8e88\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VDialog,VDivider,VIcon,VSpacer,VToolbar,VToolbarItems,VToolbarTitle})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// import HomePage from \"../components/HomePage.vue\";\r\nimport Vue from \"vue\";\r\nimport FormAutocomplete from \"@/components/FormAutocomplete.vue\";\r\nimport { Timeout, Text, ConsoleLog, DeepClone, IsNullOrEmpty } from \"@/utility\";\r\nimport {\r\n GoHome,\r\n GoQuestionTractor,\r\n GoTripInfo,\r\n GoCondition,\r\n GoOverview,\r\n GoBack,\r\n GetTranslationRequired,\r\n} from \"@/utility/ui-utility\";\r\nimport { PageName, SapVehcileCategory } from \"@/models/enums\";\r\nimport { CreateTripInfo, TripInfo } from \"@/models/trip-info\";\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"@/store/store-mapping\";\r\nimport * as consts from \"@/models/consts\";\r\nimport { mapGetters } from \"vuex\";\r\nimport QrScaner from \"@/components/QrScaner.vue\";\r\nimport { Vehicle } from \"@/models/vehicle\";\r\nexport default Vue.extend({\r\n components: { QrScaner, FormAutocomplete },\r\n data() {\r\n return {\r\n decodedContent: \"\",\r\n isValid: { type: Boolean, default: undefined },\r\n validationMessage: \"\",\r\n rules: {\r\n tractor: [(v: string) => !!v || GetTranslationRequired()],\r\n },\r\n SapVehcileCategory,\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n vehicles: StoreGetter.emVehicles,\r\n userCountryCode: StoreGetter.umUserCountryCode,\r\n }),\r\n },\r\n async mounted() {\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n },\r\n beforeMount() {},\r\n\r\n destroyed() {},\r\n async created() {\r\n this.validationMessage = \"\";\r\n this.$store.state.lastEvcrModule.errorMsg = \"\";\r\n await this.initialize();\r\n },\r\n\r\n methods: {\r\n GoBack,\r\n Text,\r\n IsNullOrEmpty,\r\n handleTractorChange(e: string) {\r\n ConsoleLog({ handleTractorChange: e });\r\n const scannedData = e.trim();\r\n this.$store.commit(StoreMutation.lemUpdateTractor, {\r\n tractorData: scannedData,\r\n });\r\n },\r\n async selectId() {\r\n const self = this as any;\r\n this.validationMessage = \"\";\r\n const tractValue = this.$store.state.lastEvcrModule.tractor.trim();\r\n if (tractValue !== this.$store.state.lastEvcrModule.tractor) {\r\n this.$store.commit(StoreMutation.lemUpdateTractor, {\r\n tractorData: tractValue,\r\n });\r\n }\r\n if (tractValue.length === 0) {\r\n this.validationMessage = Text(\r\n \"ml_114679\",\r\n \"Please type in or scan the Tractor / Rigid / Truck.\"\r\n );\r\n return;\r\n }\r\n const trip = CreateTripInfo();\r\n trip.tractor = tractValue;\r\n await self.$store.dispatch(StoreAction.lvmGetLastEvcr, {\r\n trip: trip,\r\n });\r\n if (this.showStateMsg(\"SearchPage.initialize.emGetVehicle\")) {\r\n return;\r\n }\r\n self.$router.push({\r\n name: PageName.TripInformationView,\r\n params: { trip: trip },\r\n });\r\n },\r\n async initialize() {\r\n const self = this as any;\r\n self.$store.commit(StoreMutation.StartLoading, null, { root: true });\r\n try {\r\n await self.$store.dispatch(StoreAction.emGetVehicle, {\r\n countryCode: this.userCountryCode,\r\n });\r\n if (this.showStateMsg(\"SearchPage.initialize.emGetVehicle\")) {\r\n this.hidenLoading();\r\n return;\r\n }\r\n } catch (error) {\r\n ConsoleLog({ \"SearchPage.initialize\": error });\r\n }\r\n this.hidenLoading();\r\n },\r\n hidenLoading() {\r\n this.$store.commit(StoreMutation.EndLoading, null, { root: true });\r\n },\r\n showStateMsg(logName: string = \"\") {\r\n let hasError = false;\r\n if (this.$store.state.lastEvcrModule.errorMsg.length > 0) {\r\n this.validationMessage = this.$store.state.lastEvcrModule.errorMsg;\r\n if (!IsNullOrEmpty(logName)) {\r\n ConsoleLog({ logName: this.validationMessage });\r\n }\r\n hasError = true;\r\n }\r\n return hasError;\r\n },\r\n onUserVehicleFilter(\r\n item: Vehicle,\r\n queryText: string,\r\n itemText: string,\r\n category: string\r\n ): boolean {\r\n const searchText = queryText.toLowerCase();\r\n let found = false;\r\n found =\r\n item.category.toLowerCase() === category.toLowerCase() &&\r\n item.vehicleId.toLowerCase().indexOf(searchText) > -1;\r\n // console.log(\"onUserFilter\", item, queryText, itemText, found);\r\n return found;\r\n },\r\n onVehicleChange(newValue: string, tripInfo: any, category: string): void {\r\n this.$store.state.lastEvcrModule.tractor = newValue;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchPage.vue?vue&type=template&id=60f91b11&scoped=true&\"\nimport script from \"./SearchPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./SearchPage.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SearchPage.vue?vue&type=style&index=0&id=60f91b11&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60f91b11\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114601'),expression:\"'ml_114601'\"}]},[_vm._v(\"Trip Info\")]),(_vm.IsLocalMode())?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.onNext}},[_vm._v(\" Next \")]):_vm._e(),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card-text',[_c('form-radio-group',{attrs:{\"rules\":_vm.rules.tripType,\"label\":_vm.Text('ml_114897', 'Trip Type'),\"required\":\"\",\"input\":_vm.tripInfo.tripType,\"items\":_vm.tripInfo.tripTypeItems},on:{\"userChange\":function (newValue) { return _vm.updateTripType(newValue); }},model:{value:(_vm.tripInfo.tripType),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"tripType\", $$v)},expression:\"tripInfo.tripType\"}}),_c('form-input',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLbTripIdInput && (!_vm.showOtherTripIdInput)),expression:\"showLbTripIdInput && (!showOtherTripIdInput)\"}],attrs:{\"rules\":_vm.rules.lbsTripIdRule,\"label\":_vm.Text('ml_114625', 'LBShell Trip ID'),\"required\":_vm.showLbTripIdInput && (!_vm.showOtherTripIdInput),\"mask\":_vm.STR_TRIP_ID_MASK_LB,\"placeholder\":_vm.STR_TRIP_ID_PLACE_HOLDER_LB},on:{\"userChange\":function (newValue) { return _vm.updateLbTripIdInfo(newValue); }},model:{value:(_vm.tripInfo.lbsTripId),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"lbsTripId\", $$v)},expression:\"tripInfo.lbsTripId\"}}),_c('form-input',{directives:[{name:\"show\",rawName:\"v-show\",value:((!_vm.showLbTripIdInput) && (!_vm.showOtherTripIdInput)),expression:\"(!showLbTripIdInput) && (!showOtherTripIdInput)\"}],attrs:{\"rules\":_vm.rules.pgTripIdRule,\"label\":_vm.Text('ml_114902', 'PG Trip ID'),\"required\":(!_vm.showLbTripIdInput) && (!_vm.showOtherTripIdInput),\"mask\":_vm.STR_TRIP_ID_MASK_PG,\"placeholder\":_vm.STR_TRIP_ID_PLACE_HOLDER_PG},on:{\"userChange\":function (newValue) { return _vm.updateTripIdInfo(newValue); }},model:{value:(_vm.tripInfo.pgTripId),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"pgTripId\", $$v)},expression:\"tripInfo.pgTripId\"}}),_c('form-radio-group',{attrs:{\"rules\":_vm.rules.pre,\"label\":_vm.Text('ml_114627', 'Pre/Post'),\"required\":\"\",\"input\":_vm.tripInfo.prePost,\"items\":_vm.tripInfo.prePostItems},on:{\"userChange\":function($event){return _vm.updateTripInfo(false, 'prePost')}},model:{value:(_vm.tripInfo.prePost),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"prePost\", $$v)},expression:\"tripInfo.prePost\"}}),_c('div',{staticStyle:{\"margin-bottom\":\"10px\"}},[_c('form-autocomplete',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLbPlant),expression:\"showLbPlant\"}],attrs:{\"items\":_vm.nearbyPlant,\"label\":_vm.Text('ml_116553', 'Arrival DT'),\"required\":_vm.showLbPlant,\"itemText\":\"plantIdName\",\"itemValue\":\"plantId\",\"userFilter\":_vm.onUserFilter,\"rules\":_vm.rules.customPlant},on:{\"userChange\":function (newValue) { return _vm.onPlantChange(newValue, _vm.tripInfo); }},model:{value:(_vm.tripInfo.customPlantId),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"customPlantId\", $$v)},expression:\"tripInfo.customPlantId\"}}),_c('form-autocomplete',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showPgPlant),expression:\"showPgPlant\"}],attrs:{\"items\":_vm.nearbyPlant,\"label\":_vm.showDT,\"required\":_vm.showPgPlant,\"itemText\":\"plantIdName\",\"itemValue\":\"plantId\",\"userFilter\":_vm.onUserFilter,\"rules\":_vm.rules.customPlant},on:{\"userChange\":function (newValue) { return _vm.onPlantChange(newValue, _vm.tripInfo); }},model:{value:(_vm.tripInfo.customPlantId),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"customPlantId\", $$v)},expression:\"tripInfo.customPlantId\"}})],1),_c('div',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.locationMsg))]),_c('form-input',{attrs:{\"rules\":_vm.rules.driver1,\"label\":_vm.Text('ml_114629', 'Driver'),\"readonly\":true,\"required\":\"\"},model:{value:(_vm.tripInfo.driver1Name),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"driver1Name\", $$v)},expression:\"tripInfo.driver1Name\"}}),_c('v-card-actions',{staticClass:\"v-card__actions_padding_left0 v-card__actions_padding_bottom_0\"},[_c('v-row',[_c('v-col',[(_vm.tripInfo.isTractorThirdParty)?_c('form-input',{attrs:{\"rules\":_vm.rules.tractor,\"label\":_vm.Text('ml_114631', 'Tractor/Rigid/Truck'),\"required\":\"\"},on:{\"userChange\":_vm.updateTripInfo},model:{value:(_vm.tripInfo.tractor),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"tractor\", $$v)},expression:\"tripInfo.tractor\"}}):_vm._e(),(!_vm.tripInfo.isTractorThirdParty)?_c('form-autocomplete',{attrs:{\"items\":_vm.vehicles(_vm.SapVehcileCategory.Tractor),\"label\":_vm.Text('ml_114631', 'Tractor/Rigid/Truck'),\"required\":\"\",\"itemText\":\"vehicleId\",\"itemValue\":\"vehicleId\",\"userFilter\":function (item, queryText, itemText) { return _vm.onUserVehicleFilter(\n item,\n queryText,\n itemText,\n _vm.SapVehcileCategory.Tractor\n ); },\"rules\":_vm.rules.tractor},on:{\"userChange\":function (newValue) { return _vm.onVehicleChange(\n newValue,\n _vm.tripInfo,\n _vm.SapVehcileCategory.Tractor\n ); }},model:{value:(_vm.tripInfo.tractor),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"tractor\", $$v)},expression:\"tripInfo.tractor\"}}):_vm._e()],1),_c('v-col',{staticClass:\"v-checkbox_padding_right_0\",attrs:{\"cols\":\"5\"}},[_c('v-checkbox',{staticClass:\"v-checkbox_margin_top_0\",attrs:{\"label\":_vm.Text('ml_116414', '3rd Party')},on:{\"change\":function (newValue) { return _vm.onTractorThirdPartyStatusChange(newValue,_vm.tripInfo); }},model:{value:(_vm.tripInfo.isTractorThirdParty),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"isTractorThirdParty\", $$v)},expression:\"tripInfo.isTractorThirdParty\"}})],1),_c('v-col',{staticClass:\"qr-scaner_padding_left_0\",attrs:{\"cols\":\"3\"}},[_c('qr-scaner',{attrs:{\"formId\":\"formIdTractor\",\"initialValue\":_vm.tripInfo.tractor,\"labelText\":_vm.Text('ml_114631', 'Tractor/Rigid/Truck')},on:{\"handleChange\":_vm.handleTractorChange}})],1)],1)],1),_c('v-card-actions',{staticClass:\"pb-5 v-card__actions_padding_top_0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"10\"}},[(_vm.tripInfo.isTractorThirdParty)?_c('form-select',{attrs:{\"items\":_vm.getTractorCategoryItems(),\"label\":_vm.Text('ml_116415', 'Vehicle Type'),\"required\":\"\",\"rules\":_vm.rules.vehicleType},model:{value:(_vm.tripInfo.tractorThirdPartyCategory),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"tractorThirdPartyCategory\", $$v)},expression:\"tripInfo.tractorThirdPartyCategory\"}}):_vm._e()],1)],1)],1),_c('v-card-actions',{staticClass:\"v-card__actions_padding_left0 v-card__actions_padding_bottom_0\"},[_c('v-row',[_c('v-col',[(_vm.tripInfo.isChassisThirdParty)?_c('form-input',{attrs:{\"rules\":_vm.rules.chassis,\"label\":_vm.Text('ml_114633', 'Chassis'),\"required\":\"\"},on:{\"userChange\":_vm.updateTripInfo},model:{value:(_vm.tripInfo.chassis),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"chassis\", $$v)},expression:\"tripInfo.chassis\"}}):_vm._e(),(!_vm.tripInfo.isChassisThirdParty)?_c('form-autocomplete',{attrs:{\"showAsLabel\":_vm.showChassisAutoCompleteAsLabel(),\"items\":_vm.vehicles(_vm.SapVehcileCategory.Chassis),\"label\":_vm.Text('ml_114633', 'Chassis'),\"itemText\":\"vehicleId\",\"itemValue\":\"vehicleId\",\"userFilter\":function (item, queryText, itemText) { return _vm.onUserVehicleFilter(\n item,\n queryText,\n itemText,\n _vm.SapVehcileCategory.Chassis\n ); }},on:{\"userChange\":function (newValue) { return _vm.onVehicleChange(\n newValue,\n _vm.tripInfo,\n _vm.SapVehcileCategory.Chassis\n ); }},model:{value:(_vm.tripInfo.chassis),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"chassis\", $$v)},expression:\"tripInfo.chassis\"}}):_vm._e()],1),_c('v-col',{staticClass:\"v-checkbox_padding_right_0\",attrs:{\"cols\":\"5\"}},[_c('v-checkbox',{staticClass:\"v-checkbox_margin_top_0\",attrs:{\"label\":_vm.Text('ml_116414', '3rd Party')},on:{\"change\":function (newValue) { return _vm.onChassisThirdPartyStatusChange(newValue,_vm.tripInfo); }},model:{value:(_vm.tripInfo.isChassisThirdParty),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"isChassisThirdParty\", $$v)},expression:\"tripInfo.isChassisThirdParty\"}})],1),_c('v-col',{staticClass:\"qr-scaner_padding_left_0\",attrs:{\"cols\":\"3\"}},[_c('qr-scaner',{attrs:{\"formId\":\"formIdChassis\",\"initialValue\":_vm.tripInfo.chassis,\"labelText\":_vm.Text('ml_114633', 'Chassis')},on:{\"handleChange\":_vm.handleChassisChange}})],1)],1)],1),_c('v-card-actions',{staticClass:\"pb-5 v-card__actions_padding_top_0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"10\"}},[(_vm.tripInfo.isChassisThirdParty)?_c('form-select',{attrs:{\"items\":_vm.getChassisCategoryItems(),\"label\":_vm.Text('ml_116415', 'Vehicle Type'),\"required\":\"\",\"rules\":_vm.rules.chassisVehicleType},model:{value:(_vm.tripInfo.chassisThirdPartyCategory),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"chassisThirdPartyCategory\", $$v)},expression:\"tripInfo.chassisThirdPartyCategory\"}}):_vm._e()],1)],1)],1),_c('v-card-actions',{staticClass:\"v-card__actions_padding_left0 v-card__actions_padding_bottom_0\"},[_c('v-row',[_c('v-col',[(_vm.tripInfo.isVesselThirdParty)?_c('form-input',{attrs:{\"rules\":_vm.rules.vessel,\"label\":_vm.Text('ml_114634', 'Vessel'),\"required\":\"\"},on:{\"userChange\":_vm.updateTripInfo},model:{value:(_vm.tripInfo.vessel),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"vessel\", $$v)},expression:\"tripInfo.vessel\"}}):_vm._e(),(!_vm.tripInfo.isVesselThirdParty)?_c('form-autocomplete',{attrs:{\"showAsLabel\":_vm.showVesselAutoCompleteAsLabel(),\"items\":_vm.vehicles(_vm.SapVehcileCategory.Vessel),\"label\":_vm.Text('ml_114634', 'Vessel'),\"itemText\":\"vesselId\",\"itemValue\":\"vesselId\",\"userFilter\":function (item, queryText, itemText) { return _vm.onUserVesselFilter(\n item,\n queryText,\n itemText,\n _vm.SapVehcileCategory.Vessel\n ); }},on:{\"userChange\":function (newValue) { return _vm.onVehicleChange(\n newValue,\n _vm.tripInfo,\n _vm.SapVehcileCategory.Vessel\n ); }},model:{value:(_vm.tripInfo.vessel),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"vessel\", $$v)},expression:\"tripInfo.vessel\"}}):_vm._e()],1),_c('v-col',{staticClass:\"v-checkbox_padding_right_0\",attrs:{\"cols\":\"5\"}},[_c('v-checkbox',{staticClass:\"v-checkbox_margin_top_0\",attrs:{\"label\":_vm.Text('ml_116414', '3rd Party')},on:{\"change\":function (newValue) { return _vm.onVesselThirdPartyStatusChange(newValue,_vm.tripInfo); }},model:{value:(_vm.tripInfo.isVesselThirdParty),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"isVesselThirdParty\", $$v)},expression:\"tripInfo.isVesselThirdParty\"}})],1),_c('v-col',{staticClass:\"qr-scaner_padding_left_0\",attrs:{\"cols\":\"3\"}},[_c('qr-scaner',{attrs:{\"formId\":\"formIdVessel\",\"initialValue\":_vm.tripInfo.vessel,\"labelText\":_vm.Text('ml_114634', 'Vessel')},on:{\"handleChange\":_vm.handleVesselChange}})],1)],1)],1),_c('v-card-actions',{staticClass:\"pb-5 v-card__actions_padding_top_0\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"10\"}},[(_vm.tripInfo.isVesselThirdParty)?_c('form-select',{attrs:{\"items\":_vm.getVesselCategoryItems(),\"label\":_vm.Text('ml_116415', 'Vehicle Type'),\"required\":\"\",\"rules\":_vm.rules.vesselVehicleType},model:{value:(_vm.tripInfo.vesselThirdPartyCategory),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"vesselThirdPartyCategory\", $$v)},expression:\"tripInfo.vesselThirdPartyCategory\"}}):_vm._e()],1)],1)],1),_c('form-input',{attrs:{\"rules\":_vm.rules.odometer,\"label\":_vm.Text('ml_114635', 'Odometer'),\"required\":\"\",\"type\":this.numberType},on:{\"userChange\":function($event){return _vm.updateTripInfo(false, 'odometer')}},model:{value:(_vm.tripInfo.odometer),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"odometer\", $$v)},expression:\"tripInfo.odometer\"}}),_c('v-row',[_c('v-menu',{ref:\"menuDate\",attrs:{\"close-on-content-click\":true,\"return-value\":_vm.tripInfo.date,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"auto\"},on:{\"update:returnValue\":function($event){return _vm.$set(_vm.tripInfo, \"date\", $event)},\"update:return-value\":function($event){return _vm.$set(_vm.tripInfo, \"date\", $event)}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":_vm.Text('ml_114636', 'Date'),\"prepend-icon\":\"mdi-calendar\",\"rules\":_vm.rules.date,\"readonly\":\"\"},model:{value:(_vm.tripInfo.date),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"date\", $$v)},expression:\"tripInfo.date\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.menuDate),callback:function ($$v) {_vm.menuDate=$$v},expression:\"menuDate\"}},[(_vm.menuDate)?_c('v-date-picker',{attrs:{\"max\":_vm.maxDate(),\"no-title\":\"\",\"scrollable\":\"\"},on:{\"click:date\":function($event){return _vm.$refs.menuDate.save(_vm.tripInfo.date)},\"change\":function($event){return _vm.updateTripInfo(false, 'date')}},model:{value:(_vm.tripInfo.date),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"date\", $$v)},expression:\"tripInfo.date\"}},[_c('v-spacer'),_vm._v(\" > \")],1):_vm._e()],1)],1),_c('v-row',[_c('v-menu',{ref:\"menuTime\",attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"return-value\":_vm.tripInfo.time,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"max-width\":\"290px\",\"min-width\":\"290px\"},on:{\"update:returnValue\":function($event){return _vm.$set(_vm.tripInfo, \"time\", $event)},\"update:return-value\":function($event){return _vm.$set(_vm.tripInfo, \"time\", $event)}},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-text-field',_vm._g(_vm._b({attrs:{\"label\":_vm.Text('ml_114637', 'Time'),\"prepend-icon\":\"mdi-clock-time-four-outline\",\"rules\":_vm.rules.time,\"readonly\":\"\"},model:{value:(_vm.tripInfo.time),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"time\", $$v)},expression:\"tripInfo.time\"}},'v-text-field',attrs,false),on))]}}]),model:{value:(_vm.menuTime),callback:function ($$v) {_vm.menuTime=$$v},expression:\"menuTime\"}},[(_vm.menuTime)?_c('v-time-picker',{attrs:{\"max\":_vm.maxTime(),\"full-width\":\"\",\"rules\":_vm.rules.time},on:{\"click:minute\":function($event){return _vm.$refs.menuTime.save(_vm.tripInfo.time)},\"change\":function($event){return _vm.updateTripInfo(false, 'time')}},model:{value:(_vm.tripInfo.time),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"time\", $$v)},expression:\"tripInfo.time\"}}):_vm._e()],1)],1),(_vm.errorMsg.length > 0)?_c('p',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e(),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114649'),expression:\"'ml_114649'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoHome(_vm.$router)}}},[_vm._v(\" Home \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114639'),expression:\"'ml_114639'\"}],attrs:{\"color\":\"primary\",\"disabled\":!_vm.valid},on:{\"click\":function($event){return _vm.onNext()}}},[_vm._v(\" Next \")])],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[(_vm.showAsLabel)?[_c('v-card-text',[_c('div',{domProps:{\"textContent\":_vm._s(_vm.label)}}),_c('div',{domProps:{\"textContent\":_vm._s(_vm.value)}})])]:[_c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('' + _vm.mask + ''),expression:\"'' + mask + ''\"}],attrs:{\"value\":_vm.value,\"counter\":_vm.counter,\"rules\":_vm.rules,\"label\":_vm.label,\"readonly\":_vm.readonly,\"type\":_vm.type,\"placeholder\":_vm.placeholder.length > 0 ? _vm.placeholder : _vm.label},on:{\"input\":_vm.onChanging},scopedSlots:_vm._u([(_vm.required)?{key:\"label\",fn:function(){return [_c('span',{staticClass:\"red-error\"},[_c('strong',[_vm._v(\"* \")])]),_vm._v(_vm._s(_vm.label)+\" \")]},proxy:true}:null],null,true)})]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ConsoleLog } from \"@/utility\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String || Number,\r\n label: String,\r\n counter: Number,\r\n rules: [],\r\n required: Boolean,\r\n readonly: { type: Boolean, default: false },\r\n showAsLabel: { type: Boolean, default: false },\r\n mask: { type: String, default: \"\" },\r\n placeholder: { type: String, default: \"\" },\r\n type: { type: String, default: \"text\" },\r\n },\r\n computed: {},\r\n methods: {\r\n onChanging(value: string) {\r\n ConsoleLog({ \"FormInput.onChanging\": value });\r\n this.$emit(\"input\", value);\r\n this.$emit(\"userChange\", value);\r\n },\r\n onUserChanging(value: any) {\r\n ConsoleLog({ \"FormInput.onUserChanging\": value });\r\n this.$emit(\"userChange\", value);\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormInput.vue?vue&type=template&id=1279c3f5&\"\nimport script from \"./FormInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormInput.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCardText,VRow,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-radio-group',{attrs:{\"value\":_vm.value,\"row\":\"\",\"rules\":_vm.rules,\"label\":_vm.label,\"readonly\":_vm.readonly},on:{\"change\":_vm.onChanging},scopedSlots:_vm._u([(_vm.required)?{key:\"label\",fn:function(){return [_c('span',{staticClass:\"red-error\"},[_c('strong',[_vm._v(\"* \")])]),_vm._v(_vm._s(_vm.label)+\" \")]},proxy:true}:null],null,true)},[_vm._l((_vm.items),function(item){return [_c('v-radio',{key:item.itemValue,attrs:{\"label\":item.itemText,\"value\":item.itemValue}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ISelectItem } from \"@/models/select-item\";\r\nimport { ConsoleLog, Timeout } from \"@/utility\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String || Number,\r\n label: String,\r\n items: [],\r\n rules: [],\r\n required: Boolean,\r\n readonly: { type: Boolean, default: false },\r\n showAsLabel: { type: Boolean, default: false },\r\n },\r\n data: () => ({\r\n selectedValue: null,\r\n }),\r\n computed: {},\r\n methods: {\r\n ConsoleLog,\r\n onChanging(value: string): void {\r\n // ConsoleLog({ \"FormRadioGroup.onChanging\": value });\r\n this.$emit(\"input\", value);\r\n this.$emit(\"userChange\", value);\r\n },\r\n userChange2(value: any) {\r\n // ConsoleLog({ \"FormRadioGroup.onUserChanging\": value });\r\n this.$emit(\"userChange\", value);\r\n },\r\n },\r\n mounted(): void {\r\n const self = this as any;\r\n if (self.value) {\r\n self.selectedValue = self.value;\r\n }\r\n // ConsoleLog({ \"FormRadioGroup.items\": self.items });\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRadioGroup.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRadioGroup.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormRadioGroup.vue?vue&type=template&id=5c35fdec&\"\nimport script from \"./FormRadioGroup.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormRadioGroup.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VRadio,VRadioGroup,VRow})\n","export interface IMaintainNotification {\r\n vehicleEquipment: string;\r\n desc: string;\r\n // vehicleType: string;\r\n notificationId: string;\r\n defectDesc: string;\r\n date: string;\r\n time: string;\r\n status: string;\r\n}\r\n\r\nexport class MaintainNotification implements IMaintainNotification {\r\n vehicleEquipment: string;\r\n desc: string;\r\n // vehicleType: string;\r\n notificationId: string;\r\n defectDesc: string;\r\n date: string;\r\n time: string;\r\n status: string;\r\n constructor(\r\n vehicleEquipment: string,\r\n desc: string,\r\n // vehicleType: string,\r\n notificationId: string,\r\n defectDesc: string,\r\n date: string,\r\n time: string,\r\n status: string,\r\n ) {\r\n this.vehicleEquipment = vehicleEquipment;\r\n this.desc = desc;\r\n // this.vehicleType = vehicleType;\r\n this.notificationId = notificationId;\r\n this.defectDesc = defectDesc;\r\n this.date = date;\r\n this.time = time;\r\n this.status = status;\r\n }\r\n}\r\n\r\n\r\nexport interface INotificationFilter {\r\n tractor: string;\r\n thirdParty: string;\r\n chassis: string;\r\n vessel: string;\r\n language: string;\r\n}\r\n\r\nexport class NotificationFilter implements INotificationFilter {\r\n tractor: string;\r\n thirdParty: string;\r\n chassis: string;\r\n vessel: string;\r\n language: string;\r\n\r\n constructor(\r\n tractor: string,\r\n thirdParty: string,\r\n chassis: string,\r\n vessel: string,\r\n language: string,\r\n ) {\r\n this.tractor = tractor;\r\n this.thirdParty = thirdParty;\r\n this.chassis = chassis;\r\n this.vessel = vessel;\r\n this.language = language;\r\n\r\n }\r\n}\r\nexport function CreateNotification() {\r\n return new MaintainNotification(\"\", \"\", \"\", \"\", \"\", \"\", \"\");\r\n}","import { CreateEmptyFile, File } from \"./question\";\r\n\r\nexport interface IAttachment {\r\n attachment: File;\r\n fileName: string;\r\n attachmentBase64: string;\r\n}\r\n\r\nexport class Attachment implements IAttachment {\r\n attachment: File;\r\n fileName: string;\r\n attachmentBase64: string;\r\n constructor(\r\n fileName: string\r\n ) {\r\n this.attachment = CreateEmptyFile();\r\n this.fileName = fileName;\r\n this.attachmentBase64 = \"\";\r\n }\r\n}\r\n\r\nexport const CreateAttachments = () => {\r\n return [new Attachment(''), new Attachment(''), new Attachment('')];\r\n}","import { QuestionSectionType, QuestionType } from \"../enums\";\r\nimport { Attachment, CreateAttachments } from \"./attachment\";\r\n\r\nexport interface IQuestion {\r\n sequenceId: string;\r\n desc: string;\r\n answer: string; // Good,Defective and N/A\r\n notificationIsNeeded: boolean;\r\n comment: string;\r\n // attachment: File;\r\n // fileName: string;\r\n // attachmentBase64: string;\r\n attachments: Attachment[];\r\n instruction: string;\r\n questionType: QuestionType;\r\n issueDesc: string;\r\n isReqular: boolean;\r\n subSectionId: string;\r\n sectionType: QuestionSectionType;\r\n numberRange: string;\r\n questionTypeBooleanValue: boolean;\r\n equipmentID: string;\r\n vehicleType:string;\r\n codeGroup: string;\r\n code: string;\r\n charact: string;\r\n hardStop: boolean;\r\n originalSequenceId: string;\r\n originalSubSectionId: string;\r\n}\r\n\r\nexport class Question implements IQuestion {\r\n sequenceId: string;\r\n desc: string;\r\n answer: string;\r\n notificationIsNeeded: boolean;\r\n comment: string;\r\n // attachment: File;\r\n // fileName: string;\r\n // attachmentBase64: string;\r\n attachments: Attachment[];\r\n instruction: string;\r\n questionType: QuestionType;\r\n issueDesc: string;\r\n isReqular: boolean;\r\n subSectionId: string;\r\n sectionType: QuestionSectionType;\r\n numberRange: string;\r\n questionTypeBooleanValue: boolean;\r\n equipmentID: string;\r\n vehicleType:string;\r\n codeGroup: string;\r\n code: string;\r\n charact: string;\r\n hardStop: boolean;\r\n originalSequenceId: string;\r\n originalSubSectionId: string;\r\n constructor(\r\n sequenceId: string,\r\n desc: string,\r\n answer: string,\r\n notificationIsNeeded: boolean,\r\n comment: string,\r\n // fileName: string,\r\n instruction: string,\r\n questionType: QuestionType,\r\n isReqular: boolean,\r\n subSectionId: string,\r\n sectionType: QuestionSectionType,\r\n numberRange: string,\r\n questionTypeBooleanValue: boolean,\r\n equipmentID: string,\r\n vehicleType:string,\r\n codeGroup: string,\r\n code: string,\r\n charact: string,\r\n hardStop: boolean,\r\n originalSequenceId: string,\r\n originalSubSectionId: string,\r\n ) {\r\n this.sequenceId = sequenceId;\r\n this.originalSequenceId = originalSequenceId;\r\n this.desc = desc;\r\n this.answer = answer;\r\n this.notificationIsNeeded = notificationIsNeeded;\r\n this.comment = comment;\r\n // this.attachment = CreateEmptyFile();\r\n // this.fileName = fileName;\r\n // this.attachmentBase64 = \"\";\r\n this.attachments = CreateAttachments();\r\n this.instruction = instruction;\r\n this.questionType = questionType;\r\n this.issueDesc = \"\";\r\n this.isReqular = isReqular;\r\n this.subSectionId = subSectionId;\r\n this.originalSubSectionId = originalSubSectionId;\r\n this.sectionType = sectionType;\r\n this.numberRange = numberRange;\r\n this.questionTypeBooleanValue = questionTypeBooleanValue;\r\n this.equipmentID = equipmentID;\r\n this.vehicleType=vehicleType;\r\n this.codeGroup = codeGroup;\r\n this.code = code;\r\n this.charact = charact\r\n this.hardStop = hardStop\r\n }\r\n}\r\n\r\n\r\nexport class File {\r\n name: string;\r\n size: number;\r\n type: string;\r\n lastModified: number;\r\n // lastModifiedDate: Date;\r\n\r\n constructor(\r\n name: string,\r\n size: number,\r\n type: string,\r\n lastModified: number,\r\n // lastModifiedDate: Date,\r\n\r\n ) {\r\n this.name = name;\r\n this.size = size;\r\n this.type = type;\r\n this.lastModified = lastModified;\r\n // this.lastModifiedDate = lastModifiedDate;\r\n }\r\n}\r\n\r\nexport const CreateEmptyFile = () => {\r\n return new File(\"\", 0, \"\", 0);\r\n}","import { QuestionSectionType, QuestionType } from \"../enums\";\r\nimport { Question } from \"./question\";\r\n\r\nexport interface ISubSection {\r\n subSectionId: string;\r\n subSectionTitle: string;\r\n containDefect: boolean;\r\n questions: Question[];\r\n validated: boolean;\r\n}\r\n\r\nexport class SubSection implements ISubSection {\r\n subSectionId: string;\r\n subSectionTitle: string;\r\n containDefect: boolean;\r\n questions: Question[];\r\n validated: boolean;\r\n constructor(\r\n subSectionId: string,\r\n containDefect: boolean,\r\n ) {\r\n this.subSectionId = subSectionId;\r\n this.containDefect = containDefect;\r\n this.questions = [];\r\n this.validated = false;\r\n this.subSectionTitle = \"\"\r\n }\r\n}\r\nexport function CreateSubSection() {\r\n const subSection = new SubSection('', false);\r\n subSection.questions.push(new Question(\"\", '', '', false, '', '', QuestionType.Regular, false, '', QuestionSectionType.Tractor, '', false, '', '', '', '', '', false, '', ''));\r\n return subSection;\r\n}","import { PicType } from \"../enums\";\r\nimport { Text } from \"@/utility\"\r\nimport { CreateSubSection, SubSection } from \"./sub-section\";\r\n\r\nexport interface IQuestionSection {\r\n title: string;\r\n imagePath: string;\r\n isSelected: boolean;\r\n containDefect: boolean;\r\n containTopDefect: boolean;\r\n regularQuestionCollection: SubSection[];\r\n containAdditionalQuestion: boolean;\r\n additionalQuestionContainDefect: boolean;\r\n additionalQuestionCollection: SubSection[];\r\n imageName: string;\r\n thumbnailName: string;\r\n}\r\n\r\nexport class QuestionSection implements IQuestionSection {\r\n title: string;\r\n imagePath: string;\r\n isSelected: boolean;\r\n containDefect: boolean;\r\n containTopDefect: boolean;\r\n regularQuestionCollection: SubSection[];\r\n containAdditionalQuestion: boolean;\r\n additionalQuestionContainDefect: boolean;\r\n additionalQuestionCollection: SubSection[];\r\n imageName: string;\r\n thumbnailName: string;\r\n constructor(\r\n title: string,\r\n imagePath: string,\r\n isSelected: boolean,\r\n containDefect: boolean,\r\n containAdditionalQuestion: boolean,\r\n additionalQuestionContainDefect: boolean,\r\n ) {\r\n this.title = title;\r\n this.imagePath = imagePath;\r\n this.isSelected = isSelected;\r\n this.containDefect = containDefect;\r\n this.regularQuestionCollection = [];\r\n this.containAdditionalQuestion = containAdditionalQuestion;\r\n this.additionalQuestionContainDefect = additionalQuestionContainDefect;\r\n this.additionalQuestionCollection = [];\r\n this.imageName = \"\";\r\n this.thumbnailName = \"\";\r\n this.containTopDefect = false;\r\n }\r\n}\r\n\r\nexport function CreateQuestionSection() {\r\n const section = new QuestionSection(\"\", PicType.Tractor, false, false, false, false);\r\n section.regularQuestionCollection.push(CreateSubSection());\r\n section.additionalQuestionCollection.push(CreateSubSection());\r\n return section;\r\n}\r\n\r\nexport function CreateQuestionTractor(containAdditionalQuestion: boolean = true) {\r\n return new QuestionSection(Text('ml_114631', \"Tractor/Rigid/Truck\"), PicType.Tractor, true, false, containAdditionalQuestion, false);\r\n}\r\n\r\nexport function CreateQuestionChassis(isSelected: boolean = true, containAdditionalQuestion: boolean = true) {\r\n return new QuestionSection(Text('ml_114633', 'Chassis'), PicType.Chassis, isSelected, false, containAdditionalQuestion, false);\r\n}\r\n\r\nexport function CreateQuestionVessel(isSelected: boolean = true, containAdditionalQuestion: boolean = true) {\r\n return new QuestionSection(Text('ml_114686', \"Pressure Vessel\"), PicType.Vessel, isSelected, false, containAdditionalQuestion, false);\r\n}\r\nexport function CreateQuestionAll(isSelected: boolean = true, containAdditionalQuestion: boolean = true) {\r\n return new QuestionSection('All Questions', PicType.ALl, isSelected, false, containAdditionalQuestion, false);\r\n}\r\n\r\nexport interface IQuestionFilter {\r\n tractor: string;\r\n thirdParty: boolean;\r\n chassis: string;\r\n vessel: string;\r\n isTractorThirdParty:string;\r\n tractorThirdPartyCategory:string;\r\n isChassisThirdParty:string;\r\n chassisThirdPartyCategory:string;\r\n isVesselThirdParty:string;\r\n vesselThirdPartyCategory:string;\r\n language: string;\r\n countryCode: string;\r\n}\r\n\r\nexport class QuestionFilter implements IQuestionFilter {\r\n tractor: string;\r\n thirdParty: boolean;\r\n chassis: string;\r\n vessel: string;\r\n isTractorThirdParty:string;\r\n tractorThirdPartyCategory:string;\r\n isChassisThirdParty:string;\r\n chassisThirdPartyCategory:string;\r\n isVesselThirdParty:string;\r\n vesselThirdPartyCategory:string;\r\n language: string;\r\n countryCode: string;\r\n\r\n constructor(\r\n tractor: string,\r\n thirdParty: boolean,\r\n chassis: string,\r\n vessel: string,\r\n isTractorThirdParty:string,\r\n tractorThirdPartyCategory:string,\r\n isChassisThirdParty:string,\r\n chassisThirdPartyCategory:string,\r\n isVesselThirdParty:string,\r\n vesselThirdPartyCategory:string,\r\n language: string,\r\n countryCode: string,\r\n ) {\r\n this.tractor = tractor;\r\n this.thirdParty = thirdParty;\r\n this.chassis = chassis;\r\n this.vessel = vessel;\r\n this.isTractorThirdParty=isTractorThirdParty;\r\n this.tractorThirdPartyCategory=tractorThirdPartyCategory;\r\n this.isChassisThirdParty=isChassisThirdParty;\r\n this.chassisThirdPartyCategory=chassisThirdPartyCategory;\r\n this.isVesselThirdParty=isVesselThirdParty;\r\n this.vesselThirdPartyCategory=vesselThirdPartyCategory;\r\n this.language = language;\r\n this.countryCode = countryCode;\r\n }\r\n}\r\n","export function OrderedByPlantId(firstElement: any, secondElement: any) {\r\n return OrderedBySpecialColumn(firstElement, secondElement, 'plantId');\r\n }\r\n export function OrderedByVehicleId(firstElement: any, secondElement: any) {\r\n return OrderedBySpecialColumn(firstElement, secondElement, 'VehcileID');\r\n }\r\n export function OrderedBySubSectionId(firstElement: any, secondElement: any) {\r\n return OrderedBySpecialColumn(firstElement, secondElement, 'SectionID');\r\n }\r\n export function OrderedBySequnceId(firstElement: any, secondElement: any) {\r\n return OrderedBySpecialColumn(firstElement, secondElement, 'SequenceID');\r\n }\r\n\r\n export function OrderedBySpecialColumn(firstElement: any, secondElement: any, columnName: string) {\r\n if (\r\n !firstElement ||\r\n firstElement[columnName] === undefined ||\r\n !secondElement ||\r\n secondElement[columnName] === undefined\r\n ) {\r\n return 0;\r\n }\r\n // ignore case sensitive\r\n return firstElement[columnName].toString().toLowerCase() < secondElement[columnName].toString().toLowerCase()\r\n ? -1\r\n : 1;\r\n }","import config from '@/config/config.json';\r\nimport { INotificationFilter } from '@/models/maitain-notification';\r\nimport { IQuestionFilter } from '@/models/question-section';\r\nimport { ITripInfo, TripInfo } from '@/models/trip-info';\r\nimport { GetSapLanguage, IsNullOrEmpty } from '@/utility';\r\nimport * as consts from \"@/models/consts\";\r\nimport Vue from 'vue'\r\nimport { TripType } from '@/models/enums';\r\n\r\nexport class ServiceAddress {\r\n private appConfig: any;\r\n constructor(globalConfig: any) {\r\n this.appConfig = globalConfig.app;\r\n }\r\n private get apiDomain() {\r\n return this.appConfig.useLamda ? this.appConfig.api_domain_lamda : this.appConfig.api_domain_local;\r\n }\r\n private get sapLangCode() {\r\n return GetSapLanguage(Vue.prototype.$lanCode);\r\n }\r\n //const urlPath = 'sap/equipment/v1/eVCRPlantSet?$filter=Slong eq 114.273435700 and Slat eq 34.806491900000 and Distance eq 10000&$format=json'\r\n public GenerateNearbyPlantsGetUrl = (longitude: string, latitude: string) =>\r\n `${this.apiDomain}eVCRPlantSet?$filter=Slong eq ${longitude} and Slat eq ${latitude}&$format=json`\r\n // https://dev-api.airproducts.com/sap/equipment/v1/eVCRPlantSet?$filter=Country eq 'CN'&$format=json\r\n public GenerateCounryPlantsGetUrl = (countryCode: string) =>\r\n `${this.apiDomain}eVCRPlantSet?$filter=Country eq '${countryCode}'&$format=json&sap-language=${this.sapLangCode}`\r\n\r\n public GenerateEquipmentNotificationGetUrl = (filter: INotificationFilter) => {\r\n // let url = `${this.apiDomain}eVCRNotificationSet?$filter=TractorLicense eq '${filter.tractor}'`\r\n // if (!IsNullOrEmpty(filter.chassis)) {\r\n // url += ` and ChassisLicense eq '${filter.chassis}'`;\r\n // }\r\n // if (!IsNullOrEmpty(filter.vessel)) {\r\n // url += ` and LBShellID eq '${filter.vessel}'`;\r\n // }\r\n let url = `${this.apiDomain}eVCRNotificationSet?$filter=`\r\n let query = ``;\r\n let resultUqery = ``;\r\n if (!IsNullOrEmpty(filter.tractor)) {\r\n query += ` and TractorLicense eq '${filter.tractor}'`;\r\n }\r\n if (!IsNullOrEmpty(filter.chassis)) {\r\n query += ` and ChassisLicense eq '${filter.chassis}'`;\r\n }\r\n if (!IsNullOrEmpty(filter.vessel)) {\r\n query += ` and LBShellID eq '${filter.vessel}'`;\r\n }\r\n query += `&sap-language=${this.sapLangCode}`;\r\n query += '&$format=json';\r\n resultUqery = query.substring(5)\r\n url += resultUqery;\r\n return url;\r\n }\r\n //https://dev-api.airproducts.com/sap/equipment/v1/eVCRQuestionSet?$filter=TractorLicense eq 'HU A-T3109' and ThirdPartyInd eq '' and ChassisLicense eq '' and LBShellID eq ''&$format=json\r\n // 20230102\r\n // https://dev-api.airproducts.com/sap/equipment/v1/eVCRQuestionSet?$filter=TractorLicense eq '' and ChassisLicense eq '' and LBShellID eq '' \r\n // and Tractor3rdParty eq 'X' and Tractor3rdPartyVehicleType eq 'TRACTOR' \r\n // and Chassis3rdParty eq 'X' and Chassis3rdPartyVehicleType eq 'CHASSIS TRAILER' \r\n // and Vessel3rdParty eq '' and Vessel3rdPartyVehicleType eq '' \r\n // and Country eq 'CN'&sap-language=ZH&$format=json\r\n public GenerateQuestionGetUrl = (filter: IQuestionFilter) => {\r\n let url = `${this.apiDomain}eVCRQuestionSet?$filter=TractorLicense eq '${filter.tractor}'`\r\n let emptyString = '';\r\n if (filter.countryCode) {\r\n url += ` and Country eq '${filter.countryCode}'`;\r\n }\r\n if (filter.thirdParty) {\r\n url += ` and ThirdPartyInd eq '${consts.STR_THIRD_PARTY_TRUE}'`;\r\n }\r\n if (!IsNullOrEmpty(filter.chassis)) {\r\n url += ` and ChassisLicense eq '${filter.chassis}'`;\r\n }\r\n if (!IsNullOrEmpty(filter.vessel)) {\r\n url += ` and LBShellID eq '${filter.vessel}'`;\r\n }\r\n \r\n url += ` and Tractor3rdParty eq '${filter.isTractorThirdParty}'`;\r\n url += ` and Tractor3rdPartyVehicleType eq '${filter.isTractorThirdParty !== emptyString ? filter.tractorThirdPartyCategory : emptyString}'`;\r\n\r\n url += ` and Chassis3rdParty eq '${filter.isChassisThirdParty}'`;\r\n url += ` and Chassis3rdPartyVehicleType eq '${filter.isChassisThirdParty !== emptyString ? filter.chassisThirdPartyCategory : emptyString}'`;\r\n\r\n url += ` and Vessel3rdParty eq '${filter.isVesselThirdParty}'`;\r\n url += ` and Vessel3rdPartyVehicleType eq '${filter.isVesselThirdParty !== emptyString ? filter.vesselThirdPartyCategory : emptyString}'`;\r\n\r\n url += `&sap-language=${this.sapLangCode}`;\r\n url += '&$format=json';\r\n return url;\r\n }\r\n public GeneratePostNewEvcrUrl = () => {\r\n // https://dev-api.airproducts.com/sap/equipment/v1/eVCRRecordHeaderSet\r\n let url = `${this.apiDomain}eVCRRecordHeaderSet`\r\n url += '?$format=json';\r\n url += `&sap-language=${this.sapLangCode}`;\r\n return url;\r\n }\r\n\r\n public GeneratePostNewEvcrSignUrl = () => {\r\n // https://dev-api.airproducts.com/sap/equipment/v1/eVCRSignedTripRpt\r\n let url = `${this.apiDomain}eVCRSignedTripRpt`\r\n url += '?$format=json';\r\n url += `&sap-language=${this.sapLangCode}`;\r\n return url;\r\n }\r\n\r\n public GeneratePostEvcrImagesUrl = () => {\r\n // https://evcr.api.tch.fuelmgmt.airproducts.com/api/values/eVCRNotifAttachSet\r\n let url = `${this.apiDomain}eVCRNotifAttachSet`\r\n return url;\r\n }\r\n\r\n // https://evcr.api.tch.fuelmgmt.airproducts.com/api/values/eVCRRecordHeaderSet?$filter=LBShellTrip eq 'trip07' and PrePost eq 'PR' and Driver1 eq 'TANGE' and Driver2 eq 'TANGE' and TractorLicense eq '沪AT3109' and ChassisLicense eq '1234' and LBShellID eq '12345'&$format=json\r\n public GenerateValidateEvcrGetUrl = (filter: ITripInfo) => {\r\n let url = `${this.apiDomain}eVCRRecordHeaderSet?$filter=LBShellTrip eq '${filter.tripType === TripType.LB ? filter.lbsTripId : filter.pgTripId}' and PrePost eq '${filter.prePost}' and TractorLicense eq '${filter.tractor}'`\r\n if (filter.driver2) {\r\n url += ` and Driver2 eq '${filter.driver2}'`;\r\n }\r\n if (!IsNullOrEmpty(filter.chassis)) {\r\n url += ` and ChassisLicense eq '${filter.chassis}'`;\r\n }\r\n if (!IsNullOrEmpty(filter.vessel)) {\r\n url += ` and LBShellID eq '${filter.vessel}'`;\r\n }\r\n url += `&sap-language=${this.sapLangCode}`;\r\n url += '&$format=json';\r\n return url;\r\n }\r\n\r\n //https://dev-api.airproducts.com/sap/equipment/v1/eVCRRecordHeaderSet?$filter=TractorLicense eq 'HU A-T3109'&$expand=eVCRRecordItemSet&$format=json\r\n public GenerateLastEvcrGetUrl = (filter: ITripInfo) => {\r\n let url = `${this.apiDomain}eVCRRecordHeaderSet?$filter=TractorLicense eq '${filter.tractor}'&$expand=eVCRRecordItemSet`\r\n url += `&sap-language=${this.sapLangCode}`;\r\n url += '&$format=json';\r\n return url;\r\n }\r\n\r\n public GenerateGetFiveUrl = () => {\r\n // https://evcr.api.tch.fuelmgmt.airproducts.com/api/values/5\r\n let url = `${this.apiDomain}5`\r\n return url;\r\n }\r\n\r\n public GenerateCounryVehiclesGetUrl = (countryCode: string) =>\r\n `${this.apiDomain}eVCRVehicleSet?$filter=Country eq '${countryCode}'&$format=json&sap-language=${this.sapLangCode}`\r\n}\r\n\r\nexport const serviceAddress = new ServiceAddress(config);\r\n","export interface IServiceCallResponse {\r\n isSuccess: boolean;\r\n error: string;\r\n warning: string;\r\n result: any[];\r\n status: number;\r\n}\r\n\r\nexport class ServiceCallResponse implements IServiceCallResponse {\r\n isSuccess: boolean;\r\n error: string;\r\n warning: string;\r\n result: any[];\r\n status: number;\r\n\r\n constructor(isSuccess: boolean, error: string, warning: string, result: any[], status: number = 200) {\r\n this.isSuccess = isSuccess;\r\n this.error = error;\r\n this.warning = warning;\r\n this.result = result;\r\n this.status = status;\r\n }\r\n}\r\n\r\nexport interface ICustomResponse {\r\n isSuccess: boolean;\r\n data: any;\r\n}\r\n\r\nexport class CustomResponse implements ICustomResponse {\r\n isSuccess: boolean;\r\n data: any;\r\n\r\n constructor(data: any, isSuccess: boolean = true) {\r\n this.isSuccess = isSuccess;\r\n this.data = data;\r\n }\r\n}\r\n\r\n","import axios, { AxiosStatic } from 'axios';\r\nimport AuthService, { authService } from '@/services/AuthorService';\r\nimport { Component, Vue } from 'vue-property-decorator';\r\nimport config from '@/config/config.json';\r\nimport { CloneObj, ConsoleLog, DeepClone, RequestConfirmWithEnv, Text } from '@/utility';\r\nimport { ServiceCallResponse } from '@/models/service';\r\n\r\nexport default class APIService {\r\n constructor() {\r\n\r\n }\r\n\r\n public async GetRequest(url: string, token: string) {\r\n if (!config.app.useLamda) {\r\n return await this.GetRequestLocal(url, token);\r\n } else {\r\n return await this.GetRequestLamda(url, token);\r\n }\r\n }\r\n\r\n public async GetRequestLocal(url: string, token: string) {\r\n try {\r\n // const token = await this._authService.getAccessToken();\r\n // const accessToken = \"YW1lcmljYVx4bXByb3N2YzpTdG16MTIzIw==\";\r\n const accessToken = \"QVNJQVBBQ1xBU0ZNU1ZDRDpBcDEyMzQ1Ng==\";\r\n // const url = `${config.app.api_domain}${urlPath}`;\r\n let headers = { headers: { 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Basic ' + accessToken, \"X-APIKEY\": `${config.app.api_key}` } };\r\n // let headers = { headers: { 'Content-Type': 'application/json;charset=utf-8', \"X-APIKEY\": `${config.app.api_key}` } }; \r\n ConsoleLog({ 'GetRequest.url': url });\r\n ConsoleLog({ 'GetRequest.headers': headers });\r\n const response = await axios.get(url, headers) as Response;\r\n ConsoleLog({ 'GetRequest.response': response });\r\n // if (!response) {\r\n // return new ServiceCallResponse(false, 'no response info', '', []);\r\n // }\r\n return await this.ResponseProcessor(response)\r\n } catch (error: any) {\r\n ConsoleLog({ 'GetRequest.catch.error': error });\r\n if (error?.response?.status === 400) {\r\n return new ServiceCallResponse(false, error.response.data, '', [], error.response.status);\r\n }\r\n return new ServiceCallResponse(false, error, '', [], error.response.status);\r\n }\r\n }\r\n\r\n public async GetRequestLamda(url: string, token: string) {\r\n try {\r\n // const token = await this._authService.getAccessToken();\r\n const accessToken = \"YW1lcmljYVx4bXByb3N2YzpTdG16MTIzIw==\";\r\n // const url = `${config.app.api_domain}${urlPath}`;\r\n // let headers = { headers: { 'Content-Type': 'application/json;charset=utf-8', 'mode': 'no-cors', 'Access-Control-Allow-Origin': '*', \"Access-Control-Allow-Credentials\": \"true\", \"Access-Control-Max-Age\": \"1800\", \"Access-Control-Allow-Headers\": \"Origin, X-Requested-With, Content-Type, Accept, x-client-key, x-client-token, x-client-secret, Authorization\", \"Access-Control-Allow-Methods\": \"PUT, POST, GET, DELETE, PATCH, OPTIONS\" } };\r\n // let headers = { headers: { 'Content-Type': 'application/json;charset=utf-8', \"X-APIKEY\": `${config.app.api_key}` } }; /, 'Access-Control-Allow-Origin': '*' \r\n //{ crossdomain: true }\r\n let headers = { headers: { 'Content-Type': 'application/json;charset=utf-8' } };\r\n ConsoleLog({ 'GetRequest.url': url });\r\n ConsoleLog({ 'GetRequest.headers': headers });\r\n const response = await axios.get(url, headers) as Response;\r\n ConsoleLog({ 'GetRequest.response': response });\r\n // if (!response) {\r\n // return new ServiceCallResponse(false, 'no response info', '', []);\r\n // }\r\n return await this.ResponseProcessor(response)\r\n } catch (error: any) {\r\n ConsoleLog({ 'GetRequest.catch.error': error });\r\n if (error?.response?.status === 400) {\r\n return new ServiceCallResponse(false, error.response.data, '', [], error.response.status);\r\n }\r\n return new ServiceCallResponse(false, error, '', [], error.response?.status);\r\n }\r\n }\r\n\r\n public async GetRequestToken(url: string, token: string) {\r\n try {\r\n let headers = { headers: { 'Content-Type': 'application/json;charset=utf-8', 'Authorization': \"Bearer \" + token } };\r\n ConsoleLog({ 'GetRequestToken.url': url });\r\n ConsoleLog({ 'GetRequestToken.headers': headers });\r\n const response = await axios.get(url, headers) as Response;\r\n ConsoleLog({ 'GetRequestToken.response': response });\r\n return new ServiceCallResponse(true, '', '', (response as any).data, response.status);\r\n // return await this.ResponseProcessor(response)\r\n } catch (error: any) {\r\n ConsoleLog({ 'GetRequestToken.catch.error': error });\r\n if (error?.response?.status === 400) {\r\n return new ServiceCallResponse(false, error.response.data, '', [], error.response.status);\r\n }\r\n return new ServiceCallResponse(false, error, '', [], error.response?.status);\r\n }\r\n }\r\n\r\n public async PostRequest(url: string, post: string, token: string) {\r\n if (!config.app.useLamda) {\r\n return await this.PostRequestLocal(url, post, token);\r\n } else {\r\n return await this.PostRequestLamda(url, post, token);\r\n }\r\n }\r\n\r\n public async PostRequestLocal(url: string, postData: any, token: string) {\r\n try {\r\n ConsoleLog({ 'PostRequest.postDataLocal': postData });\r\n // const token = await this._authService.getAccessToken();\r\n // if (token == null) return '认证失败,系统自动重新登录';\r\n //set the access_token for calling the api\r\n const accessToken = \"YW1lcmljYVx4bXByb3N2YzpTdG16MTIzIw==\";\r\n // let headers = { headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Bearer ' + token.accessToken } };\r\n let headers = { headers: { 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Basic ' + accessToken, \"X-APIKEY\": `${config.app.api_key}` } };\r\n //const response = await axios.post('https://m4phn0i3d3.execute-api.us-east-1.amazonaws.com/Prod/api/values', '=' + postData, headers);\r\n const response = await axios.post(url, JSON.stringify(postData), headers) as Response;\r\n ConsoleLog({ 'PostRequest.response': response });\r\n return await this.ResponseProcessor(response)\r\n }\r\n catch (error: any) {\r\n ConsoleLog({ 'PostRequest.catch.error': error });\r\n if (error?.response?.status === 400) {\r\n return new ServiceCallResponse(false, error.response.data, '', [], error.response.status);\r\n }\r\n return new ServiceCallResponse(false, error, '', [], error.response.status);\r\n }\r\n }\r\n public async PostRequestLamda(url: string, postData: any, token: string) {\r\n try {\r\n ConsoleLog({ 'PostRequest.postData': postData });\r\n // let headers = { headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Authorization': 'Bearer ' + token.accessToken } };\r\n let headers = { headers: { 'Content-Type': 'application/json;charset=utf-8', 'Authorization': 'Bearer ' + token } }\r\n const response = await axios.post(url, JSON.stringify(postData), headers) as Response;\r\n ConsoleLog({ 'PostRequest.response': response });\r\n return await this.ResponseProcessor(response)\r\n }\r\n catch (error: any) {\r\n ConsoleLog({ 'PostRequest.catch.error': error });\r\n if (error?.response?.status === 400) {\r\n return new ServiceCallResponse(false, error.response.data, '', [], error.response.status);\r\n }\r\n if (error?.response?.status === 504) {\r\n return new ServiceCallResponse(false, error.response.data, '', [], error.response.status);\r\n }\r\n if (error?.response?.status === 403) {\r\n return new ServiceCallResponse(false, error.response.data, '', [], error.response.status);\r\n }\r\n return new ServiceCallResponse(false, error, '', [], error.response?.status ?? 0);\r\n }\r\n }\r\n async ResponseProcessor(response: Response) {\r\n\r\n if (response.status === 200) {\r\n return new ServiceCallResponse(true, '', '', (response as any).data?.d?.results, response.status);\r\n } else if (response.status === 201) {\r\n return new ServiceCallResponse(true, '', '', (response as any).data?.d, response.status);\r\n } else if (response.status === 401) {\r\n return new ServiceCallResponse(false, Text('ml_114693', 'Authentication timeout. Please refresh to page to re-login.'), '', [], response.status);\r\n } else if (response.status === 504) {\r\n return new ServiceCallResponse(false, Text('ml_114694', 'Gateway timeout, please try again.'), '', [], response.status);\r\n }\r\n // else if (response.status === 400) {\r\n // return new ServiceCallResponse(false, 'Gateway timeout, please try again.', '', [], response.status);\r\n // }\r\n\r\n const errorText = await response.text();\r\n ConsoleLog({ 'ResponseProcessor.error': errorText });\r\n return new ServiceCallResponse(false, errorText, '', [], response.status);\r\n }\r\n\r\n}\r\nexport const apiService = new APIService();\r\n","// import { ServiceCallResponse } from \"@/models/service\";\r\n// import { ConsoleLog, IsNullOrEmpty } from \"@/utility\";\r\nimport config from '@/config/config.json';\r\nimport { ServiceCallResponse } from \"@/models/service\";\r\nimport { ConsoleLog } from \"@/utility\";\r\nimport { AuthResponse } from \"msal\";\r\nimport { apiService } from \"./APIService\";\r\nimport { authService } from \"./AuthorService\";\r\n\r\n\r\nexport async function AsyncFetchGet(url: string) {\r\n const token = await authService.getAccessToken();\r\n ConsoleLog({ \"AsyncFetchGet.token\": token })\r\n const response = await apiService.GetRequest(url, \"token\");\r\n await UnAuthCheck(response);\r\n return response;\r\n}\r\nexport async function AsyncFetchGetByToken(url: string) {\r\n const token = await authService.getAccessToken();\r\n ConsoleLog({ \"AsyncFetchGetByToken.token\": token })\r\n if (!token) {\r\n ConsoleLog({ \"AsyncFetchGetByToken\": token });\r\n console.log(\"before AsyncFetchGetByToken.authService.login()\");\r\n authService.login();\r\n return new ServiceCallResponse(false, \"AsyncFetchGetByToken.token doesn't exist\", '', [], 401);\r\n } else {\r\n const tokenString = token.accessToken;\r\n const response = await apiService.GetRequestToken(url, tokenString);\r\n await UnAuthCheck(response);\r\n return response;\r\n }\r\n}\r\n\r\nexport async function AsyncFetchPost(url: string, post: any) {\r\n const token = await authService.getAccessToken();\r\n // const accessToken = token?.accessToken ?? \"\";\r\n ConsoleLog({ \"AsyncFetchPost.token\": token })\r\n if (!token) {\r\n console.log(\"before AsyncFetchPost.authService.login()\");\r\n authService.login();\r\n return new ServiceCallResponse(false, \"AsyncFetchPost.token doesn't exist\", '', [], 401);\r\n } else {\r\n const tokenString = token.accessToken;\r\n const response = await apiService.PostRequest(url, post, tokenString);\r\n await UnAuthCheck(response);\r\n return response;\r\n }\r\n\r\n}\r\n\r\nasync function UnAuthCheck(response: any) {\r\n if (response.isSuccess === false && response.status === 401) {\r\n console.log(\"before UnAuthCheck.authService.login()\");\r\n window.location.assign(config.app.noAccessUrl);\r\n // authService.logout();\r\n }\r\n}\r\n\r\nasync function CheckToken() {\r\n const token = await authService.getAccessToken();\r\n ConsoleLog({ \"CheckToken.token\": token })\r\n if (!token) {\r\n ConsoleLog({ \"CheckToken\": token });\r\n console.log(\"before UnAuthCheck.authService.login()\");\r\n authService.login();\r\n return new ServiceCallResponse(false, \"AsyncFetchGetByToken.token doesn't exist\", '', [], 401);\r\n } else {\r\n return token;\r\n }\r\n}\r\n","import { IMaintainNotification, MaintainNotification, INotificationFilter } from \"@/models/maitain-notification\";\r\nimport { ConsoleLog, Timeout } from \"@/utility\";\r\nimport config from '@/config/config.json';\r\nimport { CreateQuestionTractor, CreateQuestionChassis, CreateQuestionVessel, IQuestionFilter } from \"@/models/question-section\";\r\nimport { ParseQuestions } from \"./data-process/questions-process\";\r\nimport { serviceAddress } from \"./service-address\";\r\nimport { AsyncFetchGet, AsyncFetchGetByToken, AsyncFetchPost } from \"./shared-service\";\r\nimport { CustomResponse } from \"@/models/service\";\r\nimport { GeneratePlantList } from \"./data-process/plant-process\";\r\nimport { GenerateEquipmentNotifications, GenerateFive, GenerateLastEvcr, GenerateVehicleList, GenerateVehicleListTest, HandlePostResponse } from \"./data-process/basic-process\";\r\nimport { GenerateQuestions } from \"./data-process/questions-process\";\r\nimport { IEvcrPost } from \"@/models/evcr-post\";\r\nimport { ITripInfo } from \"@/models/trip-info\";\r\nimport { PrintFormPost, IPrintFormPost } from \"@/models/evcr-post/print-form-post\";\r\n\r\nexport async function SetMaintainNotification(filter: INotificationFilter) {\r\n\r\n const url = serviceAddress.GenerateEquipmentNotificationGetUrl(filter);\r\n const response = await AsyncFetchGet(url);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n // await Timeout(1000);\r\n const returnVal = GenerateEquipmentNotifications(response);\r\n return new CustomResponse(returnVal);\r\n\r\n // notifications.push(new MaintainNotification(\"equipment01\", \"desc01\", \"evcr01\", '2021-02-01', \"12:30\", \"status value\"));\r\n // notifications.push(new MaintainNotification(\"equipment02\", \"desc02\", \"evcr01\", '2021-02-02', \"12:40\", \"status value2\"));\r\n}\r\n\r\nexport async function GetQuestions(filter: IQuestionFilter) {\r\n const url = serviceAddress.GenerateQuestionGetUrl(filter);\r\n const response = await AsyncFetchGet(url);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n const returnVal = GenerateQuestions(response, filter);\r\n return new CustomResponse(returnVal);\r\n}\r\n\r\nexport async function GetEvcrValidation(filter: ITripInfo) {\r\n const url = serviceAddress.GenerateValidateEvcrGetUrl(filter);\r\n const response = await AsyncFetchGet(url);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n return new CustomResponse(response.result);\r\n}\r\n\r\nexport async function PostNewEvcr(data: IEvcrPost) {\r\n const url = serviceAddress.GeneratePostNewEvcrUrl();\r\n const response = await AsyncFetchPost(url, data);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n return new CustomResponse(response);\r\n}\r\n\r\n//export async function PostNewEvcrSign(data: IEvcrPost) {\r\n// const url = serviceAddress.GeneratePostNewEvcrSignUrl();\r\n// const response = await AsyncFetchPost(url, data);\r\n// if (response.isSuccess === false) {\r\n// return new CustomResponse(response, false);\r\n// }\r\n// return new CustomResponse(response);\r\n//}\r\n\r\nexport async function PostNewEvcrSign(data: IPrintFormPost) {\r\n const url = serviceAddress.GeneratePostNewEvcrSignUrl();\r\n const response = await AsyncFetchPost(url, data);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n return new CustomResponse(response);\r\n}\r\n\r\nexport async function PostEvcrImages(data: IEvcrPost) {\r\n try {\r\n const url = serviceAddress.GeneratePostEvcrImagesUrl();\r\n const response = await AsyncFetchPost(url, data);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n return new CustomResponse(response);\r\n } catch (error) {\r\n ConsoleLog({ 'PostEvcrImages.error': error, \"data\": data })\r\n return new CustomResponse(error, false);\r\n }\r\n}\r\n\r\nexport async function GetLastEvcr(filter: ITripInfo) {\r\n const url = serviceAddress.GenerateLastEvcrGetUrl(filter);\r\n const response = await AsyncFetchGet(url);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n const returnVal = GenerateLastEvcr(response, filter);\r\n return new CustomResponse(returnVal);\r\n}\r\n\r\nexport async function GetFive() {\r\n const url = serviceAddress.GenerateGetFiveUrl();\r\n const response = await AsyncFetchGetByToken(url);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n const returnVal = GenerateFive(response);\r\n return new CustomResponse(returnVal);\r\n}\r\n\r\nexport async function GetVehicleList(countryCode:string) {\r\n // countryCode ='CN'\r\n const url = serviceAddress.GenerateCounryVehiclesGetUrl(countryCode);\r\n const response = await AsyncFetchGet(url);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n const returnVal = GenerateVehicleList(response);\r\n // const returnVal = GenerateVehicleListTest(response);\r\n return new CustomResponse(returnVal);\r\n}\r\n","export interface IVehicle {\r\n vehicleId: string;\r\n vesselId: string;\r\n category: string;\r\n category2: string;\r\n country: string;\r\n plant: string;\r\n name1: string;\r\n}\r\n\r\nexport class Vehicle implements IVehicle {\r\n vehicleId: string;\r\n vesselId: string;\r\n category: string;\r\n category2: string;\r\n country: string;\r\n plant: string;\r\n name1: string; \r\n\r\n constructor(\r\n vehicleId: string,\r\n vesselId: string,\r\n category: string,\r\n category2: string,\r\n country: string,\r\n plant: string,\r\n name1: string,\r\n\r\n ) {\r\n this.vehicleId = vehicleId;\r\n this.vesselId = vesselId;\r\n this.category = category;\r\n this.category2 = category2;\r\n this.country = country;\r\n this.plant = plant;\r\n this.name1 = name1;\r\n }\r\n}\r\nexport function CreateVehicle() {\r\n return new Vehicle(\"\", \"\",\"\", \"\", \"\", \"\", \"\");\r\n}","import { QuestionSectionType, QuestionType, RegularAnswer, SapQuestionType, SapVehcileType, SapVehcileCategory } from \"@/models/enums\";\r\nimport { MaintainNotification } from \"@/models/maitain-notification\";\r\nimport { CreateQuestionChassis, CreateQuestionTractor, CreateQuestionVessel, IQuestionFilter, IQuestionSection, QuestionSection } from \"@/models/question-section\";\r\nimport { Question } from \"@/models/question-section/question\";\r\nimport { SubSection } from \"@/models/question-section/sub-section\";\r\nimport * as consts from \"@/models/consts\"\r\nimport { ServiceCallResponse } from \"@/models/service\";\r\nimport { OrderedByPlantId, OrderedBySequnceId, OrderedBySubSectionId, OrderedByVehicleId } from \"@/utility/sortHelper\";\r\nimport { CloneObj, ConsoleLog, ConvertDateTime, DateFormatForSAP, IsNullOrEmpty, Text, TimeFormatForSAP } from \"@/utility\";\r\nimport { CreateTripInfo, ITripInfo, TripInfo } from \"@/models/trip-info\";\r\nimport { HandleSapReturnCode, GetTranslationAdditionalQues, PrePostItems, TripTypetems } from \"@/utility/ui-utility\";\r\nimport { GetEvcrValidation } from \"../evcr-svc\";\r\nimport { IVehicle, Vehicle } from \"@/models/vehicle\";\r\n\r\n\r\nexport function GenerateEquipmentNotifications(data: ServiceCallResponse) {\r\n if (!data || !data.result || data.result.length === 0) {\r\n return [];\r\n }\r\n return data.result.map(\r\n (element: any) =>\r\n new MaintainNotification(\r\n element.TractorLicense + element.ChassisLicense + element.LBShellID,\r\n element.NotificationTitle ?? '',\r\n element.NotificationID ?? '',\r\n element.Comments ?? '',\r\n element.NotificationDate ?? '',\r\n element.NotificationTime ?? '',\r\n element.NotificationStatus ?? '',\r\n ),\r\n );\r\n}\r\n\r\nexport function GenerateQuestions(data: ServiceCallResponse, filter: IQuestionFilter) {\r\n ConsoleLog(['GenerateQuestions', CloneObj(data), CloneObj(filter)]);\r\n if (!data || !data.result || data.result.length === 0) {\r\n return { tractor: {} as QuestionSection, chassis: {} as QuestionSection, vessel: {} as QuestionSection };\r\n }\r\n let chassisSection = CreateQuestionChassis(false, false);;\r\n let vesselSection = CreateQuestionVessel(false, false);\r\n const tractorSection = GenerateQuestionSection(data.result, QuestionSectionType.Tractor, filter)\r\n if (!IsNullOrEmpty(filter.chassis)) {\r\n chassisSection = GenerateQuestionSection(data.result, QuestionSectionType.Chassis, filter)\r\n }\r\n if (!IsNullOrEmpty(filter.vessel)) {\r\n vesselSection = GenerateQuestionSection(data.result, QuestionSectionType.Vessel, filter)\r\n }\r\n //test only: set the question anser\r\n // SetQuestionAnswer(tractorSection);\r\n // SetQuestionAnswer(chassisSection);\r\n // SetQuestionAnswer(vesselSection);\r\n return { tractor: tractorSection, chassis: chassisSection, vessel: vesselSection }\r\n\r\n // const tractorQuestions = data.result.filter(item => { item.VehcileType === SapVehcileType.Tractor });\r\n // const tractorAdditionalQuestions = tractorQuestions.filter(item => { item.QuestionType === consts.SAP_QUESTION_TYPE_ADDTIONAL }).sort(OrderedBySequnceId);\r\n // const tractorSection = CreateQuestionTractor(tractorAdditionalQuestions.length > 0);\r\n // const tractorRegularQuestions = tractorQuestions.filter(item => { item.QuestionType === consts.SAP_QUESTION_TYPE_REGULAR }).sort(OrderedBySubSectionId);\r\n\r\n // const tractorSubSectionIndex = [... new Set(tractorQuestions.filter(item => { item.QuestionType === consts.SAP_QUESTION_TYPE_REGULAR }).map(data => data.SectionID))].sort();\r\n // //regular questions for tractor\r\n // tractorSubSectionIndex.forEach(subIndex => {\r\n // let subSection = new SubSection(subIndex, false);\r\n // const questions = tractorRegularQuestions.filter(item => { item.SectionID === subIndex }).sort(OrderedBySequnceId);\r\n // questions.forEach(que => {\r\n // subSection.questions.push(new Question(que.SequenceID, que.QuestionDesc, '', false, '', '', que.QuestionInsText, QuestionType.Regular, true, subIndex, QuestionSectionType.Tractor, \"\", false));\r\n // });\r\n // tractorSection.regularQuestionCollection.push(subSection)\r\n // });\r\n // //additional question for tractor\r\n // let subSectionAdditionalTractor = new SubSection(consts.STR_ADDTIONAL_QUE, false);\r\n // tractorAdditionalQuestions.forEach(que => {\r\n // const dataType = ConvertQueTypeToFrontEnd(que.DataType);\r\n // subSectionAdditionalTractor.questions.push(new Question(que.SequenceID, que.QuestionDesc, '', false, '', '', que.QuestionInsText, dataType,\r\n // false, consts.STR_ADDTIONAL_QUE, QuestionSectionType.Tractor, que.DataType === SapQuestionType.Number ? `${que.LowerLimit}-${que.UpperLimit}` : \"\", IsBooleanQuestion(que.DataType)));\r\n // });\r\n // tractorSection.additionalQuestionCollection.push(subSectionAdditionalTractor)\r\n}\r\n\r\nexport const SetQuestionAnswer = (section: IQuestionSection) => {\r\n section.regularQuestionCollection.forEach(item => {\r\n item.questions.forEach(que => { que.answer = RegularAnswer.NA })\r\n });\r\n section.additionalQuestionCollection.forEach(item => {\r\n item.questions.forEach(que => {\r\n if (que.questionType !== QuestionType.Number) {\r\n que.answer = RegularAnswer.NA;\r\n } else {\r\n que.answer = \"10\";\r\n }\r\n })\r\n });\r\n}\r\nexport const GenerateQuestionSection = (sapQuestios: any[], sectionType: QuestionSectionType, filter: IQuestionFilter) => {\r\n ConsoleLog(['GenerateQuestionSection', CloneObj(sapQuestios), sectionType]);\r\n const vehicleType = ConvertToSAPVehicleType(sectionType)\r\n // const questions = sapQuestios.filter(item => item.VehcileType === vehicleType);\r\n let questions: any[] = [];\r\n switch (sectionType) {\r\n case QuestionSectionType.Tractor:\r\n questions = sapQuestios.filter(item => item.TractorLicense === filter.tractor);\r\n break;\r\n case QuestionSectionType.Chassis:\r\n questions = sapQuestios.filter(item => item.ChassisLicense === filter.chassis);\r\n break;\r\n case QuestionSectionType.Vessel:\r\n questions = sapQuestios.filter(item => item.LBShellID === filter.vessel);\r\n break;\r\n }\r\n\r\n const additionalQuestions = questions.filter(item => item.QuestionType === consts.SAP_QUESTION_TYPE_ADDTIONAL);//.sort(OrderedBySequnceId);\r\n const regularQuestions = questions.filter(item => item.QuestionType === consts.SAP_QUESTION_TYPE_REGULAR);//.sort(OrderedBySubSectionId);\r\n let section = CreateQuestionTractor(false);\r\n switch (sectionType) {\r\n case QuestionSectionType.Tractor:\r\n section = CreateQuestionTractor(additionalQuestions.length > 0);\r\n break;\r\n case QuestionSectionType.Chassis:\r\n section = CreateQuestionChassis(true, additionalQuestions.length > 0);\r\n break;\r\n case QuestionSectionType.Vessel:\r\n section = CreateQuestionVessel(true, additionalQuestions.length > 0);\r\n break;\r\n }\r\n section.isSelected = true;\r\n ConsoleLog(['GenerateQuestionSection,questions,regularQuestions,additionalQuestions,', CloneObj(questions), CloneObj(regularQuestions), CloneObj(additionalQuestions)]);\r\n //need to convert index from string to number in order to have the proper order.\r\n const subSectionIndex = [... new Set(questions.filter(item => item.QuestionType === consts.SAP_QUESTION_TYPE_REGULAR).map(data => data.SectionID))].sort();\r\n //regular questions \r\n ConsoleLog(['GenerateQuestionSection,subSectionIndex', subSectionIndex]);\r\n subSectionIndex.forEach(subIndex => {\r\n let subSection = new SubSection(subIndex, false);\r\n const questions = regularQuestions.filter(item => item.SectionID === subIndex);//.sort(OrderedBySequnceId);\r\n questions.forEach(que => {\r\n subSection.questions.push(new Question(que.SequenceID, que.QuestionDesc, '', false, '', que.QuestionInsText\r\n , QuestionType.Regular, true, subIndex, sectionType, \"\", false, que.EquipmentID\r\n ,que.VehicleType , que.CodeGroup ?? '', que.Code, que.Charact, que.HardStop.length > 0, que.SequenceID, que.SectionID));\r\n });\r\n section.regularQuestionCollection.push(subSection)\r\n });\r\n // ConsoleLog(['GenerateQuestionSection,regularQuestionCollection,', CloneObj(section.regularQuestionCollection)]);\r\n\r\n //additional question \r\n let subSectionAdditional = new SubSection(GetTranslationAdditionalQues(), false);\r\n additionalQuestions.forEach(que => {\r\n const dataType = ConvertQueTypeToFrontEnd(que.DataType);\r\n subSectionAdditional.questions.push(new Question(que.SequenceID, que.QuestionDesc, '', false, '', que.QuestionInsText, dataType,\r\n false, consts.STR_ADDTIONAL_QUE, sectionType, que.DataType === SapQuestionType.Number ? `${que.LowerLimit}--${que.UpperLimit}` : \"\"\r\n , IsBooleanQuestion(que.DataType), que.EquipmentID\r\n ,que.VehicleType, que.CodeGroup ?? '', que.Code, que.Charact, que.HardStop.length > 0, que.SequenceID, que.SectionID));\r\n });\r\n section.additionalQuestionCollection.push(subSectionAdditional)\r\n // ConsoleLog(['GenerateQuestionSection,additionalQuestionCollection,', CloneObj(section.additionalQuestionCollection)]);\r\n return section;\r\n}\r\n\r\nexport const ConvertToSAPVehicleType = (sectionType: QuestionSectionType) => {\r\n let typeReturn: SapVehcileType = SapVehcileType.Tractor;;\r\n switch (sectionType) {\r\n case QuestionSectionType.Tractor:\r\n typeReturn = SapVehcileType.Tractor\r\n break;\r\n case QuestionSectionType.Chassis:\r\n typeReturn = SapVehcileType.Chassis\r\n break;\r\n case QuestionSectionType.Vessel:\r\n typeReturn = SapVehcileType.Vessel\r\n break;\r\n }\r\n ConsoleLog(['ConvertToSAPVehicleType', typeReturn]);\r\n return typeReturn;\r\n}\r\n\r\nexport const ConvertQueTypeToFrontEnd = (sapQueType: string) => {\r\n let typeReturn: QuestionType = QuestionType.Regular;;\r\n switch (sapQueType) {\r\n case SapQuestionType.Char:\r\n typeReturn = QuestionType.Char\r\n break;\r\n case SapQuestionType.Boolean:\r\n typeReturn = QuestionType.Boolean\r\n break;\r\n case SapQuestionType.Number:\r\n typeReturn = QuestionType.Number\r\n break;\r\n }\r\n return typeReturn;\r\n}\r\nexport const IsBooleanQuestion = (sapQueType: string) => {\r\n return sapQueType === SapQuestionType.Boolean ? true : false;\r\n}\r\n\r\nexport function HandlePostResponse(data: ServiceCallResponse) {\r\n ConsoleLog(['HandlePostResponse', CloneObj(data)]);\r\n // if (!data || !data.result || data.result.length === 0) {\r\n // return { tractor: {} as QuestionSection, chassis: {} as QuestionSection, vessel: {} as QuestionSection };\r\n // }\r\n\r\n}\r\n\r\nexport const ValidateEvcr = async (filter: ITripInfo) => {\r\n const res = await GetEvcrValidation(filter)\r\n let msg = \"\";\r\n if (res.isSuccess === false) {\r\n ConsoleLog([\"ValidateEvcr.isSuccess === false\", res]);\r\n msg = HandleSapReturnCode(res.data?.error, Text('', \"Encountered error when validating the eVCR\"))\r\n }\r\n return msg;\r\n}\r\n\r\nexport const HandelGettingSapReturnCode = (sapQueType: string) => {\r\n\r\n}\r\n\r\nexport function GenerateLastEvcr(data: ServiceCallResponse, filter: ITripInfo) {\r\n ConsoleLog({ 'GenerateLastEvcr': CloneObj(data), \"filter:\": CloneObj(filter) });\r\n if (!data || !data.result || data.result.length === 0) {\r\n return { tripInfo: {} as TripInfo, questions: [] as Question[] };\r\n }\r\n const result = data.result[0] as any;\r\n // const dataTime = ConvertDateTime(result.TimeStamp);\r\n\r\n // const tripInfo = new TripInfo(result.TripType, TripTypetems(), result.LBShellTrip, result.PrePost, PrePostItems(), result.Plant,\r\n // result.Driver1, result.Driver1Name, '', result.TractorLicense\r\n // , result.ThirdPartyInd === consts.STR_THIRD_PARTY_TRUE ? true : false, result.ChassisLicense, result.LBShellID, result.OdoMeter, DateFormatForSAP(result.Date), TimeFormatForSAP(result.Time),\"\",\"\",\"\",\"\",\"\");\r\n\r\n // 20221125 mark third party flag of tractor chassis vessel to false\r\n const tripInfo = new TripInfo(result.TripType, TripTypetems(), result.LBShellTrip, result.PrePost, PrePostItems(), result.Plant, result.Plant,\r\n result.Driver1, result.Driver1Name, '', result.TractorLicense\r\n , false, '', result.ThirdPartyInd === consts.STR_THIRD_PARTY_TRUE ? true : false, result.ChassisLicense, false, '', result.LBShellID, false, '', result.OdoMeter, DateFormatForSAP(result.Date), TimeFormatForSAP(result.Time),\"\",\"\",\"\",\"\",\"\");\r\n\r\n \r\n const questions = GenerateQuestionsView(result.eVCRRecordItemSet.results, QuestionSectionType.Tractor, filter)\r\n return { tripInfo: tripInfo, questions: questions, }\r\n}\r\n\r\nexport const GenerateQuestionsView = (sapQuestios: any[], sectionType: QuestionSectionType, filter: ITripInfo) => {\r\n ConsoleLog(['GenerateQuestionSection', CloneObj(sapQuestios), sectionType]);\r\n const questions: Question[] = [];\r\n ConsoleLog(['GenerateQuestionsView,sapQuestios,filter,', CloneObj(questions), CloneObj(filter)]);\r\n sapQuestios.forEach(que => {\r\n const question = new Question(que.SequenceID, que.QuestionDesc, que.Answer, que.NotificationInd, que.Comments, ''\r\n , QuestionType.Regular, true, \"\", QuestionSectionType.Tractor, \"\", false, que.EquipmentID\r\n ,que.VehicleType, que.CodeGroup ?? '', que.Code, que.Charact, que.HardStop?.length > 0, que.SequenceID, que.SectionID);\r\n // question.attachmentBase64 = que.Image\r\n questions.push(question);\r\n });\r\n return questions;\r\n}\r\n\r\nexport function GenerateFive(data: ServiceCallResponse) {\r\n // ConsoleLog(['GenerateFive', CloneObj(data)]);\r\n if (!data) {\r\n return { five: null };\r\n }\r\n return { five: data.result }\r\n}\r\nexport function GenerateVehicleList(data: ServiceCallResponse) {\r\n if (!data || !data.result || data.result.length === 0) {\r\n return [];\r\n }\r\n return data.result.map(\r\n (element: any) =>\r\n new Vehicle(\r\n element.VehicleID ?? '',\r\n element.VesselID ?? '',\r\n element.VehicleCat ?? '',\r\n element.VehicleCat2 ?? '',\r\n element.Country ?? '',\r\n element.Plant ?? '',\r\n element.Name1 ?? '',\r\n ),\r\n ).sort(OrderedByVehicleId);\r\n}\r\n\r\nexport function GenerateVehicleListTest(data: ServiceCallResponse) {\r\n const vehicles: IVehicle[] = [];\r\n let country='CN';\r\n let plant='123';\r\n let name='abc';\r\n for (var i = 0; i < 60; i++) {\r\n let category = SapVehcileCategory.Tractor;\r\n let category2 = SapVehcileCategory.Tractor;\r\n if (i % 3 === 0) {\r\n category = SapVehcileCategory.Chassis;\r\n category2 = SapVehcileCategory.Vessel;\r\n } else if (i % 4 === 0) {\r\n category = SapVehcileCategory.Vessel;\r\n category2 = SapVehcileCategory.Chassis;\r\n }\r\n vehicles.push(new Vehicle(\r\n 'vehicleId' + i.toString(),\r\n category,\r\n 'vehicleId' + i.toString(),\r\n category2,\r\n country,\r\n plant,\r\n name\r\n ));\r\n }\r\n vehicles.push(new Vehicle('沪AT3109', '45Q001',SapVehcileCategory.Tractor,SapVehcileCategory.Chassis,country,plant,name));\r\n vehicles.push(new Vehicle('陕EU002挂', '45Q001',SapVehcileCategory.Chassis,SapVehcileCategory.Vessel,country,plant,name));\r\n vehicles.push(new Vehicle('45Q001', '45Q001',SapVehcileCategory.Vessel,SapVehcileCategory.Chassis,country,plant,name));\r\n ConsoleLog({ 'GenerateVehicleListTest': vehicles });\r\n return vehicles;\r\n}\r\n\r\n\r\n","import { QuestionSectionType, QuestionType, RegularAnswer, SapQuestionType } from \"@/models/enums\";\r\nimport * as consts from \"@/models/consts\";\r\nimport { CreateQuestionTractor, CreateQuestionChassis, CreateQuestionVessel, IQuestionSection, IQuestionFilter, QuestionSection, CreateQuestionAll } from \"@/models/question-section\";\r\nimport { CreateEmptyFile, IQuestion, Question } from \"@/models/question-section/question\";\r\nimport { ISubSection, SubSection } from \"@/models/question-section/sub-section\";\r\nimport { CloneObj, ConsoleLog, DeepClone, IsNullOrEmpty } from \"@/utility\";\r\nimport { ServiceCallResponse } from \"@/models/service\";\r\nimport { OrderedBySequnceId, OrderedBySubSectionId } from \"@/utility/sortHelper\";\r\nimport { GetTranslationAdditionalQues, QuestionsPicName, QuestionsThumbnailName } from \"@/utility/ui-utility\";\r\nimport { ConvertQueTypeToFrontEnd, IsBooleanQuestion } from \"./basic-process\";\r\n\r\nimport config from \"@/config/config.json\";\r\nimport { IAttachment } from \"@/models/question-section/attachment\";\r\n\r\nexport function GenerateQuestions(data: ServiceCallResponse, filter: IQuestionFilter) {\r\n ConsoleLog(['GenerateQuestions', CloneObj(data), CloneObj(filter)]);\r\n //the first part is regular questions for all part\r\n // the second part is addional questions for all part.\r\n if (!data || !data.result || data.result.length === 0) {\r\n return { questions: {} as QuestionSection };\r\n }\r\n const tractorSection = GenerateQuestionSection(data.result, QuestionSectionType.Tractor, filter)\r\n return { questions: tractorSection }\r\n}\r\n\r\n\r\nexport const GenerateQuestionSection = (sapQuestios: any[], sectionType: QuestionSectionType, filter: IQuestionFilter) => {\r\n ConsoleLog(['GenerateQuestionSection', CloneObj(sapQuestios), sectionType]);\r\n const additionalQuestions = sapQuestios.filter(item => item.QuestionType === consts.SAP_QUESTION_TYPE_ADDTIONAL);//.sort(OrderedBySequnceId);\r\n const regularQuestions = sapQuestios.filter(item => item.QuestionType === consts.SAP_QUESTION_TYPE_REGULAR);//.sort(OrderedBySubSectionId);\r\n let section = CreateQuestionAll(false, additionalQuestions.length > 0);\r\n\r\n section.isSelected = true;\r\n ConsoleLog(['GenerateQuestionSection,questions,regularQuestions,additionalQuestions,', CloneObj(sapQuestios), CloneObj(regularQuestions), CloneObj(additionalQuestions)]);\r\n //need to convert index from string to number in order to have the proper order.\r\n const subSectionIndex = [... new Set(sapQuestios.filter(item => item.QuestionType === consts.SAP_QUESTION_TYPE_REGULAR).map(data => data.SectionID))];//.sort();\r\n //regular questions \r\n ConsoleLog(['GenerateQuestionSection,subSectionIndex', subSectionIndex]);\r\n subSectionIndex.forEach(subIndex => {\r\n let subSection = new SubSection(subIndex, false);\r\n subSection.subSectionTitle = subIndex;\r\n const questions = regularQuestions.filter(item => item.SectionID === subIndex);//.sort(OrderedBySequnceId);\r\n questions.forEach(que => {\r\n subSection.questions.push(new Question(que.SequenceID, que.QuestionDesc, '', false, '', que.QuestionInsText, QuestionType.Regular\r\n , true, subIndex, sectionType, \"\", false, que.EquipmentID\r\n , que.VehicleType, que.CodeGroup ?? '', que.Code, que.Charact, que.HardStop.length > 0, que.SequenceID, que.SectionID));\r\n });\r\n section.regularQuestionCollection.push(subSection)\r\n });\r\n // ConsoleLog(['GenerateQuestionSection,regularQuestionCollection,', CloneObj(section.regularQuestionCollection)]);\r\n\r\n //additional question \r\n let subSectionAdditional = new SubSection(consts.STR_ADDITION_ID, false);\r\n subSectionAdditional.subSectionTitle = GetTranslationAdditionalQues()\r\n let additionalIndex = 0;\r\n additionalQuestions.forEach(que => {\r\n const dataType = ConvertQueTypeToFrontEnd(que.DataType);\r\n subSectionAdditional.questions.push(new Question(que.SequenceID.length === 0 ? additionalIndex.toString() : que.SequenceID, que.QuestionDesc\r\n , '', false, '', que.QuestionInsText, dataType,\r\n false, consts.STR_ADDITION_ID, sectionType, que.DataType === SapQuestionType.Number ? `${que.LowerLimit}--${que.UpperLimit}` : \"\"\r\n , IsBooleanQuestion(que.DataType), que.EquipmentID\r\n , que.VehicleType, que.CodeGroup ?? '', que.Code, que.Charact, que.HardStop.length > 0, que.SequenceID, que.SectionID));\r\n additionalIndex = additionalIndex + 1;\r\n });\r\n if (additionalQuestions.length === 0) {\r\n section.containAdditionalQuestion = false;\r\n }\r\n section.additionalQuestionCollection.push(subSectionAdditional)\r\n // ConsoleLog(['GenerateQuestionSection,additionalQuestionCollection,', CloneObj(section.additionalQuestionCollection)]);\r\n if (sapQuestios.length > 0) {\r\n // section.imageName = `${fileName}?v=${config.app.version}`\r\n section.imageName = `${QuestionsPicName(sapQuestios[0].QuestionTmpl)}`;\r\n section.thumbnailName = `${QuestionsThumbnailName(sapQuestios[0].QuestionTmpl)}`;\r\n }\r\n return section;\r\n}\r\n\r\nexport const ParseQuestions = (data: any) => {\r\n\r\n // return res.results;\r\n // return new MaintainNotification(\"equipment01\",\"desc01\",\"evcr01\",'2021-02-01',\"12:30\",\"status value\");\r\n const questionTractor = CreateQuestionTractor(false);\r\n\r\n //testing data\r\n const questionChassis = CreateQuestionChassis(false, false);\r\n\r\n const questionVessel = CreateQuestionVessel(true, false);\r\n\r\n return { tractor: questionTractor, chassis: questionChassis, vessel: questionVessel }\r\n}\r\nexport const GetQuestionSection = (questionSection: QuestionSectionType, obj: any) => {\r\n let section: IQuestionSection;\r\n switch (questionSection) {\r\n case QuestionSectionType.Tractor:\r\n section = obj.questionTractor;\r\n break;\r\n case QuestionSectionType.Chassis:\r\n section = obj.questionChassis;\r\n break;\r\n case QuestionSectionType.Vessel:\r\n section = obj.questionVessel;\r\n break;\r\n }\r\n return section;\r\n}\r\n\r\nexport const IsNumberGood = (value: string, range: string) => {\r\n let isGood = false;\r\n if (IsNullOrEmpty(value) || IsNullOrEmpty(range)) {\r\n return isGood;\r\n }\r\n try {\r\n const min = Number(range.split('--')[0]);\r\n const max = Number(range.split('--')[1]);\r\n const numberValue = Number(value);\r\n ConsoleLog(['IsNumberGood', value, range, min, max, numberValue]);\r\n if (isNaN(min) || isNaN(max) || isNaN(numberValue)) {\r\n // return isGood;\r\n ConsoleLog(['IsNumberGood.Number is not a number.']);\r\n } else {\r\n isGood = numberValue >= min && numberValue <= max;\r\n }\r\n ConsoleLog(['IsNumberGood.isGood', isGood]);\r\n } catch (error) {\r\n ConsoleLog(['IsNumberGood.error', value, range])\r\n }\r\n return isGood;\r\n};\r\n\r\nexport function ClearQuestionAnswer(question: Question) {\r\n ConsoleLog({ 'ClearQuestionAnswer': DeepClone(question) });\r\n // question.attachment = CreateEmptyFile()\r\n // question.fileName = \"\"\r\n // question.attachmentBase64 = \"\";\r\n question.issueDesc = \"\"\r\n}\r\n\r\nexport const UpdateQuestionSectionHasDefect = (section: IQuestionSection) => {\r\n let questionSectionHasRegularDefect = false;\r\n let questionSectionHasAdditionalDefect = false;\r\n //Regular Section\r\n\r\n let containTopDefect = false;\r\n section.regularQuestionCollection.forEach((item: SubSection) => {\r\n let containDefect = false;\r\n item.questions.forEach((question: Question) => {\r\n if (question.notificationIsNeeded) {\r\n containDefect = true;\r\n questionSectionHasRegularDefect = true;\r\n if (question.hardStop) {\r\n containTopDefect = true;\r\n }\r\n }\r\n });\r\n item.containDefect = containDefect;\r\n });\r\n //additinal section\r\n // additionalQuestionContainDefect\r\n \r\n section.additionalQuestionCollection.forEach((item: SubSection) => {\r\n let containAdditionalDefect = false;\r\n item.questions.forEach((question: Question) => {\r\n if (question.notificationIsNeeded) {\r\n containAdditionalDefect = true;\r\n questionSectionHasAdditionalDefect = true;\r\n if (question.hardStop) {\r\n containTopDefect = true;\r\n }\r\n }\r\n });\r\n item.containDefect = containAdditionalDefect;\r\n });\r\n // section.containDefect = questionSectionHasRegularDefect || questionSectionHasAdditionalDefect;\r\n section.containDefect = questionSectionHasRegularDefect;\r\n section.additionalQuestionContainDefect = questionSectionHasAdditionalDefect;\r\n section.containTopDefect = containTopDefect;\r\n};\r\n\r\nexport const EvcrHasDefect = (section: IQuestionSection) => {\r\n let hasDefect = true;\r\n //Regular Section\r\n for (const item of section.regularQuestionCollection) {\r\n var items = item.questions.filter((question: Question) => { question.notificationIsNeeded === true });\r\n if (items.length > 0) {\r\n return hasDefect\r\n }\r\n };\r\n // additionalQuestionContainDefect\r\n for (const item of section.additionalQuestionCollection) {\r\n var items = item.questions.filter((question: Question) => { question.notificationIsNeeded === true });\r\n if (items.length > 0) {\r\n return hasDefect\r\n }\r\n\r\n };\r\n return false;\r\n};\r\n\r\nexport const EvcrHasQuestion = (section: IQuestionSection) => {\r\n let hasQuestion = false;\r\n if (!section.regularQuestionCollection) {\r\n return hasQuestion;\r\n }\r\n //Regular Section\r\n for (const item of section.regularQuestionCollection) {\r\n if (item.questions.length > 0) {\r\n hasQuestion = true;\r\n return hasQuestion;\r\n }\r\n };\r\n // additionalQuestionContainDefect\r\n for (const item of section.additionalQuestionCollection) {\r\n if (item.questions.length > 0) {\r\n hasQuestion = true;\r\n return hasQuestion;\r\n }\r\n };\r\n return hasQuestion;\r\n};\r\n\r\nexport const EvcrFormValidate = (section: IQuestionSection) => {\r\n let validatedRegular = false;\r\n let validatedAdditional = false;\r\n //Regular Section\r\n if (section.regularQuestionCollection.length === 0) {\r\n validatedRegular = true;\r\n } else {\r\n for (const item of section.regularQuestionCollection) {\r\n if (!item.validated) {\r\n return false;\r\n }\r\n };\r\n validatedRegular = true;\r\n }\r\n\r\n // additionalQuestionContainDefect\r\n if (!section.containAdditionalQuestion) {\r\n validatedAdditional = true;\r\n } else {\r\n for (const item of section.additionalQuestionCollection) {\r\n if (item.questions.length > 0) {\r\n if (!item.validated) {\r\n return false;\r\n }\r\n }\r\n };\r\n validatedAdditional = true;\r\n }\r\n\r\n return validatedRegular && validatedAdditional;\r\n};\r\n\r\nconst validateAttachments = (attachments: IAttachment[]) => {\r\n let validated = false;\r\n let index = 0;\r\n attachments.forEach(item => {\r\n if (index === 0 && IsNullOrEmpty(item.attachmentBase64)) {\r\n return validated;\r\n }\r\n index++;\r\n });\r\n return true;;\r\n};\r\n\r\nexport const EvcrSectionValidate = (subSection: ISubSection) => {\r\n const validated = false;\r\n for (const item of subSection.questions) {\r\n if (IsNullOrEmpty(item.answer)) {\r\n return validated;\r\n }\r\n if (item.notificationIsNeeded && IsNullOrEmpty(item.issueDesc)) {\r\n return validated;\r\n }\r\n };\r\n return true;\r\n}\r\n\r\nexport const UpdateValidatedBySubSection = (subSection: ISubSection) => {\r\n for (const item of subSection.questions) {\r\n if (IsNullOrEmpty(item.answer)) {\r\n subSection.validated = false;\r\n return;\r\n }\r\n if (item.notificationIsNeeded && IsNullOrEmpty(item.issueDesc)) {\r\n subSection.validated = false;\r\n return;\r\n }\r\n };\r\n subSection.validated = true;\r\n};\r\n\r\nexport const UpdateValidatedByQuestion = (section: IQuestionSection, question: IQuestion) => {\r\n let subSection: ISubSection;\r\n if (question.subSectionId === consts.STR_ADDITION_ID) {\r\n subSection = section.additionalQuestionCollection[0];\r\n } else {\r\n const regularSubSection = section.regularQuestionCollection.filter(item => item.subSectionId === question.subSectionId);\r\n if (regularSubSection.length === 0) {\r\n return;\r\n }\r\n subSection = regularSubSection[0]\r\n }\r\n for (const item of subSection.questions) {\r\n if (IsNullOrEmpty(item.answer)) {\r\n subSection.validated = false;\r\n return;\r\n }\r\n if (item.notificationIsNeeded && IsNullOrEmpty(item.issueDesc)) {\r\n subSection.validated = false;\r\n return;\r\n }\r\n };\r\n ConsoleLog({ \"UpdateValidatedByQuestion\": true })\r\n subSection.validated = true;\r\n};\r\n\r\nexport const GetNextSubSectionId = (section: IQuestionSection, currentId: string) => {\r\n let subSectionId = \"\";\r\n if (currentId === consts.STR_ADDITION_ID) {\r\n return subSectionId;\r\n }\r\n if (section.regularQuestionCollection.length === 1) {\r\n return subSectionId;\r\n }\r\n\r\n const currentIndex = section.regularQuestionCollection.findIndex(item => item.subSectionId === currentId);\r\n if (currentIndex < 0) {\r\n return subSectionId;\r\n }\r\n if (currentIndex + 1 <= section.regularQuestionCollection.length - 1) {\r\n subSectionId = section.regularQuestionCollection[currentIndex + 1].subSectionId;\r\n }\r\n\r\n return subSectionId;\r\n};\r\n\r\nexport const GetPreviousSubSectionId = (section: IQuestionSection, currentId: string) => {\r\n let subSectionId = \"\";\r\n if (currentId === consts.STR_ADDITION_ID) {\r\n return subSectionId;\r\n }\r\n if (section.regularQuestionCollection.length === 1) {\r\n return subSectionId;\r\n }\r\n const currentIndex = section.regularQuestionCollection.findIndex(item => item.subSectionId === currentId);\r\n if (currentIndex < 0) {\r\n return subSectionId;\r\n }\r\n\r\n if ((currentIndex - 1) > -1) {\r\n subSectionId = section.regularQuestionCollection[currentIndex - 1].subSectionId;\r\n }\r\n\r\n return subSectionId;\r\n};\r\n\r\n\r\nexport const SetFirtLastSubsection = (section: IQuestionSection, currentId: string, isRegular: boolean) => {\r\n let notLast = false;\r\n let notFirst = false;\r\n let currentIndex = -1;\r\n if (isRegular) {\r\n currentIndex = section.regularQuestionCollection.findIndex(\r\n (item: any) => item.subSectionId === currentId\r\n );\r\n if (currentIndex < 0) {\r\n notFirst = false;\r\n notLast = false;\r\n } else {\r\n // last\r\n if (currentIndex + 1 <= section.regularQuestionCollection.length - 1) {\r\n notLast = true;\r\n } else if (section.containAdditionalQuestion) {\r\n notLast = true;\r\n }\r\n // first\r\n if ((currentIndex - 1) > -1) {\r\n notFirst = true;\r\n }\r\n }\r\n } else {\r\n currentIndex = section.additionalQuestionCollection.findIndex(\r\n (item: any) => item.subSectionId === currentId\r\n );\r\n if (currentIndex < 0) {\r\n notFirst = false;\r\n notLast = false;\r\n } else {\r\n // last: only have one additional subSection for additional questions\r\n notLast = false;\r\n // first :it it has regular questions, the previous sub section should the the last regular subsection.\r\n if (section.regularQuestionCollection.length > 0) {\r\n notFirst = true;\r\n }\r\n }\r\n }\r\n return { notFirst, notLast };\r\n};\r\n\r\n\r\nexport const GetLastRegualrSubSectionId = (section: IQuestionSection) => {\r\n let subSectionId = \"\";\r\n if (section.regularQuestionCollection.length === 0) {\r\n return subSectionId;\r\n }\r\n subSectionId = section.regularQuestionCollection[section.regularQuestionCollection.length - 1].subSectionId;\r\n return subSectionId;\r\n};","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport nextTick from 'vue'\r\nimport {\r\n CloneObj,\r\n ConsoleLog,\r\n IsDebug,\r\n Timeout,\r\n validateOdometer,\r\n Text,\r\n GetDatePart,\r\n GetTimePart,\r\n IsNullOrEmpty,\r\n CountArrayDuplicate,\r\n} from \"@/utility\";\r\nimport * as consts from \"@/models/consts\";\r\nimport {\r\n QuestionSectionType,\r\n PageName,\r\n TripType,\r\n SapVehcileCategory,\r\n} from \"@/models/enums\";\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"@/store/store-mapping\";\r\nimport { mapGetters } from \"vuex\";\r\nimport QrScaner from \"@/components/QrScaner.vue\";\r\nimport FormInput from \"@/components/FormInput.vue\";\r\nimport { ISelectItem, SelectItem } from \"@/models/select-item\";\r\nimport FormRadioGroup from \"@/components/FormRadioGroup.vue\";\r\nimport FormSelect from \"@/components/FormSelect.vue\";\r\nimport FormAutocomplete from \"@/components/FormAutocomplete.vue\";\r\nimport config from \"@/config/config.json\";\r\n\r\nimport {\r\n GoHome,\r\n GoQuestionTractor,\r\n GoTripInfo,\r\n GoCondition,\r\n GoOverview,\r\n GoBack,\r\n GetTranslationRequired,\r\n IsLocalMode,\r\n Confirm,\r\n Alert,\r\n} from \"@/utility/ui-utility\";\r\nimport { IPlant, Plant } from \"@/models/plant\";\r\nimport { NotificationFilter } from \"@/models/maitain-notification\";\r\nimport { ValidateEvcr } from \"@/services/data-process/basic-process\";\r\nimport { EvcrHasQuestion } from \"@/services/data-process/questions-process\";\r\n\r\nimport {\r\n STR_TRIP_ID_MASK_LB,\r\n STR_TRIP_ID_MASK_PG,\r\n STR_TRIP_ID_PLACE_HOLDER_LB,\r\n STR_TRIP_ID_PLACE_HOLDER_PG,\r\n} from \"@/models/consts\";\r\nimport { IVehicle, Vehicle } from \"@/models/vehicle\";\r\nexport default Vue.extend({\r\n components: {\r\n QrScaner,\r\n FormInput,\r\n FormRadioGroup,\r\n FormSelect,\r\n FormAutocomplete,\r\n },\r\n data() {\r\n return {\r\n customerLocation: {\r\n longitude: 0,\r\n latitude: 0,\r\n },\r\n locationMsg: \"\",\r\n currentScanType: QuestionSectionType.Tractor,\r\n menuDate: false,\r\n isTractorThirdParty:{type: Boolean, default: false},\r\n tractorThirdPartyCategory:\"\",\r\n isChassisThirdParty:{type: Boolean, default: false},\r\n chassisThirdPartyCategory:\"\",\r\n isVesselThirdParty:{type: Boolean, default: false},\r\n vesselThirdPartyCategory:\"\",\r\n menuTime: false,\r\n errorMsg: \"\",\r\n valid: false,\r\n rules: {\r\n tripType: [(v: string) => !!v || GetTranslationRequired()],\r\n tripId: [\r\n (v: string) => !!v || GetTranslationRequired(),\r\n (v: string) =>\r\n (v && v.length > 5 && v.length < 12) ||\r\n Text(\"ml_114680\", \"Field is invalid\"),\r\n ],\r\n lbsTripIdRule: [] as any[],\r\n pgTripIdRule: [] as any[],\r\n pre: [(v: string) => !!v || GetTranslationRequired()],\r\n plant: [\r\n (v: any) => !!v || GetTranslationRequired(),\r\n (v: any) =>\r\n (this as any).validatePlant() ||\r\n Text(\"ml_114684\", \"Please select Plant\"),\r\n ],\r\n customPlant: [\r\n \r\n (v: any) => (this as any).onlyChinaRequireCustomPlant() || GetTranslationRequired(),\r\n (v: any) =>\r\n (this as any).validateCustomPlant() ||\r\n Text(\"ml_114684\", \"Please select Plant\"),\r\n ], \r\n driver1: [(v: string) => !!v || GetTranslationRequired()],\r\n tractor: [(v: string) => !!v || GetTranslationRequired()],\r\n chassis: [(v: string) => !!v || GetTranslationRequired()],\r\n vessel: [(v: string) => !!v || GetTranslationRequired()],\r\n vehicleType: [(v: string) => !!v || GetTranslationRequired()],\r\n chassisVehicleType: [(v: string) => !!v || GetTranslationRequired()],\r\n vesselVehicleType: [(v: string) => !!v || GetTranslationRequired()],\r\n odometer: [\r\n (v: string) => !!v || GetTranslationRequired(),\r\n (v: any) =>\r\n (this as any).validateOdometerform(v) ||\r\n Text(\"ml_114683\", \"The Odometer is invalid, please enter again.\"),\r\n ],\r\n date: [(v: string) => !!v || GetTranslationRequired()],\r\n time: [(v: string) => !!v || GetTranslationRequired()],\r\n },\r\n QuestionSectionType,\r\n SapVehcileCategory,\r\n STR_TRIP_ID_MASK_LB,\r\n STR_TRIP_ID_MASK_PG,\r\n STR_TRIP_ID_PLACE_HOLDER_LB,\r\n STR_TRIP_ID_PLACE_HOLDER_PG,\r\n numberType: \"number\",\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n tripInfo: StoreGetter.emTripInfo,\r\n nearbyPlant: StoreGetter.emNearbyPlant,\r\n vehicles: StoreGetter.emVehicles,\r\n notifications: StoreGetter.emMaintainNotifications,\r\n userId: StoreGetter.umUserId,\r\n userName: StoreGetter.umUserName,\r\n userCountryCode: StoreGetter.umUserCountryCode,\r\n isEdit: StoreGetter.emIsEdit,\r\n questionFilterChanged: StoreGetter.emQuestionFilterChanged,\r\n questions: StoreGetter.emQuestions,\r\n }),\r\n showLB(): boolean {\r\n ConsoleLog({ showLB: CloneObj(this.tripInfo.tripType) });\r\n this.refreshTripValidation();\r\n return this.tripInfo.tripType === TripType.LB ||\r\n IsNullOrEmpty(this.tripInfo.tripType)\r\n ? true\r\n : false;\r\n },\r\n showLbPlant(): boolean {\r\n let showLbPlant = false;\r\n // this.userCountryCode === 'CN' && this.tripInfo.prePost === 'PO' && this.tripInfo.tripType === 'LB'\r\n if(this.userCountryCode === 'CN'){\r\n if(this.tripInfo.tripType === 'LB'){\r\n if(this.tripInfo.prePost === 'PO'){\r\n showLbPlant = true;\r\n // this.tripInfo.customPlantId = this.tripInfo.lbsTripId.substring(0,4);\r\n }\r\n }\r\n \r\n }\r\n ConsoleLog({ showLbPlant: showLbPlant });\r\n return showLbPlant;\r\n }, \r\n showPgPlant(): boolean {\r\n let showPgPlant = false;\r\n if(this.userCountryCode === 'CN' && ( this.tripInfo.tripType === 'OT' || this.tripInfo.tripType === 'PG') ){\r\n showPgPlant = true;\r\n \r\n }\r\n ConsoleLog({ showPgPlant: showPgPlant });\r\n return showPgPlant;\r\n }, \r\n showLbTripIdInput(): boolean {\r\n ConsoleLog({ showWhichTripIdInput: CloneObj(this.tripInfo.tripType) });\r\n this.refreshTripValidation();\r\n var result = false;\r\n if(this.tripInfo.tripType !== TripType.Other){\r\n if(this.tripInfo.tripType === TripType.LB || IsNullOrEmpty(this.tripInfo.tripType)){\r\n result=true;\r\n }\r\n } \r\n return result;\r\n }, \r\n showPgTripIdInput(): boolean {\r\n ConsoleLog({ showWhichTripIdInput: CloneObj(this.tripInfo.tripType) });\r\n this.refreshTripValidation();\r\n var result = false;\r\n if(this.tripInfo.tripType !== TripType.Other){\r\n if(this.tripInfo.tripType === TripType.PG){\r\n result=true;\r\n }\r\n } \r\n return result;\r\n }, \r\n showOtherTripIdInput(): boolean {\r\n ConsoleLog({ showOtherTripIdInput: CloneObj(this.tripInfo.tripType) });\r\n //this.refreshTripValidation();\r\n var result = false;\r\n if(this.tripInfo.tripType === TripType.Other){\r\n result=true;\r\n }\r\n return result;\r\n }, \r\n tripIdMask(): string {\r\n ConsoleLog({ tripIdMask: CloneObj(this.tripInfo) });\r\n return this.tripInfo.tripType === TripType.LB ||\r\n IsNullOrEmpty(this.tripInfo.tripType)\r\n ? STR_TRIP_ID_MASK_LB\r\n : consts.STR_TRIP_ID_MASK_PG;\r\n },\r\n tripIdPlaceHolder(): string {\r\n ConsoleLog({ tripIdPlaceHolder: CloneObj(this.tripInfo) });\r\n return this.tripInfo.tripType === TripType.LB ||\r\n IsNullOrEmpty(this.tripInfo.tripType)\r\n ? STR_TRIP_ID_PLACE_HOLDER_LB\r\n : consts.STR_TRIP_ID_PLACE_HOLDER_PG;\r\n },\r\n tripIdLabel(): string {\r\n return this.tripInfo.tripType === TripType.LB ||\r\n IsNullOrEmpty(this.tripInfo.tripType)\r\n ? Text(\"ml_114625\", \"LBShell Trip ID\")\r\n : Text(\"ml_114902\", \"PG Trip ID\");\r\n },\r\n ruleTripId(): any {\r\n ConsoleLog({ ruleTripId: this.tripInfo.tripType });\r\n return this.tripInfo.tripType === TripType.LB ||\r\n IsNullOrEmpty(this.tripInfo.tripType)\r\n ? [\r\n (v: string) => !!v || GetTranslationRequired(),\r\n (v: string) =>\r\n (v && v.length > 5 && v.length < 12) ||\r\n Text(\"ml_114680\", \"Field is invalid\"),\r\n ]\r\n : [\r\n (v: string) => !!v || GetTranslationRequired(),\r\n (v: string) =>\r\n (v && v.length > 0 && v.length < 11) ||\r\n Text(\"ml_114680\", \"Field is invalid\"),\r\n ];\r\n },\r\n validateLbsTripId(): boolean {\r\n const self = this as any;\r\n return this.tripInfo.tripType === TripType.LB ||\r\n IsNullOrEmpty(this.tripInfo.tripType)\r\n ? !IsNullOrEmpty(self.tripInfo.lbsTripId)\r\n : true;\r\n },\r\n validateLbsTripIdLength(): boolean {\r\n const self = this as any;\r\n return this.tripInfo.tripType === TripType.LB ||\r\n IsNullOrEmpty(this.tripInfo.tripType)\r\n ? self.tripInfo.lbsTripId.length > 5 &&\r\n self.tripInfo.lbsTripId.length < 12\r\n : true;\r\n },\r\n validatePgTripId(): boolean {\r\n const self = this as any;\r\n return self.tripInfo.tripType === TripType.PG\r\n ? !IsNullOrEmpty(self.tripInfo.pgTripId)\r\n : true;\r\n },\r\n validatePgTripIdLength(): boolean {\r\n const self = this as any;\r\n return self.tripInfo.tripType === TripType.PG\r\n ? self.tripInfo.pgTripId.length > 0 &&\r\n self.tripInfo.pgTripId.length < 11\r\n : true;\r\n },\r\n validatePlantIdFromLbsTripId(): boolean {\r\n const self = this as any;\r\n let validPlantId = false;\r\n const plantId = self.tripInfo.lbsTripId.substring(0,4);\r\n const plants = this.nearbyPlant as IPlant[];\r\n ConsoleLog({ 'this.userCountryCode in validatePlantIdFromLbsTripId': this.userCountryCode });\r\n if(this.userCountryCode === 'CN'){\r\n if(self.tripInfo.tripType === 'LB'){\r\n if(plants.filter((item: IPlant) => item.plantId === plantId).length > 0){\r\n validPlantId = true;\r\n }\r\n }\r\n else if(self.tripInfo.tripType === 'PG'){\r\n validPlantId = true;\r\n }\r\n else if(self.tripInfo.tripType === 'OT'){\r\n validPlantId = true;\r\n } \r\n }\r\n else{\r\n validPlantId = true;\r\n }\r\n return validPlantId;\r\n },\r\n showDT(): string {\r\n const self = this as any; \r\n let showDT = '';\r\n if(self.tripInfo.tripType === 'OT' || self.tripInfo.tripType === 'PG'){\r\n if(self.tripInfo.prePost === 'PR'){\r\n showDT = Text('ml_116552', 'Departure DT');\r\n }\r\n else{\r\n showDT = Text('ml_116553', 'Arrival DT');\r\n }\r\n }\r\n return showDT;\r\n }, \r\n },\r\n methods: {\r\n updateLbTripIdInfo(newValue: string) {\r\n // ConsoleLog({ updateTripIdInfo: newValue });\r\n this.tripInfo.customPlantId = this.tripInfo.lbsTripId.substring(0,4);\r\n this.updateTripInfo(false, \"tripId\");\r\n },\r\n updateTripIdInfo(newValue: string) {\r\n // ConsoleLog({ updateTripIdInfo: newValue });\r\n // this.tripInfo.customPlantId = this.tripInfo.lbsTripId.substring(0,4);\r\n this.updateTripInfo(false, \"tripId\");\r\n }, \r\n refreshTripValidation(): void {\r\n ConsoleLog({ refreshTripValidation: \"\" });\r\n this.rules.lbsTripIdRule.length = 0;\r\n this.rules.pgTripIdRule.length = 0;\r\n this.rules.lbsTripIdRule = [\r\n (v: string) =>\r\n (this as any).validateLbsTripId || GetTranslationRequired(),\r\n (v: string) =>\r\n (this as any).validateLbsTripIdLength ||\r\n Text(\"ml_114680\", \"Field is invalid\"),\r\n (v: string) =>\r\n (this as any).validatePlantIdFromLbsTripId || \r\n Text(\"ml_116554\", \"Plant is invalid\"),\r\n ];\r\n this.rules.pgTripIdRule = [\r\n (v: string) =>\r\n (this as any).validatePgTripId || GetTranslationRequired(),\r\n (v: string) =>\r\n (this as any).validatePgTripIdLength ||\r\n Text(\"ml_114680\", \"Field is invalid\"),\r\n ];\r\n },\r\n setDefaultPlant():void{\r\n switch(this.userCountryCode){\r\n case 'CN':\r\n this.tripInfo.plantId=\"7561\";\r\n this.tripInfo.plantName=\"昆山充装厂\";\r\n break;\r\n case 'MY':\r\n this.tripInfo.plantId=\"7048\";\r\n this.tripInfo.plantName=\"SHAH ALAM TERMINAL\";\r\n break;\r\n case 'SG':\r\n this.tripInfo.plantId=\"7074\";\r\n this.tripInfo.plantName=\"SAKRA TERMINAL\";\r\n break;\r\n case 'ID':\r\n this.tripInfo.plantId=\"7010\";\r\n this.tripInfo.plantName=\"CIKARANG TERMINAL\";\r\n break;\r\n default:\r\n this.tripInfo.plantId=\"9999\";\r\n this.tripInfo.plantName=\"xxxx\";\r\n } \r\n },\r\n validatePlant() {\r\n // Test validate plant: the plant must be in nearbyPlant\r\n const plants = this.nearbyPlant as IPlant[];\r\n return (\r\n plants.filter((item: IPlant) => item.plantId === this.tripInfo.plantId)\r\n .length > 0\r\n );\r\n },\r\n onlyChinaRequireCustomPlant() {\r\n // Test validate plant: the plant must be in nearbyPlant\r\n let onlyChinaRequireCustomPlant = true;\r\n if(this.userCountryCode === 'CN'){\r\n if(this.tripInfo.customPlantId === ''){\r\n onlyChinaRequireCustomPlant = false ;\r\n }\r\n \r\n }\r\n ConsoleLog({ RequireCustomPlant: onlyChinaRequireCustomPlant });\r\n return onlyChinaRequireCustomPlant;\r\n },\r\n validateCustomPlant() {\r\n // Test validate plant: the plant must be in nearbyPlant\r\n let validCustomPlant = false;\r\n const customPlant = this.tripInfo.customPlantId\r\n const plants = this.nearbyPlant as IPlant[];\r\n if(this.userCountryCode === 'CN'){\r\n if(plants.filter((item: IPlant) => item.plantId === customPlant).length > 0){\r\n validCustomPlant = true;\r\n }\r\n }\r\n else{\r\n validCustomPlant = true;\r\n }\r\n ConsoleLog({ validCustomPlant: validCustomPlant });\r\n return validCustomPlant;\r\n }, \r\n validateOdometerform(value: string) {\r\n const isGood = validateOdometer(value);\r\n // ConsoleLog({ validateOdometerform: isGood, value: value });\r\n return isGood;\r\n },\r\n GoBack,\r\n IsDebug,\r\n Text,\r\n IsLocalMode,\r\n GoHome,\r\n maxDate() {\r\n const currentDate = new Date();\r\n return GetDatePart(currentDate);\r\n },\r\n maxTime() {\r\n return GetTimePart(new Date());\r\n },\r\n clearLocationMsg() {\r\n this.locationMsg = \"\";\r\n },\r\n async getLocation() {\r\n this.errorMsg = \"\";\r\n const self = this as any;\r\n self.$store.commit(StoreMutation.StartLoading, null, { root: true });\r\n self.clearLocationMsg();\r\n self.$store.commit(StoreMutation.emClearNearByData);\r\n if (await navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n async (position) => {\r\n ConsoleLog([\r\n \"customerLocation\",\r\n position.coords.longitude,\r\n position.coords.latitude,\r\n position.coords,\r\n ]);\r\n self.customerLocation.latitude = position.coords.latitude; // 51.3634;\r\n self.customerLocation.longitude = position.coords.longitude; // -0.2530;//\r\n self.$store.commit(StoreMutation.EndLoading, null, { root: true });\r\n await self.$store.dispatch(StoreAction.emGetNearbyPlant, {\r\n longitude: self.customerLocation.longitude,\r\n latitude: self.customerLocation.latitude,\r\n });\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n // { latitude: 51.3634,longitude: -0.253, }\r\n // { latitude: self.customerLocation.latitude, longitude: self.customerLocation.longitude });\r\n },\r\n (error) => {\r\n self.$store.commit(StoreMutation.EndLoading, null, { root: true });\r\n ConsoleLog({ \"error.code for geolocation\": error.code });\r\n if (error.code === 1) {\r\n self.locationMsg =\r\n error.message +\r\n `. ${Text(\"ml_114681\", \"Please enable location services\")}`;\r\n } else if (error.code === 2) {\r\n self.locationMsg =\r\n error.message +\r\n `. ${Text(\"ml_114681\", \"Please enable location services\")}`;\r\n } else {\r\n self.locationMsg =\r\n error.message + `. ${Text(\"ml_114682\", \"Please try again.\")}`;\r\n }\r\n },\r\n {\r\n enableHighAccuracy: true,\r\n timeout: 5000,\r\n maximumAge: 0,\r\n }\r\n );\r\n } else {\r\n self.locationMsg = \"Internet Browser not supported\";\r\n }\r\n },\r\n async initialize() {\r\n const self = this as any;\r\n await self.$store.dispatch(StoreAction.emInitialData, {\r\n longitude: this.customerLocation.longitude,\r\n latitude: this.customerLocation.latitude,\r\n });\r\n if (this.showStateMsg(\"TripInformation.initialize.emInitialData\")) {\r\n return;\r\n }\r\n await self.$store.dispatch(StoreAction.emInitialTripData, {\r\n countryCode: this.userCountryCode,\r\n });\r\n if (this.showStateMsg(\"TripInformation.initialize.emInitialTripData\")) {\r\n return;\r\n }\r\n },\r\n showStateMsg(logName: string = \"\") {\r\n let hasError = false;\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n if (!IsNullOrEmpty(logName)) {\r\n ConsoleLog({ logName: this.errorMsg });\r\n }\r\n hasError = true;\r\n }\r\n return hasError;\r\n },\r\n\r\n updateTripType(newValue: string): void {\r\n ConsoleLog({\r\n \"FormRadioGroup.userChange\": newValue\r\n });\r\n this.$store.commit(StoreMutation.emClearTripId);\r\n //how to call the change event for TripId?\r\n // const self = this as any;\r\n // if (self.$refs.lbsTripId) {\r\n // ConsoleLog(' self.$refs.lbsTripId.onChanging(\"\")');\r\n // self.$refs.lbsTripId.onChanging(\"\");\r\n // }\r\n ConsoleLog({\r\n \"this.tripInfo.lbsTripId\": this.tripInfo.lbsTripId,\r\n \"this.tripInfo.pgTripId\": this.tripInfo.pgTripId,\r\n \"this.tripInfo.prePost\": this.tripInfo.prePost,\r\n \"this.tripInfo.customPlantId\": this.tripInfo.customPlantId\r\n });\r\n this.tripInfo.lbsTripId = \"\";\r\n this.tripInfo.pgTripId = \"\";\r\n this.tripInfo.prePost = \"\"; //\"PR\"; // \"PR\";\r\n this.tripInfo.customPlantId = \"\";\r\n ConsoleLog({\r\n \"this.tripInfo.lbsTripId\": this.tripInfo.lbsTripId,\r\n \"this.tripInfo.pgTripId\": this.tripInfo.pgTripId,\r\n \"this.tripInfo.prePost\": this.tripInfo.prePost,\r\n \"this.tripInfo.customPlantId\": this.tripInfo.customPlantId\r\n });\r\n this.updateTripInfo(false, \"updateTripType\");\r\n ConsoleLog({\r\n \"FormRadioGroup.userChange\": newValue,\r\n \"this.tripInfo.lbsTripId\": this.tripInfo.lbsTripId,\r\n });\r\n //this.$forceUpdate();\r\n //await nextTick()\r\n //nextTick()\r\n Vue.nextTick(() => {}) // syntax\r\n },\r\n\r\n handleTractorChange(e: string) {\r\n ConsoleLog({ handleTractorChange: e });\r\n this.tripInfo.tractor = e;\r\n this.updateTripInfo(false, \"handleTractorChange\");\r\n },\r\n handleChassisChange(e: string) {\r\n ConsoleLog({ handleChassisChange: e });\r\n this.tripInfo.chassis = e;\r\n this.updateTripInfo(false, \"handleChassisChange\");\r\n },\r\n handleVesselChange(e: string) {\r\n ConsoleLog({ handleVesselChange: e });\r\n this.tripInfo.vessel = e;\r\n this.updateTripInfo(false, \"handleVesselChange\");\r\n },\r\n // scanCode(scanType: QuestionSection): void {\r\n // this.currentScanType = scanType;\r\n // if (scanType == QuestionSection.Tractor) {\r\n // }\r\n // this.retry();\r\n // this.onInit;\r\n // },\r\n\r\n async onNext(): Promise {\r\n // await Timeout(1000);\r\n this.errorMsg = \"\";\r\n var isOk = false;\r\n const self = this as any;\r\n if (!self.$refs.form.validate()) {\r\n return;\r\n }\r\n\r\n this.tripInfo.language=Vue.prototype.$lanCode;\r\n //tripInfo.country=tractorFound.country;\r\n this.tripInfo.country=this.userCountryCode;\r\n\r\n if(this.tripInfo.country==='CN'){\r\n if(this.tripInfo.isTractorThirdParty){\r\n this.tripInfo.tractor = this.tripInfo.tractor.replace(/\\s+/g, '').toUpperCase();\r\n }\r\n if(this.tripInfo.isChassisThirdParty){\r\n this.tripInfo.chassis = this.tripInfo.chassis.replace(/\\s+/g, '').toUpperCase();\r\n }\r\n if(this.tripInfo.isVesselThirdParty){\r\n this.tripInfo.vessel = this.tripInfo.vessel.replace(/\\s+/g, '').toUpperCase();\r\n }\r\n }\r\n\r\n //if(this.validatePlant()){\r\n // this.tripInfo.customPlantId = this.tripInfo.lbsTripId.substring(0,4);\r\n //}\r\n\r\n //if(this.tripInfo.isTractorThirdParty && this.tripInfo.isChassisThirdParty && this.tripInfo.isVesselThirdParty){\r\n // this.tripInfo.plantId=\"9999\";\r\n // this.tripInfo.plantName=\"xxxx\";\r\n //}\r\n\r\n if(this.tripInfo.isTractorThirdParty){\r\n if(this.tripInfo.isChassisThirdParty){\r\n if(this.tripInfo.isVesselThirdParty){\r\n //this.tripInfo.plantId=\"9999\";\r\n //this.tripInfo.plantName=\"xxxx\";\r\n this.setDefaultPlant();\r\n }\r\n else{\r\n if(this.tripInfo.vessel){\r\n const vesselFound = this.vehicles(SapVehcileCategory.Vessel).filter(item => item.vesselId === this.tripInfo.vessel)[0] as IVehicle;\r\n if(vesselFound){\r\n this.tripInfo.plantId=vesselFound.plant;\r\n this.tripInfo.plantName=vesselFound.name1;\r\n }\r\n }\r\n else{\r\n //this.tripInfo.plantId=\"9999\";\r\n //this.tripInfo.plantName=\"xxxx\"; \r\n this.setDefaultPlant(); \r\n } \r\n }\r\n }\r\n else{\r\n if(this.tripInfo.chassis){\r\n const chassisFound = this.vehicles(SapVehcileCategory.Chassis).filter(item => item.vehicleId === this.tripInfo.chassis)[0] as IVehicle;\r\n if(chassisFound){\r\n this.tripInfo.plantId=chassisFound.plant;\r\n this.tripInfo.plantName=chassisFound.name1;\r\n }\r\n }\r\n else{\r\n //this.tripInfo.plantId=\"9999\";\r\n //this.tripInfo.plantName=\"xxxx\"; \r\n this.setDefaultPlant(); \r\n } \r\n }\r\n }\r\n else{\r\n if(this.tripInfo.tractor){\r\n const tractorFound = this.vehicles(SapVehcileCategory.Tractor).filter(item => item.vehicleId === this.tripInfo.tractor)[0] as IVehicle;\r\n if(tractorFound){\r\n this.tripInfo.plantId=tractorFound.plant;\r\n this.tripInfo.plantName=tractorFound.name1;\r\n //this.tripInfo.language=Vue.prototype.$lanCode;\r\n //tripInfo.country=tractorFound.country;\r\n //this.tripInfo.country=this.userCountryCode;\r\n \r\n }\r\n } \r\n }\r\n\r\n this.updateTripInfo(true, \"onNext\");\r\n if (this.questionFilterChanged && EvcrHasQuestion(this.questions)) {\r\n if (\r\n !Confirm(\r\n Text(\r\n \"ml_114758\",\r\n \"The eVCR check list would be refreshed due to vehicle changes, all your answers would be cleared up. Do you want to continue?\"\r\n )\r\n )\r\n ) {\r\n return;\r\n }\r\n }\r\n // self.$store.commit(StoreMutation.emUpdateTripInfo);\r\n //back-end validation\r\n //eVCR is duplicated, please try another one.\r\n //The APEXID of Driver 1 does not exist, please enter again.\r\n //Tractor/Rigid/Truck, Chassis and Pressure Vessel are already existing.\r\n //isOk = await self.$store.dispatch(StoreAction.emValidateNewEvcr);\r\n //this.showStateMsg();\r\n //if (!isOk) {\r\n // return;\r\n //}\r\n\r\n let isVehicleCategoryduplicate = false;\r\n isVehicleCategoryduplicate = this.checkWhetherVehicleCategoryDuplicate();\r\n if(isVehicleCategoryduplicate){\r\n this.errorMsg = Text('ml_115266', \"Error: The vehicle combination is invalid, please confirm your entry. If it is still invalid, please contact your supervisor.\");\r\n return;\r\n } \r\n\r\n let isTripTimeFuture = false;\r\n isTripTimeFuture = this.checkWhetherTimeIsFuture();\r\n if(isTripTimeFuture){\r\n this.errorMsg = Text('ml_143012', \"Do not enter a future date or time\");\r\n return;\r\n }\r\n\r\n //validate maintenance notification\r\n let hasNotification = false;\r\n //await self.$store.dispatch(StoreAction.emGetMaintainNotification, {\r\n // filter: new NotificationFilter(\r\n // this.tripInfo.tractor,\r\n // this.tripInfo.thirdParty.toString(),\r\n // this.tripInfo.chassis,\r\n // this.tripInfo.vessel,\r\n // \"\"\r\n // ),\r\n //});\r\n\r\n //await self.$store.dispatch(StoreAction.emGetMaintainNotification, {\r\n // filter: new NotificationFilter(\r\n // this.tripInfo.isTractorThirdParty ? '' : this.tripInfo.tractor,\r\n // this.tripInfo.thirdParty.toString(),\r\n // this.tripInfo.isChassisThirdParty ? '' : this.tripInfo.chassis,\r\n // this.tripInfo.isVesselThirdParty ? '' : this.tripInfo.vessel,\r\n // \"\"\r\n // ),\r\n //});\r\n\r\n //if (this.showStateMsg(\"emGetMaintainNotification\")) {\r\n // return;\r\n //}\r\n //// hasNotification = await ValidateNotification(this.$store.state.evcrModule);\r\n //hasNotification = this.notifications.length > 0;\r\n\r\n\r\n if(this.containNonThreePartyVehicle()){\r\n await self.$store.dispatch(StoreAction.emGetMaintainNotification, {\r\n filter: new NotificationFilter(\r\n this.tripInfo.isTractorThirdParty ? '' : this.tripInfo.tractor,\r\n this.tripInfo.thirdParty.toString(),\r\n this.tripInfo.isChassisThirdParty ? '' : this.tripInfo.chassis,\r\n this.tripInfo.isVesselThirdParty ? '' : this.tripInfo.vessel,\r\n \"\"\r\n ),\r\n });\r\n if (this.showStateMsg(\"emGetMaintainNotification\")) {\r\n return;\r\n }\r\n hasNotification = this.notifications.length > 0;\r\n }\r\n\r\n\r\n\r\n if (hasNotification) {\r\n GoCondition(self.$router);\r\n } else {\r\n GoOverview(self.$router);\r\n }\r\n },\r\n containNonThreePartyVehicle(): boolean {\r\n let containNonThreePartyVehicle = false;\r\n if(\r\n (!this.tripInfo.isTractorThirdParty && !IsNullOrEmpty(this.tripInfo.tractor))\r\n || (!this.tripInfo.isChassisThirdParty && !IsNullOrEmpty(this.tripInfo.chassis))\r\n || (!this.tripInfo.isVesselThirdParty && !IsNullOrEmpty(this.tripInfo.vessel))\r\n ){\r\n containNonThreePartyVehicle = true;\r\n }\r\n else{\r\n \r\n }\r\n return containNonThreePartyVehicle;\r\n },\r\n checkWhetherTimeIsFuture(): boolean {\r\n let whetherTimeIsFuture = false;\r\n const dateArray = this.tripInfo.date.split('-');\r\n ConsoleLog({ 'trip information page time': this.tripInfo.time }); \r\n const timeArray = this.tripInfo.time.split(':');\r\n const timeCurrent = new Date();\r\n //const timeFromPage = new Date();\r\n const timeFromPage = new Date(this.tripInfo.date);\r\n //timeFromPage.setHours(timeArray[0], timeArray[0], 00);\r\n timeFromPage.setHours(timeArray[0], timeArray[1]);\r\n ConsoleLog({ 'timeCurrent': timeCurrent }); \r\n ConsoleLog({ 'timeFromPage': timeFromPage }); \r\n if( timeFromPage > timeCurrent ){\r\n ConsoleLog('trip date time is future');\r\n whetherTimeIsFuture = true;\r\n }\r\n else{\r\n ConsoleLog('trip date time is not future');\r\n }\r\n //if( timeCurrent.getFullYear() = timeFromPage.getFullYear() && timeCurrent.getMonth() = timeFromPage.getMonth() && timeCurrent.getDate() = timeFromPage.getDate() ){\r\n // ConsoleLog('trip date is current date');\r\n // if( timeFromPage.getHours() > timeCurrent.getHours() ){\r\n // ConsoleLog('trip hour is future');\r\n // whetherTimeIsFuture = true;\r\n // }\r\n // else{\r\n // ConsoleLog('trip hour is not future');\r\n // if( timeFromPage.getHours() = timeCurrent.getHours() ){\r\n // ConsoleLog('trip hour is current hour');\r\n // //ConsoleLog('trip minute is future');\r\n // if(){}\r\n // whetherTimeIsFuture = true;\r\n // }\r\n // else{\r\n // //ConsoleLog('trip minute is not future');\r\n // ConsoleLog('trip hour is not current hour');\r\n // }\r\n // }\r\n //}\r\n //else{\r\n // ConsoleLog('trip date is not current date');\r\n //}\r\n return whetherTimeIsFuture;\r\n }, \r\n checkWhetherVehicleCategoryDuplicate(): boolean {\r\n let whetherVehicleCategoryDuplicate = false;\r\n let vehicleCategoryArray : string[] = [];\r\n\r\n if(this.tripInfo.isVesselThirdParty){\r\n vehicleCategoryArray.push(`Vessel`)\r\n }\r\n else{\r\n if(this.tripInfo.vessel){\r\n const vesselFound = this.vehicles(SapVehcileCategory.Vessel).filter(item => item.vesselId === this.tripInfo.vessel)[0] as IVehicle;\r\n if(vesselFound){\r\n if(vesselFound.category){\r\n vehicleCategoryArray.push(vesselFound.category)\r\n }\r\n if(vesselFound.category2){\r\n vehicleCategoryArray.push(vesselFound.category2)\r\n }\r\n }\r\n }\r\n }\r\n \r\n \r\n if(this.tripInfo.isChassisThirdParty){\r\n vehicleCategoryArray.push(`Chassis`)\r\n }\r\n else{\r\n if(this.tripInfo.chassis){\r\n const chassisFound = this.vehicles(SapVehcileCategory.Chassis).filter(item => item.vehicleId === this.tripInfo.chassis)[0] as IVehicle;\r\n if(chassisFound){\r\n if(chassisFound.category){\r\n vehicleCategoryArray.push(chassisFound.category)\r\n }\r\n if(chassisFound.category2){\r\n vehicleCategoryArray.push(chassisFound.category2)\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(this.tripInfo.isTractorThirdParty){\r\n vehicleCategoryArray.push(`Tractor`)\r\n }\r\n else{\r\n if(this.tripInfo.tractor){\r\n const tractorFound = this.vehicles(SapVehcileCategory.Tractor).filter(item => item.vehicleId === this.tripInfo.tractor)[0] as IVehicle;\r\n if(tractorFound){\r\n if(tractorFound.category){\r\n vehicleCategoryArray.push(tractorFound.category)\r\n }\r\n if(tractorFound.category2){\r\n vehicleCategoryArray.push(tractorFound.category2)\r\n }\r\n } \r\n }\r\n }\r\n \r\n \r\n ConsoleLog({ vehicleCategoryArray: CloneObj(vehicleCategoryArray)}); \r\n if(CountArrayDuplicate(vehicleCategoryArray) !== 0){\r\n //ConsoleLog({ vehicleCategoryArray: CloneObj(vehicleCategoryArray)});\r\n whetherVehicleCategoryDuplicate = true;\r\n }\r\n return whetherVehicleCategoryDuplicate;\r\n },\r\n updateTripInfoTractor() {\r\n if(this.tripInfo.isTractorThirdParty){\r\n this.tripInfo.tractor = this.tripInfo.tractor.replace(/\\s+/g, '').toUpperCase();\r\n }\r\n this.updateTripInfo(false, \"updateTripInfoTractor\");\r\n }, \r\n updateTripInfoChassis() {\r\n if(this.tripInfo.isChassisThirdParty){\r\n this.tripInfo.chassis = this.tripInfo.chassis.replace(/\\s+/g, '').toUpperCase();\r\n }\r\n this.updateTripInfo(false, \"updateTripInfoChassis\");\r\n }, \r\n updateTripInfoVessel() {\r\n if(this.tripInfo.isVesselThirdParty){\r\n this.tripInfo.vessel = this.tripInfo.vessel.replace(/\\s+/g, '').toUpperCase();\r\n }\r\n this.updateTripInfo(false, \"updateTripInfoVessel\");\r\n }, \r\n updateTripInfo(updatedDriver: boolean = false, type: string) {\r\n ConsoleLog({ updateTripInfo: CloneObj(this.tripInfo), type: type });\r\n const self = this as any;\r\n self.$store.commit(StoreMutation.emUpdateTripInfo, {\r\n tipInfo: this.tripInfo,\r\n });\r\n if (updatedDriver) {\r\n self.$store.commit(StoreMutation.emUpdateIsEdit, { isEdit: true });\r\n }\r\n },\r\n onUserVehicleFilter(\r\n item: Vehicle,\r\n queryText: string,\r\n itemText: string,\r\n category: string\r\n ): boolean {\r\n const searchText = queryText.toLowerCase();\r\n let found = false;\r\n found =\r\n //item.category.toLowerCase() === category.toLowerCase() &&\r\n item.vehicleId.toLowerCase().indexOf(searchText) > -1;\r\n // console.log(\"onUserFilter\", item, queryText, itemText, found);\r\n return found;\r\n },\r\n onUserVesselFilter(\r\n item: Vehicle,\r\n queryText: string,\r\n itemText: string,\r\n category: string\r\n ): boolean {\r\n const searchText = queryText.toLowerCase();\r\n let found = false;\r\n found =\r\n //item.category.toLowerCase() === category.toLowerCase() &&\r\n item.vesselId.toLowerCase().indexOf(searchText) > -1;\r\n // console.log(\"onUserFilter\", item, queryText, itemText, found);\r\n return found;\r\n }, \r\n onTractorThirdPartyStatusChange(newValue: string, tripInfo: any): void {\r\n ConsoleLog([\"onTractorThirdPartyStatusChange\", newValue, CloneObj(tripInfo)]);\r\n tripInfo.tractor = '';\r\n this.tripInfo.plantId='';\r\n this.tripInfo.plantName='';\r\n if(!newValue){\r\n tripInfo.tractorThirdPartyCategory = '';\r\n }\r\n this.updateTripInfo(false, \"onTractorThirdPartyStatusChange\");\r\n }, \r\n onChassisThirdPartyStatusChange(newValue: string, tripInfo: any): void {\r\n ConsoleLog([\"onChassisThirdPartyStatusChange\", newValue, CloneObj(tripInfo)]);\r\n tripInfo.chassis = '';\r\n this.tripInfo.plantId='';\r\n this.tripInfo.plantName=''; \r\n if(!newValue){\r\n tripInfo.chassisThirdPartyCategory = '';\r\n }\r\n this.updateTripInfo(false, \"onChassisThirdPartyStatusChange\");\r\n },\r\n onVesselThirdPartyStatusChange(newValue: string, tripInfo: any): void {\r\n ConsoleLog([\"onVesselThirdPartyStatusChange\", newValue, CloneObj(tripInfo)]);\r\n tripInfo.vessel = '';\r\n this.tripInfo.plantId='';\r\n this.tripInfo.plantName=''; \r\n if(!newValue){\r\n tripInfo.vesselThirdPartyCategory = '';\r\n }\r\n this.updateTripInfo(false, \"onVesselThirdPartyStatusChange\");\r\n },\r\n onVehicleChange(newValue: string, tripInfo: any, category: string): void {\r\n // ConsoleLog([\"onPlantChange\", newValue, CloneObj(tripInfo)]);\r\n if (category === SapVehcileCategory.Tractor) {\r\n tripInfo.tractor = newValue; \r\n } else if (category === SapVehcileCategory.Chassis) {\r\n tripInfo.chassis = newValue;\r\n } else if (category === SapVehcileCategory.Vessel) {\r\n tripInfo.vessel = newValue;\r\n // if (newValue === \"Tube Skid\") {\r\n // //•\tif it is a “Tube Skid”, warn the user not to use the app outside the tractor, or they can use it in a safe environment\r\n // Alert(\r\n // Text(\r\n // \"ml_114942\",\r\n // \"Please do not to use the app outside the tractor, or you can use it in a safe environment.\"\r\n // )\r\n // );\r\n // } \r\n }\r\n this.updateTripInfo(false, \"onVehicleChange\");\r\n },\r\n onUserFilter(item: Plant, queryText: string, itemText: string): boolean {\r\n const searchText = queryText.toLowerCase();\r\n let found = false;\r\n found =\r\n item.plantId.toLowerCase().indexOf(searchText) > -1 ||\r\n item.name1.toLowerCase().indexOf(searchText) > -1 ||\r\n // item.name2.toLowerCase().indexOf(searchText) > -1 ||\r\n item.city.toLowerCase().indexOf(searchText) > -1 ||\r\n item.enname.toLowerCase().indexOf(searchText) > -1 ||\r\n // item.enname2.toLowerCase().indexOf(searchText) > -1 ||\r\n item.encity.toLowerCase().indexOf(searchText) > -1;\r\n // console.log(\"onUserFilter\", item, queryText, itemText, found);\r\n return found;\r\n },\r\n onPlantChange(newValue: string, tripInfo: any): void {\r\n // ConsoleLog([\"onPlantChange\", newValue, CloneObj(tripInfo)]);\r\n // tripInfo.plantId = newValue;\r\n tripInfo.customPlantId = newValue;\r\n this.updateTripInfo(false, \"onPlantChange\");\r\n },\r\n\r\n getPlantItems(plants: IPlant[]) {\r\n const items: ISelectItem[] = [];\r\n plants.forEach((plant) => {\r\n items.push(\r\n new SelectItem(`${plant.plantId}-${plant.name1}`, plant.plantId)\r\n );\r\n });\r\n return items;\r\n },\r\n\r\n getTractorCategoryItems() {\r\n const items: ISelectItem[] = [];\r\n items.push(\r\n new SelectItem(Text(\"ml_116402\", \"Tractor\"), `TRACTOR`)\r\n ,new SelectItem(Text(\"ml_116403\", \"Rigid PGG Truck\"), `RIGID PGG TRUCK`)\r\n ,new SelectItem(Text(\"ml_116404\", \"Rigid PGG Knuckle Crane Truck\"), `RIGID PGG KNUCKLE CRANE TRUCK`)\r\n ,new SelectItem(Text(\"ml_116405\", \"Rigid Tanker\"), `RIGID TANKER`)\r\n );\r\n //ConsoleLog({ getTractorCategoryItems: CloneObj(items) });\r\n return items;\r\n },\r\n getChassisCategoryItems() {\r\n const items: ISelectItem[] = [];\r\n items.push(\r\n new SelectItem(Text(\"ml_116406\", \"Chassis Trailer\"), `CHASSIS TRAILER`)\r\n ,new SelectItem(Text(\"ml_116407\", \"PGG Chassis\"), `PGG CHASSIS`)\r\n );\r\n //ConsoleLog({ getChassisCategoryItems: CloneObj(items) });\r\n return items;\r\n },\r\n getVesselCategoryItems() {\r\n const items: ISelectItem[] = [];\r\n items.push(\r\n new SelectItem(Text(\"ml_116408\", \"LB Semi/MB Semi/ISO Tanker\"), `LB~!@MB~!@ISO TANKER`)\r\n ,new SelectItem(Text(\"ml_116409\", \"Tube Skid\"), `TUBE SKID`)\r\n );\r\n //ConsoleLog({ getVesselCategoryItems: CloneObj(items) });\r\n return items;\r\n },\r\n showVesselAutoCompleteAsLabel(): boolean {\r\n const self = this as any;\r\n let showAsLabel = false;\r\n if(self.tripInfo.chassis !== \"\"){\r\n const chassisFound = self.vehicles(SapVehcileCategory.Chassis).filter(item => item.vehicleId === self.tripInfo.chassis)[0] as IVehicle;\r\n if(chassisFound){\r\n if(chassisFound.category2 === SapVehcileCategory.Vessel || chassisFound.category === SapVehcileCategory.Vessel){\r\n self.tripInfo.vessel=\"\";\r\n showAsLabel = true;\r\n }\r\n }\r\n }\r\n return showAsLabel;\r\n },\r\n showChassisAutoCompleteAsLabel(): boolean {\r\n const self = this as any;\r\n let showAsLabel = false;\r\n if(self.tripInfo.vessel !== \"\"){\r\n const vesselFound = self.vehicles(SapVehcileCategory.Vessel).filter(item => item.vesselId === self.tripInfo.vessel)[0] as IVehicle;\r\n if(vesselFound){\r\n if(vesselFound.category2 === SapVehcileCategory.Chassis || vesselFound.category === SapVehcileCategory.Chassis){\r\n self.tripInfo.chassis=\"\";\r\n showAsLabel = true;\r\n }\r\n }\r\n }\r\n return showAsLabel;\r\n },\r\n },\r\n async created() {\r\n const self = this as any;\r\n self.clearLocationMsg();\r\n // await self.getLocation();\r\n await this.initialize();\r\n // this.locationMsg = this.$store.state.evcrModule.errorMsg;\r\n },\r\n async beforeMount() {\r\n // await this.initialize();\r\n // ConsoleLog({ \"TripInformation.beforeMount\": CloneObj(this.tripInfo) });\r\n // if (!this.isEdit && !IsLocalMode()) {\r\n // if (!this.isEdit) {\r\n this.tripInfo.driver1 = this.userId;\r\n this.tripInfo.driver1Name = this.userName;\r\n // }\r\n },\r\n mounted(): void {\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TripInformation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TripInformation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TripInformation.vue?vue&type=template&id=14fa428b&\"\nimport script from \"./TripInformation.vue?vue&type=script&lang=ts&\"\nexport * from \"./TripInformation.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTimePicker } from 'vuetify/lib/components/VTimePicker';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCheckbox,VCol,VContainer,VDatePicker,VForm,VMenu,VRow,VSpacer,VTextField,VTimePicker})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114640'),expression:\"'ml_114640'\"}]},[_vm._v(\"Recent Vehicle Condition\")]),(_vm.IsLocalMode())?_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.$router.go(-1)}}},[_vm._v(\" Back \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114639'),expression:\"'ml_114639'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":_vm.onNext}},[_vm._v(\" Next \")])],1):_vm._e(),_vm._l((_vm.notifications),function(notification,index){return [_c('v-card-text',{key:index},[_c('div',{staticClass:\"align-center font-bolder\"},[_vm._v(\" \"+_vm._s(_vm.Text(\"ml_114722\", \"Item\") + (index + 1))+\" \")]),_c('form-input',{attrs:{\"readonly\":\"\",\"label\":_vm.Text('ml_114641', 'Vehicle/Equipment')},model:{value:(notification.vehicleEquipment),callback:function ($$v) {_vm.$set(notification, \"vehicleEquipment\", $$v)},expression:\"notification.vehicleEquipment\"}}),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114903', 'Notification ID'),\"readonly\":\"\"},model:{value:(notification.notificationId),callback:function ($$v) {_vm.$set(notification, \"notificationId\", $$v)},expression:\"notification.notificationId\"}}),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114642', 'Noti. Description'),\"readonly\":\"\"},model:{value:(notification.desc),callback:function ($$v) {_vm.$set(notification, \"desc\", $$v)},expression:\"notification.desc\"}}),_c('form-textarea',{attrs:{\"label\":_vm.Text('ml_114904', 'Defect Description'),\"readonly\":_vm.disable,\"rows\":\"2\"},model:{value:(notification.defectDesc),callback:function ($$v) {_vm.$set(notification, \"defectDesc\", $$v)},expression:\"notification.defectDesc\"}}),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114643', 'Notification Date'),\"readonly\":\"\"},model:{value:(notification.date),callback:function ($$v) {_vm.$set(notification, \"date\", $$v)},expression:\"notification.date\"}}),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114644', 'Notification Time'),\"readonly\":\"\"},model:{value:(notification.time),callback:function ($$v) {_vm.$set(notification, \"time\", $$v)},expression:\"notification.time\"}}),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114645', 'Status'),\"readonly\":\"\"},model:{value:(notification.status),callback:function ($$v) {_vm.$set(notification, \"status\", $$v)},expression:\"notification.status\"}})],1)]}),(_vm.errorMsg.length > 0)?_c('p',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e(),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114638'),expression:\"'ml_114638'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.$router.go(-1)}}},[_vm._v(\" Back \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114639'),expression:\"'ml_114639'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":_vm.onNext}},[_vm._v(\" Next \")])],1)],2)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-textarea',{attrs:{\"value\":_vm.value,\"rules\":_vm.rules,\"label\":_vm.label,\"readonly\":_vm.readonly,\"rows\":_vm.rows,\"disabled\":_vm.disabled},on:{\"input\":_vm.onChanging,\"change\":_vm.onUserChanging},scopedSlots:_vm._u([(_vm.required)?{key:\"label\",fn:function(){return [_c('span',{staticClass:\"red-error\"},[_c('strong',[_vm._v(\"* \")])]),_vm._v(_vm._s(_vm.label)+\" \")]},proxy:true}:null],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String,\r\n label: String,\r\n rules: [],\r\n rows: String || Number,\r\n required: Boolean,\r\n readonly: { type: Boolean, default: false },\r\n showAsLabel: { type: Boolean, default: false },\r\n disabled: { type: Boolean, default: false },\r\n },\r\n computed: {},\r\n methods: {\r\n onChanging(value: string) {\r\n this.$emit(\"input\", value);\r\n this.$emit(\"userChange\", value);\r\n },\r\n onUserChanging(value: any) {\r\n this.$emit(\"userChange\", value);\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTextarea.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormTextarea.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormTextarea.vue?vue&type=template&id=4bdf5a89&\"\nimport script from \"./FormTextarea.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormTextarea.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VRow,VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { PageName } from \"@/models/enums\";\r\nimport { StoreAction, StoreGetter } from \"@/store/store-mapping\";\r\nimport { CreateNewUUID, Text } from \"@/utility\";\r\nimport Vue from \"vue\";\r\nimport { mapGetters } from \"vuex\";\r\nimport FormInput from \"@/components/FormInput.vue\";\r\nimport { QuestionFilter } from \"@/models/question-section\";\r\nimport { GoOverview, IsLocalMode } from \"@/utility/ui-utility\";\r\nimport FormTextarea from \"@/components/FormTextarea.vue\";\r\n\r\nimport config from \"@/config/config.json\";\r\n\r\nexport default Vue.extend({\r\n components: { FormInput, FormTextarea },\r\n data() {\r\n return {\r\n errorMsg: \"\",\r\n itemIndex: 1,\r\n disable: true,\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n notifications: StoreGetter.emMaintainNotifications,\r\n }),\r\n },\r\n methods: {\r\n Text,\r\n CreateNewUUID,\r\n IsLocalMode,\r\n onNext() {\r\n this.errorMsg = \"\";\r\n GoOverview(this.$router);\r\n },\r\n },\r\n mounted(): void {\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VehicleCondition.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VehicleCondition.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./VehicleCondition.vue?vue&type=template&id=43848be1&\"\nimport script from \"./VehicleCondition.vue?vue&type=script&lang=ts&\"\nexport * from \"./VehicleCondition.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114646'),expression:\"'ml_114646'\"}]},[_vm._v(\"eVCR Overview\")])],1)],1)],1),_c('v-row',{staticClass:\"mb-6\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"padding-top-3\",attrs:{\"cols\":\"6\"}},[_c('v-img',{attrs:{\"src\":_vm.VehiclePath(_vm.questions.imageName)}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('section-list',{attrs:{\"questions\":_vm.questions}})],1)],1),_c('v-row',[_c('v-col',[_c('v-card',[(_vm.errorMsg.length > 0)?_c('p',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e(),(_vm.submitMsg.length > 0)?_c('p',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.submitMsg))]):_vm._e(),_c('v-card-actions',[(_vm.errorMsg.length > 0 && 1 > 2)?_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114648'),expression:\"'ml_114648'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":_vm.loadQuestions}},[_vm._v(\"Reload\")]):_vm._e(),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114601'),expression:\"'ml_114601'\"}],class:_vm.Vue.prototype.$lanCode === _vm.LangCode.ms_MY ? 'btn-new-line' : '',attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoTripInfo(_vm.$router)}}},[_vm._v(\" Trip Info\")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114650'),expression:\"'ml_114650'\"}],class:_vm.Vue.prototype.$lanCode === _vm.LangCode.ms_MY ? 'btn-new-line' : '',attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoToSummary()}}},[_vm._v(\"Summary\")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ImgeApiMode, LangCode, PageName, SubmitStatus } from \"@/models/enums\";\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"@/store/store-mapping\";\r\nimport Vue from \"vue\";\r\nimport { mapGetters } from \"vuex\";\r\nimport {\r\n GoHome,\r\n GoTripInfo,\r\n GoCondition,\r\n GoQuestionTractor,\r\n GoBack,\r\n VehiclePath,\r\n GoSummary,\r\n Confirm,\r\n RemoveStorageEvcr,\r\n} from \"@/utility/ui-utility\";\r\nimport { mapState } from \"vuex\";\r\nimport { QuestionFilter } from \"@/models/question-section\";\r\nimport {\r\n EvcrFormValidate,\r\n EvcrHasQuestion,\r\n} from \"@/services/data-process/questions-process\";\r\nimport { ConsoleLog, Text } from \"@/utility\";\r\nimport SectionList from \"@/components/SectionList.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SectionList,\r\n },\r\n data() {\r\n return {\r\n errorMsg: \"\",\r\n submitMsg: \"\",\r\n LangCode:LangCode,\r\n Vue:Vue,\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n notifications: StoreGetter.emMaintainNotifications,\r\n questions: StoreGetter.emQuestions,\r\n tripInfo: StoreGetter.emTripInfo,\r\n editable: StoreGetter.temEditable,\r\n hasDefects: StoreGetter.emHasDefects,\r\n questionFilterChanged: StoreGetter.emQuestionFilterChanged,\r\n userCountryCode: StoreGetter.umUserCountryCode,\r\n }),\r\n },\r\n methods: {\r\n GoHome,\r\n GoBack,\r\n GoTripInfo,\r\n GoCondition,\r\n GoQuestionTractor,\r\n VehiclePath,\r\n async goNext() {\r\n //Validate if all questions are completed.\r\n this.submitMsg = \"\";\r\n if (EvcrFormValidate(this.questions)) {\r\n this.$store.commit(StoreMutation.emUpdateQuestions);\r\n await this.confirmToSubmit();\r\n } else {\r\n this.submitMsg = Text(\"ml_114752\", \"Please complete eVCR form first.\");\r\n }\r\n },\r\n async confirmToSubmit() {\r\n const self = this as any;\r\n if (this.hasDefects) {\r\n GoSummary(self.$router);\r\n return false;\r\n }\r\n if (!Confirm(Text(\"ml_114678\", \"Are you sure to submit the eVCR ?\"))) {\r\n return false;\r\n }\r\n const isGood = await this.submit();\r\n if (isGood) {\r\n this.$router.push({\r\n name: PageName.RecordQuestionSubmitResult,\r\n params: { action: SubmitStatus.Success },\r\n });\r\n }\r\n return false;\r\n },\r\n async GoToSummary() {\r\n const self = this as any;\r\n this.errorMsg = \"\";\r\n if (EvcrFormValidate(this.questions)) {\r\n self.$store.commit(StoreMutation.emUpdateQuestions);\r\n GoSummary(self.$router);\r\n } else {\r\n this.errorMsg = Text(\"ml_114752\", \"Please answer all the questions first.\");\r\n }\r\n },\r\n async submit() {\r\n //submit request\r\n const self = this as any;\r\n this.submitMsg = \"\";\r\n let isOk = false;\r\n ConsoleLog(\"eVCR sumbit at eVCR overview page\");\r\n isOk = await self.$store.dispatch(StoreAction.emPostNewEvcr, {\r\n imageApiMode: ImgeApiMode.One,\r\n longitude: \"2\",\r\n });\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.submitMsg = this.$store.state.evcrModule.errorMsg;\r\n }\r\n if (isOk) {\r\n this.$store.commit(StoreMutation.emResetEvcr);\r\n RemoveStorageEvcr();\r\n }\r\n return isOk;\r\n },\r\n async loadQuestions() {\r\n this.errorMsg = \"\";\r\n const self = this as any;\r\n //await self.$store.dispatch(StoreAction.emGetQuestions, {\r\n // filter: new QuestionFilter(\r\n // this.tripInfo.tractor,\r\n // this.tripInfo.thirdParty,\r\n // this.tripInfo.chassis,\r\n // this.tripInfo.vessel,\r\n // \"\",\r\n // this.userCountryCode\r\n // ),\r\n //});\r\n await self.$store.dispatch(StoreAction.emGetQuestions, {\r\n filter: new QuestionFilter(\r\n this.tripInfo.isTractorThirdParty ? '' : this.tripInfo.tractor,\r\n this.tripInfo.thirdParty,\r\n this.tripInfo.isChassisThirdParty ? '' : this.tripInfo.chassis,\r\n this.tripInfo.isVesselThirdParty ? '' : this.tripInfo.vessel,\r\n this.tripInfo.isTractorThirdParty ? 'X' : '',\r\n this.tripInfo.tractorThirdPartyCategory,\r\n this.tripInfo.isChassisThirdParty ? 'X' : '',\r\n this.tripInfo.chassisThirdPartyCategory,\r\n this.tripInfo.isVesselThirdParty ? 'X' : '',\r\n this.tripInfo.vesselThirdPartyCategory,\r\n \"\",\r\n this.userCountryCode\r\n ),\r\n });\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n if(this.errorMsg === \"NO eVCR question exist.\" && this.tripInfo.language === \"zh-CN\"){\r\n this.errorMsg = Text(\"ml_116522\", \"NO eVCR question exist.\");\r\n }\r\n return;\r\n }\r\n //update editable to true and therefore we no need to get the questions next time.\r\n this.$store.commit(StoreMutation.temSetEditable, { editable: true });\r\n },\r\n },\r\n async beforeMount() {\r\n ConsoleLog(\"RecordOverview.beforeMount\");\r\n if (this.questionFilterChanged || !EvcrHasQuestion(this.questions)) {\r\n await this.loadQuestions();\r\n ConsoleLog(\"RecordOverview.loadQuestions\");\r\n }\r\n // ConsoleLog([\"beforeMount\", (this as any).tripInfo]);\r\n },\r\n mounted() {\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordOverview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordOverview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordOverview.vue?vue&type=template&id=e39291c4&\"\nimport script from \"./RecordOverview.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordOverview.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardTitle,VCol,VContainer,VImg,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-text',[_c('RecordQuestionHead',{attrs:{\"record-question-head-data\":_vm.newRecordData.questionAnwerSectionTractor}}),_vm._l((_vm.newRecordData\n .questionAnwerSectionTractor.regularQuestionCollection),function(sectionData,sectionDataIndex){return _c('RecordQuestionRegular',{key:sectionDataIndex,attrs:{\"record-question-regular-data\":sectionData}})}),_vm._l((_vm.newRecordData\n .questionAnwerSectionTractor.additionalQuestionCollection),function(sectionData,sectionDataIndex){return _c('RecordQuestionAdditional',{key:sectionDataIndex,attrs:{\"record-question-additional-data\":sectionData}})})],2),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.next}},[_vm._v(\" Home \")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.next}},[_vm._v(\" Trip Info \")])],1),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.next}},[_vm._v(\" Recent Vehicle Condition \")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":_vm.goToRecordQuestionDefectSummary}},[_vm._v(\" Next \")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-text',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-img',{ref:\"photoThumb\",staticClass:\"div-align-center\",attrs:{\"src\":_vm.VehiclePath(_vm.thumbnailName),\"height\":_vm.photoHeight,\"width\":_vm.photoWidth},on:{\"click\":function($event){return _vm.zoom()},\"load\":_vm.loadedPic}}),_c('zoom-in',{ref:\"zoomIn\",attrs:{\"section\":_vm.recordQuestionHeadData}})],1)],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"justify\":\"center\"}},[_c('v-dialog',{attrs:{\"fullscreen\":\"\",\"hide-overlay\":\"\",\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.showDialog),callback:function ($$v) {_vm.showDialog=$$v},expression:\"showDialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"dark\":\"\",\"color\":\"primary\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\"},on:{\"click\":_vm.close}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\",\"dark\":\"\"},on:{\"click\":_vm.close}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-img',{ref:\"vehiclePic\",staticClass:\"div-align-center\",attrs:{\"src\":_vm.VehiclePath(_vm.questions.imageName),\"height\":_vm.photoHeight,\"width\":_vm.photoWidth},on:{\"load\":_vm.loadedPic}}),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.errorMsg.length > 0),expression:\"errorMsg.length > 0\"}],staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { QuestionSection } from \"@/models/question-section\";\r\nimport { ConsoleLog, Timeout, Text } from \"@/utility\";\r\nimport Vue from \"vue\";\r\nimport { GetPicSize, VehiclePath } from \"@/utility/ui-utility\";\r\n\r\nexport default Vue.extend({\r\n components: {},\r\n props: {\r\n section: { type: Object, default: {} },\r\n // openDialog: { type: Boolean, default: false },\r\n },\r\n data() {\r\n return {\r\n showDialog: false,\r\n errorMsg: \"\",\r\n isValid: { type: Boolean, default: undefined },\r\n questions: { type: QuestionSection, default: {} },\r\n photoHeight: 0,\r\n photoWidth: 0,\r\n };\r\n },\r\n computed: {\r\n validationSuccess(): boolean {\r\n return (this as any).isValid === true;\r\n },\r\n },\r\n methods: {\r\n Text,\r\n updateShowDialog(status: boolean) {\r\n const self = this as any;\r\n self.showDialog = status;\r\n },\r\n\r\n VehiclePath,\r\n close(): void {\r\n (this as any).showDialog = false;\r\n },\r\n loadedPic(imageEvent: any) {\r\n // ConsoleLog({ loadPic: this.$refs.vehiclePic, imageEvent: imageEvent });\r\n const img = this.$refs.vehiclePic as any;\r\n if (img.image) {\r\n this.photoWidth = img.image.width;\r\n this.photoHeight = img.image.height;\r\n ConsoleLog({\r\n ZoomPhotoWidth: this.photoWidth,\r\n ZoomPhotoHeight: this.photoHeight,\r\n });\r\n }\r\n },\r\n picWidth() {\r\n const self = this as any;\r\n return GetPicSize(self.questions.imageName).width;\r\n },\r\n picHeight() {\r\n const self = this as any;\r\n return GetPicSize(self.questions.imageName).height;\r\n },\r\n },\r\n beforeMount() {\r\n const self = this as any;\r\n ConsoleLog({ \"ZoomIn.questions\": self.section });\r\n self.questions = self.section;\r\n // self.showDialog = self.openDialog;\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoomIn.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ZoomIn.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ZoomIn.vue?vue&type=template&id=c8547f42&\"\nimport script from \"./ZoomIn.vue?vue&type=script&lang=ts&\"\nexport * from \"./ZoomIn.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VDialog,VIcon,VImg,VSpacer,VToolbar})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n// import image from '../assets/image/PictureTractor.jpg'; // with import\r\nimport { VehiclePath, GetPicSize } from \"@/utility/ui-utility\";\r\nimport ZoomIn from \"./ZoomIn.vue\";\r\nimport { ConsoleLog } from \"@/utility\";\r\nexport default Vue.extend({\r\n components: { ZoomIn },\r\n computed: {},\r\n props: {\r\n recordQuestionHeadData: {\r\n type: Object,\r\n },\r\n thumbnailName: { type: String, default: \"\" },\r\n },\r\n\r\n data: () => ({\r\n picFileName: \"\",\r\n showZoom: false,\r\n photoHeight: 0,\r\n photoWidth: 0,\r\n }),\r\n methods: {\r\n VehiclePath,\r\n zoom(): void {\r\n const self = this as any;\r\n self.showZoom = true;\r\n self.$refs.zoomIn.updateShowDialog(self.showZoom);\r\n },\r\n loadedPic(imageEvent: any) {\r\n ConsoleLog({ loadPic: this.$refs.photoThumb, imageEvent: imageEvent });\r\n const img = this.$refs.photoThumb as any;\r\n if (img.image) {\r\n this.photoWidth = img.image.width;\r\n this.photoHeight = img.image.height;\r\n ConsoleLog({ photoWidth: this.photoWidth, photoHeight: this.photoHeight });\r\n }\r\n },\r\n fullImage(src: string) {\r\n let loaded = false;\r\n function loadHandler() {\r\n if (loaded) {\r\n return;\r\n }\r\n loaded = true;\r\n\r\n ConsoleLog({ \"fullImage.loadHandler\": \"loaded\" });\r\n /* your code */\r\n }\r\n const img = this.$refs.photoThumb as any;\r\n img.addEventListener(\"load\", loadHandler);\r\n img.src = src;\r\n img.style.display = \"block\";\r\n if (img.complete) {\r\n loadHandler();\r\n }\r\n },\r\n picWidth() {\r\n const self = this as any;\r\n return GetPicSize(self.thumbnailName).width;\r\n },\r\n picHeight() {\r\n const self = this as any;\r\n return GetPicSize(self.thumbnailName).height;\r\n },\r\n },\r\n beforeMount() {\r\n // this.picFileName = this.thumbnailName;\r\n // this.fullImage(VehiclePath(this.thumbnailName));\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionHead.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionHead.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionHead.vue?vue&type=template&id=e74e75d6&\"\nimport script from \"./RecordQuestionHead.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionHead.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardText,VCol,VContainer,VImg,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',{attrs:{\"id\":_vm.STR_SUBSECTION_ID + _vm.recordQuestionRegularData.subSectionId}},[_vm._v(_vm._s(_vm.recordQuestionRegularData.subSectionId))]),_c('div',[_vm._l((_vm.recordQuestionRegularData.questions),function(question,index){return [_c('form-regular',{key:index,ref:\"regularQ\",refInFor:true,attrs:{\"rules\":_vm.rules.InputSelect,\"label\":question.desc,\"required\":\"\",\"hardStop\":question.hardStop,\"items\":_vm.RegularItems(),\"showEditIcon\":question.notificationIsNeeded,\"showQuestionIcon\":!_vm.IsNullOrEmpty(question.instruction)},on:{\"userChange\":function (newValue, originalValue) { return _vm.goToquestionRegularDetail(newValue, question, originalValue, index); },\"userEditClick\":function (e) { return _vm.editClick(e, question); },\"userQuestionClick\":function (e) { return _vm.questionClick(e, question); }},model:{value:(question.answer),callback:function ($$v) {_vm.$set(question, \"answer\", $$v)},expression:\"question.answer\"}})]})],2)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n// import image from '../assets/image/PictureTractor.jpg'; // with import\r\nimport FormSelect from \"@/components/FormSelect.vue\";\r\nimport { PageName, RegularAnswer } from \"@/models/enums\";\r\nimport * as consts from \"@/models/consts\";\r\nimport FormRegular from \"@/components/FormRegular.vue\";\r\nimport { CloneObj, ConsoleLog, IsNullOrEmpty } from \"@/utility\";\r\nimport { Question } from \"@/models/question-section/question\";\r\nimport { StoreMutation } from \"@/store/store-mapping\";\r\nimport {\r\n GoDefect,\r\n GoGood,\r\n GetTranslationRequired,\r\n RegularItems,\r\n} from \"@/utility/ui-utility\";\r\n\r\nexport default Vue.extend({\r\n components: { FormRegular },\r\n computed: {},\r\n props: {\r\n recordQuestionRegularData: {\r\n type: Object,\r\n },\r\n },\r\n data: () => ({\r\n rules: {\r\n inputString: [(v: string) => !!v || GetTranslationRequired()],\r\n inputNumber: [(v: string) => !!v || GetTranslationRequired()],\r\n InputSelect: [(v: any) => !!v || GetTranslationRequired()],\r\n },\r\n STR_SUBSECTION_ID: consts.STR_SUBSECTION_ID,\r\n }),\r\n methods: {\r\n RegularItems,\r\n IsNullOrEmpty,\r\n editClick(e: any, question: Question) {\r\n ConsoleLog({ HomeEditCick: e });\r\n GoDefect(this.$router, {\r\n questionData: question,\r\n lastValue: RegularAnswer.Defective,\r\n });\r\n },\r\n questionClick(e: any, question: Question) {\r\n ConsoleLog({ HomeQuestionCick: e });\r\n GoGood(this.$router, { questionData: question });\r\n },\r\n goToquestionRegularDetail(newValue, question, originalValue, index: number): void {\r\n const self = this as any;\r\n // const firstSet = IsNullOrEmpty(originalValue) ? true : false;\r\n ConsoleLog([\r\n \"goToquestionRegularDetail\",\r\n newValue,\r\n CloneObj(question),\r\n self.$refs.regularQ,\r\n index,\r\n ]);\r\n\r\n self.$store.commit(StoreMutation.emUpdateQuestion, { question: question });\r\n if (newValue === RegularAnswer.Good) {\r\n self.$refs.regularQ[index].setLastValue(newValue);\r\n // GoGood(this.$router, { questionData: question });\r\n } else if (newValue === RegularAnswer.Defective) {\r\n GoDefect(this.$router, { questionData: question, lastValue: originalValue });\r\n } else if (newValue === RegularAnswer.NA) {\r\n self.$refs.regularQ[index].setLastValue(newValue);\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionRegular.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionRegular.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionRegular.vue?vue&type=template&id=7583027f&\"\nimport script from \"./RecordQuestionRegular.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionRegular.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardTitle,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[(_vm.recordQuestionAdditionalData.questions.length > 0)?[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',{attrs:{\"id\":_vm.STR_SUBSECTION_ID + _vm.STR_ADDITION_ID}},[_vm._v(_vm._s(_vm.recordQuestionAdditionalData.subSectionTitle))]),_c('div',[_vm._l((_vm.recordQuestionAdditionalData.questions),function(question,index){return [(question.questionType === _vm.QuestionType.Char)?[_c('form-textarea',{key:index,attrs:{\"rules\":_vm.rules.inputString,\"label\":question.desc,\"rows\":\"3\",\"required\":\"\"},on:{\"userChange\":function($event){return _vm.onUpdateCharQuestion(question)}},model:{value:(question.answer),callback:function ($$v) {_vm.$set(question, \"answer\", $$v)},expression:\"question.answer\"}})]:(question.questionType === _vm.QuestionType.Number)?[_c('form-input',{key:index,attrs:{\"rules\":_vm.rules.inputNumber,\"label\":question.desc,\"required\":\"\"},on:{\"userChange\":function (newValue) { return _vm.onUpdateQuestion(newValue, question); }},model:{value:(question.answer),callback:function ($$v) {_vm.$set(question, \"answer\", $$v)},expression:\"question.answer\"}})]:(\n question.questionType === _vm.QuestionType.Boolean &&\n question.questionTypeBooleanValue\n )?[_c('form-regular',{key:index,ref:'regularQ' + question.sequenceId,refInFor:true,attrs:{\"rules\":_vm.rules.InputSelect,\"label\":question.desc,\"required\":\"\",\"items\":_vm.RegularItems(),\"showEditIcon\":question.notificationIsNeeded,\"showQuestionIcon\":!_vm.IsNullOrEmpty(question.instruction)},on:{\"userChange\":function (newValue, originalValue) { return _vm.goToquestionRegularDetail(\n newValue,\n question,\n originalValue,\n question.sequenceId\n ); },\"userEditClick\":function (e) { return _vm.editClick(e, question); },\"userQuestionClick\":function (e) { return _vm.questionClick(e, question); }},model:{value:(question.answer),callback:function ($$v) {_vm.$set(question, \"answer\", $$v)},expression:\"question.answer\"}})]:_vm._e()]})],2)],1)],1)]:_vm._e()],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { PageName, PicType, QuestionType, RegularAnswer } from \"@/models/enums\";\r\nimport { CloneObj, ConsoleLog, IsNullOrEmpty, Timeout } from \"@/utility\";\r\nimport Vue from \"vue\";\r\nimport FormSelect from \"@/components/FormSelect.vue\";\r\nimport FormInput from \"@/components/FormInput.vue\";\r\nimport * as consts from \"@/models/consts\";\r\nimport { StoreMutation } from \"@/store/store-mapping\";\r\nimport { Question } from \"@/models/question-section/question\";\r\nimport FormTextarea from \"./FormTextarea.vue\";\r\nimport { ClearQuestionAnswer } from \"@/services/data-process/questions-process\";\r\nimport {\r\n GoDefect,\r\n GoGood,\r\n GetTranslationRequired,\r\n RegularItems,\r\n} from \"@/utility/ui-utility\";\r\nimport FormRegular from \"@/components/FormRegular.vue\";\r\n\r\nexport default Vue.extend({\r\n components: { FormInput, FormSelect, FormTextarea, FormRegular },\r\n computed: {},\r\n props: {\r\n recordQuestionAdditionalData: {\r\n type: Object,\r\n },\r\n },\r\n data: () => ({\r\n QuestionType,\r\n rules: {\r\n inputString: [(v: string) => !!v || GetTranslationRequired()],\r\n inputNumber: [(v: string) => !!v || GetTranslationRequired()],\r\n InputSelect: [(v: any) => !!v || GetTranslationRequired()],\r\n },\r\n STR_SUBSECTION_ID: consts.STR_SUBSECTION_ID,\r\n STR_ADDITION_ID: consts.STR_ADDITION_ID,\r\n }),\r\n methods: {\r\n RegularItems,\r\n IsNullOrEmpty,\r\n onUpdateCharQuestion(question: Question): void {\r\n ConsoleLog({\r\n onUpdateCharQuestion: CloneObj(question),\r\n });\r\n const self = this as any;\r\n self.$store.commit(StoreMutation.emUpdateQuestion, { question: question });\r\n ConsoleLog({\r\n \"onUpdateCharQuestion is completed\": CloneObj(question),\r\n });\r\n },\r\n onUpdateQuestion(newValue: string, question: Question): void {\r\n ConsoleLog([\r\n \"onUpdateQuestion for additional question\",\r\n newValue,\r\n CloneObj(question),\r\n ]);\r\n //need to reset the question in order to re-check if the new value is valid.\r\n const self = this as any;\r\n self.$store.commit(StoreMutation.emUpdateQuestion, { question: question });\r\n ConsoleLog([\r\n \"onUpdateQuestion for additional question after update question\",\r\n newValue,\r\n CloneObj(question),\r\n ]);\r\n if (question.notificationIsNeeded) {\r\n GoDefect(this.$router, {\r\n questionData: question,\r\n lastValue: newValue,\r\n });\r\n }\r\n },\r\n editClick(e: any, question: Question) {\r\n ConsoleLog({ HomeEditCick: e });\r\n GoDefect(this.$router, {\r\n questionData: question,\r\n lastValue: RegularAnswer.Defective,\r\n });\r\n },\r\n questionClick(e: any, question: Question) {\r\n ConsoleLog({ HomeQuestionCick: e });\r\n GoGood(this.$router, { questionData: question });\r\n },\r\n goToquestionRegularDetail(\r\n newValue: string,\r\n question: Question,\r\n originalValue,\r\n sequnceId: string\r\n ): void {\r\n ConsoleLog([\r\n \"goToquestionRegularDetail for addional\",\r\n newValue,\r\n CloneObj(question),\r\n this.$refs[\"regularQ\" + sequnceId],\r\n originalValue,\r\n sequnceId,\r\n ]);\r\n const self = this as any;\r\n self.$store.commit(StoreMutation.emUpdateQuestion, { question: question });\r\n if (newValue === RegularAnswer.Good) {\r\n // GoGood(this.$router, { questionData: question });\r\n self.$refs[\"regularQ\" + sequnceId][0].setLastValue(newValue);\r\n } else if (newValue === RegularAnswer.Defective) {\r\n GoDefect(this.$router, { questionData: question, lastValue: originalValue });\r\n } else if (newValue === RegularAnswer.NA) {\r\n self.$refs[\"regularQ\" + sequnceId][0].setLastValue(newValue);\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionAdditional.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionAdditional.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionAdditional.vue?vue&type=template&id=f64e1df8&\"\nimport script from \"./RecordQuestionAdditional.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionAdditional.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardTitle,VCol,VContainer,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport RecordQuestionHead from '../components/RecordQuestionHead.vue'\r\nimport RecordQuestionRegular from '../components/RecordQuestionRegular.vue'\r\nimport RecordQuestionAdditional from '../components/RecordQuestionAdditional.vue'\r\n// import HomePage from \"../components/HomePage.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n RecordQuestionHead,\r\n RecordQuestionRegular,\r\n RecordQuestionAdditional,\r\n // HomePage,\r\n },\r\n data() {\r\n return {\r\n }\r\n },\r\n computed: {\r\n\r\n },\r\n methods: {\r\n // next() {\r\n // this.step += 1\r\n // },\r\n // previous() {\r\n // this.step -= 1\r\n // },\r\n goToRecordQuestionDefectSummary() {\r\n this.$router.push({\r\n name: 'RecordQuestionDefectSummary',\r\n // params: { recordQuestionData: questionRegular },\r\n })\r\n },\r\n submitOrder() {\r\n this.$router.push({ name: 'thankyou' })\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionDetail.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionDetail.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionDetail.vue?vue&type=template&id=9233267c&\"\nimport script from \"./RecordQuestionDetail.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionDetail.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-card-title',[_vm._v(_vm._s(this.question.desc))]),_c('v-card-text',[(!_vm.IsNullOrEmpty(_vm.question.instruction))?_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114651'),expression:\"'ml_114651'\"}]},[_vm._v(\"Instruction\")]):_vm._e(),(!_vm.IsNullOrEmpty(_vm.question.instruction))?_c('p',[_vm._v(\" \"+_vm._s(this.question.instruction)+\" \")]):_vm._e(),_c('form-textarea',{attrs:{\"rules\":_vm.rules.issueDesc,\"label\":_vm.Text('ml_114652', 'Description'),\"required\":\"\",\"rows\":\"3\"},model:{value:(_vm.question.issueDesc),callback:function ($$v) {_vm.$set(_vm.question, \"issueDesc\", $$v)},expression:\"question.issueDesc\"}})],1),(_vm.whetherHidePictureUpload)?_c('p',[_vm._v(\" \"+_vm._s(_vm.Text('ml_116413', \"No picture needed for 3rd party defect\"))+\" \")]):_vm._e(),(!_vm.whetherHidePictureUpload)?_c('v-card-text',[_c('form-file',{attrs:{\"label\":_vm.Text('ml_114653', 'Attachment'),\"initalImgBase64\":_vm.AddBase64Head(_vm.question.attachments[0].attachmentBase64)},on:{\"userChange\":function (file, picBase64) { return _vm.uploadAttachment(file, picBase64, 0); }},model:{value:(_vm.question.attachments[0].attachment),callback:function ($$v) {_vm.$set(_vm.question.attachments[0], \"attachment\", $$v)},expression:\"question.attachments[0].attachment\"}})],1):_vm._e(),(!_vm.whetherHidePictureUpload)?_c('v-card-text',[_c('form-file',{attrs:{\"label\":_vm.Text('ml_114653', 'Attachment'),\"initalImgBase64\":_vm.AddBase64Head(_vm.question.attachments[1].attachmentBase64)},on:{\"userChange\":function (file, picBase64) { return _vm.uploadAttachment(file, picBase64, 1); }},model:{value:(_vm.question.attachments[1].attachment),callback:function ($$v) {_vm.$set(_vm.question.attachments[1], \"attachment\", $$v)},expression:\"question.attachments[1].attachment\"}})],1):_vm._e(),(!_vm.whetherHidePictureUpload)?_c('v-card-text',[_c('form-file',{attrs:{\"label\":_vm.Text('ml_114653', 'Attachment'),\"initalImgBase64\":_vm.AddBase64Head(_vm.question.attachments[2].attachmentBase64)},on:{\"userChange\":function (file, picBase64) { return _vm.uploadAttachment(file, picBase64, 2); }},model:{value:(_vm.question.attachments[2].attachment),callback:function ($$v) {_vm.$set(_vm.question.attachments[2], \"attachment\", $$v)},expression:\"question.attachments[2].attachment\"}})],1):_vm._e(),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114660'),expression:\"'ml_114660'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":_vm.onCancel}},[_vm._v(\" Cancel \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114654'),expression:\"'ml_114654'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":_vm.onOkay}},[_vm._v(\" OK \")])],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-file-input',{attrs:{\"truncate-length\":\"30\",\"accept\":\"image/*\",\"placeholder\":_vm.placeHolder,\"rules\":_vm.rules,\"multiple\":_vm.multiple,\"capture\":\"environment\"},on:{\"change\":_vm.onUserChanging},scopedSlots:_vm._u([(_vm.required)?{key:\"label\",fn:function(){return [_c('span',{staticClass:\"red-error\"},[_c('strong',[_vm._v(\"* \")])]),_vm._v(_vm._s(_vm.label)+\" \")]},proxy:true}:null],null,true),model:{value:(_vm.fileValue),callback:function ($$v) {_vm.fileValue=$$v},expression:\"fileValue\"}}),(_vm.errorMsg.length > 0)?_c('p',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e(),_c('v-img',{ref:\"uploadedPic\",attrs:{\"src\":_vm.imgBase64}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\n// show-size=\"false\" chips\r\n\r\nimport { CreateEmptyFile } from \"@/models/question-section/question\";\r\nimport { StoreMutation } from \"@/store/store-mapping\";\r\nimport { ConsoleLog, IsNullOrEmpty, Text } from \"@/utility\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: {},\r\n label: String,\r\n rules: [],\r\n required: Boolean,\r\n placeHolder: { type: String, default: \"\" },\r\n readonly: { type: Boolean, default: false },\r\n showAsLabel: { type: Boolean, default: false },\r\n initalImgBase64: String,\r\n },\r\n data() {\r\n return {\r\n showUpload: false,\r\n fileValue: {},\r\n imgBase64: \"\",\r\n errorMsg: \"\",\r\n multiple: false,\r\n };\r\n },\r\n computed: {},\r\n methods: {\r\n onChanging(value: any) {\r\n ConsoleLog({ \"formFile.onChanging\": value });\r\n this.$emit(\"input\", value);\r\n // this.$emit(\"userChange\", value);\r\n // v-on:input=\"onChanging\"\r\n },\r\n async onUserChanging(value: any) {\r\n try {\r\n this.errorMsg = \"\";\r\n ConsoleLog({ \"formFile.onUserChanging\": value });\r\n if (IsNullOrEmpty(value) || value.name === \"\") {\r\n this.imgBase64 = \"\";\r\n // return;\r\n }\r\n this.$store.commit(StoreMutation.StartLoading, null, { root: true });\r\n await this.showPicture();\r\n // this.$emit(\"userChange\", value, (this as any).$refs.uploadedPic.src);\r\n } catch (error) {\r\n this.stopLoading();\r\n console.log(\"FormFile.onUserChanging.error\", error);\r\n }\r\n },\r\n\r\n getPartString(strValue: string) {\r\n return IsNullOrEmpty(strValue) ? \"\" : strValue.substring(0, 1);\r\n },\r\n\r\n async showPicture() {\r\n const self = this as any;\r\n if (self.fileValue == null) {\r\n ConsoleLog([\"formFile.showPicture.fileValue is null\"]);\r\n self.$refs.uploadedPic.height = 0;\r\n self.$refs.uploadedPic.width =0\r\n self.$emit(\"userChange\", self.fileValue, \"\");\r\n self.stopLoading();\r\n return;\r\n }\r\n if (self.fileValue.type.match(/image.*/)) {\r\n ConsoleLog(\"An image has been loaded\");\r\n let reader = new FileReader();\r\n reader.onload = async function (readerEvent) {\r\n try {\r\n let image = new Image();\r\n image.onload = async function (ev) {\r\n try {\r\n ConsoleLog(\"start of loadImage\");\r\n // // // Resize the image\r\n // // let canvas = document.createElement(\"canvas\"),\r\n // // max_size = 700, //800 is not good in firefox\r\n // // width = image.width,\r\n // // height = image.height;\r\n // // ConsoleLog({\r\n // // max_size: max_size,\r\n // // width: image.width,\r\n // // height: image.height,\r\n // // });\r\n\r\n // // if (width > height) {\r\n // // if (width > max_size) {\r\n // // height *= max_size / width;\r\n // // width = max_size;\r\n // // }\r\n // // } else {\r\n // // if (height > max_size) {\r\n // // width *= max_size / height;\r\n // // height = max_size;\r\n // // }\r\n // // }\r\n // // canvas.width = width;\r\n // // canvas.height = height;\r\n // // ConsoleLog({\r\n // // \"canvas.width\": canvas.width,\r\n // // \"canvas.height\": canvas.height,\r\n // // });\r\n // // var ctx = canvas.getContext(\"2d\");\r\n // // ctx?.drawImage(image, 0, 0, width, height);\r\n // // let dataUrl = canvas.toDataURL(\"image/jpeg\");\r\n // // ConsoleLog({ toDataURL: self.getPartString(dataUrl) });\r\n // // const dataSize = new Blob([dataUrl]).size;\r\n // // ConsoleLog({ dataSize: dataSize });\r\n // // if (dataSize > 262144) {\r\n // // //file size is out of the limit\r\n // // ConsoleLog(\"file size is out of the limit\");\r\n // // self.clearFile();\r\n // // return;\r\n // // }\r\n const zipResult = await self.zipImage(\r\n image,\r\n image.width,\r\n image.height,\r\n 1000\r\n );\r\n if (!zipResult.good) {\r\n //file size is out of the limit\r\n ConsoleLog(\"file size is out of the limit after unzip\");\r\n self.clearFile();\r\n return;\r\n }\r\n self.imgBase64 = zipResult.data;\r\n self.$emit(\"userChange\", self.fileValue, zipResult.data);\r\n self.stopLoading();\r\n ConsoleLog(\"end of loadImage\");\r\n } catch (error) {\r\n console.log(\" image.onload.error\", error);\r\n self.stopLoading();\r\n }\r\n };\r\n if (\r\n readerEvent.target !== null &&\r\n readerEvent.target.result !== null\r\n ) {\r\n ConsoleLog(\r\n \"readerEvent.target !== null && readerEvent.target.result !== null\"\r\n );\r\n const loadResult = readerEvent.target.result.toString();\r\n image.src = loadResult;\r\n ConsoleLog({ loadResult: self.getPartString(loadResult) });\r\n }\r\n } catch (error) {\r\n console.log(\"reader.onload.error\", error);\r\n self.stopLoading();\r\n }\r\n };\r\n reader.readAsDataURL(self.fileValue);\r\n\r\n console.log(\"reader completed\");\r\n }\r\n },\r\n clearFile() {\r\n this.fileValue = CreateEmptyFile();\r\n this.errorMsg = Text(\"ml_114677\", \"Picture size is out of limit\");\r\n this.stopLoading();\r\n },\r\n stopLoading() {\r\n ConsoleLog(\"stopLoading\");\r\n this.$store.commit(StoreMutation.EndLoading, null, { root: true });\r\n },\r\n loadImage(image: any) {\r\n ConsoleLog(\"start of loadImage\");\r\n let self = this as any;\r\n // Resize the image\r\n let canvas = document.createElement(\"canvas\"),\r\n max_size = 500, //800 is not good in firefox\r\n width = image.width,\r\n height = image.height;\r\n ConsoleLog({\r\n max_size: max_size,\r\n width: image.width,\r\n height: image.height,\r\n });\r\n\r\n if (width > height) {\r\n if (width > max_size) {\r\n height *= max_size / width;\r\n width = max_size;\r\n }\r\n } else {\r\n if (height > max_size) {\r\n width *= max_size / height;\r\n height = max_size;\r\n }\r\n }\r\n canvas.width = width;\r\n canvas.height = height;\r\n ConsoleLog({\r\n \"canvas.width\": canvas.width,\r\n \"canvas.height\": canvas.height,\r\n });\r\n var ctx = canvas.getContext(\"2d\");\r\n ctx?.drawImage(image, 0, 0, width, height);\r\n let dataUrl = canvas.toDataURL(\"image/jpeg\");\r\n ConsoleLog({ toDataURL: self.getPartString(dataUrl) });\r\n const dataSize = new Blob([dataUrl]).size;\r\n ConsoleLog({ dataSize: dataSize });\r\n if (dataSize > 262144) {\r\n //file size is out of the limit\r\n ConsoleLog(\"file size is out of the limit\");\r\n }\r\n self.imgBase64 = dataUrl;\r\n self.$emit(\"userChange\", self.fileValue, self.getPartString(dataUrl));\r\n ConsoleLog(\"end of loadImage\");\r\n self.stopLoading();\r\n },\r\n async zipImage(\r\n image: any,\r\n imgWidth: number,\r\n imgHeight: number,\r\n maxSize: number\r\n ) {\r\n ConsoleLog({\r\n zipImage: image,\r\n width: imgWidth,\r\n height: imgHeight,\r\n maxSize: maxSize,\r\n });\r\n if (maxSize <= 0) {\r\n return { data: \"\", good: false };\r\n }\r\n const self = this as any;\r\n // Resize the image\r\n let canvas = document.createElement(\"canvas\"),\r\n max_size = maxSize, //800 is not good in firefox\r\n width = imgWidth,\r\n height = imgHeight;\r\n\r\n if (width > height) {\r\n if (width > max_size) {\r\n height *= max_size / width;\r\n width = max_size;\r\n }\r\n } else {\r\n if (height > max_size) {\r\n width *= max_size / height;\r\n height = max_size;\r\n }\r\n }\r\n canvas.width = width;\r\n canvas.height = height;\r\n // ConsoleLog({\r\n // \"canvas.width\": canvas.width,\r\n // \"canvas.height\": canvas.height,\r\n // });\r\n var ctx = canvas.getContext(\"2d\");\r\n ctx?.drawImage(image, 0, 0, width, height);\r\n let dataUrl = canvas.toDataURL(\"image/jpeg\");\r\n // ConsoleLog({ toDataURL: self.getPartString(dataUrl) });\r\n const dataSize = new Blob([dataUrl]).size;\r\n ConsoleLog({\r\n dataSize: dataSize,\r\n \"canvas.width\": width,\r\n \"canvas.height\": height,\r\n });\r\n if (dataSize > 262144) {\r\n //file size is out of the limit\r\n ConsoleLog(\"file size is out of the limit ,need to unzip again.\");\r\n return await self.zipImage(image, imgWidth, imgHeight, maxSize - 100);\r\n } else {\r\n ConsoleLog([\"file size is godd\", maxSize]);\r\n return { data: dataUrl, good: true };\r\n }\r\n },\r\n },\r\n mounted(): void {\r\n const self = this as any;\r\n if (self.value) {\r\n self.fileValue = self.value;\r\n }\r\n if (self.initalImgBase64) {\r\n self.imgBase64 = self.initalImgBase64;\r\n }\r\n ConsoleLog([\"FormFile.fileValue\", self.fileValue]);\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormFile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormFile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FormFile.vue?vue&type=template&id=f56f386a&\"\nimport script from \"./FormFile.vue?vue&type=script&lang=ts&\"\nexport * from \"./FormFile.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VFileInput,VImg,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport {\r\n IQuestion,\r\n Question,\r\n File,\r\n CreateEmptyFile,\r\n} from \"@/models/question-section/question\";\r\nimport Vue from \"vue\";\r\nimport {\r\n AddBase64Head,\r\n GoBack,\r\n RemoveBase64Head,\r\n GetTranslationRequired,\r\n} from \"@/utility/ui-utility\";\r\nimport * as consts from \"@/models/consts\";\r\nimport {\r\n QuestionSectionType,\r\n QuestionType,\r\n RegularAnswer,\r\n} from \"@/models/enums\";\r\nimport FormFile from \"@/components/FormFile.vue\";\r\nimport {\r\n CloneObj,\r\n ConsoleLog,\r\n DeepClone,\r\n IsNullOrEmpty,\r\n Text,\r\n} from \"@/utility\";\r\nimport { StoreMutation } from \"@/store/store-mapping\";\r\nimport FormTextarea from \"@/components/FormTextarea.vue\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { StoreAction, StoreGetter } from \"@/store/store-mapping\";\r\nimport { TractorThirdPartyCategory, ChassisThirdPartyCategory, VesselThirdPartyCategory } from \"@/models/enums\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n questionData: Object,\r\n lastValue: { type: String, default: \"\" },\r\n },\r\n components: {\r\n FormFile,\r\n FormTextarea,\r\n // RecordQuestionHead,\r\n // RecordQuestionRegular,\r\n // RecordQuestionAdditional,\r\n // HomePage,\r\n },\r\n data() {\r\n return {\r\n // question: { type: Question, default: null },\r\n // tmpPicString: \"\",\r\n valid: false,\r\n rules: {\r\n attachment: [\r\n (v: any) => !!v || GetTranslationRequired(),\r\n (v: any) =>\r\n (v && v.name && v.name.length > 0) || GetTranslationRequired(),\r\n ],\r\n issueDesc: [(v: any) => !!v || GetTranslationRequired()],\r\n },\r\n question: DeepClone(this.questionData) as IQuestion,\r\n originalQue: this.questionData as IQuestion,\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n tripInfo: StoreGetter.emTripInfo,\r\n }),\r\n whetherHidePictureUpload(): boolean {\r\n ConsoleLog({ \"whetherHidePictureUpload-trip\": CloneObj(this.tripInfo) });\r\n ConsoleLog({ \"whetherHidePictureUpload-question\": CloneObj(this.originalQue) }); \r\n let hidePictureUpload = false;\r\n if(this.originalQue.vehicleType == TractorThirdPartyCategory.TRACTOR \r\n || this.originalQue.vehicleType == TractorThirdPartyCategory.RIGID_PGG_KNUCKLE_CRANE_TRUCK\r\n || this.originalQue.vehicleType == TractorThirdPartyCategory.RIGID_PGG_TRUCK\r\n || this.originalQue.vehicleType == TractorThirdPartyCategory.RIGID_TANKER){ \r\n if(this.tripInfo.isTractorThirdParty){\r\n hidePictureUpload = true;\r\n }\r\n }\r\n if(this.originalQue.vehicleType == ChassisThirdPartyCategory.CHASSIS_TRAILER\r\n || this.originalQue.vehicleType == ChassisThirdPartyCategory.PGG_CHASSIS){\r\n if(this.tripInfo.isChassisThirdParty){\r\n hidePictureUpload = true;\r\n } \r\n }\r\n if(this.originalQue.vehicleType == VesselThirdPartyCategory.LB_MB_ISO_TANKER\r\n || this.originalQue.vehicleType == VesselThirdPartyCategory.TUBE_SKID){\r\n if(this.tripInfo.isVesselThirdParty){\r\n hidePictureUpload = true;\r\n }\r\n } \r\n return hidePictureUpload;\r\n },\r\n },\r\n \r\n created(): void {\r\n // this.makePicture;\r\n },\r\n mounted(): void {\r\n // this.tmpPicString = this.question.attachmentBase64;\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n // ConsoleLog({ \"mounted.tmpPicString\": this.question.attachmentBase64 });\r\n },\r\n methods: {\r\n GoBack,\r\n Text,\r\n AddBase64Head,\r\n IsNullOrEmpty,\r\n uploadAttachment(file: any, picBase64: any, index: number) {\r\n // ConsoleLog([\"uploadAttachment\", file, picBase64, RemoveBase64Head(picBase64)]);\r\n ConsoleLog([\"uploadAttachment\", file]);\r\n if (file === null) {\r\n this.question.attachments[index].fileName = \"\";\r\n this.question.attachments[index].attachment = CreateEmptyFile();\r\n // this.tmpPicString = RemoveBase64Head(picBase64);\r\n this.question.attachments[index].attachmentBase64 = \" \";\r\n } else {\r\n this.question.attachments[index].fileName = file.name;\r\n this.question.attachments[index].attachment = new File(\r\n file.name,\r\n file.size,\r\n file.type,\r\n file.lastModified\r\n );\r\n // this.tmpPicString = RemoveBase64Head(picBase64);\r\n this.question.attachments[index].attachmentBase64 =\r\n RemoveBase64Head(picBase64);\r\n }\r\n },\r\n onCancel() {\r\n this.originalQue.answer = IsNullOrEmpty(this.lastValue)\r\n ? \"\"\r\n : this.lastValue;\r\n this.$store.commit(StoreMutation.emUpdateQuestion, {\r\n question: this.originalQue,\r\n });\r\n GoBack(this.$router);\r\n },\r\n\r\n onOkay() {\r\n // validation the attachment\r\n const self = this as any;\r\n if (!self.$refs.form.validate()) {\r\n return;\r\n }\r\n ConsoleLog({\r\n \"originalQue \": CloneObj(self.originalQue),\r\n question: CloneObj(self.question),\r\n });\r\n //set the pic string\r\n for (let i = 0; i < 3; i++) {\r\n this.originalQue.attachments[i].fileName =\r\n this.question.attachments[i].fileName;\r\n this.originalQue.attachments[i].attachment =\r\n this.question.attachments[i].attachment;\r\n self.originalQue.attachments[i].attachmentBase64 =\r\n this.question.attachments[i].attachmentBase64;\r\n }\r\n // self.originalQue.attachmentBase64 = self.tmpPicString;\r\n this.originalQue.issueDesc = this.question.issueDesc;\r\n ConsoleLog({ \"beore emUpdateQuestion\": CloneObj(self.originalQue) });\r\n self.$store.commit(StoreMutation.emUpdateQuestion, {\r\n question: self.originalQue,\r\n });\r\n ConsoleLog({ \"pass validation at Defect page\": \"\" });\r\n GoBack(this.$router);\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionDefect.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionDefect.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionDefect.vue?vue&type=template&id=45ac0c4a&\"\nimport script from \"./RecordQuestionDefect.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionDefect.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VForm,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-title',[_vm._v(_vm._s(this.question.desc))]),_c('v-card-text',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114651'),expression:\"'ml_114651'\"}]},[_vm._v(\"Introduction\")]),_c('p',[_vm._v(_vm._s(this.question.instruction))])],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.btnDisable},on:{\"click\":function($event){return _vm.GoBack(_vm.$router)}}},[_vm._v(\" \"+_vm._s(_vm.okText)+\" \")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Question } from \"@/models/question-section/question\";\r\nimport { ConsoleLog, Timeout, Text } from \"@/utility\";\r\nimport { GoBack } from \"@/utility/ui-utility\";\r\nexport default Vue.extend({\r\n props: {\r\n questionData: Object,\r\n },\r\n components: {},\r\n data() {\r\n return {\r\n btnDisable: true,\r\n okText: `${Text(\"ml_114657\", \"Okay\")}`,\r\n question: this.questionData,\r\n };\r\n },\r\n computed: {},\r\n methods: {\r\n Text,\r\n GoBack,\r\n async showBtnText() {\r\n // for (var i = 5; i > 0; i--) {\r\n // this.okText = `${Text(\"\", \"Okay\")}(${i})`;\r\n // await Timeout(1000);\r\n // }\r\n // this.okText = `${Text(\"\", \"Okay\")}`;\r\n this.btnDisable = false;\r\n },\r\n },\r\n mounted() {\r\n ConsoleLog({ \"RecordQuestionGood.vue.mounted\": this.question });\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n this.showBtnText();\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionGood.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionGood.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionGood.vue?vue&type=template&id=41ec04ad&\"\nimport script from \"./RecordQuestionGood.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionGood.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114655'),expression:\"'ml_114655'\"}]},[_vm._v(\"Defect Summary\")]),(_vm.questions.containDefect || _vm.questions.additionalQuestionContainDefect)?[_c('v-card-text',[_c('RecordQuestionSummaryItem',{attrs:{\"record-question-summary-data\":_vm.questions}})],1)]:_vm._e(),(!(_vm.questions.containDefect || _vm.questions.additionalQuestionContainDefect))?_c('v-card-text',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114927'),expression:\"'ml_114927'\"}]},[_vm._v(\" No Defect \")]):_vm._e(),(_vm.errorMsg.length > 0)?_c('v-card-text',[_c('div',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))])]):_vm._e(),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114646'),expression:\"'ml_114646'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoOverview(_vm.$router)}}},[_vm._v(\" eVCR Overview \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114656'),expression:\"'ml_114656'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.goNext()}}},[_vm._v(\" Submit \")])],1),(_vm.TestMode())?_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.submitAll()}}},[_vm._v(\" AllNoWait \")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.submitAllWait()}}},[_vm._v(\" All Wait \")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.submitOne()}}},[_vm._v(\" 1by1 \")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.submitParallel()}}},[_vm._v(\" Parallel \")])],1):_vm._e()],2)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(\n _vm.recordQuestionSummaryData.containDefect ||\n _vm.recordQuestionSummaryData.additionalQuestionContainDefect\n ),expression:\"\\n recordQuestionSummaryData.containDefect ||\\n recordQuestionSummaryData.additionalQuestionContainDefect\\n \"}]},[_c('v-card-text',[(_vm.recordQuestionSummaryData.containDefect)?_vm._l((_vm.recordQuestionSummaryData.regularQuestionCollection),function(questionRegular,questionRegularIndex){return _c('RecordQuestionSummaryRegular',{key:questionRegularIndex,attrs:{\"record-question-summary-regular-data\":questionRegular}})}):_vm._e(),(_vm.recordQuestionSummaryData.additionalQuestionContainDefect)?_vm._l((_vm.recordQuestionSummaryData.additionalQuestionCollection),function(questionAdditional,questionAdditionalIndex){return _c('RecordQuestionSummaryAdditional',{key:questionAdditionalIndex + 1000,attrs:{\"record-question-summary-additional-data\":questionAdditional}})}):_vm._e()],2)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.recordQuestionSummaryRegularData.containDefect),expression:\"recordQuestionSummaryRegularData.containDefect\"}]},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._l((_vm.recordQuestionSummaryRegularData.questions),function(question,index){return [(question.notificationIsNeeded)?[_c('RecordQuestionSummaryRegularItem',{key:index,attrs:{\"record-question-summary-regular-item-data\":question}})]:_vm._e()]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.recordQuestionSummaryRegularItemData.notificationIsNeeded)?_c('v-row',[_c('v-card-subtitle',[_vm._v(_vm._s(_vm.recordQuestionSummaryRegularItemData.desc))]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.recordQuestionSummaryRegularItemData.issueDesc)+\" \")]),_vm._l((_vm.recordQuestionSummaryRegularItemData.attachments.filter(\n function (item) { return !_vm.IsNullOrEmpty(item.attachmentBase64); }\n )),function(attachment,index){return [_c('v-img',{key:index,attrs:{\"src\":_vm.AddBase64Head(attachment.attachmentBase64),\"alt\":'attchment for' + _vm.recordQuestionSummaryRegularItemData.desc,\"title\":'attchment for' + _vm.recordQuestionSummaryRegularItemData.desc,\"contain\":true}}),_c('hr',{key:index + 200})]})],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n// in full builds helpers are exposed as Vuex.mapState\r\nimport { mapState } from \"vuex\";\r\nimport { AddBase64Head, GoBack, RemoveBase64Head } from \"@/utility/ui-utility\";\r\n// import RecordQuestionHead from './RecordQuestionHead.vue'\r\n// import RecordQuestionRegular from './RecordQuestionRegular.vue'\r\n// import RecordQuestionAdditional from './RecordQuestionAdditional.vue'\r\nimport { ConsoleLog, IsNullOrEmpty } from \"@/utility\";\r\n// import HomePage from \"../components/HomePage.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n // RecordQuestionHead,\r\n // RecordQuestionRegular,\r\n // RecordQuestionAdditional,\r\n // HomePage,\r\n },\r\n data() {\r\n return {};\r\n },\r\n props: {\r\n recordQuestionSummaryRegularItemData: {\r\n type: Object,\r\n },\r\n },\r\n computed: {},\r\n methods: {\r\n IsNullOrEmpty,\r\n AddBase64Head,\r\n ConsoleLog,\r\n submitOrder() {},\r\n },\r\n mounted() {\r\n // ConsoleLog([\r\n // \"img src\",\r\n // AddBase64Head(this.recordQuestionSummaryRegularItemData.attachmentBase64),\r\n // ]);\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSummaryRegularItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSummaryRegularItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionSummaryRegularItem.vue?vue&type=template&id=833ed276&\"\nimport script from \"./RecordQuestionSummaryRegularItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionSummaryRegularItem.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCardSubtitle,VCardText,VImg,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n// in full builds helpers are exposed as Vuex.mapState\r\nimport { mapState } from \"vuex\";\r\nimport { PageName, RegularAnswer } from \"@/models/enums\";\r\n// import RecordQuestionHead from './RecordQuestionHead.vue'\r\n// import RecordQuestionRegular from './RecordQuestionRegular.vue'\r\nimport RecordQuestionSummaryRegularItem from \"./RecordQuestionSummaryRegularItem.vue\";\r\n// import HomePage from \"../components/HomePage.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n // RecordQuestionHead,\r\n // RecordQuestionRegular,\r\n // RecordQuestionAdditional,\r\n RecordQuestionSummaryRegularItem,\r\n // HomePage,\r\n },\r\n data() {\r\n return {\r\n RegularAnswer,\r\n };\r\n },\r\n props: {\r\n recordQuestionSummaryRegularData: {\r\n type: Object,\r\n },\r\n },\r\n computed: {},\r\n methods: {\r\n // next() {\r\n // this.step += 1\r\n // },\r\n // previous() {\r\n // this.step -= 1\r\n // },\r\n submitOrder() {\r\n this.$router.push({ name: \"thankyou\" });\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSummaryRegular.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSummaryRegular.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionSummaryRegular.vue?vue&type=template&id=21b17326&\"\nimport script from \"./RecordQuestionSummaryRegular.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionSummaryRegular.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-card-text',_vm._l((_vm.recordQuestionSummaryAdditionalData.questions),function(question,questionIndex){return _c('RecordQuestionSummaryRegularItem',{key:questionIndex,attrs:{\"record-question-summary-regular-item-data\":question}})}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\n// import RecordQuestionHead from './RecordQuestionHead.vue'\r\n// import RecordQuestionRegular from './RecordQuestionRegular.vue'\r\nimport RecordQuestionSummaryRegularItem from \"./RecordQuestionSummaryRegularItem.vue\";\r\n// import HomePage from \"../components/HomePage.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n // RecordQuestionHead,\r\n // RecordQuestionRegular,\r\n // RecordQuestionAdditional,\r\n RecordQuestionSummaryRegularItem,\r\n // HomePage,\r\n },\r\n data() {\r\n return {\r\n };\r\n },\r\n props: {\r\n recordQuestionSummaryAdditionalData: {\r\n type: Object,\r\n },\r\n },\r\n computed: {},\r\n methods: {\r\n // next() {\r\n // this.step += 1\r\n // },\r\n // previous() {\r\n // this.step -= 1\r\n // },\r\n submitOrder() {\r\n this.$router.push({ name: \"thankyou\" });\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSummaryAdditional.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSummaryAdditional.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionSummaryAdditional.vue?vue&type=template&id=979231b8&\"\nimport script from \"./RecordQuestionSummaryAdditional.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionSummaryAdditional.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCardText,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n// in full builds helpers are exposed as Vuex.mapState\r\nimport { mapState } from \"vuex\";\r\nimport RecordQuestionSummaryRegular from \"./RecordQuestionSummaryRegular.vue\";\r\nimport RecordQuestionSummaryAdditional from \"./RecordQuestionSummaryAdditional.vue\";\r\nimport { ConsoleLog, CloneObj } from \"@/utility\";\r\n// import HomePage from \"../components/HomePage.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n // RecordQuestionHead,\r\n // RecordQuestionRegular,\r\n // RecordQuestionAdditional,\r\n RecordQuestionSummaryRegular,\r\n RecordQuestionSummaryAdditional,\r\n // HomePage,\r\n },\r\n data() {\r\n return {};\r\n },\r\n props: {\r\n recordQuestionSummaryData: {\r\n type: Object,\r\n },\r\n },\r\n computed: {},\r\n methods: {\r\n submitOrder() {\r\n this.$router.push({ name: \"thankyou\" });\r\n },\r\n },\r\n mounted() {\r\n ConsoleLog([\r\n \"RecordQuestionSummaryItem.recordQuestionSummaryData\",\r\n CloneObj(this.recordQuestionSummaryData),\r\n ]);\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSummaryItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSummaryItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionSummaryItem.vue?vue&type=template&id=4e3f642c&\"\nimport script from \"./RecordQuestionSummaryItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionSummaryItem.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCardText,VContainer,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport RecordQuestionSummaryItem from \"../components/RecordQuestionSummaryItem.vue\";\r\nimport {\r\n GoHome,\r\n GoBack,\r\n GoTripInfo,\r\n GoCondition,\r\n GoQuestionChassis,\r\n GoQuestionVessel,\r\n GoSummary,\r\n GoOverview,\r\n Confirm,\r\n TestMode,\r\n RemoveStorageEvcr,\r\n} from \"@/utility/ui-utility\";\r\nimport { ImgeApiMode, PageName, SubmitStatus } from \"@/models/enums\";\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"@/store/store-mapping\";\r\nimport { ConsoleLog, IsNullOrEmpty, Text } from \"@/utility\";\r\nimport { mapGetters } from \"vuex\";\r\n\r\n\r\n\r\nexport default Vue.extend({\r\n props: {},\r\n components: {\r\n // RecordQuestionHead,\r\n // RecordQuestionRegular,\r\n // RecordQuestionAdditional,\r\n RecordQuestionSummaryItem,\r\n // HomePage,\r\n },\r\n data() {\r\n return {\r\n errorMsg: \"\",\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n questions: StoreGetter.emQuestions,\r\n hasDefects: StoreGetter.emHasDefects,\r\n hasTopDefects: StoreGetter.emHasTopDefects,\r\n }),\r\n },\r\n methods: {\r\n Text,\r\n GoOverview,\r\n GoBack,\r\n TestMode,\r\n async submitAll() {\r\n const isGood = await this.submitTest(ImgeApiMode.AllNotWait);\r\n },\r\n async submitAllWait() {\r\n const isGood = await this.submitTest(ImgeApiMode.AllWait);\r\n },\r\n async submitParallel() {\r\n const isGood = await this.submitTest(ImgeApiMode.Parallel);\r\n },\r\n async submitOne() {\r\n const isGood = await this.submitTest(ImgeApiMode.One);\r\n },\r\n async goNext() {\r\n ConsoleLog(\"defect summary page, enter go next method\");\r\n const self = this as any;\r\n self.errorMsg = \"\";\r\n //validation\r\n // if (false) {\r\n // return;\r\n // }\r\n if (this.hasTopDefects) {\r\n ConsoleLog(\"defect summary page, enter go next method, go has defect branch\");\r\n this.$router.push({\r\n name: PageName.RecordQuestionSubmitNotice,\r\n });\r\n ConsoleLog(\"defect summary page, enter go next method, go has defect branch, complete\");\r\n } else {\r\n //if (!Confirm(Text(\"ml_114678\", \"Are you sure to submit the eVCR ?\"))) {\r\n // return;\r\n //}\r\n ConsoleLog(\"defect summary page, enter go next method, go has no defect branch\");\r\n this.$router.push({\r\n name: PageName.RecordQuestionSubmitSign,\r\n });\r\n ConsoleLog(\"defect summary page, enter go next method, go has no defect branch, complete\");\r\n\r\n //const isGood = await this.submit(ImgeApiMode.One);\r\n //if (isGood) {\r\n // this.$router.push({\r\n // name: PageName.RecordQuestionSubmitResult,\r\n // params: { action: SubmitStatus.Success },\r\n // });\r\n //}\r\n\r\n }\r\n },\r\n\r\n async submitTest(imageApiMode: ImgeApiMode) {\r\n this.errorMsg = \"\";\r\n //submit request\r\n const self = this as any;\r\n let isOk = false;\r\n ConsoleLog(\"eVCR submitTest at question page\");\r\n isOk = await self.$store.dispatch(StoreAction.emPostNewEvcr, {\r\n imageApiMode,\r\n longitude: \"2\",\r\n });\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n }\r\n return isOk;\r\n },\r\n\r\n async submit(imageApiMode: ImgeApiMode) {\r\n //submit request\r\n const self = this as any;\r\n let isOk = false;\r\n ConsoleLog(\"eVCR sumbit at question page\");\r\n isOk = await self.$store.dispatch(StoreAction.emPostNewEvcr, {\r\n imageApiMode,\r\n longitude: \"2\",\r\n });\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n }\r\n if (isOk) {\r\n this.$store.commit(StoreMutation.emResetEvcr);\r\n RemoveStorageEvcr();\r\n }\r\n return isOk;\r\n },\r\n\r\n\r\n\r\n async mounted() {\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionDefectSummary.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionDefectSummary.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionDefectSummary.vue?vue&type=template&id=9a59e4d8&\"\nimport script from \"./RecordQuestionDefectSummary.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionDefectSummary.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114658'),expression:\"'ml_114658'\"}],staticClass:\"color-red\"},[_vm._v(\"Caution!\")]),_c('v-card-text',[_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114659'),expression:\"'ml_114659'\"}],staticClass:\"color-red\"},[_vm._v(\" You have critical defects on the eVCR form, please don’t start the trip (if you are on pre-trip) and contact your supervisor for the guidance of next step. \")])]),(_vm.errorMsg.length > 0)?_c('v-card-text',[_c('div',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))])]):_vm._e(),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114660'),expression:\"'ml_114660'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoBack(_vm.$router)}}},[_vm._v(\" Cancel \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114654'),expression:\"'ml_114654'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":_vm.onOkay}},[_vm._v(\" OK \")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ImgeApiMode, PageName, SubmitStatus } from \"@/models/enums\";\r\nimport Vue from \"vue\";\r\nimport { GoBack, RemoveStorageEvcr } from \"@/utility/ui-utility\";\r\nimport { ConsoleLog, Text } from \"@/utility\";\r\nimport { StoreAction, StoreMutation } from \"@/store/store-mapping\";\r\nexport default Vue.extend({\r\n components: {\r\n // RecordOverviewItem,\r\n // HomePage,\r\n },\r\n data() {\r\n return {\r\n errorMsg: \"\",\r\n };\r\n },\r\n computed: {},\r\n methods: {\r\n Text,\r\n GoBack,\r\n async onOkay() {\r\n const self = this as any;\r\n self.errorMsg = \"\";\r\n \r\n //const isGood = await this.submit();\r\n //if (isGood) {\r\n // this.$router.push({\r\n // name: PageName.RecordQuestionSubmitResult,\r\n // params: { action: SubmitStatus.Success },\r\n // });\r\n //}\r\n\r\n this.$router.push({\r\n name: PageName.RecordQuestionSubmitSign,\r\n });\r\n },\r\n async submit() {\r\n //submit request\r\n const self = this as any;\r\n let isOk = false;\r\n ConsoleLog(\"eVCR sumbit at question page\");\r\n isOk = await self.$store.dispatch(StoreAction.emPostNewEvcr, {\r\n imageApiMode: ImgeApiMode.One,\r\n longitude: \"2\",\r\n });\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n }\r\n if (isOk) {\r\n this.$store.commit(StoreMutation.emResetEvcr);\r\n RemoveStorageEvcr();\r\n }\r\n return isOk;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSubmitNotice.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSubmitNotice.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionSubmitNotice.vue?vue&type=template&id=796c59b4&\"\nimport script from \"./RecordQuestionSubmitNotice.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionSubmitNotice.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_115437'),expression:\"'ml_115437'\"}],staticClass:\"color-red\"},[_vm._v(\"Sign\")]),_c('v-card-text',[_c('div',[_c('v-row',[_c('VueSignaturePad',{ref:\"signaturePad\",attrs:{\"width\":\"320px\",\"height\":\"200px\",\"options\":{backgroundColor: 'rgb(70,240,240)'}}})],1),_c('v-row',[_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_115438'),expression:\"'ml_115438'\"}],attrs:{\"color\":\"primary\",\"small\":\"\"},on:{\"click\":_vm.save}},[_vm._v(\"Save\")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_115439'),expression:\"'ml_115439'\"}],attrs:{\"color\":\"primary\",\"small\":\"\"},on:{\"click\":_vm.undo}},[_vm._v(\"Undo\")]),_c('v-spacer')],1)],1)]),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114660'),expression:\"'ml_114660'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoBack(_vm.$router)}}},[_vm._v(\" Cancel \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114654'),expression:\"'ml_114654'\"}],attrs:{\"color\":\"primary\",\"disabled\":_vm.isNotSigned()},on:{\"click\":_vm.onOkay}},[_vm._v(\" OK \")])],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ImgeApiMode, PageName, SubmitStatus } from \"@/models/enums\";\r\nimport Vue from \"vue\";\r\nimport { GoBack, RemoveStorageEvcr } from \"@/utility/ui-utility\";\r\n\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"@/store/store-mapping\";\r\nimport { mapGetters } from \"vuex\";\r\nimport {\r\n CloneObj,\r\n ConsoleLog,\r\n IsDebug,\r\n Timeout,\r\n validateOdometer,\r\n Text,\r\n GetDatePart,\r\n GetTimePart,\r\n IsNullOrEmpty,\r\n CountArrayDuplicate,\r\n} from \"@/utility\";\r\nexport default Vue.extend({\r\n components: {\r\n // RecordOverviewItem,\r\n // HomePage,\r\n },\r\n data() {\r\n return {\r\n errorMsg: \"\",\r\n signString:\"\",\r\n };\r\n },\r\n computed: {\r\n\r\n ...mapGetters({\r\n tripInfo: StoreGetter.emTripInfo,\r\n questions: StoreGetter.emQuestions,\r\n }),\r\n },\r\n methods: {\r\n Text,\r\n GoBack,\r\n async onOkay() {\r\n const self = this as any;\r\n self.errorMsg = \"\";\r\n const isGood = await this.submit();\r\n if (isGood) {\r\n this.$router.push({\r\n name: PageName.RecordQuestionSubmitResult,\r\n params: { action: SubmitStatus.Success },\r\n });\r\n }\r\n },\r\n async submit() {\r\n this.tripInfo.overviewImage=this.questions.imageName;\r\n this.updateTripInfo(false, 'overviewImage');\r\n this.tripInfo.signImage=this.signString;\r\n this.updateTripInfo(false, 'signImage');\r\n //submit request\r\n const self = this as any;\r\n let isOk = false;\r\n ConsoleLog(\"eVCR sumbit at question page\");\r\n isOk = await self.$store.dispatch(StoreAction.emPostNewEvcrSign, {\r\n imageApiMode: ImgeApiMode.One,\r\n longitude: \"2\",\r\n //signString:this.signString,\r\n });\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n }\r\n if (isOk) {\r\n this.$store.commit(StoreMutation.emResetEvcr);\r\n RemoveStorageEvcr();\r\n }\r\n return isOk;\r\n },\r\n\r\n undo() {\r\n //this.$refs.signaturePad.undoSignature();\r\n (this.$refs.signaturePad as any).undoSignature();\r\n this.signString=\"\";\r\n },\r\n\r\n save() {\r\n //const { isEmpty, data } = this.$refs.signaturePad.saveSignature();\r\n const { isEmpty, data } = (this.$refs.signaturePad as any).saveSignature('image/jpeg');\r\n console.log(isEmpty);\r\n console.log(data);\r\n if(data){\r\n this.signString=data;}\r\n console.log(this.signString);\r\n \r\n },\r\n\r\n updateTripInfo(updatedDriver: boolean = false, type: string) {\r\n ConsoleLog({ updateTripInfo: CloneObj(this.tripInfo), type: type });\r\n const self = this as any;\r\n self.$store.commit(StoreMutation.emUpdateTripInfo, {\r\n tipInfo: this.tripInfo,\r\n });\r\n if (updatedDriver) {\r\n self.$store.commit(StoreMutation.emUpdateIsEdit, { isEdit: true });\r\n }\r\n },\r\n\r\n isNotSigned() {\r\n return this.signString === \"\"?true:false;\r\n },\r\n\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSubmitSign.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSubmitSign.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionSubmitSign.vue?vue&type=template&id=e9e10cb8&\"\nimport script from \"./RecordQuestionSubmitSign.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionSubmitSign.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[(_vm.action === _vm.SubmitStatus.Success)?[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114661'),expression:\"'ml_114661'\"}]},[_vm._v(\"Notice\")]),_c('v-card-text',[_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114662'),expression:\"'ml_114662'\"}]},[_vm._v(\" eVCR has been submitted successfully. System will go to home page in 3 seconds. \")])])]:(_vm.action === _vm.SubmitStatus.Failure)?[_c('v-card-title',[_vm._v(\"Warning\")]),_c('v-card-text',[_c('p',[_vm._v(\"eVCR has not been submitted successfully.\")]),_c('div',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))])]),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114638'),expression:\"'ml_114638'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":_vm.goPre}},[_vm._v(\" Back \")])],1)]:(_vm.action === _vm.SubmitStatus.Processing)?[_c('v-card-title',[_vm._v(\"Information\")]),_c('v-card-text',[_c('p',[_vm._v(\"submitting is in process.\")])])]:_vm._e()],2)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { ImgeApiMode, PageName, SubmitStatus } from \"@/models/enums\";\r\nimport { ConsoleLog, Timeout, Text } from \"@/utility\";\r\nimport Vue from \"vue\";\r\nimport { GoBack, GoHome, GoSummary, RemoveStorageEvcr } from \"@/utility/ui-utility\";\r\nimport { StoreAction, StoreMutation } from \"@/store/store-mapping\";\r\nexport default Vue.extend({\r\n components: {\r\n // RecordOverviewItem,\r\n // HomePage,\r\n },\r\n props: {\r\n action: String,\r\n },\r\n data() {\r\n return {\r\n // submitStatus: SubmitStatus,\r\n SubmitStatus,\r\n errorMsg: \"\",\r\n };\r\n },\r\n computed: {},\r\n methods: {\r\n Text,\r\n GoBack,\r\n goPre() {\r\n GoSummary(this.$router);\r\n },\r\n async onOkay() {\r\n await Timeout(3000);\r\n GoHome(this.$router, false);\r\n },\r\n async submit() {\r\n //submit request\r\n this.errorMsg = \"\";\r\n const self = this as any;\r\n let isOk = false;\r\n ConsoleLog(\"eVCR sumbit at question page\");\r\n isOk = await self.$store.dispatch(StoreAction.emPostNewEvcr, {\r\n imageApiMode: ImgeApiMode.One,\r\n longitude: \"2\",\r\n });\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n }\r\n if (isOk) {\r\n self.$store.commit(StoreMutation.emResetEvcr);\r\n RemoveStorageEvcr();\r\n await this.onOkay();\r\n }\r\n return isOk;\r\n },\r\n },\r\n watch: {\r\n action: {\r\n immediate: true,\r\n handler: async function (newValue: string) {\r\n ConsoleLog({ \"watch.submitStatus\": \"Current vaules:\" + newValue });\r\n switch (newValue) {\r\n case SubmitStatus.Processing.toString():\r\n // await this.submit();\r\n break;\r\n case SubmitStatus.Success.toString():\r\n await this.onOkay();\r\n break;\r\n }\r\n },\r\n deep: false,\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSubmitResult.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordQuestionSubmitResult.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RecordQuestionSubmitResult.vue?vue&type=template&id=2736d7d0&\"\nimport script from \"./RecordQuestionSubmitResult.vue?vue&type=script&lang=ts&\"\nexport * from \"./RecordQuestionSubmitResult.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114667'),expression:\"'ml_114667'\"}]},[_vm._v(\"Trip Info of Last eVCR\")]),_c('v-card-text',[_c('form-radio-group',{attrs:{\"label\":_vm.Text('ml_114897', 'Trip Type'),\"input\":_vm.tripInfo.tripType,\"items\":_vm.tripInfo.tripTypeItems,\"readonly\":\"\"},model:{value:(_vm.tripInfo.tripType),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"tripType\", $$v)},expression:\"tripInfo.tripType\"}}),_c('form-input',{attrs:{\"label\":_vm.tripIdLabel,\"readonly\":\"\"},model:{value:(_vm.tripInfo.lbsTripId),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"lbsTripId\", $$v)},expression:\"tripInfo.lbsTripId\"}}),_c('form-radio-group',{attrs:{\"label\":_vm.Text('ml_114627', 'Pre/Post'),\"input\":_vm.tripInfo.prePost,\"items\":_vm.tripInfo.prePostItems,\"readonly\":\"\"},model:{value:(_vm.tripInfo.prePost),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"prePost\", $$v)},expression:\"tripInfo.prePost\"}}),(false)?_c('form-select',{attrs:{\"items\":_vm.getPlantItems(),\"label\":_vm.Text('ml_114628', 'Plant ID'),\"readonly\":\"\"},model:{value:(_vm.tripInfo.plantId),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"plantId\", $$v)},expression:\"tripInfo.plantId\"}}):_vm._e(),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114629', 'Driver'),\"readonly\":\"\"},model:{value:(_vm.tripInfo.driver1Name),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"driver1Name\", $$v)},expression:\"tripInfo.driver1Name\"}}),_c('v-card-actions',{staticClass:\"v-card__actions_padding_left0\"},[_c('form-input',{attrs:{\"readonly\":\"\",\"label\":_vm.Text('ml_114631', 'Tractor/Rigid/Truck')},model:{value:(_vm.tripInfo.tractor),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"tractor\", $$v)},expression:\"tripInfo.tractor\"}})],1),_c('v-card-actions',{staticClass:\"v-card__actions_padding_left0\"},[_c('form-input',{attrs:{\"label\":_vm.Text('ml_114633', 'Chassis'),\"readonly\":\"\"},model:{value:(_vm.tripInfo.chassis),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"chassis\", $$v)},expression:\"tripInfo.chassis\"}})],1),_c('v-card-actions',{staticClass:\"v-card__actions_padding_left0\"},[_c('form-input',{attrs:{\"label\":_vm.Text('ml_114634', 'Vessel'),\"readonly\":\"\"},model:{value:(_vm.tripInfo.vessel),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"vessel\", $$v)},expression:\"tripInfo.vessel\"}})],1),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114635', 'Odometer'),\"readonly\":\"\"},model:{value:(_vm.tripInfo.odometer),callback:function ($$v) {_vm.$set(_vm.tripInfo, \"odometer\", $$v)},expression:\"tripInfo.odometer\"}}),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114636', 'Date'),\"readonly\":\"\"},model:{value:(_vm.localDateTime.date),callback:function ($$v) {_vm.$set(_vm.localDateTime, \"date\", $$v)},expression:\"localDateTime.date\"}}),_c('form-input',{attrs:{\"label\":_vm.Text('ml_114637', 'Time'),\"readonly\":\"\"},model:{value:(_vm.localDateTime.time),callback:function ($$v) {_vm.$set(_vm.localDateTime, \"time\", $$v)},expression:\"localDateTime.time\"}}),(_vm.errorMsg.length > 0)?_c('p',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))]):_vm._e()],1)],1),_c('v-card',[_c('v-card-title',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114668'),expression:\"'ml_114668'\"}]},[_vm._v(\"eVCR Questions/Answers\")]),_c('v-card-text',[_vm._l((_vm.questions),function(question,index){return [_c('form-input',{key:index,attrs:{\"label\":question.desc,\"readonly\":true,\"showAsLabel\":false},model:{value:(question.answer),callback:function ($$v) {_vm.$set(question, \"answer\", $$v)},expression:\"question.answer\"}}),(question.notificationIsNeeded)?_c('p',{key:index + 300},[_vm._v(\" \"+_vm._s(question.comment)+\" \")]):_vm._e()]}),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114638'),expression:\"'ml_114638'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoBack(_vm.$router)}}},[_vm._v(\" Back \")])],1)],2)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n CloneObj,\r\n ConsoleLog,\r\n IsDebug,\r\n Timeout,\r\n validateOdometer,\r\n PadLeftZero,\r\n Text,\r\n} from \"@/utility\";\r\nimport * as consts from \"@/models/consts\";\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"@/store/store-mapping\";\r\nimport { mapGetters } from \"vuex\";\r\nimport { AddBase64Head, RemoveBase64Head } from \"@/utility/ui-utility\";\r\n\r\nimport FormInput from \"@/components/FormInput.vue\";\r\nimport { ISelectItem, SelectItem } from \"@/models/select-item\";\r\nimport FormRadioGroup from \"@/components/FormRadioGroup.vue\";\r\nimport FormSelect from \"@/components/FormSelect.vue\";\r\nimport {\r\n GoHome,\r\n GoQuestionTractor,\r\n GoTripInfo,\r\n GoCondition,\r\n GoOverview,\r\n GoBack,\r\n GoQuestionsView,\r\n} from \"@/utility/ui-utility\";\r\nimport { IPlant } from \"@/models/plant\";\r\nimport { NotificationFilter } from \"@/models/maitain-notification\";\r\nimport { ValidateEvcr } from \"@/services/data-process/basic-process\";\r\nimport { TripType } from \"@/models/enums\";\r\nexport default Vue.extend({\r\n components: { FormInput, FormRadioGroup, FormSelect },\r\n data() {\r\n return {\r\n errorMsg: \"\",\r\n valid: false,\r\n tripIdLabel: Text(\"ml_114625\", \"LBShell Trip ID\"),\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n tripInfo: StoreGetter.lemLastEvcrTripInfo,\r\n questions: StoreGetter.lemQuestions,\r\n }),\r\n localDateTime(): { date: string; time: string; } {\r\n // const date3 = new Date('2023-06-20T09:21:00Z');\r\n // transformed by web UI code\r\n // this.tripInfo.date 2023-06-20\r\n // this.tripInfo.date 09:21\r\n ConsoleLog({ 'lastEvcr.date': this.tripInfo.date });\r\n ConsoleLog({ 'lastEvcr.time': this.tripInfo.time });\r\n const localDateTime = new Date( this.tripInfo.date + 'T' + this.tripInfo.time + ':00Z' );\r\n const localDateString = localDateTime.getFullYear() + '-' + PadLeftZero(localDateTime.getMonth() + 1) + '-' + PadLeftZero(localDateTime.getDate());\r\n const localTimeString = PadLeftZero(localDateTime.getHours()) + ':' + PadLeftZero(localDateTime.getMinutes());\r\n ConsoleLog({ 'lastEvcr.local.date': localDateString });\r\n ConsoleLog({ 'lastEvcr.local.time': localTimeString });\r\n return { date: localDateString, time: localTimeString };\r\n }, \r\n },\r\n methods: {\r\n Text,\r\n getPlantItems() {\r\n const items: ISelectItem[] = [];\r\n items.push(new SelectItem(`${this.tripInfo.plantId}`, this.tripInfo.plantId));\r\n return items;\r\n },\r\n GoBack,\r\n GoHome,\r\n IsDebug,\r\n AddBase64Head,\r\n async initialize() {\r\n // const self = this as any;\r\n // await self.$store.dispatch(StoreAction.emInitialData, {\r\n // longitude: this.customerLocation.longitude,\r\n // latitude: this.customerLocation.latitude,\r\n // });\r\n if (this.tripInfo.tripType === TripType.PG) {\r\n this.tripIdLabel = Text(\"ml_114902\", \"PG Trip ID\");\r\n }\r\n },\r\n async onNext(): Promise {\r\n this.errorMsg = \"\";\r\n const hasQuestions = this.questions.length > 0;\r\n if (hasQuestions) {\r\n GoQuestionsView(this.$router);\r\n }\r\n },\r\n },\r\n async created() {},\r\n async beforeMount() {\r\n await this.initialize();\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TripInformationView.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TripInformationView.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TripInformationView.vue?vue&type=template&id=cc0d91a6&\"\nimport script from \"./TripInformationView.vue?vue&type=script&lang=ts&\"\nexport * from \"./TripInformationView.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"about\"},[_c('h1',[_vm._v(\"This is an about page\")])])}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=1ae8a7be&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-col',[_c('v-card',[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('div',[(false)?_c('RecordQuestionHead',{attrs:{\"record-question-head-data\":_vm.questions,\"thumbnail-name\":_vm.questions.thumbnailName}}):_vm._e(),(_vm.isRegular)?_vm._l((_vm.getData),function(sectionData,sectionIndex){return _c('RecordQuestionRegular',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isRegular),expression:\"isRegular\"}],key:sectionIndex,attrs:{\"record-question-regular-data\":sectionData}})}):_vm._l((_vm.getData),function(sectionData,sectionIndex){return _c('RecordQuestionAdditional',{key:sectionIndex + 10000,attrs:{\"record-question-additional-data\":sectionData}})})],2),(_vm.errorMsg.length > 0)?_c('v-card-text',[_c('div',{staticClass:\"red-error\"},[_vm._v(_vm._s(_vm.errorMsg))])]):_vm._e(),_c('v-card-actions',[_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114646'),expression:\"'ml_114646'\"}],attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.GoOverview(_vm.$router)}}},[_vm._v(\" eVCR Overview \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114750'),expression:\"'ml_114750'\"}],attrs:{\"color\":\"primary\",\"disabled\":!_vm.notFirst},on:{\"click\":function($event){return _vm.goPrevious()}}},[_vm._v(\" Page Up \")]),_c('v-spacer'),_c('v-btn',{directives:[{name:\"t\",rawName:\"v-t\",value:('ml_114751'),expression:\"'ml_114751'\"}],attrs:{\"color\":\"primary\",\"disabled\":!_vm.notLast},on:{\"click\":function($event){return _vm.goNext()}}},[_vm._v(\" Page Down \")])],1),_c('v-card-actions')],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapGetters, mapState } from \"vuex\";\r\nimport RecordQuestionHead from \"../components/RecordQuestionHead.vue\";\r\nimport RecordQuestionRegular from \"../components/RecordQuestionRegular.vue\";\r\nimport RecordQuestionAdditional from \"../components/RecordQuestionAdditional.vue\";\r\nimport { StoreAction, StoreGetter, StoreMutation } from \"@/store/store-mapping\";\r\nimport {\r\n GoHome,\r\n GoBack,\r\n GoTripInfo,\r\n GoCondition,\r\n GoQuestionChassis,\r\n GoQuestionVessel,\r\n GoSummary,\r\n GoOverview,\r\n Confirm,\r\n RemoveStorageEvcr,\r\n GoQuestion,\r\n} from \"@/utility/ui-utility\";\r\n\r\nimport { ImgeApiMode, PageName, QuestionSectionType, SubmitStatus } from \"@/models/enums\";\r\nimport { CloneObj, ConsoleLog, Text } from \"@/utility\";\r\nimport { IQuestionSection } from \"@/models/question-section\";\r\nimport { STR_ADDITION_ID } from \"@/models/consts\";\r\nimport {\r\n EvcrFormValidate,\r\n EvcrSectionValidate,\r\n GetLastRegualrSubSectionId,\r\n GetNextSubSectionId,\r\n GetPreviousSubSectionId,\r\n SetFirtLastSubsection,\r\n} from \"@/services/data-process/questions-process\";\r\n// import HomePage from \"../components/HomePage.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n RecordQuestionHead,\r\n RecordQuestionRegular,\r\n RecordQuestionAdditional,\r\n // HomePage,\r\n },\r\n props: {\r\n subSectionId: String,\r\n },\r\n data() {\r\n return {\r\n errorMsg: \"\",\r\n valid: false,\r\n isRegular: true,\r\n notFirst: true,\r\n notLast: true,\r\n };\r\n },\r\n computed: {\r\n ...mapGetters({\r\n questions: StoreGetter.emQuestions,\r\n hasDefects: StoreGetter.emHasDefects,\r\n }),\r\n getData() {\r\n // ConsoleLog([\"QueSection.vue.getData start\", this.type]);\r\n let data: any;\r\n const section = this.questions as IQuestionSection;\r\n if (this.isRegular) {\r\n data = section.regularQuestionCollection.filter(\r\n (subSection) => subSection.subSectionId === this.subSectionId\r\n );\r\n } else {\r\n data = section.additionalQuestionCollection.filter(\r\n (subSection) => subSection.subSectionId === STR_ADDITION_ID\r\n );\r\n }\r\n ConsoleLog({\r\n \"QueSection.getData end\": CloneObj(data),\r\n isRegular: this.isRegular,\r\n subSectionId: this.subSectionId,\r\n });\r\n return data;\r\n },\r\n },\r\n methods: {\r\n GoHome,\r\n GoBack,\r\n GoTripInfo,\r\n GoCondition,\r\n GoQuestionChassis,\r\n GoQuestionVessel,\r\n GoSummary,\r\n GoOverview,\r\n Text,\r\n async GoToSummary() {\r\n const self = this as any;\r\n //validation\r\n if (!self.$refs.form.validate()) {\r\n return;\r\n }\r\n this.errorMsg = \"\";\r\n if (EvcrFormValidate(this.questions)) {\r\n self.$store.commit(StoreMutation.emUpdateQuestions);\r\n GoSummary(self.$router);\r\n } else {\r\n this.errorMsg = Text(\"ml_114752\", \"Please answer all the questions first.\");\r\n }\r\n },\r\n\r\n async confirmToSubmit() {\r\n const self = this as any;\r\n if (this.hasDefects) {\r\n GoSummary(self.$router);\r\n return false;\r\n }\r\n if (!Confirm(Text(\"ml_114678\", \"Are you sure to submit the eVCR ?\"))) {\r\n return false;\r\n }\r\n const isGood = await this.submit();\r\n if (isGood) {\r\n this.$router.push({\r\n name: PageName.RecordQuestionSubmitResult,\r\n params: { action: SubmitStatus.Success },\r\n });\r\n }\r\n return false;\r\n },\r\n async submit() {\r\n //submit request\r\n const self = this as any;\r\n this.errorMsg = \"\";\r\n let isOk = false;\r\n ConsoleLog(\"eVCR sumbit at question page\");\r\n isOk = await self.$store.dispatch(StoreAction.emPostNewEvcr, {\r\n imageApiMode: ImgeApiMode.One,\r\n longitude: \"2\",\r\n });\r\n if (this.$store.state.evcrModule.errorMsg.length > 0) {\r\n this.errorMsg = this.$store.state.evcrModule.errorMsg;\r\n }\r\n if (isOk) {\r\n this.$store.commit(StoreMutation.emResetEvcr);\r\n RemoveStorageEvcr();\r\n }\r\n return isOk;\r\n },\r\n goPrevious() {\r\n if (this.isRegular) {\r\n const previousId = GetPreviousSubSectionId(this.questions, this.subSectionId);\r\n if (previousId.length > 0) {\r\n GoQuestion(this.$router, previousId);\r\n }\r\n } else {\r\n //go to last regular subsection\r\n const lastReguarSubSectionId = GetLastRegualrSubSectionId(this.questions);\r\n if (lastReguarSubSectionId.length > 0) {\r\n GoQuestion(this.$router, lastReguarSubSectionId);\r\n }\r\n }\r\n },\r\n async goNext() {\r\n const self = this as any;\r\n //validation\r\n if (!self.$refs.form.validate()) {\r\n return;\r\n }\r\n this.errorMsg = \"\";\r\n if (this.getData.length > 0 && !EvcrSectionValidate(this.getData[0])) {\r\n this.errorMsg = Text(\"ml_114752\", \"Please answer all the questions first.\");\r\n return;\r\n }\r\n self.$store.commit(StoreMutation.emUpdateQuestions);\r\n if (this.isRegular) {\r\n const nextSubSectionId = GetNextSubSectionId(this.questions, this.subSectionId);\r\n if (nextSubSectionId.length > 0) {\r\n GoQuestion(self.$router, nextSubSectionId);\r\n } else {\r\n const questionsTmp = this.questions as IQuestionSection;\r\n if (questionsTmp.containAdditionalQuestion) {\r\n GoQuestion(self.$router, STR_ADDITION_ID);\r\n }\r\n }\r\n } else {\r\n //submit if needed\r\n this.errorMsg = \"\";\r\n if (EvcrFormValidate(this.questions)) {\r\n await this.confirmToSubmit();\r\n } else {\r\n this.errorMsg = Text(\"ml_114752\", \"Please answer all the questions first.\");\r\n }\r\n }\r\n },\r\n },\r\n mounted() {\r\n ConsoleLog([\"QueSection.mounted\", this.isRegular]);\r\n document.body.scrollTop = 0;\r\n document.documentElement.scrollTop = 0;\r\n },\r\n beforeMount() {\r\n if (this.subSectionId === STR_ADDITION_ID) {\r\n this.isRegular = false;\r\n }\r\n const preNexStatus = SetFirtLastSubsection(\r\n this.questions,\r\n this.subSectionId,\r\n this.isRegular\r\n );\r\n this.notLast = preNexStatus.notLast;\r\n this.notFirst = preNexStatus.notFirst;\r\n ConsoleLog({\r\n \"QueSection.beforeMount\": preNexStatus,\r\n subSectionId: this.subSectionId,\r\n isRegular: this.isRegular,\r\n });\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QueSection.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QueSection.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QueSection.vue?vue&type=template&id=a922010c&\"\nimport script from \"./QueSection.vue?vue&type=script&lang=ts&\"\nexport * from \"./QueSection.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCol,VContainer,VForm,VRow,VSpacer})\n","import { PageName } from '@/models/enums';\r\nimport { RouteConfig } from 'vue-router';\r\nimport HomeEntry from '../views/HomeEntry.vue';\r\nimport SearchPage from '../views/SearchPage.vue';\r\nimport TripInformation from '../views/TripInformation.vue';\r\nimport VehicleCondition from '../views/VehicleCondition.vue';\r\nimport RecordOverview from '../views/RecordOverview.vue';\r\n// import RecordQuestion from '../views/RecordQuestion.vue';\r\nimport RecordQuestionDetail from '../views/RecordQuestionDetail.vue';\r\nimport RecordQuestionDefect from '../views/RecordQuestionDefect.vue';\r\nimport RecordQuestionGood from '../views/RecordQuestionGood.vue';\r\nimport RecordQuestionDefectSummary from '../views/RecordQuestionDefectSummary.vue';\r\nimport RecordQuestionSubmitNotice from '../views/RecordQuestionSubmitNotice.vue';\r\nimport RecordQuestionSubmitSign from '../views/RecordQuestionSubmitSign.vue';\r\nimport RecordQuestionSubmitResult from '../views/RecordQuestionSubmitResult.vue';\r\nimport TripInformationView from '../views/TripInformationView.vue';\r\n\r\n\r\nimport About from '../views/About.vue';\r\n\r\nimport QueSection from '../views/QueSection.vue';\r\n\r\n\r\nexport const routes: RouteConfig[] = [\r\n {\r\n path: '/',\r\n name: PageName.HomePage,\r\n component: HomeEntry\r\n },\r\n {\r\n path: '/search-trip',\r\n name: PageName.SearchPage,\r\n component: SearchPage,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n {\r\n path: '/trip-information',\r\n name: PageName.TripInformation,\r\n component: TripInformation,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n {\r\n path: '/vehicle-condition',\r\n name: PageName.VehicleCondition,\r\n component: VehicleCondition,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n {\r\n path: '/record-overview',\r\n name: PageName.RecordOverview,\r\n component: RecordOverview,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n // {\r\n // path: '/record-question/:type',\r\n // name: PageName.RecordQuestion,\r\n // component: RecordQuestion,\r\n // props: true,\r\n // meta: {\r\n // isSecure: true,\r\n // }\r\n // },\r\n // {\r\n // path: '/record-question/:type',\r\n // name: PageName.RecordQuestionChassis,\r\n // component: RecordQuestion,\r\n // props: true,\r\n // meta: {\r\n // isSecure: true,\r\n // }\r\n // },\r\n // {\r\n // path: '/record-question/:type',\r\n // name: PageName.RecordQuestionVessel,\r\n // component: RecordQuestion,\r\n // props: true,\r\n // meta: {\r\n // isSecure: true,\r\n // }\r\n // },\r\n {\r\n path: '/record-question/:subSectionId',\r\n name: PageName.QueSection,\r\n component: QueSection,\r\n props: true,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n\r\n {\r\n path: '/record-question-detail',\r\n name: PageName.RecordQuestionDetail,\r\n component: RecordQuestionDetail,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n {\r\n path: '/record-question-defect',\r\n name: PageName.RecordQuestionDefect,\r\n component: RecordQuestionDefect,\r\n props: true,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n {\r\n path: '/record-question-good',\r\n name: PageName.RecordQuestionGood,\r\n component: RecordQuestionGood,\r\n props: true,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n {\r\n path: '/record-question-defect-summary',\r\n name: PageName.RecordQuestionDefectSummary,\r\n component: RecordQuestionDefectSummary,\r\n props: true,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n {\r\n path: '/record-question-submit-notice',\r\n name: PageName.RecordQuestionSubmitNotice,\r\n component: RecordQuestionSubmitNotice,\r\n meta: {\r\n isSecure: true,\r\n }\r\n\r\n },\r\n {\r\n path: '/record-question-submit-sign',\r\n name: PageName.RecordQuestionSubmitSign,\r\n component: RecordQuestionSubmitSign,\r\n meta: {\r\n isSecure: true,\r\n }\r\n\r\n },\r\n {\r\n path: '/record-question-submit-result/:action',\r\n name: PageName.RecordQuestionSubmitResult,\r\n component: RecordQuestionSubmitResult,\r\n props: true,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n {\r\n path: '/trip-information-view',\r\n name: PageName.TripInformationView,\r\n component: TripInformationView,\r\n props: true,\r\n meta: {\r\n isSecure: true,\r\n }\r\n },\r\n // {\r\n // path: '/questions-view',\r\n // name: PageName.QuestionsView,\r\n // component: QuestionsView,\r\n // props: true,\r\n // meta: {\r\n // isSecure: true,\r\n // }\r\n // },\r\n {\r\n path: '/about',\r\n name: PageName.About,\r\n component: About,\r\n },\r\n];\r\n\r\n// export const GenerateTransitionName = (to: any, from: any) => {\r\n// let historyGo = false;\r\n// if (from.meta.his) {\r\n// historyGo = true;\r\n// from.meta.his = false;\r\n// }\r\n// return historyGo ? 'fold-right' : 'fold-left';\r\n// };","import { PageName } from '@/models/enums';\r\nimport { authService } from '@/services/AuthorService';\r\nimport { ConsoleLog, IsNullOrEmpty } from '@/utility';\r\nimport Vue from 'vue';\r\nimport VueRouter from 'vue-router';\r\nimport { routes } from './routes';\r\n// import { authService } from '@/services/AuthService';\r\nimport config from '@/config/config.json';\r\n\r\nVue.use(VueRouter);\r\n\r\nconst router = new VueRouter({\r\n mode: 'history',\r\n base: process.env.BASE_URL,\r\n routes,\r\n // scrollBehavior(to, from, savedPosition) {\r\n // if (savedPosition) {\r\n // // return savedPosition\r\n // } else {\r\n // if (to.hash) {\r\n // return {\r\n // // x, y as top-level variables define position not offset\r\n // selector: to.hash,\r\n // // offset has to be set as an extra object\r\n // // offset: { x: 0, y: 64 }\r\n // behavior: 'smooth',\r\n // }\r\n // }\r\n // }\r\n // }\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n // ConsoleLog({ \"router.beforeEach\": to, \"from\": from, 'next': next });\r\n if (to.matched.some((record) => record.meta.isSecure)) {\r\n // this route requires auth, check if logged in\r\n // if not, redirect to login page.\r\n // ConsoleLog(\"router.beforeEach.authService.isLogin()\");\r\n authService.isLogin().then((isLoggedIn: boolean) => {\r\n if (isLoggedIn) {\r\n if (from.name === null && to.name !== PageName.HomePage) {\r\n // ConsoleLog(\"router.beforeEach.from.name === null && to.name !== PageName.HomePage\");\r\n next({ path: '/' })\r\n } else {\r\n next();\r\n }\r\n } else {\r\n // ConsoleLog({ \"router.beforeEach.notLogin\": to, \"from\": from, 'next': next });\r\n // next({ path: '/' })\r\n ConsoleLog(`not log in, redirect to` + `${config.app.fuelHome}`);\r\n window.open(config.app.fuelHome, \"_self\");\r\n }\r\n });\r\n } else {\r\n next();\r\n }\r\n\r\n // // // ConsoleLog({ \"router.beforeEach.to\": to, \"from\": from, 'next': next });\r\n // // if (from.name === null && to.name !== PageName.HomePage) {\r\n // // // ConsoleLog({ \"router.beforeEach.redirect\": to, \"from\": from, 'next': next });\r\n // // next({ path: '/' })\r\n // // } else {\r\n // // next();\r\n // // }\r\n\r\n});\r\n\r\nexport default router;\r\n","export async function GetCurrentUseCase({ dispatch, state }: any) {\r\n // const currentUseCase = state.usecaseModule.selectedUseCase;\r\n // if (currentUseCase === undefined || currentUseCase.id === undefined || currentUseCase.id === '') {\r\n // await dispatch(\"usecaseModule/dataLoading\");\r\n // return state.usecaseModule.selectedUseCase.id;\r\n // }\r\n\r\n // return currentUseCase.id;\r\n return \"\";\r\n}\r\n","import { IState } from './state';\r\n\r\nexport function startLoading(state: IState) {\r\n state.isLoading = true;\r\n}\r\n\r\nexport function endLoading(state: IState) {\r\n state.isLoading = false;\r\n}\r\n","export interface IState {\r\n isLoading: boolean;\r\n}\r\n\r\nexport const state: IState = {\r\n isLoading: false,\r\n};\r\n","import { CloneObj, ConsoleLog } from \".\"\r\nimport * as consts from \"@/models/consts\"\r\nimport { StoreMutation, StoreAction } from '@/store/store-mapping';\r\n\r\nexport function saveStatePlugin(store) {\r\n store.subscribe((mutation, state) => {\r\n // const mutationList = [StoreMutation.emUpdateTripInfo, StoreMutation.emUpdateQuestionTractor,\r\n // StoreMutation.emUpdateQuestionChassis, StoreMutation.emUpdateQuestionVessel,\r\n // StoreMutation.emUpdateQuestion, StoreMutation.emInitializeState];\r\n const mutationList = [StoreMutation.emUpdateTripInfo, StoreMutation.emUpdateQuestions,\r\n StoreMutation.emUpdateQuestion, StoreMutation.emInitializeState, StoreMutation.emClearTripId];\r\n if (!mutationList.includes(mutation.type)) {\r\n return;\r\n }\r\n console.log('saveStatePlugin.subscribe', mutation, CloneObj(state.evcrModule))\r\n localStorage.setItem(consts.EVCR_DATA_KEY, JSON.stringify(state.evcrModule))\r\n });\r\n store.subscribeAction({\r\n after: (action, state) => {\r\n const actionList = [StoreAction.emGetQuestions, StoreAction.emInitialData];\r\n if (!actionList.includes(action.type)) {\r\n return;\r\n }\r\n console.log('saveStatePlugin.subscribeAction', action, CloneObj(state.evcrModule));\r\n localStorage.setItem(consts.EVCR_DATA_KEY, JSON.stringify(state.evcrModule));\r\n },\r\n });\r\n}\r\n","\r\nimport { CreateTripInfo, CreateTripInfoTest, TripInfo } from \"../trip-info\";\r\n\r\nexport interface IEvcr {\r\n tripInfo: TripInfo;\r\n\r\n}\r\n\r\nexport class Evcr implements IEvcr {\r\n tripInfo: TripInfo;\r\n constructor(\r\n tripInfo: TripInfo,) {\r\n this.tripInfo = tripInfo\r\n }\r\n}\r\nexport function CreateEvcr() {\r\n return new Evcr(CreateTripInfo());\r\n}","import { Commit, Dispatch } from 'vuex'\r\nimport { BaseDataLoadingAction } from '..'\r\nimport { ILastEvcr, LastEvcr } from '../../models/last-evcr'\r\nimport { ConsoleLog, HandleAPIException, Timeout, Text } from '@/utility'\r\nimport { CreateEvcr, IEvcr } from '@/models/evcr'\r\nimport { ITripInfo } from '@/models/trip-info'\r\nimport { GetLastEvcr } from '@/services/evcr-svc'\r\nimport { HandleSapReturnCode } from '@/utility/ui-utility'\r\nimport { Question } from '@/models/question-section/question'\r\n\r\ninterface IState {\r\n lastEvcr: IEvcr;\r\n questions: Question[];\r\n tractor: string;\r\n errorMsg: string;\r\n}\r\n\r\nexport const lastEvcrModule = {\r\n namespaced: true,\r\n state: () => ({\r\n lastEvcr: CreateEvcr(),\r\n questions: [] as Question[],\r\n errorMsg: '',\r\n tractor: \"\"\r\n }),\r\n getters: {\r\n lastEvcrTrip: (state: IState) => {\r\n return state.lastEvcr.tripInfo;\r\n },\r\n getTractor: (state: IState) => {\r\n return state.tractor;\r\n },\r\n questions: (state: IState) => {\r\n return state.questions;\r\n },\r\n },\r\n mutations: {\r\n resetLastVcr: (state: IState) => {\r\n state.lastEvcr = CreateEvcr();\r\n state.questions = [];\r\n state.errorMsg = \"\";\r\n state.tractor = \"\";\r\n },\r\n updateTractor: (state: IState, { tractorData }: { tractorData: string }) => {\r\n state.tractor = tractorData;\r\n },\r\n },\r\n actions: {\r\n getLastEvcr: async (\r\n { state, commit }: { state: IState; commit: Commit },\r\n { trip }: { trip: ITripInfo }\r\n ) => {\r\n state.errorMsg = ''\r\n await BaseDataLoadingAction(commit, async () => {\r\n console.time(\"getLastEvcr\");\r\n const res = await GetLastEvcr(trip)\r\n // const data = {} as ILastVcr;\r\n if (res.isSuccess === false) {\r\n const msg = HandleSapReturnCode(res.data?.error, Text('ml_114695', \"Encountered error when getting the last eVCR,please try again.\"))\r\n ConsoleLog({ \"getLastEvcr.res.isSuccess === false\": res.data });\r\n HandleAPIException(res.data, state, msg);\r\n return;\r\n } else {\r\n ConsoleLog({ \"getLastEvcr\": res.data });\r\n state.lastEvcr.tripInfo = res.data.tripInfo;\r\n state.questions = res.data.questions;\r\n // state.questionChassis = res.data.chassis;\r\n // state.questionVessel = res.data.vessel;\r\n if (res.data.questions.length === 0) {\r\n state.errorMsg = Text('ml_114928', \"There is no last eVCR for the selected Tractor.\")\r\n }\r\n }\r\n // state.errorMsg = 'test error message for last eVCR '\r\n console.timeEnd(\"getLastEvcr\");\r\n })\r\n },\r\n },\r\n}\r\n","export interface IPlant {\r\n plantId: string;\r\n name1: string;\r\n name2: string;\r\n country: string;\r\n city: string;\r\n encity: string;\r\n enname: string;\r\n enname2: string;\r\n plantIdName: string;\r\n //Quick search based on Plant Name and City fields.\r\n}\r\n\r\nexport class Plant implements IPlant {\r\n plantId: string;\r\n name1: string;\r\n name2: string;\r\n country: string;\r\n city: string;\r\n encity: string;\r\n enname: string;\r\n enname2: string;\r\n plantIdName: string;\r\n\r\n constructor(\r\n plantId: string,\r\n name1: string,\r\n name2: string,\r\n country: string,\r\n city: string,\r\n encity: string,\r\n enname: string,\r\n enname2: string,\r\n\r\n ) {\r\n this.plantId = plantId;\r\n this.name1 = name1;\r\n this.name2 = name2;\r\n this.country = country;\r\n this.city = city;\r\n this.encity = encity;\r\n this.enname = enname;\r\n this.enname2 = enname2;\r\n this.plantIdName = `${plantId}-${name1}`;\r\n }\r\n}\r\nexport function CreatePlant() {\r\n return new Plant(\"\", \"\", \"\",'','','','','');\r\n}","import { Plant } from \"@/models/plant\";\r\nimport { ServiceCallResponse } from \"@/models/service\";\r\nimport { OrderedByPlantId } from \"@/utility/sortHelper\";\r\n\r\n\r\nexport function GeneratePlantList(data: ServiceCallResponse) {\r\n if (!data || !data.result || data.result.length === 0) {\r\n return [];\r\n }\r\n return data.result.map(\r\n (element: any) =>\r\n new Plant(\r\n element.PlantID ?? '',\r\n element.Name1 ?? '',\r\n element.Name2 ?? '',\r\n element.Country ?? '',\r\n element.City ?? '',\r\n element.ENCity ?? '',\r\n element.ENName1 ?? '',\r\n element.ENName2 ?? '',\r\n ),\r\n ).sort(OrderedByPlantId);\r\n}\r\n","import config from '@/config/config.json';\r\nimport { CustomResponse } from '@/models/service';\r\nimport { ConsoleLog, Timeout } from '@/utility';\r\nimport APIService, { apiService } from './APIService';\r\nimport { GeneratePlantList } from './data-process/plant-process';\r\nimport { serviceAddress } from './service-address';\r\nimport { AsyncFetchGet } from './shared-service';\r\n\r\nexport async function GetNearByPlantList(longitude: string, latitude: string) {\r\n // const countryCode = await GetCountryCodeByLatLng(latitude, longitude);\r\n // // test when API is down\r\n // // if (countryCode && countryCode.isSuccess === false) {\r\n // // countryCode = \"us\";\r\n // // }\r\n // const countryCode = \"CN\"\r\n // const url = `${config.app.api_domain}apim/lb/customers/v1/nearestcustomers?Region=EU&CountryCode=${countryCode}&MilesFlag=1&Radius=3&Latitude=${latitude}&Longitude=${longitude}`;\r\n\r\n // const urlPath = 'sap/equipment/v1/eVCRPlantSet?$filter=Slong eq 114.273435700 and Slat eq 34.806491900000 and Distance eq 10000&$format=json'\r\n // Test location\r\n // const url = serviceAddress.GenerateNearbyPlantsGetUrl('114.273435700', '34.806491900000');\r\n const url = serviceAddress.GenerateNearbyPlantsGetUrl(longitude, latitude);\r\n const response = await AsyncFetchGet(url);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n // await Timeout(10000);\r\n const returnVal = GeneratePlantList(response);\r\n return new CustomResponse(returnVal);\r\n}\r\n\r\nexport async function GetPlantList(countryCode:string) {\r\n // countryCode ='CN'\r\n const url = serviceAddress.GenerateCounryPlantsGetUrl(countryCode);\r\n const response = await AsyncFetchGet(url);\r\n if (response.isSuccess === false) {\r\n return new CustomResponse(response, false);\r\n }\r\n // await Timeout(10000);\r\n const returnVal = GeneratePlantList(response);\r\n return new CustomResponse(returnVal);\r\n}","import { IQuestionPost, QuestionPost } from \"./question-post\";\r\n\r\nexport interface IEvcrPost {\r\n TripType: string;\r\n LBShellTrip: string;\r\n PrePost: string;\r\n Plant: string;\r\n Driver1: string;\r\n // Driver1Name: string;\r\n Driver2: string;\r\n TractorLicense: string;\r\n ThirdPartyInd: string;\r\n ChassisLicense: string;\r\n LBShellID: string;\r\n OdoMeter: string;\r\n // TimeStamp: string;\r\n Date: string;\r\n Time: string;\r\n Tractor3rdParty:string;\r\n Chassis3rdParty:string;\r\n Vessel3rdParty:string;\r\n Country:string;\r\n eVCRRecordItemSet: IQuestionPost[];\r\n}\r\n\r\nexport class EvcrPost implements IEvcrPost {\r\n TripType: string;\r\n LBShellTrip: string;\r\n PrePost: string;\r\n Plant: string;\r\n Driver1: string;\r\n Driver1Name: string;\r\n Driver2: string;\r\n TractorLicense: string;\r\n ThirdPartyInd: string;\r\n ChassisLicense: string;\r\n LBShellID: string;\r\n OdoMeter: string;\r\n // TimeStamp: string;\r\n Date: string;\r\n Time: string;\r\n Tractor3rdParty:string;\r\n Chassis3rdParty:string;\r\n Vessel3rdParty:string;\r\n Country:string;\r\n eVCRRecordItemSet: IQuestionPost[];\r\n constructor(\r\n TripType: string,\r\n LBShellTrip: string,\r\n PrePost: string,\r\n Plant: string,\r\n Driver1: string,\r\n Driver1Name: string,\r\n Driver2: string,\r\n TractorLicense: string,\r\n ThirdPartyInd: string,\r\n ChassisLicense: string,\r\n LBShellID: string,\r\n OdoMeter: string,\r\n // TimeStamp: string\r\n Date: string,\r\n Time: string,\r\n Tractor3rdParty:string,\r\n Chassis3rdParty:string,\r\n Vessel3rdParty:string,\r\n Country:string,\r\n ) {\r\n this.TripType = TripType;\r\n this.LBShellTrip = LBShellTrip;\r\n this.PrePost = PrePost;\r\n this.Plant = Plant;\r\n this.Driver1 = Driver1;\r\n this.Driver1Name = Driver1Name;\r\n this.Driver2 = Driver2;\r\n this.TractorLicense = TractorLicense;\r\n this.ThirdPartyInd = ThirdPartyInd;\r\n this.ChassisLicense = ChassisLicense;\r\n this.LBShellID = LBShellID;\r\n this.OdoMeter = OdoMeter;\r\n // this.TimeStamp = TimeStamp;\r\n this.Date = Date;\r\n this.Time = Time;\r\n this.Tractor3rdParty=Tractor3rdParty;\r\n this.Chassis3rdParty=Chassis3rdParty;\r\n this.Vessel3rdParty=Vessel3rdParty;\r\n // this.eVCRRecordItemSet = eVCRRecordItemSet;\r\n this.Country=Country;\r\n this.eVCRRecordItemSet = [];\r\n }\r\n}\r\n\r\n","import { IQuestionPost, QuestionPost } from \"./question-post\";\r\n\r\nexport interface IPrintFormPost {\r\n TripType: string;\r\n LBShellTrip: string;\r\n PrePost: string;\r\n Plant: string;\r\n Driver1: string;\r\n // Driver1Name: string;\r\n Driver2: string;\r\n TractorLicense: string;\r\n ThirdPartyInd: string;\r\n ChassisLicense: string;\r\n LBShellID: string;\r\n OdoMeter: string;\r\n // TimeStamp: string;\r\n Date: string;\r\n Time: string;\r\n signImage:string;\r\n country:string;\r\n language:string;\r\n plantName:string;\r\n overviewImage:string;\r\n uri:string;\r\n customPlant:string;\r\n eVCRRecordItemSet: IQuestionPost[];\r\n}\r\n\r\nexport class PrintFormPost implements IPrintFormPost {\r\n TripType: string;\r\n LBShellTrip: string;\r\n PrePost: string;\r\n Plant: string;\r\n Driver1: string;\r\n Driver1Name: string;\r\n Driver2: string;\r\n TractorLicense: string;\r\n ThirdPartyInd: string;\r\n ChassisLicense: string;\r\n LBShellID: string;\r\n OdoMeter: string;\r\n // TimeStamp: string;\r\n Date: string;\r\n Time: string;\r\n signImage:string;\r\n country:string;\r\n language:string;\r\n plantName:string;\r\n overviewImage:string;\r\n uri:string;\r\n customPlant:string;\r\n eVCRRecordItemSet: IQuestionPost[];\r\n constructor(\r\n TripType: string,\r\n LBShellTrip: string,\r\n PrePost: string,\r\n Plant: string,\r\n Driver1: string,\r\n Driver1Name: string,\r\n Driver2: string,\r\n TractorLicense: string,\r\n ThirdPartyInd: string,\r\n ChassisLicense: string,\r\n LBShellID: string,\r\n OdoMeter: string,\r\n // TimeStamp: string\r\n Date: string,\r\n Time: string,\r\n signImage:string,\r\n country:string,\r\n language:string,\r\n plantName:string,\r\n overviewImage:string,\r\n uri:string,\r\n customPlant:string,\r\n ) {\r\n this.TripType = TripType;\r\n this.LBShellTrip = LBShellTrip;\r\n this.PrePost = PrePost;\r\n this.Plant = Plant;\r\n this.Driver1 = Driver1;\r\n this.Driver1Name = Driver1Name;\r\n this.Driver2 = Driver2;\r\n this.TractorLicense = TractorLicense;\r\n this.ThirdPartyInd = ThirdPartyInd;\r\n this.ChassisLicense = ChassisLicense;\r\n this.LBShellID = LBShellID;\r\n this.OdoMeter = OdoMeter;\r\n // this.TimeStamp = TimeStamp;\r\n this.Date = Date;\r\n this.Time = Time;\r\n // this.eVCRRecordItemSet = eVCRRecordItemSet;\r\n this.signImage=signImage;\r\n this.country=country;\r\n this.language=language;\r\n this.plantName=plantName;\r\n this.overviewImage=overviewImage;\r\n this.uri=uri;\r\n this.customPlant=customPlant;\r\n this.eVCRRecordItemSet = [];\r\n }\r\n}\r\n\r\n","import { IImagePost } from \"./image-post\";\r\n\r\nexport interface IQuestionPost {\r\n EquipmentID: string;\r\n VehicleId3rd:string;\r\n CodeGroup: string;\r\n Code: string;\r\n Charact: string;\r\n SectionID: string;\r\n SequenceID: string;\r\n NotificationInd: boolean;\r\n Answer: string;\r\n Comments: string;\r\n QuestionDesc: string;\r\n HardStop:string;\r\n Image: IImagePost | String;\r\n}\r\n\r\nexport class QuestionPost implements IQuestionPost {\r\n EquipmentID: string;\r\n VehicleId3rd:string;\r\n CodeGroup: string;\r\n Code: string;\r\n Charact: string;\r\n SectionID: string;\r\n SequenceID: string;\r\n NotificationInd: boolean;\r\n Answer: string;\r\n Comments: string;\r\n QuestionDesc: string;\r\n HardStop:string;\r\n Image: String;\r\n\r\n constructor(\r\n EquipmentID: string,\r\n VehicleId3rd:string,\r\n CodeGroup: string,\r\n Code: string,\r\n Charact: string,\r\n SectionID: string,\r\n SequenceID: string,\r\n NotificationInd: boolean,\r\n Answer: string,\r\n Comments: string,\r\n QuestionDesc: string,\r\n HardStop:string,\r\n Image: string,\r\n ) {\r\n this.EquipmentID = EquipmentID;\r\n this.VehicleId3rd=VehicleId3rd;\r\n this.CodeGroup = CodeGroup;\r\n this.Code = Code;\r\n this.Charact = Charact;\r\n this.SectionID = SectionID;\r\n this.SequenceID = SequenceID;\r\n this.NotificationInd = NotificationInd;\r\n this.Answer = Answer;\r\n this.Comments = Comments;\r\n this.QuestionDesc = QuestionDesc;\r\n this.HardStop=HardStop;\r\n this.Image = Image\r\n }\r\n}\r\n\r\n","import { EvcrPost, IEvcrPost } from \"@/models/evcr-post\";\r\nimport { PrintFormPost, IPrintFormPost } from \"@/models/evcr-post/print-form-post\";\r\nimport { ImagePost } from \"@/models/evcr-post/image-post\";\r\nimport { IQuestionPost, QuestionPost } from \"@/models/evcr-post/question-post\";\r\nimport { IQuestionSection, QuestionSection } from \"@/models/question-section\";\r\nimport { IQuestion } from \"@/models/question-section/question\";\r\nimport { TripInfo } from \"@/models/trip-info\";\r\nimport { ConsoleLog, IsNullOrEmpty, NullToEmpty, PadLeftZero } from \"@/utility\";\r\nimport * as consts from \"@/models/consts\"\r\nimport { ImgeApiMode, TripType } from \"@/models/enums\";\r\nimport { IAttachment } from \"@/models/question-section/attachment\";\r\nimport { QuestionSectionType, QuestionType, TractorThirdPartyCategory, ChassisThirdPartyCategory, VesselThirdPartyCategory } from \"@/models/enums\";\r\n\r\nexport const GeneratePostEvcrOld = (trip: TripInfo, tractorSection: IQuestionSection, chassisSection: IQuestionSection, vesselSection: IQuestionSection) => {\r\n const evcrPost = new EvcrPost(trip.tripType, trip.lbsTripId, trip.prePost, trip.plantId\r\n , trip.driver1\r\n , trip.driver1Name\r\n , trip.driver2\r\n , trip.tractor, trip.thirdParty ? consts.STR_THIRD_PARTY_TRUE : \"\", trip.chassis, trip.vessel\r\n , trip.odometer, new Date(trip.date + ' ' + trip.time).toISOString().substring(0, 19), ''\r\n ,trip.isTractorThirdParty ? 'X' : ''\r\n ,trip.isChassisThirdParty ? 'X' : ''\r\n ,trip.isVesselThirdParty ? 'X' : ''\r\n ,trip.country)\r\n GenerateSubSectionQuestions(evcrPost.eVCRRecordItemSet, tractorSection);\r\n if (chassisSection.isSelected) {\r\n GenerateSubSectionQuestions(evcrPost.eVCRRecordItemSet, chassisSection);\r\n }\r\n if (vesselSection.isSelected) {\r\n GenerateSubSectionQuestions(evcrPost.eVCRRecordItemSet, vesselSection);\r\n }\r\n return evcrPost;\r\n}\r\n\r\n\r\nexport const GeneratePostEvcrOldVersion2 = (trip: TripInfo, section: IQuestionSection) => {\r\n const postDateTime = new Date((trip.date + ' ' + trip.time).replace(/-/g, \"/\")).toISOString().substring(0, 19);\r\n const evcrPost = new EvcrPost(trip.tripType, trip.lbsTripId, trip.prePost, trip.plantId\r\n , trip.driver1, trip.driver1Name\r\n , trip.driver2, trip.tractor, trip.thirdParty ? consts.STR_THIRD_PARTY_TRUE : \"\", trip.chassis\r\n , trip.vessel, trip.odometer, postDateTime, ''\r\n ,trip.isTractorThirdParty ? 'X' : ''\r\n ,trip.isChassisThirdParty ? 'X' : ''\r\n ,trip.isVesselThirdParty ? 'X' : ''\r\n ,trip.country)\r\n GenerateSubSectionQuestions(evcrPost.eVCRRecordItemSet, section);\r\n return evcrPost;\r\n};\r\n\r\nexport const GeneratePostEvcrHeader = (trip: TripInfo) => {\r\n // const postDateTime = new Date((trip.date + ' ' + trip.time).replace(/-/g, \"/\")).toISOString().substring(0, 19);\r\n // const date = trip.date.replace(/-/g, '');\r\n // trip.date = '2022-4-2';\r\n const dateArray = trip.date.split('-');\r\n if (dateArray.length !== 3) {\r\n throw Error('Date is invalid');\r\n }\r\n if (dateArray[1].length < 2) {\r\n dateArray[1] = '0' + dateArray[1];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.dateArray[1]': dateArray[1] });\r\n }\r\n if (dateArray[2].length < 2) {\r\n dateArray[2] = '0' + dateArray[2];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.dateArray[2]': dateArray[2] });\r\n }\r\n const date = dateArray[0] + dateArray[1] + dateArray[2];\r\n\r\n //Handle time\r\n ConsoleLog({ 'GeneratePostEvcrHeader.time': trip.time });\r\n // trip.time = '9:8'\r\n const timeArray = trip.time.split(':');\r\n if (timeArray.length !== 2) {\r\n throw Error('time is invalid');\r\n }\r\n if (timeArray[0].length < 2) {\r\n timeArray[0] = '0' + timeArray[0];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.timeArray[0]': timeArray[0] });\r\n }\r\n if (timeArray[1].length < 2) {\r\n timeArray[1] = '0' + timeArray[1];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.timeArray[1]': timeArray[1] });\r\n }\r\n const time = timeArray[0] + timeArray[1] + '00';\r\n // const time = trip.time.replace(':', '') + '00';\r\n const evcrPost = new EvcrPost(trip.tripType, trip.tripType === TripType.LB ? trip.lbsTripId : trip.pgTripId, trip.prePost,''\r\n , trip.driver1, trip.driver1Name\r\n , trip.driver2, NullToEmpty(trip.tractor), trip.thirdParty ? consts.STR_THIRD_PARTY_TRUE : \"\", NullToEmpty(trip.chassis)\r\n , NullToEmpty(trip.vessel), trip.odometer, date, time\r\n ,trip.isTractorThirdParty ? 'X' : ''\r\n ,trip.isChassisThirdParty ? 'X' : ''\r\n ,trip.isVesselThirdParty ? 'X' : ''\r\n ,trip.country)\r\n return evcrPost;\r\n};\r\n\r\nexport const GeneratePostEvcrHeaderUtc = (trip: TripInfo) => {\r\n // const postDateTime = new Date((trip.date + ' ' + trip.time).replace(/-/g, \"/\")).toISOString().substring(0, 19);\r\n // const date = trip.date.replace(/-/g, '');\r\n // trip.date = '2022-4-2';\r\n const dateArray = trip.date.split('-');\r\n if (dateArray.length !== 3) {\r\n throw Error('Date is invalid');\r\n }\r\n if (dateArray[1].length < 2) {\r\n dateArray[1] = '0' + dateArray[1];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.dateArray[1]': dateArray[1] });\r\n }\r\n if (dateArray[2].length < 2) {\r\n dateArray[2] = '0' + dateArray[2];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.dateArray[2]': dateArray[2] });\r\n }\r\n const date = dateArray[0] + dateArray[1] + dateArray[2];\r\n // YYYY-MM-DDTHH:mm:ss.sssZ\r\n const dateString = dateArray[0] +'-'+ dateArray[1] +'-'+ dateArray[2];\r\n\r\n //Handle time\r\n ConsoleLog({ 'GeneratePostEvcrHeader.time': trip.time });\r\n // trip.time = '9:8'\r\n const timeArray = trip.time.split(':');\r\n if (timeArray.length !== 2) {\r\n throw Error('time is invalid');\r\n }\r\n if (timeArray[0].length < 2) {\r\n timeArray[0] = '0' + timeArray[0];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.timeArray[0]': timeArray[0] });\r\n }\r\n if (timeArray[1].length < 2) {\r\n timeArray[1] = '0' + timeArray[1];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.timeArray[1]': timeArray[1] });\r\n }\r\n const time = timeArray[0] + timeArray[1] + '00';\r\n const timeString = timeArray[0] +':'+ timeArray[1] +':'+ '00'+ '.000';\r\n // YYYY-MM-DDTHH:mm:ss.sssZ\r\n //const dtUtc = new Date(dateString + 'T' + timeString + 'Z');\r\n const dtUtc = new Date(dateString + 'T' + timeString);\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dtUtc.Utc': dtUtc.toUTCString() });\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dtUtc.Local': dtUtc.toString() });\r\n const dateUtc = dtUtc.getUTCFullYear().toString() + PadLeftZero(dtUtc.getUTCMonth()+1) + PadLeftZero(dtUtc.getUTCDate());\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dateUtc': dateUtc });\r\n const timeUtc = PadLeftZero(dtUtc.getUTCHours()) + PadLeftZero(dtUtc.getUTCMinutes()) + PadLeftZero(dtUtc.getUTCSeconds());\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.timeUtc': timeUtc });\r\n\r\n let otherTripId = '';\r\n if(trip.tripType === TripType.Other){\r\n otherTripId = dateUtc + NullToEmpty(trip.tractor) + trip.driver1;\r\n }\r\n let tripId ='';\r\n if(trip.tripType === TripType.LB){\r\n tripId=trip.lbsTripId;\r\n }\r\n if(trip.tripType === TripType.PG){\r\n tripId=trip.pgTripId;\r\n }\r\n if(trip.tripType === TripType.Other){\r\n tripId=otherTripId;\r\n }\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.tripId': tripId });\r\n // const time = trip.time.replace(':', '') + '00';\r\n //const evcrPost = new EvcrPost(trip.tripType, trip.tripType === TripType.LB ? trip.lbsTripId : trip.pgTripId, trip.prePost,''\r\n const evcrPost = new EvcrPost(trip.tripType, tripId, trip.prePost, trip.customPlantId\r\n , trip.driver1, trip.driver1Name\r\n , trip.driver2, NullToEmpty(trip.tractor), trip.thirdParty ? consts.STR_THIRD_PARTY_TRUE : \"\", NullToEmpty(trip.chassis)\r\n , NullToEmpty(trip.vessel), trip.odometer, dateUtc, timeUtc\r\n ,trip.isTractorThirdParty ? 'X' : ''\r\n ,trip.isChassisThirdParty ? 'X' : ''\r\n ,trip.isVesselThirdParty ? 'X' : ''\r\n ,trip.country)\r\n return evcrPost;\r\n};\r\n\r\nexport const GeneratePostEvcrData = (trip: TripInfo, section: IQuestionSection) => {\r\n const evcrPost = GeneratePostEvcrHeaderUtc(trip);\r\n // const isChina =trip.country==='CN'?true:false;\r\n // if(isChina){\r\n // GenerateSubSectionQuestionsForChina(true,evcrPost.eVCRRecordItemSet, section);\r\n // }\r\n // else{\r\n // GenerateSubSectionQuestions(evcrPost.eVCRRecordItemSet, section);\r\n // }\r\n \r\n //GenerateSubSectionQuestions(evcrPost.eVCRRecordItemSet, section); \r\n GenerateSubSectionQuestionsRegard3rdParty(trip, evcrPost.eVCRRecordItemSet, section);\r\n return evcrPost;\r\n};\r\n\r\nexport const GeneratePostEvcrDataSign = (trip: TripInfo, section: IQuestionSection) => {\r\n //const evcrPostSign = GeneratePostEvcrSignHeaderUtc(trip);\r\n const evcrPostSign = GeneratePostEvcrSignHeader(trip);\r\n GenerateSubSectionQuestions(evcrPostSign.eVCRRecordItemSet, section);\r\n return evcrPostSign;\r\n};\r\n\r\n\r\nexport const GeneratePostEvcrSignHeader = (trip: TripInfo) => {\r\n // const postDateTime = new Date((trip.date + ' ' + trip.time).replace(/-/g, \"/\")).toISOString().substring(0, 19);\r\n // const date = trip.date.replace(/-/g, '');\r\n // trip.date = '2022-4-2';\r\n const dateArray = trip.date.split('-');\r\n if (dateArray.length !== 3) {\r\n throw Error('Date is invalid');\r\n }\r\n if (dateArray[1].length < 2) {\r\n dateArray[1] = '0' + dateArray[1];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.dateArray[1]': dateArray[1] });\r\n }\r\n if (dateArray[2].length < 2) {\r\n dateArray[2] = '0' + dateArray[2];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.dateArray[2]': dateArray[2] });\r\n }\r\n const date = dateArray[0] + dateArray[1] + dateArray[2];\r\n // YYYY-MM-DDTHH:mm:ss.sssZ\r\n //const dateString = dateArray[0] +'-'+ dateArray[1] +'-'+ dateArray[2];\r\n\r\n //Handle time\r\n ConsoleLog({ 'GeneratePostEvcrHeader.time': trip.time });\r\n // trip.time = '9:8'\r\n const timeArray = trip.time.split(':');\r\n if (timeArray.length !== 2) {\r\n throw Error('time is invalid');\r\n }\r\n if (timeArray[0].length < 2) {\r\n timeArray[0] = '0' + timeArray[0];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.timeArray[0]': timeArray[0] });\r\n }\r\n if (timeArray[1].length < 2) {\r\n timeArray[1] = '0' + timeArray[1];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.timeArray[1]': timeArray[1] });\r\n }\r\n const time = timeArray[0] + timeArray[1] + '00';\r\n //const timeString = timeArray[0] +':'+ timeArray[1] +':'+ '00'+ '.000';\r\n // YYYY-MM-DDTHH:mm:ss.sssZ\r\n //const dtUtc = new Date(dateString + 'T' + timeString + 'Z');\r\n //const dtUtc = new Date(dateString + 'T' + timeString);\r\n //ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dtUtc.Utc': dtUtc.toUTCString() });\r\n //ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dtUtc.Local': dtUtc.toString() });\r\n //const dateUtc = dtUtc.getUTCFullYear().toString() + PadLeftZero(dtUtc.getUTCMonth()+1) + PadLeftZero(dtUtc.getUTCDate());\r\n //ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dateUtc': dateUtc });\r\n //const timeUtc = PadLeftZero(dtUtc.getUTCHours()) + PadLeftZero(dtUtc.getUTCMinutes()) + PadLeftZero(dtUtc.getUTCSeconds());\r\n //ConsoleLog({ 'GeneratePostEvcrHeaderUtc.timeUtc': timeUtc });\r\n let otherTripId = '';\r\n if(trip.tripType === TripType.Other){\r\n otherTripId = date + NullToEmpty(trip.tractor) + trip.driver1;\r\n }\r\n let tripId ='';\r\n if(trip.tripType === TripType.LB){\r\n tripId=trip.lbsTripId;\r\n }\r\n if(trip.tripType === TripType.PG){\r\n tripId=trip.pgTripId;\r\n }\r\n if(trip.tripType === TripType.Other){\r\n tripId=otherTripId;\r\n }\r\n ConsoleLog({ 'GeneratePostEvcrSignHeader.tripId': tripId });\r\n //const evcrPost = new PrintFormPost(trip.tripType, trip.tripType === TripType.LB ? trip.lbsTripId : trip.pgTripId, trip.prePost,trip.plantId\r\n const evcrPost = new PrintFormPost(trip.tripType, tripId, trip.prePost,trip.plantId\r\n , trip.driver1, trip.driver1Name\r\n , trip.driver2, NullToEmpty(trip.tractor), trip.thirdParty ? consts.STR_THIRD_PARTY_TRUE : \"\"\r\n , NullToEmpty(trip.chassis), NullToEmpty(trip.vessel), trip.odometer, date, time\r\n , trip.signImage,trip.country,trip.language\r\n , trip.plantName,trip.overviewImage\r\n ,window.location.href\r\n ,trip.customPlantId)\r\n return evcrPost;\r\n};\r\n\r\nexport const GeneratePostEvcrSignHeaderUtc = (trip: TripInfo) => {\r\n // const postDateTime = new Date((trip.date + ' ' + trip.time).replace(/-/g, \"/\")).toISOString().substring(0, 19);\r\n // const date = trip.date.replace(/-/g, '');\r\n // trip.date = '2022-4-2';\r\n const dateArray = trip.date.split('-');\r\n if (dateArray.length !== 3) {\r\n throw Error('Date is invalid');\r\n }\r\n if (dateArray[1].length < 2) {\r\n dateArray[1] = '0' + dateArray[1];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.dateArray[1]': dateArray[1] });\r\n }\r\n if (dateArray[2].length < 2) {\r\n dateArray[2] = '0' + dateArray[2];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.dateArray[2]': dateArray[2] });\r\n }\r\n const date = dateArray[0] + dateArray[1] + dateArray[2];\r\n // YYYY-MM-DDTHH:mm:ss.sssZ\r\n const dateString = dateArray[0] +'-'+ dateArray[1] +'-'+ dateArray[2];\r\n\r\n //Handle time\r\n ConsoleLog({ 'GeneratePostEvcrHeader.time': trip.time });\r\n // trip.time = '9:8'\r\n const timeArray = trip.time.split(':');\r\n if (timeArray.length !== 2) {\r\n throw Error('time is invalid');\r\n }\r\n if (timeArray[0].length < 2) {\r\n timeArray[0] = '0' + timeArray[0];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.timeArray[0]': timeArray[0] });\r\n }\r\n if (timeArray[1].length < 2) {\r\n timeArray[1] = '0' + timeArray[1];\r\n ConsoleLog({ 'GeneratePostEvcrHeader.timeArray[1]': timeArray[1] });\r\n }\r\n const time = timeArray[0] + timeArray[1] + '00';\r\n const timeString = timeArray[0] +':'+ timeArray[1] +':'+ '00'+ '.000';\r\n // YYYY-MM-DDTHH:mm:ss.sssZ\r\n //const dtUtc = new Date(dateString + 'T' + timeString + 'Z');\r\n const dtUtc = new Date(dateString + 'T' + timeString);\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dtUtc.Utc': dtUtc.toUTCString() });\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dtUtc.Local': dtUtc.toString() });\r\n const dateUtc = dtUtc.getUTCFullYear().toString() + PadLeftZero(dtUtc.getUTCMonth()+1) + PadLeftZero(dtUtc.getUTCDate());\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.dateUtc': dateUtc });\r\n const timeUtc = PadLeftZero(dtUtc.getUTCHours()) + PadLeftZero(dtUtc.getUTCMinutes()) + PadLeftZero(dtUtc.getUTCSeconds());\r\n ConsoleLog({ 'GeneratePostEvcrHeaderUtc.timeUtc': timeUtc });\r\n\r\n // const time = trip.time.replace(':', '') + '00';\r\n const evcrPost = new PrintFormPost(trip.tripType, trip.tripType === TripType.LB ? trip.lbsTripId : trip.pgTripId, trip.prePost,trip.plantId\r\n , trip.driver1, trip.driver1Name\r\n , trip.driver2, NullToEmpty(trip.tractor), trip.thirdParty ? consts.STR_THIRD_PARTY_TRUE : \"\"\r\n , NullToEmpty(trip.chassis), NullToEmpty(trip.vessel), trip.odometer, dateUtc, timeUtc\r\n , trip.signImage,trip.country,trip.language\r\n , trip.plantName,trip.overviewImage\r\n ,window.location.href\r\n ,trip.customPlantId)\r\n return evcrPost;\r\n};\r\n\r\nexport const GeneratePostEvcrImages = (trip: TripInfo, section: IQuestionSection) => {\r\n const evcrPost = GeneratePostEvcrHeader(trip);\r\n GenerateSubSectionQuestions(evcrPost.eVCRRecordItemSet, section, true);\r\n return evcrPost;\r\n};\r\n\r\n//every defective question has entire post request.\r\nexport const GeneratePostEvcrImageArray = (imgeArray: IEvcrPost[], trip: TripInfo, section: IQuestionSection) => {\r\n section.regularQuestionCollection.forEach(subSection => {\r\n subSection.questions.filter(item => item.notificationIsNeeded === true).forEach(que => {\r\n addAttachments(que, imgeArray, trip);\r\n });\r\n\r\n });\r\n if (section.containAdditionalQuestion) {\r\n section.additionalQuestionCollection.forEach(subSection => {\r\n subSection.questions.filter(item => item.notificationIsNeeded === true).forEach(que => {\r\n addAttachments(que, imgeArray, trip);\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst addAttachments = (que: IQuestion, imgeArray: IEvcrPost[], trip: TripInfo) => {\r\n const attachments = GenerateQuestionWithPic(que);\r\n attachments.forEach(attachment => {\r\n const evcrPost = GeneratePostEvcrHeader(trip);\r\n evcrPost.eVCRRecordItemSet.push(attachment);\r\n imgeArray.push(evcrPost)\r\n });\r\n}\r\n// export const GenerateSubSectionQuestionsOld = (questionPost: IQuestionPost[], subSection: IQuestionSection) => {\r\n// subSection.regularQuestionCollection.forEach(subSection => {\r\n// subSection.questions.forEach(que => {\r\n// questionPost.push(GenerateQuestionOneAttachment(que));\r\n// });\r\n\r\n// });\r\n// if (subSection.containAdditionalQuestion) {\r\n// subSection.additionalQuestionCollection.forEach(subSection => {\r\n// subSection.questions.forEach(que => {\r\n// questionPost.push(GenerateQuestionOneAttachment(que));\r\n// });\r\n\r\n// });\r\n// }\r\n// }\r\n\r\nexport const GenerateSubSectionQuestions = (questionPost: IQuestionPost[], subSection: IQuestionSection, imageNeeded: boolean = false) => {\r\n // only need the questions which are defective\r\n if (imageNeeded) {\r\n subSection.regularQuestionCollection.forEach(subSection => {\r\n subSection.questions.filter(item => item.notificationIsNeeded === true).forEach(que => {\r\n questionPost.push(...GenerateQuestionWithPic(que));\r\n });\r\n\r\n });\r\n if (subSection.containAdditionalQuestion) {\r\n subSection.additionalQuestionCollection.forEach(subSection => {\r\n subSection.questions.filter(item => item.notificationIsNeeded === true).forEach(que => {\r\n questionPost.push(...GenerateQuestionWithPic(que));\r\n });\r\n\r\n });\r\n }\r\n } else {\r\n //All questions \r\n subSection.regularQuestionCollection.forEach(subSection => {\r\n subSection.questions.forEach(que => {\r\n questionPost.push(GenerateQuestionWithoutPic(que));\r\n });\r\n\r\n });\r\n if (subSection.containAdditionalQuestion) {\r\n subSection.additionalQuestionCollection.forEach(subSection => {\r\n subSection.questions.forEach(que => {\r\n questionPost.push(GenerateQuestionWithoutPic(que));\r\n });\r\n\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport const GenerateSubSectionQuestionsRegard3rdParty = (trip: TripInfo, questionPost: IQuestionPost[], subSection: IQuestionSection, imageNeeded: boolean = false) => {\r\n // only need the questions which are defective\r\n if (imageNeeded) {\r\n subSection.regularQuestionCollection.forEach(subSection => {\r\n subSection.questions.filter(item => item.notificationIsNeeded === true).forEach(que => {\r\n questionPost.push(...GenerateQuestionWithPicRegard3rdParty(trip,que));\r\n });\r\n\r\n });\r\n if (subSection.containAdditionalQuestion) {\r\n subSection.additionalQuestionCollection.forEach(subSection => {\r\n subSection.questions.filter(item => item.notificationIsNeeded === true).forEach(que => {\r\n questionPost.push(...GenerateQuestionWithPicRegard3rdParty(trip,que));\r\n });\r\n\r\n });\r\n }\r\n } else {\r\n //All questions \r\n subSection.regularQuestionCollection.forEach(subSection => {\r\n subSection.questions.forEach(que => {\r\n questionPost.push(GenerateQuestionWithoutPicRegard3rdParty(trip,que));\r\n });\r\n\r\n });\r\n if (subSection.containAdditionalQuestion) {\r\n subSection.additionalQuestionCollection.forEach(subSection => {\r\n subSection.questions.forEach(que => {\r\n questionPost.push(GenerateQuestionWithoutPicRegard3rdParty(trip,que));\r\n });\r\n\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport const GenerateSubSectionQuestionsForChina = (isChina: boolean, questionPost: IQuestionPost[], subSection: IQuestionSection, imageNeeded: boolean = false) => {\r\n // only need the questions which are defective\r\n if (imageNeeded) {\r\n subSection.regularQuestionCollection.forEach(subSection => {\r\n subSection.questions.filter(item => item.notificationIsNeeded === true).forEach(que => {\r\n questionPost.push(...GenerateQuestionWithPicForChina(isChina,que));\r\n });\r\n\r\n });\r\n if (subSection.containAdditionalQuestion) {\r\n subSection.additionalQuestionCollection.forEach(subSection => {\r\n subSection.questions.filter(item => item.notificationIsNeeded === true).forEach(que => {\r\n questionPost.push(...GenerateQuestionWithPicForChina(isChina,que));\r\n });\r\n\r\n });\r\n }\r\n } else {\r\n //All questions \r\n subSection.regularQuestionCollection.forEach(subSection => {\r\n subSection.questions.forEach(que => {\r\n questionPost.push(GenerateQuestionWithoutPicForChina(isChina,que));\r\n });\r\n\r\n });\r\n if (subSection.containAdditionalQuestion) {\r\n subSection.additionalQuestionCollection.forEach(subSection => {\r\n subSection.questions.forEach(que => {\r\n questionPost.push(GenerateQuestionWithoutPicForChina(isChina,que));\r\n });\r\n\r\n });\r\n }\r\n }\r\n}\r\n\r\n// export const GenerateQuestionOld = (que: IQuestion) => {\r\n// const img = (IsNullOrEmpty(que.fileName) || IsNullOrEmpty(que.attachmentBase64)) ? '' : que.attachmentBase64;\r\n// return new QuestionPost(que.equipmentID, que.codeGroup, que.code, que.charact, que.isReqular ? que.subSectionId : \"\", que.sequenceId, que.notificationIsNeeded, que.answer, que.issueDesc, que.desc, img);\r\n// }\r\n\r\n// export const GenerateQuestionOneAttachment = (que: IQuestion, imageNeeded: boolean = false) => {\r\n// const img = imageNeeded ? que.attachmentBase64 : \"\";\r\n// return new QuestionPost(que.equipmentID, que.codeGroup, que.code, que.charact, que.isReqular ? que.subSectionId : \"\", que.isReqular ? que.sequenceId : \"\", que.notificationIsNeeded, que.answer, que.issueDesc, que.desc, img);\r\n// }\r\n\r\nexport const GenerateQuestionWithoutPicRegard3rdParty = (trip: TripInfo, que: IQuestion) => {\r\n let VehicleId3rd = '';\r\n if(IsNullOrEmpty(que.equipmentID)){\r\n // if(que.sectionType == QuestionSectionType.Tractor){\r\n // VehicleId3rd = trip.tractor\r\n // }\r\n // if(que.sectionType == QuestionSectionType.Chassis){\r\n // VehicleId3rd=trip.chassis\r\n // }\r\n // if(que.sectionType == QuestionSectionType.Vessel){\r\n // VehicleId3rd=trip.vessel\r\n // }\r\n if(que.vehicleType == TractorThirdPartyCategory.TRACTOR \r\n || que.vehicleType == TractorThirdPartyCategory.RIGID_PGG_KNUCKLE_CRANE_TRUCK\r\n || que.vehicleType == TractorThirdPartyCategory.RIGID_PGG_TRUCK\r\n || que.vehicleType == TractorThirdPartyCategory.RIGID_TANKER){\r\n VehicleId3rd = trip.tractor\r\n }\r\n if(que.vehicleType == ChassisThirdPartyCategory.CHASSIS_TRAILER\r\n || que.vehicleType == ChassisThirdPartyCategory.PGG_CHASSIS){\r\n VehicleId3rd=trip.chassis\r\n }\r\n if(que.vehicleType == VesselThirdPartyCategory.LB_MB_ISO_TANKER\r\n || que.vehicleType == VesselThirdPartyCategory.TUBE_SKID){\r\n VehicleId3rd=trip.vessel\r\n }\r\n }\r\n return new QuestionPost(que.equipmentID, VehicleId3rd, que.codeGroup, que.code, que.charact\r\n , que.isReqular ? que.subSectionId : que.originalSubSectionId, que.isReqular ? que.sequenceId : que.originalSequenceId\r\n , VehicleId3rd===''?que.notificationIsNeeded:false, que.answer, que.answer === \"Defective\"?que.issueDesc:\"\", que.desc, que.hardStop?\"X\":\"\", \"\");\r\n}\r\n\r\nexport const GenerateQuestionWithPicRegard3rdParty = (trip: TripInfo, que: IQuestion) => {\r\n const questPosts: IQuestionPost[] = [];\r\n let VehicleId3rd = '';\r\n if(IsNullOrEmpty(que.equipmentID)){\r\n // if(que.sectionType == QuestionSectionType.Tractor){\r\n // VehicleId3rd = trip.tractor\r\n // }\r\n // if(que.sectionType == QuestionSectionType.Chassis){\r\n // VehicleId3rd=trip.chassis\r\n // }\r\n // if(que.sectionType == QuestionSectionType.Vessel){\r\n // VehicleId3rd=trip.vessel\r\n // }\r\n if(que.vehicleType == TractorThirdPartyCategory.TRACTOR \r\n || que.vehicleType == TractorThirdPartyCategory.RIGID_PGG_KNUCKLE_CRANE_TRUCK\r\n || que.vehicleType == TractorThirdPartyCategory.RIGID_PGG_TRUCK\r\n || que.vehicleType == TractorThirdPartyCategory.RIGID_TANKER){\r\n VehicleId3rd = trip.tractor\r\n }\r\n if(que.vehicleType == ChassisThirdPartyCategory.CHASSIS_TRAILER\r\n || que.vehicleType == ChassisThirdPartyCategory.PGG_CHASSIS){\r\n VehicleId3rd=trip.chassis\r\n }\r\n if(que.vehicleType == VesselThirdPartyCategory.LB_MB_ISO_TANKER\r\n || que.vehicleType == VesselThirdPartyCategory.TUBE_SKID){\r\n VehicleId3rd=trip.vessel\r\n }\r\n }\r\n que.attachments.filter(item => !IsNullOrEmpty(item.attachmentBase64)).forEach((file: IAttachment) => {\r\n questPosts.push(new QuestionPost(que.equipmentID, VehicleId3rd, que.codeGroup, que.code, que.charact\r\n , que.isReqular ? que.subSectionId : que.originalSubSectionId, que.isReqular ? que.sequenceId : que.originalSequenceId\r\n , VehicleId3rd===''?que.notificationIsNeeded:false, que.answer, que.answer === \"Defective\"?que.issueDesc:\"\", que.hardStop?\"X\":\"\",que.desc, file.attachmentBase64));\r\n }\r\n );\r\n return questPosts;\r\n}\r\n\r\nexport const GenerateQuestionWithoutPic = (que: IQuestion) => {\r\n return new QuestionPost(que.equipmentID, \"\", que.codeGroup, que.code, que.charact, que.isReqular ? que.subSectionId : que.originalSubSectionId, que.isReqular ? que.sequenceId : que.originalSequenceId, que.notificationIsNeeded, que.answer, que.answer === \"Defective\"?que.issueDesc:\"\", que.desc, que.hardStop?\"X\":\"\", \"\");\r\n}\r\n\r\nexport const GenerateQuestionWithPic = (que: IQuestion) => {\r\n const questPosts: IQuestionPost[] = [];\r\n que.attachments.filter(item => !IsNullOrEmpty(item.attachmentBase64)).forEach((file: IAttachment) => {\r\n questPosts.push(new QuestionPost(que.equipmentID, \"\",que.codeGroup, que.code, que.charact, que.isReqular ? que.subSectionId : que.originalSubSectionId, que.isReqular ? que.sequenceId : que.originalSequenceId, que.notificationIsNeeded, que.answer, que.answer === \"Defective\"?que.issueDesc:\"\", que.hardStop?\"X\":\"\",que.desc, file.attachmentBase64));\r\n }\r\n );\r\n return questPosts;\r\n}\r\nexport const GenerateQuestionWithoutPicForChina = (isChina: boolean, que: IQuestion) => {\r\n return new QuestionPost(que.equipmentID, \"\",que.codeGroup, que.code, que.charact, que.isReqular ? que.subSectionId : que.originalSubSectionId, que.isReqular ? que.sequenceId : que.originalSequenceId\r\n , isChina?false:que.notificationIsNeeded, que.answer, que.answer === \"Defective\"?que.issueDesc:\"\", que.desc, que.hardStop?\"X\":\"\", \"\");\r\n}\r\n\r\nexport const GenerateQuestionWithPicForChina = (isChina: boolean, que: IQuestion) => {\r\n const questPosts: IQuestionPost[] = [];\r\n que.attachments.filter(item => !IsNullOrEmpty(item.attachmentBase64)).forEach((file: IAttachment) => {\r\n questPosts.push(new QuestionPost(que.equipmentID, \"\",que.codeGroup, que.code, que.charact, que.isReqular ? que.subSectionId : que.originalSubSectionId, que.isReqular ? que.sequenceId : que.originalSequenceId\r\n , isChina?false:que.notificationIsNeeded, que.answer, que.answer === \"Defective\"?que.issueDesc:\"\", que.hardStop?\"X\":\"\",que.desc, file.attachmentBase64));\r\n }\r\n );\r\n return questPosts;\r\n}","import { Commit, Dispatch } from \"vuex\";\r\nimport { BaseDataLoadingAction } from \"..\";\r\nimport { ChangingConfirm, ClearError, CloneObj, ConsoleLog, HandleAPIException, ObjectContainAllFields, ObjectContainAllFieldsForArray, Timeout, Text } from \"@/utility\";\r\nimport { CreateEvcr, Evcr, IEvcr } from \"@/models/evcr\";\r\nimport { GetNearByPlantList, GetPlantList } from \"@/services/plant-svc\";\r\nimport { StoreAction, StoreMutation } from \"../store-mapping\";\r\nimport defaultNewRecordData from \"@/mockData/newRecordData\";\r\nimport { CreateNotification, IMaintainNotification, INotificationFilter } from \"@/models/maitain-notification\";\r\nimport { GetFive, GetQuestions, GetVehicleList, PostEvcrImages, PostNewEvcr, PostNewEvcrSign, SetMaintainNotification } from \"@/services/evcr-svc\";\r\nimport { CreateQuestionAll, CreateQuestionChassis, CreateQuestionSection, CreateQuestionTractor, CreateQuestionVessel, IQuestionFilter, IQuestionSection, QuestionSection } from \"@/models/question-section\";\r\nimport { IQuestion } from \"@/models/question-section/question\";\r\nimport { ISubSection } from \"@/models/question-section/sub-section\";\r\nimport { ClearQuestionAnswer, EvcrHasDefect, GetQuestionSection, IsNumberGood, UpdateQuestionSectionHasDefect, UpdateValidatedByQuestion } from \"@/services/data-process/questions-process\";\r\nimport { ImgeApiMode, QuestionSectionType, QuestionType, RegularAnswer, TripType } from \"@/models/enums\";\r\nimport { CreatePlant, IPlant } from \"@/models/plant\";\r\nimport { CustomResponse, ServiceCallResponse } from \"@/models/service\";\r\nimport { GeneratePostEvcrData, GeneratePostEvcrDataSign, GeneratePostEvcrImageArray, GeneratePostEvcrImages } from \"@/services/data-process/packing-process\";\r\nimport { HandleSapReturnCode, IsLocalMode, PrePostItems, RemoveStorageEvcr, SetIsEditEvcr, TripTypetems } from \"@/utility/ui-utility\";\r\nimport { ValidateEvcr } from \"@/services/data-process/basic-process\";\r\nimport * as consts from \"@/models/consts\"\r\nimport { CreateTripInfo, ITripInfo, TripInfo } from \"@/models/trip-info\";\r\nimport { IEvcrPost } from \"@/models/evcr-post\";\r\nimport { IVehicle } from \"@/models/vehicle\";\r\n\r\n\r\ninterface IState {\r\n evcr: Evcr;\r\n errorMsg: string;\r\n nearbyPlant: IPlant[];\r\n vehicles: IVehicle[];\r\n maintainNotifications: IMaintainNotification[];\r\n questions: IQuestionSection;\r\n questionTractor: IQuestionSection; // this is not in use after the Change request on Feb 16th,2022\r\n questionChassis: IQuestionSection;\r\n questionVessel: IQuestionSection;\r\n isEdit: boolean;\r\n currentQuestionFilter: ITripInfo;\r\n\r\n}\r\n\r\nexport const evcrModule = {\r\n namespaced: true,\r\n state: () => ({\r\n evcr: CreateEvcr(),\r\n nearbyPlant: [] as IPlant[],\r\n vehicles: [] as IVehicle[],\r\n maintainNotifications: [],\r\n questionTractor: CreateQuestionTractor(false),\r\n questionChassis: CreateQuestionChassis(false, false),\r\n questionVessel: CreateQuestionVessel(false, false),\r\n questions: CreateQuestionAll(false, false),\r\n isEdit: false,\r\n currentQuestionFilter: CreateTripInfo(),\r\n }),\r\n getters: {\r\n evcr: (state: IState) => {\r\n return state.evcr;\r\n },\r\n nearbyPlant: (state: IState) => {\r\n return state.nearbyPlant;\r\n },\r\n vehicles: (state: IState) => (category: string) => {\r\n return state.vehicles.filter(item => item.category === category || item.category2 === category);\r\n },\r\n\r\n tripInfo: (state: IState) => {\r\n return state.evcr.tripInfo;\r\n },\r\n maintainNotifications: (state: IState) => {\r\n return state.maintainNotifications;\r\n },\r\n questions: (state: IState) => {\r\n return state.questions;\r\n },\r\n questionTractor: (state: IState) => {\r\n return state.questionTractor;\r\n },\r\n questionChassis: (state: IState) => {\r\n return state.questionChassis;\r\n },\r\n questionVessel: (state: IState) => {\r\n return state.questionVessel;\r\n },\r\n isEdit: (state: IState) => {\r\n return state.isEdit;\r\n },\r\n questionFilterChanged: (state: IState) => {\r\n let isQuestionFilterChanged = false;\r\n\r\n // return state.currentQuestionFilter.tractor !== state.evcr.tripInfo.tractor ||\r\n // state.currentQuestionFilter.chassis !== state.evcr.tripInfo.chassis ||\r\n // state.currentQuestionFilter.vessel !== state.evcr.tripInfo.vessel;\r\n\r\n if(state.currentQuestionFilter.isTractorThirdParty !== state.evcr.tripInfo.isTractorThirdParty){\r\n isQuestionFilterChanged = true;\r\n }\r\n\r\n if(state.currentQuestionFilter.isChassisThirdParty !== state.evcr.tripInfo.isChassisThirdParty){\r\n isQuestionFilterChanged = true;\r\n }\r\n\r\n if(state.currentQuestionFilter.isVesselThirdParty !== state.evcr.tripInfo.isVesselThirdParty){\r\n isQuestionFilterChanged = true;\r\n }\r\n\r\n if(state.currentQuestionFilter.tractor !== state.evcr.tripInfo.tractor){\r\n isQuestionFilterChanged = true;\r\n }\r\n\r\n if(state.currentQuestionFilter.chassis !== state.evcr.tripInfo.chassis){\r\n isQuestionFilterChanged = true;\r\n }\r\n\r\n if(state.currentQuestionFilter.vessel !== state.evcr.tripInfo.vessel){\r\n isQuestionFilterChanged = true;\r\n }\r\n\r\n if(state.evcr.tripInfo.isTractorThirdParty){\r\n if(state.currentQuestionFilter.tractorThirdPartyCategory != state.evcr.tripInfo.tractorThirdPartyCategory){\r\n isQuestionFilterChanged = true;\r\n }\r\n }\r\n\r\n if(state.evcr.tripInfo.isChassisThirdParty){\r\n if(state.currentQuestionFilter.chassisThirdPartyCategory != state.evcr.tripInfo.chassisThirdPartyCategory){\r\n isQuestionFilterChanged = true;\r\n }\r\n }\r\n\r\n if(state.evcr.tripInfo.isVesselThirdParty){\r\n if(state.currentQuestionFilter.vesselThirdPartyCategory != state.evcr.tripInfo.vesselThirdPartyCategory){\r\n isQuestionFilterChanged = true;\r\n }\r\n }\r\n\r\n return isQuestionFilterChanged;\r\n },\r\n hasDefects: (state: IState) => {\r\n const existing = true;\r\n if (state.questions.containDefect || state.questions.additionalQuestionContainDefect) {\r\n return existing;\r\n }\r\n if (state.questionTractor.containDefect || state.questionTractor.additionalQuestionContainDefect) {\r\n return existing;\r\n }\r\n if (state.questionTractor.isSelected && (state.questionChassis.containDefect || state.questionChassis.additionalQuestionContainDefect)) {\r\n return existing;\r\n }\r\n if (state.questionVessel.isSelected && (state.questionVessel.containDefect || state.questionVessel.additionalQuestionContainDefect)) {\r\n return existing;\r\n }\r\n return !existing;\r\n // existing = EvcrHasDefect(section);\r\n\r\n },\r\n hasTopDefects: (state: IState) => {\r\n return state.questions.containTopDefect;\r\n }\r\n },\r\n mutations: {\r\n resetEvcr: (state: IState) => {\r\n state.evcr = CreateEvcr();\r\n state.nearbyPlant = [];\r\n state.vehicles = [];\r\n state.errorMsg = \"\";\r\n state.maintainNotifications = [];\r\n state.questionTractor = CreateQuestionTractor(false);\r\n state.questionChassis = CreateQuestionChassis(false, false);\r\n state.questionVessel = CreateQuestionVessel(false, false);\r\n state.questions = CreateQuestionAll(false, false);\r\n state.isEdit = false;\r\n state.currentQuestionFilter = CreateTripInfo();\r\n // RemoveStorageEvcr();\r\n },\r\n clearNearByData: (state: IState) => {\r\n state.nearbyPlant = [];\r\n },\r\n clearVehicle: (state: IState) => {\r\n state.vehicles = [];\r\n },\r\n updateTripInfo: (state: IState, { tipInfo }: { tipInfo: TripInfo }) => {\r\n // ConsoleLog({ \"mutations.updateTripInfo\": CloneObj(tipInfo) });\r\n // state.evcr.tripInfo.lbsTripId = tipInfo.lbsTripId;\r\n // ConsoleLog({ \"mutations.updateTripInfo end\": CloneObj(state.evcr.tripInfo) });\r\n },\r\n clearTripId: (state: IState) => {\r\n if (state.evcr.tripInfo.tripType === TripType.LB) {\r\n state.evcr.tripInfo.lbsTripId = \"\";\r\n } else {\r\n state.evcr.tripInfo.pgTripId = \"\";\r\n }\r\n //state.evcr.tripInfo.lbsTripId = \"\";\r\n //state.evcr.tripInfo.pgTripId = \"\";\r\n //state.evcr.tripInfo.prePost = \"\";\r\n //state.evcr.tripInfo.customPlantId = \"\";\r\n ConsoleLog({ \"mutations.clearTripId\": CloneObj(state.evcr.tripInfo) });\r\n },\r\n updateIsEdit: (state: IState, { isEdit }: { isEdit: boolean }) => {\r\n state.isEdit = isEdit;\r\n },\r\n updateQuestion: (state: IState, { question }: { question: IQuestion }) => {\r\n ConsoleLog({ \"updateQuestion\": CloneObj(question) });\r\n //set the value of question.notificationIsNeeded\r\n switch (question.questionType) {\r\n case QuestionType.Regular:\r\n case QuestionType.Boolean:\r\n if (question.answer === RegularAnswer.Good) {\r\n // ClearQuestionAnswer(question);\r\n question.notificationIsNeeded = false;\r\n } else if (question.answer === RegularAnswer.Defective) {\r\n question.notificationIsNeeded = true;\r\n } else if (question.answer === RegularAnswer.NA) {\r\n // ClearQuestionAnswer(question);\r\n question.notificationIsNeeded = false;\r\n } else if (question.answer === \"\") {\r\n // ClearQuestionAnswer(question);\r\n question.notificationIsNeeded = false;\r\n }\r\n break;\r\n case QuestionType.Number:\r\n // question.notificationIsNeeded = false;\r\n // if (IsNumberGood(question.answer, question.numberRange)) {\r\n // // ClearQuestionAnswer(question);\r\n question.notificationIsNeeded = false;\r\n // } else {\r\n // question.notificationIsNeeded = true;\r\n // }\r\n break;\r\n case QuestionType.Char:\r\n question.notificationIsNeeded = false;\r\n // ClearQuestionAnswer(question);\r\n break;\r\n }\r\n //update subSection.validated\r\n UpdateValidatedByQuestion(state.questions, question);\r\n ConsoleLog({ \"updateQuestion end\": question });\r\n },\r\n updateQuestions: (state: IState) => {\r\n UpdateQuestionSectionHasDefect(state.questions);\r\n },\r\n updateQuestionTractor: (state: IState) => {\r\n const section = GetQuestionSection(QuestionSectionType.Tractor, state);\r\n UpdateQuestionSectionHasDefect(section);\r\n },\r\n updateQuestionChassis: (state: IState) => {\r\n const section = GetQuestionSection(QuestionSectionType.Chassis, state);\r\n UpdateQuestionSectionHasDefect(section);\r\n },\r\n updateQuestionVessel: (state: IState) => {\r\n const section = GetQuestionSection(QuestionSectionType.Vessel, state);\r\n UpdateQuestionSectionHasDefect(section);\r\n },\r\n initializeState: (state: IState, { tmpEvcState }: { tmpEvcState: any }) => {\r\n ConsoleLog({ \"initializeState\": CloneObj(tmpEvcState) });\r\n state.errorMsg = \"\";\r\n //if the object in storage doesn't contain any fileds in the specified calss, then we could not use it .\r\n const validEvcr = ObjectContainAllFields(tmpEvcState.evcr, CreateEvcr());\r\n const validQuestions = ObjectContainAllFields(tmpEvcState.questions, CreateQuestionSection())\r\n // const validTractor = ObjectContainAllFields(tmpEvcState.questionTractor, CreateQuestionSection())\r\n // const validChassis = ObjectContainAllFields(tmpEvcState.questionChassis, CreateQuestionSection())\r\n // const validVessel = ObjectContainAllFields(tmpEvcState.questionVessel, CreateQuestionSection())\r\n\r\n // if (validEvcr && validTractor && validChassis && validVessel) {\r\n if (validEvcr && validQuestions) {\r\n state.evcr = tmpEvcState.evcr as IEvcr;\r\n // state.questionTractor = tmpEvcState.questionTractor as IQuestionSection;\r\n // state.questionChassis = tmpEvcState.questionChassis as IQuestionSection;\r\n // state.questionVessel = tmpEvcState.questionVessel as IQuestionSection;\r\n state.questions = tmpEvcState.questions as IQuestionSection;\r\n state.isEdit = true;\r\n state.currentQuestionFilter = tmpEvcState.currentQuestionFilter as ITripInfo;\r\n } else {\r\n throw Error(\"Storage data is invalid.\");\r\n }\r\n ConsoleLog(\"initializeState end\");\r\n },\r\n submitFailed: (state: IState, { error }: { error: string | object }) => {\r\n state.errorMsg = error ? error.toString() : \"Unknown error\";\r\n },\r\n },\r\n actions: {\r\n initialTripData: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n countryCode,\r\n }: { countryCode: string }\r\n ) => {\r\n ClearError(state);\r\n let needContinue = true;\r\n await BaseDataLoadingAction(commit, async () => {\r\n console.time('initialTripData');\r\n //const resulsts = await Promise.allSettled([\r\n // // dispatch(StoreAction.emGetPlant, { countryCode: countryCode }, { root: true }),\r\n // dispatch(StoreAction.emGetVehicle, { countryCode: countryCode }, { root: true }),\r\n //]);\r\n let resulsts ;\r\n if(countryCode === 'CN'){\r\n resulsts = await Promise.allSettled([\r\n dispatch(StoreAction.emGetPlant, { countryCode: countryCode }, { root: true }),\r\n dispatch(StoreAction.emGetVehicle, { countryCode: countryCode }, { root: true }),\r\n ])\r\n }\r\n else {\r\n resulsts = await Promise.allSettled([\r\n // dispatch(StoreAction.emGetPlant, { countryCode: countryCode }, { root: true }),\r\n dispatch(StoreAction.emGetVehicle, { countryCode: countryCode }, { root: true }),\r\n ])\r\n }\r\n resulsts.forEach((result) => {\r\n if (result.status !== \"fulfilled\") {\r\n commit(StoreMutation.amSubmitFailed, { error: result.reason }, { root: true });\r\n ConsoleLog([result.status, state.errorMsg, result.reason]);\r\n needContinue = false;\r\n return;\r\n }\r\n });\r\n if (!needContinue) {\r\n return;\r\n }\r\n // state.asset.lbShellKeys.length = 0;\r\n // state.isEditingAsset = true;\r\n console.timeEnd('initialTripData');\r\n });\r\n },\r\n initialData: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n longitude,\r\n latitude,\r\n }: { longitude: string; latitude: string; appName: string }\r\n ) => {\r\n ClearError(state);\r\n\r\n state.evcr.tripInfo.prePostItems = PrePostItems()\r\n state.evcr.tripInfo.tripTypeItems = TripTypetems()\r\n if (IsLocalMode()) {\r\n // state.evcr.tripInfo.driver1 = \"ZHANGW13\";\r\n // state.evcr.tripInfo.driver1Name = \"Zhang Weida\";\r\n }\r\n },\r\n getFive: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n longitude,\r\n latitude,\r\n }: { longitude: string; latitude: string; appName: string }\r\n ) => {\r\n ClearError(state);\r\n state.evcr.tripInfo.prePostItems = PrePostItems()\r\n await BaseDataLoadingAction(commit, async () => {\r\n const res = await GetFive()\r\n if (res.isSuccess === false) {\r\n ConsoleLog({ \"GetFive.res.isSuccess === false\": res.data });\r\n const msg = HandleSapReturnCode(res.data?.error, \"Encountered error when getting Five\");\r\n HandleAPIException(res.data, state, msg);\r\n return;\r\n } else {\r\n ConsoleLog({ \"GetFive\": res.data });\r\n }\r\n });\r\n },\r\n getNearbyPlant: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n longitude,\r\n latitude,\r\n }: { longitude: string; latitude: string; appName: string }\r\n ) => {\r\n ClearError(state);\r\n console.time(\"getNearbyPlant\");\r\n state.nearbyPlant.length = 0;\r\n await BaseDataLoadingAction(commit, async () => {\r\n // state.nearbyPlant = await GetNearByPlantList(longitude, latitude);\r\n // const res = await GetNearByPlantList(longitude, latitude);\r\n // if (res.isSuccess === false) {\r\n // ConsoleLog({ \"getNearbyPlant.res.isSuccess === false\": res.data });\r\n // const msg = HandleSapReturnCode(res.data?.error, Text('ml_114696', \"Encountered error when getting nearby plants,please try again.\"))\r\n // HandleAPIException(res.data, state, msg);\r\n // return;\r\n // } else {\r\n // state.nearbyPlant = res.data;\r\n // ConsoleLog({ \"getNearbyPlant\": res.data });\r\n // }\r\n\r\n });\r\n },\r\n getPlant: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n countryCode,\r\n }: { countryCode: string }\r\n ) => {\r\n ClearError(state);\r\n console.time(\"getPlant\");\r\n state.nearbyPlant.length = 0;\r\n // await BaseDataLoadingAction(commit, async () => {\r\n const res = await GetPlantList(countryCode);;\r\n if (res.isSuccess === false) {\r\n ConsoleLog({ \"getPlant.res.isSuccess === false\": res.data });\r\n const msg = HandleSapReturnCode(res.data?.error, Text('ml_114696', \"Encountered error when getting nearby plants,please try again.\"))\r\n // HandleAPIException(res.data, state, msg);\r\n console.timeEnd(\"getPlant\");\r\n throw Error(msg);\r\n return;\r\n } else {\r\n state.nearbyPlant = res.data;\r\n ConsoleLog({ \"getPlant\": res.data });\r\n }\r\n // });\r\n console.timeEnd(\"getPlant\");\r\n },\r\n getVehicle: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n countryCode,\r\n }: { countryCode: string }\r\n ) => {\r\n ClearError(state);\r\n console.time(\"getVehicle\");\r\n state.vehicles.length = 0;\r\n const res = await GetVehicleList(countryCode);;\r\n if (res.isSuccess === false) {\r\n ConsoleLog({ \"getVehicle.res.isSuccess === false\": res.data });\r\n const msg = HandleSapReturnCode(res.data?.error, Text('ml_114900', \"Encountered error when getting vehicles,please try again.\"))\r\n // HandleAPIException(res.data, state, msg);\r\n console.timeEnd(\"getVehicle\");\r\n throw Error(msg);\r\n return;\r\n } else {\r\n state.vehicles = res.data;\r\n ConsoleLog({ \"getVehicle\": res.data });\r\n }\r\n console.timeEnd(\"getVehicle\");\r\n },\r\n getMaintainNotification: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n filter,\r\n }: { filter: INotificationFilter }\r\n ) => {\r\n ClearError(state);\r\n await BaseDataLoadingAction(commit, async () => {\r\n console.time(\"getMaintainNotification\");\r\n state.maintainNotifications.length = 0;\r\n const res = await await SetMaintainNotification(filter);\r\n if (res.isSuccess === false) {\r\n ConsoleLog({ \"getMaintainNotification.res.isSuccess === false\": res.data });\r\n const msg = HandleSapReturnCode(res.data?.error, Text('ml_114697', \"Encountered error when getting the notification,please try again.\"))\r\n HandleAPIException(res.data, state, msg);\r\n return;\r\n } else {\r\n ConsoleLog({ \"getMaintainNotification\": res.data });\r\n if (res.data.length > 0) {\r\n res.data.forEach(element => {\r\n state.maintainNotifications.push(element);\r\n });\r\n }\r\n }\r\n console.timeEnd(\"getMaintainNotification\");\r\n });\r\n },\r\n getQuestions: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n filter\r\n }: { filter: IQuestionFilter }\r\n ) => {\r\n ClearError(state);\r\n try {\r\n await BaseDataLoadingAction(commit, async () => {\r\n console.time(\"getQuestions\");\r\n const res = await GetQuestions(filter);\r\n if (res.isSuccess === false) {\r\n const msg = HandleSapReturnCode(res.data?.error, Text('ml_114698', \"Encountered error when getting the questions,please try again.\"))\r\n ConsoleLog({ \"getQuestions.res.isSuccess === false\": res.data });\r\n HandleAPIException(res.data, state, msg);\r\n //clear the current questions\r\n state.questions = {} as IQuestionSection;\r\n } else {\r\n ConsoleLog({ \"getQuestions\": res.data });\r\n state.questions = res.data.questions;\r\n // state.questionTractor = res.data.tractor;\r\n // state.questionChassis = res.data.chassis;\r\n // state.questionVessel = res.data.vessel;\r\n }\r\n // update currentQuestionFitler regardless of the questions API restult as we need to clear the current data if there is no questions for the current filter.\r\n state.currentQuestionFilter.tractor = state.evcr.tripInfo.tractor;\r\n state.currentQuestionFilter.chassis = state.evcr.tripInfo.chassis;\r\n state.currentQuestionFilter.vessel = state.evcr.tripInfo.vessel;\r\n\r\n state.currentQuestionFilter.isTractorThirdParty = state.evcr.tripInfo.isTractorThirdParty;\r\n state.currentQuestionFilter.isChassisThirdParty = state.evcr.tripInfo.isChassisThirdParty;\r\n state.currentQuestionFilter.isVesselThirdParty = state.evcr.tripInfo.isVesselThirdParty;\r\n\r\n state.currentQuestionFilter.tractorThirdPartyCategory = state.evcr.tripInfo.tractorThirdPartyCategory;\r\n state.currentQuestionFilter.chassisThirdPartyCategory = state.evcr.tripInfo.chassisThirdPartyCategory;\r\n state.currentQuestionFilter.vesselThirdPartyCategory = state.evcr.tripInfo.vesselThirdPartyCategory;\r\n\r\n console.timeEnd(\"getQuestions\");\r\n\r\n });\r\n } catch (error: any) {\r\n commit(StoreMutation.EndLoading, null, { root: true });\r\n state.errorMsg = error.toString();\r\n }\r\n },\r\n postNewEvcr: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n imageApiMode,\r\n latitude,\r\n }: { imageApiMode: ImgeApiMode; latitude: string; appName: string }\r\n ) => {\r\n ClearError(state);\r\n let isOkay = false;\r\n try {\r\n await BaseDataLoadingAction(commit, async () => {\r\n console.time(\"postNewEvcr\");\r\n // const post = GeneratePostEvcr(state.evcr.tripInfo, state.questionTractor, state.questionChassis, state.questionVessel)\r\n\r\n const postData = GeneratePostEvcrData(state.evcr.tripInfo, state.questions)\r\n let postImges = {} as IEvcrPost; //for sending all images at a time\r\n let postImgeArray: IEvcrPost[] = []; //for send one at a time.\r\n // state.hasDefects()\r\n const hasDefect = state.questions.containDefect || state.questions.additionalQuestionContainDefect;\r\n if (hasDefect) {\r\n switch (imageApiMode) {\r\n case ImgeApiMode.AllNotWait:\r\n case ImgeApiMode.AllWait:\r\n postImges = GeneratePostEvcrImages(state.evcr.tripInfo, state.questions)\r\n break;\r\n case ImgeApiMode.Parallel:\r\n case ImgeApiMode.One:\r\n GeneratePostEvcrImageArray(postImgeArray, state.evcr.tripInfo, state.questions)\r\n break;\r\n }\r\n }\r\n\r\n if (!ChangingConfirm(postData)) {\r\n // const responseData = { isSuccess: false, error: 'Error (5), please try again'};\r\n // HandleAPIException(responseData, state, responseData.error);\r\n return isOkay;\r\n }\r\n if (hasDefect) {\r\n switch (imageApiMode) {\r\n case ImgeApiMode.AllNotWait:\r\n case ImgeApiMode.AllWait:\r\n ConsoleLog({ 'postImges': postImges })\r\n if (!ChangingConfirm(postImges)) {\r\n return isOkay;\r\n }\r\n break;\r\n case ImgeApiMode.Parallel:\r\n case ImgeApiMode.One:\r\n ConsoleLog({ 'postImgeArray': postImgeArray })\r\n if (!ChangingConfirm(postImgeArray)) {\r\n return isOkay;\r\n }\r\n break;\r\n }\r\n }\r\n ConsoleLog({ 'postNewEvcr': postData })\r\n console.time(\"postNewEvcrDataOnly\");\r\n //1> send basic data without images\r\n const res = await PostNewEvcr(postData)\r\n if (res.isSuccess === false) {\r\n console.timeEnd(\"postNewEvcrDataOnly\");\r\n ConsoleLog({ \"postNewEvcr.isSuccess === false\": res.data.error });\r\n const msg = HandleSapReturnCode(res.data?.error, Text('ml_114699', \"Encountered error when sumitting the eVCR\"));\r\n HandleAPIException(res, state, msg);\r\n } else {\r\n isOkay = true;\r\n console.timeEnd(\"postNewEvcrDataOnly\");\r\n ConsoleLog({ \"postNewEvcr.res)\": res.data });\r\n //2>Send images\r\n if (hasDefect) {\r\n switch (imageApiMode) {\r\n case ImgeApiMode.AllNotWait:\r\n console.time(\"postNewEvcrAllImagesNotWait\");\r\n const resAll = PostEvcrImages(postImges)\r\n console.timeEnd(\"postNewEvcrAllImagesNotWait\");\r\n break;\r\n case ImgeApiMode.AllWait:\r\n console.time(\"postNewEvcrAllImagesWait\");\r\n const resAllWait = await PostEvcrImages(postImges)\r\n console.timeEnd(\"postNewEvcrAllImagesWait\");\r\n break;\r\n case ImgeApiMode.Parallel:\r\n console.time(\"postNewEvcrImageParallel\");\r\n try {\r\n // let callArray: Promise[] = [];\r\n // postImgeArray.forEach(imgPost => {\r\n // const promise1 = PostEvcrImages(imgPost)\r\n // callArray.push(promise1)\r\n // });\r\n // const resulsts = await Promise.allSettled([\r\n // ...callArray\r\n // ]);\r\n // resulsts.forEach((result: any) => {\r\n // if (result.status !== \"fulfilled\") {\r\n // ConsoleLog([\"postNewEvcrImageParallel\", result.status, state.errorMsg, result.reason]);\r\n // }\r\n // });\r\n await Promise.all(postImgeArray.map(async (filePost) => {\r\n ConsoleLog({ \"ImgeApiMode.Parallel\": postImgeArray });\r\n const paralle = await PostEvcrImages(filePost);\r\n }));\r\n } catch (error) {\r\n ConsoleLog({ \"postNewEvcrImageParallel.error\": error });\r\n }\r\n console.timeEnd(\"postNewEvcrImageParallel\");\r\n break;\r\n case ImgeApiMode.One:\r\n console.time(\"postNewEvcrImagesOneByOne\");\r\n try {\r\n for (const imgPost of postImgeArray) {\r\n const resOne = await PostEvcrImages(imgPost);\r\n }\r\n } catch (error) {\r\n ConsoleLog({ \"postNewEvcrImagesOneByOne.error\": error });\r\n }\r\n\r\n console.timeEnd(\"postNewEvcrImagesOneByOne\");\r\n break;\r\n }\r\n }\r\n }\r\n console.timeEnd(\"postNewEvcr\");\r\n return isOkay;\r\n });\r\n } catch (error: any) {\r\n commit(StoreMutation.EndLoading, null, { root: true });\r\n state.errorMsg = error.toString();\r\n alert(error);\r\n }\r\n return isOkay;\r\n // state.errorMsg = \"test error\";\r\n },\r\n postNewEvcrSign: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n imageApiMode,\r\n latitude,\r\n //signString,\r\n }: { imageApiMode: ImgeApiMode; latitude: string; \r\n //signString: string; \r\n appName: string }\r\n ) => {\r\n ClearError(state);\r\n let isOkay = false;\r\n try {\r\n await BaseDataLoadingAction(commit, async () => {\r\n console.time(\"postNewEvcr\");\r\n // const post = GeneratePostEvcr(state.evcr.tripInfo, state.questionTractor, state.questionChassis, state.questionVessel)\r\n\r\n const postData = GeneratePostEvcrData(state.evcr.tripInfo, state.questions)\r\n let postImges = {} as IEvcrPost; //for sending all images at a time\r\n let postImgeArray: IEvcrPost[] = []; //for send one at a time.\r\n // state.hasDefects()\r\n const hasDefect = state.questions.containDefect || state.questions.additionalQuestionContainDefect;\r\n if (hasDefect) {\t\r\n switch (imageApiMode) {\t\r\n case ImgeApiMode.AllNotWait:\t\r\n case ImgeApiMode.AllWait:\t\r\n postImges = GeneratePostEvcrImages(state.evcr.tripInfo, state.questions)\t\r\n break;\t\r\n case ImgeApiMode.Parallel:\t\r\n case ImgeApiMode.One:\t\r\n GeneratePostEvcrImageArray(postImgeArray, state.evcr.tripInfo, state.questions)\t\r\n break;\t\r\n }\t\r\n }\r\n if (!ChangingConfirm(postData)) {\r\n // const responseData = { isSuccess: false, error: 'Error (5), please try again'};\r\n // HandleAPIException(responseData, state, responseData.error);\r\n return isOkay;\r\n }\r\n if (hasDefect) {\t\r\n switch (imageApiMode) {\t\r\n case ImgeApiMode.AllNotWait:\t\r\n case ImgeApiMode.AllWait:\t\r\n ConsoleLog({ 'postImges': postImges })\t\r\n if (!ChangingConfirm(postImges)) {\t\r\n return isOkay;\t\r\n }\t\r\n break;\t\r\n case ImgeApiMode.Parallel:\t\r\n case ImgeApiMode.One:\t\r\n ConsoleLog({ 'postImgeArray': postImgeArray })\t\r\n if (!ChangingConfirm(postImgeArray)) {\t\r\n return isOkay;\t\r\n }\t\r\n break;\t\r\n }\t\r\n }\r\n ConsoleLog({ 'postNewEvcr': postData })\r\n console.time(\"postNewEvcrDataOnly\");\r\n //1> send basic data without images\r\n const res = await PostNewEvcr(postData)\r\n if (res.isSuccess === false) {\r\n console.timeEnd(\"postNewEvcrDataOnly\");\r\n ConsoleLog({ \"postNewEvcr.isSuccess === false\": res.data.error });\r\n const msg = HandleSapReturnCode(res.data?.error, Text('ml_114699', \"Encountered error when sumitting the eVCR\"));\r\n HandleAPIException(res, state, msg);\r\n } else {\r\n isOkay = true;\r\n console.timeEnd(\"postNewEvcrDataOnly\");\r\n ConsoleLog({ \"postNewEvcr.res)\": res.data });\r\n //2>Send images\r\n if (hasDefect) {\r\n switch (imageApiMode) {\r\n case ImgeApiMode.AllNotWait:\r\n console.time(\"postNewEvcrAllImagesNotWait\");\r\n const resAll = PostEvcrImages(postImges)\r\n console.timeEnd(\"postNewEvcrAllImagesNotWait\");\r\n break;\r\n case ImgeApiMode.AllWait:\r\n console.time(\"postNewEvcrAllImagesWait\");\r\n const resAllWait = await PostEvcrImages(postImges)\r\n console.timeEnd(\"postNewEvcrAllImagesWait\");\r\n break;\r\n case ImgeApiMode.Parallel:\r\n console.time(\"postNewEvcrImageParallel\");\r\n try {\r\n // let callArray: Promise[] = [];\r\n // postImgeArray.forEach(imgPost => {\r\n // const promise1 = PostEvcrImages(imgPost)\r\n // callArray.push(promise1)\r\n // });\r\n // const resulsts = await Promise.allSettled([\r\n // ...callArray\r\n // ]);\r\n // resulsts.forEach((result: any) => {\r\n // if (result.status !== \"fulfilled\") {\r\n // ConsoleLog([\"postNewEvcrImageParallel\", result.status, state.errorMsg, result.reason]);\r\n // }\r\n // });\r\n await Promise.all(postImgeArray.map(async (filePost) => {\r\n ConsoleLog({ \"ImgeApiMode.Parallel\": postImgeArray });\r\n const paralle = await PostEvcrImages(filePost);\r\n }));\r\n } catch (error) {\r\n ConsoleLog({ \"postNewEvcrImageParallel.error\": error });\r\n }\r\n console.timeEnd(\"postNewEvcrImageParallel\");\r\n break;\r\n case ImgeApiMode.One:\r\n console.time(\"postNewEvcrImagesOneByOne\");\r\n try {\r\n for (const imgPost of postImgeArray) {\r\n const resOne = await PostEvcrImages(imgPost);\r\n }\r\n } catch (error) {\r\n ConsoleLog({ \"postNewEvcrImagesOneByOne.error\": error });\r\n }\r\n\r\n console.timeEnd(\"postNewEvcrImagesOneByOne\");\r\n break;\r\n }\r\n }\r\n \r\n //3>Send sign\r\n console.time(\"postNewEvcrSign\");\r\n //postData.eVCRRecordItemSet[0].Image=signString;\r\n //const resSign = await PostNewEvcrSign(postData)\r\n\r\n const postDataSign = GeneratePostEvcrDataSign(state.evcr.tripInfo, state.questions)\r\n ConsoleLog({ 'postNewEvcrSign': postDataSign })\r\n console.time(\"postNewEvcrDataSign\");\r\n const resSign = await PostNewEvcrSign(postDataSign)\r\n if (resSign.isSuccess === false) {\r\n console.timeEnd(\"postNewEvcrDataSign\");\r\n ConsoleLog({ \"postNewEvcrSign.isSuccess === false\": resSign.data.error });\r\n }else{\r\n console.timeEnd(\"postNewEvcrDataSign\");\r\n ConsoleLog({ \"postNewEvcrSign.resSign)\": resSign.data });\r\n }\r\n console.timeEnd(\"postNewEvcrSign\");\r\n }\r\n console.timeEnd(\"postNewEvcr\");\r\n return isOkay;\r\n });\r\n } catch (error: any) {\r\n commit(StoreMutation.EndLoading, null, { root: true });\r\n state.errorMsg = error.toString();\r\n alert(error);\r\n }\r\n return isOkay;\r\n // state.errorMsg = \"test error\";\r\n }, \r\n validateNewEvcrSign: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n ) => {\r\n ClearError(state);\r\n let isOkay = false;\r\n await BaseDataLoadingAction(commit, async () => {\r\n const validationMsg = await ValidateEvcr(state.evcr.tripInfo);\r\n if (validationMsg.length > 0) {\r\n state.errorMsg = validationMsg;\r\n } else {\r\n isOkay = true;\r\n }\r\n });\r\n // state.errorMsg = \"test error\";\r\n return isOkay;\r\n },\r\n },\r\n};\r\n","import { Commit, Dispatch } from 'vuex'\r\nimport { ClearError, CloneObj, ConsoleLog, Timeout } from '@/utility'\r\nimport * as consts from \"@/models/consts\"\r\nimport { StoreMutation } from '../store-mapping'\r\nimport { RemoveStorageEvcr, SetIsEditEvcr } from '@/utility/ui-utility'\r\n\r\ninterface IState {\r\n eVcrData: any;\r\n errorMsg: string\r\n editable: boolean;\r\n}\r\n\r\nexport const tmpEvcrModule = {\r\n namespaced: true,\r\n state: () => ({\r\n errorMsg: \"\",\r\n eVcrData: {},\r\n editable: false,\r\n }),\r\n getters: {\r\n editable: (state: IState) => {\r\n return state.editable;\r\n },\r\n },\r\n mutations: {\r\n resetTmpEvcr: (state: IState) => {\r\n state.errorMsg = \"\";\r\n state.eVcrData = {};\r\n state.editable = false;\r\n },\r\n setEditable: (state: IState, editable: boolean) => {\r\n state.editable = editable;\r\n },\r\n },\r\n actions: {\r\n initializeEvcData: async (\r\n {\r\n state,\r\n commit,\r\n dispatch,\r\n }: { state: IState; commit: Commit; dispatch: Dispatch },\r\n {\r\n longitude,\r\n }: { longitude: string; appName: string }\r\n ) => {\r\n ClearError(state);\r\n const tmpEvcrData =\r\n localStorage.getItem(consts.EVCR_DATA_KEY) &&\r\n localStorage.getItem(consts.EVCR_DATA_KEY) !== \"undefined\"\r\n ? JSON.parse(localStorage.getItem(consts.EVCR_DATA_KEY) as string)\r\n : undefined;\r\n try {\r\n if (tmpEvcrData) {\r\n ConsoleLog([\"initializeEvcData.tmpEvcrData\", CloneObj(tmpEvcrData)]);\r\n state.errorMsg = \"\";\r\n commit(StoreMutation.emInitializeState, { tmpEvcState: tmpEvcrData }, { root: true });\r\n state.editable = true;\r\n SetIsEditEvcr(true);\r\n } else {\r\n ConsoleLog(\"initializeEvcData.tmpEvcrData doesn't exist.\");\r\n state.editable = false\r\n RemoveStorageEvcr();\r\n }\r\n } catch (error) {\r\n ConsoleLog({ 'initializeEvcData failed': tmpEvcrData, 'error': error })\r\n state.editable = false\r\n RemoveStorageEvcr();\r\n }\r\n },\r\n },\r\n}\r\n","\r\nimport { ConsoleLog, DeepClone, } from '@/utility';\r\nimport config from '@/config/config.json';\r\nimport { Commit } from 'vuex';\r\nimport { StoreMutation } from '../store-mapping';\r\nimport { HasAccess } from '@/utility';\r\nimport { authService } from '@/services/AuthorService';\r\ninterface IUserState {\r\n user: any | null;\r\n errorMsg: string;\r\n}\r\n\r\nexport const userModule = {\r\n namespaced: true,\r\n state: () => ({\r\n user: null,\r\n errorMsg: \"\",\r\n }),\r\n getters: {\r\n userProfile: (state: IUserState) => {\r\n if (state.user) {\r\n return state.user;\r\n }\r\n return undefined;\r\n },\r\n userId: (state: IUserState) => {\r\n ConsoleLog({ \"state.user\": DeepClone(state.user) })\r\n if (state.user && state.user.userName) {\r\n const userName = state.user.userName.toString();\r\n ConsoleLog({ \"userId\": userName })\r\n return userName.substring(0, userName.indexOf('@'));\r\n }\r\n return '';\r\n },\r\n userName: (state: IUserState) => {\r\n ConsoleLog({ \"state.user\": DeepClone(state.user) })\r\n if (state.user && state.user.name) {\r\n ConsoleLog({ \"userName\": state.user.name })\r\n return state.user.name;\r\n }\r\n return '';\r\n },\r\n userCountryCode: (state: IUserState) => {\r\n if (state.user && state.user.idToken && state.user.idToken.ctry) {\r\n ConsoleLog({ \"userCountryCode\": state.user.idToken.ctry.toString() })\r\n return state.user.idToken.ctry.toString();\r\n }\r\n return '';\r\n },\r\n },\r\n mutations: {\r\n resetUser: (state: IUserState) => {\r\n state.user = null;\r\n state.errorMsg = \"\";\r\n },\r\n },\r\n actions: {\r\n login: async ({ commit, state }: { commit: Commit, state: IUserState }) => {\r\n console.log(\"Start of actions.login\");\r\n commit(StoreMutation.StartLoading, null, { root: true });\r\n let user = await authService.getUser();\r\n if (user === null) {\r\n console.log(\"before actions.login.authService.login()\");\r\n await authService.login();\r\n user = await authService.getUser();\r\n }\r\n ConsoleLog({ \"login.user\": DeepClone(user) });\r\n // // special logic to change country for test purpose\r\n // if (user !== null) {\r\n // if(user.userName === 'ZHANGPY@airproducts.com' || user.userName === 'ZHANGW13@airproducts.com'){\r\n // user.idToken.ctry = 'ID';\r\n // }\r\n // }\r\n ConsoleLog({ \"login.user\": DeepClone(user) });\r\n state.user = user;\r\n if (!user) {\r\n // commit(StoreMutation.EndLoading, null, { root: true });\r\n return;\r\n }\r\n // // check the authorization\r\n // const hasAccess = HasAccess(user.idToken.roles);\r\n // if (hasAccess) {\r\n // state.user = user;\r\n // // commit(StoreMutation.endLoading, null, { root: true });\r\n // } else {\r\n // ConsoleLog(\"user doesn't have access\");\r\n // // await authService.logout();\r\n // window.location.assign(config.app.noAccessUrl);\r\n // }\r\n //This is no needed as we need getFile API\r\n // commit(StoreMutation.EndLoading, null, { root: true });\r\n }\r\n ,\r\n logout: async ({ state }: { state: IUserState }) => {\r\n state.user = null;\r\n await authService.logout();\r\n }\r\n }\r\n};\r\n","\r\nimport Vue from 'vue'\r\nimport Vuex, { Commit, Dispatch } from 'vuex'\r\nimport * as getters from './getters';\r\nimport * as actions from './actions';\r\nimport * as mutations from './mutations';\r\nimport { state } from './state';\r\nimport { saveStatePlugin } from '../utility/saveStatePlugin'\r\nimport { lastEvcrModule } from './modules/last-evcr-module';\r\nimport { StoreMutation, StoreAction } from './store-mapping';\r\nimport { evcrModule } from './modules/evcr-module';\r\nimport { tmpEvcrModule } from './modules/tmp-evcr-module'\r\nimport { userModule } from './modules/user-module';\r\n\r\nVue.use(Vuex)\r\n\r\nexport default new Vuex.Store({\r\n plugins: [saveStatePlugin],\r\n state,\r\n getters,\r\n actions,\r\n mutations,\r\n modules: {\r\n evcrModule,\r\n lastEvcrModule,\r\n tmpEvcrModule,\r\n userModule,\r\n },\r\n});\r\n\r\nexport async function BaseDataLoadingAction(commit: Commit, action: () => any) {\r\n commit(StoreMutation.StartLoading, null, { root: true });\r\n await action();\r\n commit(StoreMutation.EndLoading, null, { root: true });\r\n}","import Vue from 'vue'\r\nimport Vuetify from 'vuetify/lib/framework'\r\n\r\nVue.use(Vuetify)\r\n\r\nexport default new Vuetify({})\r\n","import Vue from 'vue'\r\nimport App from './App.vue'\r\nimport router from './router'\r\nimport store from './store'\r\nimport vuetify from './plugins/vuetify'\r\nimport i18n from './I18n';\r\nimport * as consts from \"@/models/consts\"\r\n\r\nimport VueMask from 'v-mask'\r\n\r\nimport VueSignaturePad from 'vue-signature-pad';\r\n\r\nVue.use(VueSignaturePad);\r\n\r\nVue.use(VueMask)\r\n\r\nVue.config.productionTip = false\r\nVue.prototype.$isDebug = false;\r\nVue.prototype.$lanCode = consts.STR_DEFAULT_LANG;\r\n\r\n// Vue.config.errorHandler = (err, vm, info) => {\r\n// const pageName = router.currentRoute.name;\r\n// ConsoleLog([pageName, 'confi.errorHandler']);\r\n// ConsoleLog([err, info]);\r\n// const self = vm as any;\r\n// ConsoleLog(CopyByJson(self.$store.getters[StoreGetter.umUserProfile]));\r\n// // user doesn't log on to system\r\n// if (!self.$store.getters[StoreGetter.umUserProfile]) {\r\n// router.push({ name: PageName.Home });\r\n// return;\r\n// }\r\n// if (pageName && !PagesNotForAddingAsset.includes(pageName)) {\r\n// const asset = self.$store.state.assetModule.asset;\r\n// if (asset && asset.assetDevices[0] === undefined) {\r\n// router.push({ name: PageName.AssetTemplateList });\r\n// }\r\n// }\r\n// };\r\n\r\nnew Vue({\r\n router,\r\n store,\r\n i18n,\r\n vuetify,\r\n render: (h) => h(App),\r\n}).$mount('#app')\r\n","module.exports = __webpack_public_path__ + \"img/RIGID PGG KNUCKLE CRANE TRUCK_RHD_THUMB.e637130b.jpg\";","module.exports = __webpack_public_path__ + \"img/RIGID PGG TRUCK_LHD.b9fcf4c2.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_PGG CHASSIS_LHD.872c566a.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_RHD_THUMB.5613649c.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_LHD_THUMB.6ed72759.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_LHD.eef49f03.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_LHD_THUMB.01651830.jpg\";","module.exports = __webpack_public_path__ + \"img/RIGID TANKER_LHD.20604a3f.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_RHD_THUMB.80e72623.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_LHD.ece39e15.jpg\";","module.exports = __webpack_public_path__ + \"img/Vehicle.4d486dac.png\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_RHD.c79c1af4.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchPage.vue?vue&type=style&index=0&id=60f91b11&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/TRACTOR_PGG CHASSIS_LHD_THUMB.3c2afd35.jpg\";","module.exports = __webpack_public_path__ + \"img/PictureVessel.85ca5985.jpg\";","module.exports = __webpack_public_path__ + \"img/logo.07d1e22e.svg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_LHD_THUMB.e54c6737.jpg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QrScaner.vue?vue&type=style&index=0&id=1f6e8e88&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/PictureChassis.33eb5ed8.jpg\";","module.exports = __webpack_public_path__ + \"img/RIGID PGG KNUCKLE CRANE TRUCK_LHD_THUMB.cbde5b92.jpg\";","module.exports = __webpack_public_path__ + \"img/RIGID TANKER_RHD.04834104.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_TUBE SKID_RHD.37d557c5.jpg\";","module.exports = __webpack_public_path__ + \"img/PictureTractor.3dc61d20.jpg\";","module.exports = __webpack_public_path__ + \"img/logo.82b9c7a5.png\";","module.exports = __webpack_public_path__ + \"img/RIGID PGG TRUCK_RHD.9a8df0c4.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_TUBE SKID_RHD_THUMB.f108fb39.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_TUBE SKID_LHD_THUMB.9d0e238a.jpg\";","module.exports = __webpack_public_path__ + \"img/RIGID PGG KNUCKLE CRANE TRUCK_LHD.c14b4d04.jpg\";","module.exports = __webpack_public_path__ + \"img/loading.d04dcbb7.gif\";","module.exports = __webpack_public_path__ + \"img/RIGID TANKER_LHD_THUMB.6c547b6f.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_LHD.3e027106.jpg\";","module.exports = __webpack_public_path__ + \"img/TRACTOR_CHASSIS TRAILER_LB&MB&ISO TANKER_RHD_THUMB.beca9e44.jpg\";"],"sourceRoot":""}