123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271 |
- <?xml version="1.0" encoding="UTF-8"?>
- <template xml:space="preserve">
- <t t-name="ReportSeller">
- <div class="report_view">
- <div class="reporting_page_header">
- <h1 class="report_title">Venta/Costo/Utilidad por Vendedores</h1>
- </div>
- <div class="container search-form" style="border-bottom:1px solid #eee; width:95%;">
- <div class="row">
- <div class="col-lg-3 company filter-style">
- <label>Empresa</label>
- <select id="current-company" class="form-control form-control-sm"></select>
- </div>
- <div class="col-lg-3 store filter-style">
- <label>Sucursal</label>
- <select id="current-store" class="form-control form-control-sm">
- </select>
- </div>
- <div class="col-lg-3 journal filter-style">
- <label>Vendedor</label>
- <select id="current-journal" class="form-control form-control-sm">
- </select>
- </div>
- <div class="col-lg-3 filter-style">
- <label>Periodo</label>
- <select id="current-period" class="form-control form-control-sm">
- </select>
- </div>
- <div class="col-lg-3 filter-style">
- <label>Fechas</label>
- <select id="current-date" class="form-control form-control-sm">
- <option value="9999999">Sin fechas</option>
- <option value="today">Hoy</option>
- <option value="yesterday">Ayer</option>
- <option value="currentMonth">Mes Actual</option>
- <option value="lastMonth">Mes Pasado</option>
- <option value="range">Busqueda Avanzada</option>
- </select>
- </div>
- </div>
- <div class="row" >
- <div class="datepicker" style="display:none;">
- <div class="col-lg-3 filter-style col-md-offset-3">
- <div class="input-group">
- <span class="input-group-addon" id="basic-addon1">Desde</span>
- <input type="text" id="from" class="form-control" aria-describedby="basic-addon1"/>
- </div>
- </div>
- <div class="col-lg-3 filter-style">
- <div class="input-group">
- <span class="input-group-addon" id="basic-addon1">Hasta</span>
- <input type="text" id="to" class="form-control" aria-describedby="basic-addon1"/>
- </div>
- </div>
- </div>
- </div>
- <div class="row">
- <div class="text-center" style="padding-top:20px;">
- <button id="generate" class="myButton" aria-label="Left Align" style="color:#fff;display:none;">
- Generar
- </button>
- </div>
- <br/>
- </div>
- </div>
- <div class="report-form" style="display:none;">
- <div id="toolbar">
- <button class="oe_button oe_form_button myButton" value="pdf">Imprimir Informe</button>
- </div>
- <div class="container" style="width:95%;">
- <table id="table"
- data-pagination="true"
- data-toggle="table"
- data-toolbar="#toolbar"
- data-show-columns="true"
- data-height="auto"
- data-classes="table table-condensed table-no-bordered"
- data-row-style="rowStyle"
- data-search="true"
- data-show-export="true"
- data-show-toggle="true"
- data-pagination-detail-h-align="left"
- data-show-footer="true"
- data-footer-style="footerStyle"
- data-buttons-class="oe_button oe_form_button myButton"
- data-show-pagination-switch="true"
- data-page-size="10"
- data-search-on-enter-key="true"
- data-undefined-text=" "
- >
- <thead style="background:none;">
- <tr>
- <th data-field="name" data-footer-formatter="Totales" data-align="left">Nombre</th>
- <th data-field="total_cash" data-footer-formatter="totalCashFormatter" data-align="right">Total Contado</th>
- <th data-field="total_credit" data-footer-formatter="totalCreditFormatter" data-align="right">Total Credito</th>
- <th data-field="total_amount" data-footer-formatter="totalAmountFormatter" data-align="right">Total Ventas</th>
- <th data-field="total_cost" data-footer-formatter="totalCostFormatter" data-align="right">Costo Total</th>
- <th data-field="utility" data-footer-formatter="totalUtilityFormatter" data-align="right">Utilidad Ventas</th>
- <th data-field="cost_percent" data-footer-formatter="totalCostPercentFormatter" data-align="right">Rent. Costo %</th>
- <th data-field="sale_percent" data-footer-formatter="totalSalePercentFormatter" data-align="right">Rent. Venta %</th>
- </tr>
- </thead>
- </table>
- </div>
- </div>
- <script>
- <!--
- TOTAL CASH
- -->
- function totalCashFormatter(rowsTable) {
- var decimal_places = 0;
- var thousands_separator = '.';
- var decimal_separator = ',';
- if(rowsTable.length > 0){
- decimal_places = rowsTable[0].decimal_places;
- thousands_separator = rowsTable[0].thousands_separator;
- decimal_separator = rowsTable[0].decimal_separator;
- }
- var amount = _.reduce(_.map(rowsTable,function(item){
- return (item.total_cash_no_format);
- }), function(memo, num){
- return memo + num; },0)
- return accounting.formatNumber(amount,decimal_places,thousands_separator,decimal_separator);
- }
- <!--
- TOTAL CREDIT
- -->
- function totalCreditFormatter(rowsTable) {
- var decimal_places = 0;
- var thousands_separator = '.';
- var decimal_separator = ',';
- if(rowsTable.length > 0){
- decimal_places = rowsTable[0].decimal_places;
- thousands_separator = rowsTable[0].thousands_separator;
- decimal_separator = rowsTable[0].decimal_separator;
- }
- var amount = _.reduce(_.map(rowsTable,function(item){
- return (item.total_credit_no_format);
- }), function(memo, num){
- return memo + num; },0)
- return accounting.formatNumber(amount,decimal_places,thousands_separator,decimal_separator);
- }
- <!--
- TOTAL AMOUNT
- -->
- function totalAmountFormatter(rowsTable) {
- var decimal_places = 0;
- var thousands_separator = '.';
- var decimal_separator = ',';
- if(rowsTable.length > 0){
- decimal_places = rowsTable[0].decimal_places;
- thousands_separator = rowsTable[0].thousands_separator;
- decimal_separator = rowsTable[0].decimal_separator;
- }
- var amount = _.reduce(_.map(rowsTable,function(item){
- return (item.total_amount_no_format);
- }), function(memo, num){
- return memo + num; },0)
- return accounting.formatNumber(amount,decimal_places,thousands_separator,decimal_separator);
- }
- <!--
- TOTAL COST
- -->
- function totalCostFormatter(rowsTable) {
- var decimal_places = 0;
- var thousands_separator = '.';
- var decimal_separator = ',';
- if(rowsTable.length > 0){
- decimal_places = rowsTable[0].decimal_places;
- thousands_separator = rowsTable[0].thousands_separator;
- decimal_separator = rowsTable[0].decimal_separator;
- }
- var amount = _.reduce(_.map(rowsTable,function(item){
- return (item.total_cost_no_format);
- }), function(memo, num){
- return memo + num; },0)
- return accounting.formatNumber(amount,decimal_places,thousands_separator,decimal_separator);
- }
- <!--
- TOTAL UTILITY
- -->
- function totalUtilityFormatter(rowsTable) {
- var decimal_places = 0;
- var thousands_separator = '.';
- var decimal_separator = ',';
- if(rowsTable.length > 0){
- decimal_places = rowsTable[0].decimal_places;
- thousands_separator = rowsTable[0].thousands_separator;
- decimal_separator = rowsTable[0].decimal_separator;
- }
- var amount = _.reduce(_.map(rowsTable,function(item){
- return (item.utility_no_format);
- }), function(memo, num){
- return memo + num; },0)
- return accounting.formatNumber(amount,decimal_places,thousands_separator,decimal_separator);
- }
- <!--
- TOTAL COST PERCENT
- -->
- function totalCostPercentFormatter(rowsTable) {
- var decimal_places = 0;
- var thousands_separator = '.';
- var decimal_separator = ',';
- if(rowsTable.length > 0){
- decimal_places = rowsTable[0].decimal_places;
- thousands_separator = rowsTable[0].thousands_separator;
- decimal_separator = rowsTable[0].decimal_separator;
- }
- var totalUtility = _.reduce(_.map(rowsTable,function(item){
- return (item.utility_no_format);
- }), function(memo, num){
- return memo + num; },0)
- var totalCost = _.reduce(_.map(rowsTable,function(item){
- return (item.total_cost_no_format);
- }), function(memo, num){
- return memo + num; },0)
- var amount = totalUtility * 100 / totalCost;
- return accounting.formatNumber(amount,2,thousands_separator,decimal_separator) + ' %';
- }
- <!--
- TOTAL SALE PERCENT
- -->
- function totalSalePercentFormatter(rowsTable) {
- var decimal_places = 0;
- var thousands_separator = '.';
- var decimal_separator = ',';
- if(rowsTable.length > 0){
- decimal_places = rowsTable[0].decimal_places;
- thousands_separator = rowsTable[0].thousands_separator;
- decimal_separator = rowsTable[0].decimal_separator;
- }
- var totalUtility = _.reduce(_.map(rowsTable,function(item){
- return (item.utility_no_format);
- }), function(memo, num){
- return memo + num; },0)
- var totalSale = _.reduce(_.map(rowsTable,function(item){
- return (item.total_amount_no_format);
- }), function(memo, num){
- return memo + num; },0)
- var amount = totalUtility * 100 / totalSale;
- return accounting.formatNumber(amount,2,thousands_separator,decimal_separator)+' %';
- }
- <!--
- FOOTER STYLE
- -->
- function footerStyle(row, index) {
- return {
- css: {
- "font-weight": "bold"
- }
- };
- };
- </script>
- </div>
- </t>
- </template>
|