var view_group_accident_health = { ip_check: "#hdf_ip_check", tbl_contract: "#tbl_contract_list", tbl_insured_person: "#tbl_insured_person_list", div_group_accident_health: "div_group_accident_health", session: { init: function () { shared.CreateControl.DataTable.Render(view_group_accident_health.tbl_contract); }, load_list: function () { $('#' + view_group_accident_health.div_group_accident_health).html(""); var dd = API.CreateDataSend('human/group/accident/health/session/list', {}); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_session').html(e); }); }, load_item: function (_contract_id) { $('#div_contain_session').html(""); var dd = { contract_id: _contract_id }; dd = API.CreateDataSend('human/group/accident/health/session/item', dd); API.POST(dd, function (e) { Loading.Hide(); $('#' + view_group_accident_health.div_group_accident_health).html(e); }); } }, sale: { init: function () { $('#tab_sale a[href="#div_quote"]').tab('show'); $('.selectpicker').selectpicker(); shared.ViewFunc.LoadValueSelectFirst('#drl_year_buy'); shared.ViewFunc.LoadValueSelectFirst('#drl_customer'); view_group_accident_health.sale.change_customer() shared.CreateControl.DataTable.Render(view_group_accident_health.tbl_insured_person); }, load_premium: function () { var dd_check = shared.GetInput.Div('div_check_premium'); var dd_json = JSON.stringify(dd_check); var dd_code = CryptoJS.SHA256(dd_json).toString(); $(view_group_accident_health.ip_check).val(dd_code); //============================================================================================= var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd = API.CreateDataSend('human/group/accident/health/load/premium', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_premium').html(e); }); }, check_data: function () { let dd_code_check = $(view_group_accident_health.ip_check).val(); let dd_data_check = shared.GetInput.Div('div_check_premium'); 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; } //============================================================================================= var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd = API.CreateDataSend('human/group/accident/health/check/data', dd); API.POST(dd, function (e) { Loading.Hide(); view_group_accident_health.sale.load_contract(); }); }, load_contract: function () { $('#tab_sale a[href="#div_contract"]').tab('show'); $(".div_btn_premium").addClass("hidden"); var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd = API.CreateDataSend('base/load/city/district', dd); API.POST(dd, function (e) { $('.selectpicker').selectpicker(); var dd_json = JSON.parse(e); shared.ViewFunc.SelectPickerAddOption(dd_json, "1", "drl_buyer_city"); shared.ViewFunc.SelectPickerAddOption(dd_json, "2", "drl_buyer_district"); shared.CreateControl.DatePicker('.datetimepicker'); shared.CreateControl.BirthdayPicker("#txt_buyer_birthday"); view_group_accident_health.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('#' + view_group_accident_health.div_group_accident_health); Loading.Hide(); }); }, change_customer: function () { var config = $("#drl_customer").find(':selected').attr('config'); if (config !== "") { config = JSON.parse(config); if (config.customer_kind === "family") { $(".div_family").addClass("visible").removeClass("hidden"); $(".div_company").addClass("hidden").removeClass("visible"); //========================================================== $("#lb_buyer_fullname").text("Họ và tên (*)"); $("#lb_buyer_birthday").text("Ngày sinh (*)"); $("#lb_buyer_job").text("Nghề nghiệp"); } else if (config.customer_kind === "company") { $(".div_company").addClass("visible").removeClass("hidden"); $(".div_family").addClass("hidden").removeClass("visible"); //=========================================================== $("#lb_buyer_fullname").text("Tên doanh nghiệp (*)"); $("#lb_buyer_birthday").text("Ngày thành lập"); $("#lb_buyer_job").text("Ngành nghề kinh doanh"); } } }, 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); }); }, change_answer: function (_item_id) { var answer = $('input:radio[name="' + _item_id + '"]:checked').val(); if (answer == "no") { $("#answer_yes_" + _item_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"); } }, back_quote: function () { $('#tab_sale a[href="#div_quote"]').tab('show'); shared.ViewFunc.ScrollId('#' + view_group_accident_health.div_group_accident_health); $(".div_btn_premium").removeClass("hidden"); }, register: function () { var dd = shared.GetInput.Div('div_group_accident_health'); dd.customer_config = $("#drl_customer").find(':selected').attr('config'); dd = API.CreateDataSend('human/group/accident/health/register', dd); API.POST(dd, function (data) { $('#div_contract').html(data); shared.ViewFunc.ScrollId('#div_group_accident_health'); Loading.Hide(); }, function (_mess, _value, _type) { if (_type === "yesno") { $('#hdf_sale_cache').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) { var dd = shared.GetInput.Div('div_group_accident_health'); dd.sale_cache = $('#hdf_sale_cache').val(); dd.customer_config = $("#drl_customer").find(':selected').attr('config'); dd = API.CreateDataSend('human/group/accident/health/register', dd); API.POST(dd, function (data) { $('#div_contract').html(data); shared.ViewFunc.ScrollId('#div_group_accident_health'); Loading.Hide(); }); } else { $('#hdf_sale_cache').val(""); } }); } else func_notification.Info(_mess); Loading.Hide(); }); }, }, insured_person: { upload_file: function (_this) { let fileSize = _this.files[0].size / 1024 / 1024; // in MB if (fileSize > 10) { func_notification.Info('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_group_accident_health.insured_person.load_excel(); }); } }, load_excel: function () { var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd = API.CreateDataSend('human/group/accident/health/load/excel', dd); API.POST(dd, function (e) { Loading.Hide(); func_notification.Warning('Lưu ý bạn vừa thêm ' + e + ' hồ sơ. Vui lòng xem lại thông tin và hãy bấm nút [Sửa] để cập nhật thông tin nếu sai sót'); view_group_accident_health.insured_person.clear_file(); view_group_accident_health.insured_person.load_list(); }); }, 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'); }, load_list: function () { $('#div_contain_insured_person_list').html(""); var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd = API.CreateDataSend('human/group/accident/health/insured/person/list', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_insured_person_list').html(e); shared.CreateControl.DataTable.Render(view_group_accident_health.tbl_insured_person); view_group_accident_health.sale.load_premium(); }); }, load_edior: function (_insured_person_id) { $('#div_contain_insured_person_editor').html(""); var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd.insured_person_id = _insured_person_id; dd = API.CreateDataSend('human/group/accident/health/insured/person/load', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_insured_person_editor').html(e); shared.ModalFunc.ModalShow('div_insured_person'); $('.selectpicker').selectpicker(); shared.ViewFunc.LoadValueSelectByClass('js_insured'); shared.CreateControl.BirthdayPicker("#txt_insured_person_birthday"); shared.CreateControl.BirthdayPicker("#txt_beneficiary_birthday"); view_group_accident_health.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(" ", "")) }); view_group_accident_health.sale.change_chk_beneficiary() }); }, choose_answer_no: function (_item_id) { $("#rad_answer_no_" + _item_id).prop("checked", true); $("#answer_yes_" + _item_id).val(""); }, choose_answer_yes: function (_item_id) { $("#rad_answer_yes_" + _item_id).prop("checked", true); }, complete_editor: function () { let dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd = API.CreateDataSend('human/group/accident/health/insured/person/complete', dd); API.POST(dd, function (e) { Loading.Hide(); shared.ModalFunc.ModalHide('div_insured_person'); view_group_accident_health.insured_person.load_list(); }); }, }, remove: { contract: function (_cer, _reg) { func_notification.YesNo("Xóa hợp đồng: " + _cer, "Xác nhận", function (e) { if (e) { let dd = { contract_id: _reg }; dd = API.CreateDataSend('human/group/accident/health/remove/contract', dd); API.POST(dd, function () { view_group_accident_health.session.load_list(); }); } }); }, all: function () { func_notification.YesNo("Xóa toàn bộ người được bảo hiểm", "Xác nhận", function (e) { if (e) { var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd = API.CreateDataSend('human/group/accident/health/remove/all', dd); API.POST(dd, function () { view_group_accident_health.insured_person.load_list(); }); } }); }, load_group: function () { var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd = API.CreateDataSend('human/group/accident/health/load/group', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_group_remove').html(e); shared.ModalFunc.ModalShow('div_group_remove'); $('.selectpicker').selectpicker(); }); }, group: function () { var dd = shared.GetInput.Div('div_group_remove'); var group_list = ""; var item_list = document.getElementsByName("item_checked"); for (var i = 0; i < item_list.length; i++) { if ($("#" + item_list[i].id).is(':checked') == true) { group_list = group_list + "," + item_list[i].id; } } dd.group_list = group_list; dd = API.CreateDataSend('human/group/accident/health/remove/group', dd); API.POST(dd, function (e) { Loading.Hide(); shared.ModalFunc.ModalHide('div_group_remove'); view_group_accident_health.insured_person.load_list(); }); }, item: function (_insured_person_id, _insured_name) { func_notification.YesNo("Xóa người được bảo hiểm tên: " + _insured_name, "Xác nhận", function (e) { if (e) { var dd = shared.GetInput.Div(view_group_accident_health.div_group_accident_health); dd.insured_person_id = _insured_person_id; dd = API.CreateDataSend('human/group/accident/health/remove/item', dd); API.POST(dd, function () { view_group_accident_health.insured_person.load_list(); }); } }); }, }, share: { change_active_date: function (_id) { if (_id == null) _id = ""; var date = shared.DateTimeFunc.stringToDate($("#active_date" + _id).val(), "dd/MM/yyyy"); var 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); }, choose_additional_term: function (_item_id) { if ($('#' + _item_id).is(":checked")) { $("#" + _item_id).prop("checked", false); } else { $("#" + _item_id).prop("checked", true); } }, }, };