RecDetail.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. Ext.define('saas.view.money.report.RecDetail', {
  2. extend: 'saas.view.core.report.ReportPanel',
  3. xtype: 'monry-report-recdetail',
  4. controller: 'money-report-recdetail',
  5. viewModel: 'money-report-recdetail',
  6. viewName: 'money-report-recdetail',
  7. groupField: 'rd_custcode',
  8. groupHeaderTpl: '客户名称: {[values.rows[0].data.rd_custname]}',
  9. listUrl: '/api/money/report/recDetail',
  10. defaultCondition: null,
  11. reportTitle: '应收账款明细',
  12. QueryWidth:0.25,
  13. allowPaging: false,
  14. //筛选:客户、日期(必填)
  15. searchItems: [ {
  16. xtype: 'customerDbfindTrigger',
  17. name: 'rd_custname',
  18. fieldLabel: '客户名称',
  19. columnWidth: 0.25
  20. }, {
  21. xtype: 'conmonthfield',
  22. name: 'rd_ym',
  23. fieldLabel: '期间',
  24. columnWidth: 0.5
  25. }],
  26. reportColumns: [{
  27. text: 'id',
  28. dataIndex: 'rd_id',
  29. hidden: true
  30. }, {
  31. text: '单据日期',
  32. xtype: 'datecolumn',
  33. dataIndex: 'rd_date',
  34. width: 110
  35. }, {
  36. text: '单号',
  37. dataIndex: 'rd_code',
  38. width: 150
  39. }, {
  40. text: '单据类型',
  41. dataIndex: 'rd_kind',
  42. width: 110
  43. },{
  44. text: '客户编号',
  45. dataIndex: 'pi_custcode',
  46. width: 150,
  47. hidden: true
  48. }, {
  49. text: '客户名称',
  50. dataIndex: 'pi_custname',
  51. width: 200,
  52. hidden: true
  53. },{
  54. text: '业务员',
  55. dataIndex: 'rd_sellername',
  56. width: 110
  57. }, {
  58. text: '序号',
  59. dataIndex: 'rd_detno',
  60. xtype: 'numbercolumn',
  61. width: 80,
  62. hidden: true
  63. },{
  64. text:'增加应收',
  65. dataIndex:'rd_addrec',
  66. exportFormat: 'Amount',
  67. xtype: 'numbercolumn',
  68. width: 110,
  69. renderer : function(v) {
  70. var arr = (v + '.').split('.');
  71. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  72. var format = '0,000.' + xr.join('');
  73. return Ext.util.Format.number(v, format);
  74. },
  75. summaryType: 'sum',
  76. summaryRenderer: function(v) {
  77. var arr = (v + '.').split('.');
  78. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  79. var format = '0,000.' + xr.join('');
  80. return Ext.util.Format.number(v, format);
  81. }
  82. },{
  83. text:'增加预收',
  84. xtype: 'numbercolumn',
  85. exportFormat: 'Amount',
  86. dataIndex:'rd_addpre',
  87. width: 180,
  88. renderer : function(v) {
  89. var arr = (v + '.').split('.');
  90. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  91. var format = '0,000.' + xr.join('');
  92. return Ext.util.Format.number(v, format);
  93. },
  94. summaryType: 'sum',
  95. summaryRenderer: function(v) {
  96. var arr = (v + '.').split('.');
  97. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  98. var format = '0,000.' + xr.join('');
  99. return Ext.util.Format.number(v, format);
  100. }
  101. },{
  102. text: '应收余额',
  103. xtype: 'numbercolumn',
  104. exportFormat: 'Amount',
  105. dataIndex: 'rd_remain',
  106. width: 110,
  107. renderer : function(v) {
  108. var arr = (v + '.').split('.');
  109. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  110. var format = '0,000.' + xr.join('');
  111. return Ext.util.Format.number(v, format);
  112. },
  113. summaryType: 'last',
  114. summaryRenderer: function(v) {
  115. var arr = (v + '.').split('.');
  116. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  117. var format = '0,000.' + xr.join('');
  118. return Ext.util.Format.number(v, format);
  119. },
  120. mySummaryRenderer: function(grid, column, datas) {
  121. datas = datas || [];
  122. var store = grid.store,
  123. dataIndex = column.dataIndex,
  124. groupField = store.getGroupField(),
  125. count = datas.length,
  126. data = datas,
  127. lasts = {},
  128. keys = [],
  129. arr = [];
  130. for(var i = 0; i < count; i++) {
  131. var d = data[i];
  132. var n = Number(d[dataIndex]);
  133. var v = isNaN(n) ? 0 : n;
  134. var gv = d[groupField];
  135. lasts[gv] = v;
  136. }
  137. keys = Ext.Object.getAllKeys(lasts);
  138. arr = keys.map(function(key) {
  139. return lasts[key];
  140. });
  141. return Ext.Array.sum(arr);
  142. }
  143. }, {
  144. text: '客户名称',
  145. dataIndex: 'rd_custname',
  146. hidden:true
  147. }, {
  148. flex: 1
  149. }]
  150. });