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: 'id', dataIndex: 'rd_id', hidden: true }, { text: '单据日期', xtype: 'datecolumn', dataIndex: 'rd_date', width: 110 }, { text: '单号', dataIndex: 'rd_code', width: 150 }, { text: '单据类型', dataIndex: 'rd_kind', width: 110 },{ text: '客户编号', dataIndex: 'pi_custcode', width: 150, hidden: true }, { text: '客户名称', dataIndex: 'pi_custname', width: 200, hidden: true },{ text: '业务员', dataIndex: 'rd_sellername', width: 110 }, { text: '序号', dataIndex: 'rd_detno', exportFormat: 'Integer', xtype: 'numbercolumn', width: 80, hidden: true },{ text:'增加应收', dataIndex:'rd_addrec', exportFormat: 'Amount', xtype: 'numbercolumn', width: 110, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(''); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(''); return Ext.util.Format.number(v, format); } },{ text:'增加预收', xtype: 'numbercolumn', exportFormat: 'Amount', dataIndex:'rd_addpre', width: 180, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(''); return Ext.util.Format.number(v, format); }, summaryType: 'sum', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(''); return Ext.util.Format.number(v, format); } },{ text: '应收余额', xtype: 'numbercolumn', exportFormat: 'Amount', dataIndex: 'rd_remain', width: 110, renderer : function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(''); return Ext.util.Format.number(v, format); }, summaryType: 'customize_last', summaryRenderer: function(v) { var arr = (v + '.').split('.'); var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0'); var format = '0,000.' + xr.join(''); return Ext.util.Format.number(v, format); }, 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); } }, { text: '客户名称', dataIndex: 'rd_custname', hidden:true }, { flex: 1 }] });