484 lines
24 KiB
Smarty
484 lines
24 KiB
Smarty
{if !$body.data.closed}
|
|
|
|
<style type="text/css">
|
|
.input-height {
|
|
margin-bottom: 0px;
|
|
}
|
|
.panel-body > .form-group:last-of-type {
|
|
margin-bottom: 0px;
|
|
}
|
|
.panel-title.two-lines > p {
|
|
padding-left: 5px;
|
|
padding-top: 2px;
|
|
padding-bottom: 0px;
|
|
}
|
|
.panel-title .help-block {
|
|
margin-top: 1px;
|
|
}
|
|
|
|
.disable-animations *,
|
|
.disable-animations *:after,
|
|
.disable-animations *:before {
|
|
transition: none !important;
|
|
}
|
|
</style>
|
|
<div id="addItem">
|
|
<div class="row bottom-space">
|
|
<div class="col-md-3">
|
|
<a href="#" data-form-add class="btn btn-success btn-block"><span class="glyphicon glyphicon-plus"></span> {'addItem'|translate}</a>
|
|
</div>
|
|
|
|
{if $body.items}
|
|
<div class="col-md-3 col-md-offset-5">
|
|
<a onclick="printCodes();" target="printCenter" class="btn btn-sm btn-block btn-primary" ><span class="glyphicon glyphicon-print"></span> {'printLabels'|translate}</a>
|
|
</div>
|
|
<div class="col-md-1 text-right">
|
|
<a class="btn btn-sm" style="margin-right: 15px" data-form-mass-open>
|
|
<i class="glyphicon glyphicon-plus-sign"></i>
|
|
</a>
|
|
</div>
|
|
{else}
|
|
<div class="col-md-9">
|
|
<div class="form-group">
|
|
<div class="col-md-4 control-label"><label>{'importFrom'|translate} {$body.import->type}</label></div>
|
|
<div class="col-md-6">
|
|
<input type="file" class="filestyle" name="import" data-iconName="glyphicon-folder-open" data-buttonText="Nahrát soubor"/>
|
|
{if !$body.import->supplier_settings}
|
|
<a href="/admin/static/files/ObecnyImportTemplate.xls" class="help-tip" data-toggle="tooltip" title="" data-original-title="
|
|
Obecný import ve formátu xls, po kliknutí na tento otazníček vám stáhne ukázkový soubor"><i class="bi bi-question-circle"></i></a>
|
|
{/if}
|
|
</div>
|
|
<div class="col-md-2">
|
|
<input type="submit" class="btn btn-success btn-block" name="acn" value="Import"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
|
|
<div class="panel panel-body" data-form-new style="display: none;" id="stockin" >
|
|
{block 'autocomplete-html'}
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label"><label>{'product'|translate}</label></div>
|
|
<div class="col-md-5">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][0][id_product]" size="5" maxlength="100" value=""/>
|
|
<div class="input-group-btn">
|
|
<button class="btn btn-primary btn-sm addProduct" tabindex="-1" title="Přidat nový produkt" type="button">
|
|
<i class="glyphicon glyphicon-plus"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-4">
|
|
<select class="form-control input-sm selecter" name="data[stockin][0][id_variation]">
|
|
<option value="-1"></option>
|
|
</select>
|
|
</div>
|
|
<div class="col-md-1 text-right">
|
|
<a class="btn-sm btn btn-danger" data-form-delete>
|
|
<input class="hidden" type="checkbox" name="data[stockin][0][delete]" />
|
|
<span class="glyphicon glyphicon-remove"></span>
|
|
</a>
|
|
</div>
|
|
<input type="hidden" name="data[stockin][0][id]" value="">
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label"><label>{'pieces'|translate}</label></div>
|
|
<div class="col-md-2">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][0][quantity]" data-calculate='pieces' value="" autocomplete="off"/>
|
|
</div>
|
|
<div class="col-md-2 control-label"><label>{'supplierCode'|translate}</label></div>
|
|
<div class="col-md-2">
|
|
<input type="text" class="form-control input-sm" id="supplier_code" name="data[stockin][0][supplier_code]" maxlength="100" value="" tabindex="-1" autocomplete="off"/>
|
|
</div>
|
|
<div class="col-md-1 control-label"><label>{'tax'|translate}</label></div>
|
|
<div class="col-md-2">
|
|
<input type="text" class="form-control input-sm vat" id="vat" name="data[stockin][0][vat]" maxlength="100" value="" disabled autocomplete="off" />
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label">
|
|
<label>{'piecePrice'|translate}</label>
|
|
</div>
|
|
<span class="inputWOVat">
|
|
<div class="col-md-3">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm piece_price" id="piece_price" name="data[stockin][0][price]" data-calculate='piece_price' maxlength="100" value="" autocomplete="off"/>
|
|
<span class="input-group-addon">{'withoutTax'|translate:'choice'}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
<span class="inputVat">
|
|
<div class="col-md-3">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm piece_price_with_vat" id="piece_price_with_vat" name="data[stockin][0][price_vat]" data-calculate='piece_price_vat' maxlength="100" value="" autocomplete="off"/>
|
|
<span class="input-group-addon">{'withTax'|translate:'choice'}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
<span class="inputRate">
|
|
<div class="col-md-3">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][0][price_rate]" data-calculate='piece_price_rate' maxlength="100" value="" autocomplete="off"/>
|
|
<span class="input-group-addon">{$body.data.currency_symbol}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
<div class="col-md-2 control-label">
|
|
<label>{'webPrice'|translate}</label>
|
|
</div>
|
|
<div class="col-md-2">
|
|
<p class="input-height" data-web-price=""></p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label">
|
|
<label>{'itemPrice'|translate}</label>
|
|
</div>
|
|
<span class="inputWOVat">
|
|
<div class="col-md-3">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][0][total_price]" data-calculate='total_price' maxlength="100" value="" autocomplete="off"/>
|
|
<span class="input-group-addon">{'withoutTax'|translate:'choice'}</span>
|
|
</div>
|
|
<input type="hidden" name="data[stockin][0][vat]" class="vat" value="0" data-calculate='vat'>
|
|
</div>
|
|
</span>
|
|
|
|
<span class="inputVat">
|
|
<div class="col-md-3">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][0][total_price_vat]" data-calculate='total_price_vat' maxlength="100" value="" autocomplete="off"/>
|
|
<span class="input-group-addon">{'withTax'|translate:'choice'}</span>
|
|
</div>
|
|
<input type="hidden" name="data[stockin][0][vat]" class="vat" value="0">
|
|
</div>
|
|
</span>
|
|
|
|
<span class="inputRate">
|
|
<div class="col-md-3">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][0][total_price_rate]" data-calculate='total_price_rate' maxlength="100" value="" autocomplete="off"/>
|
|
<span class="input-group-addon">{$body.data.currency_symbol}</span>
|
|
</div
|
|
</div>
|
|
</span>
|
|
|
|
|
|
</div>
|
|
{/block}
|
|
</div>
|
|
</div>
|
|
<script>
|
|
$("#addItem").on('click', '.addProduct', function(e){
|
|
nw('product', 0, '&refresh=noopener&data[title]='+$(this).closest('.input-group').find('.ui-autocomplete-input').val())
|
|
});
|
|
</script>
|
|
{/if}
|
|
|
|
{if $body.items}
|
|
<div class="panel">
|
|
<div class="panel-heading" style="padding-bottom:4px">
|
|
<div class="row">
|
|
<div class="col-md-5">
|
|
<small><strong>{'productName'|translate}</strong></small>
|
|
</div>
|
|
<div class="col-md-1">
|
|
<small><strong>{'note'|translate}</strong></small>
|
|
</div>
|
|
<div class="col-md-1">
|
|
<small><strong>{'header_pieces'|translate}{if $body.data.id_index != 'future'} / {'header_store'|translate}{/if}</strong></small>
|
|
</div>
|
|
<div class="col-md-1 text-center">
|
|
<small><strong>{'code'|translate} / <abbr title="{'supplierCode'|translate}">dod.</abbr></strong></small>
|
|
</div>
|
|
<div class="col-md-2 text-center">
|
|
<small><strong>EAN</strong></small>
|
|
</div>
|
|
<div class="col-md-1">
|
|
<span class="inputWOVat switch">
|
|
<small><strong>{'priceWithoutVat'|translate}</strong></small>
|
|
</span>
|
|
<span class="inputVat">
|
|
<small><strong>{'header_priceWithVat'|translate}</strong></small>
|
|
</span>
|
|
<span class="inputRate">
|
|
<small><strong>{'header_price'|translate}</strong></small>
|
|
</span>
|
|
</div>
|
|
<div class="col-md-1 text-center">
|
|
<small><strong>{'header_margin'|translate}</strong></small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="items">
|
|
{foreach $body.items as $key => $item}
|
|
<div class="panel" data-form-item>
|
|
<div class="panel-heading" style="background-color: {$item.bg_color}" data-toggle="collapse" data-target="#collapse_{$key}">
|
|
<div class="row">
|
|
<div class="col-md-5">
|
|
<h4 class="panel-title two-lines">
|
|
<p class="pull-left">
|
|
{if $item.id_product}<a href="javascript:nw('product', '{$item.id_product}','refresh=noopener');">{/if}
|
|
{if !empty($item.products_of_suppliers_note)}
|
|
<i class="glyphicon glyphicon-list-alt" title="{$item.products_of_suppliers_note}"></i>
|
|
<span style="display: inline-block;" class="help-block">{$item.products_of_suppliers_note}</span>
|
|
<br>
|
|
{/if}
|
|
|
|
{if !empty($item.product_title)}
|
|
<strong title="{$item.name}">{$item.product_title}</strong>
|
|
{if !empty($item.id_variation)}
|
|
<span class="help-block">{$item.variation_title}</span>
|
|
{/if}
|
|
{else}
|
|
<strong>{$item.name}</strong>
|
|
{/if}
|
|
{if $item.id_product}</a>{/if}
|
|
</p>
|
|
{if !$item.id_product}
|
|
<a href="?s=stockIn.php&acn=createProduct&ID={$body.data.id}&itemID={$item.id}" title="Vytvořit produkt" class="btn btn-sm btn-default" style="display:inline-block;padding:5px 10px;margin-top:3px">
|
|
<span class="glyphicon glyphicon-plus"></span>
|
|
</a>
|
|
{/if}
|
|
</h4>
|
|
</div>
|
|
<div class="col-md-1 text-center">
|
|
<p class="input-height">
|
|
{$item.note}
|
|
</p>
|
|
</div>
|
|
<div class="col-md-1 text-center">
|
|
<p class="input-height">
|
|
<strong>{$item.quantity}</strong>
|
|
{if $body.data.id_index != 'future' && !is_null($item.web_in_store)}/
|
|
{if $item.web_in_store-$item.quantity < 0}
|
|
<a href="javascript:nw('productOrders', '{$item.id_product}', '{$item.id_variation}')">{$item.web_in_store-$item.quantity}</a>
|
|
{else}
|
|
{$item.web_in_store-$item.quantity}
|
|
{/if}
|
|
{/if}
|
|
</p>
|
|
</div>
|
|
<div class="col-md-1 text-center">
|
|
<p class="input-height">
|
|
{$item.code}
|
|
{if $item.code_supplier}
|
|
/ {$item.code_supplier}
|
|
{/if}
|
|
</p>
|
|
</div>
|
|
<div class="col-md-2 text-center">
|
|
<p class="input-height">
|
|
{$item.ean}
|
|
</p>
|
|
</div>
|
|
<div class="col-md-2">
|
|
<p class="input-height pull-left">
|
|
{$warning = ""}
|
|
{if is_null($item.prev_price) || (abs($item.prev_price - $item.price) > $item.prev_price/100)}
|
|
{$warning = "Pozor, změna nákupní ceny"}
|
|
{if is_null($item.prev_price)}
|
|
{$warning = "{$warning} - žádné předchozí naskladnění není"}
|
|
{else}
|
|
{$warning = "{$warning} - předchozí cena = {$item.prev_price|format_price:'ceil=no'} / ks, nová cena = {$item.price|format_price:'ceil=no'} / ks ({'withoutTax'|translate:'choice'})"}
|
|
{/if}
|
|
{/if}
|
|
<span class="inputWOVat switch">
|
|
{$item.price_all|format_price}
|
|
</span>
|
|
<span class="inputVat">
|
|
{$item.price_all_vat|format_price}
|
|
</span>
|
|
<span class="inputRate">
|
|
{{$item.price_all / $body.data.multiplier}|round:2} {$body.data.currency_symbol}
|
|
</span>
|
|
{if $warning}
|
|
<i class="text-warning glyphicon glyphicon-warning-sign" title="{$warning}" {if $item.prev_price}style="color: #DA4453;"{/if}></i>
|
|
{/if}
|
|
</p>
|
|
{if !$body.data.closed}
|
|
<a class="btn-sm btn btn-danger pull-right" data-form-delete>
|
|
<input class="hidden" type="checkbox" name="data[stockin][{$key}][delete]" />
|
|
<span class="glyphicon glyphicon-remove"></span>
|
|
</a>
|
|
{/if}
|
|
<p class="input-height pull-right" style="color:{$item.color}; margin-right:10px"><strong>{$item.rabat|round:0}%</strong></p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div id="collapse_{$key}" class="panel-collapse collapse">
|
|
<div class="panel-body">
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label"><label>{'pieces'|translate}</label></div>
|
|
<div class="col-md-1">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][{$key}][quantity]" size="5" data-calculate='pieces' maxlength="100" value="{$item.quantity}" />
|
|
</div>
|
|
|
|
<div class="col-md-2 control-label">
|
|
<label>{'piecePrice'|translate}</label>
|
|
</div>
|
|
|
|
<span class="inputWOVat">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][{$key}][price]" data-calculate='piece_price' maxlength="100" value="{$item.price}" />
|
|
<span class="input-group-addon">{'withoutTax'|translate:'choice'}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
<span class="inputVat">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][{$key}][price_vat]" data-calculate='piece_price_vat' maxlength="100" value="{$item.price_vat|round:2}" />
|
|
<span class="input-group-addon">{'withTax'|translate:'choice'}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
<span class="inputRate">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][{$key}][price_rate]" data-calculate='piece_price_rate' maxlength="100" value="{{$item.price/$body.data.multiplier}}" />
|
|
<span class="input-group-addon">{$body.data.currency_symbol}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
{if !empty($item.id_product)}
|
|
<div class="col-md-1 control-label two-lines"><label>{'webPrice'|translate}</label></div>
|
|
<div class="col-md-2 {if $item.web_price <= $item.price}errorRow{/if}">
|
|
{if $dbcfg.prod_prefer_price_vat == "Y" || $dbcfg.prod_prefer_price_vat == "F"}
|
|
<p class="input-height">{$item.web_price_vat|format_price}</p>
|
|
{else}
|
|
<p class="input-height">{$item.web_price|format_price}</p>
|
|
{/if}
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label col-md-offset-3">
|
|
<label>{'itemPrice'|translate}</label>
|
|
</div>
|
|
<span class="inputWOVat">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][{$key}][price_all]" data-calculate='total_price' maxlength="100" value="{$item.price_all}" />
|
|
<span class="input-group-addon">{'withoutTax'|translate:'choice'}</span>
|
|
</div>
|
|
<input type="hidden" name="data[stockin][{$key}][vat]" value="{$item.vat}">
|
|
</div>
|
|
</span>
|
|
<span class="inputVat">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][{$key}][price_all_vat]" data-calculate='total_price_vat' maxlength="100" value="{$item.price_all_vat|round:2}" />
|
|
<span class="input-group-addon">{'withTax'|translate:'choice'}</span>
|
|
</div>
|
|
<input type="hidden" name="data[stockin][{$key}][vat]" value="{$item.vat}" data-calculate='vat'>
|
|
</div>
|
|
</span>
|
|
<span class="inputRate">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm" name="data[stockin][{$key}][price_all_rate]" data-calculate='total_price_rate' maxlength="100" value="{{$item.price_all/$body.data.multiplier}}" />
|
|
<span class="input-group-addon">{$body.data.currency_symbol}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
{if !empty($item.id_product)}
|
|
<div class="col-md-1 control-label"><label>{'header_margin'|translate}</label></div>
|
|
<div class="col-md-1 {if $item.rabat > 100} errorRow{/if}">
|
|
<p class="input-height">
|
|
<span style="color:{$item.color}"><strong>({$item.rabat|round:1}%)</strong></span>
|
|
</p>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
|
|
{if $module.STOCK_IN__WEIGHTED_PURCHASE_PRICE}
|
|
<div class="form-group">
|
|
<div class="col-md-2 control-label">
|
|
<label>Dodatečné náklady/ks</label>
|
|
</div>
|
|
|
|
<span class="inputVat">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm vat" value="{($item.additional_costs * ((100+$item.vat)/100))|round:2}" disabled autocomplete="off" />
|
|
<span class="input-group-addon">{'withTax'|translate:'choice'}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
<span class="inputWOVat">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm vat" value="{$item.additional_costs}" disabled autocomplete="off" />
|
|
<span class="input-group-addon">{'withoutTax'|translate:'choice'}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
<span class="inputRate">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm vat" value="{$item.additional_costs/$body.data.multiplier}" disabled autocomplete="off" />
|
|
<span class="input-group-addon">{$body.data.currency_symbol}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
<div class="col-md-2 control-label two-lines">
|
|
<label>Dodatečné náklady/položku</label>
|
|
</div>
|
|
|
|
|
|
|
|
<span class="inputVat">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm vat" value="{($item.additional_costs * ((100+$item.vat)/100) * $item.quantity)|round:2}" disabled autocomplete="off" />
|
|
<span class="input-group-addon">{'withTax'|translate:'choice'}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
<span class="inputWOVat">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm vat" value="{($item.additional_costs * $item.quantity)}" disabled autocomplete="off" />
|
|
<span class="input-group-addon">{'withoutTax'|translate:'choice'}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
|
|
<span class="inputRate">
|
|
<div class="col-md-2">
|
|
<div class="input-group">
|
|
<input type="text" class="form-control input-sm vat" value="{($item.additional_costs * $item.quantity)/$body.data.multiplier}" disabled autocomplete="off" />
|
|
<span class="input-group-addon">{$body.data.currency_symbol}</span>
|
|
</div>
|
|
</div>
|
|
</span>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{if $item@iteration is div by 100}
|
|
{flush nocache}
|
|
{/if}
|
|
{/foreach}
|
|
</div>
|
|
{/if}
|