const view_travel_domestic = { section_contract: "section_contract", view_data_ready: false, init: function (_callback) { shared.ViewFunc.ScrollId('#section_header'); shared.CreateControl.FormCustom('#' + view_travel_domestic.section_contract); sha_control_checked.init(); sha_control_select.init('drl_travel_area', 0, function () { view_travel_domestic.premium(); }); sha_control_select.init('drl_travel_package', 0, function () { view_travel_domestic.premium(); }); sha_control_select.init('drl_kind_action', 0, function () { view_web_shared.change_kind_action(); }); sha_control_select.init('drl_kind_customer', 0, function () { view_web_shared.change_kind_customer(); }); sha_control_select.init('drl_buyer_city', 0, function (e) { view_web_shared.location_load_district('drl_buyer_district', e); }); sha_control_select.init('drl_insured_person_city', 0, function (e) { view_web_shared.location_load_district('drl_insured_person_district', e); }); sha_control_checked.init('chk_insured_person', function (_this, _checked) { view_travel_domestic.change_chk_insured_person(_checked); }); if (_callback != null) _callback(); }, load: function () { let send_data = shared.GetInput.Div('section_para_url'); send_data = API.CreateDataSend('travel/domestic/load/data', send_data); API.POST(send_data, function (e) { $('#' + view_travel_domestic.section_contract).html(e); view_travel_domestic.init(function () { func_set_value_input(function () { view_web_shared.change_kind_action(); view_web_shared.change_kind_customer(); view_travel_domestic.change_total_insured_person(false); view_travel_domestic.view_data_ready = true; view_travel_domestic.premium(); }) }) Loading.Hide(); }); }, premium: function (_callback) { if (!view_travel_domestic.view_data_ready && _callback == null) return; let send_data = shared.GetInput.Div('div_quote'); send_data = API.CreateDataSend('travel/domestic/premium', send_data, { loading: _callback != null }); API.POST(send_data, function (e) { $('#div_contain_premium').html(e); $("#div_contain_premium").removeClass("d-none"); $("#div_error").addClass("d-none"); if (_callback != null) _callback(); else { const year_buy = sha_control_input.get_val('txt_date_number'); $("#sp_year_buy").text(year_buy); const drl_package = sha_control_select.get_text('drl_travel_package'); $("#sp_package").text(drl_package); const premium_payment = $("#hdf_total_premium").val(); const premium_payment_text = Format.Number(premium_payment, 0, ",", "."); $("#sp_total_premium").text(premium_payment_text); //Format.FormatNumberCurrency("#sp_total_premium"); const kind_action = sha_control_select.get_text('drl_kind_action'); if (kind_action !== "" && kind_action != null) { $("#sp_kind_action").text(kind_action); } else { $("#sp_kind_action").text('Đăng ký mới'); } Loading.Hide(); } }, function (e) { $("#div_contain_premium").addClass("d-none"); $("#div_error").removeClass("d-none"); $("#p_error_info").text(e); if(_callback != null) func_notification.Error(e); }); }, install: function (_url, _callback) { let is_contract = $('#div_contract').hasClass("d-none"); if (is_contract) { $("#div_contract").removeClass("d-none"); shared.ViewFunc.ScrollId('#div_contract'); view_travel_domestic.change_active_date(3); } else { let dd = shared.GetInput.Div(view_travel_domestic.section_contract); _url ??= 'travel/domestic/install'; dd = API.CreateDataSend(_url, dd); API.POST(dd, function (data) { view_travel_domestic.final(_callback, data); }, function (_mess, _value, _type) { if (_type === "yesno") { $('#hdf_sale_code').val(_value); func_notification.YesNo("Hồ sơ sức khoẻ 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) { let dd = shared.GetInput.Div(view_travel_domestic.section_contract); dd.sale_code = $('#hdf_sale_code').val(); dd = API.CreateDataSend(_url, dd); API.POST(dd, function (data) { view_travel_domestic.final(_callback, data); }); } else { $('#hdf_sale_code').val(""); } }); } else func_notification.Info(_mess); if (_callback != null) _callback(false, _mess, _value, _type); else Loading.Hide(); }); } }, final: function (_callback, _data) { if (_callback != null) _callback(true, data); else { let title_info_final = 'Đăng ký thành công!'; let kind_action = sha_control_select.get_val('#drl_kind_action', 0); if (kind_action == "update") { title_info_final = 'Cập nhật thành công!'; } else if (kind_action == "renew") { title_info_final = 'Tái tục thành công!'; } $('#' + view_travel_domestic.section_contract).html(_data); $("#section_action").html(''); $("#section_action").addClass("d-none"); shared.ViewFunc.ScrollId('#' + view_travel_domestic.section_contract); $("#title_info_final").text(title_info_final); Loading.Hide(); } }, change_certificate_code: function () { view_web_shared.change_certificate_code(function () { view_travel_domestic.load(); }); }, change_travel_date_from: function () { view_travel_domestic.change_active_date(1); }, change_travel_date_to: function () { view_travel_domestic.change_active_date(2); }, change_travel_date_total: function () { view_travel_domestic.change_active_date(3); }, change_active_date: function (_type) { const from_date = sha_control_datetime.get_value('txt_travel_date_from'); const to_date = sha_control_datetime.get_value('txt_travel_date_to'); let date_number_value = sha_control_input.get_val('txt_date_number'); let dd_total_day = Number(date_number_value) - 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); } //==================================================== let dd_date_from = shared.DateTimeFunc.convertDatetoString(dd_from_date); let dd_date_to = shared.DateTimeFunc.convertDatetoString(dd_to_date); sha_control_input.set_val('#active_date', dd_date_from); sha_control_input.set_val('#inactive_date', dd_date_to); sha_control_input.set_val('txt_date_number', dd_total_day + 1); sha_control_datetime.set_value('txt_travel_date_from', dd_date_from); sha_control_datetime.set_value('txt_travel_date_to', dd_date_to); //==================================================== view_travel_domestic.premium(); }, change_total_insured_person: function (_is_call_premium) { if (_is_call_premium != '') _is_call_premium = true; let dd = shared.GetInput.Div('div_quote'); dd = API.CreateDataSend('travel/domestic/load/insured/person', dd); API.POST(dd, function (data) { $('#div_contain_insured_person').html(data); if (_is_call_premium) { view_travel_domestic.premium(); } const minDate = new Date(this.year - 100, this.month, this.day); shared.CreateControl.DateBOD('.datebirthday', minDate, new Date()); Loading.Hide(); }); }, change_chk_insured_person: function (_checked) { let ll_input = [ ["buyer_fullname", "fullname_1"], ["buyer_identity_card", "identity_card_1"] ]; if (_checked) { for (let i = 0; i < ll_input.length; i++) { let dd_value = shared.Other.Input.GetValueByName(ll_input[i][0]); if (dd_value != null) { sha_control_input.set_val(ll_input[i][1], dd_value); } } let buyer_gender = sha_control_select.get_val('drl_buyer_gender'); sha_control_select.set_val('drl_insured_person_gender_1', buyer_gender); let buyer_birthday = sha_control_datetime.get_value('buyer_birthday'); sha_control_datetime.set_value('txt_insured_person_birthday_1', buyer_birthday) } 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) { sha_control_input.clear_val(ll_input[i][1]); } } sha_control_select.clear_select_val('drl_insured_person_gender_1'); sha_control_datetime.clear_val('txt_insured_person_birthday_1'); } }, upload_file_insured_person: function () { let dd = shared.GetInput.Div('div_quote'); let dd_file = sha_control_media.get_value('cus_upload_insured_person'); dd.upload_file_data = dd_file.data; dd.upload_file_type = dd_file.type; dd.upload_file_name = dd_file.name; dd = API.CreateDataSend('travel/domestic/load/excel', dd); API.POST(dd, function (data) { $('#div_contain_insured_person').html(data); sha_control_media.clear_value('#cus_upload_insured_person'); const minDate = new Date(this.year - 100, this.month, this.day); shared.CreateControl.DateBOD('.datebirthday', minDate, new Date()); Loading.Hide(); }); }, };