64 lines
2.3 KiB
PHP
64 lines
2.3 KiB
PHP
<div class="row">
|
|
<div class="col-12">
|
|
<footer class="text-center py-2 mt-6 text-secondary ">
|
|
<p class="mb-0">Copyright © 2026 MN3 WMS. All rights reserved.</p>
|
|
</footer>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<!-- ── Real-time WebSocket connection ──────────────────────────────────────── -->
|
|
<!-- Socket.io client is served by the Node.js server itself -->
|
|
<script src="<?php echo NODE_PUBLIC_URL; ?>/socket.io/socket.io.js"></script>
|
|
<script>
|
|
(function () {
|
|
// company_id is set in include_topbar.php as a JS global
|
|
if (typeof company_id === 'undefined' || !company_id) return;
|
|
if (typeof io === 'undefined') return;
|
|
|
|
window._socket = io('<?php echo NODE_PUBLIC_URL; ?>', {
|
|
query: { company_id: company_id },
|
|
reconnection: true,
|
|
reconnectionDelay: 2000,
|
|
});
|
|
|
|
window._socket.on('connect', function () {
|
|
console.log('[socket] connected', window._socket.id);
|
|
});
|
|
|
|
window._socket.on('disconnect', function () {
|
|
console.log('[socket] disconnected');
|
|
});
|
|
})();
|
|
</script>
|
|
|
|
<!-- Stock rows modal — used by: order/order.php, order/return.php, po/po.php, po/supplier_returns.php (via show_stock_rows() in custom.js) -->
|
|
<div class="modal fade" id="stock_rows_modal" tabindex="-1">
|
|
<div class="modal-dialog modal-lg modal-dialog-scrollable">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h5 class="modal-title" id="stock_rows_modal_title">Stock Transactions</h5>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
|
</div>
|
|
<div class="modal-body p-0">
|
|
<div class="table-responsive">
|
|
<table class="table table-sm mb-0">
|
|
<thead class="table-light">
|
|
<tr>
|
|
<th class="ps-4">Type</th>
|
|
<th>Product</th>
|
|
<th>Warehouse</th>
|
|
<th>Location</th>
|
|
<th>Lot</th>
|
|
<th class="text-end">Qty</th>
|
|
<th>Status</th>
|
|
<th>Date</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="stock_rows_tbody"></tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div> |