Ext.define('saas.view.purchase.report.PurchasePay', { extend: 'saas.view.core.report.ReportPanel', xtype: 'purchase-report-purchasepay', controller: 'purchase-report-purchasepay', viewModel: 'purchase-report-purchasepay', viewName: 'purchase-report-purchasepay', groupField: 'groupfield', groupHeaderTpl: '{[values.rows[0].data.pu_vendname]} ({[values.rows[0].data.pi_currency]})', listUrl: '/api/purchase/report/purchasePay', defaultCondition: null, reportTitle: '采购付款一览表', QueryWidth:0.25, searchItems: [ { xtype: 'vendorDbfindTrigger', name: 'pu_vendname', columnWidth: 0.25, emptyText:'请输入供应商名称' }, { xtype: 'condatefield', name: 'createTime', fieldLabel: '日期', columnWidth: 0.5 }], reportModel: 'saas.model.report.PurchasePay', reportColumns: [{ text: '付款单号', dataIndex: 'pb_code', width: 150 }, { text: '供应商名称', dataIndex: 'pu_vendname', width: 200 }, { text : "单据日期", dataIndex : "createTime", xtype:'datecolumn', width: 110 }, { text: '来源单号', dataIndex: 'pbd_slcode', width: 150 }, { text: '业务类型', dataIndex: 'pbd_slkind', width: 100 }, { text: '金额(元)', xtype: 'numbercolumn', exportFormat: 'Amount', dataIndex: 'pi_nettotal', width: 120, renderer: function(v) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, }, { text: '税额(元)', xtype: 'numbercolumn', exportFormat: 'Amount', dataIndex: 'pi_total-pi_nettotal', width: 120, renderer: function(v) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, disableMySummary:true, summaryType: 'sum', summaryRenderer: function(v) { return saas.util.BaseUtil.numberFormat(v, 2, true); } },{ hidden:true, text: '税额(本位币)(元)', dataIndex: '(pi_total-pi_nettotal)*pi_rate', exportFormat: 'Amount', xtype: 'numbercolumn', width: 120, summaryType: 'sum', summaryLabel: '税额(本位币)' }, { text: '价税合计(元)', xtype: 'numbercolumn', exportFormat: 'Amount', dataIndex: 'pi_total', width: 120, renderer: function(v) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, disableMySummary:true, summaryType: 'sum', summaryRenderer: function(v) { return saas.util.BaseUtil.numberFormat(v, 2, true); } }, { text: '付款金额(元)', dataIndex: 'pbd_nowbalance', exportFormat: 'Amount', xtype: 'numbercolumn', width: 120, renderer: function(v) { return saas.util.BaseUtil.numberFormat(v, 2, true); }, disableMySummary:true, summaryType: 'sum', summaryRenderer: function(v) { return saas.util.BaseUtil.numberFormat(v, 2, true); } },{ hidden:true, text: '付款金额(本位币)(元)', dataIndex: 'pbd_nowbalance*pi_rate', exportFormat: 'Amount', xtype: 'numbercolumn', width: 120, summaryType: 'sum', summaryLabel: '付款金额(本位币)' }, { text: '币别', dataIndex: 'pi_currency', align:'center', width: 65 }, { text: '付款比例(%)', dataIndex: 'pb_payrate', xtype: 'numbercolumn', width: 110, renderer : function(v, m, r) { return saas.util.BaseUtil.numberFormat(v, 2, false); } }, { text: '付款人', dataIndex: 'pb_manname', width: 80 }, { text: '备注', dataIndex: 'pb_remark', width: 250 }], // 自定义合计逻辑,直接使用后台返回的内容作为合计栏内容 mySummaryConfig: { renderSummaryData: [], mySummaryTpl: [ '', '', '', '', '', '', '', '', '
', '
{label}', '{str}', '
', '
', ], initSummarys: function() { var me = this, summaryData = me.renderSummaryData; var summarys = [{ str: summaryData }]; this.summarys = summarys; return summarys; }, updateSummarys: function() { var me = this, summaryData = me.renderSummaryData; var summarys = [{ str: summaryData }]; this.summarys = summarys; return summarys; }, applySummarys: function(response) { var me = this, grid = me.grid; var _res = response, _calculateProperty = grid.calculateProperty; var _root = _calculateProperty.split('.')[0]; eval('var ' + _root + ' = _res[_root];'); try { summaryData = []; try { summaryData = eval(_calculateProperty); if(!Ext.isArray(summaryData)) { summaryData = []; } }catch(e) { // don't care this... } //自定义逻辑 if(summaryData.length>0){ let message = ''; let tax = 0;//税额 let payAmount = 0;//付款金额 Ext.each(summaryData,function(obj,index){ tax+=(obj.pi_total-obj.pi_nettotal)*obj.pi_rate payAmount = obj.pbd_nowbalance message+='付款金额(' + obj.pi_currency + ')(元):'+saas.util.BaseUtil.numberFormat(payAmount, 2, true)+'' }); message = '税额(本位币)(元):'+saas.util.BaseUtil.numberFormat(tax, 2, true)+message me.renderSummaryData =message; }else{ message = '税额(本位币)(元):0' me.renderSummaryData =message; } } catch (e) { console.error(e); saas.util.BaseUtil.showErrorToast(e.message); } } } });