pdf Updated, Invoice Updated, Report Updated

This commit is contained in:
Utkarsh Khedkar
2026-03-17 19:14:47 +05:30
parent 0257b68f16
commit 19d7f423b3
23 changed files with 2320 additions and 1750 deletions

View File

@@ -40,7 +40,6 @@
margin-top: 2px;
}
/* DOWNLOAD BUTTONS - NEW STYLES */
.cm-download-pdf {
background: linear-gradient(100deg, #4c6fff 0%, #8e54e9 100%) !important;
color: #fff !important;
@@ -287,7 +286,7 @@
}
.cm-table-scroll-outer {
margin: 10px 14px 0 14px;
margin: 10px 14px 30px 14px;
border-radius: 14px;
border: 1.5px solid #c9a359;
box-shadow: 0 4px 14px rgba(76,111,255,0.18);
@@ -487,11 +486,6 @@
grid-template-columns: 1fr;
}
}
.cm-table-scroll-outer {
margin: 10px 14px 30px 14px; /* फक्त हे बदल करा */
}
</style>
<div class="container-fluid cm-wrapper">
@@ -522,7 +516,6 @@
</div>
</div>
<!-- बाकीचा सगळा code same आहे - काही बदल नाही -->
<div class="card cm-main-card">
<div class="card-header">
<h5>Container Information</h5>
@@ -682,7 +675,7 @@
<div class="cm-filter-bar">
<span class="cm-row-count">
Total rows: {{ $container->rows->count() }}   Edit cells then click "Save Changes".
Total rows: {{ $container->rows->count() }} Edit cells then click "Save Changes".
</span>
<input type="text" id="cmRowSearch" class="cm-filter-input"
placeholder="Quick search..." onkeyup="cmFilterRows()">
@@ -745,9 +738,9 @@
str_contains($norm, 'TOTALAMOUNT')
);
$isTotalColumn = $isTotalQty || $isTotalCbm || $isTotalKg || $isAmount;
$isTotalColumn = $isTotalQty || $isTotalCbm || $isTotalKg || $isAmount;
$isLockedByInvoice = in_array($row->row_index, $lockedRowIndexes ?? []);
$isReadOnly = $isTotalColumn || $container->status !== 'pending' || $isLockedByInvoice;
$isReadOnly = $isTotalColumn || $container->status !== 'pending' || $isLockedByInvoice;
@endphp
<td>
@@ -792,7 +785,6 @@
</button>
@endif
<!-- Toast notification missing होती, add केली -->
<div id="cmToast" class="cm-toast"></div>
<script>
@@ -800,7 +792,7 @@ function cmFilterRows() {
const input = document.getElementById('cmRowSearch');
if (!input) return;
const filter = input.value.toLowerCase();
const table = document.getElementById('cmExcelTable');
const table = document.getElementById('cmExcelTable');
if (!table) return;
const rows = table.getElementsByTagName('tr');
for (let i = 1; i < rows.length; i++) {
@@ -831,6 +823,7 @@ document.addEventListener('DOMContentLoaded', function () {
setTimeout(() => toast.classList.remove('cm-show'), 2500);
}
// फक्त number काढण्यासाठी helper, पण cell मध्ये format नाही करणार
function parseNumber(str) {
if (!str) return 0;
const cleaned = String(str).replace(/,/g, '').trim();
@@ -838,11 +831,6 @@ document.addEventListener('DOMContentLoaded', function () {
return isNaN(val) ? 0 : val;
}
function formatNumber(val, decimals) {
if (isNaN(val)) val = 0;
return val.toFixed(decimals);
}
function recalcRow(row) {
const inputs = row.querySelectorAll('.cm-cell-input');
@@ -894,27 +882,28 @@ document.addEventListener('DOMContentLoaded', function () {
}
});
// इथे आपण फक्त VALUE बदलतो, कोणतंही toFixed नाही वापरत
if (ttlQtyInput && ctnInput && qtyInput) {
const newTtlQty = ctn * qty;
ttlQtyInput.value = formatNumber(newTtlQty, 0);
ttlQtyInput.value = newTtlQty === 0 ? '' : String(newTtlQty);
ttlQty = newTtlQty;
}
if (ttlCbmInput && cbmInput && ctnInput) {
const newTtlCbm = cbm * ctn;
ttlCbmInput.value = formatNumber(newTtlCbm, 3);
ttlCbmInput.value = newTtlCbm === 0 ? '' : String(newTtlCbm);
ttlCbm = newTtlCbm;
}
if (ttlKgInput && kgInput && ctnInput) {
const newTtlKg = kg * ctn;
ttlKgInput.value = formatNumber(newTtlKg, 2);
ttlKgInput.value = newTtlKg === 0 ? '' : String(newTtlKg);
ttlKg = newTtlKg;
}
if (amountInput && priceInput && ttlQtyInput) {
const newAmount = price * ttlQty;
amountInput.value = formatNumber(newAmount, 2);
amountInput.value = newAmount === 0 ? '' : String(newAmount);
amount = newAmount;
}
}