CHANGE_BDS_CHANGE_AND_FIX_CO_SHARE_TYPE_WORNGLY ADDED

This commit is contained in:
VENKATESHWARAN 2025-11-26 16:02:29 +05:30
parent dcf6612ab4
commit a211d6b905
4 changed files with 432 additions and 264 deletions

View File

@ -496,12 +496,18 @@
$cop_amt = $data['co_premium'][$index] ?? 0;
}
if(isset($data['calc_policy_issue_date'][$index])){
$data['calc_policy_issue_date'][$index] = change_date_format($data['calc_policy_issue_date'][$index]);
}
$co_share_type_value = $data['co_share'] == 1 ? $data['co_share_type'][$index] ?? 1 : 1;
// Prepare each co-share detail entry
$coShareDetails[] = [
'pt_id' => $pt_id,
'insurer_id' => $insurer_id ?? 0,
'insurer_branch_id' => $insurer_branch_id ?? 0,
'co_share_type' => $data['co_share_type'][$index] ?? 1,
'co_share_type' => $co_share_type_value,
'co_share_per' => $data['co_share_per'][$index] ?? 0,
'bp_amt' => $data['base_premium'][$index] ?? 0,
'bp_gst_amt' => $data['gst_amount'][$index] ?? 0,
@ -539,6 +545,7 @@
'id' => $data['co_share_id'][$index] ?? null, // Assuming this is the ID to identify existing records
'follower_policy_no' => $data['follower_policy_no'][$index] ?? null,
'non_comm_per_amt' => $data['non_comm_per_amt'][$index] ?? null,
'pt_policy_issue_date' => $data['calc_policy_issue_date'][$index] ?? null,
];
}
@ -1001,7 +1008,9 @@
co_share_id = pt_co_share_details.id
AND is_active = 1
) AS actual_tep_brokerage_amount
) AS actual_tep_brokerage_amount,
DATE_FORMAT(pt_policy_issue_date, '%d/%m/%Y') AS pt_policy_issue_date
")
->where('pt_id', $id)
@ -1590,7 +1599,9 @@
co_share_id = pt_co_share_details.id
AND is_active = 1
) AS actual_tep_brokerage_amount
) AS actual_tep_brokerage_amount,
DATE_FORMAT(pt_policy_issue_date, '%d/%m/%Y') AS pt_policy_issue_date
")
->where('pt_id', $id)

View File

@ -68,6 +68,7 @@ class PTCOShareDetailsModel extends Model
'non_comm_per_amt',
'cotp_amt',
'cotep_amt',
'pt_policy_issue_date',
];
public function getNonReconcileredPolicyTransactions(string $insurer_id,string $insurer_branch_id)

View File

