{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/utils/asyncValidator/infoOfMotor.js","webpack:///./src/store/modules/partner/constants.js","webpack:///./src/store/modules/renewal/constants.js","webpack:///./src/assets/information.png","webpack:///./src/store/modules/insurance/constants.js","webpack:///./src/utils/asyncValidator/rules/index.js","webpack:///./src/store/modules/index.js","webpack:///./src/store/modules sync index\\.js$","webpack:///./src/store/modules/checkout/initState.js","webpack:///./src/store/modules/checkout/mutations.js","webpack:///./src/store/modules/checkout/actions.js","webpack:///./src/store/modules/checkout/index.js","webpack:///./src/utils/vue-meta/index.js","webpack:///./src/store/index.js","webpack:///./src/utils/asyncValidator/infoOfTravel.js","webpack:///./src/store/modules/renewal/mutations.js","webpack:///./src/store/modules/renewal/actions.js","webpack:///./src/store/modules/renewal/index.js","webpack:///./src/utils/asyncValidator/infoOfPet.js","webpack:///./src/App.vue?bc8a","webpack:///./src/components/layout/Header.vue?e097","webpack:///./src/components/auth/login/SignInMenu.vue?61c0","webpack:///./src/staticData/userSettings.js","webpack:///src/components/auth/login/SignInMenu.vue","webpack:///./src/components/auth/login/SignInMenu.vue?0ece","webpack:///./src/components/auth/login/SignInMenu.vue","webpack:///src/components/layout/Header.vue","webpack:///./src/components/layout/Header.vue?2022","webpack:///./src/components/layout/Header.vue","webpack:///./src/components/layout/Footer.vue?04d6","webpack:///src/components/layout/Footer.vue","webpack:///./src/components/layout/Footer.vue?5bbf","webpack:///./src/components/layout/Footer.vue","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/main.js","webpack:///./src/store/modules/dynamicResource/mutations.js","webpack:///./src/store/modules/dynamicResource/actions.js","webpack:///./src/store/modules/dynamicResource/index.js","webpack:///./src/store/modules/user/getters.js","webpack:///./src/store/modules/user/mutations.js","webpack:///./src/store/modules/user/actions.js","webpack:///./src/store/modules/user/index.js","webpack:///./src/store/modules/insurance/getters.js","webpack:///./src/store/modules/insurance/mutations.js","webpack:///./src/utils/animateScroll/index.js","webpack:///./src/store/modules/insurance/actions.js","webpack:///./src/store/modules/insurance/index.js","webpack:///./src/utils/asyncValidator/insuFilterForm.js","webpack:///./src/utils/asyncValidator/queryForms.js","webpack:///./src/utils/axios/index.js","webpack:///./src/store/modules/partner/mutations.js","webpack:///./src/store/modules/partner/actions.js","webpack:///./src/store/modules/partner/index.js","webpack:///./src/router/routes/insurance.js","webpack:///./src/router/routes/checkout.js","webpack:///./src/router/routes/login.js","webpack:///./src/router/routes/signup.js","webpack:///./src/router/routes/user.js","webpack:///./src/router/routes/notFound.js","webpack:///./src/router/routes/support.js","webpack:///./src/router/routes/activity.js","webpack:///./src/router/routes/renewal.js","webpack:///./src/router/routes/partner.js","webpack:///./src/router/routes/help.js","webpack:///./src/router/routes/index.js","webpack:///./src/router/logic.js","webpack:///./src/router/index.js","webpack:///./src/utils/asyncValidator/infoOfVaccine.js","webpack:///./src/utils/asyncValidator/infoOfCar.js","webpack:///./src/store/modules/checkout/constants.js","webpack:///./src/utils/asyncValidator/infoOfAccident.js","webpack:///./src/assets/logo.png","webpack:///./src/components/auth/login/LoginHelper.vue?1fd8","webpack:///src/components/auth/login/LoginHelper.vue","webpack:///./src/components/auth/login/LoginHelper.vue?555b","webpack:///./src/components/auth/login/LoginHelper.vue","webpack:///./src/store/modules/user/constants.js","webpack:///./src/store/modules/dynamicResource/constants.js"],"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","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","inceptionDate","compulsory","format","Date","arbitrary","carProfile","vehicleKind","carNo","block1","block2","carType","exFactoryDate","year","month","carLicenseDate","day","cc","brand","carStyle","engineNo","maxPassengers","autoNoticeData","isNative","autojob","ispro","SELECT_INSU_MUTATION","HANDLE_PURCHASE_ACTION2","HANDLE_PURCHASE_ACTION1","INSU_REQUEST_MUTATION","INSU_MODAL_MUTATION","RESET_SELECTED_MUTATION","SET_QUERY_MUTATION","RESET_QUERY_MUTATION","SET_PRODUCTS_MUTATION","RESET_PRODUCTS_MUTATION","FETCH_DETAILS_ACTION","FETCH_INSU_ACTION","HANDLE_PAGE_SCROLL","HANDLE_PURCHASE_ACTION","identityNoValidator","rule","callback","isIdentityCardNum","test","isUppercase","charNumRefer","split","reduce","acc","char","index","idArr","replace","charAt","weights","sum","num","parseInt","phoneNoValidator","isPhoneNo","dateOfBirthValidator","formatValue","keys","y","convertMonth","getMonth","age","differenceInYears","PetBirthDateValidator","diffter","differenceInCalendarDays","identityNo","validator","trigger","password","required","pattern","min","max","fields","firstName","lastName","mail","phoneNo","dateOfBirth","petOfBirth","address","city","area","road","carNoBase","inceptionDateForCom","catNo","catName","dogName","needPetInsu","requireModule","require","forEach","fileName","moduleName","default","map","webpackContext","req","id","webpackContextResolve","initState","loading","insuType","insuInfos","infoOfTravel","travelFilter","travelModel","travelArea","state","country","beneficiaryProfile","travelNoticeData","infoOfCar","inceptionDateOfCar","autoNoticeDataOfCar","carProfileOfCar","infoOfMotor","inceptionDateOfMotor","autoNoticeDataOfMotor","carProfileOfMotor","infoOfAccident","accidentFilter","accidentModel","accidentbeneficiaryProfile","accidentNoticeData","healthNoticeData","infoOfPet","petFilter","petModel","petNoticeData","petHealthNoticeData","infoOfVaccine","vaccineFilter","vaccineModel","vaccineBeneficiaryProfile","vaccineNoticeData","vaccineHealthNoticeData","quotes","total","InsuCompanyUrl","detail","prodPolicies","carInfo","travelInsuInfo","insuPeriod","accidentInsuInfo","AccidentinsuPeriod","petInsuInfo","PetinsuPeriod","vaccineInsuInfo","VaccineinsuPeriod","finishCheckoutRequest","startCheckoutRequest","initCheckoutState","vaccintInfo","setTravelFilterForm","filter","setAccidentFilterForm","setPetFilterForm","setVaccineFilterForm","setCarProfile","source","profile","setMotorProfile","setInsuPeriod","payload","setInsuInfos","infos","setCarCheckoutInfo","checkoutInfo","userProfile","setMotorCheckoutInfo","setTravelCheckoutInfo","setAccidentCheckoutInfo","setPetCheckoutInfo","setVaccineCheckoutInfo","setCheckoutQuoteOfCar","setCheckoutQuoteOfTravel","setCheckoutQuoteOfAccident","accidentArea","setCheckoutQuoteOfPet","setCheckoutQuoteOfVaccine","setCheckoutProdplicies","START_CHECKOUT_REQUEST","FINISH_CHECKOUT_REQUEST","INIT_CHECKOUT_STATE","SET_CARPROFILE","SET_MOTORPROFILE","SET_TRAVELFILTER_FORM","SET_ACCIDENTFILTER_FORM","SET_PETFILTER_FORM","SET_VACCINEFILTER_FORM","SET_INSUPERIOD","SET_INSUINFOS","SET_CAR_CHECKOUT_INFO","SET_MOTOR_CHECKOUT_INFO","SET_TRAVEL_CHECKOUT_INFO","SET_ACCIDENT_CHECKOUT_INFO","SET_VACCINE_CHECKOUT_INFO","SET_PET_CHECKOUT_INFO","SET_CHECKOUT_QUOTE_OFCAR","SET_CHECKOUT_QUOTE_OFTRAVEL","SET_CHECKOUT_QUOTE_OFACCIDENT","SET_CHECKOUT_QUOTE_OFPET","SET_CHECKOUT_QUOTE_OFVACCINE","SET_CHECKOUT_PRODPOLICIES","NODE_ENV","process","baseURL","ajax","axios","config","duration","updateCarProfile","commit","inceptionDateData","carProfileData","insuId","token","Cookies","method","url","headers","Authorization","res","success","warning","content","closable","checkoutCarData","log","getCarProfile","updateInsuperiod","updateInsuInfo","updateCheckoutInfoOfCar","insuInfo","userProfileFormData","autoNoticeFormData","updateCheckoutInfoOfTravel","travelFilterFormData","travelNoticeFormData","beneficiaryProfileFormData","updateCheckoutInfoOfAccident","accidentFilterFormData","accidentNoticeFormData","healthNoticeFormData","updateCheckoutInfoOfPet","petFilterFormData","petNoticeFormData","petHealthNoticeFormData","updateCheckoutInfoOfVaccine","vaccineFilterFormData","vaccineNoticeFormData","getCheckoutQuoteOfCar","isEBill","info","toString","nowPathName","location","pathname","match","getCheckoutQuoteOfTravel","isGuardianship","msg","getCheckoutQuoteOfAccident","getCheckoutQuoteOfPet","getCheckoutQuoteOfVaccine","checkoutPayment","rootState","channel","channelCar","insuIds","basketNum","quotationNum","quotationPrice","creditCard","tranNum","logPayload","basketId","webUserIp","user","ip","webControlCodeId","webProgramCodeId","UPDATE_CARPROFILE_ACTION","GET_CARPROFILE_ACTION","UPDATE_INSUPERIOD_ACTION","UPDATE_INSUINFO_ACTION","UPDATE_CHECKOUT_INFO_OFCAR_ACTION","UPDATE_CHECKOUT_INFO_OFTRAVEL_ACTION","UPDATE_CHECKOUT_INFO_OFACCIDENT_ACTION","UPDATE_CHECKOUT_INFO_OFPET_ACTION","UPDATE_CHECKOUT_INFO_OFVACCINE_ACTION","GET_CHECKOUT_QUOTE_OFCAR_ACTION","GET_CHECKOUT_QUOTE_OFTRAVEL_ACTION","GET_CHECKOUT_QUOTE_OFACCIDENT_ACTION","GET_CHECKOUT_QUOTE_OFPET_ACTION","GET_CHECKOUT_QUOTE_OFVACCINE_ACTION","CHECKOUT_PAYMENT_ACTION","checkout","mutations","getters","actions","baseOfMeta","title","meta","vmid","InsuranceMeta","subTitle","this","currentType","titleTemplate","Vue","use","Vuex","store","Store","strict","relationship","hasOtherInsu","desc","isCheckCoverage","famiyYearIncome","economicSources","job","isOverSixMons","isPolitician","PremiumSources","IsPolicyLoan","selectInsu","selectedInsus","handlePurchase1","prodDetail","queryModel","insuName","isCompulsory","prodType","insuCompany","router","queryInfo","model","tips","products","modal","isPetMedical","isOtherPetInsu","isPetTreatment","hasPetDisability","petMedicalReport","_vm","_h","$createElement","_c","_self","attrs","staticRenderFns","staticClass","_b","handleLogout","fullName","domProps","_s","slot","_l","item","text","on","path","staticStyle","MeberDropdownItems","LogoutDropdownItems","component","_v","locale","lang","productionTip","$cloneDeep","cloneDeep","Meta","render","h","App","$mount","finishRequest","startRequest","setNotAbroad","abroad","notAbroadOption","setAbroad","abroadOption","setNotAccidentAbroad","notaccidentAbroadOption","setAccidentAbroad","accidentAbroadOption","setIndexBanner","banners","indexBanner","setCarOptionCarType","vehicleOption","carOption","setMotorOptionCarType","motorOption","setCarOptionBrand","setCarOptionCarStyle","setMotorOptionBrand","setMotorOptionCarStyle","START_REQUEST","FINISH_REQUEST","SET_NOT_ABROAD","SET_ABROAD","SET_ACCIDENTABROAD","SET_NOT_ACCIDENTABROAD","SET_INDEX_BANNER","SET_CAR_OPTION_CARTYPE","SET_CAR_OPTION_BRAND","SET_CAR_OPTION_CARSTYLE","SET_MOTOR_OPTION_CARTYPE","SET_MOTOR_OPTION_BRAND","SET_MOTOR_OPTION_CARSTYLE","getTravelArea","getAccidentArea","expectPremium","getIndexBanner","getCarTypeOption","errorData","getBrandOption","getCarStyleOption","GET_TRAVELAREA_ACTION","GET_ACCIDENTAREA_ACTION","GET_INDEX_BANNER_ACTION","GET_CARTYPE_OPTION_ACTION","GET_BRAND_OPTION_ACTION","GET_CARSTYLE_OPTION_ACTION","dynamicResource","getFullName","getFormatDate","getFormatAddress","getGender","genderChar","genderNum","genderObj","getAge","formatBirth","val","userInfo","isLogin","nowActivity","isCheckouting","refagent","gender","getCountOfOrderType","orders","obj","TRA","AUT","MOT","VCN","PET","order","orderType","orderInfo","advisorys","countOfOrderType","userRequestMutation","bool","loginSuccess","hasErrTransaction","logoutSuccess","updateProfile","updateOtpcount","count","otp","restOfCount","updateUserOrders","updateAdvisorys","resetUserOrders","updateActivityReserveCarInsu","activityData","updateActivityReservePetInsu","USER_REQUEST_MUTATION","LOGIN_SUCCESS","LOGOUT_SUCCESS","UPDATE_PROFILE_MUTATION","UPDATE_OTP_COUNT_MUTATION","UPDATE_USER_ORDERS_MUTATION","UPDATE_USER_ADVISORY_MUTATION","RESET_ORDERS_MUTATION","UPDATE_ACTIVITY_RESERVECARINSU_MUTATION","UPDATE_ACTIVITY_RESERVEPETINSU_MUTATION","catchErrors","actionEnhancer","login","routeName","currentRoute","getIp","post","accessToken","shouldRemember","expires","set","includes","logout","generateAuthHeaders","remove","requiresAuth","autoLogin","generateAuthPostConf","updatePassword","context","handleReset","getOtp","testMode","authCode","verifyOtp","signupValidate","dispatch","authRes","authSucc","authMessage","GET_OTP_ACTION","getOtpSucc","params","signup","VERIFY_OTP_ACTION","verifySucc","LOGIN_REQUEST_ACTION","forgotPassword","fetchUserOrders","fetchOrderDetail","orderId","orderDetail","submitAdvisory","quesType","advisory","LOGOUT_REQUEST_ACTION","AUTO_LOGIN_ACTION","UPDATE_PASSWORD_ACTION","UPDATE_PROFILE_ACTION","SIGNUP_VALIDATE_ACTION","SIGNUP_REQUEST_ACTION","FORGOT_PASSWORD_ACTION","FETCH_USER_ORDERS_ACTION","FETCH_ORDER_DETAIL_ACTION","SUBMIT_ADVISORY_ACTION","initialQueryModel","travel","car","carModel","motor","motorModel","accident","pet","vaccine","insuReqMutation","setQuery","resetQuery","resetSelected","setProducts","stateKeys","sortedProd","currKey","prod","sort","a","b","premiums","resetProducts","animateScroll","targetHeight","body","scrollHeight","innerHeight","scrollY","initialPosition","SCROLL_DURATION","step_x","Math","PI","step_count","step","requestAnimationFrame","scrollTo","pow","cos","fetchInsurances","formatCarNo","insus","stateKey","currInsu","fetchModalDetail","selectedArr","firstInsu","secInsu","firstRes","firstDetail","insuDetails","secRes","secDetail","combineDetails","lists","insuNames","handleProductScroll","element","el","querySelector","position","getBoundingClientRect","top","handlePurchase","startTime","date","time","endTime","accidentmodel","label","petmodel","petName","petGender","petNo","petBreed","petColor","petWeight","petDesc","petPhoto","filename","vaccineInceptionDate","travelAreaValidator","itemsIsEmpty","countryValue","errorMsg","itemIsEmpty","values","some","Set","noRepeatItems","startTimeValidator","datedealine","now","endTimeValidator","expectPremiumValidator","accidentcontentValidator","isotherjobValidator","accidentJobLvValidator","accidentDateValidator","petInceptionDateValidator","vaccineInceptionDateValidator","toISOString","substring","isNaN","petNameValidator","petGenderValidator","petNoValidator","petBreedValidator","petColorValidator","petWeightValidator","isNumber","rules","accidentrules","accidentdate","otherjob","petrules","petInceptionDate","vaccinerules","typeOfMotor","options","isDevMode","vehicleBase","cdi","isbuy","motorCarNo","typeOfMotorOption","typeOfPet","dateOfBirthPet","expectPremiumRule","jobTypeRule","timeRule","dateRule","vehicleRules","travelRules","accidentRules","petRules","vaccineRules","carRules","motorRules","refid","defaults","instance","loadingMutation","fn","catch","EventLog","refId","PetFoodInfo","xhr","XMLHttpRequest","onreadystatechange","readyState","status","JSON","parse","responseText","open","send","handlePurchase2","Insurance","props","route","Checkout","CheckoutInfo","CheckoutQuotes","CheckoutConfirm","CheckoutVerify","CheckoutPayment","CheckoutSuccess","redirect","children","beforeEnter","to","from","next","Login","Signup","SignupCreate","SignupVerify","SuccessRedirect","visitDirectly","UserSettings","UserSettingsIndex","UserSettingsOrders","UserSettingsProfile","UserSettingsPassword","UserAdvisoryComment","NotFound","Support","Activity","audicarActivity","activiyReserveCarInsu","activityReservePetInsu","Renewal","Partner","UserHelp","Index","insurance","support","notFound","activity","help","renewal","partner","color","scrollBehavior","x","beforeEach","start","query","re","cid","regist","isVisitDirectly","regStatus","expire","afterEach","finish","VueRouter","routes","vaccinehasOtherInsu","isSick","certifiableOtherInsu","hasDisability","isDisabled","isMedical","accidenthasOtherInsu","triggerModal"],"mappings":"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","file":"js/app.f92378e9.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 CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\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\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0f0b1dda\":\"4c288a41\",\"chunk-1a39357b\":\"afb4789c\",\"chunk-20743ecd\":\"04c3f5e0\",\"chunk-0c506135\":\"a8bc5cd1\",\"chunk-2d0cb76d\":\"014a02b7\",\"chunk-bd435fec\":\"240ad117\",\"chunk-0f45f23c\":\"bd774fe5\",\"chunk-04ed8831\":\"ffa3f017\",\"chunk-24c38b33\":\"eb6ee2ea\",\"chunk-4a611173\":\"70909937\",\"chunk-4c638968\":\"c76ee07f\",\"chunk-97d026a6\":\"a7e5536f\",\"chunk-2d0d6764\":\"fbadcea4\",\"chunk-500c9dd9\":\"c767a56a\",\"chunk-f41df888\":\"efdf6427\",\"chunk-f4ee2020\":\"32b0871a\",\"chunk-7c72f9ec\":\"29c0c96e\",\"chunk-fee531b4\":\"ad8e0fc4\",\"chunk-279f3acc\":\"de15ae19\",\"chunk-2d0c0de9\":\"d48e0356\",\"chunk-2d209530\":\"d4d693ae\",\"chunk-2d0c0cb3\":\"38c091fb\",\"chunk-c4e59ed0\":\"dcdb87b9\",\"chunk-2d21e240\":\"8d97e27c\",\"chunk-49adc502\":\"0286427b\",\"chunk-5075d80e\":\"6b3f7286\",\"chunk-5e7a598c\":\"224cb2cb\",\"chunk-72b0ee24\":\"91735ef0\",\"chunk-7b8a8024\":\"df3183bb\",\"chunk-945843dc\":\"e2335e19\",\"chunk-9e6d0c1e\":\"e0cc9a84\",\"chunk-9f596f8e\":\"13bbb159\",\"chunk-a13d7e66\":\"42f8b16a\",\"chunk-aebcd8d0\":\"b9e37a2c\",\"chunk-b764bece\":\"acdc0ff8\",\"chunk-3da0cc57\":\"323cc9f4\",\"chunk-4d5ac395\":\"5b11196b\",\"chunk-cf2f6908\":\"fea239ed\"}[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// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-fee531b4\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-0f0b1dda\":\"31d6cfe0\",\"chunk-1a39357b\":\"31d6cfe0\",\"chunk-20743ecd\":\"31d6cfe0\",\"chunk-0c506135\":\"31d6cfe0\",\"chunk-2d0cb76d\":\"31d6cfe0\",\"chunk-bd435fec\":\"31d6cfe0\",\"chunk-0f45f23c\":\"31d6cfe0\",\"chunk-04ed8831\":\"31d6cfe0\",\"chunk-24c38b33\":\"31d6cfe0\",\"chunk-4a611173\":\"31d6cfe0\",\"chunk-4c638968\":\"31d6cfe0\",\"chunk-97d026a6\":\"31d6cfe0\",\"chunk-2d0d6764\":\"31d6cfe0\",\"chunk-500c9dd9\":\"31d6cfe0\",\"chunk-f41df888\":\"31d6cfe0\",\"chunk-f4ee2020\":\"31d6cfe0\",\"chunk-7c72f9ec\":\"31d6cfe0\",\"chunk-fee531b4\":\"a6ac0567\",\"chunk-279f3acc\":\"31d6cfe0\",\"chunk-2d0c0de9\":\"31d6cfe0\",\"chunk-2d209530\":\"31d6cfe0\",\"chunk-2d0c0cb3\":\"31d6cfe0\",\"chunk-c4e59ed0\":\"31d6cfe0\",\"chunk-2d21e240\":\"31d6cfe0\",\"chunk-49adc502\":\"31d6cfe0\",\"chunk-5075d80e\":\"31d6cfe0\",\"chunk-5e7a598c\":\"31d6cfe0\",\"chunk-72b0ee24\":\"31d6cfe0\",\"chunk-7b8a8024\":\"31d6cfe0\",\"chunk-945843dc\":\"31d6cfe0\",\"chunk-9e6d0c1e\":\"31d6cfe0\",\"chunk-9f596f8e\":\"31d6cfe0\",\"chunk-a13d7e66\":\"31d6cfe0\",\"chunk-aebcd8d0\":\"31d6cfe0\",\"chunk-b764bece\":\"31d6cfe0\",\"chunk-3da0cc57\":\"31d6cfe0\",\"chunk-4d5ac395\":\"31d6cfe0\",\"chunk-cf2f6908\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\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","import format from 'date-fns/format';\nexport const inceptionDate = {\n compulsory: format(new Date(), 'YYYY-MM-DD'),\n arbitrary: format(new Date(), 'YYYY-MM-DD'), \n};\n\nexport const carProfile = {\n vehicleKind: 'M',\n carNo: {\n block1: \"\",\n block2: \"\",\n carType: \"\"\n },\n exFactoryDate: {\n year: \"\",\n month: \"\"\n },\n carLicenseDate: {\n year: \"\",\n month: \"\",\n day: \"\"\n },\n cc: \"\",\n brand: \"\",\n carStyle: \"\",\n engineNo: \"\",\n maxPassengers: \"2\"\n};\nexport const autoNoticeData = { \n isNative: true,\n autojob: '', \n type: '' ,\n ispro:''\n \n};","/********************************\n * \n * mutations\n * \n ********************************/\n\n// request\n//export const INSU_REQUEST_MUTATION = 'INSU_REQUEST_MUTAION';\n\n// modal\n//export const INSU_MODAL_MUTATION = 'INSU_MODAL_MUTATION';\n\n// selecte insu\nexport const SELECT_INSU_MUTATION = 'SELECT_INSU_MUTATION';\n/*export const RESET_SELECTED_MUTATION = 'RESET_SELECTED_MUTATION';\n\n// set query\nexport const SET_QUERY_MUTATION = 'SET_QUERY_MUTATION';\nexport const RESET_QUERY_MUTATION = 'RESET_QUERY_MUTATION';\n\n// set products\nexport const SET_PRODUCTS_MUTATION = 'SET_PRODUCTS_MUTATION';\nexport const RESET_PRODUCTS_MUTATION = 'RESET_PRODUCTS_MUTATION';\n*/\n/********************************\n * \n * actions\n * \n ********************************/\n/*\n// fetch details for modal\nexport const FETCH_DETAILS_ACTION = 'FETCH_DETAILS_ACTION';\n\n// fetch products of insurnace\nexport const FETCH_INSU_ACTION = 'FETCH_INSU_ACTION';\n\n// handle scroll to product\nexport const HANDLE_PAGE_SCROLL = 'HANDLE_PAGE_SCROLL';\n*/\n// handle purchase\nexport const HANDLE_PURCHASE_ACTION2 = 'HANDLE_PURCHASE_ACTION2';","/********************************\n * \n * mutations\n * \n ********************************/\n\n// request\n//export const INSU_REQUEST_MUTATION = 'INSU_REQUEST_MUTAION';\n\n// modal\n//export const INSU_MODAL_MUTATION = 'INSU_MODAL_MUTATION';\n\n// selecte insu\nexport const SELECT_INSU_MUTATION = 'SELECT_INSU_MUTATION';\n/*export const RESET_SELECTED_MUTATION = 'RESET_SELECTED_MUTATION';\n\n// set query\nexport const SET_QUERY_MUTATION = 'SET_QUERY_MUTATION';\nexport const RESET_QUERY_MUTATION = 'RESET_QUERY_MUTATION';\n\n// set products\nexport const SET_PRODUCTS_MUTATION = 'SET_PRODUCTS_MUTATION';\nexport const RESET_PRODUCTS_MUTATION = 'RESET_PRODUCTS_MUTATION';\n*/\n/********************************\n * \n * actions\n * \n ********************************/\n/*\n// fetch details for modal\nexport const FETCH_DETAILS_ACTION = 'FETCH_DETAILS_ACTION';\n\n// fetch products of insurnace\nexport const FETCH_INSU_ACTION = 'FETCH_INSU_ACTION';\n\n// handle scroll to product\nexport const HANDLE_PAGE_SCROLL = 'HANDLE_PAGE_SCROLL';\n*/\n// handle purchase\nexport const HANDLE_PURCHASE_ACTION1 = 'HANDLE_PURCHASE_ACTION1';","module.exports = __webpack_public_path__ + \"img/information.12bcbf7a.png\";","/********************************\n * \n * mutations\n * \n ********************************/\n\n// request\nexport const INSU_REQUEST_MUTATION = 'INSU_REQUEST_MUTAION';\n\n// modal\nexport const INSU_MODAL_MUTATION = 'INSU_MODAL_MUTATION';\n\n// selecte insu\nexport const SELECT_INSU_MUTATION = 'SELECT_INSU_MUTATION';\nexport const RESET_SELECTED_MUTATION = 'RESET_SELECTED_MUTATION';\n\n// set query\nexport const SET_QUERY_MUTATION = 'SET_QUERY_MUTATION';\nexport const RESET_QUERY_MUTATION = 'RESET_QUERY_MUTATION';\n\n// set products\nexport const SET_PRODUCTS_MUTATION = 'SET_PRODUCTS_MUTATION';\nexport const RESET_PRODUCTS_MUTATION = 'RESET_PRODUCTS_MUTATION';\n\n/********************************\n * \n * actions\n * \n ********************************/\n\n// fetch details for modal\nexport const FETCH_DETAILS_ACTION = 'FETCH_DETAILS_ACTION';\n\n// fetch products of insurnace\nexport const FETCH_INSU_ACTION = 'FETCH_INSU_ACTION';\n\n// handle scroll to product\nexport const HANDLE_PAGE_SCROLL = 'HANDLE_PAGE_SCROLL';\n\n// handle purchase\nexport const HANDLE_PURCHASE_ACTION = 'HANDLE_PURCHASE_ACTION';","import differenceInYears from 'date-fns/difference_in_years';\nimport differenceInCalendarDays from \"date-fns/difference_in_calendar_days\";\nimport getMonth from 'date-fns/get_month';\n\n// customize validator\nconst identityNoValidator = (rule, value, callback) => {\n const isIdentityCardNum = /^[A-Z]{1}[1-2]{1}[0-9]{8}$/.test(value);\n const isUppercase = /^[A-Z]/.test(value);\n if (!value) return callback(new Error('請輸入您的身分證字號'));\n if (!isUppercase) return callback(new Error('身分證字號英文字母需為大寫'));\n if (!isIdentityCardNum) return callback(new Error('請輸入正確身分證'));\n const charNumRefer = 'ABCDEFGHJKLMNPQRSTUVXYWZIO'\n .split('')\n .reduce((acc, char, index) => {\n acc[char] = index + 10;\n return acc;\n }, {});\n const idArr = value.replace(/^[A-Z]/, charNumRefer[value.charAt(0)]).split('');\n const weights = [1, 9, 8, 7, 6, 5, 4, 3, 2, 1, 1];\n const sum = idArr.reduce((acc, char, index) => {\n const num = parseInt(char, 10) * weights[index];\n acc += num;\n return acc;\n }, 0);\n if (sum % 10 !== 0) return callback(new Error('請輸入正確的身分證'));\n callback();\n};\n\nconst phoneNoValidator = (rule, value, callback) => {\n if (!value) return callback(new Error('請輸入您的手機號碼'));\n const isPhoneNo = /^09\\d{8}$/.test(value);\n if (!isPhoneNo) return callback(new Error('請輸入正確手機格式'));\n callback();\n};\n\nconst dateOfBirthValidator = (rule, value, callback) => {\n const { year, month, day } = value;\n if (!year) return callback(new Error('請輸入您的出生年份'));\n if (!month) return callback(new Error('請輸入您的出生月份'));\n if (!day) return callback(new Error('請輸入您的出生日期'));\n const formatValue = Object.keys(value).reduce((acc, key) => {\n let num = parseInt(value[key], 10);\n if (key === 'month') { \n num -= 1;\n }\n return { ...acc, [key]: num };\n }, {});\n const { year: y, month: m, day: d } = formatValue;\n const convertMonth = getMonth(new Date(y, m, d));\n if (convertMonth !== m) return callback(new Error('請輸入正確日期'));\n const age = differenceInYears(new Date(), new Date(y, m, d));\n if (age < 20) return callback(new Error('網路投保最低年齡為20歲'));\n callback();\n};\n\n\nconst PetBirthDateValidator = (rule, value, callback) => { \n //console.log(\"value:\"+JSON.stringify(value)); \n const { year, month, day } = value;\n if (!year) return callback(new Error('請輸入寵物的出生年份'));\n if (!month) return callback(new Error('請輸入寵物的出生月份'));\n if (!day) return callback(new Error('請輸入寵物的出生日期'));\n const formatValue = Object.keys(value).reduce((acc, key) => {\n let num = parseInt(value[key], 10);\n if (key === 'month') { \n num -= 1;\n }\n return { ...acc, [key]: num };\n }, {});\n const { year: y, month: m, day: d } = formatValue;\n const convertMonth = getMonth(new Date(y, m, d));\n if (convertMonth !== m) return callback(new Error('請輸入正確日期'));\n const diffter = differenceInCalendarDays( new Date(), new Date(y, m, d));\n //console.log(diffter);\n if (diffter < 56) {\n //Wen Add 2019/11/28 控制無法選擇過去的時間點 \n return callback(new Error(\"被保險寵物年齡需滿8週以上\"));\n }\n const age = differenceInYears(new Date(), new Date(y, m, d));\n //console.log(\"age:\"+age);\n if (age >= 30) return callback(new Error('網路投保可投保寵物最高年齡為30歲'));\n callback(); \n}; \n\n// reuse validate rules\nexport const identityNo = [{ validator: identityNoValidator, trigger: 'blur' }];\n\nexport const password = [\n { required: true, trigger: 'blur', message: '請輸入您的密碼' },\n { type: 'string', pattern: /^\\w*$/, trigger: 'blur', message: '密碼不得含有空白或非英數字元' },\n { type: 'string', trigger: 'blur', min: 8, max: 16, message: '您的密碼長度需為 8 - 16 位數' },\n];\n\nexport const name = {\n type: 'object',\n required: true,\n fields: {\n firstName: [\n { type: 'string', required: true, message: '請輸入您的姓氏' },\n { type: 'string', pattern: /^\\D*$/, message: '請輸入正確姓名' }\n ],\n lastName: { type: 'string', required: true, message: '請輸入您的名字' }\n },\n trigger: 'validate',\n};\n\nexport const mail = [\n { required: true, trigger: 'blur', message: '請輸入您的 E-mail' },\n { type: 'email', trigger: 'blur', message: '請輸入正確 E-mail 格式' }\n];\n\nexport const phoneNo = [{ validator: phoneNoValidator, trigger: 'blur' }];\n\nexport const dateOfBirth = [{ validator: dateOfBirthValidator, trigger: 'validate' }];\n\nexport const petOfBirth = [{validator:PetBirthDateValidator ,trigger: 'validate'}];\nexport const address = {\n type: 'object',\n required: true,\n fields: {\n city: { type: 'string', required: true, message: '請選擇縣市' },\n area: { type: 'string', required: true, message: '請選擇區域' },\n road: { type: 'string', required: true, message: '請輸入街道/路段' }\n },\n trigger: 'validate'\n};\n\nexport const carNoBase = {\n type: 'object',\n required: true,\n fields: {\n block1: [\n { type: 'string', required: true, message: '請輸入您的牌照號碼(車牌前)' },\n { type: 'string', min: 2, max: 4, message: '牌照號碼(前)格式錯誤' },\n ],\n block2: [\n { type: 'string', required: true, message: '請輸入您的牌照號碼(車牌後)' },\n { type: 'string', min: 2, max: 5, message: '牌照號碼(後)格式錯誤' },\n ],\n },\n trigger: 'validate'\n};\n\nexport const carNo = {\n ...carNoBase,\n fields: {\n ...carNoBase.fields,\n carType: { type: 'string', required: true, message: '請選擇您的車種' }\n }\n};\n\n// export const carNo = {\n// type: 'object',\n// required: true,\n// fields: {\n// block1: [\n// {type: 'string', required: true, message: '請輸入您的牌照號碼(車牌前)' },\n// {type: 'string', min: 2, max:4, message: '牌照號碼(前)格式錯誤' },\n// ],\n// block2: [\n// { type: 'string', required: true, message: '請輸入您的牌照號碼(車牌後)' },\n// { type: 'string', min: 2, max:5, message: '牌照號碼(後)格式錯誤' },\n// ],\n// carType: { type:'string', required: true, message: '請選擇您的車種'}\n// },\n// trigger: 'validate'\n// };\n\nexport const exFactoryDate = {\n type: 'object',\n required: true,\n fields: {\n year: { type: 'string', required: true, message: '請選擇您車子的出廠年份' },\n month: { type: 'string', required: true, message: '請選擇您車子的出廠月份' }, \n },\n trigger: 'validate'\n}\n\nexport const carLicenseDate = {\n type: 'object',\n required: true,\n fields: {\n year: { type: 'string', required: true, message: '請選擇您行照原發照年份' },\n month: { type: 'string', required: true, message: '請選擇您行照原發照月份' }, \n day: { type: 'string', required: true, message: '請選擇您行照原發照日期' }\n },\n trigger: 'validate'\n}\n\nexport const cc = [\n { required: true, trigger: 'validate', message: '請輸入您的車子排氣量' },\n { type: \"string\", pattern: /^\\d*$/ ,trigger: 'blur', message: '排氣量僅能輸入數字' },\n { type: 'string', min: 1, max: 5, trigger: 'blur', message: '排氣量最多五位數' }\n];\nexport const brand = [\n { required: true, trigger: 'validate', message: '請選擇您車子的廠牌' }\n];\nexport const carStyle = [\n { required: true, trigger: 'validate', message: '請選擇您車子的車系車型' }\n];\nexport const engineNo = [\n { required: true, trigger: 'blur', message: '請輸入您車子的引擎號碼或車身號碼(進口車)' },\n // { type: 'string', len: 17, trigger: 'blur', message: '引擎號碼或車身號碼為17碼' },\n // { pattern: /^[A-Z0-9]{8}[X0-9]{1}[A-Z0-9]{8}$/, trigger: 'blur', message: '引擎號碼或車身號碼格式錯誤' }\n];\nexport const maxPassengers = [\n { required: true, trigger: 'blur', message: '請輸入您車子的乘載人數' },\n { pattern: /^\\d*$/ ,trigger: 'blur', message: '乘載人數僅能輸入數字' },\n { type: 'string', min: 1, max:2, trigger: 'blur', message: '乘載人數格式錯誤' },\n]\n\nexport const arbitrary = [\n { required: true, trigger: 'validate', message: '請選擇您任意險的生效日期' }\n]\nexport const compulsory = [\n { required: true, trigger: 'validate', message: '請選擇您強制險的生效日期' }\n]\nexport const inceptionDateForCom = {\n type: 'object',\n required: true,\n fields: {\n compulsory: { type: 'string', required: true, message: '請選擇您強制險的生效日期' },\n },\n trigger: 'validate'\n}\nexport const famiyYearIncome = [\n { required: true, trigger: 'blur', message: '請選擇要/被保險人之家庭年收入' }\n]\nexport const economicSources = [\n { required: true, trigger: 'blur', message: '請選擇家中主要經濟來源是被保險人之關係' }\n]\nexport const job = [\n { required: true, trigger: 'blur', message: '請選擇要/被保險人之職業別' }\n]\nexport const carType = {\n type: 'object',\n required: true,\n fields: {\n compulsory: { type: 'string', required: true, message: '請選擇您的車種' },\n },\n trigger: 'validate'\n}\n\nexport const catNo = [\n { required: true, trigger: 'blur', message: '請選擇您的愛貓數量' } \n]\nexport const catName = [\n { required: true, trigger: 'blur', message: '請輸入寶貝貓們的 名字 和 品種' }]\n\n /* export const dogNo = [\n { required: true, trigger: 'blur', message: '請選擇您的愛犬數量' } \n ]*/\n export const dogName = [\n { required: true, trigger: 'blur', message: '請輸入寶貝犬們的 名字 和 品種' }]\n \nexport const needPetInsu = [\n { required: true, trigger: 'blur', message: '是否有投保需求?' }\n]\n","const requireModule = require.context('.', true, /index\\.js$/);\nconst modules = {};\n\nrequireModule.keys().forEach((fileName) => {\n if (fileName === './index.js') return;\n const moduleName = fileName.replace(/\\.\\/(.+)(\\/index\\.js$)/g, '$1');\n modules[moduleName] = {\n ...requireModule(fileName).default\n };\n});\n\nexport default modules;","var map = {\n\t\"./checkout/index.js\": \"3747\",\n\t\"./dynamicResource/index.js\": \"6be2\",\n\t\"./index.js\": \"2a74\",\n\t\"./insurance/index.js\": \"74a9\",\n\t\"./partner/index.js\": \"8fb7\",\n\t\"./renewal/index.js\": \"471b\",\n\t\"./user/index.js\": \"6fec\"\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 = \"2cd0\";","import { model as travelModel,accidentmodel as accidentModel,petmodel as petModel, vaccineModel} from '@/utils/asyncValidator/insuFilterForm';\nimport { beneficiaryProfile,travelNoticeData } from '@/utils/asyncValidator/infoOfTravel';\nimport { inceptionDate as inceptionDateOfCar ,autoNoticeData as autoNoticeDataOfCar,carProfile as carProfileOfCar } from '@/utils/asyncValidator/infoOfCar';\nimport { inceptionDate as inceptionDateOfMotor,autoNoticeData as autoNoticeDataOfMotor ,carProfile as carProfileOfMotor } from '@/utils/asyncValidator/infoOfMotor';\nimport { accidentbeneficiaryProfile,accidentNoticeData,healthNoticeData } from '@/utils/asyncValidator/infoOfAccident';\nimport { petNoticeData ,petHealthNoticeData} from '@/utils/asyncValidator/infoOfPet';\nimport { vaccineBeneficiaryProfile,vaccineNoticeData,healthNoticeData as vaccineHealthNoticeData } from '@/utils/asyncValidator/infoOfVaccine'; //20200530 Wen add\nconst initState = {\n loading: false,\n insuType: '',\n insuInfos: [],\n infoOfTravel: {\n travelFilter: { \n ...travelModel,\n travelArea: [{ state: null ,country: null}],\n },\n beneficiaryProfile: {\n ...beneficiaryProfile,\n },\n travelNoticeData: {\n ...travelNoticeData\n } \n },\n infoOfCar: {\n inceptionDate: {\n ...inceptionDateOfCar\n },\n autoNoticeData: {\n ...autoNoticeDataOfCar\n },\n carProfile: {\n ...carProfileOfCar\n } \n },\n infoOfMotor: {\n inceptionDate: {\n ...inceptionDateOfMotor\n },\n autoNoticeData: {\n ...autoNoticeDataOfMotor\n },\n carProfile: {\n ...carProfileOfMotor\n } \n },\n infoOfAccident: {\n accidentFilter: { \n ...accidentModel,\n //accidentArea: [{jobtype :null}]//[{ state: null ,job: null}],\n },\n accidentbeneficiaryProfile: {\n ...accidentbeneficiaryProfile,\n },\n accidentNoticeData: {\n ...accidentNoticeData\n },\n healthNoticeData:\n {\n ...healthNoticeData \n }\n }, \n infoOfPet: {\n petFilter: { \n ...petModel \n },\n /*petBeneficiaryProfile: {\n ...petBeneficiaryProfile,\n },*/\n petNoticeData: {\n ...petNoticeData\n },\n petHealthNoticeData:{\n ...petHealthNoticeData\n }\n },\n infoOfVaccine: {\n vaccineFilter: { \n ...vaccineModel \n },\n vaccineBeneficiaryProfile: {\n ...vaccineBeneficiaryProfile,\n },\n vaccineNoticeData: {\n ...vaccineNoticeData\n },\n vaccineHealthNoticeData:\n {\n ...vaccineHealthNoticeData \n }\n },\n quotes: {\n total: \"\",\n InsuCompanyUrl:\"\",\n detail: [],\n prodPolicies: []\n },\n carInfo: {},\n travelInsuInfo: {\n travelArea: [],\n insuPeriod: ''\n },\n accidentInsuInfo: {\n //accidentArea: '',//[],{value:'',label:''} //20210315\n AccidentinsuPeriod: ''//,\n //isbuy:'' \n }, \n petInsuInfo: {\n //20210315\n PetinsuPeriod: ''//,\n //isbuy:'' \n }, \n vaccineInsuInfo: { //20210530 Wen Add\n VaccineinsuPeriod:'' \n }\n}\nexport default initState;","import initState from './initState';\nimport {\n START_CHECKOUT_REQUEST,\n FINISH_CHECKOUT_REQUEST,\n INIT_CHECKOUT_STATE,\n SET_CARPROFILE,\n SET_MOTORPROFILE,\n SET_TRAVELFILTER_FORM,\n SET_ACCIDENTFILTER_FORM,\n SET_PETFILTER_FORM,\n SET_VACCINEFILTER_FORM,\n SET_INSUINFOS,\n SET_CAR_CHECKOUT_INFO,\n SET_MOTOR_CHECKOUT_INFO,\n SET_TRAVEL_CHECKOUT_INFO,\n SET_ACCIDENT_CHECKOUT_INFO,\n SET_PET_CHECKOUT_INFO, \n SET_VACCINE_CHECKOUT_INFO,\n SET_CHECKOUT_QUOTE_OFCAR,\n SET_CHECKOUT_QUOTE_OFTRAVEL,\n SET_CHECKOUT_QUOTE_OFACCIDENT,\n SET_CHECKOUT_QUOTE_OFPET,\n SET_CHECKOUT_QUOTE_OFVACCINE,\n SET_INSUPERIOD,\n SET_CHECKOUT_PRODPOLICIES\n} from \"./constants\";\nimport { carProfile as carProfileOfCar } from '@/utils/asyncValidator/infoOfCar';\nimport { carProfile as carProfileOfMotor } from '@/utils/asyncValidator/infoOfMotor';\nconst finishCheckoutRequest = (state) => {\n state.loading = false;\n};\n\nconst startCheckoutRequest = (state) => {\n state.loading = true;\n};\nconst initCheckoutState = (state) => {\n state.insuInfos = [ ...initState.insuInfos ];\n state.infoOfTravel = { ...initState.infoOfTravel};\n state.infoOfCar = { ...initState.infoOfCar};\n state.infoOfMotor = { ...initState.infoOfMotor};\n state.infoOfAccident = { ...initState.infoOfAccident};\n state.infoOfPet = { ...initState.infoOfPet}; //試算條件、購物車方案傳送至資料輸入\n state.infoOfVaccine = { ...initState.infoOfVaccine}; //20210530 Wen Add\n state.loading = initState.loading;\n state.insuType = initState.insuType;\n state.quotes = {...initState.quotes};\n state.carInfo = { ...initState.carInfo };\n state.travelInsuInfo = {...initState.travelInsuInfo};\n state.accidentInsuInfo = {...initState.accidentInsuInfo};\n state.petInsuInfo = {...initState.petInsuInfo};\n state.vaccintInfo = {...initState.vaccineInsuInfo};\n //state.isbuy = initState.isbuy;\n}\nconst setTravelFilterForm = (state, filter) => {\n state.infoOfTravel.travelFilter = { \n ...filter,\n travelArea: [{ state: null ,country: null}],\n };\n};\nconst setAccidentFilterForm = (state, filter) => {\n state.infoOfAccident.accidentFilter = { \n ...filter,\n //accidentArea:'', //20210315\n //accidentArea: [{ jobtype : null}], //accidentArea: [{ state: null ,job: null}] \n };\n};\nconst setPetFilterForm = (state, filter) => { \n state.infoOfPet.petFilter = { \n ...filter, \n }; \n};\n\n//20210530 Wen Add SET_VACCINEFILTER_FORM \nconst setVaccineFilterForm = (state, filter) => { \n state.infoOfVaccine.vaccineFilter = { \n ...filter, \n };\n};\n\nconst setCarProfile = (state, { source, profile }) => {\n \n switch (source) {\n case 'checkout':\n const { inceptionDate, carProfile } = profile;\n state.infoOfCar.inceptionDate = { ...inceptionDate };\n state.infoOfCar.carProfile = { ...carProfile};\n break;\n case 'filter':\n const { carNo } = profile;\n state.infoOfCar.carProfile = {\n ...carProfileOfCar,\n carNo: {\n ...carNo,\n carType: ''\n }\n }\n break;\n }\n}\nconst setMotorProfile = (state, { source, profile }) => {\n switch (source) {\n case 'checkout':\n const { inceptionDate, carProfile } = profile;\n state.infoOfMotor.inceptionDate = { ...inceptionDate };\n state.infoOfMotor.carProfile = { ...carProfile }\n break;\n case 'filter':\n const { carNo } = profile;\n state.infoOfMotor.carProfile = {\n ...carProfileOfMotor,\n carNo: {\n ...carNo,\n carType: ''\n }\n }\n break;\n }\n}\nconst setInsuPeriod = (state , payload ) => {\n state.travelInsuInfo.insuPeriod = payload;\n state.accidentInsuInfo.AccidentinsuPeriod = payload; \n state.petInsuInfo.PetinsuPeriod = payload;\n state.vaccineInsuInfo.VaccineinsuPeriod=payload; //2021/8/30 Wen Add\n}\nconst setInsuInfos = (state, { infos, insuType }) => {\n state.insuType = insuType;\n state.insuInfos = [...infos];\n};\nconst setCarCheckoutInfo = (state, checkoutInfo ) => {\n const { inceptionDate, carProfile,autoNoticeData , userProfile } = checkoutInfo;\n state.infoOfCar = {\n inceptionDate: { ...inceptionDate },\n carProfile: { ...carProfile },\n autoNoticeData: { ...autoNoticeData },\n userProfile: { ...userProfile }\n }\n};\nconst setMotorCheckoutInfo = (state, checkoutInfo ) => {\n const { inceptionDate, carProfile,autoNoticeData , userProfile } = checkoutInfo;\n state.infoOfMotor = {\n inceptionDate: { ...inceptionDate },\n carProfile: { ...carProfile },\n autoNoticeData: { ...autoNoticeData },\n userProfile: { ...userProfile }\n }\n};\nconst setTravelCheckoutInfo = (state, checkoutInfo ) => {\n const { \n travelFilter,\n beneficiaryProfile,\n travelNoticeData,\n userProfile \n } = checkoutInfo;\n\n state.infoOfTravel = {\n travelFilter: { ...travelFilter },\n beneficiaryProfile: { ...beneficiaryProfile },\n travelNoticeData: { ...travelNoticeData },\n userProfile: { ...userProfile }\n }\n};\nconst setAccidentCheckoutInfo = (state, checkoutInfo ) => {\n const { \n accidentFilter,\n accidentbeneficiaryProfile,\n accidentNoticeData,\n userProfile,\n healthNoticeData \n } = checkoutInfo;\n\n state.infoOfAccident = {\n accidentFilter: { ...accidentFilter },\n accidentbeneficiaryProfile: { ...accidentbeneficiaryProfile },\n accidentNoticeData: { ...accidentNoticeData },\n userProfile: { ...userProfile },\n healthNoticeData:{ ...healthNoticeData}\n }\n};\n\nconst setPetCheckoutInfo = (state, checkoutInfo ) => {\n const { \n petFilter,\n //petBeneficiaryProfile,\n petNoticeData,\n userProfile,\n petHealthNoticeData \n } = checkoutInfo;\n\n state.infoOfPet = {\n petFilter: { ...petFilter },\n //petBeneficiaryProfile: { ...petBeneficiaryProfile },\n petNoticeData: { ...petNoticeData },\n userProfile: { ...userProfile },\n petHealthNoticeData:{ ...petHealthNoticeData}\n } \n};\n\nconst setVaccineCheckoutInfo = (state, checkoutInfo ) => {\n const { \n vaccineFilter,\n vaccineBeneficiaryProfile,\n vaccineNoticeData,\n userProfile \n } = checkoutInfo;\n\n state.infoOfVaccine = {\n vaccineFilter: { ...vaccineFilter },\n vaccineBeneficiaryProfile: { ...vaccineBeneficiaryProfile },\n vaccineNoticeData: { ...vaccineNoticeData },\n userProfile: { ...userProfile }\n }\n};\nconst setCheckoutQuoteOfCar = (state, payload ) => {\n const { carInfo,quotes } = payload;\n state.quotes = { ...quotes };\n state.carInfo = { ...carInfo };\n};\nconst setCheckoutQuoteOfTravel = (state, payload ) => {\n const { travelInsuInfo,quotes } = payload;\n const { travelArea } = travelInsuInfo;\n state.quotes = { ...quotes };\n state.travelInsuInfo.travelArea = [ ...travelArea ];\n};\nconst setCheckoutQuoteOfAccident = (state, payload ) => {\n const { accidentInsuInfo,quotes} = payload;\n const { accidentArea } = accidentInsuInfo; \n state.quotes = { ...quotes };\n state.accidentInsuInfo.accidentArea = accidentArea;//{...accidentArea} ;// 20210315 \n};\n//設定保單確認資料\nconst setCheckoutQuoteOfPet = (state, payload ) => {\n const { quotes} = payload; //2021/4/23 Wen Add\n state.quotes = { ...quotes }; \n //state.petInsuInfo=petInsuInfo;\n};\n\n//設定保單確認資料\nconst setCheckoutQuoteOfVaccine = (state, payload ) => {\n const { quotes} = payload; //20210530 Wen Add\n state.quotes = { ...quotes }; \n //state.petInsuInfo=petInsuInfo;\n};\nconst setCheckoutProdplicies = ( state, payload ) => {\n state.quotes.prodPolicies = [ ...payload ]; \n};\n\nexport default {\n [START_CHECKOUT_REQUEST]: startCheckoutRequest,\n [FINISH_CHECKOUT_REQUEST]: finishCheckoutRequest,\n [INIT_CHECKOUT_STATE]: initCheckoutState,\n [SET_CARPROFILE]: setCarProfile,\n [SET_MOTORPROFILE]: setMotorProfile,\n [SET_TRAVELFILTER_FORM]: setTravelFilterForm,\n [SET_ACCIDENTFILTER_FORM]: setAccidentFilterForm,\n [SET_PETFILTER_FORM]:setPetFilterForm,\n [SET_VACCINEFILTER_FORM]:setVaccineFilterForm,\n [SET_INSUPERIOD]: setInsuPeriod,\n [SET_INSUINFOS]: setInsuInfos,\n [SET_CAR_CHECKOUT_INFO]: setCarCheckoutInfo,\n [SET_MOTOR_CHECKOUT_INFO]: setMotorCheckoutInfo,\n [SET_TRAVEL_CHECKOUT_INFO]: setTravelCheckoutInfo,\n [SET_ACCIDENT_CHECKOUT_INFO]: setAccidentCheckoutInfo,\n [SET_VACCINE_CHECKOUT_INFO]: setVaccineCheckoutInfo,\n [SET_PET_CHECKOUT_INFO]: setPetCheckoutInfo,\n [SET_CHECKOUT_QUOTE_OFCAR]: setCheckoutQuoteOfCar,\n [SET_CHECKOUT_QUOTE_OFTRAVEL]: setCheckoutQuoteOfTravel,\n [SET_CHECKOUT_QUOTE_OFACCIDENT]: setCheckoutQuoteOfAccident,\n [SET_CHECKOUT_QUOTE_OFPET]:setCheckoutQuoteOfPet,\n [SET_CHECKOUT_QUOTE_OFVACCINE]:setCheckoutQuoteOfVaccine,\n [SET_CHECKOUT_PRODPOLICIES]: setCheckoutProdplicies,\n}","// npm\nimport axios from 'axios';\nimport { log } from '@/utils/axios';\nimport Cookies from 'js-cookie';\nimport { Message, Spin } from 'iview';\n// router\nimport router from '@/router';\n\nimport {\n START_CHECKOUT_REQUEST,\n FINISH_CHECKOUT_REQUEST,\n UPDATE_CARPROFILE_ACTION,\n GET_CARPROFILE_ACTION,\n SET_CARPROFILE,\n SET_MOTORPROFILE,\n UPDATE_INSUINFO_ACTION,\n UPDATE_INSUPERIOD_ACTION,\n SET_INSUINFOS,\n UPDATE_CHECKOUT_INFO_OFCAR_ACTION,\n UPDATE_CHECKOUT_INFO_OFTRAVEL_ACTION,\n UPDATE_CHECKOUT_INFO_OFACCIDENT_ACTION,\n UPDATE_CHECKOUT_INFO_OFPET_ACTION,\n UPDATE_CHECKOUT_INFO_OFVACCINE_ACTION, //20210530 Wen Add\n SET_CAR_CHECKOUT_INFO,\n SET_MOTOR_CHECKOUT_INFO,\n SET_TRAVEL_CHECKOUT_INFO,\n SET_ACCIDENT_CHECKOUT_INFO,\n SET_PET_CHECKOUT_INFO,\n SET_VACCINE_CHECKOUT_INFO,//20210530 Wen Add\n GET_CHECKOUT_QUOTE_OFCAR_ACTION,\n SET_CHECKOUT_QUOTE_OFCAR,\n GET_CHECKOUT_QUOTE_OFTRAVEL_ACTION,\n SET_CHECKOUT_QUOTE_OFTRAVEL, \n GET_CHECKOUT_QUOTE_OFACCIDENT_ACTION,\n SET_CHECKOUT_QUOTE_OFACCIDENT,\n GET_CHECKOUT_QUOTE_OFPET_ACTION,\n SET_CHECKOUT_QUOTE_OFPET,\n GET_CHECKOUT_QUOTE_OFVACCINE_ACTION,//20210530 Wen Add\n SET_CHECKOUT_QUOTE_OFVACCINE,//20210530 Wen Add\n CHECKOUT_PAYMENT_ACTION,\n SET_INSUPERIOD\n} from \"./constants\";\n\nconst { NODE_ENV } = process.env;\nconst baseURL = NODE_ENV === 'development'\n ? 'https://localhost:5000/api/'\n : 'https://ec.rockgp.com:5001/api/';\nconst ajax = axios.create({ baseURL });\n\nMessage.config({\n duration: 15\n});\n\nconst updateCarProfile = async ({ commit }, { vehicleKind, inceptionDateData, carProfileData, insuId }) => {\n commit(START_CHECKOUT_REQUEST);\n //console.log(\"12345677-insuId:\"+insuId);\n const token = Cookies.get('accessToken');\n const data = {\n vehicleKind,\n inceptionDate: inceptionDateData,\n carProfile: carProfileData,\n insuId \n \n }\n const config = {\n method: 'post',\n url: 'VehicleInsurance/SetCacheUserVehicleData',\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n if (!success) {\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n let checkoutCarData = {\n source: 'checkout',\n profile: { ...carProfileData }\n }\n switch (vehicleKind) {\n case 'C':\n await commit(SET_CARPROFILE, checkoutCarData);\n break;\n case 'M':\n await commit(SET_MOTORPROFILE, checkoutCarData);\n break;\n }\n commit(FINISH_CHECKOUT_REQUEST);\n }\n catch (err) {\n commit(FINISH_CHECKOUT_REQUEST);\n console.log(err);\n }\n};\nconst getCarProfile = async ({ commit }, { vehicleKind,insuId , carProfileData,inceptionDateData}) => {\n commit(START_CHECKOUT_REQUEST);\n\n const token = Cookies.get('accessToken');\n const data = {\n vehicleKind,\n insuId,\n carProfile: carProfileData,\n inceptionDate: inceptionDateData,\n }\n //console.log(\"checkout:\"+JSON.stringify(inceptionDateData)); \n const config = {\n method: 'post',\n url: 'VehicleInsurance/GetCacheUserVehicleData',\n data,\n headers: { Authorization: token }\n };\n try {\n //console.log(\"checkout-config\");\n const res = await ajax(config);\n const { success, message, result } = res.data;\n//console.log(\"checkout-success\");\n if (!success) {\n commit(FINISH_CHECKOUT_REQUEST);\n return true;\n }\n let checkoutCarData = {\n source: 'checkout',\n profile: { ...result },\n inceptionDate:{...result}\n }\n //console.log(\"checkout-vehicleKind:\"+JSON.stringify(checkoutCarData));\n //console.log(\"checkout-vehicleKind123456:\"+JSON.stringify(checkoutCarData.inceptionDate));\n switch (vehicleKind) {\n case 'C':\n await commit(SET_CARPROFILE, checkoutCarData);\n break;\n case 'M':\n await commit(SET_MOTORPROFILE, checkoutCarData);\n break;\n }\n //console.log(\"checkout-true\");\n return true;\n commit(FINISH_CHECKOUT_REQUEST);\n }\n catch (err) {\n commit(FINISH_CHECKOUT_REQUEST);\n console.log(err);\n }\n}\nconst updateInsuperiod = async ({ commit }, payload) => {\n commit(START_CHECKOUT_REQUEST);\n commit(SET_INSUPERIOD, payload);\n commit(FINISH_CHECKOUT_REQUEST);\n};\nconst updateInsuInfo = async ({ commit }, payload) => {\n commit(START_CHECKOUT_REQUEST);\n commit(SET_INSUINFOS, payload);\n commit(FINISH_CHECKOUT_REQUEST);\n};\nconst updateCheckoutInfoOfCar = async ({ commit }, payload) => {\n const { insuType, insuInfo, inceptionDateData, userProfileFormData, autoNoticeFormData, carProfileData } = payload;\n const checkoutInfo = {\n insuInfos: [...insuInfo],\n inceptionDate: { ...inceptionDateData },\n autoNoticeData: { ...autoNoticeFormData },\n userProfile: {\n ...userProfileFormData\n },\n carProfile: { ...carProfileData }\n };\n commit(START_CHECKOUT_REQUEST);\n switch (insuType) {\n case 'car':\n commit(SET_CAR_CHECKOUT_INFO, checkoutInfo);\n break;\n case 'motor':\n commit(SET_MOTOR_CHECKOUT_INFO, checkoutInfo);\n break;\n }\n\n //console.log(\"checkout-vehicleKind33:\"+JSON.stringify(checkoutInfo));\n commit(FINISH_CHECKOUT_REQUEST);\n};\nconst updateCheckoutInfoOfTravel = async ({ commit }, payload) => {\n const { insuType, insuInfo, travelFilterFormData, userProfileFormData, travelNoticeFormData, beneficiaryProfileFormData } = payload;\n const checkoutInfo = {\n insuInfos: [...insuInfo],\n travelFilter: { ...travelFilterFormData },\n travelNoticeData: { ...travelNoticeFormData },\n beneficiaryProfile: { ...beneficiaryProfileFormData },\n userProfile: { ...userProfileFormData }\n };\n commit(START_CHECKOUT_REQUEST);\n commit(SET_TRAVEL_CHECKOUT_INFO, checkoutInfo);\n commit(FINISH_CHECKOUT_REQUEST);\n};\nconst updateCheckoutInfoOfAccident = async ({ commit }, payload) => {\n const { insuType, insuInfo, accidentFilterFormData, userProfileFormData, accidentNoticeFormData, beneficiaryProfileFormData,healthNoticeFormData } = payload;\n const checkoutInfo = {\n insuInfos: [...insuInfo],\n accidentFilter: { ...accidentFilterFormData },\n accidentNoticeData: { ...accidentNoticeFormData },\n accidentbeneficiaryProfile: { ...beneficiaryProfileFormData },\n userProfile: { ...userProfileFormData },\n healthNoticeData:{...healthNoticeFormData}\n };\n\n//console.log(\"updateCheckoutInfoOfAccident+++\"+JSON.stringify(checkoutInfo))\n\n commit(START_CHECKOUT_REQUEST);\n commit(SET_ACCIDENT_CHECKOUT_INFO, checkoutInfo);\n commit(FINISH_CHECKOUT_REQUEST);\n};\n\nconst updateCheckoutInfoOfPet = async ({ commit }, payload) => {\n const { insuType, insuInfo, petFilterFormData, userProfileFormData, petNoticeFormData, petHealthNoticeFormData } = payload;\n const checkoutInfo = {\n insuInfos: [...insuInfo],\n petFilter: { ...petFilterFormData },\n petNoticeData: { ...petNoticeFormData },\n //petBeneficiaryProfile: { ...beneficiaryProfileFormData },\n userProfile: { ...userProfileFormData },\n petHealthNoticeData:{...petHealthNoticeFormData}\n };\n commit(START_CHECKOUT_REQUEST);\n commit(SET_PET_CHECKOUT_INFO, checkoutInfo);\n commit(FINISH_CHECKOUT_REQUEST);\n};\n\nconst updateCheckoutInfoOfVaccine = async ({ commit }, payload) => { //20210530 Wen Add\n const { insuType, insuInfo, vaccineFilterFormData, userProfileFormData, vaccineNoticeFormData, beneficiaryProfileFormData} = payload;//,insurBeneficiaryProfileFormDate,healthNoticeFormData \n const checkoutInfo = {\n insuInfos: [...insuInfo],\n vaccineFilter: { ...vaccineFilterFormData },\n vaccineNoticeData: { ...vaccineNoticeFormData },\n vaccineBeneficiaryProfile: { ...beneficiaryProfileFormData },\n userProfile: { ...userProfileFormData },\n //vaccineHealthNoticeData:{...healthNoticeFormData},\n //insurBeneficiaryProfileFormDate:{...insurBeneficiaryProfileFormDate}\n };\n commit(START_CHECKOUT_REQUEST);\n commit(SET_VACCINE_CHECKOUT_INFO, checkoutInfo);\n commit(FINISH_CHECKOUT_REQUEST);\n};\n\nconst getCheckoutQuoteOfCar = async ({ commit }, payload) => {\n commit(START_CHECKOUT_REQUEST);\n const token = Cookies.get('accessToken');\n const { insuInfo, inceptionDateData, userProfileFormData, autoNoticeFormData, carProfileData } = payload;\n const { mail, address, isEBill } = userProfileFormData; \n const data = {\n insuInfo: {\n insuId: insuInfo.map(info => info.insuId)\n },\n inceptionDate: { ...inceptionDateData },\n userProfile: {\n mail,\n address: {\n ...address\n },\n isEBill,\n },\n autoNoticeData: { ...autoNoticeFormData },\n carProfile: {\n ...carProfileData,\n carLicenseDate: {\n ...carProfileData.carLicenseDate,\n year: (parseInt(carProfileData.carLicenseDate.year) + 1911).toString()\n }\n }\n }\n //console.log(\"autoNoticeData-action-data:\"+JSON.stringify(data.autoNoticeData));\n const config = {\n method: 'post',\n url: 'VehicleInsurance/CalPremium',\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n const nowPathName = window.location.pathname;\n if (!nowPathName.match('checkout')) {\n return success;\n }\n if (!success) {\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n const { quotes, carInfo } = result;\n commit(SET_CHECKOUT_QUOTE_OFCAR, { quotes, carInfo });\n commit(FINISH_CHECKOUT_REQUEST);\n return success;\n }\n catch (err) {\n console.log(err);\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `很抱歉,目前系統繁忙中,請稍後再試,謝謝您。`,\n closable: true\n });\n return success;\n }\n};\nconst getCheckoutQuoteOfTravel = async ({ commit }, payload) => {\n commit(START_CHECKOUT_REQUEST);\n const token = Cookies.get('accessToken');\n const { insuInfo, travelFilterFormData, userProfileFormData, travelNoticeFormData, beneficiaryProfileFormData } = payload;\n const { mail, address, isEBill, isGuardianship } = userProfileFormData;\n const data = {\n insuInfo: {\n insuId: insuInfo.map(info => info.insuId)\n },\n travelFilter: {\n ...travelFilterFormData,\n travelArea: travelFilterFormData.travelArea.map(area => area.country)\n },\n userProfile: {\n mail,\n address: {\n ...address\n },\n isEBill,\n isGuardianship\n },\n travelNoticeData: { ...travelNoticeFormData },\n beneficiaryProfile: { ...beneficiaryProfileFormData }\n }\n const config = {\n method: 'post',\n url: 'TravelAcidentInsurance/CalPremium',\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n const nowPathName = window.location.pathname;\n if (!nowPathName.match('checkout')) {\n return success;\n }\n let msg;\n if (!success) {\n commit(FINISH_CHECKOUT_REQUEST);\n if (message.match('乘載噸數跟車種不合') || message.match('此「車種代碼」和「廠牌型式代碼」不符')) {\n msg = '請確認汽車車種、排氣量、乘客數與行照相符,請重新嘗試一次。'\n } else {\n msg = '很抱歉,目前系統繁忙中,請稍後再試,謝謝您。'\n }\n Message.warning({\n content: `${msg}`,\n closable: true\n });\n return success;\n }\n const { quotes, travelInsuInfo } = result;\n commit(SET_CHECKOUT_QUOTE_OFTRAVEL, { quotes, travelInsuInfo });\n commit(FINISH_CHECKOUT_REQUEST);\n return success;\n }\n catch (err) {\n console.log(err);\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `很抱歉,目前系統繁忙中,請稍後再試,謝謝您。`,\n closable: true\n });\n return success;\n }\n};\nconst getCheckoutQuoteOfAccident = async ({ commit }, payload) => {\n commit(START_CHECKOUT_REQUEST);\n const token = Cookies.get('accessToken');\n const { insuInfo, accidentFilterFormData, userProfileFormData, accidentNoticeFormData, beneficiaryProfileFormData, healthNoticeFormData } = payload;\n const { mail, address, isEBill, isGuardianship } = userProfileFormData;\n const data = {\n insuInfo: {\n insuId: insuInfo.map(info => info.insuId)\n },\n accidentFilter: {\n ...accidentFilterFormData,\n //accidentArea: accidentFilterFormData.accidentArea, \n // otherjob //20201229 Wen Add\n },\n userProfile: {\n mail,\n address: {\n ...address\n },\n isEBill,\n isGuardianship\n },\n accidentNoticeData: { ...accidentNoticeFormData },\n accidentbeneficiaryProfile: { ...beneficiaryProfileFormData },\n healthNoticeData:{...healthNoticeFormData}\n }\n\n //console.log(\"getCheckoutQuoteOfPet+++\"+JSON.stringify(data));\n const config = {\n method: 'post',\n url: 'AccidentInsurance/CalPremium',\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n //console.log(\"data\"+JSON.stringify(data));\n //console.log(\"result\"+JSON.stringify(result));\n const nowPathName = window.location.pathname;\n if (!nowPathName.match('checkout')) {\n return success;\n }\n let msg;\n if (!success) {\n commit(FINISH_CHECKOUT_REQUEST);\n /*if (message.match('乘載噸數跟車種不合') || message.match('此「車種代碼」和「廠牌型式代碼」不符')) {\n msg = '請確認汽車車種、排氣量、乘客數與行照相符,請重新嘗試一次。'\n } else {*/\n msg = '很抱歉,目前系統繁忙中,請稍後再試,謝謝您。'\n // }\n Message.warning({\n content: `${msg}`,\n closable: true\n });\n return success;\n }\n const { quotes, accidentInsuInfo } = result;\n //console.log(\"quotes--\"+JSON.stringify(quotes));\n //console.log(\"accidentInsuInfo--\"+JSON.stringify(accidentInsuInfo));\n //console.log(\"result--\"+JSON.stringify(result));\n commit(SET_CHECKOUT_QUOTE_OFACCIDENT, { quotes, accidentInsuInfo }); //isbuy\n commit(FINISH_CHECKOUT_REQUEST);\n return success;\n }\n catch (err) {\n console.log(err);\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `很抱歉,目前系統繁忙中,請稍後再試,謝謝您。`,\n closable: true\n });\n return success;\n }\n};\n\nconst getCheckoutQuoteOfPet = async ({ commit }, payload) => {\n commit(START_CHECKOUT_REQUEST);\n const token = Cookies.get('accessToken');\n const { insuInfo, petFilterFormData, userProfileFormData, petNoticeFormData, beneficiaryProfileFormData, petHealthNoticeFormData } = payload;\n const { mail, address, isEBill, isGuardianship } = userProfileFormData;\n const data = {\n insuInfo: {\n insuId: insuInfo.map(info => info.insuId)\n },\n petFilter: {\n ...petFilterFormData,\n //accidentArea: accidentFilterFormData.accidentArea, \n // otherjob //20201229 Wen Add\n },\n userProfile: {\n mail,\n address: {\n ...address\n },\n isEBill,\n isGuardianship\n },\n petNoticeData: { ...petNoticeFormData },\n //petBeneficiaryProfile: { ...beneficiaryProfileFormData },\n petHealthNoticeData:{...petHealthNoticeFormData}\n }\n\n const config = {\n method: 'post',\n url: 'PetInsurance/CalPremium',\n data,\n headers: { Authorization: token }\n };\n try {\n //console.log(\"data++\"+JSON.stringify(data));\n const res = await ajax(config); \n const { success, message, result } = res.data;\n //console.log(\"result\"+JSON.stringify(result));\n const nowPathName = window.location.pathname;\n if (!nowPathName.match('checkout')) {\n return success;\n }\n let msg;\n if (!success) {\n commit(FINISH_CHECKOUT_REQUEST);\n /*if (message.match('乘載噸數跟車種不合') || message.match('此「車種代碼」和「廠牌型式代碼」不符')) {\n msg = '請確認汽車車種、排氣量、乘客數與行照相符,請重新嘗試一次。'\n } else {*/\n // msg = '很抱歉,目前系統繁忙中,請稍後再試,謝謝您。'\n // }\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n const { quotes, petInsuInfo } = result;\n commit(SET_CHECKOUT_QUOTE_OFPET, { quotes, petInsuInfo }); //isbuy\n commit(FINISH_CHECKOUT_REQUEST);\n return success;\n }\n catch (err) {\n console.log(err);\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `很抱歉,目前系統繁忙中,請稍後再試,謝謝您。`,\n closable: true\n });\n return success;\n }\n};\n\nconst getCheckoutQuoteOfVaccine = async ({ commit }, payload) => {\n commit(START_CHECKOUT_REQUEST); //20210530 Wen Add\n const token = Cookies.get('accessToken');\n const { insuInfo, vaccineFilterFormData, userProfileFormData, vaccineNoticeFormData, beneficiaryProfileFormData } = payload;//,healthNoticeFormData,insurBeneficiaryProfileFormDate\n const { mail, address, isEBill, isGuardianship } = userProfileFormData;\n const data = {\n insuInfo: {\n insuId: insuInfo.map(info => info.insuId)\n },\n vaccineFilter: {\n ...vaccineFilterFormData,\n //accidentArea: accidentFilterFormData.accidentArea, \n // otherjob //20201229 Wen Add\n },\n userProfile: {\n mail,\n address: {\n ...address\n },\n isEBill,\n isGuardianship\n },\n vaccineNoticeData: { ...vaccineNoticeFormData },\n vaccineBeneficiaryProfile: { ...beneficiaryProfileFormData },\n //vaccineHealthNoticeData:{...healthNoticeFormData},\n //insurBeneficiaryProfileFormDate:{...insurBeneficiaryProfileFormDate}\n }\n //console.log(\"data++++--\"+JSON.stringify(data));\n const config = {\n method: 'post',\n url: 'VaccineInsurance/CalPremium',\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n //console.log(\"result\"+JSON.stringify(result));\n const nowPathName = window.location.pathname;\n if (!nowPathName.match('checkout')) {\n return success;\n }\n let msg;\n if (!success) {\n commit(FINISH_CHECKOUT_REQUEST);\n /*if (message.match('乘載噸數跟車種不合') || message.match('此「車種代碼」和「廠牌型式代碼」不符')) {\n msg = '請確認汽車車種、排氣量、乘客數與行照相符,請重新嘗試一次。'\n } else {*/\n // msg = '很抱歉,目前系統繁忙中,請稍後再試,謝謝您。'\n // }\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n const { quotes, vaccineInsuInfo } = result;\n commit(SET_CHECKOUT_QUOTE_OFVACCINE, { quotes, vaccineInsuInfo }); //isbuy\n commit(FINISH_CHECKOUT_REQUEST);\n return success;\n }\n catch (err) {\n console.log(err);\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `很抱歉,目前系統繁忙中,請稍後再試,謝謝您。`,\n closable: true\n });\n return success;\n }\n};\n\nconst checkoutPayment = async ({ commit, rootState }, { insuType, payload }) => {\n commit(START_CHECKOUT_REQUEST);\n\n const token = Cookies.get('accessToken');\n const channel = Cookies.get('channel') || null;\n const channelCar = Cookies.get('channelCar') || null;\n const { insuIds, basketNum, quotationNum, quotationPrice, creditCard, checkoutInfo, tranNum } = payload;\n let data = {\n channel,\n channelCar,\n insuType,\n insuIds: [...insuIds],\n basketNum,\n tranNum,\n quotationNum,\n quotationPrice,\n creditCard: { ...creditCard },\n checkoutInfo: { ...checkoutInfo }\n }\n let url = '';\n if (insuType === 'travel') {\n data.checkoutInfo = {\n ...checkoutInfo,\n travelFilter: {\n ...checkoutInfo.travelFilter,\n travelArea: checkoutInfo.travelFilter.travelArea.map(area => area.country)\n }, \n }\n url = 'TravelAcidentInsurance/PaymentSubmit';\n }\n else if(insuType === 'accident')\n {\n data.checkoutInfo={\n ...checkoutInfo,\n accidentFilter:{\n ...checkoutInfo.accidentFilter,\n //accidentArea:checkoutInfo.accidentFilter.accidentArea.map(area =>area.jobtype)\n }\n }\n url = 'AccidentInsurance/PaymentSubmit'; \n } \n else if(insuType === 'pet')\n {\n data.checkoutInfo={\n ...checkoutInfo,\n petFilter:{\n ...checkoutInfo.petFilter, \n }\n }\n url = 'PetInsurance/PaymentSubmit'; \n } \n else if(insuType === 'vaccine')\n {\n data.checkoutInfo={\n ...checkoutInfo,\n vaccineFilter:{\n ...checkoutInfo.vaccineFilter, \n }\n }\n url = 'VaccineInsurance/PaymentSubmit'; \n } \n else {\n url = 'VehicleInsurance/PaymentSubmit';\n }\n const config = {\n method: 'post',\n url: url,\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n\n if (!success) {\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n const logPayload = {\n basketId: basketNum,\n webUserIp: rootState.user.ip,\n webControlCodeId: 'PAY',\n webProgramCodeId: 'CKP'\n };\n log(logPayload);\n commit(FINISH_CHECKOUT_REQUEST);\n return success;\n }\n catch (err) {\n console.log(err);\n commit(FINISH_CHECKOUT_REQUEST);\n Message.warning({\n content: `很抱歉,目前系統繁忙中,請稍後再試,謝謝您。`,\n closable: true\n });\n }\n};\nexport default {\n [UPDATE_CARPROFILE_ACTION]: updateCarProfile,\n [GET_CARPROFILE_ACTION]: getCarProfile,\n [UPDATE_INSUPERIOD_ACTION]: updateInsuperiod,\n [UPDATE_INSUINFO_ACTION]: updateInsuInfo,\n [UPDATE_CHECKOUT_INFO_OFCAR_ACTION]: updateCheckoutInfoOfCar,\n [UPDATE_CHECKOUT_INFO_OFTRAVEL_ACTION]: updateCheckoutInfoOfTravel,\n [UPDATE_CHECKOUT_INFO_OFACCIDENT_ACTION]: updateCheckoutInfoOfAccident,\n [UPDATE_CHECKOUT_INFO_OFPET_ACTION]: updateCheckoutInfoOfPet,\n [UPDATE_CHECKOUT_INFO_OFVACCINE_ACTION]: updateCheckoutInfoOfVaccine,\n [GET_CHECKOUT_QUOTE_OFCAR_ACTION]: getCheckoutQuoteOfCar,\n [GET_CHECKOUT_QUOTE_OFTRAVEL_ACTION]: getCheckoutQuoteOfTravel,\n [GET_CHECKOUT_QUOTE_OFACCIDENT_ACTION]: getCheckoutQuoteOfAccident,\n [GET_CHECKOUT_QUOTE_OFPET_ACTION]: getCheckoutQuoteOfPet,\n [GET_CHECKOUT_QUOTE_OFVACCINE_ACTION]:getCheckoutQuoteOfVaccine,\n [CHECKOUT_PAYMENT_ACTION]: checkoutPayment\n};","import mutations from './mutations';\nimport actions from './actions';\nimport getters from './getters';\nimport { model as travelModel,accidentmodel as accidentModel,petmodel as petModel,vaccineModel} from '@/utils/asyncValidator/insuFilterForm';\nimport { beneficiaryProfile,travelNoticeData } from '@/utils/asyncValidator/infoOfTravel';\nimport { inceptionDate as inceptionDateOfCar,autoNoticeData as autoNoticeDataOfCar ,carProfile as carProfileOfCar } from '@/utils/asyncValidator/infoOfCar';\nimport { inceptionDate as inceptionDateOfMotor,autoNoticeData as autoNoticeDataOfMotor ,carProfile as carProfileOfMotor } from '@/utils/asyncValidator/infoOfMotor';\nimport { accidentbeneficiaryProfile,accidentNoticeData ,healthNoticeData} from '@/utils/asyncValidator/infoOfAccident';\nimport { petNoticeData ,petHealthNoticeData} from '@/utils/asyncValidator/infoOfPet';\nimport { vaccineBeneficiaryProfile,vaccineNoticeData } from '@/utils/asyncValidator/infoOfVaccine'; //20200530 Wen add\n \nconst state = {\n loading: false,\n insuType: '', \n insuInfos: [],\n infoOfTravel: {\n travelFilter: { \n ...travelModel,\n travelArea: [{ state: null ,country: null}],\n },\n beneficiaryProfile: {\n ...beneficiaryProfile,\n },\n travelNoticeData: {\n ...travelNoticeData\n } \n },\n infoOfCar: {\n inceptionDate: {\n ...inceptionDateOfCar\n },\n autoNoticeData: {\n ...autoNoticeDataOfCar\n },\n carProfile: {\n ...carProfileOfCar\n } \n },\n infoOfMotor: {\n inceptionDate: {\n ...inceptionDateOfMotor\n },\n autoNoticeData: {\n ...autoNoticeDataOfMotor\n },\n carProfile: {\n ...carProfileOfMotor\n } \n },\n infoOfAccident: {\n accidentFilter: { \n ...accidentModel,\n //accidentArea: [{jobtype: null}],//[{ state: null ,job: null}], \n },\n accidentbeneficiaryProfile: {\n ...accidentbeneficiaryProfile,\n },\n accidentNoticeData: {\n ...accidentNoticeData\n },\n healthNoticeData:{\n ...healthNoticeData\n }\n },\n infoOfPet: {\n petFilter: { \n ...petModel, \n },\n /*petBeneficiaryProfile: {\n ...petBeneficiaryProfile,\n },*/\n petNoticeData: {\n ...petNoticeData\n },\n petHealthNoticeData:{\n ...petHealthNoticeData\n }\n },\n infoOfVaccine: {\n vaccineFilter: { \n ...vaccineModel \n },\n vaccineBeneficiaryProfile: {\n ...vaccineBeneficiaryProfile,\n },\n vaccineNoticeData: {\n ...vaccineNoticeData\n } \n },\n quotes: {\n total: \"\",\n InsuCompanyUrl:\"\",\n detail: [],\n prodPolicies: []\n },\n carInfo: {},\n travelInsuInfo: {\n travelArea: [],\n insuPeriod: ''\n },\n accidentInsuInfo: {\n //accidentArea: '',//[],{value:'',label:''} //20210315\n AccidentinsuPeriod: ''//,\n //isbuy :''\n }, \n petInsuInfo: {\n //20210415\n PetinsuPeriod: '' \n },\n vaccineInsuInfo: { //20210530 Wen Add\n VaccineinsuPeriod:'' \n } \n}\n\n\nconst checkout = {\n state,\n mutations,\n getters,\n actions\n}\n\nexport default checkout;","export const baseOfMeta = {\n title: '磐石保經線上投保平台',\n meta: [\n { \n name: 'descrption', \n content: '磐石的願景是成為全球保險企業的典範,以兩岸三地的市場資源、產壽合營、虛實整合,共同架構大中華區域為基礎,邁向全球市場。磐石是以愛為核心的企業,因為愛,持守終身服務的承諾,專業創新,成為資產安全的守護者。' \n },\n {\n property: 'og:title',\n content: '磐石保經線上投保平台',\n vmid: 'og:title'\n },\n {\n property: 'og:description',\n content: '磐石的願景是成為全球保險企業的典範,以兩岸三地的市場資源、產壽合營、虛實整合,共同架構大中華區域為基礎,邁向全球市場。磐石是以愛為核心的企業,因為愛,持守終身服務的承諾,專業創新,成為資產安全的守護者。',\n vmid: 'og:description'\n },\n {\n property: 'og:image',\n content: 'https://scontent.ftpe8-1.fna.fbcdn.net/v/t1.0-9/11255402_1044180718966456_678752712372678742_n.png?_nc_cat=109&_nc_ht=scontent.ftpe8-1.fna&oh=22709df8eaf745e8a30000c3def87a1b&oe=5C782328',\n vmid: 'og:image'\n }\n ]\n};\n\nexport const insuOfTravel = {\n titleTemplate: '%s | 旅平險',\n meta: [\n {\n property: 'og:title',\n content: '磐石保經 - 旅遊平安險',\n vmid: 'og:title'\n },\n {\n property: 'og:description',\n content: '國內外安心出遊,玩得盡興。出門旅遊,旅平險準備好了嗎?出發前1小時也可以保,保額、方案自由選擇,3分鐘迅速完保超輕鬆!',\n vmid: 'og:description'\n }\n ]\n};\n\nexport function InsuranceMeta() {\n let subTitle = '旅平險';\n switch (this.currentType) {\n case ('car'):\n subTitle = '汽車險';\n break;\n case ('motor'):\n subTitle = '機車險';\n break;\n case ('accident'):\n subTitle = '傷害險';\n break;\n case ('pet'):\n subTitle = '寵物險';\n break;\n case ('vaccine'):\n subTitle = '疫苗險防疫險'; //20210530 Wen Add 首頁 banners區塊試算\n break;\n default:\n break;\n }\n return {\n titleTemplate: `%s | ${subTitle}`,\n };\n}","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport modules from './modules';\n\nVue.use(Vuex);\n\nconst store = new Vuex.Store({\n modules,\n //不要在發布環境下啟用嚴格模式!嚴格模式會深度監測狀態樹來檢測不合規的狀態變更——請確保在發布環境下關閉嚴格模式,以避免性能損失。\n strict: process.env.NODE_ENV !== 'production', //是否開啟嚴格模式\n });\n\n\nexport default store;\n","export const beneficiaryProfile = {\n relationship: '',\n name: {\n firstName: '',\n lastName: ''\n },\n dateOfBirth: {\n year: '',\n month: '',\n day: '',\n },\n identityNo: '',\n phoneNo: '',\n mail: '',\n address: {\n city: '',\n area: '',\n road: ''\n },\n}\n\nexport const travelNoticeData = {\n hasOtherInsu: {\n value: false,\n desc: ''\n },\n isCheckCoverage: false,\n famiyYearIncome: '',\n economicSources: '',\n isNative: true,\n job: '',\n isOverSixMons: {\n value: false,\n desc: ''\n },\n isPolitician: {\n value: false,\n desc: ''\n },\n PremiumSources:\n {\n value: '',\n desc: ''\n },\n IsPolicyLoan:false\n}","//對state操作的方法\nimport {\n // INSU_REQUEST_MUTATION,\n // INSU_MODAL_MUTATION,\n SELECT_INSU_MUTATION,\n // RESET_SELECTED_MUTATION,\n // SET_QUERY_MUTATION,\n //RESET_QUERY_MUTATION,\n // SET_PRODUCTS_MUTATION,\n // RESET_PRODUCTS_MUTATION,\n} from './constants';\n/*\n// request\nconst insuReqMutation = (state, bool) => {\n state.loading = bool;\n};\n\n// set query\nconst setQuery = (state, { key, tips, ...model }) => {\n state.queryInfo = { model, tips };\n};\n\nconst resetQuery = (state) => {\n state.queryInfo = { model: null, tips: null };\n};\n\n// modal\nconst modal = (state, payload) => {\n state.modal = payload;\n};\n*/\n// selected Id\nconst selectInsu = (state, payload) => {\n state.selectedInsus = [...payload];\n};\n/*\nconst resetSelected = (state) => {\n state.selectedInsus = [];\n};\n\n// set product\nconst setProducts = (state, payload) => {\n const stateKeys = Object.keys(payload);\n const sortedProd = stateKeys.reduce((acc, currKey) => {\n const products = payload[currKey].map(prod => ({\n ...prod,\n prodType: currKey\n }));\n return {\n ...acc,\n [currKey]: products.sort((a, b) => a.premiums - b.premiums)\n };\n }, {});\n state.products = sortedProd;\n};\n\nconst resetProducts = (state) => {\n state.products = null;\n};\n*/\nexport default {\n // [INSU_REQUEST_MUTATION]: insuReqMutation,\n // [SET_QUERY_MUTATION]: setQuery,\n // [RESET_QUERY_MUTATION]: resetQuery,\n // [SET_PRODUCTS_MUTATION]: setProducts,\n // [RESET_PRODUCTS_MUTATION]: resetProducts,\n // [INSU_MODAL_MUTATION]: modal,\n [SELECT_INSU_MUTATION]: selectInsu,\n // [RESET_SELECTED_MUTATION]: resetSelected,\n};","//可異步操作\n// npm\nimport axios, { actionEnhancer } from '@/utils/axios';\n// router\nimport router from '@/router';\n// insurance constants\nimport {\n INSU_REQUEST_MUTATION,\n // FETCH_INSU_ACTION,\n // FETCH_DETAILS_ACTION,\n // SET_QUERY_MUTATION,\n // SET_PRODUCTS_MUTATION,\n// RESET_PRODUCTS_MUTATION,\n INSU_MODAL_MUTATION,\n // HANDLE_PAGE_SCROLL,\n HANDLE_PURCHASE_ACTION1\n} from './constants';\n// checkout constanst\nimport { \n SET_INSUINFOS,\n SET_TRAVELFILTER_FORM,\n SET_CARPROFILE,\n SET_MOTORPROFILE,\n SET_PETFILTER_FORM,\n SET_VACCINEFILTER_FORM,\n SET_CHECKOUT_PRODPOLICIES//\n} from '../checkout/constants';\n// utils\n//import animateScroll from '@/utils/animateScroll';\n\n//const catchErrors = actionEnhancer(INSU_REQUEST_MUTATION);\n/*\nconst fetchInsurances = catchErrors(\n async ({ commit }, { type, tips, formatCarNo = null, ...queryModel }) => {\n const { currentRoute: { name } } = router;\n const insus = {\n travel: {\n stateKey: 'travelQuery',\n path: 'TravelAcidentInsurance/Search',\n },\n car: {\n stateKey: 'carQuery',\n path: 'VehicleInsurance/Search',\n \n },\n motor: {\n stateKey: 'motorQuery',\n path: 'MotorcycleInsurance/Search',\n }\n };\n const currInsu = insus[type];\n const key = currInsu.stateKey;\n commit(RESET_PRODUCTS_MUTATION);\n const payload = type === 'car' || 'motor'\n ? { ...queryModel, carNo: formatCarNo }\n : { ...queryModel };\n const res = await axios.post(currInsu.path, payload);\n const { success, result } = res.data;\n if (!success) throw new Error('很抱歉,系統繁忙中,請稍後再試,謝謝您');\n commit(SET_QUERY_MUTATION, { ...queryModel, key, tips });\n commit(SET_PRODUCTS_MUTATION, result);\n if (name === 'index') return router.push({ name: 'insurance', params: { type } });\n }\n);\n*//*\nconst fetchModalDetail = catchErrors(async ({ commit }, selectedArr) => {\n const [firstInsu, secInsu = null] = selectedArr;\n const firstRes = await axios.post('insurance/getInsuDetails', firstInsu);\n const firstDetail = { ...firstRes.data.result.insuDetails, selectedArr };\n if (!secInsu) {\n commit(INSU_MODAL_MUTATION, firstDetail);\n return;\n }\n const secRes = await axios.post('insurance/getInsuDetails', secInsu);\n const secDetail = secRes.data.result.insuDetails;\n const combineDetails = [firstDetail, secDetail].reduce((acc, obj, index) => {\n if (index === 0) return { ...obj };\n return {\n ...acc,\n lists: [...acc.lists, ...obj.lists],\n insuIds: [acc.insuId, obj.insuId],\n insuName: `${acc.insuName} ${obj.insuName}`,\n insuNames: [acc.insuName, obj.insuName],\n premiums: acc.premiums + obj.premiums,\n prodPolicies: [...acc.prodPolicies, ...obj.prodPolicies]\n };\n }, {});\n commit(INSU_MODAL_MUTATION, combineDetails);\n});\n*//*\nconst handleProductScroll = (context, element) => {\n const el = document.querySelector(element);\n const position = el.getBoundingClientRect();\n animateScroll(position.top - 100);\n};\n*/\n//type-car ,prodPolicies,profile\nconst handlePurchase1 = async ({ commit }, { type, prodDetail, queryModel }) => {\n commit(INSU_MODAL_MUTATION, null);\n //console.log(\"renewal-type :\"+type+\" prodDetail : \"+JSON.stringify(prodDetail)+\" queryModel : \"+ JSON.stringify(queryModel));\n //console.log(\"prodDetail-action.js:\"+JSON.stringify(prodDetail));\n /*const { \n prodPolicies,\n selectedArr\n } = prodDetail;\n*/\n const prodPolicies= prodDetail.prodPolicies; \n //console.log(\"prodPolicies1-action.js:\"+prodPolicies);\n//console.log(\"type-action.js:\"+type);\nconst infos =[{\n insuName:prodDetail.insuName,\n isCompulsory: prodDetail.prodType === 'compulsory',\n insuCompany: prodDetail.insuCompany,\n insuId: prodDetail.insuId\n}]\n\n//console.log(\"infos-action.js:\"+infos);\nconst selectedArr=infos;\n/*\n const infos = selectedArr.map(item => ({ \n insuName: item.insuName,\n isCompulsory: item.prodType === 'compulsory',\n insuCompany: item.insuCompany,\n insuId: item.insuId\n }));\n */\n switch (type) {\n case ('car'):\n commit(SET_CARPROFILE, { source: 'filter', profile: queryModel });\n break;\n case ('motor'):\n commit(SET_MOTORPROFILE, { source: 'filter', profile: queryModel });\n break;\n case ('pet'):{ \n //console.log(\" queryModel_pet +\"+JSON.stringify(queryModel));\n commit(SET_PETFILTER_FORM,queryModel);\n //commit(SET_PETFILTER_FORM, {source: 'filter', petFilter: queryModel });\n //console.log(\" prodDetail.pet +\"+JSON.stringify( prodDetail.pet));\n break; }\n case ('vaccine'):{\n //console.log(\" queryModel_vaccine +\"+JSON.stringify(queryModel)); \n commit(SET_VACCINEFILTER_FORM,queryModel);\n //console.log(\" prodDetail.vaccine +\"+JSON.stringify( prodDetail.vcn)); \n break; } \n default: \n commit(SET_TRAVELFILTER_FORM, queryModel);\n }\n\n commit(SET_CHECKOUT_PRODPOLICIES, prodPolicies);\n commit(SET_INSUINFOS, { insuType: type, infos });\n router.push({ name: 'checkoutInfo' });\n};\n\nexport default {\n // [FETCH_INSU_ACTION]: fetchInsurances,\n // [FETCH_DETAILS_ACTION]: fetchModalDetail,\n //[HANDLE_PAGE_SCROLL]: handleProductScroll,\n [HANDLE_PURCHASE_ACTION1]: handlePurchase1\n};","import getters from './getters';\nimport mutations from './mutations';\nimport actions from './actions';\n//import { carModel, motorModel, travelModel } from '@/utils/asyncValidator/queryForms';\n\nconst state = {\n queryInfo: {\n model: null,\n tips: null\n },\n selectedInsus: [],\n loading: false,\n products: null,\n modal: null,\n};\n\nexport default {\n state,\n getters,\n mutations,\n actions\n};","export const petBeneficiaryProfile = {\n relationship: '',\n name: {\n firstName: '',\n lastName: ''\n },\n dateOfBirth: {\n year: '',\n month: '',\n day: '',\n },\n identityNo: '',\n phoneNo: '',\n mail: '',\n address: {\n city: '',\n area: '',\n road: ''\n },\n}\n\nexport const petNoticeData = {\n /*petHasOtherInsu: {\n value: false,\n desc: ''\n },*/\n //isCheckCoverage: false,\n // famiyYearIncome: '',\n //economicSources: '',\n isNative: true,\n //job: '',\n /*isOverSixMons: {\n value: false,\n desc: ''\n },\n isPolitician: {\n value: false,\n desc: ''\n },\n PremiumSources:\n {\n value: '',\n desc: ''\n },\n IsPolicyLoan:false */\n}\n\nexport const petHealthNoticeData={\n isPetMedical:false,\n isOtherPetInsu: false,\n isPetTreatment: false,\n hasPetDisability: false, \n petMedicalReport:false\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('Header'),_c('router-view'),_c('BackTop'),_c('Footer')],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('header',[_c('router-link',{staticClass:\"logo\",attrs:{\"to\":\"/\"}},[_c('img',{attrs:{\"src\":require(\"@/assets/logo.png\"),\"alt\":\"磐石保經\"}})]),(_vm.isLogin)?_c('SignInMenu',_vm._b({},'SignInMenu',{handleLogout: _vm.handleLogout, fullName: _vm.fullName},false)):_c('LoginHelper')],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('div',{staticClass:\"flex-cc\"},[_c('Dropdown',{staticClass:\"menber-center-menu\",attrs:{\"trigger\":\"click\"}},[_c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('Icon',{attrs:{\"type\":\"ios-home\",\"size\":\"20\",\"color\":\"#e0e0e0\"}}),_c('span',{domProps:{\"textContent\":_vm._s(\"會員中心\")}})],1),_c('DropdownMenu',{attrs:{\"slot\":\"list\"},slot:\"list\"},_vm._l((_vm.MeberDropdownItems),function(item){return _c('DropdownItem',{key:item.name},[(item.name)?_c('router-link',{attrs:{\"to\":{name: item.name}},domProps:{\"textContent\":_vm._s(item.text)}}):_c('p',{domProps:{\"textContent\":_vm._s(item.text)},on:{\"click\":_vm.handleLogout}})],1)}),1)],1),_c('Dropdown',{staticClass:\"sign-in-menu\",attrs:{\"trigger\":\"click\"}},[_c('a',{attrs:{\"href\":\"javascript:void(0)\"}},[_c('Icon',{attrs:{\"type\":\"android-person\",\"size\":\"20\",\"color\":\"#e0e0e0\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.fullName)}})],1),_c('DropdownMenu',{attrs:{\"slot\":\"list\"},slot:\"list\"},_vm._l((_vm.LogoutDropdownItems),function(item){return _c('DropdownItem',{key:item.name},[(item.name)?_c('router-link',{attrs:{\"to\":{name: item.name}},domProps:{\"textContent\":_vm._s(item.text)}}):_c('p',{domProps:{\"textContent\":_vm._s(item.text)},on:{\"click\":_vm.handleLogout}})],1)}),1)],1),_c('div',[_c('router-link',{attrs:{\"to\":{path:'/help'}}},[_c('img',{staticStyle:{\"max-width\":\"20px\",\"min-width\":\"15px\",\"margin-left\":\"10px\"},attrs:{\"width\":\"100%\",\"src\":require(\"@/assets/information.png\")}})])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// user settings\nexport const advisoryRecord = [\n { title: '保險公司', key: 'insuCompany' },\n { title: '險種', key: 'insuType' },\n { title: '標題', key: 'title' },\n { title: '最近回應時間', key: 'replyTime' },\n];\n\nexport const MeberDropdownItems = [\n { name: 'userIndex', text: '會員首頁' },\n { name: 'userOrders', text: '我的保單' },\n { name: 'userProfile', text: '資料修改' },\n { name: 'userPass', text: '密碼變更' },\n { name: 'UserHelp', text: 'Q&A' }\n // { name: 'userAdvi', text: '諮詢紀錄' },\n];\n\nexport const LogoutDropdownItems = [\n { name: null, text: '登出' }\n];","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignInMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignInMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./SignInMenu.vue?vue&type=template&id=f40b3db2&\"\nimport script from \"./SignInMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./SignInMenu.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","\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=447bc862&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Footer',[_c('p',[_vm._v(\"copyright © 2018 磐石保險經紀人股份有限公司\")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=51fddb01&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.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","\n\n\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=72b4ad51&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.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","import Vue from 'vue';\nimport Vuex from 'vuex';\nimport Meta from 'vue-meta';\n//import VueGtm from 'vue-analytics';\nimport { locale, Switch } from 'iview';\nimport lang from 'iview/dist/locale/zh-TW';\nimport cloneDeep from 'lodash.clonedeep';\nimport App from './App';\nimport store from './store/index';\nimport router from './router';\nimport 'iview/dist/styles/iview.css';\nimport './scss/main.scss';\n\nlocale(lang);\n\nVue.config.productionTip = false;\nVue.prototype.$cloneDeep = cloneDeep;\nVue.component('i-switch', Switch);\n\nVue.use(Vuex);\nVue.use(Meta);\n//Vue.use(VueGtm, {\n // container id\n// id: 'G-ZG5X6XGGQ2',\n// router,\n // enable track or not (optional)\n // enabled: process.env.NODE_ENV === 'production',\n // display console logs debugs or not (optional)\n // debug: false \n//})\n/* eslint-disable no-new */\nnew Vue({\n router,\n store,\n render: h => h(App),\n // mounted() {\n // document.dispatchEvent(new Event('render-event'));\n // }\n}).$mount('#app');\n","import {\n START_REQUEST,\n FINISH_REQUEST,\n SET_NOT_ABROAD,\n SET_ABROAD,\n SET_NOT_ACCIDENTABROAD,\n SET_ACCIDENTABROAD,\n SET_INDEX_BANNER,\n SET_CAR_OPTION_BRAND,\n SET_CAR_OPTION_CARSTYLE,\n SET_MOTOR_OPTION_BRAND,\n SET_MOTOR_OPTION_CARSTYLE,\n SET_CAR_OPTION_CARTYPE,\n SET_MOTOR_OPTION_CARTYPE,\n \n} from './constants';\n\nconst finishRequest = (state) => {\n state.loading = false;\n};\n\nconst startRequest = (state) => {\n state.loading = true;\n};\n\n/** Begin TravelArea **/\nconst setNotAbroad = (state, payload) => {\n const {abroad,result } = payload;\n state.travelArea.abroad = abroad;\n state.travelArea.notAbroadOption = result\n\n};\nconst setAbroad = (state, payload) => {\n const {abroad,result } = payload;\n state.travelArea.abroad = abroad;\n state.travelArea.abroadOption = result;\n};\n\nconst setNotAccidentAbroad = (state, payload) => {\n //const {abroad,result } = payload;\n const { result } = payload;\n //state.travelArea.abroad = abroad;\n state.accidentArea.notaccidentAbroadOption = result;\n //console.log(\"not-result:\"+JSON.stringify(result));\n};\n\nconst setAccidentAbroad = (state, payload) => {\n //const {abroad,result } = payload;\n const { result } = payload;\n //state.travelArea.abroad = abroad;\n state.accidentArea.accidentAbroadOption = result;\n //console.log(\"result:\"+JSON.stringify(result));\n};\n\nconst setIndexBanner = (state, payload) => {\n const { banners } = payload;\n //console.log(\"setIndexBanner_result:\"+JSON.stringify(result.banners));\n //console.log(\"setIndexBanner_result1:\"+JSON.stringify(banners));\n //console.log(\"setIndexBanner_result2:\"+JSON.stringify(payload));\n state.indexBanner = banners;\n \n}\nconst setCarOptionCarType = (state, payload) => {\n state.vehicleOption.carOption.carType = payload;\n}\nconst setMotorOptionCarType = (state, payload) => {\n state.vehicleOption.motorOption.carType = payload;\n}\nconst setCarOptionBrand = (state, payload) => {\n state.vehicleOption.carOption.brand = payload;\n}\nconst setCarOptionCarStyle = (state, payload) => {\n let { carStyle } = payload\n if(!carStyle) {\n carStyle = [];\n }\n state.vehicleOption.carOption.carStyle = carStyle;\n}\nconst setMotorOptionBrand = (state, payload) => {\n state.vehicleOption.motorOption.brand = payload;\n}\nconst setMotorOptionCarStyle = (state, payload) => {\n let { carStyle } = payload\n if(!carStyle) {\n carStyle = [];\n }\n state.vehicleOption.motorOption.carStyle = carStyle;\n}\n/** End TravelArea **/\n\n\nexport default {\n [START_REQUEST]: startRequest,\n [FINISH_REQUEST]: finishRequest,\n [SET_NOT_ABROAD]: setNotAbroad,\n [SET_ABROAD]: setAbroad,\n [SET_ACCIDENTABROAD]:setAccidentAbroad,\n [SET_NOT_ACCIDENTABROAD]:setNotAccidentAbroad,\n [SET_INDEX_BANNER]: setIndexBanner,\n [SET_CAR_OPTION_CARTYPE]:setCarOptionCarType,\n [SET_CAR_OPTION_BRAND]: setCarOptionBrand,\n [SET_CAR_OPTION_CARSTYLE]: setCarOptionCarStyle,\n [SET_MOTOR_OPTION_CARTYPE]:setMotorOptionCarType,\n [SET_MOTOR_OPTION_BRAND]: setMotorOptionBrand,\n [SET_MOTOR_OPTION_CARSTYLE]: setMotorOptionCarStyle,\n};","// npm\nimport axios from 'axios';\nimport Cookies from 'js-cookie';\nimport { Message } from 'iview';\n\n// constants\n\nimport {\n START_REQUEST,\n FINISH_REQUEST,\n} from \"./constants\";\nimport {\n GET_INDEX_BANNER_ACTION,\n SET_INDEX_BANNER,\n UPDATE_INDEX_BANNER_ACTION\n} from \"./constants\";\nimport {\n GET_TRAVELAREA_ACTION,\n GET_ACCIDENTAREA_ACTION,\n SET_NOT_ABROAD,\n SET_ABROAD,\n SET_NOT_ACCIDENTABROAD,\n SET_ACCIDENTABROAD,\n UPDATE_ACCIDENTAREA,\n UPDATE_TRAVELAREA,\n} from \"./constants\";\nimport {\n GET_BRAND_OPTION_ACTION,\n GET_CARSTYLE_OPTION_ACTION,\n GET_CARTYPE_OPTION_ACTION,\n SET_CAR_OPTION_CARTYPE,\n SET_CAR_OPTION_BRAND,\n SET_CAR_OPTION_CARSTYLE,\n SET_MOTOR_OPTION_CARTYPE,\n SET_MOTOR_OPTION_BRAND,\n SET_MOTOR_OPTION_CARSTYLE,\n // GET_CARPROFILE_ACTION\n} from \"./constants\";\n\nconst { NODE_ENV } = process.env;\nconst baseURL = NODE_ENV === 'development' \n ? 'https://localhost:5000/api/' \n : 'https://ec.rockgp.com:5001/api/' ;\nconst ajax = axios.create({ baseURL });\n\nMessage.config({\n duration: 15\n});\nconst getTravelArea = async ({ commit }, payload ) => {\n commit(START_REQUEST);\n const token = Cookies.get('accessToken');\n const data = {\n abroad: payload\n }\n \n const config = {\n method: 'post',\n url: 'TravelAcidentInsurance/GetCountries',\n data,\n headers: { Authorization: token }\n };\n \n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n \n if (!success) {\n commit(FINISH_REQUEST);\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n commit(FINISH_REQUEST);\n const data = {\n abroad: payload,\n result\n }\n if(payload) {\n commit(SET_ABROAD, data);\n }else{\n commit(SET_NOT_ABROAD, data);\n }\n }\n catch(err) {\n commit(FINISH_REQUEST);\n console.log(err);\n }\n}\nconst getAccidentArea = async ({ commit }, payload ) => {\n commit(START_REQUEST);\n const token = Cookies.get('accessToken');\n /*const data = {\n expectPremium: payload.expectPremium //202012/28 丟到後端GetJobType 參數\n }*/\n \n const config = {\n method: 'post',\n url: 'AccidentInsurance/GetJobType', //2020/12/09 Wen modify \n //data,\n headers: { Authorization: token }\n };\n //console.log(data.expectPremium);\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n \n if (!success) {\n commit(FINISH_REQUEST);\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n commit(FINISH_REQUEST);\n const data = {\n expectPremium: payload,\n result\n } \n //console.log(\"result:\"+JSON.stringify(result));\n if(success) {\n //console.log(\"action-result:\"+JSON.stringify(data));\n commit(SET_ACCIDENTABROAD, data);\n }else{\n // console.log(\"action-not-result:\"+JSON.stringify(data));\n commit(SET_NOT_ACCIDENTABROAD, data);\n }\n }\n catch(err) {\n commit(FINISH_REQUEST);\n console.log(err);\n }\n}\nconst getIndexBanner = async ({ commit }) => {\n commit(START_REQUEST);\n const config = {\n method: 'get',\n url: 'banners/Home',\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n \n if (!success) {\n commit(FINISH_REQUEST);\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n //console.log(\"Banner\"+JSON.stringify(result));\n commit(FINISH_REQUEST);\n commit(SET_INDEX_BANNER,result);\n }\n catch(err) {\n commit(FINISH_REQUEST);\n console.log(err);\n }\n}\nconst getCarTypeOption = async ( { commit }, { vehicleKind, insuId }) => {\n commit(START_REQUEST);\n//console.log(\"insuInfo_DRaction-insuId\"+insuId);\n \n const token = Cookies.get('accessToken');\n const data = {\n vehicleKind,\n insuId\n }\n const config = {\n method: 'post',\n url: 'VehicleInsurance/GetVehicleTypes',\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n //console.log(\"config_DRaction-insuId\"+insuId);\n const { success, message, result } = res.data;\n const { carType } = result;\n if (!success) {\n commit(FINISH_REQUEST);\n let errorData = [];\n switch (vehicleKind) {\n case 'C':\n commit(SET_CAR_OPTION_CARTYPE, errorData);\n break;\n case 'M':\n commit(SET_MOTOR_OPTION_CARTYPE, errorData);\n break;\n default:\n break;\n }\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n commit(FINISH_REQUEST);\n switch (vehicleKind) {\n case 'C':\n commit(SET_CAR_OPTION_CARTYPE, carType);\n break;\n case 'M':\n commit(SET_MOTOR_OPTION_CARTYPE, carType);\n break;\n default:\n break;\n }\n }\n catch(err) {\n commit(FINISH_REQUEST);\n console.log(err);\n }\n};\nconst getBrandOption = async ({ commit }, { vehicleKind, insuId, carType} ) => {\n commit(START_REQUEST);\n//console.log(\"getBrand-insuId2:\"+insuId);\n const token = Cookies.get('accessToken');\n const data = {\n vehicleKind,\n insuId,\n carType\n }\n const config = {\n method: 'post',\n url: 'VehicleInsurance/GetVehicleBrands',\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n const { brand } = result;\n if (!success) {\n commit(FINISH_REQUEST);\n let errorData = [];\n switch (vehicleKind) {\n case 'C':\n commit(SET_CAR_OPTION_BRAND, errorData);\n break;\n case 'M':\n commit(SET_MOTOR_OPTION_BRAND, errorData);\n break;\n default:\n break;\n }\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n commit(FINISH_REQUEST);\n switch (vehicleKind) {\n case 'C':\n commit(SET_CAR_OPTION_BRAND, brand);\n break;\n case 'M':\n commit(SET_MOTOR_OPTION_BRAND, brand);\n break;\n default:\n break;\n }\n }\n catch(err) {\n commit(FINISH_REQUEST);\n console.log(err);\n }\n}\nconst getCarStyleOption = async ({ commit }, { vehicleKind,insuId, carType,brand, cc,exFactoryDate} ) => {\n commit(START_REQUEST);\n //console.log(\"getCarStyle-insuId3:\"+insuId);\n //console.log(\"exFactoryDate:\"+exFactoryDate);\n const token = Cookies.get('accessToken');\n const data = {\n vehicleKind, \n insuId,\n carType,\n brand,\n cc,\n exFactoryDate\n }\n \n const config = {\n method: 'post',\n url: 'VehicleInsurance/GetVehicles',\n data,\n headers: { Authorization: token }\n };\n try {\n const res = await ajax(config);\n const { success, message, result } = res.data;\n if (!success) {\n commit(FINISH_REQUEST);\n let errorData = {\n carStyle: []\n };\n switch (vehicleKind) {\n case 'C':\n commit(SET_CAR_OPTION_CARSTYLE, errorData);\n break;\n case 'M':\n commit(SET_MOTOR_OPTION_CARSTYLE, errorData);\n break;\n default:\n break;\n }\n Message.warning({\n content: `${message}`,\n closable: true\n });\n return success;\n }\n commit(FINISH_REQUEST);\n switch (vehicleKind) {\n case 'C':\n commit(SET_CAR_OPTION_CARSTYLE, result);\n break;\n case 'M':\n commit(SET_MOTOR_OPTION_CARSTYLE, result);\n break;\n default:\n break;\n }\n }\n catch(err) {\n commit(FINISH_REQUEST);\n console.log(err);\n }\n}\n\nexport default {\n [GET_TRAVELAREA_ACTION]: getTravelArea,\n [GET_ACCIDENTAREA_ACTION]: getAccidentArea,\n [GET_INDEX_BANNER_ACTION]: getIndexBanner,\n [GET_CARTYPE_OPTION_ACTION]: getCarTypeOption,\n [GET_BRAND_OPTION_ACTION]: getBrandOption,\n [GET_CARSTYLE_OPTION_ACTION]: getCarStyleOption,\n // [GET_CARPROFILE_ACTION]: getCarProfile,\n}","import mutations from './mutations';\nimport actions from './actions';\nimport getters from './getters';\n\nconst state = {\n travelArea: {\n notAbroadOption: {},\n abroadOption: {}\n },\n accidentArea:\n {\n notaccidentAbroadOption:{},\n accidentAbroadOption:{}\n },\n indexBanner: [],\n vehicleOption: {\n carOption: {\n carType: [],\n brand: [],\n carStyle: []\n },\n motorOption: {\n carType: [],\n brand: [],\n carStyle: []\n }\n }\n}\n\nconst dynamicResource = {\n state,\n mutations,\n actions,\n getters\n}\n\nexport default dynamicResource;","import differenceInYears from 'date-fns/difference_in_years'; \n\nfunction getFullName({ firstName, lastName }) {\n return `${firstName}${lastName}`;\n}\n\nfunction getFormatDate({ year, month, day }) {\n return `${year}-${month}-${day}`;\n}\n\nfunction getFormatAddress({ city, area, road }) {\n return `${city}${area}${road}`;\n}\n\nfunction getGender(identityNo) {\n const [, genderChar] = identityNo;\n const genderNum = parseInt(genderChar, 10);\n const genderObj = {\n value: genderNum > 1 ? 'F' : 'M',\n text: genderNum > 1 ? '女' : '男'\n };\n return genderObj;\n}\n\nfunction getAge(dateOfBirth) {\n const formatBirth = Object.keys(dateOfBirth).reduce((acc, key) => {\n const num = parseInt(dateOfBirth[key], 10);\n const val = key === 'month' ? num - 1 : num;\n return { ...acc, [key]: val };\n }, {});\n const { year, month, day } = formatBirth;\n return differenceInYears(new Date(), new Date(year, month, day));\n}\n\nconst userInfo = ({ isLogin, profile,nowActivity }, getters, rootState) => {\n//const userInfo = ({ isLogin, profile }, getters, rootState) => {\n const isCheckouting = rootState.checkout.insuInfos.length !== 0;\n if (!isLogin) return { isCheckouting };\n const { name, dateOfBirth, identityNo, address , refagent} = profile;\n return { \n age: getAge(dateOfBirth),\n fullName: getFullName(name),\n gender: getGender(identityNo),\n dateOfBirth: getFormatDate(dateOfBirth),\n address: getFormatAddress(address),\n refagent: refagent,\n isCheckouting,\n nowActivity\n };\n};\n\nfunction getCountOfOrderType(orders) {\n const obj = { TRA: 0, AUT: 0, MOT: 0, VCN:0, PET: 0 }; //20210510 會員首頁 各險種orders預設 //20210830 Wen modify TRA: 0, AUT: 0, MOT: 0, PET: 0, ACD: 0 , VCN:0 \n return orders.reduce((acc, order) => {\n if (!order) return acc;\n acc[order.orderType] += 1;\n return acc;\n }, obj);\n}\n\nconst orderInfo = ({ orders, advisorys }) => {\n if (!orders || !advisorys) return null;\n return {\n countOfOrderType: getCountOfOrderType(orders)\n };\n};\n\nexport default {\n userInfo,\n orderInfo\n};","import {\n LOGIN_SUCCESS,\n LOGOUT_SUCCESS,\n USER_REQUEST_MUTATION,\n UPDATE_OTP_COUNT_MUTATION,\n UPDATE_USER_ORDERS_MUTATION,\n UPDATE_USER_ADVISORY_MUTATION,\n UPDATE_PROFILE_MUTATION,\n RESET_ORDERS_MUTATION,\n UPDATE_ACTIVITY_RESERVECARINSU_MUTATION, \n UPDATE_ACTIVITY_RESERVEPETINSU_MUTATION\n //2022/01/13 Wen Add\n} from './constants';\n\nconst userRequestMutation = (state, bool) => {\n state.loading = bool;\n};\n\n// after signup success & auto-login will invoke loginSuccess \nconst loginSuccess = (state, payload) => {\n const { hasErrTransaction, ip } = payload;\n state.isLogin = true;\n state.ip = ip;\n state.hasErrTransaction = hasErrTransaction;\n};\n\nconst logoutSuccess = (state) => {\n state.isLogin = false;\n state.hasErrTransaction = false;\n state.orders = null;\n state.advisorys = null;\n state.ip = null;\n};\n\nconst updateProfile = (state, profile) => {\n state.profile = profile;\n};\n\nconst updateOtpcount = (state, count) => {\n state.otp.restOfCount = count;\n};\n\nconst updateUserOrders = (state, orders) => {\n state.orders = [...orders];\n};\n\nconst updateAdvisorys = (state, advisorys) => {\n state.advisorys = advisorys;\n};\n\nconst resetUserOrders = (state) => {\n state.orders = null;\n state.advisorys = null;\n};\n\n//updateActivityStatus\nconst updateActivityReserveCarInsu = ( state, activityData ) => {\n if(!activityData) {\n state.nowActivity.name = null;\n }else {\n const { name } = activityData;\n state.nowActivity.name = name;\n }\n}\n\nconst updateActivityReservePetInsu = ( state, activityData ) => {\n //console.log(JSON.stringify( activityData));\n if(!activityData) {\n state.nowActivity.name = null;\n }else {\n const { name } = activityData;\n state.nowActivity.name = name;\n }\n}\nexport default {\n [USER_REQUEST_MUTATION]: userRequestMutation,\n [LOGIN_SUCCESS]: loginSuccess,\n [LOGOUT_SUCCESS]: logoutSuccess,\n [UPDATE_PROFILE_MUTATION]: updateProfile,\n [UPDATE_OTP_COUNT_MUTATION]: updateOtpcount,\n [UPDATE_USER_ORDERS_MUTATION]: updateUserOrders,\n [UPDATE_USER_ADVISORY_MUTATION]: updateAdvisorys,\n [RESET_ORDERS_MUTATION]: resetUserOrders,\n [UPDATE_ACTIVITY_RESERVECARINSU_MUTATION]: updateActivityReserveCarInsu,\n [UPDATE_ACTIVITY_RESERVEPETINSU_MUTATION]:updateActivityReservePetInsu //2022/01/13 Wen Add\n};","// npm\nimport Cookies from 'js-cookie';\nimport { Notice, Message } from 'iview';\n// router\nimport router from '@/router';\n// axios\nimport axios, {\n generateAuthHeaders,\n generateAuthPostConf,\n actionEnhancer,\n log,\n getIp\n} from '@/utils/axios';\n\n// constants\nimport {\n USER_REQUEST_MUTATION,\n LOGIN_SUCCESS,\n LOGOUT_SUCCESS,\n LOGIN_REQUEST_ACTION,\n LOGOUT_REQUEST_ACTION,\n AUTO_LOGIN_ACTION,\n UPDATE_PASSWORD_ACTION,\n UPDATE_PROFILE_ACTION,\n UPDATE_PROFILE_MUTATION,\n SIGNUP_VALIDATE_ACTION,\n SIGNUP_REQUEST_ACTION,\n GET_OTP_ACTION,\n UPDATE_OTP_COUNT_MUTATION,\n VERIFY_OTP_ACTION,\n FORGOT_PASSWORD_ACTION,\n FETCH_USER_ORDERS_ACTION,\n FETCH_ORDER_DETAIL_ACTION,\n SUBMIT_ADVISORY_ACTION,\n UPDATE_USER_ORDERS_MUTATION,\n UPDATE_USER_ADVISORY_MUTATION,\n UPDATE_ACTIVITY_RESERVECARINSU_MUTATION,\n UPDATE_ACTIVITY_RESERVEPETINSU_MUTATION, //2022/01/13 Wen Add\n} from './constants';\n\nNotice.config({\n duration: 6\n});\n\nMessage.config({\n duration: 15\n});\n\nconst catchErrors = actionEnhancer(USER_REQUEST_MUTATION);\n\nconst login = catchErrors(async ({ commit, getters }, payload) => {\n const routeName = router.currentRoute.name;\n const ip = await getIp();\n const res = await axios.post('users/login', { ...payload, ip });\n const { success, message } = res.data;\n if (!success) {\n Message.error({ content: `${message}`, closable: true });\n return;\n }\n const {\n accessToken,\n shouldRemember,\n hasErrTransaction,\n ...profile\n } = res.data.result.profile;\n // update store\n commit(UPDATE_PROFILE_MUTATION, profile);\n commit(LOGIN_SUCCESS, { hasErrTransaction, ip });\n // set cookies\n const expires = shouldRemember ? 30 : 1;\n Cookies.set('accessToken', accessToken, { expires });\n // judge has order here\n const { isCheckouting, nowActivity } = getters.userInfo;\n // const { isCheckouting } = getters.userInfo;\n if (isCheckouting) return router.push({ name: 'checkoutInfo' });\n if (nowActivity.name) return router.push({ name: nowActivity.name });\n if (routeName.includes('signup')) return router.push({ name: 'signupSucc' });\n // redirect to index\n router.push('/');\n});\n\nconst logout = catchErrors(async ({ commit }) => {\n const headers = generateAuthHeaders();\n const { currentRoute } = router;\n const res = await axios.get('users/logout', { headers });\n const { success, message } = res.data;\n if (!success) throw new Error(message);\n Cookies.remove('accessToken');\n commit(UPDATE_ACTIVITY_RESERVECARINSU_MUTATION); \n commit(UPDATE_ACTIVITY_RESERVEPETINSU_MUTATION); //2022/01/13 Wen Add\n commit(LOGOUT_SUCCESS);\n commit(UPDATE_PROFILE_MUTATION, {});\n Notice.success({ title: '登出成功', desc: message });\n if (currentRoute.meta.requiresAuth) return router.push('/');\n});\n\n// auto login\nconst autoLogin = async ({ commit }) => {\n commit(USER_REQUEST_MUTATION, true);\n try {\n const ip = await getIp();\n // const headers = generateAuthHeaders();\n // const res = await axios.get('users/info', { headers });\n const config = generateAuthPostConf('users/info', { ip });\n const res = await axios(config);\n const { success, result } = res.data;\n if (!success) throw new Error();\n const { hasErrTransaction, ...profile } = result.profile;\n commit(UPDATE_PROFILE_MUTATION, profile);\n commit(LOGIN_SUCCESS, { hasErrTransaction, ip });\n commit(USER_REQUEST_MUTATION, false);\n return success;\n } catch (err) {\n Cookies.remove('accessToken');\n commit(USER_REQUEST_MUTATION, false);\n }\n};\n\n// update password\nconst updatePassword = catchErrors(async (context, payload) => {\n const url = 'users/updatepassword';\n const config = generateAuthPostConf(url, payload);\n const res = await axios(config);\n const { message, success } = res.data;\n if (!success) {\n Message.error({ content: `${message},請再次確認舊密碼`, closable: true });\n return;\n }\n Message.success({ content: `${message} 下次登入請以新密碼登入`, closable: true });\n return success;\n});\n\n// update profile\n// temprary code, need modify\nconst updateProfile = catchErrors(async ({ commit }, payload) => {\n const { handleReset, password, ...data } = payload;\n const url = 'users/update';\n const config = generateAuthPostConf(url, data);\n const res = await axios(config);\n const { success, result: { profile } } = res.data;\n\n if (!success) {\n Message.error({\n content: '親愛的會員您好,您輸入的資料有誤,麻煩您重新操作一次',\n closable: true\n });\n return;\n }\n\n commit(UPDATE_PROFILE_MUTATION, profile);\n Notice.success({ title: '親愛的會員您好', desc: '您的會員資料已成功更新' });\n return success;\n});\n\n// otp\nconst getOtp = catchErrors(async ({ commit, state, rootState }, { phoneNo, type = 'general' }) => {\n // (dev env setting test mode)\n const { NODE_ENV } = process.env;\n const testMode = NODE_ENV === 'development';\n const payload = testMode ? { testMode, phoneNo, type } : { phoneNo, type };\n // get otp request\n const res = await axios.post('util/GetOtp', payload);\n const { success, message, result: { otp } } = res.data;\n if (testMode) { console.log(otp.authCode); }\n // get otp fail\n if (!success) {\n commit(UPDATE_OTP_COUNT_MUTATION, 0);\n Message.warning({ content: `${message}`, closable: true });\n return;\n }\n if (type === 'checkout') {\n log({\n basketId: rootState.checkout.quotes.basketNum,\n webUserIp: state.ip,\n webControlCodeId: 'GOP',\n webProgramCodeId: 'CKV'\n });\n }\n commit(UPDATE_OTP_COUNT_MUTATION, otp.restOfCount);\n return success;\n});\n\n// verifyOtp payload: { authCode, phoneNo, type }\nconst verifyOtp = catchErrors(async ({ commit, state, rootState }, payload) => {\n const res = await axios.post('util/VerifyOtp', payload);\n const { success, message } = res.data;\n const { restOfCount } = state.otp;\n const content = restOfCount\n ? `${message} 麻煩您重新試一次。 若忘記驗證碼,還有 ${restOfCount} 次重新發送驗證碼機會`\n : `${message} 麻煩您重新試一次。 您今日重新發送驗證碼此數已達上限。`;\n if (!success) {\n Message.error({ content, closable: true });\n return;\n }\n if (payload.type === 'checkout') {\n log({\n basketId: rootState.checkout.quotes.basketNum,\n webUserIp: state.ip,\n webControlCodeId: 'VOP',\n webProgramCodeId: 'CKV'\n });\n }\n commit(UPDATE_OTP_COUNT_MUTATION, null);\n return success;\n});\n\n// signup validate\nconst signupValidate = catchErrors(async ({ dispatch }, payload) => {\n const { identityNo, phoneNo } = payload;\n // wait backend authentication first\n const authRes = await axios.post('users/validIdentity', { identityNo });\n const { success: authSucc, message: authMessage } = authRes.data;\n // authentication fail return notice error\n if (!authSucc) {\n Message.error({\n content: `${authMessage}`,\n closable: true\n });\n return;\n }\n const getOtpSucc = await dispatch(GET_OTP_ACTION, { phoneNo });\n // get otp result\n if (!getOtpSucc) return;\n router.push({ name: 'signupVerify', params: { payload } });\n});\n\n// signup user\nconst signup = catchErrors(async ({ dispatch }, payload) => {\n const type = 'general';\n const { authCode, ...profile } = payload;\n const { phoneNo } = profile;\n const verifySucc = await dispatch(VERIFY_OTP_ACTION, { authCode, phoneNo, type });\n if (!verifySucc) return;\n const res = await axios.post('users/register', { ...payload });\n const { success, message } = res.data;\n if (!success) { throw new Error(message); }\n const { identityNo, password } = profile;\n dispatch(LOGIN_REQUEST_ACTION, { identityNo, password, shouldRemember: false });\n});\n\n// forgot password\nconst forgotPassword = catchErrors(async (context, payload) => {\n const res = await axios.post('users/forgetPassword', payload);\n const { success, message } = res.data;\n if (!success) return message;\n return Notice.success({ title: '親愛的用戶您好', desc: message });\n});\n\n// fetch user orders\nconst fetchUserOrders = catchErrors(async ({ commit }) => {\n const url = 'orders/recentOrders';\n const config = generateAuthPostConf(url);\n const res = await axios(config);\n const { success, message, result: { orders, advisorys } } = res.data;\n if (!success) throw new Error(message);\n commit(UPDATE_USER_ORDERS_MUTATION, orders);\n commit(UPDATE_USER_ADVISORY_MUTATION, advisorys);\n});\n\nconst fetchOrderDetail = catchErrors(async ({ getters, state }, order) => {\n const { orderId, ...orderDetail } = order;\n // const orderDetail = order;\n const { fullName, dateOfBirth, address } = getters.userInfo;\n const { profile: { identityNo, mail, phoneNo } } = state;\n const userProfile = { fullName, dateOfBirth, identityNo, phoneNo, mail, address };\n const url = 'orders/getOrderDetail';\n const config = generateAuthPostConf(url, { orderId });\n const res = await axios(config);\n const { result, success, message } = res.data;\n if (!success) throw new Error(message);\n return { ...result, userProfile, orderDetail };\n});\n\nconst submitAdvisory = catchErrors(async ({ commit }, payload) => {\n //console.log(payload);\n // payload: { orderId, reviewContent }\n const url = 'Orders/Inquiry';\n const config = generateAuthPostConf(url, { ...payload, quesType: 'CPQ' });\n const res = await axios(config);\n const { success, message, result } = res.data;\n if (!success) throw new Error(message);\n const { advisory } = result;\n commit(UPDATE_USER_ADVISORY_MUTATION, advisory);\n return success;\n});\n\nexport default {\n [LOGIN_REQUEST_ACTION]: login,\n [LOGOUT_REQUEST_ACTION]: logout,\n [AUTO_LOGIN_ACTION]: autoLogin,\n [UPDATE_PASSWORD_ACTION]: updatePassword,\n [UPDATE_PROFILE_ACTION]: updateProfile,\n [SIGNUP_VALIDATE_ACTION]: signupValidate,\n [SIGNUP_REQUEST_ACTION]: signup,\n [GET_OTP_ACTION]: getOtp,\n [VERIFY_OTP_ACTION]: verifyOtp,\n [FORGOT_PASSWORD_ACTION]: forgotPassword,\n [FETCH_USER_ORDERS_ACTION]: fetchUserOrders,\n [FETCH_ORDER_DETAIL_ACTION]: fetchOrderDetail,\n [SUBMIT_ADVISORY_ACTION]: submitAdvisory\n};\n","import getters from './getters';\nimport mutations from './mutations';\nimport actions from './actions';\n\nconst state = {\n isLogin: false,\n loading: false,\n hasErrTransaction: false,\n profile: {},\n otp: { restOfCount: null },\n orders: null,\n advisorys: null,\n ip: null,\n nowActivity: {\n name: null,\n }\n};\n\nconst user = {\n state,\n getters,\n mutations,\n actions\n};\n\nexport default user;\n\n","import {\n travelModel,\n carModel,\n motorModel,\n accidentModel,\n petModel,\n vaccineModel, \n} from '@/utils/asyncValidator/queryForms';\n//20210530 Wen Modify\nconst initialQueryModel = (state, getters, rootState) => {\n const { isLogin, profile: { dateOfBirth } } = rootState.user;\n const { gender } = getters.userInfo;\n return {\n travel: travelModel,\n car: isLogin ? { ...carModel, dateOfBirth, gender: gender.value } : carModel,\n motor: isLogin ? { ...motorModel, dateOfBirth } : motorModel ,\n accident: accidentModel,\n pet: petModel,\n vaccine: vaccineModel,\n };\n};\n\nexport default {\n initialQueryModel\n};","import {\n INSU_REQUEST_MUTATION,\n INSU_MODAL_MUTATION,\n SELECT_INSU_MUTATION,\n RESET_SELECTED_MUTATION,\n SET_QUERY_MUTATION,\n RESET_QUERY_MUTATION,\n SET_PRODUCTS_MUTATION,\n RESET_PRODUCTS_MUTATION,\n} from './constants';\n\n// request\nconst insuReqMutation = (state, bool) => {\n state.loading = bool;\n};\n\n// set query\nconst setQuery = (state, { key, tips, ...model }) => {\n state.queryInfo = { model, tips };\n};\n\nconst resetQuery = (state) => {\n state.queryInfo = { model: null, tips: null };\n};\n\n// modal\nconst modal = (state, payload) => {\n state.modal = payload;\n};\n\n// selected Id\nconst selectInsu = (state, payload) => {\n state.selectedInsus = [...payload];\n};\n\nconst resetSelected = (state) => {\n state.selectedInsus = [];\n};\n\n// set product\nconst setProducts = (state, payload) => {\n const stateKeys = Object.keys(payload);\n const sortedProd = stateKeys.reduce((acc, currKey) => {\n const products = payload[currKey].map(prod => ({\n ...prod,\n prodType: currKey\n }));\n return {\n ...acc,\n [currKey]: products.sort((a, b) => a.premiums - b.premiums)\n };\n }, {});\n state.products = sortedProd;\n};\n\nconst resetProducts = (state) => {\n state.products = null;\n};\n\nexport default {\n [INSU_REQUEST_MUTATION]: insuReqMutation,\n [SET_QUERY_MUTATION]: setQuery,\n [RESET_QUERY_MUTATION]: resetQuery,\n [SET_PRODUCTS_MUTATION]: setProducts,\n [RESET_PRODUCTS_MUTATION]: resetProducts,\n [INSU_MODAL_MUTATION]: modal,\n [SELECT_INSU_MUTATION]: selectInsu,\n [RESET_SELECTED_MUTATION]: resetSelected,\n};","/* eslint-disable */\nexport default function animateScroll(targetHeight) {\n targetHeight = document.body.scrollHeight - window.innerHeight > targetHeight + scrollY ? \n targetHeight : document.body.scrollHeight - window.innerHeight;\n var initialPosition = window.scrollY;\n var SCROLL_DURATION = 30;\n var step_x = Math.PI / SCROLL_DURATION;\n var step_count = 0;\n requestAnimationFrame(step);\n function step() {\n if (step_count < SCROLL_DURATION) {\n requestAnimationFrame(step);\n step_count++;\n window.scrollTo(0, initialPosition + targetHeight * 0.25 * Math.pow((1 - Math.cos(step_x * step_count)), 2));\n }\n }\n};","// npm\nimport axios, { actionEnhancer } from '@/utils/axios';\n// router\nimport router from '@/router';\n// insurance constants\nimport {\n INSU_REQUEST_MUTATION,\n FETCH_INSU_ACTION,\n FETCH_DETAILS_ACTION,\n SET_QUERY_MUTATION,\n SET_PRODUCTS_MUTATION,\n RESET_PRODUCTS_MUTATION,\n INSU_MODAL_MUTATION,\n HANDLE_PAGE_SCROLL,\n HANDLE_PURCHASE_ACTION\n} from './constants';\n// checkout constanst\nimport { \n SET_INSUINFOS,\n SET_TRAVELFILTER_FORM,\n SET_ACCIDENTFILTER_FORM,\n SET_PETFILTER_FORM,\n SET_VACCINEFILTER_FORM,\n SET_CARPROFILE,\n SET_MOTORPROFILE,\n SET_CHECKOUT_PRODPOLICIES\n} from '../checkout/constants';\n// utils\nimport animateScroll from '@/utils/animateScroll';\n\nconst catchErrors = actionEnhancer(INSU_REQUEST_MUTATION);\n\nconst fetchInsurances = catchErrors(\n async ({ commit }, { type, tips, formatCarNo = null, ...queryModel }) => {\n const { currentRoute: { name } } = router;\n const insus = { \n vaccine: { //20210530 Wen Add\n stateKey: 'vaccineQuery',\n path: 'VaccineInsurance/Search',\n }, \n car: {\n stateKey: 'carQuery',\n path: 'VehicleInsurance/Search', \n },\n motor: {\n stateKey: 'motorQuery',\n path: 'MotorcycleInsurance/Search',\n },\n travel: { //20210530 Wen Modify sort\n stateKey: 'travelQuery',\n path: 'TravelAcidentInsurance/Search',\n }, \n pet: {//20210530 Wen Modify\n stateKey: 'petQuery',\n path: 'PetInsurance/Search',\n },\n accident: {//20210830 Wen Modify\n stateKey: 'accidentQuery',\n path: 'AccidentInsurance/Search',\n }, \n };\n const currInsu = insus[type];\n const key = currInsu.stateKey;\n commit(RESET_PRODUCTS_MUTATION);\n const payload = type === 'car' || 'motor'\n ? { ...queryModel, carNo: formatCarNo }\n : { ...queryModel };\n \n const res = await axios.post(currInsu.path, payload); \n const { success, result } = res.data;\n //console.log(\"res.data++\"+JSON.stringify(res.data));\n if (!success) throw new Error('很抱歉,系統繁忙中,請稍後再試,謝謝您');\n commit(SET_QUERY_MUTATION, { ...queryModel, key, tips });\n commit(SET_PRODUCTS_MUTATION, result);\n \n if (name === 'index') return router.push({ name: 'insurance', params: { type } });\n }\n);\n\nconst fetchModalDetail = catchErrors(async ({ commit }, selectedArr) => {\n const [firstInsu, secInsu = null] = selectedArr;\n const firstRes = await axios.post('insurance/getInsuDetails', firstInsu);\n const firstDetail = { ...firstRes.data.result.insuDetails, selectedArr };\n if (!secInsu) {\n commit(INSU_MODAL_MUTATION, firstDetail);\n return;\n }\n const secRes = await axios.post('insurance/getInsuDetails', secInsu);\n const secDetail = secRes.data.result.insuDetails;\n const combineDetails = [firstDetail, secDetail].reduce((acc, obj, index) => {\n if (index === 0) return { ...obj };\n return {\n ...acc,\n lists: [...acc.lists, ...obj.lists],\n insuIds: [acc.insuId, obj.insuId],\n insuName: `${acc.insuName} ${obj.insuName}`,\n insuNames: [acc.insuName, obj.insuName],\n premiums: acc.premiums + obj.premiums,\n prodPolicies: [...acc.prodPolicies, ...obj.prodPolicies]\n };\n }, {});\n commit(INSU_MODAL_MUTATION, combineDetails);\n});\n\nconst handleProductScroll = (context, element) => {\n const el = document.querySelector(element);\n if(!el) return //2021/11/19 Wen Add;\n const position = el.getBoundingClientRect();\n animateScroll(position.top - 100);\n};\n\nconst handlePurchase = async ({ commit }, { type, prodDetail, queryModel }) => {\n //console.log(\"insurance_type, prodDetail, queryModel:\"+type+\" \"+prodDetail+\" \"+ queryModel); \n commit(INSU_MODAL_MUTATION, null);\n const { \n prodPolicies,\n selectedArr\n } = prodDetail;\n\n const infos = selectedArr.map(item => ({ \n insuName: item.insuName,\n isCompulsory: item.prodType === 'compulsory',\n insuCompany: item.insuCompany,\n insuId: item.insuId\n }));\n \n switch (type) {\n case ('car'):\n commit(SET_CARPROFILE, { source: 'filter', profile: queryModel });\n break;\n case ('motor'):\n commit(SET_MOTORPROFILE, { source: 'filter', profile: queryModel });\n break;\n case ('accident'):\n commit(SET_ACCIDENTFILTER_FORM, queryModel); //2020/12/9 Wen modify\n break;\n case ('pet'):\n //console.log(\"queryModel +\"+JSON.stringify( queryModel));\n commit(SET_PETFILTER_FORM, queryModel); //2021/4/9 Wen Add\n break;\n case ('vaccine'):\n commit(SET_VACCINEFILTER_FORM, queryModel); //2021/5/30 Wen Add\n break;\n default: \n commit(SET_TRAVELFILTER_FORM, queryModel);\n }\n\n commit(SET_CHECKOUT_PRODPOLICIES, prodPolicies);\n commit(SET_INSUINFOS, { insuType: type, infos });\n router.push({ name: 'checkoutInfo' });\n};\n\nexport default {\n [FETCH_INSU_ACTION]: fetchInsurances,\n [FETCH_DETAILS_ACTION]: fetchModalDetail,\n [HANDLE_PAGE_SCROLL]: handleProductScroll,\n [HANDLE_PURCHASE_ACTION]: handlePurchase\n};","import getters from './getters';\nimport mutations from './mutations';\nimport actions from './actions';\nimport { carModel, motorModel, travelModel,accidentModel,petModel,vaccineModel } from '@/utils/asyncValidator/queryForms';\n\nconst state = {\n queryInfo: {\n model: null,\n tips: null\n },\n selectedInsus: [],\n loading: false,\n products: null,\n modal: null,\n};\n\nexport default {\n state,\n getters,\n mutations,\n actions\n};","import { Message } from 'iview';\nMessage.config({\n duration: 15\n})\n// 填寫資料 旅平險 旅遊條件\nexport const model = {\n abroad: false,//abroad: true, 20201111 Wen modify 因應新冠肺炎 停止國外旅遊\n travelArea: [{ state: null ,country: null}],\n startTime: { date: '',time: ''},\n endTime: { date: '',time: ''},\n expectPremium: ''\n};\n\n//import format from 'date-fns/format';\nexport const accidentmodel = {\n //isbuy:false,\n //otherjob: false,\n startTime: { date: ''}, \n expectPremium: '' ,\n //jobcontent:[{label:'null',value:null}] ,//20210316\n accidentArea :{label:'0001001 內勤人員',value:'0001001 內勤人員 1'}//{value: ''}//{label: '',value: ''} //20210312 {label:null,value:null} //20210316[{label:null,value:null}]\n\n};\n\nexport const petmodel = {\n //typeOfPet:'',\n //dateOfBirthPet: {\n // year: '',\n // month: '',\n // day: '' \n // },\n //expectPremium: '',\n \n petName:'',\n petGender:'M',\n petNo:'',\n petBreed:'',\n petColor:'',\n petWeight:0,\n petDesc:'',\n petPhoto:'',\n filename:''\n};\n\nexport const vaccineModel = {\n vaccineInceptionDate :''\n}\n\nconst travelAreaValidator = async ( rule, value, callback ) => {\n let itemsIsEmpty = [];\n let countryValue = [];\n let errorMsg = [];\n await value.filter((val) => {\n const itemIsEmpty = Object.values(val).some(val => !val);\n itemsIsEmpty.push(itemIsEmpty);\n countryValue.push(val.country);\n });\n await itemsIsEmpty.filter((val) => {\n if(val === true) {\n errorMsg.push(\"旅遊地區不得為空值\");\n }\n })\n const noRepeatItems = await [...(new Set(countryValue))];\n if(countryValue.length !== noRepeatItems.length) {\n errorMsg.push(\"旅遊地區不得重覆\");\n };\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n} \nconst startTimeValidator = (rule, value, callback ) => {\n const { date, time } = value;\n //const diffter = differenceInHours(`${date} ${time}`, new Date());\n const datedealine = Date.now() + 3600000;\n //const datedealine = moment(new Date()).add(1, 'hours').format('YYYY-MM-DD hh:mm:ss');\n const diffter = new Date(`${date} ${time}`) - new Date(datedealine);\n let errorMsg = [];\n if(!date) {\n errorMsg.push(\"請選擇您旅遊的出發日期\");\n }\n if(!time) {\n errorMsg.push(\"請選擇您旅遊的出發時間\");\n }\n //console.log(datedealine);\n //console.log(new Date(`${date} ${time}`));\n if (diffter < 1) { //Wen Add 2019/11/28 控制無法選擇過去的時間點\n //console.log(`${date} ${time}`);\n //console.log(\"insuFilterForm-if\"+diffter);\n errorMsg.push(\"出發時間需大於目前時間1小時\");\n }//else{\n //console.log(`${date} ${time}`);\n //console.log(\"insuFilterForm-else\"+diffter);\n //}\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\nconst endTimeValidator = ( rule, value, callback ) => {\n const { date, time } = value;\n let errorMsg = [];\n if(!date) {\n errorMsg.push(\"請選擇您旅遊的結束日期\");\n }\n if(!time) {\n errorMsg.push(\"請選擇您旅遊的結束時間\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\nconst expectPremiumValidator = ( rule, value, callback ) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請選擇您的期望保費\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\nconst accidentRule = {\n type: 'object', \n required: true,\n fields: {\n label: [\n { type: 'string', required: true, message: '12345職業類別' }//, trigger: 'validate'\n ],\n value: [\n { type: 'string', required: true, message: '6666職業類別' }\n ]\n },\n trigger: 'validate'\n};\n\n\nconst accidentcontentValidator = async ( rule, value, callback ) => {\n let itemsIsEmpty = [];\n let countryValue = [];\n let errorMsg = [];\n await value.filter((val) => {\n const itemIsEmpty = Object.values(val).some(val => !val);\n itemsIsEmpty.push(itemIsEmpty);\n countryValue.push(val.value);\n });\n await itemsIsEmpty.filter((val) => {\n if(val === true) {\n errorMsg.push(\"職業內容不得為空值----\");\n }\n })\n const noRepeatItems = await [...(new Set(countryValue))];\n if(countryValue.length !== noRepeatItems.length) {\n errorMsg.push(\"旅遊地區不得重覆\");\n };\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n} \n\nconst accidentAreaValidator = async ( rule, value, callback ) => {\n let itemsIsEmpty = [];\n let countryValue = [];\n let errorMsg = []; \n //const {label,value }= values;\n \n //console.log(\"accidentAreaValidator:\"+value);\n if(!value) {\n errorMsg.push(\"請選擇您的職業內容-------------\");\n}\n\n if(!value.value) {\n errorMsg.push(\"請選擇您的職業內容00000\");\n}\n if(value.value='') {\n errorMsg.push(\"請選擇您的職業內容\");\n}/*\nconsole.log(\"accidentAreaValidator:\"+value.value);*/\n/*\nif(!label) {\n errorMsg.push(\"請選擇您的職業內容00\");\n}\nif(value==='') {\n errorMsg.push(\"請選擇您的職業內容1\");\n}\nif(label=='') {\n errorMsg.push(\"請選擇您的職業內容2\");\n}\n\n await value.filter((val) => {\n const itemIsEmpty = Object.values(val).some(val => !val);\n itemsIsEmpty.push(itemIsEmpty);\n countryValue.push(val.jobtype);\n });\n await itemsIsEmpty.filter((val) => {\n if(val === true) {\n errorMsg.push(\"職業內容不得為空值3\");\n }\n })*/\n /*const noRepeatItems = await [...(new Set(countryValue))];\n if(countryValue.length !== noRepeatItems.length) {\n errorMsg.push(\"旅遊地區不得重覆\");\n };*/\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n console(\"1222222222\");\n callback();\n} \n\nconst isotherjobValidator = ( rule, value, callback ) => {\n let errorMsg = [];\n //console.log(\"isotherjobValidator-value:\"+value);\n if(value === true) {\n errorMsg.push(\"如有兼職,則無法使用網路投保。\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\n\nconst accidentJobLvValidator = ( rule, value, callback ) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請選擇您的職業等級\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\n\nconst accidentDateValidator = ( rule, value, callback ) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請選擇您傷害險的生效日期\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\n//petInceptionDateValidator\nconst petInceptionDateValidator = ( rule, value, callback ) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請選擇您寵物險的生效日期\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\n\nconst vaccineInceptionDateValidator = ( rule, value, callback ) => {\n let errorMsg = [];\n const date =value;\n const datedealine = new Date(Date.now()+432000000).toISOString().substring(0,10);//20220415 生效日期改為 T+5//new Date(Date.now()+86400000).toISOString().substring(0,10);//Date.now() + 86400000;\n //const diffter = differenceInCalendarDays(`${date}`, new Date()); \n const diffter = new Date(`${date}`) - new Date(datedealine); \n //console.log(\"diffter-++\"+datedealine);\n //console.log(\"diffter++\"+JSON.stringify(diffter));\n if (isNaN(diffter)|| value=='') { \n errorMsg.push(\"請選擇您疫苗險防疫險的生效日期!\"); \n } \n //console.log(diffter);\n if (diffter < 0) {\n //Wen Add 2020/05/30 控制無法選擇過去的時間點 \n errorMsg.push(\"目前保險生效時間是從零時起,保險生效日為T+5\");\n //errorMsg.push(\"保險生效日是從零時起,無法選擇過去的時間\");\n }\n /* if(!value) {\n errorMsg.push(\"請選擇您疫苗險防疫險的生效日期2\");\n }*/\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\nconst petNameValidator = (rule, value, callback) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請輸入寵物名字\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\n\nconst petGenderValidator = (rule, value, callback) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請輸入寵物的性別\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n}\n\n const petNoValidator = (rule, value, callback) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請輸入寵物的晶片號碼\");\n }\n if(value.length<10) { //||value.length!=15\n errorMsg.push(\"請輸入寵物晶片號碼長度為10~15碼\");\n }\n \n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n }\n\n const petBreedValidator=(rule, value, callback) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請輸入寵物的品種\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n }\n\n const petColorValidator=(rule, value, callback) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請輸入寵物的毛色\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n }\n\n const petWeightValidator = ( rule, value, callback ) => {\n let errorMsg = [];\n if(!value) {\n errorMsg.push(\"請輸入您的寵物體重\");\n } \n const isNumber = /^\\d*$/.test(value); \n if(!isNumber) {\n errorMsg.push(\"體重僅能輸入數字\");\n }\n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n }\n const petPhotoValidator = ( rule, value, callback ) => {\n let errorMsg = [];\n //console.log(value);\n //console.log(value.data);\n if(!value) {\n errorMsg.push(\"請上傳您寵物的照片\");\n }\n if (!value.filter('image'))\n { \n errorMsg.push(\"請確認上傳照片的格式!需為PNG或JPG\");\n }\n if (!value.filter('jpg')||!value.filter('png'))\n { \n errorMsg.push(\"請確認上傳照片的格式為PNG或JPG\");\n }\n \n if(errorMsg.length > 0) {\n errorMsg.forEach((value,index) => {\n Message.warning({\n render: h => {\n return h('div',[h('div', errorMsg[index])]);\n },\n closable: true\n });\n return callback(new Error(value));\n })\n }\n callback();\n }\n \nexport const rules = {\n travelArea: {\n type: 'array',\n required: true,\n max: 4,\n validator: travelAreaValidator,\n trigger: 'validate'\n },\n startTime: {\n type: 'object',\n required: true,\n validator: startTimeValidator,\n trigger: 'validate'\n },\n endTime: {\n type: 'object',\n required: true,\n validator: endTimeValidator,\n trigger: 'validate'\n },\n expectPremium: { \n type: 'number',\n required: true,\n validator: expectPremiumValidator,\n trigger: 'validate'\n },\n};\n\n\nexport const accidentrules = { \n accidentArea: {\n type: 'object',\n required: true,\n //max: 1,\n validator: accidentcontentValidator,//accidentRule,//accidentAreaValidator,//20210316\n trigger: 'validate'\n },\n //accidentArea:accidentRule,\n /*jobcontent: {\n type: 'array',\n required: true,\n max: 1,\n validator: accidentcontentValidator,\n trigger: 'validate'\n },*/\n accidentdate: {\n type: 'object',\n required: true,\n validator: accidentDateValidator,\n trigger: 'validate'\n },\n /*endTime: {\n type: 'object',\n required: true,\n validator: endTimeValidator,\n trigger: 'validate'\n },*/\n expectPremium: { \n type: 'number',\n required: true,\n validator: accidentJobLvValidator,\n trigger: 'validate'\n },\n otherjob:{\n validator: isotherjobValidator,\n trigger: 'change'\n }\n};\n\nexport const petrules = {\n/*\npetName:'',\n petGender:'',\n petNo:'',\n petBreed:'',\n petColor:'',\n petWeight:0\n*/ petInceptionDate:{\n type: 'object', //object\n required: true,\n validator: petInceptionDateValidator,\n trigger: 'validate'\n },\n petName: {\n type: 'string',\n required: true,\n validator: petNameValidator,\n trigger: 'validate'\n },\n petGender: {\n type: 'string',\n required: true,\n validator: petGenderValidator,\n trigger: 'validate'\n },\n petNo: {\n type: 'string',\n required: true,\n validator: petNoValidator,\n trigger: 'validate'\n },\n petBreed: {\n type: 'string',\n required: true,\n validator: petBreedValidator,\n trigger: 'validate'\n },\n petColor: {\n type: 'string',\n required: true,\n validator: petColorValidator,\n trigger: 'validate'\n },\n petWeight: { \n type: 'number',\n required: true,\n validator: petWeightValidator,\n trigger: 'validate'\n },\n /* filename:{\n type: 'string',\n required: true,\n validator: petPhotoValidator,\n trigger: 'validate'\n }*/\n};\n\nexport const vaccinerules = {\n vaccineInceptionDate:{\n type: 'object', //object\n required: true,\n validator: vaccineInceptionDateValidator,\n trigger: 'validate'\n },\n};\n\nconst timeRule = {\n type: 'object',\n fields: {\n date: [{ type: 'string', required: true, message: '請選擇您的出發日期' }],\n time: [{ type: 'string', required: true, message: '請輸入您的出發時間' }]\n },\n tirgger: 'validate'\n};\nconst expectPremiumRule = { \n required: true,\n trigger: 'blur',\n message: '請選擇您的期望保費'\n};","import { dateOfBirth, carNoBase ,petOfBirth} from './rules';\nimport { getDate } from 'date-fns';\nimport format from 'date-fns/format';\n\n// select options\nconst typeOfMotor = [\n { label: '輕型機車 (50 c.c以下)', value: 'LMB' },\n { label: '重型機車(51c.c ~ 250c.c)', value: 'RHM' },\n { label: '大型重型機車(251 c.c以上)', value: 'HHM' }\n];\n\nconst expectPremium = {\n travel: [\n { value: 100, label: '100萬' },\n { value: 200, label: '200萬' },\n { value: 300, label: '300萬' },\n { value: 400, label: '400萬' },\n { value: 500, label: '500萬' },\n { value: 600, label: '600萬' },\n { value: 700, label: '700萬' },\n { value: 800, label: '800萬' },\n { value: 900, label: '900萬' },\n { value: 1000, label: '1000萬' }\n ], \n car: [\n { value: '1', label: '5,000元以下' },\n { value: '2', label: '5,001元 - 7,000元' },\n { value: '3', label: '7,001元 - 10,000元' },\n { value: '4', label: '10,000元以上' },\n ],\n motor: [\n { value: '1', label: '2,000元以下' },\n { value: '2', label: '2,001元 - 3,000元' },\n { value: '3', label: '3,001元 - 4,000元' },\n { value: '4', label: '4,000元以上' },\n ],\n accident: [\n { value: '1', label: '職業類別1' },\n { value: '2', label: '職業類別2' },\n { value: '3', label: '職業類別3' } \n ],\n pet: [\n { value: '1', label: '2,000元以下' }, //{ value: '1', label: '2,000元以下' } //20210701 Wen Modify\n //{ value: '2', label: '2,001元 - 3,000元' },\n { value: '3', label: '3,001元 - 4,000元' },//{ value: '3', label: '3,001元 - 4,000元' }\n //{ value: '4', label: '4,000元以上' },\n ],\n vaccine: [{ value: '1', label: '500元以下' }],\n};\n\nexport const options = {\n expectPremium,\n typeOfMotor\n};\n\n// models\nconst isDevMode = process.env.NODE_ENV === 'development';\n\nconst vehicleBase = isDevMode\n ? {\n dateOfBirth: {\n year: '',\n month: '',\n day: ''\n },\n carNo: { block1: '6528', block2: 'QW' },\n expectPremium: '1',\n }\n : {\n dateOfBirth: {\n year: '',\n month: '',\n day: ''\n },\n carNo: { block1: '', block2: '' },\n expectPremium: '',\n };\n\nexport const travelModel = isDevMode\n ? {\n abroad: false,//abroad: true, 20201111 Wen modify 因應新冠肺炎 停止國外旅遊\n startTime: { date: '2019-11-21', time: '05:30' },\n endTime: { date: '2019-11-25', time: '05:30' },\n expectPremium: 500\n }\n : {\n abroad: false,//abroad: true, 20201111 Wen modify 因應新冠肺炎 停止國外旅遊\n startTime: { date: '', time: '' },\n endTime: { date: '', time: '' },\n expectPremium: '',\n };\n\nexport const carModel = {\n ...vehicleBase,\n gender: 'M',\n cdi: true\n};\n\nexport const accidentModel = isDevMode\n ? {\n isbuy: false,\n otherjob: false,\n //abroad: false,//abroad: true, 20201111 Wen modify 因應新冠肺炎 停止國外旅遊\n accidentdate: format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\"),//{ date: format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\") },\n // endTime: { date: '2019-11-25' },\n expectPremium: '',\n accidentArea:{label:'0001001 內勤人員',value:'0001001 內勤人員 1'}//{label: null,value: null}//''//[{ value:''}]//null //{label: '',value: ''} 20210315\n }\n : {\n isbuy: false,\n otherjob: false,\n //abroad: false,//abroad: true, 20201111 Wen modify 因應新冠肺炎 停止國外旅遊\n accidentdate:format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\"),// { date: format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\")},\n //endTime: { date: '' },\n expectPremium: '',\n accidentArea:{label:'0001001 內勤人員',value:'0001001 內勤人員 1'}//{label: null,value: null}//''//[{ value:''}]//{label: '',value: ''} // 20210315\n };\n\nexport const vaccineModel = isDevMode\n ? { //20210530 Wen Add format(new Date().setDate(new Date().getDate() + 1), \"YYYY-MM-DD\")\n vaccineInceptionDate: format(new Date(Date.now()+432000000).toISOString().substring(0,10), \"YYYY-MM-DD\"),//20220415 生效日期改回T+5//format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\"), //{ date: format(new Date(Date.now()+86400000).toDateString().substring(0,10), \"YYYY-MM-DD\")},\n expectPremium: '1',\n }\n : {\n //isbuy: false, \n //abroad: false,//abroad: true, 20201111 Wen modify 因應新冠肺炎 停止國外旅遊 format(new Date().setDate(new Date().getDate() + 1), \"YYYY-MM-DD\")\n vaccineInceptionDate: format(new Date(Date.now()+432000000).toISOString().substring(0,10), \"YYYY-MM-DD\"),//20220415 生效日期改回T+5 //format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\") , \n expectPremium: '1', \n };\nconst motorCarNo = isDevMode ? { block1: 'LAC', block2: '123' } : { block1: '', block2: '' };\nconst typeOfMotorOption = isDevMode ? 'RHM' : '';\n\nexport const motorModel = {\n ...vehicleBase,\n carNo: motorCarNo,\n typeOfMotor: typeOfMotorOption\n};\n\nexport const petModel = isDevMode\n ? { \n typeOfPet: 'DOG',//abroad: true, 20201111 Wen modify 因應新冠肺炎 停止國外旅遊\n dateOfBirthPet: { \n year: '',\n month: '',\n day: ''\n },\n // endTime: { date: '2019-11-25' },\n expectPremium: '',\n petGender:'M',\n petInceptionDate: format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\")// { date: format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\")}, //// 20210520 Wen Add format(new Date(), \"YYYY-MM-DD\")\n \n }\n : { \n typeOfPet: 'DOG',//abroad: true, 20201111 Wen modify 因應新冠肺炎 停止國外旅遊\n dateOfBirthPet: {\n year: '',\n month: '',\n day: '' \n },\n //endTime: { date: '' },\n expectPremium: '',\n petGender:'M',\n petInceptionDate: format(new Date(Date.now()+86400000).toISOString().substring(0,10), \"YYYY-MM-DD\") // 20210520 Wen Add format(new Date(), \"YYYY-MM-DD\")\n };\n\n// rules\nconst expectPremiumRule = { \n required: true,\n trigger: 'blur',\n message: '請選擇您的期望保費'\n};\n\nconst jobTypeRule = { \n required: true,\n trigger: 'blur',\n message: '請選擇您的職業類別'\n};\n\nconst timeRule = {\n type: 'object',\n fields: {\n date: [\n { type: 'string', required: true, message: '請選擇您的出發日期', trigger: 'validate' }\n ],\n time: [\n { type: 'string', required: true, message: '請輸入您的出發時間', trigger: 'validate' }\n ]\n },\n trigger: 'validate'\n};\n//20201211 Wen Add dateRule\nconst dateRule = {\n type: 'object', \n fields: {\n date: [\n { type: 'string', required: true, message: '請選擇您的保險起始日期' }//, trigger: 'validate'\n ]\n },\n trigger: 'validate'\n};\n\nconst vehicleRules = {\n dateOfBirth,\n carNo: carNoBase,\n expectPremium: expectPremiumRule,\n};\n\nexport const travelRules = {\n startTime: timeRule,\n expectPremium: { ...expectPremiumRule, type: 'number' },\n};\nexport const accidentRules = { \n startTime: dateRule,\n expectPremium: { ...jobTypeRule },\n};\n\nexport const petRules = { \n dateOfBirthPet: petOfBirth,\n expectPremium: { ...expectPremiumRule},\n};\n\nexport const vaccineRules = { \n startTime: dateRule, \n};\n\nexport const carRules = { ...vehicleRules };\n\nexport const motorRules = { \n ...vehicleRules,\n typeOfMotor: [{ required: true, message: '請選擇您的車種', trigger: 'blur' }]\n};","import axios from 'axios';\nimport Cookies from 'js-cookie';\n\nconst { NODE_ENV } = process.env;\n// global headers\nconst refid = Cookies.get('refid');\nif (refid) axios.defaults.headers.refid = refid;\n\nconst baseURL = NODE_ENV === 'development' \n ? 'https://localhost:5000/api/' \n : 'https://ec.rockgp.com:5001/api/';\n\nconst instance = axios.create({ baseURL });\n\nexport default instance;\n\nexport function generateAuthHeaders() {\n const token = Cookies.get('accessToken');\n return { Authorization: token };\n}\n\nexport function generateAuthPostConf(url, data = {}) {\n return {\n headers: generateAuthHeaders(),\n method: 'post',\n url,\n data\n };\n}\n\nexport const actionEnhancer = loadingMutation => fn => (context, payload) => {\n context.commit(loadingMutation, true);\n return fn(context, payload)\n .then((res) => {\n context.commit(loadingMutation, false);\n return res;\n })\n .catch((err) => {\n context.commit(loadingMutation, false);\n console.log(err);\n });\n};\n\nexport const log = (payload) => {\n const config = generateAuthPostConf('Users/SaveLog', payload);\n return instance(config);\n};\n\nexport const EventLog = (payload) => {\n const config = generateAuthPostConf('Users/EventLog', { ...payload, refId: refid });\n return instance(config);\n}\n\nexport const PetFoodInfo = (payload) => { \n const config = generateAuthPostConf('Users/PetFoodInfo', { ...payload, refId: refid });\n return instance(config);\n}\n\n// 重新封裝 ipify,因為 global headers 緣故\nexport const getIp = () => new Promise((res) => {\n const xhr = new XMLHttpRequest();\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4 && xhr.status === 200) {\n const { ip } = JSON.parse(xhr.responseText);\n res(ip);\n }\n if (xhr.readyState === 4 && xhr.status !== 200) res('');\n };\n xhr.open('GET', 'https://api.ipify.org/?format=json', true);\n xhr.send(null);\n});","//對state操作的方法\nimport {\n // INSU_REQUEST_MUTATION,\n // INSU_MODAL_MUTATION,\n SELECT_INSU_MUTATION,\n // RESET_SELECTED_MUTATION,\n // SET_QUERY_MUTATION,\n //RESET_QUERY_MUTATION,\n // SET_PRODUCTS_MUTATION,\n // RESET_PRODUCTS_MUTATION,\n} from './constants';\n/*\n// request\nconst insuReqMutation = (state, bool) => {\n state.loading = bool;\n};\n\n// set query\nconst setQuery = (state, { key, tips, ...model }) => {\n state.queryInfo = { model, tips };\n};\n\nconst resetQuery = (state) => {\n state.queryInfo = { model: null, tips: null };\n};\n\n// modal\nconst modal = (state, payload) => {\n state.modal = payload;\n};\n*/\n// selected Id\nconst selectInsu = (state, payload) => {\n state.selectedInsus = [...payload];\n};\n/*\nconst resetSelected = (state) => {\n state.selectedInsus = [];\n};\n\n// set product\nconst setProducts = (state, payload) => {\n const stateKeys = Object.keys(payload);\n const sortedProd = stateKeys.reduce((acc, currKey) => {\n const products = payload[currKey].map(prod => ({\n ...prod,\n prodType: currKey\n }));\n return {\n ...acc,\n [currKey]: products.sort((a, b) => a.premiums - b.premiums)\n };\n }, {});\n state.products = sortedProd;\n};\n\nconst resetProducts = (state) => {\n state.products = null;\n};\n*/\nexport default {\n // [INSU_REQUEST_MUTATION]: insuReqMutation,\n // [SET_QUERY_MUTATION]: setQuery,\n // [RESET_QUERY_MUTATION]: resetQuery,\n // [SET_PRODUCTS_MUTATION]: setProducts,\n // [RESET_PRODUCTS_MUTATION]: resetProducts,\n // [INSU_MODAL_MUTATION]: modal,\n [SELECT_INSU_MUTATION]: selectInsu,\n // [RESET_SELECTED_MUTATION]: resetSelected,\n};","//可異步操作\n// npm\nimport axios, { actionEnhancer } from '@/utils/axios';\n// router\nimport router from '@/router';\n// insurance constants\nimport {\n INSU_REQUEST_MUTATION,\n // FETCH_INSU_ACTION,\n // FETCH_DETAILS_ACTION,\n // SET_QUERY_MUTATION,\n // SET_PRODUCTS_MUTATION,\n// RESET_PRODUCTS_MUTATION,\n INSU_MODAL_MUTATION,\n // HANDLE_PAGE_SCROLL,\n HANDLE_PURCHASE_ACTION2\n} from './constants';\n// checkout constanst\nimport { \n SET_INSUINFOS,\n SET_TRAVELFILTER_FORM,\n SET_CARPROFILE,\n SET_MOTORPROFILE,\n SET_CHECKOUT_PRODPOLICIES//\n} from '../checkout/constants';\n// utils\n//import animateScroll from '@/utils/animateScroll';\n\n//const catchErrors = actionEnhancer(INSU_REQUEST_MUTATION);\n/*\nconst fetchInsurances = catchErrors(\n async ({ commit }, { type, tips, formatCarNo = null, ...queryModel }) => {\n const { currentRoute: { name } } = router;\n const insus = {\n travel: {\n stateKey: 'travelQuery',\n path: 'TravelAcidentInsurance/Search',\n },\n car: {\n stateKey: 'carQuery',\n path: 'VehicleInsurance/Search',\n \n },\n motor: {\n stateKey: 'motorQuery',\n path: 'MotorcycleInsurance/Search',\n }\n };\n const currInsu = insus[type];\n const key = currInsu.stateKey;\n commit(RESET_PRODUCTS_MUTATION);\n const payload = type === 'car' || 'motor'\n ? { ...queryModel, carNo: formatCarNo }\n : { ...queryModel };\n const res = await axios.post(currInsu.path, payload);\n const { success, result } = res.data;\n if (!success) throw new Error('很抱歉,系統繁忙中,請稍後再試,謝謝您');\n commit(SET_QUERY_MUTATION, { ...queryModel, key, tips });\n commit(SET_PRODUCTS_MUTATION, result);\n if (name === 'index') return router.push({ name: 'insurance', params: { type } });\n }\n);\n*//*\nconst fetchModalDetail = catchErrors(async ({ commit }, selectedArr) => {\n const [firstInsu, secInsu = null] = selectedArr;\n const firstRes = await axios.post('insurance/getInsuDetails', firstInsu);\n const firstDetail = { ...firstRes.data.result.insuDetails, selectedArr };\n if (!secInsu) {\n commit(INSU_MODAL_MUTATION, firstDetail);\n return;\n }\n const secRes = await axios.post('insurance/getInsuDetails', secInsu);\n const secDetail = secRes.data.result.insuDetails;\n const combineDetails = [firstDetail, secDetail].reduce((acc, obj, index) => {\n if (index === 0) return { ...obj };\n return {\n ...acc,\n lists: [...acc.lists, ...obj.lists],\n insuIds: [acc.insuId, obj.insuId],\n insuName: `${acc.insuName} ${obj.insuName}`,\n insuNames: [acc.insuName, obj.insuName],\n premiums: acc.premiums + obj.premiums,\n prodPolicies: [...acc.prodPolicies, ...obj.prodPolicies]\n };\n }, {});\n commit(INSU_MODAL_MUTATION, combineDetails);\n});\n*//*\nconst handleProductScroll = (context, element) => {\n const el = document.querySelector(element);\n const position = el.getBoundingClientRect();\n animateScroll(position.top - 100);\n};\n*/\n//type-car ,prodPolicies,profile\nconst handlePurchase2 = async ({ commit }, { type, prodDetail, queryModel }) => {\n commit(INSU_MODAL_MUTATION, null);\n //console.log(\"renewal-type, prodDetail, queryModel:\"+type+\" \"+JSON.stringify(prodDetail)+\" \"+ JSON.stringify(queryModel));\n //console.log(\"prodDetail-action.js:\"+JSON.stringify(prodDetail));\n /*const { \n prodPolicies,\n selectedArr\n } = prodDetail;\n*/\n const prodPolicies= prodDetail.prodPolicies; \n //console.log(\"prodPolicies1-action.js:\"+prodPolicies);\n//console.log(\"type-action.js:\"+type);\nconst infos =[{\n insuName:prodDetail.insuName,\n isCompulsory: prodDetail.prodType === 'compulsory',\n insuCompany: prodDetail.insuCompany,\n insuId: prodDetail.insuId\n}]\n\n//console.log(\"infos-action.js:\"+infos);\nconst selectedArr=infos;\n/*\n const infos = selectedArr.map(item => ({ \n insuName: item.insuName,\n isCompulsory: item.prodType === 'compulsory',\n insuCompany: item.insuCompany,\n insuId: item.insuId\n }));\n */\n switch (type) {\n case ('car'):\n commit(SET_CARPROFILE, { source: 'filter', profile: queryModel });\n break;\n case ('motor'):\n commit(SET_MOTORPROFILE, { source: 'filter', profile: queryModel });\n break;\n default: \n commit(SET_TRAVELFILTER_FORM, queryModel);\n }\n\n commit(SET_CHECKOUT_PRODPOLICIES, prodPolicies);\n commit(SET_INSUINFOS, { insuType: type, infos });\n router.push({ name: 'checkoutInfo' });\n};\n\nexport default {\n // [FETCH_INSU_ACTION]: fetchInsurances,\n // [FETCH_DETAILS_ACTION]: fetchModalDetail,\n //[HANDLE_PAGE_SCROLL]: handleProductScroll,\n [HANDLE_PURCHASE_ACTION2]: handlePurchase2\n};","import getters from './getters';\nimport mutations from './mutations';\nimport actions from './actions';\n//import { carModel, motorModel, travelModel } from '@/utils/asyncValidator/queryForms';\n\nconst state = {\n queryInfo: {\n model: null,\n tips: null\n },\n selectedInsus: [],\n loading: false,\n products: null,\n modal: null,\n};\n\nexport default {\n state,\n getters,\n mutations,\n actions\n};","const Insurance = () => import('@/pages/insurance/Insurance');\n\nexport default {\n component: Insurance,\n path: '/insurance/:type(travel|car|motor|pet|accident)/:carno?', //20210530 Wen modify 括號內不可有空白,首頁Banners快速試算連結會失效 (travel|car|motor|accident|pet|vaccine) //20220414 Wen Modify vaccine 下架 \n name: 'insurance',\n props: route => ({\n ...route.params\n }),\n // beforeEnter(to, from, next) {\n // const { type } = to.params;\n // const isExist = /\\b(travel|car|motor)\\b/.test(type);\n // if (isExist) return next();\n // return next('/');\n // }\n\n};","const Checkout = () => import('@/pages/checkout/Checkout');\nconst CheckoutPolicies = () => import('@/pages/checkout/CheckoutPolicies');\nconst CheckoutInfo = () => import('@/pages/checkout/CheckoutInfo');\nconst CheckoutQuotes = () => import('@/pages/checkout/CheckoutQuotes');\nconst CheckoutConfirm = () => import('@/pages/checkout/CheckoutConfirm');\nconst CheckoutVerify = () => import('@/pages/checkout/CheckoutVerify');\nconst CheckoutPayment = () => import('@/pages/checkout/CheckoutPayment');\nconst CheckoutSuccess = () => import('@/pages/checkout/CheckoutSuccess');\n\nexport default {\n path: '/checkout',\n component: Checkout,\n redirect: '/checkout/info',\n children: [\n // {\n // path: 'policies',\n // name: 'checkoutPolicies',\n // component: CheckoutPolicies,\n // meta: {\n // requiresAuth: true\n // },\n // props: route => ({\n // ...route.params\n // }),\n // beforeEnter: (to, from, next) => {\n // if(!from.path.match('/insurance/') && !from.path.match('/login')){\n // next('/');\n // }\n // else{\n // next();\n // }\n // }\n // },\n {\n path: 'info',\n name: 'checkoutInfo',\n component: CheckoutInfo,\n meta: {\n requiresAuth: true\n },\n props: route => ({\n ...route.params\n }),\n beforeEnter: (to, from, next) => {\n //if ((!from.path.match('/Renewal/')&&!from.path.match('/login') && !from.path.match('/checkout/')&&!from.path.match('/signup'))||(!from.path.match('/insurance/') && !from.path.match('/login') && !from.path.match('/checkout/') && !from.path.match('/signup/')))//\n if (!from.path.match('/partner')&&!from.path.match('/Renewal/')&&!from.path.match('/insurance/') && !from.path.match('/login') && !from.path.match('/checkout/') && !from.path.match('/signup/'))//\n {\n next('/');\n //console.log(\"3\");\n } \n else{\n //console.log(\"2\");\n next();\n }\n }\n },\n {\n path: 'quotes',\n name: 'checkoutQuotes',\n component: CheckoutQuotes,\n meta: {\n requiresAuth: true\n },\n props: route => ({\n ...route.params\n }),\n beforeEnter: (to, from, next) => {\n if(!from.path.match('/checkout/')) {\n next('/');\n }else{\n next();\n }\n }\n },\n {\n path: 'confirm',\n name: 'checkoutConfirm',\n component: CheckoutConfirm,\n meta: {\n requiresAuth: true\n },\n props: route => ({\n ...route.params\n }),\n beforeEnter: (to, from, next) => {\n if(!from.path.match('/checkout/')) {\n next('/');\n }else{\n next();\n }\n }\n },\n {\n path: 'verify',\n name: 'checkoutVerify',\n component: CheckoutVerify,\n meta: {\n requiresAuth: true\n },\n props: route => ({\n ...route.params\n }),\n beforeEnter: (to, from, next) => {\n if(!from.path.match('/checkout/confirm')) {\n next('/');\n }else{\n next();\n }\n }\n },\n {\n path: 'payment',\n name: 'checkoutPayment',\n component: CheckoutPayment,\n meta: {\n requiresAuth: true\n },\n props: route => ({\n ...route.params\n }),\n beforeEnter: (to, from, next) => {\n if(!from.path.match('/checkout/verify')) {\n next('/');\n }else{\n next();\n }\n }\n },\n {\n path: 'success',\n name: 'checkoutSucc',\n component: CheckoutSuccess,\n props: route => ({\n ...route.params\n }),\n beforeEnter: (to, from, next) => {\n if(!from.path.match('/checkout/payment')) {\n next('/');\n }else{\n next();\n }\n }\n }\n ]\n};","const Login = () => import('@/pages/Login');\n\nexport default {\n path: '/login',\n name: 'login',\n component: Login\n};","const Signup = () => import('@/pages/signup/Signup');\nconst SignupCreate = () => import('@/pages/signup/SignupCreate');\nconst SignupVerify = () => import('@/pages/signup/SignupVerify');\nconst SuccessRedirect = () => import('@/components/successRedirect/SuccessRedirect');\n\nexport default { \n path: '/signup',\n name: 'signup',\n redirect: '/signup/create',\n component: Signup,\n children: [\n {\n path: 'create',\n name: 'signupCreate',\n component: SignupCreate\n },\n {\n path: 'verify',\n name: 'signupVerify',\n component: SignupVerify,\n meta: { visitDirectly: false },\n props: route => ({\n ...route.params\n })\n },\n {\n path: 'success',\n name: 'signupSucc',\n component: SuccessRedirect,\n meta: { visitDirectly: false }\n }\n ]\n};","import store from '@/store';\n\nconst UserSettings = () => import('@/pages/user/UserSettings');\nconst UserSettingsIndex = () => import('@/pages/user/UserSettingsIndex');\nconst UserSettingsOrders = () => import('@/pages/user/UserSettingsOrders');\nconst UserSettingsProfile = () => import('@/pages/user/UserSettingsProfile');\nconst UserSettingsPassword = () => import('@/pages/user/UserSettingsPassword');\nconst UserAdvisoryComment = () => import('@/pages/user/UserAdvisoryComment');\n\nexport default {\n path: '/user',\n component: UserSettings,\n redirect: '/user/index',\n children: [\n { \n path: 'index',\n name: 'userIndex',\n component: UserSettingsIndex,\n meta: {\n title: '會員首頁',\n requiresAuth: true\n }\n },\n { \n path: 'orders',\n name: 'userOrders',\n component: UserSettingsOrders,\n meta: {\n requiresAuth: true\n }\n },\n { \n path: 'profile',\n name: 'userProfile',\n component: UserSettingsProfile,\n meta: {\n requiresAuth: true \n }\n },\n { \n path: 'password',\n name: 'userPass',\n component: UserSettingsPassword,\n meta: {\n requiresAuth: true \n }\n },\n {\n path: 'advisory/:id',\n name: 'userAdvi',\n component: UserAdvisoryComment,\n meta: {\n requiresAuth: true\n },\n // beforeEnter() {\n // console.log(store);\n // },\n }\n ]\n};","const NotFound = () => import('@/pages/NotFound');\n\nexport default {\n path: '*', \n component: NotFound\n};","const Support = () => import('@/pages/Support');\n\n\nexport default {\n component: Support,\n path: '/support',\n redirect: '/',\n // children: [\n // { path: '' },\n // { path: '' },\n // { path: '' }\n // ]\n}\n","const Activity = () => import('@/pages/activity/Activity');\nconst carActivity = () => import('@/pages/activity/carActivity');\nconst audicarActivity = () => import('@/pages/activity/audicarActivity');\nconst activiyReserveCarInsu = () => import('@/pages/activity/ActivityReserveCarInsu');\nconst activityReservePetInsu = () => import('@/pages/activity/ActivityReservePetInsu');\nexport default {\n path: '/activity',\n component: Activity,\n children: [\n {\n path: 'reserveCarInsu',\n name: 'activiyReserveCarInsu',\n component: activiyReserveCarInsu,\n children: [\n {\n path: 'reserve',\n name: 'activiyReserveCarInsuReserve',\n component: activiyReserveCarInsu,\n props: route => ({\n ...route.params\n }),\n meta: {\n requiresAuth: true\n },\n beforeEnter: (to, from, next) => {\n if(to.params.step) {\n next();\n }else {\n next('/activity/reserveCarInsu');\n }\n }\n }\n ]\n },\n {\n path:'petActivity',\n name: 'activityReservePetInsu',\n component: activityReservePetInsu,\n children: [\n {\n path: 'petreserve',\n name: 'activityReservePetInsuReserve',\n component: activityReservePetInsu,\n props: route => ({\n ...route.params\n }),\n meta: {\n requiresAuth: true\n },\n beforeEnter: (to, from, next) => {\n if(to.params.step) {\n next();\n }else {\n next('/activity/petActivity');\n }\n }\n } \n ]\n },\n {\n path:'audicarActivity',\n name: 'audicarActivity',\n component: audicarActivity,\n children: [\n {\n path: 'audicarreserve',\n name: 'audicarActivityReserve',\n component: audicarActivity,\n props: route => ({\n ...route.params\n }),\n meta: {\n requiresAuth: true\n },\n beforeEnter: (to, from, next) => {\n if(to.params.step) {\n next();\n }else {\n next('/activity/audicarActivity');\n }\n }\n } \n ]\n } \n ],\n}","const Renewal = () => import('@/pages/renewal/Renewal');\r\nexport default {\r\n path: '/renewal/:no',\r\n component: Renewal,\r\n name: 'Renewal', \r\n props: route => ({\r\n ...route.params\r\n }), \r\n}","const Partner = () => import('@/pages/partner/Partner');\r\nexport default {\r\n path: '/partner',//'/partner/:codeid?/:usinfo'\r\n component: Partner,\r\n name: 'Partner', \r\n props: route => ({\r\n ...route.params\r\n }), \r\n}","const UserHelp = () => import('@/pages/help/UserHelp');\r\n\r\n// const help =\r\n// { \r\n// path: 'help',\r\n// name: 'UserHelp',\r\n// component: UserHelp \r\n// };\r\n\r\n\r\nexport default {\r\n component: UserHelp,\r\n name: 'UserHelp',\r\n path: '/help',\r\n //redirect: '/',\r\n // children: [\r\n // { path: '' },\r\n // { path: '' },\r\n // { path: '' }\r\n // ]\r\n }\r\n ","import insurance from './insurance';\nimport checkout from './checkout';\nimport login from './login';\nimport signup from './signup';\nimport user from './user';\nimport notFound from './notFound';\nimport support from './support';\nimport activity from './activity';\nimport renewal from './renewal';\nimport partner from './partner';\nimport help from './help';\nconst Index = () => import('@/pages/Index');\n\nconst index = {\n component: Index,\n name: 'index',\n path: '/', \n meta: {}\n};\n\nconst channel = {\n name: 'channel',\n path: '/r/:user/:id'\n};\n\n//2019/12/20 Wen add\nconst channelCar = {\n name: 'channelCar',\n path: '/e/:carno'\n};\n\nexport default [\n index,\n channel,\n channelCar,\n insurance,\n checkout,\n login,\n signup,\n user,\n support,\n notFound,\n activity,\n help,\n renewal, //20200827 Wen add\n partner //20201005 Wen Add 關貿\n];","// npm\nimport { LoadingBar } from 'iview';\nimport axios from 'axios';\nimport Cookies from 'js-cookie';\n// vuex\nimport store from '../store';\nimport { AUTO_LOGIN_ACTION } from '@/store/modules/user/constants';\n\nLoadingBar.config({\n color: '#ff6c36'\n});\n// eslint-disable-next-line \nexport const scrollBehavior = (to, from) => {\n return { x: 0, y: 0 };\n};\n\nexport const beforeEach = async (to, from, next) => {\n LoadingBar.start();\n // 紀錄通路碼寫入 cookie\n const refid = to.query.r;\n if (refid){\n Cookies.set('refid', refid, { expires: 30 });\n axios.defaults.headers.refid=refid;\n }\n //console.log(\"logic-start-refid:\"+refid);\n const re= to.query.partner;//20201005 Wen Add\n //const re2= to.query.codeid;\n if (re){\n Cookies.set('cid', re, { expires: 0.333 });\n axios.defaults.headers.cid = re; \n }\nconst regist= to.query.x; //20201105 Wen Add\n //const re2= to.query.codeid;\n if (regist)\n { \n //console.log(\"logic-start-regist:\"+regist);\n Cookies.set('x', regist, { expires: 0.333 });\n axios.defaults.headers.x = regist; \n }\n\n\n // 判斷 cookie 內的 token 自動登入\n const token = Cookies.get('accessToken');\n const { isLogin } = store.state.user;\n const { requiresAuth, visitDirectly = true } = to.meta;\n const isVisitDirectly = from.path === '/' && from.name === null;\n const regStatus = Cookies.get('x'); //rol,未註冊 //20201105 Wen Add\n //console.log(\"logic-start-regist2:\"+regStatus);\n if (to.name === 'channel') {\n const isDevMode = process.env.NODE_ENV === 'development';\n const { path } = to;\n Cookies.set('channel', path, { expire: 30 });\n const url = isDevMode ? 'https://localhost:5000' : 'https://ec.rockgp.com:5001';\n window.location.replace(`${url}${path}`);\n }\n\n // judge page whether visit directly\n if (!visitDirectly && isVisitDirectly) return next('/');\n // judge auto login\n if (token && !isLogin) {\n //console.log(\"11111-regStatus\"+regStatus);\n if(regStatus!=\"undefined\" ||regStatus!=\"\" ){ //第一次進入網頁、有token、沒登入、沒有cookie.x\n //console.log(\"22222\");\n Cookies.remove('x');\n }\n const result = await store.dispatch(AUTO_LOGIN_ACTION);\n if (!result) return next('/');\n if (to.name === 'login' || to.path.includes('signup')) return next('/');\n return next();\n }else\n { //有登入\n //console.log(\"33333\"); //沒登入、沒token,有登入\n /*if(regStatus){ //沒登入\n console.log(\"44444\");\n //return next('/signup'); //20201105 Wen Add undefined\n }else if(regStatus!=\"undefined\")\n {\n console.log(\"55555\"); //沒有cookie.x\n\n }*/\n }\n\n // user permission\n if (!requiresAuth) return next();\n if(regStatus && !token && !isLogin)return next('/signup'); //20201105 Wen Add\n if (!token) return next('/login');\n \n next();\n};\n// eslint-disable-next-line \nexport const afterEach = (to, from, next) => {\n LoadingBar.finish();\n};","import Vue from 'vue';\nimport VueRouter from 'vue-router';\n// routes\nimport routes from './routes';\n// logic\nimport { \n scrollBehavior,\n beforeEach,\n afterEach\n} from './logic';\n\nVue.use(VueRouter);\n\nconst router = new VueRouter({\n mode: 'history',\n routes,\n scrollBehavior\n});\n\nrouter.beforeEach(beforeEach);\nrouter.afterEach(afterEach);\n\nexport default router;","export const vaccineBeneficiaryProfile = {\n relationship: '',\n name: {\n firstName: '',\n lastName: ''\n },\n dateOfBirth: {\n year: '',\n month: '',\n day: '',\n },\n identityNo: '',\n phoneNo: '',\n mail: '',\n address: {\n city: '',\n area: '',\n road: ''\n },\n}\n\nexport const insurBeneficiaryProfile = {\n insurrelationship: '',\n name: {\n firstName: '',\n lastName: ''\n },\n dateOfBirth: {\n year: '',\n month: '',\n day: '',\n },\n identityNo: '',\n phoneNo: '',\n mail: '',\n address: {\n city: '',\n area: '',\n road: ''\n },\n}\nexport const vaccineNoticeData = {\n vaccinehasOtherInsu: {\n value: false,\n desc: ''\n },\n isSick:false,\n certifiableOtherInsu:{\n value: false,\n desc: ''\n },\n isCheckCoverage: false,\n famiyYearIncome: '',\n economicSources: '',\n isNative: true,\n job: '',\n isOverSixMons: false,\n isPolitician: false,\n /*isOverSixMons: {\n value: false,\n desc: ''\n },\n isPolitician: {\n value: false,\n desc: ''\n },*/\n PremiumSources:\n {\n value: '',\n desc: ''\n },\n IsPolicyLoan:false,\n // ispro:'' \n}\n\nexport const healthNoticeData={\n hasDisability: false,\n isDisabled: false,\n isMedical: false \n}","import format from 'date-fns/format';\nexport const inceptionDate = {\n compulsory: format(new Date(), 'YYYY-MM-DD'),\n arbitrary: format(new Date(), 'YYYY-MM-DD'), \n};\nexport const carProfile = {\n vehicleKind: 'C',\n carNo: {\n block1: \"\",\n block2: \"\",\n carType: \"\"\n },\n exFactoryDate: {\n year: \"\",\n month: \"\"\n },\n carLicenseDate: {\n year: \"\",\n month: \"\",\n day: \"\"\n },\n cc: \"\",\n brand: \"\",\n carStyle: \"\",\n engineNo: \"\",\n maxPassengers: \"\"\n};\nexport const autoNoticeData = { \n isNative: true,\n autojob: '', \n type: '' ,\n ispro:''\n \n};","// request\nexport const START_CHECKOUT_REQUEST = 'START_CHECKOUT_REQUEST';\nexport const FINISH_CHECKOUT_REQUEST = 'FINISH_CHECKOUT_REQUEST';\n\n/** Begin Checkout **/\n/********************************\n * \n * mutations\n * \n ********************************/\n//init checkout\nexport const INIT_CHECKOUT_STATE = 'INIT_CHECKOUT_STATE';\n//設定車籍\nexport const SET_CARPROFILE = 'SET_CARPROFILE';\nexport const SET_MOTORPROFILE = 'SET_MOTORPROFILE';\n//設定旅遊條件\nexport const SET_TRAVELFILTER_FORM = 'SET_TRAVELFILTER_FORM';\n//設定傷害條件\nexport const SET_ACCIDENTFILTER_FORM = 'SET_ACCIDENTFILTER_FORM';\n//設定寵物條件 SET_PETFILTER_FORM ='SET_PETFILTER_FORM';\nexport const SET_PETFILTER_FORM = 'SET_PETFILTER_FORM';\n//設定疫苗防疫條件\nexport const SET_VACCINEFILTER_FORM = 'SET_VACCINEFILTER_FORM';\n//設定旅遊投保期間\nexport const SET_INSUPERIOD = 'SET_INSUPERIOD';\n//設定保險基礎資料\nexport const SET_INSUTYPE = 'SET_INSUTYPE';\nexport const SET_INSUINFOS = 'SET_INSUINFOS';\n//設定訂單訂購資訊(汽車/機車/旅平/傷害/寵物/疫苗防疫)\nexport const SET_CAR_CHECKOUT_INFO = 'SET_CAR_CHECKOUT_INFO';\nexport const SET_MOTOR_CHECKOUT_INFO = 'SET_MOTOR_CHECKOUT_INFO';\nexport const SET_TRAVEL_CHECKOUT_INFO = 'SET_TRAVEL_CHECKOUT_INFO';\nexport const SET_ACCIDENT_CHECKOUT_INFO = 'SET_ACCIDENT_CHECKOUT_INFO';\nexport const SET_PET_CHECKOUT_INFO = 'SET_PET_CHECKOUT_INFO';\nexport const SET_VACCINE_CHECKOUT_INFO = 'SET_VACCINE_CHECKOUT_INFO'; //20210530 Wen Add\n//設定訂單真實試算結果\nexport const SET_CHECKOUT_QUOTE_OFCAR = 'SET_CHECKOUT_QUOTE_OFCAR';\nexport const SET_CHECKOUT_QUOTE_OFTRAVEL = 'SET_CHECKOUT_QUOTE_OFTRAVEL';\nexport const SET_CHECKOUT_QUOTE_OFACCIDENT = 'SET_CHECKOUT_QUOTE_OFACCIDENT';\nexport const SET_CHECKOUT_QUOTE_OFPET = 'SET_CHECKOUT_QUOTE_OFPET';\nexport const SET_CHECKOUT_QUOTE_OFVACCINE = 'SET_CHECKOUT_QUOTE_OFVACCINE';//20210530 Wen Add\n//設定訂單的條款\nexport const SET_CHECKOUT_PRODPOLICIES = 'SET_CHECKOUT_PRODPOLICIES';\n/********************************\n * \n * action\n * \n ********************************/\n//更新車籍\nexport const UPDATE_CARPROFILE_ACTION = 'UPDATE_CARPROFILE_ACTION';\nexport const GET_CARPROFILE_ACTION = 'GET_CARPROFILE_ACTION';\n//更新旅遊條件\nexport const UPDATE_TRAVELFILTER_FORM_ACTION = 'UPDATE_TRAVELFILTER_FORM_ACTION';\n//更新傷害條件\nexport const UPDATE_ACCIDENTFILTER_FORM_ACTION = 'UPDATE_ACCIDENTFILTER_FORM_ACTION';\n//更新寵物險條件\nexport const UPDATE_PETFILTER_FORM_ACTION = 'UPDATE_PETFILTER_FORM_ACTION';\n//更新疫苗險防疫險條件\nexport const UPDATE_VACCINEFILTER_FORM_ACTION = 'UPDATE_VACCINEFILTER_FORM_ACTION'; //20210530 Wen Add\n//更新旅遊投保期間;\nexport const UPDATE_INSUPERIOD_ACTION = 'UPDATE_INSUPERIOD_ACTION';\n//更新保險基礎資料\nexport const UPDATE_INSUINFO_ACTION = 'UPDATE_INSUINFO_ACTION';\nexport const UPDATE_INSUTYPE_ACTION = 'UPDATE_INSUTYPE_ACTION';\n//更新訂單訂購資訊\nexport const UPDATE_CHECKOUT_INFO_OFCAR_ACTION = 'UPDATE_CHECKOUT_INFO_OFCAR_ACTION';\nexport const UPDATE_CHECKOUT_INFO_OFTRAVEL_ACTION = 'UPDATE_CHECKOUT_INFO_OFTRAVEL_ACTION';\nexport const UPDATE_CHECKOUT_INFO_OFACCIDENT_ACTION = 'UPDATE_CHECKOUT_INFO_OFACCIDENT_ACTION';\nexport const UPDATE_CHECKOUT_INFO_OFPET_ACTION = 'UPDATE_CHECKOUT_INFO_OFPET_ACTION';\nexport const UPDATE_CHECKOUT_INFO_OFVACCINE_ACTION = 'UPDATE_CHECKOUT_INFO_OFVACCINE_ACTION'; //20210530 Wen Add\n//更新訂單真實試算結果\nexport const GET_CHECKOUT_QUOTE_OFCAR_ACTION = 'GET_CHECKOUT_QUOTE_OFCAR_ACTION';\nexport const GET_CHECKOUT_QUOTE_OFTRAVEL_ACTION = 'GET_CHECKOUT_QUOTE_OFTRAVEL_ACTION';\nexport const GET_CHECKOUT_QUOTE_OFACCIDENT_ACTION = 'GET_CHECKOUT_QUOTE_OFACCIDENT_ACTION';\nexport const GET_CHECKOUT_QUOTE_OFPET_ACTION = 'GET_CHECKOUT_QUOTE_OFPET_ACTION';\nexport const GET_CHECKOUT_QUOTE_OFVACCINE_ACTION = 'GET_CHECKOUT_QUOTE_OFVACCINE_ACTION';//20210530 Wen Add\n//訂單付款\nexport const CHECKOUT_PAYMENT_ACTION = 'CHECKOUT_PAYMENT_ACTION';\n/** End Checkout **/\n\n\n\n","export const accidentbeneficiaryProfile = {\n relationship: '',\n name: {\n firstName: '',\n lastName: ''\n },\n dateOfBirth: {\n year: '',\n month: '',\n day: '',\n },\n identityNo: '',\n phoneNo: '',\n mail: '',\n address: {\n city: '',\n area: '',\n road: ''\n },\n}\n\nexport const accidentNoticeData = {\n accidenthasOtherInsu: {\n value: false,\n desc: ''\n },\n isCheckCoverage: false,\n famiyYearIncome: '',\n economicSources: '',\n isNative: true,\n job: '',\n isOverSixMons: false, \n isPolitician: false, \n isCheckCoverage: false,\n /* isOverSixMons: {\n value: false,\n desc: ''\n },\n isPolitician: {\n value: false,\n desc: ''\n },*/\n PremiumSources:\n {\n value: '',\n desc: ''\n },\n IsPolicyLoan:false \n}\n\nexport const healthNoticeData={\n hasDisability: false,\n isDisabled: false,\n isMedical: false \n \n}","module.exports = __webpack_public_path__ + \"img/logo.70c76173.png\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.login)?_c('div',{staticClass:\"login-helper center\"},[_c('router-link',{attrs:{\"to\":\"/signup\"}},[_vm._v(\"註冊會員\")]),_c('a',{attrs:{\"href\":\"javascript:void(0);\"},domProps:{\"textContent\":_vm._s('忘記密碼')},on:{\"click\":_vm.triggerModal}})],1):_c('div',[_c('div',{staticClass:\"login-helper\",staticStyle:{\"float\":\"left\"}},[_c('Icon',{attrs:{\"size\":\"20\",\"type\":\"android-person\",\"color\":\"#e0e0e0\"}}),_vm._l((_vm.headerList),function(item){return _c('router-link',{key:((item.to) + \"-helper\"),attrs:{\"to\":item.to},domProps:{\"textContent\":_vm._s(item.text)}})})],2),_c('div',{staticStyle:{\"float\":\"left\"}},[_c('router-link',{attrs:{\"to\":{path:'/help'}}},[_c('img',{staticStyle:{\"max-width\":\"20px\",\"min-width\":\"15px\",\"margin-left\":\"10px\"},attrs:{\"width\":\"100%\",\"src\":require(\"@/assets/information.png\")}})])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginHelper.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoginHelper.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoginHelper.vue?vue&type=template&id=013bc202&\"\nimport script from \"./LoginHelper.vue?vue&type=script&lang=js&\"\nexport * from \"./LoginHelper.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","/********************************\n * \n * mutations\n * \n ********************************/\n\n// request\nexport const USER_REQUEST_MUTATION = 'USER_REQUEST_MUTATION';\n\n// login mutations\nexport const LOGIN_SUCCESS = 'LOGIN_SUCCESS';\nexport const LOGOUT_SUCCESS = 'LOGOUT_SUCCESS';\n\n// signup success\nexport const SIGNUP_SUCCESS = 'SIGNUP_SUCCESS';\n\n// updated success\nexport const UPDATE_PROFILE_MUTATION = 'UPDATE_PROFILE_MUTATION';\n\n// update otp rest of count\nexport const UPDATE_OTP_COUNT_MUTATION = 'UPDATE_OTP_COUNT_MUTATION';\n\n// orders\nexport const UPDATE_USER_ORDERS_MUTATION = 'UPDATE_USER_ORDERS_MUTATION';\nexport const UPDATE_USER_ADVISORY_MUTATION = 'UPDATE_USER_ADVISORY_MUTATION';\nexport const RESET_ORDERS_MUTATION = 'RESET_ORDERS_MUTATION';\n\n// update join activity status\n\nexport const UPDATE_ACTIVITY_RESERVECARINSU_MUTATION = 'UPDATE_ACTIVITY_RESERVECARINSU_MUTATION'; //2022/01/13 Wen Add\nexport const UPDATE_ACTIVITY_RESERVEPETINSU_MUTATION = 'UPDATE_ACTIVITY_RESERVEPETINSU_MUTATION';\n/********************************\n * \n * actions\n * \n ********************************/\n\n// user update\nexport const UPDATE_PASSWORD_ACTION = 'UPDATE_PASSWORD_ACTION';\nexport const UPDATE_PROFILE_ACTION = 'UPDATE_PROFILE_ACTION';\n\n// login & logout actions\nexport const AUTO_LOGIN_ACTION = 'AUTO_LOGIN_ACTION';\nexport const LOGIN_REQUEST_ACTION = 'LOGIN_REQUEST_ACTION';\nexport const LOGOUT_REQUEST_ACTION = 'LOGOUT_REQUEST_ACTION';\n\n// signup action\nexport const SIGNUP_VALIDATE_ACTION = 'SIGNUP_VALIDATE_ACTION';\nexport const SIGNUP_REQUEST_ACTION = 'SIGNUP_REQUEST_ACTION';\n\n// forgot password\nexport const FORGOT_PASSWORD_ACTION = 'FORGOT_PASSWORD_ACTION';\n\n// otp\nexport const GET_OTP_ACTION = 'GET_OTP_ACTION';\nexport const VERIFY_OTP_ACTION = 'VERIFY_OTP_ACTION';\n\n// fetch orders and advisorys\nexport const FETCH_USER_ORDERS_ACTION = 'FETCH_USER_ORDERS_ACTION';\nexport const FETCH_ORDER_DETAIL_ACTION = 'FETCH_ORDER_DETAIL_ACTION';\n\n// advisory\nexport const SUBMIT_ADVISORY_ACTION = 'SUBMIT_ADVISORY_ACTION';","// request\nexport const START_REQUEST = 'START_REQUEST';\nexport const FINISH_REQUEST = 'FINISH_REQUEST';\n\n/** Begin TravelArea **/ //2020/12/09 Wen modify\n// mutations\nexport const SET_NOT_ABROAD = 'SET_NOT_ABROAD';\nexport const SET_ABROAD = 'SET_ABROAD';\n\n// actions\nexport const GET_TRAVELAREA_ACTION = 'GET_TRAVELAREA_ACTION';\n\n// update \nexport const UPDATE_TRAVELAREA = 'UPDATE_TRAVELAREA';\n/** End TravelArea **/\n\n/** Begin AccidentArea **/ //2020/12/09 Wen modify\n// mutations\nexport const SET_NOT_ACCIDENTABROAD = 'SET_NOT_ACCIDENTABROAD';\nexport const SET_ACCIDENTABROAD = 'SET_ACCIDENTABROAD';\n\n// actions\nexport const GET_ACCIDENTAREA_ACTION = 'GET_ACCIDENTAREA_ACTION';\n\n// update \nexport const UPDATE_ACCIDENTAREA = 'UPDATE_ACCIDENTAREA';\n/** End ACCIDENTArea **/\n\n\n/** Begin Index Banner **/\n// mutations\nexport const SET_INDEX_BANNER = 'SET_INDEX_BANNER';\n\n// actions\n//export const GET_INDEX_BANNER_ACTION = 'SET_INDEX_BANNER_ACTION';\nexport const GET_INDEX_BANNER_ACTION = 'GET_INDEX_BANNER_ACTION';\n\n// update \nexport const UPDATE_INDEX_BANNER_ACTION = 'UPDATE_INDEX_BANNER_ACTION';\n\n/** End Index Banner **/\n\n/** Begin vehicleOption **/\n// mutations\nexport const SET_CAR_OPTION_BRAND = 'SET_CAR_OPTION_BRAND';\nexport const SET_CAR_OPTION_CARSTYLE = 'SET_CAR_OPTION_CARSTYLE';\nexport const SET_MOTOR_OPTION_BRAND = 'SET_MOTOR_OPTION_BRAND';\nexport const SET_MOTOR_OPTION_CARSTYLE = 'SET_MOTOR_OPTION_CARSTYLE';\nexport const SET_CAR_OPTION_CARTYPE = 'SET_CAR_OPTION_CARTYPE';\nexport const SET_MOTOR_OPTION_CARTYPE = 'SET_MOTOR_OPTION_CARTYPE';\n\n// actions\nexport const GET_BRAND_OPTION_ACTION = 'SET_BRAND_OPTION_ACTION';\nexport const GET_CARSTYLE_OPTION_ACTION = 'SET_CARSTYLE_OPTION_ACTION';\nexport const GET_CARTYPE_OPTION_ACTION = 'GET_CARTYPE_OPTION_ACTION';\n// update \nexport const UPDATE_CAR_OPTION_ACTION = 'UPDATE_CAR_OPTION_ACTION';\nexport const UPDATE_MOTOR_OPTION_ACTION = 'UPDATE_MOTOR_OPTION_ACTION';\n\n/** End vehicleOption **/\n\n"],"sourceRoot":""}