var view_travel = { ip_check: "#hdf_ip_check", div_travel: "div_travel", change_date_active_lock: 0, sale: { init: function () { $('#tab_sale a[href="#div_quote"]').tab('show'); $('.selectpicker').selectpicker(); view_travel.sale.change_package(); view_travel.sale.change_area(); $(".input_string_number").blur(function () { shared.Other.onlyGetNumber("#" + this.id); }); $('#txt_travel_date_from').change(function () { view_travel.sale.change_date_active(1); }); $('#txt_travel_date_to').change(function () { view_travel.sale.change_date_active(2); }); $('#txt_date_number').keyup(function () { view_travel.sale.change_date_active(3); }); }, action_init: function () { var code_encrypt = $("#hdf_code_encrypt").val(); if (shared.Valid.String(code_encrypt)) { view_travel.sale.update_init(); } else { view_travel.sale.insert_init(); } }, insert_init: function () { $('.selectpicker').selectpicker(); shared.ViewFunc.LoadValueSelectFirst('#drl_travel_area'); shared.ViewFunc.LoadValueSelectFirst('#drl_travel_package'); shared.CreateControl.DatePicker("#txt_travel_date_from"); shared.CreateControl.DatePicker("#txt_travel_date_to"); }, update_init: function () { $('.selectpicker').selectpicker(); shared.ViewFunc.LoadValueSelectByClass('selectpicker'); shared.CreateControl.BirthdayPicker("#txt_travel_date_from"); shared.CreateControl.BirthdayPicker("#txt_travel_date_to"); view_travel.sale.change_city('drl_buyer_city', 'drl_buyer_district'); }, contract_init: function () { $('.selectpicker').selectpicker(); shared.CreateControl.BirthdayPicker('.datebirthday'); $(".input_string_number").blur(function () { shared.Other.onlyGetNumber("#" + this.id); }); $(".input_string").blur(function () { $("#" + this.id).val($("#" + this.id).val().replaceAll(" ", "")) }); }, change_date_active: function (_type) { if (view_travel.change_date_active_lock < 1) { const from_date = $("#txt_travel_date_from").val(); const to_date = $("#txt_travel_date_to").val(); let dd_total_day = Number($("#txt_date_number").val()) - 1; const dd_format = 'dd/MM/yyyy'; const dd_from_date = shared.DateTimeFunc.stringToDate(from_date, dd_format); let dd_to_date = shared.DateTimeFunc.stringToDate(to_date, dd_format); const dd_diff_day = Math.floor((dd_to_date.getTime() - dd_from_date.getTime()) / 86400000); if (_type === 1) { //update to day dd_to_date = shared.DateTimeFunc.addDays(dd_from_date, dd_total_day); } else if (_type === 2) { //update from day dd_total_day = dd_diff_day; } else if (_type === 3) { dd_to_date = shared.DateTimeFunc.addDays(dd_from_date, dd_total_day); } $("#txt_travel_date_from").val(shared.DateTimeFunc.convertDatetoString(dd_from_date)); $("#active_date").val(shared.DateTimeFunc.convertDatetoString(dd_from_date)); $("#inactive_date").val(shared.DateTimeFunc.convertDatetoString(dd_to_date)); $("#txt_travel_date_to").val(shared.DateTimeFunc.convertDatetoString(dd_to_date)); $("#txt_date_number").val(dd_total_day + 1); view_travel.change_date_active_lock = 0; } }, load_premium: function (_callback) { let dd = shared.GetInput.Div(view_travel.div_travel); const dd_check = shared.GetInput.Div('div_quote'); const dd_json = JSON.stringify(dd_check); const dd_code = CryptoJS.SHA256(dd_json).toString(); $(view_travel.ip_check).val(dd_code); //============================================================================================= dd = API.CreateDataSend('travel/load/premium', dd); API.POST(dd, function (e) { if (_callback != null) _callback(true, e); else { $('#div_contain_premium').html(e); $('#div_contain_premium').removeClass("d-none").addClass("visible"); $("#div_contain_image").removeClass("visible").addClass("hidden"); //============================================================================================= const from_date = $("#txt_travel_date_from").val(); const to_date = $("#txt_travel_date_to").val(); const total_date = shared.DateTimeFunc.subtractionDate(from_date, to_date) + 1; $("#sp_date_total").text(total_date); //============================================================================================= $("#sp_travel_area").text($("#drl_travel_area option:selected").text()); $("#sp_travel_package").text($("#drl_travel_package option:selected").text()); $("#sp_travel_date_from").text($("#txt_travel_date_from").val()); $("#sp_travel_date_to").text($("#txt_travel_date_to").val()); $("#sp_total_insured_person").text($("#txt_total_insured_person").val()); $("#sp_total_insured_person_child").text($("#txt_total_insured_person_child").val()); $("#sp_travel_departure").text($("#txt_travel_departure").val()); $("#sp_travel_arrival").text($("#txt_travel_arrival").val()); Loading.Hide(); } }); }, load_contract: function (_callback) { let dd_code_check = $(view_travel.ip_check).val(); let dd_data_check = shared.GetInput.Div('div_quote'); let dd_json = JSON.stringify(dd_data_check); let dd_code = CryptoJS.SHA256(dd_json).toString(); if (dd_code_check !== dd_code) { func_notification.Warning("Thông tin bảo hiểm đã thay đổi, vui lòng kiểm tra lại phí."); return; } //============================================================================================= $('#tab_sale a[href="#div_contract"]').tab('show'); $("#div_btn_premium").removeClass("visible").addClass("hidden"); var dd = shared.GetInput.Div(view_travel.div_travel); dd = API.CreateDataSend('travel/load/contract', dd); API.POST(dd, function (data) { $('#div_contain_insured_person').html(data); view_travel.sale.contract_init(); view_travel.share.change_active_date(); shared.ViewFunc.LoadValueSelectByClass('js_contract'); shared.ViewFunc.LoadValueSelectByClass('js_insured'); shared.ViewFunc.ScrollId('#' + view_travel.div_travel); if (_callback != null) _callback(); else Loading.Hide(); }); }, register: function (_url, _callback) { var dd = shared.GetInput.Div(view_travel.div_travel); _url ??= 'travel/register'; dd = API.CreateDataSend(_url, dd); API.POST(dd, function (data) { if (_callback != null) _callback(true, data); else { $('#div_contract').html(data); shared.ViewFunc.ScrollId('#' + view_travel.div_travel); Loading.Hide(); } }, function (_mess, _value, _type) { if (_type === "yesno") { $('#hdf_sale_code').val(_value); func_notification.YesNo("Hồ sơ của bạn sẽ cần BHV thẩm định. " + "Quí Khách vui lòng chờ thông báo từ BHV, " + "hoặc nhân viên của BHV sẽ liên hệ với Quí Khách.Cám ơn.", "Xác nhận", function (e) { if (e) { var dd = shared.GetInput.Div(view_travel.div_travel); dd.sale_code = $('#hdf_sale_code').val(); dd = API.CreateDataSend(_url, dd); API.POST(dd, function (data) { if (_callback != null) _callback(true, data); else { $('#div_contract').html(data); shared.ViewFunc.ScrollId('#' + view_travel.div_travel); Loading.Hide(); } }); } else { $('#hdf_sale_code').val(""); } }); } else func_notification.Error(_mess); if (_callback != null) _callback(false, _mess, _value, _type); else Loading.Hide(); }); }, change_city: function (_city_control_id, _district_control_id) { shared.ViewFunc.SelectPicker_Single_Remove_Option(_district_control_id); var dd = { root_id: $("#" + _city_control_id).val() }; dd = API.CreateDataSend('base/load/district', dd); API.POST(dd, function (e) { Loading.Hide(); var dd_json = JSON.parse(e); shared.ViewFunc.SelectPickerAddOption(dd_json, "2", _district_control_id); }); }, choose_additional_term: function (_item_id) { if ($('#' + _item_id).is(":checked")) { $("#" + _item_id).prop("checked", false); } else { $("#" + _item_id).prop("checked", true); } }, choose_answer: function (_question_id, _answer_id) { var elements = document.getElementsByClassName('btn_radio_' + _question_id); for (var i = 0; i < elements.length; i++) { if (elements[i].id == _answer_id) { $("#" + elements[i].id).prop("checked", true); } else { $("#" + elements[i].id).prop("checked", false); $("#answer_" + elements[i].id).val(""); } } }, change_chk_insured_person: function () { if ($('#chk_insured_person').is(":checked")) { $("#div_contain_insured_person").removeClass("d-none"); } else { $("#div_contain_insured_person").addClass("d-none"); } }, change_chk_beneficiary: function () { if ($('#chk_beneficiary').is(":checked")) { $("#div_contain_beneficiary").removeClass("d-none"); } else { $("#div_contain_beneficiary").addClass("d-none"); } }, change_package: function () { var config = $("#drl_travel_package").find(':selected').attr('config'); if (config !== "") { config = JSON.parse(config); $("#sp_domestic_death").text(config.BENEFIT.DOMESTIC.DEATH); $("#sp_abroad_death").text(config.BENEFIT.ABROAD.DEATH); $("#sp_abroad_emergency_evacuation").text(config.BENEFIT.ABROAD.EMERGENCY_EVACUATION); $("#sp_abroad_repatriation").text(config.BENEFIT.ABROAD.REPATRIATION); $("#sp_abroad_hospitalization_allowance").text(config.BENEFIT.ABROAD.HOSPITALIZATION_ALLOWANCE); $("#sp_abroad_visit_family").text(config.BENEFIT.ABROAD.VISIT_FAMILY); $("#sp_abroad_repatriation_corpse").text(config.BENEFIT.ABROAD.REPATRIATION_CORPSE); $("#sp_abroad_luggage_belongings").text(config.BENEFIT.ABROAD.LUGGAGE_BELONGINGS); $("#sp_abroad_travel_document").text(config.BENEFIT.ABROAD.TRAVEL_DOCUMENT); $("#sp_abroad_personal_money").text(config.BENEFIT.ABROAD.PERSONAL_MONEY); $("#sp_abroad_delay_trip").text(config.BENEFIT.ABROAD.DELAY_TRIP); } }, change_area: function () { var discount_mode = $("#drl_travel_area").find(':selected').attr('other'); if (discount_mode == "DOMESTIC") { $("#div_bebefit_domestic").removeClass("d-none"); $("#div_bebefit_abroad").addClass("d-none"); } else if (discount_mode == "ABROAD") { $("#div_bebefit_domestic").addClass("d-none"); $("#div_bebefit_abroad").removeClass("d-none"); } else { $("#div_bebefit_domestic").removeClass("d-none"); $("#div_bebefit_abroad").removeClass("d-none"); } }, back_quote: function () { $('#tab_sale a[href="#div_quote"]').tab('show'); shared.ViewFunc.ScrollId('#' + view_travel.div_travel); $("#div_btn_premium").removeClass("hidden").addClass("visible"); }, change_chk_insured_person: function () { var ll_input = [ ["buyer_fullname", "fullname_1"], //["buyer_email", "email_1"], //["buyer_phone", "phone_1"], ["buyer_birthday", "birthday_1"], ["buyer_gender", "gender_1"], ["buyer_identity_card", "identity_card_1"], //["travel_buyer_job", "job_1"], //["buyer_address", "address_1"] ]; if ($('#chk_insured_person').is(":checked")) { for (var i = 0; i < ll_input.length; i++) { var dd_value = shared.Other.Input.GetValueByName(ll_input[i][0]); if (dd_value != null) { shared.Other.Input.SetValueByName(ll_input[i][1], dd_value); } } // $("#drl_insured_person_relationship_1").selectpicker('val', '752d517e-c79a-4314-94c8-eaf86e94cf71'); var buyer_gender = $("#drl_buyer_gender").val(); $("#drl_insured_person_gender_1").selectpicker('val', buyer_gender); //var buyer_city = $("#drl_buyer_city").val(); //$("#drl_insured_person_city_1").selectpicker('val', buyer_city); //view_travel.sale.change_city('drl_insured_person_city_1', 'drl_insured_person_district_1'); //var buyer_district = $("#drl_buyer_district").val(); //$("#drl_insured_person_district_1").selectpicker('val', buyer_district); } else { for (var i = 0; i < ll_input.length; i++) { var dd_value = shared.Other.Input.GetValueByName(ll_input[i][1]); if (dd_value != null) { shared.Other.Input.SetValueByName(ll_input[i][1], ""); } } //$("#drl_insured_person_relationship_1").selectpicker('val', ''); $("#drl_insured_person_gender_1").selectpicker('val', ''); //$("#drl_insured_person_city_1").selectpicker('val', ''); //$("#drl_insured_person_district_1").selectpicker('val', ''); } shared.CreateControl.BirthdayPicker('.datebirthday'); $(".js_insured").selectpicker("refresh"); }, }, share: { change_active_date: function () { const from_date = $("#txt_travel_date_from").val(); const to_date = $("#txt_travel_date_to").val(); $("#active_date").val(from_date); $("#inactive_date").val(to_date); }, }, insured_person: { upload_file: function (_this) { let fileSize = _this.files[0].size / 1024 / 1024; // in MB if (fileSize > 10) { func_notification.Error('Tập tin không được quá 10 MB'); } else { let fileName = $(_this).val().split("\\").pop(); $(_this).siblings("#custom-file-label").addClass("selected").html(fileName); shared.File.FiletoBase64(_this, function (e, t, n) { $('#hdf_upload_file_data').val(e); $('#hdf_upload_file_type').val(t); $('#hdf_upload_file_name').val(n); view_travel.insured_person.load_excel(); }); } }, load_excel: function () { var dd = shared.GetInput.Div(view_travel.div_travel); dd = API.CreateDataSend('travel/load/excel', dd); API.POST(dd, function (data) { $('#div_contain_insured_person').html(data); view_travel.sale.contract_init(); shared.ViewFunc.LoadValueSelectByClass('js_insured'); view_travel.insured_person.clear_file(); Loading.Hide(); func_notification.Warning('Lưu ý bạn vừa thêm thông tin người được bảo hiểm. Vui lòng xem lại thông tin để tránh sai sót'); }, function (_mess) { view_travel.insured_person.clear_file(); func_notification.Error(_mess); }); }, clear_file: function () { $('#upload_file').val(''); $('#hdf_upload_file_data').val(''); $('#hdf_upload_file_type').val(''); $('#hdf_upload_file_name').val(''); $('#custom-file-label').text('Chọn danh sách người được bảo hiểm'); } }, };