const view_motorcycle = { section_contract: "section_contract", view_data_ready: false, ip_check: "#hdf_ip_check", sale: { init: function () { $('#tab_sale a[href="#div_quote"]').tab('show'); $('.selectpicker').selectpicker(); shared.ViewFunc.LoadValueSelectFirst('#drl_type'); shared.ViewFunc.LoadValueSelectFirst('#drl_year_buy'); }, load_premium: function (_callback) { let dd = shared.GetInput.Div('div_motorcycle'); const dd_check = shared.GetInput.Div('div_quote'); const dd_json = JSON.stringify(dd_check); const dd_code = CryptoJS.SHA256(dd_json).toString(); $(view_motorcycle.ip_check).val(dd_code); dd = API.CreateDataSend('vehicle/motorcycle/load/premium', dd); API.POST(dd, function (e) { $('#div_contain_premium').html(e); $("#div_contain_image").removeClass("visible").addClass("hidden"); if (_callback != null) _callback(); else Loading.Hide(); }); }, load_contract: function (_callback) { let dd_code_check = $(view_motorcycle.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"); let dd = shared.GetInput.Div('div_motorcycle'); dd = API.CreateDataSend('base/load/city/district', dd); API.POST(dd, function (e) { $('.selectpicker').selectpicker(); const dd_json = JSON.parse(e); shared.ViewFunc.SelectPickerAddOption(dd_json, "1", "drl_buyer_city"); shared.CreateControl.DatePicker('.datetimepicker'); view_motorcycle.share.change_active_date(); $(".input_string_number").blur(function () { shared.Other.onlyGetNumber("#" + this.id); }); $(".input_string").blur(function () { $("#" + this.id).val($("#" + this.id).val().replaceAll(" ", "")) }); shared.ViewFunc.ScrollId('#div_motorcycle'); if (_callback != null) _callback(); else Loading.Hide(); }); }, change_city: function (_city_control_id, _district_control_id) { shared.ViewFunc.SelectPicker_Single_Remove_Option(_district_control_id); let dd = {root_id: $("#" + _city_control_id).val()}; dd = API.CreateDataSend('base/load/district', dd); API.POST(dd, function (e) { Loading.Hide(); const 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); } view_motorcycle.sale.change_check_vpa(_item_id); }, change_check_vpa: function (_item_id) { if ($("#" + _item_id).is(":checked")) { $("#div_vpa").removeClass("hidden"); shared.ViewFunc.LoadValueSelectFirst('#drl_package'); shared.ViewFunc.LoadValueSelectFirst('#drl_seat'); } else { $("#div_vpa").addClass("hidden"); $("#drl_seat").selectpicker('val', ''); $("#drl_seat").selectpicker('refresh'); $("#drl_package").selectpicker('val', ''); $("#drl_package").selectpicker('refresh'); } }, back_quote: function () { $('#tab_sale a[href="#div_quote"]').tab('show'); shared.ViewFunc.ScrollId('#div_motorcycle'); $("#div_btn_premium").removeClass("hidden").addClass("visible"); }, register: function (_url, _callback) { _url ??= 'vehicle/motorcycle/register'; let dd = shared.GetInput.Div('div_motorcycle'); dd = API.CreateDataSend(_url, dd); API.POST(dd, function (data) { if (_callback != null) _callback(data); else { $('#div_contract').html(data); shared.ViewFunc.ScrollId('#div_motorcycle'); Loading.Hide(); } }); }, }, share: { change_active_date: function (_id) { if (_id == null) _id = ""; let date = shared.DateTimeFunc.stringToDate($("#active_date" + _id).val(), "dd/MM/yyyy"); const year_buy = parseInt($("#drl_year_buy option:selected").text()); date = shared.DateTimeFunc.date_add_year(date, year_buy); $("#inactive_date" + _id).val(shared.DateTimeFunc.convertDatetoString(date)); shared.DateTimeFunc.control_input_lock('#inactive_date' + _id, true); }, }, init: function (_callback) { shared.ViewFunc.ScrollId('#section_header'); shared.CreateControl.FormCustom('#' + view_motorcycle.section_contract); sha_control_checked.init(); sha_control_checked.init('div_motor_vpa', function (_this, _checked) { view_motorcycle.change_check_vpa(_checked); }) sha_control_select.init('drl_year_buy', 0, function () { view_motorcycle.premium(); view_web_shared.change_active_date(); }); sha_control_select.init('drl_motor_type', 0, function () { view_motorcycle.premium(); }); sha_control_select.init('drl_package', 0, function () { view_motorcycle.premium(); }); sha_control_select.init('drl_seat', 0, function () { view_motorcycle.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_owner_vehicle_city', 0, function (e) { view_web_shared.location_load_district('drl_owner_vehicle_district', e); }); sha_control_checked.init('chk_owner_vehicle', function (_this, _checked) { view_motorcycle.change_chk_owner_vehicle(_checked); }); if (_callback != null) _callback(); }, change_check_vpa: function (_checked) { if (_checked) { $("#div_vpa").removeClass("d-none"); } else { $("#div_vpa").addClass("d-none"); } view_motorcycle.premium(); }, change_chk_owner_vehicle: function (_checked) { let ll_input = [ ["buyer_fullname", "owner_vehicle_fullname"], ["buyer_email", "owner_vehicle_email"], ["buyer_phone", "owner_vehicle_phone"], ["buyer_job", "owner_vehicle_job"], ["buyer_identity_card", "owner_vehicle_identity_card"], ["buyer_address", "owner_vehicle_address"] ]; 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); } } sha_control_select.set_val('drl_owner_vehicle_relationship', 'c5592795-cc0b-413a-9ed6-2ece41c2eb15'); let buyer_gender = sha_control_select.get_val('drl_buyer_gender'); sha_control_select.set_val('drl_owner_vehicle_gender', buyer_gender); let buyer_city = sha_control_select.get_val('drl_buyer_city'); let buyer_district = sha_control_select.get_val('drl_buyer_district'); sha_control_select.set_val('drl_owner_vehicle_city', buyer_city); view_web_shared.location_load_district('drl_owner_vehicle_district', buyer_city, buyer_district); //let buyer_birthday = sha_control_datetime.get_value('buyer_birthday'); //sha_control_datetime.set_value('owner_vehicle_birthday', 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_owner_vehicle_relationship'); sha_control_select.clear_select_val('drl_owner_vehicle_gender'); sha_control_select.clear_select_val('drl_owner_vehicle_city'); sha_control_select.clear_select_val('drl_owner_vehicle_district'); //sha_control_datetime.clear_val('owner_vehicle_birthday'); } }, load: function () { let send_data = shared.GetInput.Div('section_para_url'); send_data = API.CreateDataSend('vehicle/motorcycle/load/data', send_data); API.POST(send_data, function (e) { $('#' + view_motorcycle.section_contract).html(e); view_motorcycle.init(function () { func_set_value_input(function () { view_web_shared.change_kind_action(); view_web_shared.change_kind_customer(); view_motorcycle.view_data_ready = true; view_motorcycle.premium(); }) }) Loading.Hide(); }); }, premium: function (_callback) { if (!view_motorcycle.view_data_ready && _callback == null) return; let send_data = shared.GetInput.Div('div_quote'); send_data = API.CreateDataSend('vehicle/motorcycle/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(e); else { const year_buy = sha_control_select.get_text('drl_year_buy'); $("#sp_year_buy").text(year_buy); const motor_type = sha_control_select.get_text('drl_motor_type'); $("#sp_motor_type").text(motor_type); 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_web_shared.change_active_date(); } else { let dd = shared.GetInput.Div(view_motorcycle.section_contract); _url ??= 'vehicle/motorcycle/install'; dd = API.CreateDataSend(_url, dd); API.POST(dd, function (data) { view_motorcycle.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_motorcycle.section_contract); dd.sale_code = $('#hdf_sale_code').val(); dd = API.CreateDataSend(_url, dd); API.POST(dd, function (data) { view_motorcycle.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_motorcycle.section_contract).html(_data); $("#section_action").html(''); $("#section_action").addClass("d-none"); shared.ViewFunc.ScrollId('#' + view_motorcycle.section_contract); $("#title_info_final").text(title_info_final); Loading.Hide(); } } };