Code:
Ext.define('SamosGaz.store.consulta.VendasFaturamento', {
extend: 'Ext.data.Store',
model: 'SamosGaz.model.consulta.VendasFaturamento',
alias: 'store.vendasfaturamento',
remoteSort: true,
groupField: 'SUBGRUPO_DESCRICAO',
proxy: {
type: 'rest',
noCache: false,
url: 'http://cambioparts.no-ip.info:8050/app/MyInterface/consultas',
reader: {
type: 'json',
rootProperty: 'result[0].rows',
successProperty: 'result[0].success',
totalProperty: 'result[0].total'
}
}
});
The model:
Code:
Ext.define('SamosGaz.model.consulta.VendasFaturamento', {
extend: 'Ext.data.Model',
fields: [
"SUBGRUPO", // "00001",
"SUBGRUPO_DESCRICAO", // "EUROTECNICA",
"GRUPO", // "00004",
"GRUPO_DESCRICAO", // "CAIXA DE CAMBIO",
"VENDAS_BRUTA", //,
"VENDAS_DEVOLUCAO", // ,
"VENDAS_LIQUIDA", // ,
"VENDAS_FRETE", // 0,
"VENDAS_OUTROS" // 0,
]
});
The grid:
Code:
Ext.define('SamosGaz.view.consulta.vendasfaturamento.VendasFaturamento', {
extend: 'Ext.ux.grid.Panel',
xtype: 'vendasfaturamento',
title: 'Vendas Faturamento',
module: 'consulta',
initComponent: function () {
var me = this;
Ext.apply(me, {
features: [
{
ftype: 'groupingsummary',
groupHeaderTpl: '{name}',
hideGroupedHeader: true,
enableGroupingMenu: false
},
{
ftype: 'summary',
dock: 'bottom'
}
],
columns: [
{
text: 'Ord',
align: 'center',
width: 50,
menuDisabled: true,
hideable: false,
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
return rowIndex + 1
}
},
{
text: 'Descrição',
dataIndex: 'GRUPO_DESCRICAO',
flex: 1,
menuDisabled: true,
hideable: false,
summaryRenderer: function(value, summaryData, dataIndex) {
return '<strong>Total</strong>';
}
},
{
header: 'Vendas',
columns: [
{
header: 'Venda',
dataIndex: 'VENDAS_BRUTA',
xtype: 'moneycolumn',
summaryType: 'sum',
summaryRenderer: function(value, summaryData, dataIndex) {
return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
}
},
{
header: 'Devolução',
dataIndex: 'VENDAS_DEVOLUCAO',
xtype: 'moneycolumn',
width: 110,
summaryType: 'sum',
summaryRenderer: function(value, summaryData, dataIndex) {
return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
}
},
{
header: 'Líquida',
dataIndex: 'VENDAS_LIQUIDA',
xtype: 'moneycolumn',
summaryType: 'sum',
summaryRenderer: function(value, summaryData, dataIndex) {
return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
}
},
{
header: 'Frete',
dataIndex: 'VENDAS_FRETE',
xtype: 'moneycolumn',
width: 80,
summaryType: 'sum',
summaryRenderer: function(value, summaryData, dataIndex) {
return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
}
},
{
header: 'Outros',
dataIndex: 'VENDAS_OUTROS',
xtype: 'moneycolumn',
summaryType: 'sum',
summaryRenderer: function(value, summaryData, dataIndex) {
return '<strong>' + Ext.ux.String.toMoney(value) + '</strong>'
}
}
]
}
],
tbar: [
{
fieldLabel: 'Data Inicial',
xtype: 'datesearch',
itemId: 'dataInicial',
value: Ext.ux.Date.firstMonthDate(),
listeners: {
change: 'setDataFinal'
}
},
{
fieldLabel: 'Data Final',
xtype: 'datesearch',
itemId: 'dataFinal',
value: Ext.ux.Date.lastMonthDate(),
listeners: {
change: 'setDataInicial'
}
},
'-',
{
xtype: 'button',
text: 'Pesquisar',
listeners: {
click: 'pesquisar'
}
}
],
});
this.callParent(arguments);
}
});
What kind of config I have to do on rest in order to work ??