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();
});
},
};