Ext.define('saas.view.money.report.RecDetail', { extend: 'saas.view.core.report.ReportPanel', xtype: 'monry-report-recdetail', controller: 'money-report-recdetail', viewModel: 'money-report-recdetail', viewName: 'money-report-recdetail', groupField: 'rd_custname', groupHeaderTpl: '客户名称: {[values.rows[0].data.rd_custname]}', listUrl: '/api/money/report/recDetail', defaultCondition: null, reportTitle: '应收账款明细', QueryWidth: 0.25, allowPaging: false, //筛选:客户、日期(必填) searchItems: [{ xtype: 'customerDbfindTrigger', name: 'rd_custname', fieldLabel: '客户名称', columnWidth: 0.25 }, { xtype: 'conmonthfield', name: 'rd_ym', fieldLabel: '期间', columnWidth: 0.5 }], reportColumns: [{ text: '单据日期', xtype: 'datecolumn', dataIndex: 'rd_date', width: 110 }, { text: '单号', dataIndex: 'rd_code', width: 150 }, { text: '业务类型', dataIndex: 'rd_kind', width: 100 }, { text: '业务员', dataIndex: 'rd_sellername', width: 80 }, { text: '增加应收', dataIndex: 'rd_addrec', exportFormat: 'Amount', xtype: 'numbercolumn', width: 120, renderer: function (v) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, summaryType: 'sum', summaryRenderer: function (v) { return saas.util.BaseUtil.numberFormat(v, 2, true); } }, { text: '增加预收', xtype: 'numbercolumn', exportFormat: 'Amount', dataIndex: 'rd_addpre', width: 120, renderer: function (v) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, summaryType: 'sum', summaryRenderer: function (v) { return saas.util.BaseUtil.numberFormat(v, 2, true); } }, { text: '应收余额(元)', xtype: 'numbercolumn', exportFormat: 'Amount', dataIndex: 'rd_remain', width: 120, renderer: function (v) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, summaryType: 'customize_last', summaryRenderer: function (v) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, mySummaryRenderer: function (grid, column, datas) { datas = datas || []; var store = grid.store, dataIndex = column.dataIndex, groupField = store.getGroupField(), count = datas.length, data = datas, lasts = {}, keys = [], arr = []; for (var i = 0; i < count; i++) { var d = data[i]; var n = Number(d[dataIndex]); var v = isNaN(n) ? 0 : n; var gv = d[groupField]; lasts[gv] = v; } keys = Ext.Object.getAllKeys(lasts); arr = keys.map(function (key) { return lasts[key]; }); return Ext.Array.sum(arr); } }, { dataIndex: '', flex: 1 }] });