FIX_INV_MODAL_POPUP

This commit is contained in:
velz 2025-10-23 19:04:59 +05:30
parent 6070ab8ee5
commit ca166664a3

View File

@ -508,7 +508,7 @@
</table> --> </table> -->
<!-- <button type="button" id="add_row_btn" class="btn btn-secondary float-right mt-2"><i class="fa fa-plus"></i></button> --> <!-- <button type="button" id="add_row_btn" class="btn btn-secondary float-right mt-2"><i class="fa fa-plus"></i></button> -->
<div class="payment-card"> <div class="payment-card" id="default_payment_card">
<input type="hidden" class="form-control" name="pk[]" placeholder="Enter Amount"> <input type="hidden" class="form-control" name="pk[]" placeholder="Enter Amount">
<div class="row"> <div class="row">
<div class="col"> <div class="col">
@ -964,14 +964,32 @@
var modal_received_amt_div = document.getElementById('modal_received_amt_div'); var modal_received_amt_div = document.getElementById('modal_received_amt_div');
modal_received_amt_div.style.display = 'none'; modal_received_amt_div.style.display = 'none';
// alert(); // alert();
// console.log(event.target.data) // make sure event exists
var dataId = event.target.getAttribute('data-id'); event = event || window.event;
// the element actually clicked
const clicked = event.target;
// find the nearest ancestor <a> (or element) that has data-id
const anchor = clicked.closest('a[data-id], .btnEdit');
if (!anchor) {
console.warn('Could not find element with data-id');
return;
}
const dataId = anchor.getAttribute('data-id');
const expAmt = anchor.getAttribute('data-exp-amt');
const receivedAmt = anchor.getAttribute('data-received-amt');
console.log('stmt id :', dataId, expAmt, receivedAmt);
var dataExpAmt = event.target.getAttribute('data-exp-amt'); var dataExpAmt = event.target.getAttribute('data-exp-amt');
var dataReceivedAmt = event.target.getAttribute('data-received-amt'); var dataReceivedAmt = event.target.getAttribute('data-received-amt');
// Set the value to a hidden input field in the modal // Set the value to a hidden input field in the modal
document.getElementById('hidden_statement_id').value = dataId; document.getElementById('hidden_statement_id').value = dataId;
// document.getElementById('modal_exp_amt').value = dataExpAmt; // document.getElementById('modal_exp_amt').value = dataExpAmt;
document.getElementById('modal_received_amt').value = dataReceivedAmt; document.getElementById('modal_received_amt').value = receivedAmt;
$('.loader').fadeIn(); $('.loader').fadeIn();
$('.loader-mask').fadeIn(); $('.loader-mask').fadeIn();
@ -981,10 +999,78 @@
method: 'get', method: 'get',
// data: { id: dataId }, // data: { id: dataId },
// dataType: 'json', // dataType: 'json',
// success: function(response) {
// $('.loader').fadeOut();
// $('.loader-mask').delay(10).fadeOut('slow');
// console.log(response);
// // Assuming response contains the necessary data
// if (response.dataStatus === true && response.code === 200) {
// // Populate modal fields
// if (response.data.invoice_status !== null) {
// var inv_status_element = document.getElementById('invoice_status');
// inv_status_element.value = response.data.invoice_status;
// var event = new Event('change');
// inv_status_element.dispatchEvent(event);
// }
// document.getElementById('invoice_no_modal').value = response.data.invoice_no;
// document.getElementById('invoice_date_modal').value = response.data.invoice_date === '' ? <?php echo date('d-m-Y') ?> : response.data.invoice_date;
// document.getElementById('invoice_amount_no_modal').value = response.data.invoice_amount;
// document.getElementById('invoice_value_modal').value = response.data.invoice_value;
// document.getElementById('gst_per_modal').value = response.data.gst_per;
// document.getElementById('gst_value_modal').value = response.data.gst_value;
// console.log('response.data.gst_value - ' + response.data.gst_value);
// if (response.data.gst_value == 0 || response.data.gst_value == '' || response.data.gst_value == null) {
// calcGSTValue();
// }
// if (!$('#invoice_date_modal').val()) {
// // alert('nope');
// // Set today's date as the default date
// $('#invoice_date_modal').datepicker('setDate', new Date());
// }
// // Clear existing rows in the payment table
// var paymentTableBody = document.querySelector('#payment_table_modal tbody');
// // var paymentTableBody = document.getElementById('payment_card_container');
// console.log('response.data.payments.length', response.data.payments.length)
// // Populate payment table rows
// if (response.data.payments.length) {
// paymentTableBody.innerHTML = '';
// response.data.payments.forEach(function(payment) {
// var row = paymentTableBody.insertRow();
// row.innerHTML = `
// <td style="display: none;"><input type="hidden" class="form-control" name="pk[]" value="${payment.id}"></td>
// <td><input type="number" class="form-control" name="received_amount[]" placeholder="Enter Amount" value="${payment.inv_amt}" onchange="checkInvAmont(event)" required step="0.01"></td>
// <td><input type="number" class="form-control" name="gst_amount[]" placeholder="Enter Amount" value="${payment.gst}" onchange="checkInvAmont(event)" required step="0.01"></td>
// <td><input type="number" class="form-control" name="tds[]" placeholder="Enter Amount" value="${payment.tds}" onchange="checkInvAmont(event)" required></td>
// <td><input type="text" class="form-control" name="utr_no[]" placeholder="Enter UTR No" value="${payment.utr_no}" required></td>
// <td><input type="text" class="form-control payment_date" name="payment_date[]" value="${formatDateToDMY(payment.received_date)}" required readonly></td>
// <td><i class="mdi mdi-delete mr-2 font-18 vertical-middle text-danger remove-row" style="text-align: center;"></i></td>
// `;
// });
// }
// $('.payment_date').datepicker({
// format: 'dd/mm/yyyy',
// autoclose: true
// });
// // Show the modal
// var myModal = new bootstrap.Modal(document.getElementById('invoice_modal'));
// myModal.show();
// } else {
// // Handle error if the response is not successful
// console.error('Failed to fetch data:', response);
// alert("Something went wrong! Couldn't get data");
// }
// },
success: function(response) { success: function(response) {
$('.loader').fadeOut(); $('.loader').fadeOut();
$('.loader-mask').delay(10).fadeOut('slow'); $('.loader-mask').delay(10).fadeOut('slow');
console.log(response); console.log(response);
// Assuming response contains the necessary data // Assuming response contains the necessary data
if (response.dataStatus === true && response.code === 200) { if (response.dataStatus === true && response.code === 200) {
// Populate modal fields // Populate modal fields
@ -996,46 +1082,79 @@
} }
document.getElementById('invoice_no_modal').value = response.data.invoice_no; document.getElementById('invoice_no_modal').value = response.data.invoice_no;
document.getElementById('invoice_date_modal').value = response.data.invoice_date === '' ? <?php echo date('d-m-Y') ?> : response.data.invoice_date; document.getElementById('invoice_date_modal').value = response.data.invoice_date === '' ? '<?php echo date('d-m-Y') ?>' : response.data.invoice_date;
document.getElementById('invoice_amount_no_modal').value = response.data.invoice_amount; document.getElementById('invoice_amount_no_modal').value = response.data.invoice_amount;
document.getElementById('invoice_value_modal').value = response.data.invoice_value; document.getElementById('invoice_value_modal').value = response.data.invoice_value;
document.getElementById('gst_per_modal').value = response.data.gst_per; document.getElementById('gst_per_modal').value = response.data.gst_per;
document.getElementById('gst_value_modal').value = response.data.gst_value; document.getElementById('gst_value_modal').value = response.data.gst_value;
console.log('response.data.gst_value - ' + response.data.gst_value); console.log('response.data.gst_value - ' + response.data.gst_value);
if (response.data.gst_value == 0 || response.data.gst_value == '' || response.data.gst_value == null) { if (response.data.gst_value == 0 || response.data.gst_value == '' || response.data.gst_value == null) {
calcGSTValue(); calcGSTValue();
} }
if (!$('#invoice_date_modal').val()) { if (!$('#invoice_date_modal').val()) {
// alert('nope');
// Set today's date as the default date // Set today's date as the default date
$('#invoice_date_modal').datepicker('setDate', new Date()); $('#invoice_date_modal').datepicker('setDate', new Date());
} }
// Clear existing rows in the payment table
var paymentTableBody = document.querySelector('#payment_table_modal tbody'); // Clear existing payment cards in the container
var defaultPaymentCardContainer = document.getElementById('default_payment_card');
defaultPaymentCardContainer.style.display = 'block';
var paymentCardContainer = document.getElementById('payment_card_container');
paymentCardContainer.innerHTML = '';
console.log('response.data.payments.length', response.data.payments.length) console.log('response.data.payments.length', response.data.payments.length);
// Populate payment table rows
// Populate payment cards
if (response.data.payments.length) { if (response.data.payments.length) {
paymentTableBody.innerHTML = ''; defaultPaymentCardContainer.style.display = 'none';
response.data.payments.forEach(function(payment) { response.data.payments.forEach(function(payment, index) {
var row = paymentTableBody.insertRow(); var paymentCard = document.createElement('div');
row.innerHTML = ` paymentCard.className = 'payment-card';
<td style="display: none;"><input type="hidden" class="form-control" name="pk[]" value="${payment.id}"></td>
<td><input type="number" class="form-control" name="received_amount[]" placeholder="Enter Amount" value="${payment.inv_amt}" onchange="checkInvAmont(event)" required step="0.01"></td> paymentCard.innerHTML = `
<td><input type="number" class="form-control" name="gst_amount[]" placeholder="Enter Amount" value="${payment.gst}" onchange="checkInvAmont(event)" required step="0.01"></td> <input type="hidden" class="form-control" name="pk[]" value="${payment.id}">
<td><input type="number" class="form-control" name="tds[]" placeholder="Enter Amount" value="${payment.tds}" onchange="checkInvAmont(event)" required></td> <div class="row">
<td><input type="text" class="form-control" name="utr_no[]" placeholder="Enter UTR No" value="${payment.utr_no}" required></td> <div class="col">
<td><input type="text" class="form-control payment_date" name="payment_date[]" value="${formatDateToDMY(payment.received_date)}" required readonly></td> <label>Invoice value</label>
<td><i class="mdi mdi-delete mr-2 font-18 vertical-middle text-danger remove-row" style="text-align: center;"></i></td> <input type="number" class="form-control" name="received_amount[]" placeholder="Enter Amount" value="${payment.inv_amt}" required step="0.01" onchange="checkInvAmont(event)">
</div>
<div class="col">
<label>GST</label>
<input type="number" class="form-control" name="gst_amount[]" placeholder="Enter GST" value="${payment.gst}" required step="0.01" onchange="checkInvAmont(event)">
</div>
<div class="col">
<label>TDS</label>
<input type="number" class="form-control" name="tds[]" placeholder="Enter TDS" value="${payment.tds}" onchange="checkInvAmont(event)" required>
</div>
<div class="col">
<label>UTR Number</label>
<input type="text" class="form-control" name="utr_no[]" placeholder="Enter UTR No" value="${payment.utr_no}" required>
</div>
<div class="col">
<label>Date</label>
<input type="text" class="form-control payment_date" name="payment_date[]" value="${formatDateToDMY(payment.received_date)}" placeholder="dd/mm/yyyy" required readonly>
</div>
<div class="col-auto d-flex align-items-end">
<button type="button" class="btn btn-danger btn-sm remove-row">
<i class="mdi mdi-delete"></i>
</button>
</div>
</div>
`; `;
paymentCardContainer.appendChild(paymentCard);
}); });
} }
// Initialize datepicker for all payment date fields
$('.payment_date').datepicker({ $('.payment_date').datepicker({
format: 'dd/mm/yyyy', format: 'dd/mm/yyyy',
autoclose: true autoclose: true
}); });
// Show the modal // Show the modal
var myModal = new bootstrap.Modal(document.getElementById('invoice_modal')); var myModal = new bootstrap.Modal(document.getElementById('invoice_modal'));
myModal.show(); myModal.show();