SaleProfit.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  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: 'customerDbfindTrigger',
  15. name: 'sa_custname',
  16. fieldLabel: '客户',
  17. columnWidth: 0.2
  18. }, {
  19. xtype: 'productDbfindTrigger',
  20. name: 'pr_detail',
  21. fieldLabel: '物料',
  22. columnWidth: 0.2
  23. }, {
  24. xtype: 'condatefield',
  25. name: 'pi_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: 150
  38. }, {
  39. text: '客户名称',
  40. dataIndex: 'sa_custname',
  41. width: 200
  42. }, {
  43. text: '业务员',
  44. dataIndex: 'sa_seller',
  45. width: 110
  46. }, {
  47. text: '单据日期',
  48. xtype: 'datecolumn',
  49. dataIndex: 'pi_date',
  50. width: 110
  51. }, {
  52. text: '单据编号',
  53. dataIndex: 'pd_inoutno',
  54. width: 150
  55. }, {
  56. text: '单据类型',
  57. dataIndex: 'pd_piclass',
  58. width: 110
  59. }, {
  60. text: '物料类别',
  61. dataIndex: 'pr_kind',
  62. width: 110
  63. }, {
  64. text: '物料编号',
  65. width: 150,
  66. dataIndex: 'pr_code'
  67. }, {
  68. text: '品牌',
  69. dataIndex: 'pr_brand',
  70. width: 200
  71. }, {
  72. text: '名称',
  73. dataIndex: 'pr_detail',
  74. width: 200
  75. }, {
  76. text: '型号',
  77. dataIndex: 'pr_orispeccode',
  78. width: 200
  79. }, {
  80. text: '规格',
  81. dataIndex: 'pr_spec',
  82. width: 150
  83. }, {
  84. text: '数量',
  85. dataIndex: 'pd_outqty',
  86. exportFormat: 'Quantity',
  87. xtype: 'numbercolumn',
  88. width: 110,
  89. renderer : function(v) {
  90. var arr = (v + '.').split('.');
  91. var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
  92. var format = '0.' + xr.join('');
  93. return Ext.util.Format.number(v, format);
  94. }
  95. }, {
  96. text: '单位',
  97. dataIndex: 'pr_unit',
  98. width: 80
  99. }, {
  100. text: '含税单价(元)',
  101. dataIndex: 'pd_sendprice',
  102. exportFormat: 'Price',
  103. xtype: 'numbercolumn',
  104. width: 150,
  105. renderer: function(v) {
  106. var arr = (v + '.').split('.');
  107. var xr = (new Array(arr[1].length > 4 ? 4 : arr[1].length)).fill('0');
  108. var format = '0,000.' + xr.join('');
  109. return Ext.util.Format.number(v, format);
  110. }
  111. }, {
  112. text: '税率%',
  113. dataIndex: 'pd_taxrate',
  114. exportFormat: 'Integer',
  115. xtype: 'numbercolumn',
  116. width: 90,
  117. renderer: function(v) {
  118. return Ext.util.Format.number(v, '0');
  119. }
  120. }, {
  121. text: '含税金额(元)',
  122. dataIndex: 'pd_ordertotal',
  123. xtype: 'numbercolumn',
  124. renderer: function(v) {
  125. var arr = (v + '.').split('.');
  126. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  127. var format = '0,000.' + xr.join('');
  128. return Ext.util.Format.number(v, format);
  129. }
  130. }, {
  131. text: '不含税单价(元)',
  132. exportFormat: 'Price',
  133. dataIndex: 'pd_netprice',
  134. xtype: 'numbercolumn',
  135. width:150,
  136. renderer : function(v) {
  137. var arr = (v + '.').split('.');
  138. var xr = (new Array(arr[1].length > 4 ? 4 : arr[1].length)).fill('0');
  139. var format = '0,000.' + xr.join('');
  140. return Ext.util.Format.number(v, format);
  141. }
  142. }, {
  143. text: '成本单价(元)',
  144. dataIndex: 'pw_costprice',
  145. exportFormat: 'Price',
  146. xtype: 'numbercolumn',
  147. width:140,
  148. renderer : function(v) {
  149. var arr = (v + '.').split('.');
  150. var xr = (new Array(arr[1].length > 4 ? 4 : arr[1].length)).fill('0');
  151. var format = '0,000.' + xr.join('');
  152. return Ext.util.Format.number(v, format);
  153. }
  154. }, {
  155. text: '成本金额(元)',
  156. dataIndex: 'pd_total',
  157. exportFormat: 'Amount',
  158. xtype: 'numbercolumn',
  159. renderer: function(v) {
  160. var arr = (v + '.').split('.');
  161. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  162. var format = '0,000.' + xr.join('');
  163. return Ext.util.Format.number(v, format);
  164. }
  165. }, {
  166. text: '毛利润',
  167. dataIndex: 'pd_profit',
  168. exportFormat: 'Amount',
  169. xtype: 'numbercolumn',
  170. renderer: function(v) {
  171. var arr = (v + '.').split('.');
  172. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  173. var format = '0,000.' + xr.join('');
  174. return Ext.util.Format.number(v, format);
  175. }
  176. }, {
  177. text: '毛利率%',
  178. dataIndex: 'pd_profitpresent',
  179. xtype: 'numbercolumn',
  180. renderer : function(v) {
  181. var arr = (v + '.').split('.');
  182. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  183. var format = '0.' + xr.join('');
  184. return Ext.util.Format.number(v, format);
  185. }
  186. }, {
  187. text : "备注",
  188. dataIndex : "pd_remark",
  189. width : 250
  190. }]
  191. });