init
This commit is contained in:
306
modules/EcmReports/tpls/PDF/KosztProdukcjiWgPracownikow.html
Normal file
306
modules/EcmReports/tpls/PDF/KosztProdukcjiWgPracownikow.html
Normal file
@@ -0,0 +1,306 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 7px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 10px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #fff 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #fff 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #000;
|
||||
background-color: #E6F2EE;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 3px 18px 3px 3px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #E7E7E9;
|
||||
/* black asc arrow */
|
||||
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #E7E7E9;
|
||||
/* black desc arrow */
|
||||
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
caption {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue .tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table style="width:100%;vertical-align:top;">
|
||||
<tr>
|
||||
<td style="width:50%;text-align;left"><h1>Raport kart pracy - produkty</h1></td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Raport za: {$dateformat}<br>
|
||||
|
||||
|
||||
</td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="5%" style = "text-align: left">Kod produktu</th>
|
||||
<th width="40%" style = "text-align: left">Nazwa produktu</th>
|
||||
<th width="11%" style = "text-align: right">Ilość PW</th>
|
||||
<th width="11%" style = "text-align: right">Ilość godzin</th>
|
||||
<th width="11%" style = "text-align: right">Koszt</th>
|
||||
<th width="11%" style = "text-align: right">Sztuk na godz.</th>
|
||||
<th width="11%" style = "text-align: right">Koszt jend.</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$data item=rekord key=kl}
|
||||
<tr>
|
||||
<td onclick="showHide('{$rekord.indeks}');">{$rekord.code}</td>
|
||||
<td onclick="showHide('{$rekord.indeks}');">{$rekord.name}</td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.pw_quantity}">{$rekord.pw_quantity|number_format:2:".":"" } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.hours}">{$rekord.hours|number_format:2:".":"" } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.cost}">{$rekord.cost|number_format:2:",":"." } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.pw_quantity/$rekord.hours}">{$rekord.pw_quantity/$rekord.hours|number_format:2:",":"." } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.cost/$record.pw_quantity}">{$rekord.cost/$record.pw_quantity|number_format:2:",":"." } </td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot style="background-color: #E8E8E8;">
|
||||
<tr>
|
||||
<td style="text-align: left;background-color: #E8E8E8; border: 1px solid #E8E8E8;">Razem</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalQuantityPw|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalh|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalc|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">0</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">0</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
298
modules/EcmReports/tpls/PDF/ListDailySales.tpl
Normal file
298
modules/EcmReports/tpls/PDF/ListDailySales.tpl
Normal file
@@ -0,0 +1,298 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
thead, tfoot {font-weight: bold;}
|
||||
{/literal}
|
||||
|
||||
{literal}
|
||||
|
||||
body {
|
||||
font-size: 8px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 10px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #fff 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #fff 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 3px 18px 3px 3px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #E7E7E9;
|
||||
/* black asc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #E7E7E9;
|
||||
/* black desc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
caption {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue .tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
|
||||
#myTable tfoot th {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<h1>{$MOD.LBL_REPORT} {$MOD.LBL_SUBPANEL_TITLE} </h1>
|
||||
|
||||
{* Table headers *}
|
||||
<table id="myTable" class="tablesorter-blue">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$MOD.LBL_CONTRACTOR}</th>
|
||||
<th>{$MOD.LBL_INVOICE_NUMBER}</th>
|
||||
<th>{$MOD.LBL_TYPE}</th>
|
||||
<th>{$MOD.LBL_REGISTER_DATE}</th>
|
||||
<th>{$MOD.LBL_PDF_TYPE}</th>
|
||||
<th>{$MOD.LBL_NET_VALUE}</th>
|
||||
|
||||
<th class="sorter-saas">{$MOD.LBL_GROSS_VALUE}</th>
|
||||
<th class="nettoValue sorter-saas">{$MOD.LBL_COST}</th>
|
||||
<th class="sorter-saas">{$MOD.LBL_MARGIN}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="5"></th>
|
||||
<th>{$SUM.subtotalSum|number_format:2:",":"." }</th>
|
||||
<th>{$SUM.totalSum|number_format:2:",":"." }</th>
|
||||
<th>{$SUM.costSum|number_format:2:",":"." }</th>
|
||||
<th>{$SUM.marginSum|number_format:2:",":"." }%</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$DATA item=ROW name=loop}
|
||||
|
||||
{if $smarty.foreach.loop.index % 2 == 1}
|
||||
<tr>
|
||||
{else}
|
||||
<tr style="background-color: #e6e6e6;" role="row">
|
||||
{/if}
|
||||
<td style="text-align:left;">{$ROW.contractorName}</td>
|
||||
<td style="text-align:right;">{$ROW.document_no}</td>
|
||||
|
||||
<td style="text-align:right;">{if $ROW.type == 'normal'}
|
||||
{$MOD.LBL_PDF_TYPE_NORMAL}
|
||||
{else if $ROW.type == 'correct'}
|
||||
{$MOD.LBL_PDF_TYPE_CORRECT}
|
||||
{/if}
|
||||
|
||||
</td>
|
||||
<td style="text-align:right;">{$ROW.register_date|date_format:"%d.%m.%Y"}</td>
|
||||
<td style="text-align:right;">{if $ROW.pdf_type == 'U'}
|
||||
{$MOD.LBL_PDF_TYPE_U}
|
||||
{/if}
|
||||
{if $ROW.pdf_type == 'K'}
|
||||
{$MOD.LBL_PDF_TYPE_K}
|
||||
{/if}
|
||||
{if $ROW.pdf_type == 'E'}
|
||||
{$MOD.LBL_PDF_TYPE_E}
|
||||
{/if}
|
||||
</td>
|
||||
<td class="gs" style="text-align:right;">{$ROW.subtotal|number_format:2:",":"." }</td>
|
||||
<td style="text-align:right;">{$ROW.total|number_format:2:",":"." }</td>
|
||||
<td class="gc" style="text-align:right;">{$ROW.cost|number_format:2:",":"." }</td>
|
||||
<td style="text-align:right;">{$ROW.margin|number_format:2:",":"." }%</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
316
modules/EcmReports/tpls/PDF/RaportZamowien.html
Normal file
316
modules/EcmReports/tpls/PDF/RaportZamowien.html
Normal file
@@ -0,0 +1,316 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 7px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 10px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #fff 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #fff 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #000;
|
||||
background-color: #E6F2EE;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 3px 18px 3px 3px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #E7E7E9;
|
||||
/* black asc arrow */
|
||||
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #E7E7E9;
|
||||
/* black desc arrow */
|
||||
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
caption {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue .tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table style="width:100%;vertical-align:top;">
|
||||
<tr>
|
||||
<td style="width:50%;text-align;left"><h1>Raport zamówien sprzedaży</h1></td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Data raportu od: {$date_from}<br>
|
||||
{if $order_type eq ''}
|
||||
Typ zamówienia: Wszystkie<br>
|
||||
{else}
|
||||
Typ zamówienia: {if $order_type eq 'K'} Okresowe {/if}
|
||||
{if $order_type eq 'E'} Normalne {/if}<br>
|
||||
{/if}
|
||||
|
||||
</td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Data raportu do: {$date_to}<br>
|
||||
{if $product_category_name_basic!=""}
|
||||
Kategoria produktu: {$product_category_name_basic}<br>
|
||||
{/if}
|
||||
|
||||
{if $product_group_name_basic!=""}
|
||||
Grupa produktowa: {$product_group_name_basic}<br>
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th>Indeks</th>
|
||||
<th>Nazwa</th>
|
||||
<th>Ilość na mag.</th>
|
||||
<th>Ilość zam.</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$DATA item=item key=key name=loop}
|
||||
{* Table headers *}
|
||||
<tbody>
|
||||
<tr class="category">
|
||||
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.code}</b></td>
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.name}</b></td>
|
||||
|
||||
<td class="sumRow" ><b>{$item.state|number_format:0:",":"" }</b></td>
|
||||
<td class="sumRow" ><b>{$item.total|number_format:2:",":"" }</b></td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
{/foreach}
|
||||
<tfoot>
|
||||
<tr class="category">
|
||||
|
||||
<th colspan=2 style="text-align:right;">Razem:</th>
|
||||
<th colspan=2 class="sumRow " style="text-align:right;">{$total|number_format:2:",":"" }</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<br/>
|
||||
409
modules/EcmReports/tpls/PDF/ReportBuyesByVat.tpl.html
Normal file
409
modules/EcmReports/tpls/PDF/ReportBuyesByVat.tpl.html
Normal file
@@ -0,0 +1,409 @@
|
||||
{literal}
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
@page {
|
||||
size: auto;
|
||||
odd-header-name: html_MyHeader1;
|
||||
odd-footer-name: html_MyFooter1;
|
||||
|
||||
}
|
||||
@page chapter2 {
|
||||
odd-header-name: html_MyHeader2;
|
||||
odd-footer-name: html_MyFooter2;
|
||||
}
|
||||
@page noheader {
|
||||
odd-header-name: _blank;
|
||||
odd-footer-name: _blank;
|
||||
}
|
||||
div.chapter2 {
|
||||
page-break-before: always;
|
||||
page: chapter2;
|
||||
}
|
||||
div.noheader {
|
||||
page-break-before: always;
|
||||
page: noheader;
|
||||
|
||||
}
|
||||
#newpage
|
||||
{
|
||||
padding-top: 80px;
|
||||
}
|
||||
body {
|
||||
font-size: 10px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 100px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #fff 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #fff 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #000;
|
||||
background-color: #fff;
|
||||
padding: 4px;
|
||||
border-top: 2px solid red;
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 3px 18px 3px 3px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #E7E7E9;
|
||||
/* black asc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #E7E7E9;
|
||||
/* black desc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
caption {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue .tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
|
||||
#table tfoot th {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<htmlpageheader name="MyHeader1">
|
||||
{/literal}
|
||||
<div style="text-align: left; border-bottom: 1px solid #000000; font-weight: bold; font-size: 7pt;">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="font-size: 25px; font-weight: bold">Rejestr zakupu</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">{$company_name}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">Data wygenerowania: {$current_date_formatted}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">Rejestr od: {$date_from} do: {$date_to}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{literal}
|
||||
</htmlpageheader>
|
||||
|
||||
|
||||
<htmlpagefooter name="MyFooter1">
|
||||
<table width="100%" style="vertical-align: bottom; font-family: serif; font-size: 8pt;
|
||||
color: #000000; font-weight: bold; font-style: italic;"><tr>
|
||||
<td width="33%"><span style="font-weight: bold; font-style: italic;">{DATE j.m.Y}</span></td>
|
||||
<td width="33%" align="center" style="font-weight: bold; font-style: italic;">{PAGENO}/{nbpg}</td>
|
||||
<td width="33%" style="text-align: right; ">Rejestr zakupu</td>
|
||||
</tr></table>
|
||||
</htmlpagefooter>
|
||||
|
||||
<htmlpagefooter name="MyFooter2">
|
||||
<table width="100%" style="vertical-align: bottom; font-family: serif; font-size: 8pt;
|
||||
color: #000000; font-weight: bold; font-style: italic;"><tr>
|
||||
<td width="33%"><span style="font-weight: bold; font-style: italic;">SAAS-SYSTEMS</span></td>
|
||||
<td width="33%" align="center" style="font-weight: bold; font-style: italic;">{PAGENO}/{nbpg}</td>
|
||||
<td width="33%" style="text-align: right; ">{DATE j-m-Y}</td>
|
||||
</tr></table>
|
||||
</htmlpagefooter>
|
||||
{/literal}
|
||||
<div>
|
||||
{assign var=counter value=1}
|
||||
{foreach from=$dataPart key=klucz item=data name=data}
|
||||
<table id="myTable" class="tablesorter-blue">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">Lp</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_DOC_NUMBER}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_CREATE_LAB}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_SALE_DATE}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_SALES_NIP}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_LIST_SUBJECT}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_BUYER_VALUE_BRUTTO}</th>
|
||||
{foreach from= $vat_value key= t item= w}
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_BUYER_VALUE_NETTO} {$t}</th>
|
||||
{if $w.sumavat != NULL}
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_VAT} {$t}</th>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt; ">{$MOD.LBL_SUM_VAT}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from= $data key= k item= i}
|
||||
|
||||
<tr>
|
||||
<td>{$counter}</td>
|
||||
<td> {$i.document_number}</td>
|
||||
<td>{$i.document_date|date_format:"%d.%m.%Y"}</td>
|
||||
<td>{$i.register_date|date_format:"%d.%m.%Y"}</td>
|
||||
|
||||
<td>{$i.to_vatid}</td>
|
||||
<td>{$i.name}</td>
|
||||
|
||||
<td style = "text-align: right">{$i.value|number_format:2:",":"."}</td>
|
||||
{foreach from=$vat_value key=o item=j}
|
||||
{assign var=prawdafalsz value=false}
|
||||
{foreach from=$i.vaty item = e}
|
||||
{if $o == $e.vat_value}
|
||||
{assign var=prawdafalsz value=true}
|
||||
{assign var=prawdafalszvat value=$e.vat}
|
||||
{assign var=prawdafalsznetto value=$e.netto}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if $prawdafalsz == true }
|
||||
<td style = "text-align: right">{$prawdafalsznetto|number_format:2:",":"."}</td>
|
||||
{if $j.sumavat != NULL}
|
||||
<td style = "text-align: right">{$prawdafalszvat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{else}
|
||||
<td style = "text-align: right">0,00</td>
|
||||
{if $j.sumavat != NULL}
|
||||
<td style = "text-align: right">0,00</td>
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td style = "text-align: right">{$i.vatsumapozycja|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{assign var=counter value=$counter+1}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;" colspan="6">{$MOD.LBL_PAGE_SUM}</td>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$pageBruttoVat[$klucz].brutto|number_format:2:",":"."}</td>
|
||||
{foreach from=$pageVatSum[$klucz] key =vatName item=vatValue}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.netto|number_format:2:",":"."}</td>
|
||||
{if $vatValue.vat != 'null' || $vatValue.vat=='0'}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.vat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt; ">{$pageBruttoVat[$klucz].vat|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;" colspan="6">{$MOD.LBL_TRANSFER_SUM}</td>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$partialBruttoVat[$klucz].brutto-$pageBruttoVat[$klucz].brutto|number_format:2:",":"."}</td>
|
||||
{if $klucz>0}
|
||||
{assign var='dupa' value=$klucz-1}
|
||||
{foreach from=$partialVatSum[$dupa] key =vatName item=vatValue}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.netto|number_format:2:",":"."}</td>
|
||||
{if $vatValue.vat != 'null' || $vatValue.vat=='0'}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.vat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{else}
|
||||
|
||||
{foreach from=$partialVatSum[$klucz] key =vatName item=vatValue}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">0,00</td>
|
||||
{if $vatValue.vat != 'null' || $vatValue.vat=='0'}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">0,00</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/if}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt; ">{$partialBruttoVat[$klucz].vat-$pageBruttoVat[$klucz].vat|number_format:2:",":"."}</td>
|
||||
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;" colspan="6">{$MOD.LBL_VALUE}</td>
|
||||
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$partialBruttoVat[$klucz].brutto|number_format:2:",":"."}</td>
|
||||
{foreach from=$partialVatSum[$klucz] key =vatName item=vatValue}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.netto|number_format:2:",":"."}</td>
|
||||
{if $vatValue.vat != 'null' || $vatValue.vat=='0'}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.vat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt; ">{$partialBruttoVat[$klucz].vat|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
{if !$smarty.foreach.data.last}
|
||||
<newpage>
|
||||
{/if}
|
||||
{/foreach}
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
46
modules/EcmReports/tpls/PDF/ReportEcmWorkCards.tpl
Normal file
46
modules/EcmReports/tpls/PDF/ReportEcmWorkCards.tpl
Normal file
@@ -0,0 +1,46 @@
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/tpls/PDF/css/style.css">
|
||||
<h1>{$MOD.LBL_REPORT} {$MOD.LBL_REPORT_ECMWORKCARDS}</h2>
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="15%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_WORKER_NAME}</th>
|
||||
<th width="7%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_ACTION_CODE}</th>
|
||||
<th width="30%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_ACTION}</th>
|
||||
<th width="5%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_QUANTITY}</th>
|
||||
<th width="7%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_PRODUCT_CODE}</th>
|
||||
<th width="40%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_PRODUCTS}</th>
|
||||
<th width="10%" style = "border-bottom: 1px solid black;text-align: right">{$MOD.LBL_SUM_NETTO}</th>
|
||||
<th width="10%" style = "border-bottom: 1px solid black;text-align: right">{$MOD.LBL_SUM_BRUTTO}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$data item=rekord key=kl}
|
||||
<tr id="parent_{$kl}" class="{$rekord.class}">
|
||||
<td style = "border-top: 1px solid black;border-left: 1px solid black;">{$rekord.work_name}</td>
|
||||
<td colspan="5" style = "border-top: 1px solid black;"></td>
|
||||
<td style = "border-top: 1px solid black;text-align: right">{$rekord.netto}</td>
|
||||
<td style = "border-top: 1px solid black;border-right: 1px solid black;text-align: right">{$rekord.brutto}</td>
|
||||
</tr>
|
||||
{foreach from=$rekord.actions item=czynnosc}
|
||||
<tr style="background-color: #e6e6e6;">
|
||||
<td style = "border-left: 1px solid black;text-align: left"></td>
|
||||
<td style = "text-align: left">{$czynnosc.actioncode}</td>
|
||||
<td style = "text-align: left">{$czynnosc.actionname}</td>
|
||||
<td style = "text-align: right">{$czynnosc.quantity}</td>
|
||||
<td style = "text-align: left">{$czynnosc.productcode}</td>
|
||||
<td style = "text-align: left">{$czynnosc.productname}</td>
|
||||
<td style = "text-align: right">{$czynnosc.netto}</td>
|
||||
<td style = "border-right: 1px solid black;text-align: right">{$czynnosc.brutto}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th style="text-align: left;">{$MOD.LBL_SUM}</th>
|
||||
<th colspan="5"></th>
|
||||
<th style="text-align: right">{$suma.netto}</th>
|
||||
<th style="text-align: right">{$suma.brutto}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
49
modules/EcmReports/tpls/PDF/ReportEcmWorkCardsEcmProduct.tpl
Normal file
49
modules/EcmReports/tpls/PDF/ReportEcmWorkCardsEcmProduct.tpl
Normal file
@@ -0,0 +1,49 @@
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/tpls/PDF/css/style.css">
|
||||
<h1>{$MOD.LBL_REPORT} {$MOD.LBL_REPORT_ECMWORKCARDS_PRODUCTS} </h1>
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="40%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_PRODUCTS}</th>
|
||||
<th width="15%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_WORKER_NAME}</th>
|
||||
<th width="7%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_ACTION_CODE}</th>
|
||||
<th width="30%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_ACTION}</th>
|
||||
<th width="5%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_QUANTITY}</th>
|
||||
<th width="5%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_PW_QUANTITY}</th>
|
||||
<th width="11%" style = "border-bottom: 1px solid black;text-align: right">{$MOD.LBL_SUM_NETTO}</th>
|
||||
<th width="11%" style = "border-bottom: 1px solid black;text-align: right">{$MOD.LBL_SUM_BRUTTO}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$data item=rekord key=kl}
|
||||
<tr id="parent_{$rekord.indeks}">
|
||||
<td style = "border-top: 1px solid black;border-left: 1px solid black;">{$rekord.code} {$rekord.name}</td>
|
||||
<td colspan="4" style = "border-top: 1px solid black;"></td>
|
||||
<td style = "border-top: 1px solid black;text-align: right">{$rekord.pw}</td>
|
||||
<td style = "border-top: 1px solid black;text-align: right">{$rekord.netto|number_format:2:",":"."}</td>
|
||||
<td style = "border-top: 1px solid black;border-right: 1px solid black;text-align: right">{$rekord.brutto|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{foreach from=$rekord.actions key=klucz item=pracownik}
|
||||
{foreach from=$pracownik item=czynnosc}
|
||||
<tr name="child_{$rekord.indeks}" style="background-color: #e6e6e6;" role="row">
|
||||
<td style = "border-left: 1px solid black;text-align: left"></td>
|
||||
<td style = "text-align: left">{$klucz}</td>
|
||||
<td style = "text-align: left">{$czynnosc.actioncode}</td>
|
||||
<td style = "text-align: left">{$czynnosc.actionname}</td>
|
||||
<td style = "text-align: right">{$czynnosc.quantity}</td>
|
||||
<td style = "text-align: right">{$rekord.pw}</td>
|
||||
<td style = "text-align: right">{$czynnosc.netto|number_format:2:",":"."}</td>
|
||||
<td style = "border-right: 1px solid black;text-align: right">{$czynnosc.brutto|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th style="text-align: left;">{$MOD.LBL_SUM}</th>
|
||||
<th colspan="5"></th>
|
||||
<th style="text-align: right;">{$suma.netto|number_format:2:",":"."}</th>
|
||||
<th style="text-align: right;">{$suma.brutto|number_format:2:",":"."}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
357
modules/EcmReports/tpls/PDF/ReportSales.tpl
Normal file
357
modules/EcmReports/tpls/PDF/ReportSales.tpl
Normal file
@@ -0,0 +1,357 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 8px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 10px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #fff 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #fff 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 3px 18px 3px 3px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #E7E7E9;
|
||||
/* black asc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #E7E7E9;
|
||||
/* black desc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
caption {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue .tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th>{$MOD.LBL_PRODUCTS}</th>
|
||||
{if $searchBy=="product"}
|
||||
<th>Indeks</th>
|
||||
{/if}
|
||||
<th>{$MOD.LBL_SOLD_AMOUNT}</th>
|
||||
<th>{$MOD.LBL_VALUE_SALES}</th>
|
||||
{*<th>Wartość sprzedaży bez korekt</th>*}
|
||||
<th>{$MOD.LBL_AVERAGE_PRICE}</th>
|
||||
<th>{$MOD.LBL_COST}</th>
|
||||
<th>{$MOD.LBL_MARGIN}</th>
|
||||
{if $searchBy=="none"}
|
||||
<th>{$MOD.LBL_STOCK_STATES}</th>
|
||||
<th>{$MOD.LBL_STOCK_VALUE}</th>
|
||||
{/if}
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$DATA item=CAT key=CATNAME name=loop}
|
||||
{* Table headers *}
|
||||
<tbody>
|
||||
<tr class="category">
|
||||
{if $CATNAME != ""}
|
||||
<td class="oddListRowS1 alignLeft"><b> {$CATNAME}</b></td>
|
||||
{/if}
|
||||
{if $searchBy=="product"}
|
||||
<td class="oddListRowS1" ></td>
|
||||
{/if}
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
{* <td class="sumRow" ><b><span class='green-text'>{$DATA.$CATNAME.SoldSumNormal|number_format:2:",":"." }</span></b></td>*}
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
{if $searchBy=="none"}
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.StanSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.WartoscSum|number_format:2:",":"." }</b></td>
|
||||
{/if}
|
||||
</tr>
|
||||
</tbody>
|
||||
{foreach from=$CAT item=CAT2 key=CAT2NAME name=loop}
|
||||
{if $CAT2NAME!="IloscSum" && $CAT2NAME!="SoldSum" && $CAT2NAME!="SoldSumNormal" && $CAT2NAME!="IloscNormal" && $CAT2NAME!="SredniaSum" && $CAT2NAME!="KosztSum" && $CAT2NAME!="MarzaSum" && $CAT2NAME!="StanSum" && $CAT2NAME!="WartoscSum"}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="subcategory alignLeft"><b> {$CAT2NAME}</b></td>
|
||||
{if $searchBy=="product"}
|
||||
<td></td>
|
||||
{/if}
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.IloscSum2|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.SoldSum2|number_format:2:",":"." }</b></td>
|
||||
{*<td class="sumRow" ><b><span class='green-text'>{$CAT.$CAT2NAME.SoldSumNormal2|number_format:2:",":"." }</span></b></td>*}
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.SredniaSum2|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.KosztSum2|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.MarzaSum2|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$CAT2 item=ROW name=loop}
|
||||
{if $ROW.name!="IloscSum" && $ROW.name!="SoldSum" && $ROW.name!="SredniaSum" && $ROW.name!="KosztSum" && $ROW.name!="MarzaSum" && $CAT2NAME!="StanSum" && $CAT2NAME!="WartoscSum" && $ROW.name!=""}
|
||||
<tr role="row">
|
||||
|
||||
<td class="alignLeft product" style="text-align:left;">
|
||||
{$ROW.name}
|
||||
</td>
|
||||
|
||||
{if $searchBy=="product"}
|
||||
<td class="oddListRowS1 alignLeft" >{$ROW.code}</td>
|
||||
{/if}
|
||||
<td class="oddListRowS1" >{$ROW.ilosc|number_format:0:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.netto|number_format:2:",":"."}</td>
|
||||
{* <td class="oddListRowS1" ><span class='green-text'>{$ROW.nettoNormal|number_format:2:",":"." }</span></td>*}
|
||||
<td class="oddListRowS1" >{$ROW.srednia|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.koszt|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.marza|number_format:2:",":"."}%</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tbody id="stopRows"></tbody>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tbody id="stopTables"></tbody>
|
||||
{/foreach}
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
<tr class="sumAll">
|
||||
<td class="oddListRowS1 alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
|
||||
{if $searchBy=="product"}
|
||||
<td class="oddListRowS1" ></td>
|
||||
{/if}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.IloscSumSum|number_format:0:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.SoldSumSum|number_format:2:",":"." }</b></td>
|
||||
{* <td class="oddListRowS1 sumRow" ><b><span class='green-text'>{$SUM.SoldSumSumNormal|number_format:2:",":"." }</span></b></td>*}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.SredniaSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.KosztSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.MarzaSumSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<br/>
|
||||
343
modules/EcmReports/tpls/PDF/ReportSalesByContractor.tpl
Normal file
343
modules/EcmReports/tpls/PDF/ReportSalesByContractor.tpl
Normal file
@@ -0,0 +1,343 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 8px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 10px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #fff 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #fff 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 3px 18px 3px 3px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #E7E7E9;
|
||||
/* black asc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #E7E7E9;
|
||||
/* black desc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
caption {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue .tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.category {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.contractor {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td {
|
||||
background-color: #242424;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow, #myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table id="myTable" class="tablesorter-blue">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th>{$MOD.LBL_CONTRACTOR}</th>
|
||||
<th>Indeks</th>
|
||||
<th>{$MOD.LBL_SOLD_AMOUNT}</th>
|
||||
<th>{$MOD.LBL_VALUE_SALES}</th>
|
||||
<th>{$MOD.LBL_AVERAGE_PRICE}</th>
|
||||
<th>{$MOD.LBL_COST}</th>
|
||||
<th>{$MOD.LBL_MARGIN}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$ContractorData item=DATA key=CONNAME name=loop}
|
||||
{if $CONNAME!=""}
|
||||
<tbody>
|
||||
<tr class="contractor">
|
||||
<td class="alignLeft"><b> {$CONNAME}</b></td>
|
||||
<td class="sumRow" ></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
{foreach from=$DATA item=CAT key=CATNAME name=loop}
|
||||
{if $CATNAME!="IloscSum" && $CATNAME!="SoldSum" && $CATNAME!="SredniaSum" && $CATNAME!="KosztSum" && $CATNAME!="MarzaSum" && $CATNAME!="StanSum" && $CATNAME!="WartoscSum"}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="alignLeft category"><b> {$CATNAME}</b></td>
|
||||
<td class="sumRow" ></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
{foreach from=$CAT item=CAT2 key=CAT2NAME name=loop}
|
||||
{if $CAT2NAME!="IloscSum" && $CAT2NAME!="SoldSum" && $CAT2NAME!="SoldSumNormal" && $CAT2NAME!="IloscNormal" && $CAT2NAME!="SredniaSum" && $CAT2NAME!="KosztSum" && $CAT2NAME!="MarzaSum" && $CAT2NAME!="StanSum" && $CAT2NAME!="WartoscSum"}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="alignLeft subcategory"><b> {$CAT2NAME}</b></td>
|
||||
<td class="sumRow"></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
<tbody aria-live="polite" aria-relevant="all" class="rowShowHide">
|
||||
{foreach from=$CAT2 item=ROW name=loop}
|
||||
{if $ROW.name!="IloscSum" && $ROW.name!="SoldSum" && $ROW.name!="SredniaSum" && $ROW.name!="KosztSum" && $ROW.name!="MarzaSum" && $CAT2NAME!="StanSum" && $CAT2NAME!="WartoscSum" && $ROW.name!=""}
|
||||
{if $smarty.foreach.loop.index % 2 == 1}
|
||||
<tr role="row" class="products">
|
||||
{else}
|
||||
<tr role="row">
|
||||
{/if}
|
||||
<td class="oddListRowS1 alignLeft product" style="text-align:left;">
|
||||
{$ROW.name}
|
||||
</td>
|
||||
<td class="oddListRowS1" >{$ROW.code}</td>
|
||||
<td class="oddListRowS1" >{$ROW.ilosc|number_format:0:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.netto|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.srednia|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.koszt|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.marza|number_format:2:",":"."}%</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tbody id="stopRows"></tbody>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tbody id="stopTables"></tbody>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tbody id="stopCategory"></tbody>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
<tr class="sumAll">
|
||||
<td class="alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
|
||||
<td></td>
|
||||
<td class="sumRow" ><b>{$SUM.IloscSumSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$SUM.SoldSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$SUM.SredniaSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$SUM.KosztSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$SUM.MarzaSumSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<br/>
|
||||
332
modules/EcmReports/tpls/PDF/ReportSalesByProdutGroups.html
Normal file
332
modules/EcmReports/tpls/PDF/ReportSalesByProdutGroups.html
Normal file
@@ -0,0 +1,332 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 7px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 10px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #fff 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #fff 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #000;
|
||||
background-color: #E6F2EE;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 3px 18px 3px 3px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #E7E7E9;
|
||||
/* black asc arrow */
|
||||
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #E7E7E9;
|
||||
/* black desc arrow */
|
||||
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
caption {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue .tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table style="width:100%;vertical-align:top;">
|
||||
<tr>
|
||||
<td style="width:50%;text-align;left"><h1>Raport sprzedaży z podziałem na grupy produktów</h1></td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Data raportu od: {$date_from}<br>
|
||||
|
||||
|
||||
</td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Data raportu do: {$date_to}<br>
|
||||
{if $product_category_name_basic!=""}
|
||||
Kategoria produktu: {$product_category_name_basic}<br>
|
||||
{/if}
|
||||
|
||||
{if $product_group_name_basic!=""}
|
||||
Grupa produktowa: {$product_group_name_basic}<br>
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th>Nr dok</th>
|
||||
<th>Data dok</th>
|
||||
<th>Typ dok</th>
|
||||
<th>Nabywca</th>
|
||||
<th>Wart netto</th>
|
||||
<th>Wart VAT</th>
|
||||
<th>Wart brutto</th>
|
||||
<th>Wart TH</th>
|
||||
<th>Wart WG</th>
|
||||
<th>Wart S</th>
|
||||
<th>Wart t</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$DATA item=item key=key name=loop}
|
||||
{* Table headers *}
|
||||
<tbody>
|
||||
<tr class="category">
|
||||
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.document_no}</b></td>
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.register_date|date_format:"%d.%m.%Y"}</b></td>
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.type}</b></td>
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.parent_name}</b></td>
|
||||
|
||||
<td class="sumRow" ><b>{$item.total_netto|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.total_vat|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.total_brutto|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.TH|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.WG|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.S|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.T|number_format:2:",":"." }</b></td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
{/foreach}
|
||||
<tfoot>
|
||||
<tr class="category">
|
||||
|
||||
<th colspan=4 style="text-align:right;">Razem:</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.total_netto|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.total_vat|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.total_brutto|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.TH|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.WG|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.S|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.T|number_format:2:",":"." }</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<br/>
|
||||
293
modules/EcmReports/tpls/PDF/ReportStockNewDoc.tpl
Normal file
293
modules/EcmReports/tpls/PDF/ReportStockNewDoc.tpl
Normal file
@@ -0,0 +1,293 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 8px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 10px 0 15px;
|
||||
text-align: left;
|
||||
border-spacing: 0;
|
||||
border: #fff 1px solid;
|
||||
border-width: 1px 0 0 1px;
|
||||
}
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue td {
|
||||
border: #fff 1px solid;
|
||||
border-width: 0 1px 1px 0;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.tablesorter-blue tbody td,
|
||||
.tablesorter-blue tfoot th,
|
||||
.tablesorter-blue tfoot td {
|
||||
padding: 4px;
|
||||
vertical-align: top;
|
||||
}
|
||||
.tablesorter-blue .header,
|
||||
.tablesorter-blue .tablesorter-header {
|
||||
/* black (unsorted) double arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
|
||||
/* white (unsorted) double arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-unsorted.gif); */
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
padding: 3px 18px 3px 3px;
|
||||
white-space: normal;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerSortUp,
|
||||
.tablesorter-blue .tablesorter-headerAsc {
|
||||
background-color: #E7E7E9;
|
||||
/* black asc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
|
||||
/* white asc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-asc.gif); */
|
||||
}
|
||||
.tablesorter-blue .headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerSortDown,
|
||||
.tablesorter-blue .tablesorter-headerDesc {
|
||||
background-color: #E7E7E9;
|
||||
/* black desc arrow */
|
||||
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
|
||||
/* white desc arrow */
|
||||
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
|
||||
/* image */
|
||||
/* background-image: url(images/black-desc.gif); */
|
||||
}
|
||||
.tablesorter-blue thead .sorter-false {
|
||||
background-image: none;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
/* tfoot */
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortUp,
|
||||
.tablesorter-blue tfoot .tablesorter-headerSortDown,
|
||||
.tablesorter-blue tfoot .tablesorter-headerAsc,
|
||||
.tablesorter-blue tfoot .tablesorter-headerDesc {
|
||||
/* remove sort arrows from footer */
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
/* tbody */
|
||||
.tablesorter-blue td {
|
||||
color: #3d3d3d;
|
||||
background-color: #fff;
|
||||
padding: 0px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
/* hovered row colors
|
||||
you'll need to add additional lines for
|
||||
rows with more than 2 child rows
|
||||
*/
|
||||
.tablesorter-blue tbody > tr:hover > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #d9d9d9;
|
||||
}
|
||||
.tablesorter-blue tbody > tr.odd:hover > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
|
||||
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* Zebra Widget - row alternating colors */
|
||||
.tablesorter-blue tbody tr.odd td {
|
||||
background-color: #ebf2fa;
|
||||
}
|
||||
.tablesorter-blue tbody tr.even td {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
/* Column Widget - column sort colors */
|
||||
.tablesorter-blue td.primary,
|
||||
.tablesorter-blue tr.odd td.primary {
|
||||
background-color: #99b3e6;
|
||||
}
|
||||
.tablesorter-blue tr.even td.primary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue td.secondary,
|
||||
.tablesorter-blue tr.odd td.secondary {
|
||||
background-color: #c2d1f0;
|
||||
}
|
||||
.tablesorter-blue tr.even td.secondary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue td.tertiary,
|
||||
.tablesorter-blue tr.odd td.tertiary {
|
||||
background-color: #d6e0f5;
|
||||
}
|
||||
.tablesorter-blue tr.even td.tertiary {
|
||||
background-color: #ebf0fa;
|
||||
}
|
||||
|
||||
/* caption */
|
||||
caption {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* filter widget */
|
||||
.tablesorter-blue .tablesorter-filter-row td {
|
||||
background: #eee;
|
||||
line-height: normal;
|
||||
text-align: center; /* center the input */
|
||||
-webkit-transition: line-height 0.1s ease;
|
||||
-moz-transition: line-height 0.1s ease;
|
||||
-o-transition: line-height 0.1s ease;
|
||||
transition: line-height 0.1s ease;
|
||||
}
|
||||
/* optional disabled input styling */
|
||||
.tablesorter-blue .tablesorter-filter-row .disabled {
|
||||
opacity: 0.5;
|
||||
filter: alpha(opacity=50);
|
||||
cursor: not-allowed;
|
||||
}
|
||||
/* hidden filter row */
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme td {
|
||||
/*** *********************************************** ***/
|
||||
/*** change this padding to modify the thickness ***/
|
||||
/*** of the closed filter row (height = padding x 2) ***/
|
||||
padding: 2px;
|
||||
/*** *********************************************** ***/
|
||||
margin: 0;
|
||||
line-height: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
|
||||
height: 1px;
|
||||
min-height: 0;
|
||||
border: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
/* don't use visibility: hidden because it disables tabbing */
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
/* filters */
|
||||
.tablesorter-blue .tablesorter-filter {
|
||||
width: 98%;
|
||||
height: auto;
|
||||
margin: 0;
|
||||
padding: 4px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #bbb;
|
||||
color: #333;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-webkit-transition: height 0.1s ease;
|
||||
-moz-transition: height 0.1s ease;
|
||||
-o-transition: height 0.1s ease;
|
||||
transition: height 0.1s ease;
|
||||
}
|
||||
|
||||
/* ajax error row */
|
||||
.tablesorter .tablesorter-errorRow td {
|
||||
cursor: pointer;
|
||||
background-color: #e6bf99;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table id="myTable">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th width="1%" style="border:1pt solid black">L.p.</th>
|
||||
<th width="15%" style="border:1pt solid black">{$MOD.LBL_INDEX}/{$MOD.LBL_NAME}</th>
|
||||
<th width="8%" style="border:1pt solid black">Stan {$date_from}</th>
|
||||
<th width="8%" style="border:1pt solid black" >Przychód</th>
|
||||
<th width="8%" style="border:1pt solid black">Rozchód</th>
|
||||
<th width="8%" style="border:1pt solid black">Stan {$date_to}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{assign var="number" value=1}
|
||||
{foreach from=$DATA key="key" item="item" name=loop}
|
||||
<tr>
|
||||
<td style="border-bottom:1pt solid black;"><b>{$number}{assign var="number" value=$number+1}</b></td>
|
||||
<td style="text-align:left;border-bottom:1pt solid black;" rowspan="{$currow}" ><b>{$item.product_code}</b><br><b>{$item.product_name}</b></td>
|
||||
<td style="border-bottom:1pt solid black;text-align:right">{$item.total_quantity_old|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.total_price_old|number_format:2:",":"." }</td>
|
||||
<td style="border-bottom:1pt solid black;text-align:right">{$item.przychod_q|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.przychod_w|number_format:2:",":"." }</td>
|
||||
<td style="border-bottom:1pt solid black;text-align:right">{$item.rozchod_q|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.rozchod_w|number_format:2:",":"." }</td>
|
||||
<td style="border-bottom:1pt solid black;text-align:right">{$item.total_quantity_now|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.total_price_now|number_format:2:",":"." }</td>
|
||||
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="text-align:right;"><b>Razem ilość:</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$TOTAL_QUANTITY_OLD|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$przychod_q|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$rozchod_q|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$TOTAL_QUANTITY_NOW|number_format:2:",":"." }</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="text-align:right;"><b>Razem wartość:</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$TOTAL_VALUE_OLD|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$przychod_w|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$rozchod_w|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$TOTAL_VALUE_NOW|number_format:2:",":"." }</b></td>
|
||||
</tr>
|
||||
</table>
|
||||
Reference in New Issue
Block a user