


|
import { L10n, setCulture, setCurrencyCode, loadCldr } from '@syncfusion/ej2-base';
loadCldr(require('./currencies.json'),
require('./numbers.json'),
require('./ca-gregorian.json'),
require('./timeZoneNames.json'),
require('./numberingSystems.json'));
setCulture('pt');
setCurrencyCode('BRL'); |
|
|


|
[dataSource.js]
export let datas= [
{ cod :10, coduser :331, codsoft :1, datavenda :new Date(8364186e5), datavencimento :new Date(8364186e5), valor :697, multa :0, juros :0, total :697, nparc :5, parcelas :"5/6", pago :"SIM", detalhes :null, datapagamento :new Date(8364186e5), modopag :"CHEQUE", numdoc :"850676", statuspag_pags :"0", tokenpag_pags :null, codvenda :0, linkbol :"", geradoem :"SITE", codvendedor :0, desconto :0, razaosocial :"A Hospitalar Assistencia t\u00E9cnica LTDA", cpfcnpj :"00797514000110"}
]; |
|
<template>
<div class="col-lg-12 control-section">
<div id="dvContentGrid">
</div>
<ejs-grid ref="grid" id="Grid" :dataSource="data" :allowPaging='true' :allowSorting='true' :allowTextWrap='true' :sortSettings='initialSort'
:pageSettings='pageSettings' :allowPdfExport='true' :editSettings='editSettings' :toolbar='toolbar'
:allowExcelExport='true' :allowGrouping='true' :groupSettings='groupOptions'>
<e-columns>
<e-column field='cod' headerText='ID' width='65' textAlign='Center'></e-column>
<e-column field='cpfcnpj' headerText='Cnpj' width='130'></e-column>
<e-column field='datavenda' headerText='Venda' type="dateTime" format="dd/MM/yyyy hh:mm:ss" editType= 'datepickeredit' width='100'></e-column>
<e-column field='datavencimento' headerText='Vencimento' format="dd/MM/yyyy hh:mm:ss" editType= 'datepickeredit' width='100'></e-column>
<e-column field='datapagamento' headerText='Pagamento' format="dd/MM/yyyy hh:mm:ss" editType= 'datepickeredit' width='100'></e-column>
<e-column field='pago' headerText='Pago' width='60' :template='statusTemplate'></e-column>
<e-column field='total' headerText='Total' width='100' format='C'></e-column>
<e-column field='parcelas' headerText='Parcelas' width='80'></e-column>
<e-column field='numdoc' headerText='Num. doc.' width='100'></e-column>
<e-column field='geradoem' headerText='Gerado em' width='80'></e-column>
</e-columns>
<e-aggregates>
<e-aggregate>
<e-columns>
<e-column type="Sum" field="total" format='C2' :footerTemplate='footerSum'></e-column>
</e-columns>
</e-aggregate>
</e-aggregates>
</ejs-grid>
</div>
</template>
<script>
import Vue from "vue";
//import dados from './dados/dados.json';
import { datas } from './dataSource.js';
import { GridPlugin, Sort, Page, Edit,Toolbar, Group, CommandColumn, DetailRow, PdfExport, ExcelExport, Aggregate } from "@syncfusion/ej2-vue-grids";
import { L10n, setCulture, setCurrencyCode, loadCldr } from '@syncfusion/ej2-base';
import { DateRangePickerPlugin } from "@syncfusion/ej2-vue-calendars";
Vue.use(DateRangePickerPlugin );
loadCldr(require('./currencies.json'),
require('./numbers.json'),
require('./ca-gregorian.json'),
require('./timeZoneNames.json'),
require('./weekData.json'),
require('./numberingSystems.json'));
setCulture('pt');
setCurrencyCode('BRL');
L10n.load({
'pt': {
'grid': {
'EmptyRecord': 'Nenhum registro para exibir',
'GroupDropArea': 'Arraste uma coluna aqui para agrupar',
'UnGroup': 'Clique aqui para desagrupar',
'EmptyDataSourceError': 'A fonte de dados está vazia',
'Item': 'Item',
'Items': 'Itens',
'Search': 'Buscar',
'Pdfexport': 'Exportar PDF',
'Excelexport': 'Exportar Excel'
},
'pager':{
'currentPageInfo': '{0} de {1} Páginas',
'totalItemsInfo': '({0} Itens)',
'firstPageTooltip': 'Ir para primeira página',
'lastPageTooltip': 'Ir para última página',
'nextPageTooltip': 'Próxima página',
'previousPageTooltip': 'Página anterior',
'nextPagerTooltip': 'Próxima página',
'previousPagerTooltip': 'Página anterior',
'pagerDropDown' : 'Itens por página'
},
"datepicker": {
today:'Hoy',
placeholder: 'elige una fecha'
}
}
});
Vue.use(GridPlugin);
Vue.use(DateRangePickerPlugin );
export default Vue.extend({
data: () => {
return {
groupOptions: {
columns: ["cpfcnpj"],
showGroupedColumn: false,
showDropArea: false,
captionTemplate: "<div><strong> ${items[0].razaosocial} - ${key} </strong> (${if(count === 1)}<span>${count} registro</span>${else}<span>${count} registros</span> ${/if})</div>"
},
editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true, mode: 'Normal' },
toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel'],
footerSum: function () {
return { template : Vue.component('sumTemplate', {
template: `<span>Total: {{ data.Sum }}</span>`,
data () {return { data: {}};}
})
}
},
dadosVenda: {},
data: null,
popConf: null,
pageSettings: { pageSizes: [12,50,100,200], pageCount: 10 },
initialSort: {
columns: [{ field: 'cod', direction: 'Descending' }]
},
statusTemplate: function () {
return {
template: Vue.component('statusTemplate', {
template: `<div>\
<vs-chip v-if="data.pago == 'NÃO'" transparent color="warning">NÃO</vs-chip>\
<vs-chip v-if="data.pago == 'SIM'" transparent color="success">SIM</vs-chip>\
</div>`,
data: function () { return { data: {} }; }
})
}
}
}
},
methods: {
updateGridVendas() {
this.$refs.grid.refresh();
},
},
computed: {
verDadosGrid() {
return this.data;
}
},
provide: {
grid: [Sort, Page, Edit, Toolbar, PdfExport, ExcelExport, DetailRow, Group, CommandColumn, Aggregate]
},
created () {
this.data = datas;
}
});
</script>
<style>
.e-edita:before{
content: '\e7a3';
}
.e-expand::before {
content: '\e7f9';
}
.venda-plano::before {
content: '\e402';
}
.venda-avulsa::before {
content: '\e203';
}
.boleto-avulso::before {
content: '\e19e';
}
.confirma-pagamento::before {
content: '\e709';
}
.bt-deleta::before {
content: '\e84e';
}
.esconde {
display: none;
}
.cssBtAtualiza::before {
content: '\e308';
}
</style>
<style>
</style> |
|
|
|
|