SaleProfit.js 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. Ext.define('saas.view.sale.report.SaleProfit', {
  2. extend: 'saas.view.core.report.ReportPanel',
  3. xtype: 'sale-report-saleprofit',
  4. controller: 'sale-report-saleprofit',
  5. viewModel: 'sale-report-saleprofit',
  6. viewName: 'sale-report-saleprofit',
  7. groupField: null,
  8. listUrl: '/api/sale/report/saleProfit',
  9. defaultCondition: null,
  10. reportTitle: '销售毛利润表',
  11. //筛选:客户、物料、时间
  12. QueryWidth:0.2,
  13. searchItems: [{
  14. xtype: 'dbfindtrigger',
  15. name: 'sa_custname',
  16. fieldLabel: '客户',
  17. columnWidth: 0.2
  18. }, {
  19. xtype: 'dbfindtrigger',
  20. name: 'sd_prodcode',
  21. fieldLabel: '物料',
  22. columnWidth: 0.2
  23. }, {
  24. xtype: 'condatefield',
  25. name: 'sa_date',
  26. fieldLabel: '时间',
  27. columnWidth: 0.4
  28. }],
  29. reportColumns: [
  30. {
  31. text: 'id',
  32. dataIndex: 'sa_id',
  33. hidden: true
  34. }, {
  35. text: '客户编号',
  36. dataIndex: 'sa_custcode',
  37. width: 200
  38. }, {
  39. text: '客户名称',
  40. dataIndex: 'sa_custname',
  41. width: 200
  42. }, {
  43. text: '业务员编号',
  44. dataIndex: 'sa_sellercode',
  45. hidden:true
  46. }, {
  47. text: '业务员',
  48. dataIndex: 'sa_seller'
  49. }, {
  50. text: '单据日期',
  51. xtype: 'datecolumn',
  52. dataIndex: 'sa_date'
  53. }, {
  54. text: '单据编号',
  55. dataIndex: 'pd_inoutno',
  56. width: 200
  57. }, {
  58. text: '单据类型',
  59. dataIndex: 'pd_piclass'
  60. }, {
  61. text: '物料类别',
  62. dataIndex: 'pr_kind'
  63. }, {
  64. text: '物料编号',
  65. dataIndex: 'pr_code',
  66. width: 200
  67. }, {
  68. text: '物料名称',
  69. dataIndex: 'pr_detail',
  70. width: 200
  71. }, {
  72. text: '物料规格',
  73. dataIndex: 'pr_spec'
  74. }, {
  75. text: '单位',
  76. dataIndex: 'pr_unit'
  77. }, {
  78. text: '数量',
  79. dataIndex: 'pd_outqty',
  80. xtype: 'numbercolumn',
  81. renderer : function(v) {
  82. var arr = (v + '.').split('.');
  83. var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
  84. var format = '0.' + xr.join();
  85. return Ext.util.Format.number(v, format);
  86. }
  87. }, {
  88. text: '单价',
  89. dataIndex: 'pd_sendprice',
  90. xtype: 'numbercolumn',
  91. renderer: function(v) {
  92. var arr = (v + '.').split('.');
  93. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  94. var format = '0,000.' + xr.join();
  95. return Ext.util.Format.number(v, format);
  96. }
  97. }, {
  98. text: '税率%',
  99. dataIndex: 'pd_taxrate',
  100. xtype: 'numbercolumn',
  101. renderer: function(v) {
  102. return Ext.util.Format.number(v, '0');
  103. }
  104. }, {
  105. text: '含税金额',
  106. dataIndex: 'pd_ordertotal',
  107. xtype: 'numbercolumn',
  108. renderer: function(v) {
  109. var arr = (v + '.').split('.');
  110. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  111. var format = '0,000.' + xr.join();
  112. return Ext.util.Format.number(v, format);
  113. }
  114. }, {
  115. text: '成本金额',
  116. dataIndex: 'pd_total',
  117. xtype: 'numbercolumn',
  118. renderer: function(v) {
  119. var arr = (v + '.').split('.');
  120. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  121. var format = '0,000.' + xr.join();
  122. return Ext.util.Format.number(v, format);
  123. }
  124. }, {
  125. text: '毛利润',
  126. dataIndex: 'pd_profit',
  127. xtype: 'numbercolumn',
  128. renderer: function(v) {
  129. var arr = (v + '.').split('.');
  130. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  131. var format = '0,000.' + xr.join();
  132. return Ext.util.Format.number(v, format);
  133. }
  134. }, {
  135. text: '毛利率%',
  136. dataIndex: 'pd_profitpresent',
  137. xtype: 'numbercolumn',
  138. renderer : function(v) {
  139. var arr = (v*100 + '.').split('.');
  140. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  141. var format = '0.' + xr.join();
  142. return Ext.util.Format.number(v*100, format);
  143. }
  144. }, {
  145. text : "备注",
  146. dataIndex : "pd_text1",
  147. width : 250
  148. }]
  149. });