var view_group_general_health_check = { ip_check: "#hdf_ip_check", tbl_contract: "#tbl_contract_list", tbl_insured_person: "#tbl_insured_person_list", div_group_general_health_check: "div_group_general_health_check", session: { init: function () { shared.CreateControl.DataTable.Render(view_group_general_health_check.tbl_contract); }, load_list: function () { $('#' + view_group_general_health_check.div_group_general_health_check).html(""); var dd = API.CreateDataSend('human/group/general/health/check/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/general/health/check/session/item', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_general_health_check').html(e); }); } }, sale: { init: function () { $('#tab_sale a[href="#div_quote"]').tab('show'); shared.CreateControl.DataTable.Render(view_group_general_health_check.tbl_insured_person); sha_control_select.init('drl_customer', 0, function () { view_group_general_health_check.sale.change_customer(); }); $(".input_string").blur(function () { $("#" + this.id).val($("#" + this.id).val().replaceAll(" ", "")); }); $(".input_string_number").blur(function () { shared.Other.onlyGetNumber("#" + this.id); }); view_group_general_health_check.sale.make_check_data(); }, change_customer: function () { //var config = $("#drl_customer").find(':selected').attr('config'); let kind_list = $('#drl_customer .--select-item .active'); let config = ""; if (kind_list.length > 0) { let item = kind_list[0]; config = shared.GetInput.Attributes(item, 'select_config'); } if (config !== "") { config = JSON.parse(config); if (config.customer_kind === "company") { $(".div_company").removeClass("d-none"); $(".div_family").addClass("d-none"); //=========================================================== $("#lb_buyer_fullname").text("Tên doanh nghiệp (*)"); $("#lb_txt_buyer_birthday").text("Ngày thành lập"); $("#lb_txt_buyer_job").text("Ngành nghề kinh doanh"); } else { $(".div_family").removeClass("d-none"); $(".div_company").addClass("d-none"); //========================================================== $("#lb_buyer_fullname").text("Họ và tên (*)"); $("#lb_txt_buyer_birthday").text("Ngày sinh (*)"); $("#lb_txt_buyer_job").text("Nghề nghiệp"); } } }, load_premium: function () { view_group_general_health_check.sale.make_check_data(); //============================================================================================= var dd = shared.GetInput.Div(view_group_general_health_check.div_group_general_health_check); dd = API.CreateDataSend('human/group/general/health/check/load/premium', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_premium').html(e); }); }, make_check_data: 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_general_health_check.ip_check).val(dd_code); }, check_data: function () { let dd_code_check = $(view_group_general_health_check.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_general_health_check.div_group_general_health_check); dd = API.CreateDataSend('human/group/general/health/check/valid/data', dd); API.POST(dd, function (data) { Loading.Hide(); view_group_general_health_check.sale.load_contract(); let code_encrypt = $("#hdf_code_encrypt").val(); if (!shared.Valid.String(code_encrypt)) { view_group_general_health_check.sale.load_defaut_buyer(data); } }); }, load_contract: function () { $('#tab_sale a[href="#div_contract"]').tab('show'); $(".div_btn_premium").addClass("d-none"); shared.ViewFunc.ScrollId('#' + view_group_general_health_check.div_group_general_health_check); }, load_defaut_buyer: function (_data) { let defaut_data = JSON.parse(_data); let default_insured_person = defaut_data.default_insured_person; if (shared.Valid.String(default_insured_person.option_value)) { sha_control_input.set_val('buyer_fullname', default_insured_person.option_value); sha_control_input.set_val('buyer_email', default_insured_person.option_value1); sha_control_input.set_val('buyer_identity_card', default_insured_person.option_value2); sha_control_input.set_val('buyer_phone', default_insured_person.option_value3); sha_control_select.set_val('drl_buyer_gender', default_insured_person.option_value5); sha_control_datetime.set_value('txt_buyer_birthday', default_insured_person.option_value4); sha_control_select.set_val('drl_buyer_city', default_insured_person.option_value6); //sha_control_select.set_val('drl_buyer_district', default_insured_person.option_value7); sha_control_input.set_val('buyer_address', default_insured_person.option_value8); sha_control_select.init('drl_buyer_city', 0, function (e) { view_group_general_health_check.share.location_load_district('drl_buyer_district', e, default_insured_person.option_value7); }); } //shared.CreateControl.FormCustom('#div_contain_insured_person'); //var minDate = new Date(this.year - 100, this.month, this.day); //shared.CreateControl.DateBOD('.datebirthday', minDate, new Date()); }, back_quote: function () { $('#tab_sale a[href="#div_quote"]').tab('show'); shared.ViewFunc.ScrollId('#' + view_group_general_health_check.div_group_general_health_check); $(".div_btn_premium").removeClass("d-none"); }, register: function () { let kind_list = $('#drl_customer .--select-item .active'); let customer_config = ""; if (kind_list.length > 0) { let item = kind_list[0]; customer_config = shared.GetInput.Attributes(item, 'select_config'); } var send_url = 'human/group/general/health/check/register'; var send_data = shared.GetInput.Div(view_group_general_health_check.div_group_general_health_check); send_data.customer_config = customer_config; var dd = API.CreateDataSend(send_url, send_data); API.POST(dd, function (data) { view_group_general_health_check.sale.register_init(data); }, 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) { send_data.sale_cache = $('#hdf_sale_cache').val(); dd = API.CreateDataSend(send_url, send_data); API.POST(dd, function (data) { view_group_general_health_check.sale.register_init(data); }); } else { $('#hdf_sale_cache').val(""); } }); } else func_notification.Info(_mess); Loading.Hide(); }); }, register_init: function (_data) { $('#div_contract').html(_data); shared.ViewFunc.ScrollId('#' + view_group_general_health_check.div_group_general_health_check); $("#div_contain_insured_person_list").addClass("d-none"); let code_encrypt = $("#hdf_code_encrypt").val(); if (shared.Valid.String(code_encrypt)) { $("#title_info_final").text('Cập nhật thành công!'); } 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_general_health_check.insured_person.load_excel(); }); } }, load_excel: function () { var dd = shared.GetInput.Div(view_group_general_health_check.div_group_general_health_check); dd = API.CreateDataSend('human/group/general/health/check/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_general_health_check.insured_person.clear_file(); view_group_general_health_check.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_general_health_check.div_group_general_health_check); dd = API.CreateDataSend('human/group/general/health/check/insured/person/list', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_insured_person_list').html(e); shared.CreateControl.DataTable.Render(view_group_general_health_check.tbl_insured_person); view_group_general_health_check.sale.load_premium(); }); }, load_edior: function (_insured_person_id) { $('#div_contain_insured_person_editor').html(""); var dd = shared.GetInput.Div(view_group_general_health_check.div_group_general_health_check); dd.insured_person_id = _insured_person_id; dd = API.CreateDataSend('human/group/general/health/check/insured/person/load', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_insured_person_editor').html(e); shared.ModalFunc.ModalShow('div_insured_person'); shared.CreateControl.BirthdayPicker("#txt_insured_person_birthday"); }); }, close: function () { $('#div_contain_insured_person_editor').html(''); shared.ModalFunc.ModalHide('div_insured_person'); }, complete_editor: function () { let dd = shared.GetInput.Div(view_group_general_health_check.div_group_general_health_check); dd = API.CreateDataSend('human/group/general/health/check/insured/person/complete', dd); API.POST(dd, function () { Loading.Hide(); shared.ModalFunc.ModalHide('div_insured_person'); view_group_general_health_check.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/general/health/check/remove/contract', dd); API.POST(dd, function () { view_group_general_health_check.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_general_health_check.div_group_general_health_check); dd = API.CreateDataSend('human/group/general/health/check/remove/all', dd); API.POST(dd, function () { view_group_general_health_check.insured_person.load_list(); }); } }); }, load_group: function () { var dd = shared.GetInput.Div(view_group_general_health_check.div_group_general_health_check); dd = API.CreateDataSend('human/group/general/health/check/load/group', dd); API.POST(dd, function (e) { Loading.Hide(); $('#div_contain_group_remove').html(e); shared.ModalFunc.ModalShow('div_group_remove'); $('.selectpicker').selectpicker(); }); }, close: function () { $('#div_contain_group_remove').html(''); shared.ModalFunc.ModalHide('div_group_remove'); }, 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/general/health/check/remove/group', dd); API.POST(dd, function (e) { Loading.Hide(); shared.ModalFunc.ModalHide('div_group_remove'); view_group_general_health_check.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_general_health_check.div_group_general_health_check); dd.insured_person_id = _insured_person_id; dd = API.CreateDataSend('human/group/general/health/check/remove/item', dd); API.POST(dd, function () { view_group_general_health_check.insured_person.load_list(); }); } }); }, }, share: { change_active_date: function () { let time_list = $('#drl_year_buy .--select-item .active'); let time_config = "1"; if (time_list.length > 0) { let item = time_list[0]; time_config = shared.GetInput.Attributes(item, 'time_config'); } var time_buy = parseInt(time_config); let date = shared.DateTimeFunc.stringToDate($("#active_date").val(), "dd/MM/yyyy"); date = shared.DateTimeFunc.date_add_year(date, time_buy); var time_value = shared.DateTimeFunc.convertDatetoString(date); sha_control_input.set_val('#inactive_date', time_value) shared.DateTimeFunc.control_input_lock('#inactive_date', true); }, choose_additional_term: function (_item_id) { if ($('#' + _item_id).is(":checked")) { $("#" + _item_id).prop("checked", false); } else { $("#" + _item_id).prop("checked", true); } }, benefit_config: function (config, root_id) { if (root_id != "") { root_id = '#' + root_id + ' '; } if (config != "") { config = JSON.parse(config); $(root_id + "#sp_amount_limit").text(config.BENEFIT.AMOUNT_LIMIT); $(root_id + "#sp_amount_health").text(config.BENEFIT.AMOUNT_HEALTH); $(root_id + "#sp_health_inpatient_treatment").text(config.BENEFIT.HEALTH_INPATIENT_TREATMENT); $(root_id + "#sp_health_allowance_surgery_no").text(config.BENEFIT.HEALTH_ALLOWANCE_SURGERY_NO); $(root_id + "#sp_health_allowance_surgery").text(config.BENEFIT.HEALTH_ALLOWANCE_SURGERY); $(root_id + "#sp_health_date_surgery_no").text(config.BENEFIT.HEALTH_DATE_SURGERY_NO); $(root_id + "#sp_health_date_surgery").text(config.BENEFIT.HEALTH_DATE_SURGERY); $(root_id + "#sp_health_surgery_cost").text(config.BENEFIT.HEALTH_SURGERY_COST); $(root_id + "#sp_amount_accident").text(config.BENEFIT.AMOUNT_ACCIDENT); $(root_id + "#sp_accident_allowance_amount").text(config.BENEFIT.ACCIDENT_ALLOWANCE_AMOUNT); $(root_id + "#sp_accident_allowance_date").text(config.BENEFIT.ACCIDENT_ALLOWANCE_DATE); $(root_id + "#sp_amount_test").text(config.BENEFIT.AMOUNT_TEST); } }, location_load_district: function (_control, _root_id, _control_value) { var dd = { root_id: _root_id }; dd = API.CreateDataSend('base/load/district', dd, { loading: false }); API.POST(dd, function (e) { try { var dd_json = JSON.parse(e); let ll_items = []; for (let i = 0; i < dd_json.length; i++) { let item = dd_json[i]; ll_items.push([item.id, item.name]); } sha_control_select.option_adds(_control, ll_items); sha_control_select.init(_control, 0); if (_control_value != null) { sha_control_select.set_val(_control, _control_value, 0) } } catch (e) { } Loading.Hide(); }); }, }, };