FEAT_NON_EB_NEW_CHANGE
This commit is contained in:
parent
d76e999c93
commit
b542913153
@ -727,6 +727,7 @@ class LeadsController extends BaseController
|
|||||||
$data["child_table_data"] = json_decode($data['question_json'], true)['child_table_data'];
|
$data["child_table_data"] = json_decode($data['question_json'], true)['child_table_data'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$data['product'] = $this->leadsModel->select("policy_type.policy_type")->join('policy_type', 'leads.policy_type_id = policy_type.id')->where('leads.id', $id)->first()['policy_type'];
|
||||||
// $data['lead_register_data'] = json_decode($data['lead_data']['custom_fields']);
|
// $data['lead_register_data'] = json_decode($data['lead_data']['custom_fields']);
|
||||||
// dd($data['lead_register_data']);
|
// dd($data['lead_register_data']);
|
||||||
// dd($data);
|
// dd($data);
|
||||||
@ -3044,7 +3045,6 @@ class LeadsController extends BaseController
|
|||||||
$data['lead_edit_data']['claims_details_html'] = "";
|
$data['lead_edit_data']['claims_details_html'] = "";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// dd($data);
|
// dd($data);
|
||||||
|
|
||||||
return $this->loadLayout('leads_form_handler', $data);
|
return $this->loadLayout('leads_form_handler', $data);
|
||||||
|
|||||||
@ -242,19 +242,19 @@ hr.solid {
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- <div class="form-group col-md-3">
|
<div class="form-group col-md-3">
|
||||||
<label for="insurer">Insurer <span class="text-danger"></span></label>
|
<label for="insurer">Insurer <span class="text-danger"></span></label>
|
||||||
<select class="form-control" id="insurer" name="insurer">
|
<select class="form-control" id="insurer" name="insurer">
|
||||||
<option value="">Select Insurer</option>
|
<option value="">Select Insurer</option>
|
||||||
<?php //if (isset($insurer)) { ?>
|
<?php if (isset($insurer)) { ?>
|
||||||
<?php //foreach ($insurer as $value) { ?>
|
<?php foreach ($insurer as $value) { ?>
|
||||||
<option value="<?php //echo $value['id'] . '-' . $value['insurer_id'] ?>">
|
<option value="<?= $value['id'] . '-' . $value['insurer_id'] ?>">
|
||||||
<?php //echo $value['insurer_name'] . '-' . $value['branch_code'] ?>
|
<?= $value['insurer_name'] . '-' . $value['branch_code'] ?>
|
||||||
</option>
|
</option>
|
||||||
<?php //} ?>
|
<?php } ?>
|
||||||
<?php //} ?>
|
<?php } ?>
|
||||||
</select> -->
|
</select>
|
||||||
<!-- </div> -->
|
</div>
|
||||||
|
|
||||||
<!-- <div class="form-group col-md-3">
|
<!-- <div class="form-group col-md-3">
|
||||||
<label for="tpa">TPA <span class="text-danger"></span></label>
|
<label for="tpa">TPA <span class="text-danger"></span></label>
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
<div class="modal fade" id="policyRegisterModel" tabindex="-1" aria-labelledby="fullWidthModalLabel" aria-hidden="true">
|
<div class="modal fade" id="policyRegisterModel" tabindex="-1" aria-labelledby="fullWidthModalLabel" aria-hidden="true" data-backdrop="static" data-keyboard="false">
|
||||||
<div class="modal-dialog modal-xl modal-dialog-centered">
|
<div class="modal-dialog modal-xl modal-dialog-centered">
|
||||||
<div class="modal-content">
|
<div class="modal-content">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h4 class="modal-title" id="fullWidthModalLabel">REGISTER POLICY INFORMATION</h4>
|
<h4 class="modal-title" id="fullWidthModalLabel">REGISTER POLICY INFORMATION</h4>
|
||||||
<button type="button" onclick="resetAllform()" class="close" data-dismiss="modal" aria-label="Close">
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
<span aria-hidden="true">×</span>
|
<span aria-hidden="true">×</span>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
@ -150,10 +150,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4 dt-switch-wrapper">
|
||||||
<div class="form-check">
|
<div class="custom-control custom-switch">
|
||||||
<input type="checkbox" class="form-check-input" id="terrorismSwitch">
|
<input type="checkbox" class="custom-control-input" id="terrorismSwitch">
|
||||||
<label class="form-check-label" for="terrorismSwitch">Is Terrorism Required?</label>
|
<label class="custom-control-label" for="terrorismSwitch">Is Terrorism Required?</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-4">
|
<div class="form-group col-md-4">
|
||||||
@ -258,6 +258,20 @@
|
|||||||
// console.log("Occupancy : ", occupancyMaster);
|
// console.log("Occupancy : ", occupancyMaster);
|
||||||
var storedPolicyData = {};
|
var storedPolicyData = {};
|
||||||
storedPolicyData = JSON.parse(localStorage.getItem('policyData'));
|
storedPolicyData = JSON.parse(localStorage.getItem('policyData'));
|
||||||
|
|
||||||
|
|
||||||
|
var isFormDirty = false;
|
||||||
|
$(document).ready(function() {
|
||||||
|
// Listen for changes in all inputs, selects, and textareas within your modal
|
||||||
|
$('#policyRegisterModel').on('change input', 'input, select, textarea', function() {
|
||||||
|
// alert("function called");
|
||||||
|
isFormDirty = true;
|
||||||
|
// console.log("Form is dirty",isFormDirty);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
// resetAllform();
|
// resetAllform();
|
||||||
// console.log("Stored date Found : ", typeof(storedPolicyData));
|
// console.log("Stored date Found : ", typeof(storedPolicyData));
|
||||||
@ -320,6 +334,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
$('#productSelectionForm').submit(function(event) {
|
$('#productSelectionForm').submit(function(event) {
|
||||||
|
|
||||||
// console.log("Submit function called");
|
// console.log("Submit function called");
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
var isValid = $('#productSelectionForm').parsley().validate();
|
var isValid = $('#productSelectionForm').parsley().validate();
|
||||||
@ -372,6 +387,7 @@
|
|||||||
$("#policyRiskSplitUpForm").submit(function(event) {
|
$("#policyRiskSplitUpForm").submit(function(event) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
||||||
|
isFormDirty = false;
|
||||||
|
|
||||||
|
|
||||||
var isValid = $('#policyRiskSplitUpForm').parsley().validate();
|
var isValid = $('#policyRiskSplitUpForm').parsley().validate();
|
||||||
@ -416,15 +432,27 @@
|
|||||||
let InProcess = [...document.querySelectorAll('[id^="stockInProcess_"]')].map(el => Number(el.value) || 0);
|
let InProcess = [...document.querySelectorAll('[id^="stockInProcess_"]')].map(el => Number(el.value) || 0);
|
||||||
let rawMaterial = [...document.querySelectorAll('[id^="rawMaterial_"]')].map(el => Number(el.value) || 0);
|
let rawMaterial = [...document.querySelectorAll('[id^="rawMaterial_"]')].map(el => Number(el.value) || 0);
|
||||||
let findMaterial = [...document.querySelectorAll('[id^="finishedStock_"]')].map(el => Number(el.value) || 0);
|
let findMaterial = [...document.querySelectorAll('[id^="finishedStock_"]')].map(el => Number(el.value) || 0);
|
||||||
|
let building = [...document.querySelectorAll('[id^="building_"]')].map(el => Number(el.value) || 0);
|
||||||
|
let content = [...document.querySelectorAll('[id^="content_"]')].map(el => Number(el.value) || 0);
|
||||||
|
let furniture = [...document.querySelectorAll('[id^="furniture_"]')].map(el => Number(el.value) || 0);
|
||||||
|
let plantAndMachinery = [...document.querySelectorAll('[id^="plantAndMachinery_"]')].map(el => Number(el.value) || 0);
|
||||||
|
let electricalFittings = [...document.querySelectorAll('[id^="electricalFittings_"]')].map(el => Number(el.value) || 0);
|
||||||
|
|
||||||
totalSI = InProcess.reduce((acc, val) => acc + val, 0) +
|
totalSI = InProcess.reduce((acc, val) => acc + val, 0) +
|
||||||
rawMaterial.reduce((acc, val) => acc + val, 0) +
|
rawMaterial.reduce((acc, val) => acc + val, 0) +
|
||||||
findMaterial.reduce((acc, val) => acc + val, 0);
|
findMaterial.reduce((acc, val) => acc + val, 0) +
|
||||||
|
building.reduce((acc, val) => acc + val, 0) +
|
||||||
|
content.reduce((acc, val) => acc + val, 0) +
|
||||||
|
furniture.reduce((acc, val) => acc + val, 0) +
|
||||||
|
plantAndMachinery.reduce((acc, val) => acc + val, 0) +
|
||||||
|
electricalFittings.reduce((acc, val) => acc + val, 0);
|
||||||
|
|
||||||
let allowedSI = Number($("#policySI").val()) || 0;
|
let allowedSI = Number($("#policySI").val()) || 0;
|
||||||
|
// alert(allowedSI);
|
||||||
|
|
||||||
if (totalSI != allowedSI) {
|
if (totalSI != allowedSI) {
|
||||||
toastr.error("Sum Insured Exceeds Allowed Limit", "ERROR");
|
console.log("allowedSI : ", allowedSI, " totalSI : ", totalSI);
|
||||||
|
toastr.error("Sum Insured Does not Match Allowed Limit", "ERROR");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// console.log("Total SI: ", totalSI);
|
// console.log("Total SI: ", totalSI);
|
||||||
@ -446,6 +474,10 @@
|
|||||||
// Determine the number of dynamic rows based on a field that appears per row
|
// Determine the number of dynamic rows based on a field that appears per row
|
||||||
const totalRows = formDataSplitUp.filter(field => field.name === "building[]").length;
|
const totalRows = formDataSplitUp.filter(field => field.name === "building[]").length;
|
||||||
|
|
||||||
|
if (totalRows != policyDetailsData.location_no) {
|
||||||
|
toastr.error("Please Enter All Risk Address", "ERROR");
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Initialize empty objects for each row
|
// Initialize empty objects for each row
|
||||||
for (let i = 0; i < totalRows; i++) {
|
for (let i = 0; i < totalRows; i++) {
|
||||||
groupData.push({});
|
groupData.push({});
|
||||||
@ -499,11 +531,28 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const formData = $("#policyRiskAddressForm").serializeArray();
|
const formData = $("#policyRiskAddressForm").serializeArray();
|
||||||
|
console.log("formdata 1 : ", formData);
|
||||||
|
$("[id^='isBasement_']").each(function() {
|
||||||
|
let checkbox = $(this);
|
||||||
|
let isChecked = checkbox.is(":checked");
|
||||||
|
let increment = checkbox.attr("id").split("_")[1];
|
||||||
|
|
||||||
|
formData.push({
|
||||||
|
name: `is_basement[]`,
|
||||||
|
value: isChecked ? "yes" : "no"
|
||||||
|
});
|
||||||
|
});
|
||||||
|
console.log("formdata 2 : ", formData);
|
||||||
|
|
||||||
const groupedData = [];
|
const groupedData = [];
|
||||||
|
|
||||||
// Determine the number of dynamic rows
|
// Determine the number of dynamic rows
|
||||||
const totalRows = formData.filter(field => field.name === "pin_code[]").length;
|
const totalRows = formData.filter(field => field.name === "pin_code[]").length;
|
||||||
|
|
||||||
|
if (totalRows != policyDetailsData.location_no) {
|
||||||
|
toastr.error("Please Enter All Risk Address", "ERROR");
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Initialize empty objects for each row
|
// Initialize empty objects for each row
|
||||||
for (let i = 0; i < totalRows; i++) {
|
for (let i = 0; i < totalRows; i++) {
|
||||||
groupedData.push({});
|
groupedData.push({});
|
||||||
@ -528,7 +577,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
policyRiskAddress = groupedData;
|
policyRiskAddress = groupedData;
|
||||||
// console.log("Grouped Data as Objects: ", policyRiskAddress);
|
console.log("Grouped Data as Objects: ", policyRiskAddress);
|
||||||
|
|
||||||
if (productSelectionData.singleProduct == 'on') {
|
if (productSelectionData.singleProduct == 'on') {
|
||||||
savePolicyDataLocal();
|
savePolicyDataLocal();
|
||||||
@ -553,14 +602,17 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var formData = $("#policyDetailsForm").serializeArray();
|
var formData = $("#policyDetailsForm").serializeArray();
|
||||||
|
formData.push({
|
||||||
|
name: "terrorism",
|
||||||
|
value: $('#terrorismSwitch').is(':checked') ? 'yes' : 'no'
|
||||||
|
})
|
||||||
$.each(formData, function(i, field) {
|
$.each(formData, function(i, field) {
|
||||||
policyDetailsData[field.name] = field.value;
|
policyDetailsData[field.name] = field.value;
|
||||||
});
|
});
|
||||||
// // console.log("form data", policyDetailsData.location_no);
|
console.log("form data", formData);
|
||||||
|
|
||||||
if (formData !== null && formData !== '') {
|
if (formData !== null && formData !== '') {
|
||||||
// console.log("form submitted trying to open the ris info tab");
|
|
||||||
// riskInfoTabOpened();
|
|
||||||
const riskTab = new bootstrap.Tab(document.getElementById('risk-info-tab'));
|
const riskTab = new bootstrap.Tab(document.getElementById('risk-info-tab'));
|
||||||
riskTab.show();
|
riskTab.show();
|
||||||
|
|
||||||
@ -655,7 +707,7 @@
|
|||||||
// policyRiskAddress
|
// policyRiskAddress
|
||||||
|
|
||||||
newRowRisk.innerHTML += `
|
newRowRisk.innerHTML += `
|
||||||
<h5 class = "fire">Fire (Sookshma/Laghu) Details</h5>
|
<h5 class = "fire">Fire <?= isset($product) ? $product : "" ?> Details</h5>
|
||||||
<h5>Risk Split Up for Address : ${policyRiskAddress[increment2-1].address1} ${policyRiskAddress[increment2-1].address2}</h5>
|
<h5>Risk Split Up for Address : ${policyRiskAddress[increment2-1].address1} ${policyRiskAddress[increment2-1].address2}</h5>
|
||||||
<input type = "hidden" name = "location_selected[]" value = "${policyRiskAddress[increment2-1].select_location}" id = "location_selected_${increment2}" />
|
<input type = "hidden" name = "location_selected[]" value = "${policyRiskAddress[increment2-1].select_location}" id = "location_selected_${increment2}" />
|
||||||
<div class = "row">
|
<div class = "row">
|
||||||
@ -797,20 +849,9 @@
|
|||||||
<label for="address3_${increment}">Address 3</label>
|
<label for="address3_${increment}">Address 3</label>
|
||||||
<input type="text" id="address3_${increment}" name="address3[]" class="form-control" />
|
<input type="text" id="address3_${increment}" name="address3[]" class="form-control" />
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-4">
|
|
||||||
<label for="constructionType_${increment}">Construction Type<span class="text-danger">*</span></label>
|
|
||||||
<select id="constructionType_${increment}" name="construction_type[]" class="form-control">
|
|
||||||
<option value="kutcha" selected>Kutcha</option>
|
|
||||||
<option value="pucca">Pucca</option>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-md-4">
|
|
||||||
<label for="basementSI_${increment}">Basement Utilisation</label>
|
|
||||||
<input type="text" id="basementSI_${increment}" name="basement_si[]" class="form-control"/>
|
|
||||||
</div>
|
|
||||||
<div class="form-group col-md-4">
|
<div class="form-group col-md-4">
|
||||||
<label for="occupancy_${increment}">Occupancy Risk<span class="text-danger">*</span></label>
|
<label for="occupancy_${increment}">Occupancy Risk<span class="text-danger">*</span></label>
|
||||||
<select id="occupancy_${increment}" name="occupancy[]" class="form-control" onchange="showRequiredFieldsBasedOnLocation('occupancy_${increment}')" required>
|
<select id="occupancy_${increment}" name="occupancy[]" class="form-control" onchange="showRequiredFieldsBasedOnLocation(this)" required>
|
||||||
<option value="">Select</option>
|
<option value="">Select</option>
|
||||||
${occupancyMaster.map(occupancy =>
|
${occupancyMaster.map(occupancy =>
|
||||||
`<option value="${occupancy.id}">${occupancy.description}</option>`
|
`<option value="${occupancy.id}">${occupancy.description}</option>`
|
||||||
@ -818,16 +859,30 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-4 common_location_occupancy">
|
<div class="form-group col-md-4 common_location_occupancy">
|
||||||
<label for="isBasement_${increment}">Basement<span class="text-danger">*</span></label>
|
<label for="iibCode_${increment}">IIB Code<span class="text-danger">*</span></label>
|
||||||
<select id="isBasement_${increment}" name="is_basement[]" class="form-control common_location_occupancy" required>
|
<input type="text" onchange = "updateOccupancyRisk(this)" id="iibCode_${increment}" name="iib_code[]" class="form-control common_location_occupancy" required>
|
||||||
<option value="yes" selected>Yes</option>
|
</div>
|
||||||
<option value="no">No</option>
|
<div class="form-group col-md-4">
|
||||||
|
<label for="constructionType_${increment}">Construction Type<span class="text-danger">*</span></label>
|
||||||
|
<select id="constructionType_${increment}" name="construction_type[]" class="form-control">
|
||||||
|
<option value="kutcha" selected>Kutcha</option>
|
||||||
|
<option value="pucca">Pucca</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-md-4 common_location_occupancy">
|
|
||||||
<label for="iibCode_${increment}">IIB Code<span class="text-danger">*</span></label>
|
<div class="dt-switch-wrapper col-md-4 common_location_occupancy d-flex align-items-center">
|
||||||
<input type="text" id="iibCode_${increment}" name="iib_code[]" class="form-control common_location_occupancy" required>
|
<div class="custom-control custom-switch d-flex justify-content-center">
|
||||||
|
<input type="checkbox" class="custom-control-input" id="isBasement_${increment}" onchange="hideShowBasement(${increment})">
|
||||||
|
<label class="custom-control-label" for="isBasement_${increment}">Basement</label>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group col-md-4" style="display:none" >
|
||||||
|
<label for="basementSI_${increment}">Basement Utilisation</label>
|
||||||
|
<input type="text" id="basementSI_${increment}" name="basement_si[]" class="form-control"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="form-group col-md-4 multiLocationOccupancy">
|
<div class="form-group col-md-4 multiLocationOccupancy">
|
||||||
<label for="select_location_${increment}">Location <span class="text-danger">*</span></label>
|
<label for="select_location_${increment}">Location <span class="text-danger">*</span></label>
|
||||||
<select required id="select_location_${increment}" name="select_location[]" class="form-control multiLocationOccupancy">
|
<select required id="select_location_${increment}" name="select_location[]" class="form-control multiLocationOccupancy">
|
||||||
@ -1020,63 +1075,40 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function showRequiredFieldsBasedOnLocation(element) {
|
function showRequiredFieldsBasedOnLocation(element) {
|
||||||
|
|
||||||
if (element) {
|
if (element) {
|
||||||
// alert(element);
|
var selectedOccupancy = $(element).val(); // FIXED
|
||||||
var selectedOccupancy = $(`#${element}`).val();
|
|
||||||
var selectedOccupancyMasterRow = occupancyMaster.find(iib => iib.id == selectedOccupancy);
|
var selectedOccupancyMasterRow = occupancyMaster.find(iib => iib.id == selectedOccupancy);
|
||||||
// console.log("selected occupancy masater ", selectedOccupancyMasterRow)
|
|
||||||
// console.log("selected occupancy masater ", occupancyMaster)
|
if (!selectedOccupancyMasterRow) return;
|
||||||
|
|
||||||
var iibCODE = selectedOccupancyMasterRow.iib_code;
|
var iibCODE = selectedOccupancyMasterRow.iib_code;
|
||||||
// console.log("selected occupancy masater ", iibCODE)
|
var elementID = element.id; // FIXED
|
||||||
var elementID = element;
|
|
||||||
let increment = elementID.split("_").pop();
|
let increment = elementID.split("_").pop();
|
||||||
// console.log("selected occupancy masater increment ", increment)
|
|
||||||
// console.log("selected occupancy masater element ", $(`#iibCode_${increment}`))
|
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
$(`#iibCode_${increment}`).val(iibCODE); // Set the value
|
$(`#iibCode_${increment}`).val(iibCODE);
|
||||||
// console.log("Selected --------------------", $(`#iibCode_${increment}`).val()); // Log the value
|
}, 500);
|
||||||
}, 1000);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// console.log("onchange occupancy function called ");
|
|
||||||
|
|
||||||
// // console.log("onchange occupancy function called ", selectedOccupancy);
|
$('[class*="common_location_occupancy"]').show().prop("required", true);
|
||||||
// // console.log("onchange occupancy function called ", selectedOccupancyMasterRow);
|
|
||||||
// // console.log("onchange occupancy function called ", iibCODE);
|
|
||||||
// // console.log("onchange occupancy function called ", increment);
|
|
||||||
|
|
||||||
|
|
||||||
$('[class*="common_location_occupancy"]').show().prop("required", "required");
|
|
||||||
var selectedProduct = productSelectionData;
|
var selectedProduct = productSelectionData;
|
||||||
if (selectedProduct.singleProduct == 'on') {
|
|
||||||
$('[class*="single_location_occupancy"]').show().prop("required", "required");
|
|
||||||
|
|
||||||
} else if (selectedProduct.multipleProduct == 'on') {
|
if (selectedProduct.singleProduct === 'on') {
|
||||||
// // console.log("Muliple location");f
|
$('[class*="single_location_occupancy"]').show().prop("required", true);
|
||||||
$('[class*="multiLocationOccupancy"]').show().prop('required', 'required');
|
} else if (selectedProduct.multipleProduct === 'on') {
|
||||||
|
$('[class*="multiLocationOccupancy"]').show().prop('required', true);
|
||||||
|
|
||||||
if (selectedProduct.multilocation_type == "multiLocation") {
|
if (selectedProduct.multilocation_type === "multiLocation") {
|
||||||
|
$('[class*="multiLocationOccupancyWithoutFloater"]').show().prop('required', true);
|
||||||
// // console.log("multiple location without Floater");
|
} else if (selectedProduct.multilocation_type === "multiFloater") {
|
||||||
$('[class*="multiLocationOccupancyWithoutFloater"]').show().prop('required', 'required');
|
$('[class*="multiLocationOccupancyWithoutFloater"]').hide().removeAttr('required');
|
||||||
|
} else if (selectedProduct.multilocation_type === "stockFloater") {
|
||||||
} else if (selectedProduct.multilocation_type == "multiFloater") {
|
$('[class*="multiLocationOccupancyWithoutFloater"]').show().prop('required', true);
|
||||||
|
$('[class*="stockSI"]').hide().removeAttr('required');
|
||||||
// // console.log("Muliple location With Floater");
|
}
|
||||||
$('[class*="multiLocationOccupancyWithoutFloater"]').hide().removeAttr('required', false);
|
|
||||||
|
|
||||||
} else if (selectedProduct.multilocation_type == "stockFloater") {
|
|
||||||
|
|
||||||
// // console.log("multiple location with stock floater");
|
|
||||||
$('[class*="multiLocationOccupancyWithoutFloater"]').show().prop('required', 'required');
|
|
||||||
$('[class*="stockSI"]').hide().removeAttr('required', false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function registerPolicyData() {
|
function registerPolicyData() {
|
||||||
|
|
||||||
@ -1271,9 +1303,9 @@
|
|||||||
const policyDetails = data.policyDetails;
|
const policyDetails = data.policyDetails;
|
||||||
Object.keys(policyDetails).forEach(key => {
|
Object.keys(policyDetails).forEach(key => {
|
||||||
$(`#${key}`).val(policyDetails[key]);
|
$(`#${key}`).val(policyDetails[key]);
|
||||||
// // console.log("Key ",key," set value : ",policyDetails[key]);
|
// console.log("Key ", key, " set value : ", policyDetails[key]);
|
||||||
});
|
});
|
||||||
|
$('#terrorismSwitch').prop('checked', policyDetails.terrorism === "yes")
|
||||||
// Populate Risk Addresses
|
// Populate Risk Addresses
|
||||||
data.locations.forEach((location, index) => {
|
data.locations.forEach((location, index) => {
|
||||||
addHTMLInputForRiskAddress();
|
addHTMLInputForRiskAddress();
|
||||||
@ -1293,12 +1325,13 @@
|
|||||||
$(`#constructionType${prefix}`).val(risk.construction_type);
|
$(`#constructionType${prefix}`).val(risk.construction_type);
|
||||||
$(`#occupancy${prefix}`).select2();
|
$(`#occupancy${prefix}`).select2();
|
||||||
$(`#occupancy${prefix}`).val(risk.occupancy).trigger("change");
|
$(`#occupancy${prefix}`).val(risk.occupancy).trigger("change");
|
||||||
$(`#isBasement${prefix}`).val(risk.is_basement);
|
// $(`#isBasement${prefix}`).val(risk.is_basement);
|
||||||
$(`#iibCode${prefix}`).val(risk.iib_code);
|
$(`#iibCode${prefix}`).val(risk.iib_code);
|
||||||
$(`#buisness_desc${prefix}`).val(risk.buisness_desc);
|
$(`#buisness_desc${prefix}`).val(risk.buisness_desc);
|
||||||
$(`#select_location${prefix}`).val(risk.select_location);
|
$(`#select_location${prefix}`).val(risk.select_location);
|
||||||
$(`#basementSI${prefix}`).val(risk.basement_si);
|
$(`#basementSI${prefix}`).val(risk.basement_si);
|
||||||
|
|
||||||
|
$(`#isBasement${prefix}`).prop('checked', risk.is_basement === "yes").trigger("change");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -1334,7 +1367,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
isFormDirty = false; // Reset the form dirty flag
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkandassignLeadData() {
|
function checkandassignLeadData() {
|
||||||
@ -1379,6 +1412,7 @@
|
|||||||
$("#address1").val(lead_data.address);
|
$("#address1").val(lead_data.address);
|
||||||
$("#mobile").val(mobile);
|
$("#mobile").val(mobile);
|
||||||
$("#email").val(contact_email);
|
$("#email").val(contact_email);
|
||||||
|
// var policy_type = lead_data.policy_type_id;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1396,6 +1430,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function resetAllform() {
|
function resetAllform() {
|
||||||
|
|
||||||
|
// isFormDirty = false;
|
||||||
// console.log("FORM RESETED SUCCESSFULLY");
|
// console.log("FORM RESETED SUCCESSFULLY");
|
||||||
$("#productSelectionForm")[0].reset();
|
$("#productSelectionForm")[0].reset();
|
||||||
$("#policyDetailsForm")[0].reset();
|
$("#policyDetailsForm")[0].reset();
|
||||||
@ -1421,12 +1457,39 @@
|
|||||||
hideAndShowBurglary()
|
hideAndShowBurglary()
|
||||||
}
|
}
|
||||||
|
|
||||||
$('.close').on('click', function() {
|
$('.close').on('click', function(e) {
|
||||||
|
console.log("is form dirty : ", isFormDirty);
|
||||||
|
if (isFormDirty) {
|
||||||
|
e.preventDefault();
|
||||||
|
e.stopPropagation();
|
||||||
|
|
||||||
|
Swal.fire({
|
||||||
|
title: 'You have unsaved changes!',
|
||||||
|
text: 'Do you want to close without saving your data?',
|
||||||
|
icon: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonText: 'Yes, close it',
|
||||||
|
cancelButtonText: 'No, stay here',
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.isConfirmed) {
|
||||||
|
isFormDirty = false; // Reset flag
|
||||||
|
closeModal();
|
||||||
|
resetAllform();
|
||||||
|
// $('#policyRegisterModel').modal('hide');
|
||||||
$('.tab-pane').removeClass('active show');
|
$('.tab-pane').removeClass('active show');
|
||||||
|
|
||||||
|
|
||||||
$("#addRiskInfo, #addRiskSplitUp").empty();
|
$("#addRiskInfo, #addRiskSplitUp").empty();
|
||||||
})
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
resetAllform();
|
||||||
|
$('.tab-pane').removeClass('active show');
|
||||||
|
$("#addRiskInfo, #addRiskSplitUp").empty();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function copyFirePolicy() {
|
function copyFirePolicy() {
|
||||||
// console.log("Copying Fire Policy Data...");
|
// console.log("Copying Fire Policy Data...");
|
||||||
@ -1460,4 +1523,92 @@
|
|||||||
|
|
||||||
document.querySelector('#policyRegisterModel [data-dismiss="modal"]').click();
|
document.querySelector('#policyRegisterModel [data-dismiss="modal"]').click();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateOccupancyRisk(element) {
|
||||||
|
let iibCode = $(element).val();
|
||||||
|
|
||||||
|
// Find matching occupancy row
|
||||||
|
let matchedOccupancy = occupancyMaster.find(iib => iib.iib_code == iibCode);
|
||||||
|
let matchedId = matchedOccupancy ? matchedOccupancy.id : null;
|
||||||
|
|
||||||
|
// Get increment from the element ID, like "iibCode_3"
|
||||||
|
let elementID = element.id;
|
||||||
|
let increment = elementID.split("_").pop(); // Extract "3" from "iibCode_3"
|
||||||
|
|
||||||
|
if (matchedId) {
|
||||||
|
$(`#occupancy_${increment}`).val(matchedId).trigger("change");
|
||||||
|
$(`#occupancy_${increment}`).select2();
|
||||||
|
} else {
|
||||||
|
toastr.error("Invalid IIB Code", "Error");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function hideShowBasement(incrementFromBasement) {
|
||||||
|
let isBasement = $(`#isBasement_${incrementFromBasement}`).is(":checked");
|
||||||
|
|
||||||
|
// Get the label associated with the input
|
||||||
|
let label = $(`label[for='basementSI_${incrementFromBasement}']`);
|
||||||
|
|
||||||
|
if (isBasement) {
|
||||||
|
$(`#basementSI_${incrementFromBasement}`).parent().show();
|
||||||
|
$(`#basementSI_${incrementFromBasement}`).prop("required", "required");
|
||||||
|
|
||||||
|
// Add * if not already there
|
||||||
|
if (label.find(".text-danger").length === 0) {
|
||||||
|
label.append('<span class="text-danger">*</span>');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$(`#basementSI_${incrementFromBasement}`).parent().hide();
|
||||||
|
$(`#basementSI_${incrementFromBasement}`).removeAttr("required");
|
||||||
|
|
||||||
|
// Remove * if exists
|
||||||
|
label.find(".text-danger").remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// function saveDataAsDraft() {
|
||||||
|
// return new Promise((resolve) => {
|
||||||
|
// const forms = [
|
||||||
|
// document.getElementById('productSelectionForm'),
|
||||||
|
// document.getElementById('policyDetailsForm'),
|
||||||
|
// document.getElementById('policyRiskAddressForm'),
|
||||||
|
// document.getElementById('policyRiskSplitUpForm')
|
||||||
|
// ];
|
||||||
|
|
||||||
|
// let isDirty = false;
|
||||||
|
|
||||||
|
// forms.forEach(form => {
|
||||||
|
// if (form) {
|
||||||
|
// const formInputs = form.querySelectorAll('input, select, textarea');
|
||||||
|
// formInputs.forEach(input => {
|
||||||
|
// if (input.defaultValue !== input.value && input.value !== '') {
|
||||||
|
// isDirty = true;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (input.type === 'checkbox' || input.type === 'radio') {
|
||||||
|
// if (input.checked !== input.defaultChecked) {
|
||||||
|
// isDirty = true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
|
// if (isDirty) {
|
||||||
|
// Swal.fire({
|
||||||
|
// title: 'You have unsaved changes!',
|
||||||
|
// text: 'Do you want to close without saving your data?',
|
||||||
|
// icon: 'warning',
|
||||||
|
// showCancelButton: true,
|
||||||
|
// confirmButtonText: 'Yes, close it',
|
||||||
|
// cancelButtonText: 'No, stay here',
|
||||||
|
// }).then((result) => {
|
||||||
|
// resolve(result.isConfirmed);
|
||||||
|
// });
|
||||||
|
// } else {
|
||||||
|
// resolve(true); // No unsaved changes, allow closing
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// }
|
||||||
</script>
|
</script>
|
||||||
Loading…
Reference in New Issue
Block a user