nhance-enrollment/app/Views/policy_transaction_endorsement_form.php

2175 lines
115 KiB
PHP
Executable File

<style>
.co_share_table {
width: 39% !important;
/* margin-bottom: 1rem;
color: #212529; */
}
#insurerTableContainer {
/* max-height: 400px; */
overflow-y: auto;
margin-top: 20px;
/* overflow-x: auto; */
position: relative;
}
#insurerTable thead th:first-child,
#insurerTable tbody td:first-child {
position: sticky;
left: 0;
background-color: #fff;
z-index: 1;
width: 200px;
min-width: 200px;
max-width: 200px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
#insurerTable input[type="text"] {
border: none;
box-shadow: none;
outline: none;
width: 100%;
}
#insurerTable th,
#insurerTable td {
padding: 5px;
height: 30px;
vertical-align: middle;
}
#insurerTable select {
height: 30px;
padding: 2px 5px;
}
#insurerTable input[type="checkbox"] {
margin: 0;
height: 20px;
width: 20px;
}
#insurerTable th,
#insurerTable th {
min-width: 230px;
}
.readonly-color {
background-color: #e0e0e0; /* Darker background */
color: #666; /* Darker text color */
}
.readonly-select {
pointer-events: none;
background-color: #f0f0f0;
color: #666;
}
.select2-hidden-accessible + .select2-container .select2-dropdown {
display: none !important;
}
.select2-container .select2-selection--multiple .select2-selection__choice {
color: #000000;
}
.right-align-input {
text-align: right;
}
.input-with-percentage {
position: relative;
}
.input-with-percentage input {
padding-right: 20px;
text-align: right;
}
.input-with-percentage::after {
content: '%';
position: absolute;
right: 5px;
top: 50%;
transform: translateY(-50%);
font-weight: bold;
color: #000;
}
</style>
<div class="row" id="endorsement_form" style="display: none;">
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Add Endorsement</h4>
</div>
<div class="col-6" style="text-align: right;">
<a href="<?= base_url('policy_tranction/endorsement/list') ?>" id="btnAdd" class="btn btn-primary waves-effect waves-light"
>Back</a>
</div>
</div>
<form role="form" class="parsley-examples" method="post" id="endorsement_form_id" enctype="multipart/form-data">
<input type="hidden" name="id" id="policy_tranction_primarykey">
<input type="hidden" name="client_id" id="client_id_for_edit">
<input type="hidden" name="insurer_id" id="insurer_id">
<input type="hidden" name="cd_ac_no" id="cd_ac_no">
<input type="hidden" name="ct_type" id="ct_type">
<!-- Client Row -->
<div class="row">
<!-- Section 1 -->
<div class="col-md-12">
<div class="form-section">
<div id="accordion_0" class="mb-0">
<div class="card mb-0">
<h4 class="m-1">Client Details
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_0">
<div class="row">
<div class="form-group col-md-3">
<label for="client_type">Client Type<span class="text-danger"></span></label>
<select class="form-control" id="client_type" name="client_type" >
<option value="">Select Client type</option>
<option value="1">Group</option>
<option value="2">Individual</option>
</select>
</div>
<div class="form-group col-md-3">
<label for="client_branch">Client<span class="text-danger">*</span></label>
<select class="form-control" id="client_id" name="client_id" required>
<option value="">Select Client</option>
<option value="add_client"> + Add Client</option>
</select>
</div>
<div class="form-group col-md-3 branchdiv">
<label for="client_branch">Branch<span class="text-danger"></span></label>
<select class="form-control" id="client_branch_id" name="client_branch_id">
<option value="">Select Branch</option>
</select>
</div>
<div class="form-group col-md-3">
<label for="email"> Policy <span class="text-danger">*</span></label>
<select class="form-control" id="client_policy_id" name="client_policy_id" required>
<option value="">Select Policy</option>
</select>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- sales Row -->
<div class="row" id="sales_row">
<div class="col-md-12">
<div class="form-section">
<div id="accordion_2" class="mb-0">
<div class="card mb-0">
<h4 class="m-1">Endorsement
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseThree" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseThree" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_2">
<div class="row">
<div class="form-group col-md-3">
<label for="tpa"> TPA <span id="tpa_danger"class="text-danger"></span></label>
<select class="form-control readonly-select" id="tpa" name="tpa" >
<option value="" selected>Select TPA</option>
<?php foreach ($tpa as $value) { ?>
<option value="<?= $value['id'] . '-' . $value['tpa_id'] ?>">
<?= $value['tpa_short_name'] . '-' . $value['branch_code'] ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Policy No<span id="base_danger"class="text-danger"></span></label>
<input type="text" class="form-control" id="policy_no" name="policy_no"placeholder="Enter Policy No" readonly>
</div>
<div class="form-group col-md-3">
<label for="bp_cgst">D.O.C <span id="base_danger" class="text-danger"></span></label>
<input id="policy_start_date" type="text" class="form-control" placeholder="DD/MM/YYYY" readonly>
</div>
<div class="form-group col-md-3">
<label for="bp_igst">D.O.E <span id="base_danger" class="text-danger"></span></label>
<input id="policy_end_date" type="text" class="form-control" placeholder="DD/MM/YYYY" readonly>
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Policy Issue Month<span id="base_danger" class="text-danger">*</span></label>
<input type="text" class="form-control" id="month" name="month" placeholder="MM/YYYY" >
</div>
<div class="form-group col-md-3">
<label for="addon_policy"> Endorsement Type <span id="base_danger" class="text-danger">*</span></label>
<select class="form-control" id="action_type" name="action_type" required>
<option value="" selected>Select Endorsement Type</option>
<?php
if (isset($action_type) && count($action_type)) {
foreach ($action_type as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Endorsement No<span id="base_danger" class="text-danger"></span></label>
<input type="text" class="form-control" id="endorsement_no" name="endorsement_no" placeholder="Enter Endorsement No" >
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Data Received Date<span id="base_danger" class="text-danger">*</span></label>
<input type="text" class="form-control" id="data_received_date" name="data_received_date" placeholder="DD/MM/YYYY" required>
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Closure Date<span id="base_danger" class="text-danger">*</span></label>
<input type="text" class="form-control" id="closure_date" name="closure_date" placeholder="DD/MM/YYYY" required>
</div>
<div class="form-group col-md-3">
<label for="endorse_eff_date">Endorsement Effective Date<span id="base_danger" class="text-danger"></span></label>
<input type="text" class="form-control" id="endorse_eff_date" name="endorse_eff_date" placeholder="DD/MM/YYYY" >
</div>
<div class="form-group col-md-3">
<label for="addon_policy">No of Insured<span id="base_danger"class="text-danger"></span></label>
<input type="text" class="form-control" id="emp_count" name="emp_count" placeholder="Enter Employeee" onkeypress="return onlyNumbers(event)">
</div>
<div class="form-group col-md-3">
<label for="addon_policy">No of Dependents<span id="base_danger" class="text-danger"></span></label>
<input type="text" class="form-control" id="dependent_count" name="dependent_count" placeholder="Enter Dependent" onkeypress="return onlyNumbers(event)">
</div>
</div>
<hr>
<div class="row">
<div class="form-group col-md-3">
<label for="addon_policy"> Status <span id="base_danger"class="text-danger">*</span></label>
<select class="form-control" id="policy_status" name="status" required>
<option value="" selected>Select Status</option>
<?php
if (isset($policy_status) && count($policy_status)) {
foreach ($policy_status as $key => $value) {
if($key == 'pending'){
echo "<option value=" . $key . " selected>" . $value . "</option>";
}else{
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
}
?>
</select>
</div>
</div>
<hr>
<!-- Premium Details -->
<div class="row">
<div class="col-md-12">
<div class="form-section">
<div id="accordion_3" class="mb-0">
<div class="card mb-0">
<h4 class="m-1">Premium Details
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseFour" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseFour" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_3">
<div class="row d-none" id="add_more_row">
<div class="col-md-2">
<input type="number" id="setInsurerCount" class="form-control" placeholder="Enter count">
</div>
<!-- <div class="col-md-2">
<a id="addInsurer" class="btn btn-primary mb-3">Add Insurer</a>
</div> -->
<!-- <div class="col-md-1">
<a id="submitForm" class="btn btn-success mb-3">Submit</a>
</div> -->
</div>
<div id="insurerTableContainer" style="overflow: auto;">
<table class="table table-bordered co_share_table" id="insurerTable">
<thead>
<tr>
<th>Premium Details</th>
</tr>
</thead>
<tbody>
<tr id="table_tr_1">
<td>Insurer</td>
</tr>
<tr id="table_tr_2" style="display: none;">
<td>Is Leader?</td>
</tr>
<tr id="table_tr_3" style="display: none;">
<td>Co-Share %</td>
</tr>
<tr id="table_tr_4">
<td>Base Premium</td>
</tr>
<tr class="hidetp" id="table_tr_5">
<td id="tp_premium_td">TP Premium</td>
</tr>
<tr class="hideter" id="table_tr_6" style="display: none;">
<td>TEP Premium</td>
</tr>
<tr id="table_tr_7" style="display: none;">
<td>Co-Premium</td>
</tr>
<tr id="table_tr_8">
<td>CGST</td>
</tr>
<tr id="table_tr_9">
<td>SGST</td>
</tr>
<tr id="table_tr_10">
<td>IGST</td>
</tr>
<tr id="table_tr_11">
<td>GST Amount</td>
</tr>
<tr id="table_tr_12">
<td>Stamp Duty</td>
</tr>
<tr id="table_tr_13">
<td>Total</td>
</tr>
<tr id="table_tr_14">
<td>Agreed BP %</td>
</tr>
<tr class="hidetp" id="table_tr_15">
<td id="agree_tp_td">Agreed TP %</td>
</tr>
<tr class="hideter" id="table_tr_16" style="display: none;">
<td id="agree_tp_td">Agreed TEP %</td>
</tr>
<?php if (in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<tr id="table_tr_17">
<td>Agreed Amount</td>
</tr>
<?php } ?>
<tr id="table_tr_18">
<td>Standard BP %</td>
</tr>
<tr class="hidetp" id="table_tr_19">
<td>Standard TP %</td>
</tr>
<tr class="hideter" id="table_tr_20" style="display: none;">
<td>Standard TEP %</td>
</tr>
<?php if (in_array(FINANCE_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team())) { ?>
<tr id="table_tr_21">
<td>Actual BP Amount</td>
</tr>
<tr class="hidetp" id="table_tr_22">
<td>Actual TP Amount</td>
</tr>
<tr class="hideter" id="table_tr_23" style="display: none;">
<td>Actual TEP Amount</td>
</tr>
<tr id="table_tr_24">
<td>Actual BP %</td>
</tr>
<tr class="hidetp" id="table_tr_25">
<td>Actual TP %</td>
</tr>
<tr class="hideter" id="table_tr_26" style="display: none;">
<td>Actual TEP %</td>
</tr>
<tr id="table_tr_27">
<td>Actual BP <br> Remuneration Amount</td>
</tr>
<tr class="hidetp" id="table_tr_28">
<td>Actual TP <br> Remuneration Amount</td>
</tr>
<tr class="hideter" id="table_tr_29" style="display: none;">
<td>Actual TEP <br> Remuneration Amount</td>
</tr>
<tr id="table_tr_30">
<td>Expected Amount</td>
</tr>
<tr id="table_tr_31">
<td>Variance</td>
</tr>
<tr id="table_tr_32">
<td>Reward</td>
</tr>
<?php } ?>
<tr id="table_tr_33" style="display: none;">
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group text-right m-b-0" id="submitButton">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- end form row -->
<script>
var team_id = [];
$(document).ready(function(){
team_id = <?php echo json_encode(user_team()); ?>;
console.log('team_id', team_id);
if (team_id.includes('4')) {
console.log('Finance Team Logged in.');
} else if (team_id.includes('3')) {
console.log('Business Team Logged in.');
}
getURLParamsForReport()
// hidePermiumDetailsBasedOnTheTeam()
})
$(document).ready(function(){
$('#client_id').change(function(){
let client_id = $(this).val();
// console.log('client_id', client_id);
// console.log('branch_list', branch_list);
if(client_id == 'add_client') {
$('#client_id').val('').change();
var myModal = new bootstrap.Modal(document.getElementById('upload_enrollment_model'));
myModal.show();
}
if(branch_list != '') {
// console.log(branch_list[client_id]);
let data = branch_list[client_id];
appendBranch(data);
}
if(policyListByClient != '') {
// console.log(branch_list[client_id]);
let data = policyListByClient[client_id];
appendPolicies(data);
}
})
$('#client_branch_id').change(function(){
let branch_id = $(this).val();
// console.log(policy_list)
// console.log(branch_id)
if(policy_list != '') {
console.log(policy_list[branch_id]);
let data = policy_list[branch_id];
appendPolicies(data);
}
});
$('#client_policy_id').change(function(){
console.log('######################################')
console.log('client_policy_id onchange called')
console.log('######################################')
let client_id = $('#client_id').val();
let policy_tranction_primarykey = $('#policy_tranction_primarykey').val();
let client_policy_id = $(this).val();
var policy_no = $(this).find('option:selected').attr('data-policy');
var insurer = $(this).find('option:selected').attr('data-insurer');
var tpa = $(this).find('option:selected').attr('data-tpa');
var cd_ac_no = $(this).find('option:selected').attr('data-cd');
var start_date = $(this).find('option:selected').attr('data-sd');
var end_date = $(this).find('option:selected').attr('data-ed');
// console.log('client_id', client_id);
// console.log('client_policy_id', client_policy_id);
// console.log('policy_tranction_primarykey', policy_tranction_primarykey);
// console.log('policy_no', policy_no);
// console.log('cd_ac_no',cd_ac_no);
// console.log('tpa',tpa);
$('#policy_no').val(policy_no);
$('#insurer_id').val(insurer);
$('#tpa').val(tpa).change();
$('#cd_ac_no').val(cd_ac_no);
$('#policy_start_date').val(start_date);
$('#policy_end_date').val(end_date);
if(!policy_tranction_primarykey && client_id && client_policy_id){
removeAllColumnsExceptFirst('insurerTable');
form_action = '<?= base_url("util/getPTCOShareCount/"); ?>' + client_id + '/' + client_policy_id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
console.log('policy co share data', res);
if(res.status == true){
if(res.data.length > 0){
populateTable(res.data);
}else{
addInsurerColumn()
}
}else{
addInsurerColumn()
}
// hidePermiumDetailsBasedOnTheTeam();
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
}
});
}
});
})
$(document).on('change', 'input[type="checkbox"][name="co_share_type[]"]', function() {
let isAnyChecked = $('input[type="checkbox"][name="co_share_type[]"]:checked').length > 1;
if (isAnyChecked) {
toastr.warning('Only one leader can be selected.', 'Warning!');
$(this).prop('checked', false);
}
});
// $(document).on('input', '[name="cgst[]"]', function() {
// let val = $(this).val();
// if(val){
// $('[name="igst[]"]').val(0);
// $('[name="cgst[]"]').val(val);
// $('[name="sgst[]"]').val(val);
// }else{
// $('[name="igst[]"]').val('');
// $('[name="sgst[]"]').val('');
// }
// console.log('cgst value', val);
// });
// $(document).on('input', '[name="sgst[]"]', function() {
// let val = $(this).val();
// if(val){
// $('[name="igst[]"]').val(0);
// $('[name="sgst[]"]').val(val)
// $('[name="cgst[]"]').val(val)
// }else{
// $('[name="igst[]"]').val('');
// $('[name="sgst[]"]').val('')
// $('[name="cgst[]"]').val('')
// }
// console.log('cgst value', val);
// });
// $(document).on('input', '[name="igst[]"]', function() {
// let val = $(this).val();
// if(val){
// $('[name="cgst[]"], [name="sgst[]"]').val(0);
// $('[name="igst[]"]').val(val)
// }else{
// $('[name="cgst[]"], [name="sgst[]"]').val('');
// $('[name="igst[]"]').val('')
// }
// console.log('igst value', val);
// });
$(document).on('click', '[name="co_share_type[]"]', function() {
let val = $(this).val();
let uniqueid = $(this).data('id');
let insurer = $('#follow_insurer_id_'+uniqueid).val()
var client_id = $('#client_id').val()
var insurer_id = $('#follow_insurer_id_'+uniqueid).find('option:selected').attr('data-id');
var insurer_branch_id = $('#follow_insurer_id_'+uniqueid).find('option:selected').attr('data-bid');
console.log('client_id', client_id);
console.log('insurer_id', insurer_id);
if(insurer == ""){
toastr.warning('Please select the insurer.', 'Warning!');
$(this).prop('checked', false);
}else{
if(client_id && insurer_id){
$('#insurer_id').val(insurer)
// getCDAccountNumber(client_id, insurer_id);
}else{
console.log('getCDAccountNumber cannot be call because of absence of client id and insurer id');
}
}
console.log('co_share_type value', val);
console.log('co_share_type uniqueid', uniqueid);
console.log('co_share_type insurer', insurer);
});
$(document).ready(function() {
$(document).on('change', '[name="follow_insurer_id[]"]', function() {
let insurer = $(this).val();
let client_id = $('#client_id').val();
let insurer_id = $(this).find('option:selected').attr('data-id');
let insurer_branch_id = $(this).find('option:selected').attr('data-bid');
console.log('insurer', insurer);
console.log('follow_insurer_id client_id', client_id);
console.log('follow_insurer_id insurer_id', insurer_id);
console.log('follow_insurer_id insurer_id', insurer_branch_id);
if (!$('#cop_yes').is(':checked')) {
if(client_id && insurer_id){
$('#insurer_id').val(insurer)
// getCDAccountNumber(client_id, insurer_id);
} else {
console.log('getCDAccountNumber cannot be called because of the absence of client id and insurer id');
}
}
});
});
//---------------------------------------------------------------------------------------------------------
$("#endorsement_form_id").submit(function(event) {
event.preventDefault();
var isValid = $('#endorsement_form_id').parsley().validate();
if (!isValid) {
$('#endorsement_form_id').find('input, select, textarea').each(function() {
if ($(this).parsley().isValid() === false && !$(this).val()) {
console.log('Empty field ID:', this.id);
}
});
console.log('Form is Empty', 'Warning');
return;
}
form_action = '<?= base_url('policy_tranction/endorsement/create') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
var formData = new FormData($('#endorsement_form_id')[0]);
$.ajax({
data: formData,
url: form_action,
type: "POST",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.log('inception_form_response', res)
if (res.status == true) {
toastr.success(res.message, 'Success');
$('#policy_tranction_primarykey').val(res.pt_id);
window.location.href = '<?= base_url('policy_tranction/endorsement/list') ?>';
} else {
toastr.error(res.message, 'Error');
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
});
});
//---------------------------------------------------------------------------------------------------------
$('#client_type').on('change', function() {
var selectedClientType = $(this).val();
if (selectedClientType == 2) {
$('.branchdiv').hide();
} else {
$('.branchdiv').show();
}
console.log('selectedClientType', selectedClientType);
// Clear and add default options for client
$('#client_id').empty().append($('<option>', {
value: '',
text: 'Select Client'
}))
if (selectedClientType) {
$.each(client_list, function(index, item) {
if (item.client_type == selectedClientType) {
var option = $('<option>', {
value: item.id,
text: item.client_name,
'data-cn': item.client_name,
'data-ct': item.client_type
});
$('#client_id').append(option);
}
});
}
// Initialize or refresh Select2 for both dropdowns
$('#client_id').select2();
});
$('#endorsement_no').on('change', function(){
var policy_no = $('#policy_no').val();
console.log(policy_no +'-'+policy_no.length);
policy_no = policy_no.trim();
console.log(policy_no +'-'+policy_no.length);
var endorsement_no = $(this).val();
console.log(endorsement_no +'-'+endorsement_no.length);
endorsement_no = endorsement_no.trim();
console.log(endorsement_no +'-'+endorsement_no.length);
if(policy_no && endorsement_no){
$.ajax({
url: '<?php echo base_url('util/get_client_policy_data_using_policy_no_and_endo_no/');?>'+ policy_no + '/' + endorsement_no,
type: "GET",
dataType: 'json',
success: function (res) {
console.log(res)
if(res.status == true){
$('#ct_type').val(1)
}else{
$('#ct_type').val(2)
console.log(res.message, 'warning');
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
}
});
}
})
//---------------------------------------------------------------------------------------------------------
//edit function
function getPolicyTransactionDataForEndorsementEdit(input){
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
$('#endorsement_form_id')[0].reset();
// var id = $(input).attr('data-id');
var id = input;
$.ajax({
url: '<?= base_url("/policy_tranction/endorsement/list/") ?>' + id,
type: "GET",
dataType: 'json',
success: function(res) {
console.log('getPolicyTransactionDataForEndorsementEdit', res);
if(res.status == true){
hide_list_show_add()
$('#policy_tranction_primarykey').val(res.data.id);
$('#client_id').val(res.data.client_id).change();
$('#client_type').val(res.data.client_type);
var tpaValue = '';
if (res.data.tpa_branch_id && res.data.tpa_id) {
tpaValue = res.data.tpa_branch_id + '-' + res.data.tpa_id;
}
$('#tpa').val(tpaValue).change();
setTimeout(function(){
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
$('#client_branch_id').val(res.data.client_branch_id).change();
$('#client_policy_id').val(res.data.client_policy_id).change();
}, 1000)
setTimeout(function(){
$('#policy_start_date').val(res.data.policy_start_date);
$('#policy_end_date').val(res.data.policy_end_date);
}, 1500)
$('#policy_no').val(res.data.policy_no);
$('#action_type').val(res.data.action_type);
$('#endorsement_no').val(res.data.endorsement_no);
$('#data_received_date').val(res.data.data_received_date);
$('#closure_date').val(res.data.closure_date);
$('#emp_count').val(res.data.emp_count);
$('#dependent_count').val(res.data.dependent_count);
$('#policy_status').val(res.data.status);
$('#endorse_eff_date').val(res.data.endorse_eff_date);
$('#month').val(res.data.month);
removeAllColumnsExceptFirst('insurerTable');
if(res.data.pt_co_share_details.length > 0){
setTimeout(function(){
populateTable(res.data.pt_co_share_details, true);
}, 2000);
}else{
addInsurerColumn();
}
}else{
console.log('No data found');
}
},
error: function(xhr, status, error) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.error(xhr.responseText);
console.error(status, error);
}
});
checkInvoiceStatusToHideSubmitBtn(id)
}
//end edit function
function checkAndDistributeTax(input)
{
const event = window.event;
// console.log("Event type:", event.type);
// console.log("Event target:", event.target);
console.log("Event id:", event.target.id);
let cgst = parseFloat($('#cgst_' + input).val());
let sgst = parseFloat($('#sgst_' + input).val());
let igst = parseFloat($('#igst_' + input).val());
if(((event.target.id).startsWith('cgst') || (event.target.id).startsWith('sgst') ))
{
if(cgst !== 0) { $('#sgst_' + input).val(cgst.toFixed(2)); }
else if(sgst !== 0) { $('#cgst_' + input).val(sgst.toFixed(2)); }
$('#igst_' + input).val(0.00);
}
else
{
$('#cgst_' + input).val(0.00);
$('#sgst_' + input).val(0.00);
}
}
function amountCalculation(input) {
// console.log(input);
let selectedOption = $('#client_policy_id').find('option:selected');
let bap = selectedOption.data('bap');
// Retrieve and parse the values or default to 0 if not a number
let bp = parseFloat($('#base_premium_' + input).val()) || 0;
var tp = 0;
if(bap == 'Motor'){
tp = parseFloat($('#tp_premium_' + input).val()) || 0;
}
var tep = 0;
if(bap == 'Fire' || bap == 'Marine Cargo' || bap == 'Marine Hull'){
tep = parseFloat($('#ter_premium_' + input).val()) || 0;
}
let cop = parseFloat($('#co_premium_' + input).val()) || 0;
checkAndDistributeTax(input);
let cgst = parseFloat($('#cgst_' + input).val()) || 0;
let sgst = parseFloat($('#sgst_' + input).val()) || 0;
let igst = parseFloat($('#igst_' + input).val()) || 0;
let stamp_duty_amt = parseFloat($('#stamp_duty_' + input).val()) || 0;
let agreed_amount = parseFloat($('#agreed_amount_' + input).val()) || 0;
let agreed_bp_per = parseFloat($('#agreed_bp_' + input).val()) || 0;
let agreed_tp_per = parseFloat($('#agreed_tp_' + input).val()) || 0;
let agreed_tep_per = parseFloat($('#agreed_tep_' + input).val()) || 0;
let standard_bp_per = parseFloat($('#standard_bp_' + input).val()) || 0;
let standard_tp_per = parseFloat($('#standard_tp_' + input).val()) || 0;
let standard_tep_per = parseFloat($('#standard_tep_' + input).val()) || 0;
let co_share_per = parseFloat($('#co_share_per_' + input).val()) || 0;
let co_premium_amt = ((bp + tp + tep) * co_share_per) / 100;
$('#co_premium_' + input).val(!isNaN(co_premium_amt) && isFinite(co_premium_amt) ? co_premium_amt.toFixed(2) : '0.00');
// Calculate GST percentage
let gst_per = igst;
if (igst === 0) {
gst_per = cgst + sgst;
}
// Calculate the total premium (Base + TP + Co-Premium)
let tpTotal = bp + tp + tep + cop;
let gst_per_amt = (tpTotal * gst_per) / 100;
// $('#gst_amount_' + input).val(gst_per_amt.toFixed(2));
$('#gst_amount_' + input).val(!isNaN(gst_per_amt) && isFinite(gst_per_amt) ? gst_per_amt.toFixed(2) : '0.00');
let finalTotal = tpTotal + gst_per_amt + stamp_duty_amt;
// console.log('Summed Amount:', finalTotal);
// $('#total_amt_' + input).val(finalTotal.toFixed(2));
$('#total_amt_' + input).val(!isNaN(finalTotal) && isFinite(finalTotal) ? finalTotal.toFixed(2) : '0.00');
let sum_of_agreed_premium = agreed_bp_per + agreed_tp_per + agreed_tep_per;
console.log('sum_of_agreed_precentage : ', sum_of_agreed_premium);
var expectedAmount = 0;
if(agreed_amount > 0 ){
expectedAmount = agreed_amount;
console.log('Formula 1 AGREED AMOUNT');
}else if(sum_of_agreed_premium > 0){
expectedAmount = ((bp + cop) * agreed_bp_per)+ ((tp + tep)*(agreed_tp_per + agreed_tep_per));
expectedAmount = expectedAmount / 100;
console.log('Formula 2 AGREED BP TP/TEP %');
}else{
expectedAmount = ((bp + cop) * standard_bp_per)+ ((tp + tep)*(standard_tp_per + standard_tep_per));
expectedAmount = expectedAmount / 100;
console.log('Formula 3 STANDARD BP TP/TEP %');
}
console.log('expectedAmount', expectedAmount);
//Expected Amount
// $('#exp_amt_' + input).val(expectedAmount.toFixed(2));
$('#exp_amt_' + input).val(!isNaN(expectedAmount) && isFinite(expectedAmount) ? expectedAmount.toFixed(2) : '0.00');
let actual_bp_brokerage_amount = parseFloat($('#actual_bp_brokerage_amt_' + input).val()) || 0;
let actual_tp_brokerage_amount = parseFloat($('#actual_tp_brokerage_amt_' + input).val()) || 0;
let actual_tep_brokerage_amount = parseFloat($('#actual_tep_brokerage_amt_' + input).val()) || 0;
// let variance = expectedAmount - (actual_bp_brokerage_amount + actual_tp_brokerage_amount + actual_tep_brokerage_amount)
let variance = (actual_bp_brokerage_amount + actual_tp_brokerage_amount + actual_tep_brokerage_amount) - expectedAmount;
// $('#variance_' + input).val(variance.toFixed(2));
$('#variance_' + input).val(!isNaN(variance) && isFinite(variance) ? variance.toFixed(2) : '0.00');
// console.log('variance', variance);
}
function actualAmountCalculation(input, field = null){
console.log('actualAmountCalculation function called')
console.log('actualAmountCalculation function input', input)
console.log('actualAmountCalculation function field', field)
let selectedOption = $('#client_policy_id').find('option:selected');
let bap = selectedOption.data('bap');
console.log('actualAmountCalculation function bap', bap)
let actual_bp_amt = parseFloat($('#actual_bp_amt_' + input).val()) || 0;
let actual_tp_amt = parseFloat($('#actual_tp_amt_' + input).val()) || 0;
let actual_tep_amt = parseFloat($('#actual_tep_amt_' + input).val()) || 0;
let actual_bp_per = parseFloat($('#actual_bp_per_' + input).val()) || 0;
let actual_tp_per = parseFloat($('#actual_tp_per_' + input).val()) || 0;
let actual_tep_per = parseFloat($('#actual_tep_per_' + input).val()) || 0;
let actual_bp_brokerage_amt = parseFloat($('#actual_bp_brokerage_amt_' + input).val()) || 0;
let actual_tp_brokerage_amt = parseFloat($('#actual_tp_brokerage_amt_' + input).val()) || 0;
let actual_tep_brokerage_amt = parseFloat($('#actual_tep_brokerage_amt_' + input).val()) || 0;
//------------------------------------------------------------------------------------------
if (field === 'bp_per') {
console.log()
if (actual_bp_amt > 0 && actual_bp_per >= 0) {
let actual_bp_brokerage_amount = (actual_bp_amt * actual_bp_per) / 100;
// $('#actual_bp_brokerage_amt_' + input).val(actual_bp_brokerage_amount.toFixed(2));
$('#actual_bp_brokerage_amt_' + input).val(!isNaN(actual_bp_brokerage_amount) && isFinite(actual_bp_brokerage_amount) ? actual_bp_brokerage_amount.toFixed(2) : '0.00');
}
} else if (field === 'bp_broker_amt') {
// If brokerage amount is changed, update percentage
if (actual_bp_amt > 0 && actual_bp_brokerage_amt >= 0) {
let actual_bp_percentage = (actual_bp_brokerage_amt / actual_bp_amt) * 100;
// $('#actual_bp_per_' + input).val(actual_bp_percentage.toFixed(2));
$('#actual_bp_per_' + input).val(!isNaN(actual_bp_percentage) && isFinite(actual_bp_percentage) ? actual_bp_percentage.toFixed(2) : '0.00');
}
} else if (field === 'bp_amt_for_calc') {
if(actual_bp_per > 0){
if (actual_bp_amt > 0 && actual_bp_per >= 0) {
let actual_bp_brokerage_amount = (actual_bp_amt * actual_bp_per) / 100;
// $('#actual_bp_brokerage_amt_' + input).val(actual_bp_brokerage_amount.toFixed(2));
$('#actual_bp_brokerage_amt_' + input).val(!isNaN(actual_bp_brokerage_amount) && isFinite(actual_bp_brokerage_amount) ? actual_bp_brokerage_amount.toFixed(2) : '0.00');
}
}else if(actual_bp_brokerage_amt > 0){
if (actual_bp_amt > 0 && actual_bp_brokerage_amt >= 0) {
let actual_bp_percentage = (actual_bp_brokerage_amt / actual_bp_amt) * 100;
// $('#actual_bp_per_' + input).val(actual_bp_percentage.toFixed(2));
$('#actual_bp_per_' + input).val(!isNaN(actual_bp_percentage) && isFinite(actual_bp_percentage) ? actual_bp_percentage.toFixed(2) : '0.00');
}
}else{
if (actual_bp_amt > 0 && actual_bp_per >= 0) {
let actual_bp_brokerage_amount = (actual_bp_amt * actual_bp_per) / 100;
// $('#actual_bp_brokerage_amt_' + input).val(actual_bp_brokerage_amount.toFixed(2));
$('#actual_bp_brokerage_amt_' + input).val(!isNaN(actual_bp_brokerage_amount) && isFinite(actual_bp_brokerage_amount) ? actual_bp_brokerage_amount.toFixed(2) : '0.00');
}
if (actual_bp_amt > 0 && actual_bp_brokerage_amt >= 0) {
let actual_bp_percentage = (actual_bp_brokerage_amt / actual_bp_amt) * 100;
// $('#actual_bp_per_' + input).val(actual_bp_percentage.toFixed(2));
$('#actual_bp_per_' + input).val(!isNaN(actual_bp_percentage) && isFinite(actual_bp_percentage) ? actual_bp_percentage.toFixed(2) : '0.00');
}
}
}
//-----------------------------------------------------------------------------------------
if(bap == 'Motor'){
if (field === 'tp_per') {
if (actual_tp_amt > 0 && actual_tp_per >= 0) {
let actual_tp_brokerage_amount = (actual_tp_amt * actual_tp_per) / 100;
// $('#actual_tp_brokerage_amt_' + input).val(actual_tp_brokerage_amount.toFixed(2));
$('#actual_tp_brokerage_amt_' + input).val(!isNaN(actual_tp_brokerage_amount) && isFinite(actual_tp_brokerage_amount) ? actual_tp_brokerage_amount.toFixed(2) : '0.00');
}
} else if (field === 'tp_broker_amt') {
// If brokerage amount is changed, update percentage
if (actual_tp_amt > 0 && actual_tp_brokerage_amt >= 0) {
let actual_tp_percentage = (actual_tp_brokerage_amt / actual_tp_amt) * 100;
// $('#actual_tp_per_' + input).val(actual_tp_percentage.toFixed(2));
$('#actual_tp_per_' + input).val(!isNaN(actual_tp_percentage) && isFinite(actual_tp_percentage) ? actual_tp_percentage.toFixed(2) : '0.00');
}
} else if (field === 'tp_amt_for_calc') {
if(actual_tp_amt > 0){
if (actual_tp_amt > 0 && actual_tp_per >= 0) {
let actual_tp_brokerage_amount = (actual_tp_amt * actual_tp_per) / 100;
// $('#actual_tp_brokerage_amt_' + input).val(actual_tp_brokerage_amount.toFixed(2));
$('#actual_tp_brokerage_amt_' + input).val(!isNaN(actual_tp_brokerage_amount) && isFinite(actual_tp_brokerage_amount) ? actual_tp_brokerage_amount.toFixed(2) : '0.00');
}
}else if(actual_tp_brokerage_amt > 0){
if (actual_tp_amt > 0 && actual_tp_brokerage_amt >= 0) {
let actual_tp_percentage = (actual_tp_brokerage_amt / actual_tp_amt) * 100;
// $('#actual_tp_per_' + input).val(actual_tp_percentage.toFixed(2));
$('#actual_tp_per_' + input).val(!isNaN(actual_tp_percentage) && isFinite(actual_tp_percentage) ? actual_tp_percentage.toFixed(2) : '0.00');
}
}else{
if (actual_tp_amt > 0 && actual_tp_per >= 0) {
let actual_tp_brokerage_amount = (actual_tp_amt * actual_tp_per) / 100;
// $('#actual_tp_brokerage_amt_' + input).val(actual_tp_brokerage_amount.toFixed(2));
$('#actual_tp_brokerage_amt_' + input).val(!isNaN(actual_tp_brokerage_amount) && isFinite(actual_tp_brokerage_amount) ? actual_tp_brokerage_amount.toFixed(2) : '0.00');
}
if (actual_tp_amt > 0 && actual_tp_brokerage_amt >= 0) {
let actual_tp_percentage = (actual_tp_brokerage_amt / actual_tp_amt) * 100;
// $('#actual_tp_per_' + input).val(actual_tp_percentage.toFixed(2));
$('#actual_tp_per_' + input).val(!isNaN(actual_tp_percentage) && isFinite(actual_tp_percentage) ? actual_tp_percentage.toFixed(2) : '0.00');
}
}
}
}else{
$('#actual_tp_brokerage_amt_' + input).val(0);
$('#actual_tp_per_' + input).val(0);
}
//-----------------------------------------------------------------------------------------
if(bap == 'Fire' || bap == 'Marine Cargo' || bap == 'Marine Hull'){
if (field === 'tep_per') {
if (actual_tep_amt > 0 && actual_tep_per >= 0) {
let actual_tep_brokerage_amount = (actual_tep_amt * actual_tep_per) / 100;
// $('#actual_tep_brokerage_amt_' + input).val(actual_tep_brokerage_amount.toFixed(2));
$('#actual_tep_brokerage_amt_' + input).val(!isNaN(actual_tep_brokerage_amount) && isFinite(actual_tep_brokerage_amount) ? actual_tep_brokerage_amount.toFixed(2) : '0.00');
}
} else if (field === 'tep_broker_amt') {
// If brokerage amount is changed, update percentage
if (actual_tep_amt > 0 && actual_tep_brokerage_amt >= 0) {
let actual_tep_percentage = (actual_tep_brokerage_amt / actual_tep_amt) * 100;
// $('#actual_tep_per_' + input).val(actual_tep_percentage.toFixed(2));
$('#actual_tep_per_' + input).val(!isNaN(actual_tep_percentage) && isFinite(actual_tep_percentage) ? actual_tep_percentage.toFixed(2) : '0.00');
}
} else if (field === 'tep_amt_for_calc') {
if(actual_tep_amt > 0){
if (actual_tep_amt > 0 && actual_tep_per >= 0) {
let actual_tep_brokerage_amount = (actual_tep_amt * actual_tep_per) / 100;
// $('#actual_tep_brokerage_amt_' + input).val(actual_tep_brokerage_amount.toFixed(2));
$('#actual_tep_brokerage_amt_' + input).val(!isNaN(actual_tep_brokerage_amount) && isFinite(actual_tep_brokerage_amount) ? actual_tep_brokerage_amount.toFixed(2) : '0.00');
}
}else if(actual_tep_brokerage_amt > 0){
if (actual_tep_amt > 0 && actual_tep_brokerage_amt >= 0) {
let actual_tep_percentage = (actual_tep_brokerage_amt / actual_tep_amt) * 100;
// $('#actual_tep_per_' + input).val(actual_tep_percentage.toFixed(2));
$('#actual_tep_per_' + input).val(!isNaN(actual_tep_percentage) && isFinite(actual_tep_percentage) ? actual_tep_percentage.toFixed(2) : '0.00');
}
}else{
if (actual_tep_amt > 0 && actual_tep_per >= 0) {
let actual_tep_brokerage_amount = (actual_tep_amt * actual_tep_per) / 100;
// $('#actual_tep_brokerage_amt_' + input).val(actual_tep_brokerage_amount.toFixed(2));
$('#actual_tep_brokerage_amt_' + input).val(!isNaN(actual_tep_brokerage_amount) && isFinite(actual_tep_brokerage_amount) ? actual_tep_brokerage_amount.toFixed(2) : '0.00');
}
if (actual_tep_amt > 0 && actual_tep_brokerage_amt >= 0) {
let actual_tep_percentage = (actual_tep_brokerage_amt / actual_tep_amt) * 100;
// $('#actual_tep_per_' + input).val(actual_tep_percentage.toFixed(2));
$('#actual_tep_per_' + input).val(!isNaN(actual_tep_percentage) && isFinite(actual_tep_percentage) ? actual_tep_percentage.toFixed(2) : '0.00');
}
}
}
}else{
$('#actual_tep_brokerage_amt_' + input).val(0);
$('#actual_tep_per_' + input).val(0);
}
//-----------------------------------------------------------------------------------------
let expectedAmount = parseFloat($('#exp_amt_' + input).val()) || 0;
var actual_bp_brokerage_amount2 = parseFloat($('#actual_bp_brokerage_amt_' + input).val()) || 0;
let actual_tp_brokerage_amount2 = parseFloat($('#actual_tp_brokerage_amt_' + input).val()) || 0;
let actual_tep_brokerage_amount2 = parseFloat($('#actual_tep_brokerage_amt_' + input).val()) || 0;
// let variance = expectedAmount - (actual_bp_brokerage_amount2 + actual_tp_brokerage_amount2 + actual_tep_brokerage_amount2)
let variance = (actual_bp_brokerage_amount2 + actual_tp_brokerage_amount2 + actual_tep_brokerage_amount2) - expectedAmount
// $('#variance_' + input).val(variance.toFixed(2));
$('#variance_' + input).val(!isNaN(variance) && isFinite(variance) ? variance.toFixed(2) : '0.00');
// console.log('expectedAmount', expectedAmount);
// console.log('variance', variance);
}
function co_share_percentage_calculation(input){
var inputs = $('[name="co_share_per[]"]');
// Find the empty input(s)
var emptyInputs = inputs.filter(function() {
return $(this).val().trim() === ''; // Check for empty values
});
// Get the number of empty inputs
var emptyCount = emptyInputs.length;
console.log('Number of empty inputs:', emptyCount);
// If there's exactly one empty input, calculate and set its value
if (emptyCount === 1) {
// Calculate the sum of filled values
let sumFilled = 0;
inputs.each(function() {
var val = parseFloat($(this).val()) || 0;
sumFilled += val;
});
// Calculate the balance percentage
let balance_per = 100 - sumFilled;
console.log('Balance percentage:', balance_per);
// Set the balance value to the empty input
emptyInputs.val(balance_per);
}
}
function select_leader_disable_premium_amt(input, value) {
if ($(input).is(':checked')) {
// Disable and add readonly-select class to all premiums except the one with the given value
$('input[name="base_premium[]"]').addClass('readonly-select');
$('#base_premium_' + value).removeClass('readonly-select');
$('input[name="tp_premium[]"]').addClass('readonly-select');
$('#tp_premium_' + value).removeClass('readonly-select');
$('input[name="ter_premium[]"]').addClass('readonly-select');
$('#ter_premium_' + value).removeClass('readonly-select');
$('input[name="stamp_duty[]"]').addClass('readonly-select');
$('#stamp_duty_' + value).removeClass('readonly-select');
$('input[name="co_premium[]"]').addClass('readonly-select');
$('#co_premium_' + value).removeClass('readonly-select');
} else {
// Enable and remove readonly-select class from all premiums except the one with the given value
$('input[name="base_premium[]"]').removeClass('readonly-select');
$('input[name="tp_premium[]"]').removeClass('readonly-select');
$('input[name="ter_premium[]"]').removeClass('readonly-select');
$('input[name="stamp_duty[]"]').removeClass('readonly-select');
$('input[name="co_premium[]"]').removeClass('readonly-select');
}
}
function validateRange(input) {
// if (input.value < 1) input.value = 1;
if (input.value > 100) input.value = 100;
}
function checkInvoiceStatusToHideSubmitBtn(id){
$.ajax({
url: '<?php echo base_url('util/checkInvoiceStatus/');?>'+ id,
type: "GET",
dataType: 'json',
success: function (res) {
console.log(res)
if(res.status == true){
if(res.count > 0){
$('#submitButton').hide()
}else{
$('#submitButton').show()
}
}else{
console.log(res.message, 'warning');
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
}
});
}
function hidePermiumDetailsBasedOnTheTeam(){
var teams = <?php echo json_encode(user_team()); ?>;
console.log('teams', teams);
// var teams = <?php echo json_encode(teams()); ?>;
// console.log('teams', teams);
var ids = [
'table_tr_14',
'table_tr_15',
'table_tr_16',
'table_tr_17',
'table_tr_18',
'table_tr_19',
'table_tr_20',
'table_tr_21',
'table_tr_22',
'table_tr_23',
'table_tr_24',
'table_tr_25',
'table_tr_26',
'table_tr_27',
'table_tr_28',
'table_tr_29',
'table_tr_30',
'table_tr_31',
'table_tr_32'
];
if (teams.includes('4')) {
console.log('Finance Team Logged in.');
ids.forEach(function(id) {
$('#' + id).show();
// $('#' + id + ' input, #' + id + ' select, #' + id + ' textarea').prop('disabled', false); // Enable inputs
});
} else {
console.log('Business Team Logged in.');
ids.forEach(function(id) {
$('#' + id).hide(); // Hide the row
// $('#' + id + ' input, #' + id + ' select, #' + id + ' textarea').prop('disabled', true); // Disable inputs
});
$('.hideter').hide();
$('.hidetp').hide();
}
}
function getpolicyDataForEndorsement(input){
var client_policy_id = $(input).val();
console.log(client_policy_id);
if(client_policy_id){
$.ajax({
url: '<?php echo base_url('util/get_client_policy_data_using_client_policy_id/');?>'+ client_policy_id,
type: "GET",
dataType: 'json',
success: function (res) {
console.log(res)
if(res.status == true){
$('#ct_type').val(1)
}else{
$('#ct_type').val(2)
console.log(res.message, 'warning');
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
}
});
}
}
//---------------------------------------------------------------------------------------------------------
var insurerCount = 0;
$('#setInsurerCount').on('input', function() {
var count = $('#setInsurerCount').val();
if (count) {
for (var i = 0; i < count; i++) { // Corrected loop condition
addInsurerColumn();
}
} else {
toastr.warning('Please enter the insurer count', 'Warning');
}
});
function addInsurerColumn() {
insurerCount++;
// hidePermiumDetailsBasedOnTheTeam();
// Update header
$('#insurerTable thead tr').append(`
<th>
Insurer ${insurerCount}
${insurerCount > 1 ? `<a class="text-danger fa fa-trash delete-insurer" style="margin-left: 135px;"></a>` : ''}
</th>
`);
// Add a new column for each data row
$('#insurerTable tbody tr').each(function(index) {
let newCell = '';
if(team_id.includes('4')){
switch(index) {
case 0: // Insurer selection
newCell = `<td>
<select class="form-control follow_insurer readonly-select" data-count="${insurerCount}" id="follow_insurer_id_${insurerCount}" name="follow_insurer_id[]">
<option value="" selected>Select Insurer</option>
<?php foreach ($insurer_branch as $value) { ?>
<option value="<?= $value['id'] . '-' . $value['insurer_id'] ?>" data-id="<?= $value['insurer_id'] ?>" data-bid="<?= $value['id'] ?>">
<?= $value['insurer_name'] . '-' . $value['branch_code'] ?>
</option>
<?php } ?>
</select>
</td>`;
break;
case 1: // Is Leader?
newCell = `<td>
<label class="switch" style="position: relative; top: 5px; left: 35px;">
<input data-id="${insurerCount}" id="co_share_type_${insurerCount}" type="checkbox" name="co_share_type[]" onchange="select_leader_disable_premium_amt(this, '${insurerCount}')">
<span class="slider round" style="height: 27px;"></span>
</label>
<label for="inception_type" style="position: relative; top: 5px; left: 40px;">Leader Yes</label>
</td>`;
break;
case 2: // Co-Share %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" name="co_share_per[]" oninput="validateRange(this)" onchange="co_share_percentage_calculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 3: // Base Premium
newCell = `<td><input type="text" class="right-align-input" id="base_premium_${insurerCount}" name="base_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 4: // TP Premium
newCell = `<td><input type="text" class="right-align-input" id="tp_premium_${insurerCount}" name="tp_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 5: // Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="ter_premium_${insurerCount}" name="ter_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 6: // co Premium
newCell = `<td><input type="text" class="right-align-input" id="co_premium_${insurerCount}" name="co_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 7: // CGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="cgst_${insurerCount}" name="cgst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 8: // SGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="sgst_${insurerCount}" name="sgst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 9: // IGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="igst_${insurerCount}" name="igst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 10: // GST Amount
newCell = `<td><input type="text" class="readonly-color right-align-input" id="gst_amount_${insurerCount}" name="gst_amount[]" oninput="amountCalculation('${insurerCount}')" readonly onkeypress="return onlyNumbers(event)"></td>`;
break;
case 11: // Stamp Duty
newCell = `<td><input type="text" class="right-align-input" id="stamp_duty_${insurerCount}" name="stamp_duty[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 12: // Total
newCell = `<td><input type="text" class="readonly-color right-align-input" id="total_amt_${insurerCount}" name="total[]" readonly onkeypress="return onlyNumbers(event)"></td>`;
break;
case 13: // Agreed BP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_bp_${insurerCount}" name="agreed_bp[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 14: // Agreed TP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_tp_${insurerCount}" name="agreed_tp[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 15: // Agreed Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_tep_${insurerCount}" name="agreed_ter[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 16: // Standard BP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" id="standard_bp_${insurerCount}" name="standard_bp[]" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 17: // Standard TP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" name="standard_tp[]" onkeypress="return onlyNumbers(event)" readonly ></td>`;
break;
case 18: // Standard Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" name="standard_ter[]" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 19: // Actual BP Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_bp_amt_${insurerCount}" name="actual_bp_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'bp_amt_for_calc')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 20: // Actual TP Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_tp_amt_${insurerCount}" name="actual_tp_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'tp_amt_for_calc')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 21: // Actual TEP Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_tep_amt_${insurerCount}" name="actual_tep_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'tep_amt_for_calc')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 22: // Actual BP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="actual_bp_per_${insurerCount}" name="actual_bp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'bp_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 23: // Actual TP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="actual_tp_per_${insurerCount}" name="actual_tp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'tp_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 24: // Actual TEP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="actual_tep_per_${insurerCount}" name="actual_tep_per[]" onchange="actualAmountCalculation('${insurerCount}', 'tep_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 25: // Actual BP Brokerage Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_bp_brokerage_amt_${insurerCount}" name="actual_bp_brokerage_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'bp_broker_amt')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 26: // Actual TP Brokerage Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_tp_brokerage_amt_${insurerCount}" name="actual_tp_brokerage_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'tp_broker_amt' )" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 27: // Actual TEP Brokerage Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_tep_brokerage_amt_${insurerCount}" name="actual_tep_brokerage_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'tep_broker_amt')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 28: // Expected Amount
newCell = `<td><input type="text" class="right-align-input" id="exp_amt_${insurerCount}" name="exp_amt[]" onchange="actualAmountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 29: // Variance
newCell = `<td><input type="text" class="readonly-color right-align-input" id="variance_${insurerCount}" name="variance[]" onchange="actualAmountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 30: // Reward
newCell = `<td><input type="text" class="right-align-input" id="reward_${insurerCount}" name="reward[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 31: // ID For Update
newCell = `<td><input type="hidden" name="co_share_id[]" id="co_share_id[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
}
}else if(team_id.includes('3')){
switch(index) {
case 0: // Insurer selection
newCell = `<td>
<select class="form-control follow_insurer readonly-select" data-count="${insurerCount}" id="follow_insurer_id_${insurerCount}" name="follow_insurer_id[]">
<option value="" selected>Select Insurer</option>
<?php foreach ($insurer_branch as $value) { ?>
<option value="<?= $value['id'] . '-' . $value['insurer_id'] ?>" data-id="<?= $value['insurer_id'] ?>" data-bid="<?= $value['id'] ?>">
<?= $value['insurer_name'] . '-' . $value['branch_code'] ?>
</option>
<?php } ?>
</select>
</td>`;
break;
case 1: // Is Leader?
newCell = `<td>
<label class="switch" style="position: relative; top: 5px; left: 35px;">
<input data-id="${insurerCount}" id="co_share_type_${insurerCount}" type="checkbox" name="co_share_type[]" onchange="select_leader_disable_premium_amt(this, '${insurerCount}')">
<span class="slider round" style="height: 27px;"></span>
</label>
<label for="inception_type" style="position: relative; top: 5px; left: 40px;">Leader Yes</label>
</td>`;
break;
case 2: // Co-Share %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" name="co_share_per[]" oninput="validateRange(this)" onchange="co_share_percentage_calculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 3: // Base Premium
newCell = `<td><input type="text" class="right-align-input" id="base_premium_${insurerCount}" name="base_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 4: // TP Premium
newCell = `<td><input type="text" class="right-align-input" id="tp_premium_${insurerCount}" name="tp_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 5: // Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="ter_premium_${insurerCount}" name="ter_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 6: // co Premium
newCell = `<td><input type="text" class="right-align-input" id="co_premium_${insurerCount}" name="co_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 7: // CGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="cgst_${insurerCount}" name="cgst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 8: // SGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="sgst_${insurerCount}" name="sgst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 9: // IGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="igst_${insurerCount}" name="igst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 10: // GST Amount
newCell = `<td><input type="text" class="readonly-color right-align-input" id="gst_amount_${insurerCount}" name="gst_amount[]" oninput="amountCalculation('${insurerCount}')" readonly onkeypress="return onlyNumbers(event)"></td>`;
break;
case 11: // Stamp Duty
newCell = `<td><input type="text" class="right-align-input" id="stamp_duty_${insurerCount}" name="stamp_duty[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 12: // Total
newCell = `<td><input type="text" class="readonly-color right-align-input" id="total_amt_${insurerCount}" name="total[]" readonly onkeypress="return onlyNumbers(event)"></td>`;
break;
case 13: // Agreed BP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_bp_${insurerCount}" name="agreed_bp[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 14: // Agreed TP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_tp_${insurerCount}" name="agreed_tp[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 15: // Agreed Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_tep_${insurerCount}" name="agreed_ter[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 16: // Standard BP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" id="standard_bp_${insurerCount}" name="standard_bp[]" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 17: // Standard TP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" name="standard_tp[]" onkeypress="return onlyNumbers(event)" readonly ></td>`;
break;
case 18: // Standard Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" name="standard_ter[]" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 19: // ID For Update
newCell = `<td><input type="hidden" name="co_share_id[]" id="co_share_id[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
}
}else if(team_id.includes('6')){
switch(index) {
case 0: // Insurer selection
newCell = `<td>
<select class="form-control follow_insurer readonly-select" data-count="${insurerCount}" id="follow_insurer_id_${insurerCount}" name="follow_insurer_id[]">
<option value="" selected>Select Insurer</option>
<?php foreach ($insurer_branch as $value) { ?>
<option value="<?= $value['id'] . '-' . $value['insurer_id'] ?>" data-id="<?= $value['insurer_id'] ?>" data-bid="<?= $value['id'] ?>">
<?= $value['insurer_name'] . '-' . $value['branch_code'] ?>
</option>
<?php } ?>
</select>
</td>`;
break;
case 1: // Is Leader?
newCell = `<td>
<label class="switch" style="position: relative; top: 5px; left: 35px;">
<input data-id="${insurerCount}" id="co_share_type_${insurerCount}" type="checkbox" name="co_share_type[]" onchange="select_leader_disable_premium_amt(this, '${insurerCount}')">
<span class="slider round" style="height: 27px;"></span>
</label>
<label for="inception_type" style="position: relative; top: 5px; left: 40px;">Leader Yes</label>
</td>`;
break;
case 2: // Co-Share %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" name="co_share_per[]" oninput="validateRange(this)" onchange="co_share_percentage_calculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 3: // Base Premium
newCell = `<td><input type="text" class="right-align-input" id="base_premium_${insurerCount}" name="base_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 4: // TP Premium
newCell = `<td><input type="text" class="right-align-input" id="tp_premium_${insurerCount}" name="tp_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 5: // Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="ter_premium_${insurerCount}" name="ter_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 6: // co Premium
newCell = `<td><input type="text" class="right-align-input" id="co_premium_${insurerCount}" name="co_premium[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 7: // CGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="cgst_${insurerCount}" name="cgst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 8: // SGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="sgst_${insurerCount}" name="sgst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 9: // IGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="igst_${insurerCount}" name="igst[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 10: // GST Amount
newCell = `<td><input type="text" class="readonly-color right-align-input" id="gst_amount_${insurerCount}" name="gst_amount[]" oninput="amountCalculation('${insurerCount}')" readonly onkeypress="return onlyNumbers(event)"></td>`;
break;
case 11: // Stamp Duty
newCell = `<td><input type="text" class="right-align-input" id="stamp_duty_${insurerCount}" name="stamp_duty[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 12: // Total
newCell = `<td><input type="text" class="readonly-color right-align-input" id="total_amt_${insurerCount}" name="total[]" readonly onkeypress="return onlyNumbers(event)"></td>`;
break;
case 13: // Agreed BP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_bp_${insurerCount}" name="agreed_bp[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 14: // Agreed TP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_tp_${insurerCount}" name="agreed_tp[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 15: // Agreed Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_tep_${insurerCount}" name="agreed_ter[]" oninput="amountCalculation('${insurerCount}'); validateRange(this)" onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 16: // Agreed Amount
newCell = `<td><input type="text" class="right-align-input" id="agreed_amount_${insurerCount}" name="agreed_amount[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 17: // Standard BP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" id="standard_bp_${insurerCount}" name="standard_bp[]" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 18: // Standard TP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" name="standard_tp[]" onkeypress="return onlyNumbers(event)" readonly ></td>`;
break;
case 19: // Standard Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" name="standard_ter[]" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 20: // Actual BP Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_bp_amt_${insurerCount}" name="actual_bp_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'bp_amt_for_calc')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 21: // Actual TP Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_tp_amt_${insurerCount}" name="actual_tp_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'tp_amt_for_calc')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 22: // Actual TEP Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_tep_amt_${insurerCount}" name="actual_tep_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'tep_amt_for_calc')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 23: // Actual BP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="actual_bp_per_${insurerCount}" name="actual_bp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'bp_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 24: // Actual TP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="actual_tp_per_${insurerCount}" name="actual_tp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'tp_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 25: // Actual TEP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="actual_tep_per_${insurerCount}" name="actual_tep_per[]" onchange="actualAmountCalculation('${insurerCount}', 'tep_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 26: // Actual BP Brokerage Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_bp_brokerage_amt_${insurerCount}" name="actual_bp_brokerage_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'bp_broker_amt')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 27: // Actual TP Brokerage Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_tp_brokerage_amt_${insurerCount}" name="actual_tp_brokerage_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'tp_broker_amt' )" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 28: // Actual TEP Brokerage Amount
newCell = `<td><input type="text" class="right-align-input" id="actual_tep_brokerage_amt_${insurerCount}" name="actual_tep_brokerage_amt[]" onchange="actualAmountCalculation('${insurerCount}', 'tep_broker_amt')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 29: // Expected Amount
newCell = `<td><input type="text" class="right-align-input" id="exp_amt_${insurerCount}" name="exp_amt[]" onchange="actualAmountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 30: // Variance
newCell = `<td><input type="text" class="readonly-color right-align-input" id="variance_${insurerCount}" name="variance[]" onchange="actualAmountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 31: // Reward
newCell = `<td><input type="text" class="right-align-input" id="reward_${insurerCount}" name="reward[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 32: // ID For Update
newCell = `<td><input type="hidden" name="co_share_id[]" id="co_share_id[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
}
}
// console.log(newCell);
$(this).append(newCell);
// $('#follow_insurer_id_' + insurerCount).select2()
var selectedOption = $('#client_policy_id').find('option:selected');
console.log('selcted client policy selectedOption', selectedOption);
var ebp = selectedOption.data('ebp');
var etp = selectedOption.data('etp');
var etep = selectedOption.data('etep');
var iep = selectedOption.data('iep');
var itp = selectedOption.data('itp');
var itep = selectedOption.data('itep');
var bap = selectedOption.data('bap');
console.log('selcted client policy BAP', bap);
if(bap == 'Fire' || bap == 'Marine Cargo' || bap == 'Marine Hull'){
// console.log('Fire, Marine Cargo, Marine Hull');
$('.hideter').show();
$('.hidetp').hide();
}else{
if(bap == 'Motor'){
// console.log('Motor');
$('.hidetp').show()
$('.hideter').hide()
}else{
// console.log('Not any thing');
$('.hideter').hide()
$('.hidetp').hide()
}
}
$('#standard_bp_'+insurerCount).val(ebp);
// $('[name="standard_bp[]"]').val(ebp);
$('[name="standard_tp[]"]').val(etp);
$('[name="standard_tep[]"]').val(etep);
if(insurerCount > 1){
$('.follow_insurer').prop('required', true);
}else{
$('.follow_insurer').prop('required', false);
}
});
// Add click event for delete button
$('.delete-insurer').off('click').on('click', function() {
const index = $(this).closest('th').index();
removeInsurerColumn(index);
});
}
function removeInsurerColumn(index) {
// Remove the header
$('#insurerTable thead tr th').eq(index).remove();
// Remove the corresponding data cells in each row
$('#insurerTable tbody tr').each(function() {
$(this).find('td').eq(index).remove();
});
insurerCount--;
}
function removeAllColumnsExceptFirst(tableId) {
console.log('######################################')
console.log('removeAllColumnsExceptFirst function called');
console.log('######################################');
// Remove all headers except the first one
$('#' + tableId + ' thead tr th').each(function(index) {
if (index > 0) { // Keep the first column (index 0)
$(this).remove();
}
});
// Remove corresponding data cells in each row except the first one
$('#' + tableId + ' tbody tr').each(function() {
$(this).find('td').each(function(index) {
if (index > 0) { // Keep the first column (index 0)
$(this).remove();
}
});
});
insurerCount = 0;
}
function populateTable(dataArray, status = false) {
console.log('####################################')
console.log('populateTable function called')
console.log('####################################')
console.log(dataArray);
dataArray.forEach((data, index) => {
// Add a new insurer column for each entry in the data array
addInsurerColumn(); // This will add a new column dynamically
// Populate the fields with the provided data
$('#insurerTable tbody tr').each(function(rowIndex, row) {
const cell = $(row).find('td').eq(insurerCount); // Get the newly added column by `insurerCount`
let insurer = data.insurer_branch_id + '-' + data.insurer_id;
if(team_id.includes('4')){
switch (rowIndex) {
case 0: // Insurer selection
cell.find('select').val(insurer);
break;
case 1: // Is Leader?
cell.find('input[type="checkbox"]').prop('checked', data.co_share_type === '1').change();
break;
case 2: // Co-Share %
cell.find('input').val(data.co_share_per);
break;
case 3: // Base Premium
cell.find('input').val(status ? data.bp_amt : '');
break;
case 4: // TP Premium
cell.find('input').val(status ? data.tp_amt : '');
break;
case 5: // Ter Premium
cell.find('input').val(status ? data.tep_amt : '');
break;
case 6: // Co Premium
cell.find('input').val(data.cop_amt);
break;
case 7: // CGST
cell.find('input').val(data.bp_cgst);
break;
case 8: // SGST
cell.find('input').val(data.bp_sgst);
break;
case 9: // IGST
cell.find('input').val(data.bp_igst);
break;
case 10: // GST Amount
cell.find('input').val(status ? data.bp_gst_amt : '');
break;
case 11: // Stamp Duty
cell.find('input').val(status ? data.stamp_duty : '');
break;
case 12: // Total
cell.find('input').val(status ? data.amount : '');
break;
case 13: // Agreed BP %
cell.find('input').val(data.agreed_bp_per);
break;
case 14: // Agreed TP %
cell.find('input').val(data.agreed_tp_per);
break;
case 15: // Agreed Ter %
cell.find('input').val(data.agreed_tep_per);
break;
case 16: // Standard BP %
cell.find('input').val(data.standerd_bp_per);
break;
case 17: // Standard TP %
cell.find('input').val(data.standerd_tp_per);
break;
case 18: // Standard Ter %
cell.find('input').val(data.standerd_tep_per);
break;
case 19: // Actual BP Amount
cell.find('input').val(status ? data.actual_bp_amt : '');
break;
case 20: // Actual TP Amount
cell.find('input').val(status ? data.actual_tp_amt : '');
break;
case 21: // Actual Ter Amount
cell.find('input').val(status ? data.actual_tep_amt : '');
break;
case 22: // Actual BP %
cell.find('input').val(status ? data.actual_bp_per : '');
break;
case 23: // Actual TP %
cell.find('input').val(status ? data.actual_tp_per : '');
break;
case 24: // Actual Ter %
cell.find('input').val(status ? data.actual_tep_per : '');
break;
case 25: // Actual BP Brokerage Amount
cell.find('input').val(status ? data.actual_bp_brokerage_amt : '');
break;
case 26: // Actual TP Brokerage Amount
cell.find('input').val(status ? data.actual_tp_brokerage_amt : '');
break;
case 27: // Actual Ter Brokerage Amount
cell.find('input').val(status ? data.actual_tep_brokerage_amt : '');
break;
case 28: // Expected Amount
cell.find('input').val(status ? data.exp_amt : '');
break;
case 29: // Variance
cell.find('input').val(status ? data.variance : '');
break;
case 30: // Reward
cell.find('input').val(status ? data.reward : '');
break;
case 31: // Co-share ID (hidden field)
cell.find('input[type="hidden"]').val(status ? data.id : '');
break;
}
}else if(team_id.includes('3')){
switch (rowIndex) {
case 0: // Insurer selection
cell.find('select').val(insurer);
break;
case 1: // Is Leader?
cell.find('input[type="checkbox"]').prop('checked', data.co_share_type === '1').change();
break;
case 2: // Co-Share %
cell.find('input').val(data.co_share_per);
break;
case 3: // Base Premium
cell.find('input').val(status ? data.bp_amt : '');
break;
case 4: // TP Premium
cell.find('input').val(status ? data.tp_amt : '');
break;
case 5: // Ter Premium
cell.find('input').val(status ? data.tep_amt : '');
break;
case 6: // Co Premium
cell.find('input').val(data.cop_amt);
break;
case 7: // CGST
cell.find('input').val(data.bp_cgst);
break;
case 8: // SGST
cell.find('input').val(data.bp_sgst);
break;
case 9: // IGST
cell.find('input').val(data.bp_igst);
break;
case 10: // GST Amount
cell.find('input').val(status ? data.bp_gst_amt : '');
break;
case 11: // Stamp Duty
cell.find('input').val(status ? data.stamp_duty : '');
break;
case 12: // Total
cell.find('input').val(status ? data.amount : '');
break;
case 13: // Agreed BP %
cell.find('input').val(data.agreed_bp_per);
break;
case 14: // Co-share ID (hidden field)
cell.find('input[type="hidden"]').val(status ? data.id : '');
break;
}
}else if(team_id.includes('6')){
switch (rowIndex) {
case 0: // Insurer selection
cell.find('select').val(insurer);
break;
case 1: // Is Leader?
cell.find('input[type="checkbox"]').prop('checked', data.co_share_type === '1').change();
break;
case 2: // Co-Share %
cell.find('input').val(data.co_share_per);
break;
case 3: // Base Premium
cell.find('input').val(status ? data.bp_amt : '');
break;
case 4: // TP Premium
cell.find('input').val(status ? data.tp_amt : '');
break;
case 5: // Ter Premium
cell.find('input').val(status ? data.tep_amt : '');
break;
case 6: // Co Premium
cell.find('input').val(data.cop_amt);
break;
case 7: // CGST
cell.find('input').val(data.bp_cgst);
break;
case 8: // SGST
cell.find('input').val(data.bp_sgst);
break;
case 9: // IGST
cell.find('input').val(data.bp_igst);
break;
case 10: // GST Amount
cell.find('input').val(status ? data.bp_gst_amt : '');
break;
case 11: // Stamp Duty
cell.find('input').val(status ? data.stamp_duty : '');
break;
case 12: // Total
cell.find('input').val(status ? data.amount : '');
break;
case 13: // Agreed BP %
cell.find('input').val(data.agreed_bp_per);
break;
case 14: // Agreed TP %
cell.find('input').val(data.agreed_tp_per);
break;
case 15: // Agreed Ter %
cell.find('input').val(data.agreed_tep_per);
break;
case 16: // Agreed Amount
cell.find('input').val(data.agreed_amt);
break;
case 17: // Standard BP %
cell.find('input').val(data.standerd_bp_per);
break;
case 18: // Standard TP %
cell.find('input').val(data.standerd_tp_per);
break;
case 19: // Standard Ter %
cell.find('input').val(data.standerd_tep_per);
break;
case 20: // Actual BP Amount
cell.find('input').val(status ? data.actual_bp_amt : '');
break;
case 21: // Actual TP Amount
cell.find('input').val(status ? data.actual_tp_amt : '');
break;
case 22: // Actual Ter Amount
cell.find('input').val(status ? data.actual_tep_amt : '');
break;
case 23: // Actual BP %
cell.find('input').val(status ? data.actual_bp_per : '');
break;
case 24: // Actual TP %
cell.find('input').val(status ? data.actual_tp_per : '');
break;
case 25: // Actual Ter %
cell.find('input').val(status ? data.actual_tep_per : '');
break;
case 26: // Actual BP Brokerage Amount
cell.find('input').val(status ? data.actual_bp_brokerage_amt : '');
break;
case 27: // Actual TP Brokerage Amount
cell.find('input').val(status ? data.actual_tp_brokerage_amt : '');
break;
case 28: // Actual Ter Brokerage Amount
cell.find('input').val(status ? data.actual_tep_brokerage_amt : '');
break;
case 29: // Expected Amount
cell.find('input').val(status ? data.exp_amt : '');
break;
case 30: // Variance
cell.find('input').val(status ? data.variance : '');
break;
case 31: // Reward
cell.find('input').val(status ? data.reward : '');
break;
case 32: // Co-share ID (hidden field)
cell.find('input[type="hidden"]').val(status ? data.id : '');
break;
}
}
});
});
}
//-----------------------------------------------------------------------------------------------------------
function getURLParamsForReport()
{
console.log('getURLParamsForReport() function called')
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
const pt_id = params.get('pt_id') ?? 0
console.log('policy tranction id ', pt_id);
if(pt_id != 0){
setTimeout(function(){
hide_list_show_add()
getPolicyTransactionDataForEndorsementEdit(pt_id)
}, 2000)
}else{
show_list_hide_add()
}
console.log('pt_id', pt_id)
}
function onlyNumbers(event)
{
var charcode;
charcode = event.which || event.keyCode;
if (charcode >= 48 && charcode <= 57 || charcode == 46) return true;
return false;
}
</script>