Files
kupshop/admin/templates/window/splitOrder.tpl
2025-08-02 16:30:27 +02:00

171 lines
7.5 KiB
Smarty

{extends "../window.tpl"}
{block title}
{'header'|translate}
{/block}
{block tabs}
{windowTab id='flapReplacement' label="{'header'|translate}"}
{/block}
{block size}
width = 1220;
height = 900;
{/block}
{block tabsContent}
<style type="text/css">
.table-collapsed .input-sm {
height: 25px;
margin-bottom: -3px;
margin-top: -3px;
}
</style>
<div id="flapOrder" class="tab-pane fade active in boxStatic">
<div id="products">
<div class="panel-group panel-group-lists">
<div class="row bottom-space">
<div class="col-md-6">
<h4 class="no-margin"><strong>{'order'|translate} {$order.order_no}</strong></h4>
</div>
{if false}
<div class="col-md-2 col-md-offset-4 text-right">
<a href="javascript:help('SplitOrder');" class="btn btn-warning"><i class="bi bi-question-circle"></i> {'help'|translate:'menulinks'}</a>
</div>
{/if}
</div>
<div class="panel panel-default panel-sm no-margin">
<table xmlns="http://www.w3.org/1999/xhtml" class="table table-collapsed table-striped">
<thead>
<tr>
<th scope="col" style="min-width:300px;">{'prodFromOrders'|translate}</th>
<th scope="col">{'code'|translate}</th>
<th scope="col">{'ean'|translate}</th>
<th scope="col" colspan="2">{'origPcs'|translate}</th>
<th scope="col">{'newOrderPcs'|translate}</th>
</tr>
</thead>
<tbody>
{foreach $products as $key => $item}
{if empty($item.id_product) || $item.in_store + $item.piecesOrdered >= 0}
{$class="row-green"}
{else}
{if $item.in_store + $item.piecesOrdered + $item.piecesInSuppliers >= 0}
{$class="row-orange"}
{else}
{$class="row-red"}
{/if}
{/if}
<tr class="{$class} {$item.class}">
<td>
<div class="list_item">
<span class="productname" data-id='{$item.id_product}'>
{if $item.id_product > 0}
<a href="javascript:nw('product', '{$item.id_product}');"><strong>{$item.descr}</strong></a>
{else}
<strong>{$item.descr}</strong>
{/if}
{$item.variation_title}
{if $item.item_note}
<small>{$item.item_note}</small>
{/if}
</span>
</div>
</td>
<td>
{$item.code}
</td>
<td>
{$item.ean}
</td>
<td>
<span data-original-pcs="{$item.pieces}" id="old-pcs-{$item.id}">{$item.pieces}</span> ({'of'|translate} {$item.pieces})
<input type="hidden" id="pcs" value="{$item.pieces}" name="data[items][{$item.id}][pieces_old]">
</td>
<td class="text-center">
<button type="button" onclick="splitOrder.allToOldOrder({$item.id})" class="btn btn-default btn-xs"><i class="glyphicon glyphicon-backward"></i></button>
<button type="button" onclick="splitOrder.oneToOldOrder({$item.id})" class="btn btn-default btn-xs"><i class="glyphicon glyphicon-chevron-left"></i>
</button>
<button type="button" onclick="splitOrder.oneToNewOrder({$item.id})" class="btn btn-default btn-xs"><i class="glyphicon glyphicon-chevron-right"></i>
</button>
<button type="button" onclick="splitOrder.allToNewOrder({$item.id})" class="btn btn-default btn-xs"><i class="glyphicon glyphicon-forward"></i></button>
</td>
<td>
<input type="number" id="new-pcs-{$item.id}" onchange="splitOrder.changed({$item.id})" min="0" max="{$item.pieces}" class="form-control input-sm"
style="max-width:80px;" name="data[items][{$item.id}][pieces_new]" size="10" maxlength="20" value=""/>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
</div>
{/block}
<script type="text/javascript">
{block onready append}
var splitOrder = {
oldOrderPcsSelector: 'old-pcs-',
newOrderPcsSelector: 'new-pcs-',
changed: function(itemId) {
var newPcs = document.getElementById(this.newOrderPcsSelector + itemId),
oldPcs = document.getElementById(this.oldOrderPcsSelector + itemId),
oldVal = Number(oldPcs.dataset.originalPcs) - Number(newPcs.value);
if (oldVal < 0) {
newPcs.value = Number(oldPcs.dataset.originalPcs);
oldPcs.innerText = 0;
} else {
oldPcs.innerText = oldVal;
}
},
allToNewOrder: function(itemId) {
var newPcs = document.getElementById(this.newOrderPcsSelector + itemId),
oldPcs = document.getElementById(this.oldOrderPcsSelector + itemId);
newPcs.value = Number(oldPcs.dataset.originalPcs);
oldPcs.innerText = 0;
},
allToOldOrder: function(itemId) {
var newPcs = document.getElementById(this.newOrderPcsSelector + itemId),
oldPcs = document.getElementById(this.oldOrderPcsSelector + itemId);
newPcs.value = 0;
oldPcs.innerText = Number(oldPcs.dataset.originalPcs);
},
oneToNewOrder: function(itemId) {
var newPcs = document.getElementById(this.newOrderPcsSelector + itemId),
oldPcs = document.getElementById(this.oldOrderPcsSelector + itemId),
newPcsValue = Number(newPcs.value) + 1,
originalPcsValue = Number(oldPcs.dataset.originalPcs);
if (newPcsValue <= originalPcsValue) {
newPcs.value = newPcsValue;
oldPcs.innerText = originalPcsValue - newPcsValue;
}
},
oneToOldOrder: function(itemId) {
var newPcs = document.getElementById(this.newOrderPcsSelector + itemId),
oldPcs = document.getElementById(this.oldOrderPcsSelector + itemId),
newPcsValue = Number(newPcs.value) - 1,
originalPcsValue = Number(oldPcs.dataset.originalPcs);
if (newPcsValue >= 0) {
newPcs.value = newPcsValue;
oldPcs.innerText = originalPcsValue - newPcsValue;
}
},
};
{/block}
</script>
{block buttonsLeft}
{/block}
{block buttonsRight}
<div class="col-md-3 col-md-offset-7">
<input type="submit" name="Submit" class="btn btn-primary btn-block" value="{'split'|translate}"/>
</div>
<div class="col-md-2">
<input type="button" class="btn btn-primary btn-block" onClick="closeWindow();" value="{'windowCancel'|translate:'button'}"/>
</div>
{/block}