Files
wms-app/app/include_ending.php
T
2026-05-23 15:07:11 +07:00

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>