| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- Ext.define('saas.view.sale.report.SaleRec', {
- extend: 'saas.view.core.report.ReportPanel',
- xtype: 'sale-report-salerec',
- controller: 'sale-report-salerec',
- viewModel: 'sale-report-salerec',
- viewName: 'sale-report-salerec',
- groupField: 'groupfield',
- groupHeaderTpl: '{[values.rows[0].data.rb_custname]} ({[values.rows[0].data.pi_currency]})',
- listUrl: '/api/sale/report/saleRec',
- defaultCondition: null,
- reportTitle: '销售收款报表',
- QueryWidth:0.25,
- searchItems: [{
- xtype: 'customerDbfindTrigger',
- name: 'rb_custname',
- emptyText:'请输入客户名称',
- columnWidth: 0.25
- }, {
- xtype: 'condatefield',
- name: 'rb_date',
- fieldLabel: '日期',
- columnWidth: 0.5
- }],
- reportModel: 'saas.model.report.SaleRec',
- reportColumns: [{
- text: 'id',
- dataIndex: 'id',
- hidden: true
- }, {
- text: '收款单号',
- dataIndex: 'rb_code',
- width: 150
- }, {
- text: '客户名称',
- dataIndex: 'rb_custname',
- width: 200
- }, {
- text: '单据日期',
- dataIndex: 'rb_date',
- xtype: 'datecolumn'
- }, {
- text: '来源单号',
- dataIndex: 'rbd_slcode',
- width: 150
- }, {
- text: '业务类型',
- dataIndex: 'rbd_slkind',
- width: 100
- }, {
- text: '金额(元)',
- xtype: 'numbercolumn',
- exportFormat: 'Amount',
- dataIndex: 'pi_nettotal',
- width: 120,
- renderer : function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 2, true);
- }
- }, {
- text: '税额(元)',
- xtype: 'numbercolumn',
- exportFormat: 'Amount',
- dataIndex: 'pi_total-pi_nettotal',
- renderer : function(v, m, r) {
- 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: '税额(元)',
- xtype: 'numbercolumn',
- exportFormat: 'Amount',
- dataIndex: '(pi_total-pi_nettotal)*pi_rate',
- renderer : function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 2, true);
- },
- summaryType: 'sum',
- summaryLabel: '税额(本位币)',
- summaryRenderer: function(v) {
- return saas.util.BaseUtil.numberFormat(v, 2, true);
- }
- }, {
- text: '价税合计(元)',
- xtype: 'numbercolumn',
- exportFormat: 'Amount',
- dataIndex: 'pi_total',
- renderer : function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 2, true);
- },
- disableMySummary:true,
- summaryType: 'sum',
- summaryRenderer: function(v) {
- return saas.util.BaseUtil.numberFormat(v, 2, true);
- }
- }, {
- text: '收款金额(元)',
- xtype: 'numbercolumn',
- exportFormat: 'Amount',
- dataIndex: 'rbd_nowbalance',
- renderer : function(v, m, r) {
- 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: '收款金额(元)',
- xtype: 'numbercolumn',
- exportFormat: 'Amount',
- dataIndex: 'rbd_nowbalance*pi_rate',
- renderer : function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 2, true);
- },
- summaryType: 'sum',
- summaryLabel: '收款金额(本位币)',
- summaryRenderer: function(v) {
- return saas.util.BaseUtil.numberFormat(v, 2, true);
- }
- }, {
- text: '币别',
- dataIndex: 'pi_currency',
- align:'center',
- width: 65
- }, {
- text: '回款比例(%)',
- dataIndex: 'rb_backrate',
- exportFormat: 'Number2',
- xtype: 'numbercolumn',
- renderer : function(v, m, r) {
- return saas.util.BaseUtil.numberFormat(v, 2, true);
- }
- }, {
- text: '收款人',
- dataIndex: 'rb_manname',
- width: 80
- }, {
- text: '备注',
- dataIndex: 'rb_remark',
- width: 250
- }],
- // 自定义合计逻辑,直接使用后台返回的内容作为合计栏内容
- mySummaryConfig: {
- renderSummaryData: [],
- mySummaryTpl: [
- '<table class="x-grid-row-mysummary x-mmmmmmmmmmmm">',
- '<tbody>',
- '<tr>',
- '<tpl for=".">',
- '<td class="x-grid-cell x-grid-td x-grid-cell-numbercolumn-1526 x-unselectable x-mysummary-item">',
- '<div class="x-grid-cell-inner x-mysummary-item-cell">{label}',
- '{str}',
- '</div>',
- '</td>',
- '</tpl>',
- '</tr>',
- '</tbody>',
- '</table>',
- ],
- 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 recAmount = 0;//收款金额
- Ext.each(summaryData,function(obj,index){
- tax+=(obj.pi_total-obj.pi_nettotal)*obj.pi_rate
- recAmount = obj.rbd_nowbalance
- message+='<span style="margin:0 0 0 20px">收款金额(' + obj.pi_currency + ')(元):'+saas.util.BaseUtil.numberFormat(recAmount, 2, true)+'</span>'
- });
- 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);
- }
- }
- }
- });
|