@ -32,11 +32,13 @@
box-shadow: none;
outline: none;
width: 100%;
padding: 5px 30px !important;
}
#insurerTable th,
#insurerTable td {
padding: 5px;
height: 30px;
padding: 2px 4px !important;
/* height: 30px; */
vertical-align: middle;
}
@ -50,16 +52,65 @@
height: 20px;
width: 20px;
}
#insurerTable th,
#insurerTable th {
min-width: 230px;
}
/** newly implemented */
#insurerTable thead th:first-child {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable tbody td {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable th{
color: black !important;
background-color: transparent !important;
}
#insurerTable input[type="text"],
#insurerTable select {
width: 100%;
font-size: 14px;
line-height: 1.5;
color: #000;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: 4px;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
box-sizing: border-box;
}
/* Focus effect like form-control */
#insurerTable input[type="text"]:focus,
#insurerTable select:focus {
border-color: #80bdff;
outline: 0;
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
/* Disabled & readonly styling */
#insurerTable input[readonly],
#insurerTable input:disabled,
#insurerTable select:disabled {
background-color: #e0e0e0; /* Darker background */
color: #666; /* Darker text color */
cursor: not-allowed;
}
</style>
<style>
.readonly-color {
background-color: #e0e0e0; /* Darker background */
color: #666; /* Darker text color */
}
.readonly-select {
pointer-events: none;
/* background-color: #f0f0f0; */
@ -91,28 +142,13 @@
.input-with-percentage::after {
content: '%';
position: absolute;
right: 5px;
right: 10px;
top: 50%;
transform: translateY(-50%);
font-weight: bold;
color: #000;
}
/** newly implemented */
#insurerTable thead th:first-child {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable tbody td {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable th{
color: black !important;
background-color: transparent !important;
}
</style>
<div class="row" id="endorsement_form" style="display: none;">
@ -266,12 +302,12 @@
</div>
<div class="form-group col-md-3">
<label for="policy_issue_date">Date of Issue<span id="base_danger" class="text-danger">*</span></label>
<label for="policy_issue_date">Endorsement Issue Date<span id="base_danger" class="text-danger">*</span></label>
<input type="text" class="form-control" id="policy_issue_date" name="policy_issue_date" placeholder="DD/MM/YYYY" required>
</div>
<div class="form-group col-md-3">
<label for="month">Policy Issue Month<span id="base_danger" class="text-danger">*</span></label>
<label for="month">Endorsement Issue Month<span id="base_danger" class="text-danger">*</span></label>
<input type="text" class="form-control readonly-select" id="month" name="month" placeholder="MM/YYYY" required>
</div>
@ -399,15 +435,19 @@
<td>CD Amount</td>
</tr>
<tr id="table_tr_35">
<tr id="table_tr_35" style="display: none;">
<td>Follower Policy No</td>
</tr>
<tr id="table_tr_40" >
<td>Policy Issue Date</td>
</tr>
<tr id="table_tr_3" style="display: none;">
<td>Co-Share %</td>
</tr>
<tr id="table_tr_36">
<td>Non Commitional <br> Premium Amount</td>
<td>Non Commissional <br> Premium Amount</td>
</tr>
<tr id="table_tr_4">
<td>Base Premium</td>
@ -2120,100 +2160,103 @@
break;
case 4: // follower policy no
newCell = `<td class=""><input type="text" class="readonly-color" id="follower_policy_no_${insurerCount}" name="follower_policy_no[]" readonly></td>`;
break;
case 5: // calc_policy_issue_date
newCell = `<td class=""><input type="text" class="" id="calc_policy_issue_date_${insurerCount}" name="calc_policy_issue_date[]"></td>`;
break;
case 5: // Co-Share %
case 6: // Co-Share %
newCell = `<td class="input-with-percentage"><input type="text" id="co_share_per_${insurerCount}" class="right-align-input" name="co_share_per[]" oninput="validateRange(this)" onchange="co_share_percentage_calculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 6: // Non commissionable Premium amount %
case 7: // Non commissionable Premium amount %
newCell = `<td><input type="text" class="right-align-input" id="non_comm_per_amt_${insurerCount}" name="non_comm_per_amt[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 7: // Base Premium
case 8: // 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 8: // TP Premium
case 9: // 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 9: // Ter Premium
case 10: // 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 10: // co Premium
case 11: // 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 11: // Co TP Premium
case 12: // Co TP Premium
newCell = `<td><input type="text" class="right-align-input" id="co_tp_premium_${insurerCount}" name="co_tp_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 12: // Co Ter Premium
case 13: // Co Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="co_ter_premium_${insurerCount}" name="co_ter_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 13: // CGST
case 14: // 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 14: // SGST
case 15: // 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 15: // IGST
case 16: // 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 16: // GST Amount
case 17: // GST Amount
newCell = `<td><input type="text" class="right-align-input" id="gst_amount_${insurerCount}" name="gst_amount[]" onchange="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 17: // Stamp Duty
case 18: // 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 18: // Total
case 19: // 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 19: // Agreed BP %
case 20: // 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 20: // Agreed TP %
case 21: // 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 21: // Agreed Ter %
case 22: // 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 22: // Agreed Amount
case 23: // 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 23: // Standard BP %
case 24: // 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 24: // Standard TP %
case 25: // 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 25: // Standard Ter %
case 26: // 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 26: // Actual BP Amount
case 27: // Actual BP Amount
newCell = `<td><input type="text" class="readonly-select 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 27: // Actual TP Amount
case 28: // Actual TP Amount
newCell = `<td><input type="text" class="readonly-select 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 28: // Actual TEP Amount
case 29: // Actual TEP Amount
newCell = `<td><input type="text" class="readonly-select 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 29: // Actual BP %
case 30: // Actual BP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-select right-align-input" id="actual_bp_per_${insurerCount}" name="actual_bp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'bp_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 30: // Actual TP %
case 31: // Actual TP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-select right-align-input" id="actual_tp_per_${insurerCount}" name="actual_tp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'tp_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 31: // Actual TEP %
case 32: // Actual TEP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-select right-align-input" id="actual_tep_per_${insurerCount}" name="actual_tep_per[]" onchange="actualAmountCalculation('${insurerCount}', 'tep_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 32: // Actual BP Brokerage Amount
case 33: // Actual BP Brokerage Amount
newCell = `<td><input type="text" class="readonly-select 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 33: // Actual TP Brokerage Amount
case 34: // Actual TP Brokerage Amount
newCell = `<td><input type="text" class="readonly-select 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 34: // Actual TEP Brokerage Amount
case 35: // Actual TEP Brokerage Amount
newCell = `<td><input type="text" class="readonly-select 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 35: // Expected Amount
case 36: // Expected Amount
newCell = `<td><input type="text" class="readonly-select right-align-input" id="exp_amt_${insurerCount}" name="exp_amt[]" onchange="actualAmountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
// case 30: // Variance
@ -2222,7 +2265,7 @@
// case 31: // Reward
// newCell = `<td><input type="text" class="right-align-input" id="reward_${insurerCount}" name="reward[]" onkeypress="return onlyNumbers(event)"></td>`;
// break;
case 36: // ID For Update
case 37: // ID For Update
newCell = `<td><input type="hidden" name="co_share_id[]" id="co_share_id[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
}
@ -2254,69 +2297,72 @@
case 4: // follower policy no
newCell = `<td class=""><input type="text" class="readonly-color" id="follower_policy_no_${insurerCount}" name="follower_policy_no[]" readonly></td>`;
break;
case 5: // Co-Share %
case 5: // calc_policy_issue_date
newCell = `<td class=""><input type="text" class="" id="calc_policy_issue_date_${insurerCount}" name="calc_policy_issue_date[]"></td>`;
break;
case 6: // 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 6: // Non commissionable Premium amount %
case 7: // Non commissionable Premium amount %
newCell = `<td><input type="text" class="right-align-input" id="non_comm_per_amt_${insurerCount}" name="non_comm_per_amt[]" oninput="amountCalculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 7: // Base Premium
case 8: // 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 8: // TP Premium
case 9: // 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 9: // Ter Premium
case 10: // 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 10: // co Premium
case 11: // 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 11: // Co TP Premium
case 12: // Co TP Premium
newCell = `<td><input type="text" class="right-align-input" id="co_tp_premium_${insurerCount}" name="co_tp_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 12: // Co Ter Premium
case 13: // Co Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="co_ter_premium_${insurerCount}" name="co_ter_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 13: // CGST
case 14: // 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 14: // SGST
case 15: // 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 15: // IGST
case 16: // 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 16: // GST Amount
case 17: // 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 17: // Stamp Duty
case 18: // 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 18: // Total
case 19: // 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 19: // Agreed BP %
case 20: // 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 20: // Agreed TP %
case 21: // 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 21: // Agreed Ter %
case 22: // 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 22: // Standard BP %
case 23: // 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 23: // Standard TP %
case 24: // 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 24: // Standard Ter %
case 25: // 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 25: // ID For Update
case 26: // ID For Update
newCell = `<td><input type="hidden" name="co_share_id[]" id="co_share_id[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
}
@ -2404,10 +2450,12 @@
if(is_co_pay_yes == 1){
$('.hidecotp').show();
$('#table_tr_7').show();
$('#table_tr_35').show();
$('#table_tr_3').show();
}else{
$('.hidecotp').hide();
$('#table_tr_7').hide();
$('#table_tr_35').hide();
$('#table_tr_3').hide();
}
@ -2452,6 +2500,11 @@
$('.follow_insurer').prop('required', false);
}
var calc_policy_issue_date = flatpickr("#calc_policy_issue_date_" + insurerCount, {
dateFormat: "d/m/Y",
allowInput: false
});
});
// Add click event for delete button
@ -2547,97 +2600,100 @@
case 4: // follower_policy_no
cell.find('input').val(data.follower_policy_no);
break;
case 5: // Co-Share %
case 5: // follower_policy_no
cell.find('input').val(data.pt_policy_issue_date);
break;
case 6: // Co-Share %
cell.find('input').val(data.co_share_per).toggleClass('readonly-select', !!disable_td);
break;
case 6: // non_comm_per_amt
case 7: // non_comm_per_amt
cell.find('input').val(data.non_comm_per_amt);
break;
case 7: // Base Premium
case 8: // Base Premium
cell.find('input').val(status ? data.bp_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 8: // TP Premium
case 9: // TP Premium
cell.find('input').val(status ? data.tp_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 9: // Ter Premium
case 10: // Ter Premium
cell.find('input').val(status ? data.tep_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 10: // Co Premium
case 11: // Co Premium
cell.find('input').val(status ? data.cop_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 11: // Co TP Premium
case 12: // Co TP Premium
cell.find('input').val(status ? data.cotp_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 12: // Co Ter Premium
case 13: // Co Ter Premium
cell.find('input').val(status ? data.cotep_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 13: // CGST
case 14: // CGST
cell.find('input').val(data.bp_cgst).toggleClass('readonly-select', !!disable_td);
break;
case 14: // SGST
case 15: // SGST
cell.find('input').val(data.bp_sgst).toggleClass('readonly-select', !!disable_td);
break;
case 15: // IGST
case 16: // IGST
cell.find('input').val(data.bp_igst).toggleClass('readonly-select', !!disable_td);
break;
case 16: // GST Amount
case 17: // GST Amount
cell.find('input').val(status ? data.bp_gst_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 17: // Stamp Duty
case 18: // Stamp Duty
cell.find('input').val(status ? data.stamp_duty : '').toggleClass('readonly-select', !!disable_td);
break;
case 18: // Total
case 19: // Total
cell.find('input').val(status ? data.amount : '');
break;
case 19: // Agreed BP %
case 20: // Agreed BP %
cell.find('input').val(data.agreed_bp_per).toggleClass('readonly-select', !!disable_td);
break;
case 20: // Agreed TP %
case 21: // Agreed TP %
cell.find('input').val(data.agreed_tp_per).toggleClass('readonly-select', !!disable_td);
break;
case 21: // Agreed Ter %
case 22: // Agreed Ter %
cell.find('input').val(data.agreed_tep_per).toggleClass('readonly-select', !!disable_td);
break;
case 22: // Agreed Amount
case 23: // Agreed Amount
cell.find('input').val(data.agreed_amt).toggleClass('readonly-select', !!disable_td);
break;
case 23: // Standard BP %
case 24: // Standard BP %
cell.find('input').val(data.standerd_bp_per);
break;
case 24: // Standard TP %
case 25: // Standard TP %
cell.find('input').val(data.standerd_tp_per);
break;
case 25: // Standard Ter %
case 26: // Standard Ter %
cell.find('input').val(data.standerd_tep_per);
break;
case 26: // Actual BP Amount
case 27: // Actual BP Amount
cell.find('input').val(status ? data.actual_bp_amt : '');
break;
case 27: // Actual TP Amount
case 28: // Actual TP Amount
cell.find('input').val(status ? data.actual_tp_amt : '');
break;
case 28: // Actual Ter Amount
case 29: // Actual Ter Amount
cell.find('input').val(status ? data.actual_tep_amt : '');
break;
case 29: // Actual BP %
case 30: // Actual BP %
cell.find('input').val(status ? data.actual_bp_per : '');
break;
case 30: // Actual TP %
case 31: // Actual TP %
cell.find('input').val(status ? data.actual_tp_per : '');
break;
case 31: // Actual Ter %
case 32: // Actual Ter %
cell.find('input').val(status ? data.actual_tep_per : '');
break;
case 32: // Actual BP Brokerage Amount
case 33: // Actual BP Brokerage Amount
cell.find('input').val(status ? data.actual_bp_brokerage_amt : '');
break;
case 33: // Actual TP Brokerage Amount
case 34: // Actual TP Brokerage Amount
cell.find('input').val(status ? data.actual_tp_brokerage_amt : '');
break;
case 34: // Actual Ter Brokerage Amount
case 35: // Actual Ter Brokerage Amount
cell.find('input').val(status ? data.actual_tep_brokerage_amt : '');
break;
case 35: // Expected Amount
case 36: // Expected Amount
cell.find('input').val(status ? data.exp_amt : '');
break;
// case 30: // Variance
@ -2646,7 +2702,7 @@
// case 31: // Reward
// cell.find('input').val(status ? data.reward : '');
// break;
case 36: // Co-share ID (hidden field)
case 37: // Co-share ID (hidden field)
cell.find('input[type="hidden"]').val(status ? data.id : '');
break;
}
@ -2668,67 +2724,70 @@
case 4: // follower_policy_no
cell.find('input').val(data.follower_policy_no);
break;
case 5: // Co-Share %
case 5: // follower_policy_no
cell.find('input').val(data.pt_policy_issue_date);
break;
case 6: // Co-Share %
cell.find('input').val(data.co_share_per).toggleClass('readonly-select', !!disable_td);
break;
case 6: // non_comm_per_amt
case 7: // non_comm_per_amt
cell.find('input').val(data.non_comm_per_amt);
break;
case 7: // Base Premium
case 8: // Base Premium
cell.find('input').val(status ? data.bp_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 8: // TP Premium
case 9: // TP Premium
cell.find('input').val(status ? data.tp_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 9: // Ter Premium
case 10: // Ter Premium
cell.find('input').val(status ? data.tep_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 10: // Co Premium
case 11: // Co Premium
cell.find('input').val(status ? data.cop_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 11: // Co TP Premium
case 12: // Co TP Premium
cell.find('input').val(status ? data.cotp_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 12: // Co Ter Premium
case 13: // Co Ter Premium
cell.find('input').val(status ? data.cotep_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 13: // CGST
case 14: // CGST
cell.find('input').val(data.bp_cgst).toggleClass('readonly-select', !!disable_td);
break;
case 14: // SGST
case 15: // SGST
cell.find('input').val(data.bp_sgst).toggleClass('readonly-select', !!disable_td);
break;
case 15: // IGST
case 16: // IGST
cell.find('input').val(data.bp_igst).toggleClass('readonly-select', !!disable_td);
break;
case 16: // GST Amount
case 17: // GST Amount
cell.find('input').val(status ? data.bp_gst_amt : '').toggleClass('readonly-select', !!disable_td);
break;
case 17: // Stamp Duty
case 18: // Stamp Duty
cell.find('input').val(status ? data.stamp_duty : '').toggleClass('readonly-select', !!disable_td);
break;
case 18: // Total
case 19: // Total
cell.find('input').val(status ? data.amount : '');
break;
case 19: // Agreed BP %
case 20: // Agreed BP %
cell.find('input').val(data.agreed_bp_per).toggleClass('readonly-select', !!disable_td);
break;
case 20: // Agreed TP %
case 21: // Agreed TP %
cell.find('input').val(data.agreed_tp_per).toggleClass('readonly-select', !!disable_td);
break;
case 21: // Agreed Ter %
case 22: // Agreed Ter %
cell.find('input').val(data.agreed_tep_per).toggleClass('readonly-select', !!disable_td);
break;
case 22: // Standard BP %
case 23: // Standard BP %
cell.find('input').val(data.standerd_bp_per);
break;
case 23: // Standard TP %
case 24: // Standard TP %
cell.find('input').val(data.standerd_tp_per);
break;
case 24: // Standard Ter %
case 25: // Standard Ter %
cell.find('input').val(data.standerd_tep_per);
break;
case 25: // Co-share ID (hidden field)
case 26: // Co-share ID (hidden field)
cell.find('input[type="hidden"]').val(status ? data.id : '');
break;
}
@ -2884,6 +2943,25 @@
})
$('#policy_issue_date').on('change', function(){
let date = $(this).val();
let date_set = false
$('[name="co_share_type[]"]').each(function () {
console.log('co_share_type[] value', $(this).val());
if($(this).val() == 1){
let uniqueid = $(this).data('id');
$('#calc_policy_issue_date_' + uniqueid).val(date).addClass('readonly-select');
date_set = true;
}
});
if(!date_set){
$('#calc_policy_issue_date_1').val(date).addClass('readonly-select');
}
});
//-----------------------------------------------------------------------------------------------------------
$(document).on('change', '#insurerTable input, #insurerTable select, #insurerTable textarea', function() {

View File

@ -32,11 +32,13 @@
box-shadow: none;
outline: none;
width: 100%;
padding: 5px 30px !important;
}
#insurerTable th,
#insurerTable td {
padding: 5px;
height: 30px;
padding: 2px 4px !important;
/* height: 30px; */
vertical-align: middle;
}
@ -50,6 +52,7 @@
height: 20px;
width: 20px;
}
#insurerTable th,
#insurerTable th {
min-width: 230px;
@ -96,11 +99,11 @@
.input-with-percentage::after {
content: '%';
position: absolute;
right: 5px;
right: 10px;
top: 50%;
transform: translateY(-50%);
font-weight: bold;
color: #000;
color: #495057;
}
/* .select2-container .select2-selection__rendered {
@ -142,21 +145,55 @@
}
/** newly implemented */
#insurerTable thead th:first-child {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable tbody td {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable th{
color: black !important;
background-color: transparent !important;
}
#insurerTable input[type="text"],
#insurerTable select {
width: 100%;
font-size: 14px;
line-height: 1.5;
color: #000;
background-color: #fff;
background-clip: padding-box;
border: 1px solid #ced4da;
border-radius: 4px;
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
box-sizing: border-box;
}
/* Focus effect like form-control */
#insurerTable input[type="text"]:focus,
#insurerTable select:focus {
border-color: #80bdff;
outline: 0;
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
/* Disabled & readonly styling */
#insurerTable input[readonly],
#insurerTable input:disabled,
#insurerTable select:disabled {
background-color: #e0e0e0; /* Darker background */
color: #666; /* Darker text color */
cursor: not-allowed;
}
</style>
<style>
@ -825,14 +862,17 @@
<tr id="table_tr_37">
<td>CD Amount</td>
</tr>
<tr id="table_tr_35">
<tr id="table_tr_35" style="display: none;">
<td>Follower Policy No</td>
</tr>
<tr id="table_tr_40">
<td>Policy Issue Date</td>
</tr>
<tr id="table_tr_3" style="display: none;">
<td>Co-Share %</td>
</tr>
<tr id="table_tr_36">
<td>Non Commitional <br> Premium Amount</td>
<td>Non Commissional <br> Premium Amount</td>
</tr>
<tr id="table_tr_4">
<td>Base Premium</td>
@ -1691,7 +1731,7 @@
var bap = selectedOption.data('bap');
var allocg = selectedOption.data('allocg');
console.log('allocg:', allocg);
// console.log('allocg:', allocg);
// console.log('EBP:', ebp);
// console.log('ETP:', etp);
@ -1870,10 +1910,8 @@
if (isAnyChecked) {
toastr.warning('Only one leader can be selected.', 'WARNING!');
$(this).prop('checked', false);
return;
}
});
$(document).on('click', '[name="co_share_type[]"]', function() {
let val = $(this).val();
let uniqueid = $(this).data('id');
@ -1889,10 +1927,24 @@
if(insurer == ""){
toastr.warning('Please select the insurer.', 'WARNING!');
$(this).prop('checked', false);
return;
}else{
$('#insurer_id').val(insurer)
}
$('[name="calc_policy_issue_date[]"]').each(function () {
$(this).val('').removeClass('readonly-select');
});
let policy_issue_date = $('#policy_issue_date').val();
if ($('#cop_yes').is(':checked') && $(this).is(':checked')) {
$('#follower_policy_no_' + uniqueid).prop('readonly', true);
$('#calc_policy_issue_date_' + uniqueid).val(policy_issue_date).addClass('readonly-select');;
} else {
$('#follower_policy_no_' + uniqueid).prop('readonly', false);
$('#calc_policy_issue_date_1').val(policy_issue_date).addClass('readonly-select');
}
});
$(document).on('change', 'select[name="relationship[]"]', function() {
@ -2417,7 +2469,7 @@
let selectedOption = $('#policy_type_id').find('option:selected');
let bap = selectedOption.data('bap');
let allocg = selectedOption.data('allocg');
console.log('allocg:', allocg);
// console.log('allocg:', allocg);
const event = window.event;
console.log("Event id:", event.target.id);
@ -3675,11 +3727,10 @@
let co_share_type = []; // Initialize an object to mimic the array structure
$('[name="cd_ac_no_for_child[]"]').each(function(index) {
let value = $(this).val();
$('[name="co_share_type[]"]').each(function(index) {
let value = $(this).is(':checked');
if(value){
co_share_type.push(1); // Assign value with index as key
}else{
co_share_type.push(2); // Assign value with index as key
}
@ -3967,7 +4018,7 @@
var selectedOption = $('#policy_type_id').find('option:selected');
var bap = selectedOption.data('bap');
var allocg = selectedOption.data('allocg');
console.log('allocg:', allocg);
// console.log('allocg:', allocg);
// do not remove this commented items
@ -4405,6 +4456,23 @@
$('#CDMasterForm')[0].reset();
});
$('#policy_issue_date').on('change', function(){
let date = $(this).val();
let date_set = false
$('[name="co_share_type[]"]').each(function () {
if($(this).is(':checked')){
let uniqueid = $(this).data('id');
$('#calc_policy_issue_date_' + uniqueid).val(date).addClass('readonly-select');
date_set = true;
}
});
if(!date_set){
$('#calc_policy_issue_date_1').val(date).addClass('readonly-select');
}
});
//------------------------------------------------------------------------------------------------------------
var insurerCount = 0;
@ -4469,108 +4537,111 @@
case 3: // CD Amount
newCell = `<td class=""><input type="text" class="right-align-input" id="cd_current_balance_${insurerCount}" readonly></td>`;
break;
case 4: // follower policy no %
case 4: // follower policy no
newCell = `<td class=""><input type="text" class="" id="follower_policy_no_${insurerCount}" name="follower_policy_no[]" onchange="validateInput(this, 'client_policy', 'policy_no')"></td>`;
break;
case 5: // policy issue date
newCell = `<td class=""><input type="text" class="" id="calc_policy_issue_date_${insurerCount}" name="calc_policy_issue_date[]"></td>`;
break;
case 5: // Co-Share %
case 6: // Co-Share %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="co_share_per_${insurerCount}" name="co_share_per[]" oninput="validateRange(this); " onchange="co_share_percentage_calculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 6: // Non commissionable Premium amount %
case 7: // Non commissionable Premium amount %
newCell = `<td><input type="text" class="right-align-input" id="non_comm_per_amt_${insurerCount}" name="non_comm_per_amt[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 7: // Base Premium
case 8: // Base Premium
newCell = `<td><input type="text" class="right-align-input" id="base_premium_${insurerCount}" name="base_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 8: // TP Premium
case 9: // TP Premium
newCell = `<td><input type="text" class="right-align-input" id="tp_premium_${insurerCount}" name="tp_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 9: // Ter Premium
case 10: // Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="ter_premium_${insurerCount}" name="ter_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 10: // co Premium
case 11: // co Premium
newCell = `<td><input type="text" class="right-align-input" id="co_premium_${insurerCount}" name="co_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 11: // Co TP Premium
case 12: // Co TP Premium
newCell = `<td><input type="text" class="right-align-input" id="co_tp_premium_${insurerCount}" name="co_tp_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 12: // Co Ter Premium
case 13: // Co Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="co_ter_premium_${insurerCount}" name="co_ter_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 13: // CGST
case 14: // CGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="cgst_${insurerCount}" name="cgst[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 14: // SGST
case 15: // SGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="sgst_${insurerCount}" name="sgst[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 15: // IGST
case 16: // IGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="igst_${insurerCount}" name="igst[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 16: // GST Amount
case 17: // GST Amount
newCell = `<td><input type="text" class="right-align-input" id="gst_amount_${insurerCount}" name="gst_amount[]" onchange="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 17: // Stamp Duty
case 18: // Stamp Duty
newCell = `<td><input type="text" class="right-align-input" id="stamp_duty_${insurerCount}" name="stamp_duty[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 18: // Total
case 19: // 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 19: // Agreed BP %
case 20: // Agreed BP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_bp_${insurerCount}" name="agreed_bp[]" oninput="validateRange(this); " onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 20: // Agreed TP %
case 21: // Agreed TP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_tp_${insurerCount}" name="agreed_tp[]" oninput="validateRange(this); " onkeypress="return onlyNumbers(event)"></td>`;
break;
case 21: // Agreed Ter %
case 22: // Agreed Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_ter_${insurerCount}" name="agreed_ter[]" oninput="validateRange(this); " onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 22: // Agreed Amount
case 23: // Agreed Amount
newCell = `<td><input type="text" class="right-align-input" id="agreed_amount_${insurerCount}" name="agreed_amount[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 23: // Standard BP %
case 24: // 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 24: // Standard TP %
case 25: // Standard TP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" id="standard_tp_${insurerCount}" name="standard_tp[]" onkeypress="return onlyNumbers(event)" readonly ></td>`;
break;
case 25: // Standard Ter %
case 26: // Standard Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" id="standard_tep_${insurerCount}" name="standard_ter[]" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 26: // Actual BP Amount
case 27: // Actual BP Amount
newCell = `<td><input type="text" class="readonly-select 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 27: // Actual TP Amount
case 28: // Actual TP Amount
newCell = `<td><input type="text" class="readonly-select 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 28: // Actual TEP Amount
case 29: // Actual TEP Amount
newCell = `<td><input type="text" class="readonly-select 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 29: // Actual BP %
case 30: // Actual BP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-select right-align-input" id="actual_bp_per_${insurerCount}" name="actual_bp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'bp_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 30: // Actual TP %
case 31: // Actual TP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-select right-align-input" id="actual_tp_per_${insurerCount}" name="actual_tp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'tp_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 31: // Actual TEP %
case 32: // Actual TEP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-select right-align-input" id="actual_tep_per_${insurerCount}" name="actual_tp_per[]" onchange="actualAmountCalculation('${insurerCount}', 'tep_per')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 32: // Actual BP Brokerage Amount
case 33: // Actual BP Brokerage Amount
newCell = `<td><input type="text" class="readonly-select 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 33: // Actual TP Brokerage Amount
case 34: // Actual TP Brokerage Amount
newCell = `<td><input type="text" class="readonly-select 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 34: // Actual TEP Brokerage Amount
case 35: // Actual TEP Brokerage Amount
newCell = `<td><input type="text" class="readonly-select 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 35: // Expected Amount
case 36: // Expected Amount
newCell = `<td><input type="text" class="readonly-select right-align-input" id="exp_amt_${insurerCount}" name="exp_amt[]" onchange="actual" onkeypress="return onlyNumbers(event)"></td>`;
break;
// case 34: // Variance
// newCell = `<td><input type="text" class="readonly-select right-align-input" id="variance_${insurerCount}" name="variance[]" onchange="actual" onkeypress="return onlyNumbers(event)"></td>`;
// break;
case 36: // ID For Update
case 37: // ID For Update
newCell = `<td><input type="hidden" name="co_share_id[]" id="co_share_id[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
@ -4614,68 +4685,70 @@
case 4: // follower policy no %
newCell = `<td class=""><input type="text" class="" id="follower_policy_no_${insurerCount}" name="follower_policy_no[]" oninput="" onchange=""></td>`;
break;
case 5: // Co-Share %
case 5: // calc_policy_issue_date %
newCell = `<td class=""><input type="text" class="" id="calc_policy_issue_date_${insurerCount}" name="calc_policy_issue_date[]" oninput="" onchange=""></td>`;
break;
case 6: // Co-Share %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="co_share_per_${insurerCount}" name="co_share_per[]" oninput="validateRange(this); " onchange="co_share_percentage_calculation('${insurerCount}')" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 6: // Non commissionable Premium amount %
case 7: // Non commissionable Premium amount %
newCell = `<td><input type="text" class="right-align-input" id="non_comm_per_amt_${insurerCount}" name="non_comm_per_amt[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 7: // Base Premium
case 8: // Base Premium
newCell = `<td><input type="text" class="right-align-input" id="base_premium_${insurerCount}" name="base_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 8: // TP Premium
case 9: // TP Premium
newCell = `<td><input type="text" class="right-align-input" id="tp_premium_${insurerCount}" name="tp_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 9: // Ter Premium
case 10: // Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="ter_premium_${insurerCount}" name="ter_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 10: // co Premium
case 11: // co Premium
newCell = `<td><input type="text" class="right-align-input" id="co_premium_${insurerCount}" name="co_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 11: // Co TP Premium
case 12: // Co TP Premium
newCell = `<td><input type="text" class="right-align-input" id="co_tp_premium_${insurerCount}" name="co_tp_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 12: // Co Ter Premium
case 13: // Co Ter Premium
newCell = `<td><input type="text" class="right-align-input" id="co_ter_premium_${insurerCount}" name="co_ter_premium[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 13: // CGST
case 14: // CGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="cgst_${insurerCount}" name="cgst[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 14: // SGST
case 15: // SGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="sgst_${insurerCount}" name="sgst[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 15: // IGST
case 16: // IGST
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="igst_${insurerCount}" name="igst[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 16: // GST Amount
case 17: // GST Amount
newCell = `<td><input type="text" class="right-align-input" id="gst_amount_${insurerCount}" name="gst_amount[]" onchange="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 17: // Stamp Duty
case 18: // Stamp Duty
newCell = `<td><input type="text" class="right-align-input" id="stamp_duty_${insurerCount}" name="stamp_duty[]" oninput="" onkeypress="return onlyNumbers(event)"></td>`;
break;
case 18: // Total
case 19: // 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 19: // Agreed BP %
case 20: // Agreed BP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_bp_${insurerCount}" name="agreed_bp[]" oninput="validateRange(this); " onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 20: // Agreed TP %
case 21: // Agreed TP %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_tp_${insurerCount}" name="agreed_tp[]" oninput="validateRange(this); " onkeypress="return onlyNumbers(event)"></td>`;
break;
case 21: // Agreed Ter %
case 22: // Agreed Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="right-align-input" id="agreed_ter_${insurerCount}" name="agreed_ter[]" oninput="validateRange(this); " onkeypress="return onlyNumbers(event)" ></td>`;
break;
case 22: // Standard BP %
case 23: // 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 23: // Standard TP %
case 24: // Standard TP %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" id="standard_tp_${insurerCount}" name="standard_tp[]" onkeypress="return onlyNumbers(event)" readonly ></td>`;
break;
case 24: // Standard Ter %
case 25: // Standard Ter %
newCell = `<td class="input-with-percentage"><input type="text" class="readonly-color right-align-input" id="standard_tep_${insurerCount}" name="standard_ter[]" onkeypress="return onlyNumbers(event)" readonly></td>`;
break;
case 25: // ID For Update
case 26: // ID For Update
newCell = `<td><input type="hidden" name="co_share_id[]" id="co_share_id[]" onkeypress="return onlyNumbers(event)"></td>`;
break;
}
@ -4705,7 +4778,7 @@
var bap = selectedOption.data('bap');
var allocg = selectedOption.data('allocg');
console.log('allocg:', allocg);
// console.log('allocg:', allocg);
var client_type_id = $('#client_type').val() ?? 1;
@ -4784,11 +4857,6 @@
std_tp = itp;
std_tep = itep;
}
// console.log('client_type_id', client_type_id);
// console.log('std_bp', std_bp);
// console.log('std_tp', std_tp);
// console.log('std_tep', std_tep);
$('[name="standard_bp[]"]').val(std_bp);
$('[name="standard_tp[]"]').val(std_tp);
@ -4802,7 +4870,7 @@
});
insurer_count_array.push(insurerCount)
insurer_count_array.push(insurerCount);
// Add click event for delete button
// $('.delete-insurer').off('click').on('click', function() {
@ -4821,6 +4889,11 @@
} else {
$('.follow_insurer').prop('required', true);
}
var calc_policy_issue_date = flatpickr("#calc_policy_issue_date_" + insurerCount, {
dateFormat: "d/m/Y",
allowInput: false
});
}
function removeInsurerColumn(index, count_index) {
@ -4920,103 +4993,106 @@
case 4: // follower_policy_no
cell.find('input').val(data.follower_policy_no).toggleClass('readonly-select', !!disable_td);
break;
case 5: // Co-Share %
case 5: // pt_policy_issue_date
cell.find('input').val(data.pt_policy_issue_date).toggleClass('readonly-select', !!disable_td);
break;
case 6: // Co-Share %
cell.find('input').val(data.co_share_per).toggleClass('readonly-select', !!disable_td);
break;
case 6: // non_comm_per_amt
case 7: // non_comm_per_amt
cell.find('input').val(data.non_comm_per_amt);
break;
case 7: // Base Premium
case 8: // Base Premium
cell.find('input').val(data.bp_amt).toggleClass('readonly-select', !!disable_td);
break;
case 8: // TP Premium
case 9: // TP Premium
cell.find('input').val(data.tp_amt).toggleClass('readonly-select', !!disable_td);
break;
case 9: // Ter Premium
case 10: // Ter Premium
cell.find('input').val(data.tep_amt).toggleClass('readonly-select', !!disable_td);
break;
case 10: // Co Premium
case 11: // Co Premium
cell.find('input').val(data.cop_amt).toggleClass('readonly-select', !!disable_td);
break;
case 11: // Co TP Premium
case 12: // Co TP Premium
cell.find('input').val(data.cotp_amt).toggleClass('readonly-select', !!disable_td);
break;
case 12: // Co Ter Premium
case 13: // Co Ter Premium
cell.find('input').val(data.cotep_amt).toggleClass('readonly-select', !!disable_td);
break;
case 13: // CGST
case 14: // CGST
cell.find('input').val(data.bp_cgst).toggleClass('readonly-select', !!disable_td);
break;
case 14: // SGST
case 15: // SGST
cell.find('input').val(data.bp_sgst).toggleClass('readonly-select', !!disable_td);
break;
case 15: // IGST
case 16: // IGST
cell.find('input').val(data.bp_igst).toggleClass('readonly-select', !!disable_td);
break;
case 16: // GST Amount
case 17: // GST Amount
cell.find('input').val(data.bp_gst_amt).toggleClass('readonly-select', !!disable_td);
break;
case 17: // Stamp Duty
case 18: // Stamp Duty
cell.find('input').val(data.stamp_duty).toggleClass('readonly-select', !!disable_td);
break;
case 18: // Total
case 19: // Total
cell.find('input').val(data.amount).toggleClass('readonly-select', !!disable_td);
break;
case 19: // Agreed BP %
case 20: // Agreed BP %
cell.find('input').val(data.agreed_bp_per).toggleClass('readonly-select', !!disable_td);
break;
case 20: // Agreed TP %
case 21: // Agreed TP %
cell.find('input').val(data.agreed_tp_per).toggleClass('readonly-select', !!disable_td);
break;
case 21: // Agreed Ter %
case 22: // Agreed Ter %
cell.find('input').val(data.agreed_tep_per).toggleClass('readonly-select', !!disable_td);
break;
case 22: // Agreed Amount
case 23: // Agreed Amount
cell.find('input').val(data.agreed_amt).toggleClass('readonly-select', !!disable_td);
break;
case 23: // Standard BP %
case 24: // Standard BP %
cell.find('input').val(data.standerd_bp_per).toggleClass('readonly-select', !!disable_td);
break;
case 24: // Standard TP %
case 25: // Standard TP %
cell.find('input').val(data.standerd_tp_per).toggleClass('readonly-select', !!disable_td);
break;
case 25: // Standard Ter %
case 26: // Standard Ter %
cell.find('input').val(data.standerd_tep_per).toggleClass('readonly-select', !!disable_td);
break;
case 26: // Actual BP Amount
case 27: // Actual BP Amount
cell.find('input').val(data.actual_bp_amount);
break;
case 27: // Actual TP Amount
case 28: // Actual TP Amount
cell.find('input').val(data.actual_tp_amount);
break;
case 28: // Actual Ter Amount
case 29: // Actual Ter Amount
cell.find('input').val(data.actual_tep_amount);
break;
case 29: // Actual BP %
case 30: // Actual BP %
cell.find('input').val(data.actual_bp_percentage);
break;
case 30: // Actual TP %
case 31: // Actual TP %
cell.find('input').val(data.actual_tp_percentage);
break;
case 31: // Actual Ter %
case 32: // Actual Ter %
cell.find('input').val(data.actual_tep_percentage);
break;
case 32: // Actual BP Brokerage Amount
case 33: // Actual BP Brokerage Amount
cell.find('input').val(data.actual_bp_brokerage_amount);
break;
case 33: // Actual TP Brokerage Amount
case 34: // Actual TP Brokerage Amount
cell.find('input').val(data.actual_tp_brokerage_amount);
break;
case 34: // Actual Ter Brokerage Amount
case 35: // Actual Ter Brokerage Amount
cell.find('input').val(data.actual_tep_brokerage_amount);
break;
case 35: // Expected Amount
case 36: // Expected Amount
cell.find('input').val(data.exp_amt);
break;
// case 34: // Variance
// cell.find('input').val(data.variance);
// break;
case 36: // Co-share ID (hidden field)
case 37: // Co-share ID (hidden field)
cell.find('input[type="hidden"]').val(data.id);
break;
}
@ -5047,67 +5123,70 @@
case 4: // follower_policy_no
cell.find('input').val(data.follower_policy_no).toggleClass('readonly-select', !!disable_td);
break;
case 5: // co_share_per
case 5: // pt_policy_issue_date
cell.find('input').val(data.pt_policy_issue_date).toggleClass('readonly-select', !!disable_td);
break;
case 6: // co_share_per
cell.find('input').val(data.co_share_per).toggleClass('readonly-select', !!disable_td);
break;
case 6: // non_comm_per_amt
case 7: // non_comm_per_amt
cell.find('input').val(data.non_comm_per_amt);
break;
case 7: // Base Premium
case 8: // Base Premium
cell.find('input').val(data.bp_amt).toggleClass('readonly-select', !!disable_td);
break;
case 8: // TP Premium
case 9: // TP Premium
cell.find('input').val(data.tp_amt).toggleClass('readonly-select', !!disable_td);
break;
case 9: // Ter Premium
case 10: // Ter Premium
cell.find('input').val(data.tep_amt).toggleClass('readonly-select', !!disable_td);
break;
case 10: // Co Premium
case 11: // Co Premium
cell.find('input').val(data.cop_amt).toggleClass('readonly-select', !!disable_td);
break;
case 11: // Co TP Premium
case 12: // Co TP Premium
cell.find('input').val(data.cotp_amt).toggleClass('readonly-select', !!disable_td);
break;
case 12: // Co Ter Premium
case 13: // Co Ter Premium
cell.find('input').val(data.cotep_amt).toggleClass('readonly-select', !!disable_td);
break;
case 13: // CGST
case 14: // CGST
cell.find('input').val(data.bp_cgst).toggleClass('readonly-select', !!disable_td);
break;
case 14: // SGST
case 15: // SGST
cell.find('input').val(data.bp_sgst).toggleClass('readonly-select', !!disable_td);
break;
case 15: // IGST
case 16: // IGST
cell.find('input').val(data.bp_igst).toggleClass('readonly-select', !!disable_td);
break;
case 16: // GST Amount
case 17: // GST Amount
cell.find('input').val(data.bp_gst_amt).toggleClass('readonly-select', !!disable_td);
break;
case 17: // Stamp Duty
case 18: // Stamp Duty
cell.find('input').val(data.stamp_duty).toggleClass('readonly-select', !!disable_td);
break;
case 18: // Total
case 19: // Total
cell.find('input').val(data.amount).toggleClass('readonly-select', !!disable_td);
break;
case 19: // Agreed BP %
case 20: // Agreed BP %
cell.find('input').val(data.agreed_bp_per).toggleClass('readonly-select', !!disable_td);
break;
case 20: // Agreed TP %
case 21: // Agreed TP %
cell.find('input').val(data.agreed_tp_per).toggleClass('readonly-select', !!disable_td);
break;
case 21: // Agreed Ter %
case 22: // Agreed Ter %
cell.find('input').val(data.agreed_tep_per).toggleClass('readonly-select', !!disable_td);
break;
case 22: // Standard BP %
case 23: // Standard BP %
cell.find('input').val(data.standerd_bp_per).toggleClass('readonly-select', !!disable_td);
break;
case 23: // Standard TP %
case 24: // Standard TP %
cell.find('input').val(data.standerd_tp_per).toggleClass('readonly-select', !!disable_td);
break;
case 24: // Standard Ter %
case 25: // Standard Ter %
cell.find('input').val(data.standerd_tep_per).toggleClass('readonly-select', !!disable_td);
break;
case 25: // Co-share ID (hidden field)
case 26: // Co-share ID (hidden field)
cell.find('input[type="hidden"]').val(data.id);
break;
}
@ -6353,7 +6432,6 @@
}
}
function makeUniqueShortName(baseName) {
let input = $("#short_name")[0]; // input element
checkDuplicateTableFieldValue("clients", "short_name", baseName, function(isDuplicate) {