Purchase.js 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233
  1. Ext.define('saas.view.purchase.report.Purchase', {
  2. extend: 'saas.view.core.report.ReportPanel',
  3. xtype: 'purchase-report-purchase',
  4. controller: 'purchase-report-purchase',
  5. viewModel: 'purchase-report-purchase',
  6. viewName: 'purchase-report-purchase',
  7. groupField: null,
  8. listUrl: '/api/purchase/report/purchaseDetail',
  9. defaultCondition: null,
  10. reportTitle: '采购明细报表',
  11. QueryWidth:0.2,
  12. //筛选:供应商、日期(必填)、业务状态
  13. searchItems: [ {
  14. xtype: 'vendorDbfindTrigger',
  15. name: 'pu_vendname',
  16. fieldLabel: '供应商名称',
  17. columnWidth: 0.2
  18. }, {
  19. xtype: 'condatefield',
  20. name: 'pu_date',
  21. fieldLabel: '单据日期',
  22. columnWidth: 0.4
  23. }, {
  24. xtype: 'multicombo',
  25. name: 'pu_acceptstatuscode',
  26. fieldLabel: '业务状态',
  27. columnWidth: 0.2,
  28. datas: [
  29. ["TURNIN", "已入库"],
  30. ["UNTURNIN", "未入库"],
  31. ["PART2IN", "部分入库"],
  32. ["CLOSE", "已关闭"]
  33. ]
  34. }],
  35. reportModel: 'saas.model.report.Purchase',
  36. reportColumns: [
  37. {
  38. text: 'id',
  39. dataIndex: 'pu_id',
  40. hidden: true
  41. }, {
  42. text: '采购单号',
  43. dataIndex: 'pu_code',
  44. width: 150
  45. }, {
  46. text: '供应商名称',
  47. dataIndex: 'pu_vendname',
  48. width: 200
  49. }, {
  50. text: '业务状态',
  51. align: 'center',
  52. dataIndex: 'pu_acceptstatus',
  53. width: 80
  54. }, {
  55. text: '采购员',
  56. dataIndex: 'pu_buyername',
  57. width: 80
  58. }, {
  59. text: '单据日期',
  60. xtype: 'datecolumn',
  61. dataIndex: 'pu_date',
  62. width: 110
  63. }, {
  64. text: '物料编号',
  65. width: 150,
  66. dataIndex: 'pd_prodcode'
  67. }, {
  68. text: '品牌',
  69. dataIndex: 'pr_brand',
  70. width: 100
  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: 200
  83. }, {
  84. text: '采购数量',
  85. dataIndex: 'pd_qty',
  86. xtype: 'numbercolumn',
  87. exportFormat: 'Quantity',
  88. width: 110,
  89. summaryType: 'sum',
  90. renderer: function(v) {
  91. var arr = (v + '.').split('.');
  92. var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
  93. var format = '0.' + xr.join('');
  94. return Ext.util.Format.number(v, format);
  95. },
  96. summaryRenderer: function(v) {
  97. var arr = (v + '.').split('.');
  98. var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
  99. var format = '0.' + xr.join('');
  100. return Ext.util.Format.number(v, format);
  101. }
  102. }, {
  103. text: '单位',
  104. dataIndex: 'pr_unit',
  105. width: 65
  106. }, {
  107. text: '单价(元)',
  108. dataIndex: 'pd_taxprice',
  109. exportFormat: 'Price',
  110. width: 120,
  111. xtype: 'numbercolumn',
  112. renderer: function(v) {
  113. var arr = (v + '.').split('.');
  114. var xr = (new Array(arr[1].length > 4 ? 4 : arr[1].length)).fill('0');
  115. var format = '0,000.' + xr.join('');
  116. return Ext.util.Format.number(v, format);
  117. }
  118. }, {
  119. text: '含税单价(元)',
  120. dataIndex: 'pd_price',
  121. exportFormat: 'Price',
  122. width: 120,
  123. xtype: 'numbercolumn',
  124. renderer: function(v) {
  125. var arr = (v + '.').split('.');
  126. var xr = (new Array(arr[1].length > 4 ? 4 : 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. dataIndex: 'pd_taxtotal',
  133. exportFormat: 'Amount',
  134. width: 110,
  135. xtype: 'numbercolumn',
  136. renderer: function(v) {
  137. var arr = (v + '.').split('.');
  138. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  139. var format = '0,000.' + xr.join('');
  140. return Ext.util.Format.number(v, format);
  141. },
  142. summaryType: 'sum',
  143. summaryRenderer: function(v) {
  144. var arr = (v + '.').split('.');
  145. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  146. var format = '0,000.' + xr.join('');
  147. return Ext.util.Format.number(v, format);
  148. }
  149. }, {
  150. text: '税率(%)',
  151. dataIndex: 'pd_taxrate',
  152. exportFormat: 'Integer',
  153. width: 80,
  154. xtype: 'numbercolumn',
  155. renderer: function(v) {
  156. return Ext.util.Format.number(v, '0');
  157. }
  158. }, {
  159. text: '税额(元)',
  160. dataIndex: 'pd_taxamount',
  161. exportFormat: 'Amount',
  162. width: 110,
  163. xtype: 'numbercolumn',
  164. renderer: function(v) {
  165. var arr = (v + '.').split('.');
  166. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  167. var format = '0,000.' + xr.join('');
  168. return Ext.util.Format.number(v, format);
  169. },
  170. summaryType: 'customize_sum',
  171. summaryRenderer: function(v) {
  172. var arr = (v + '.').split('.');
  173. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  174. var format = '0,000.' + xr.join('');
  175. return Ext.util.Format.number(v, format);
  176. },
  177. mySummaryRenderer: function(grid, column, datas) {
  178. var arr = [];
  179. arr = datas.map(function(d) {
  180. return d['pd_taxamount'];
  181. });
  182. return Ext.Array.sum(arr);
  183. }
  184. }, {
  185. text: '价税合计(元)',
  186. dataIndex: 'pd_total',
  187. exportFormat: 'Amount',
  188. width: 110,
  189. xtype: 'numbercolumn',
  190. renderer: function(v) {
  191. var arr = (v + '.').split('.');
  192. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  193. var format = '0,000.' + xr.join('');
  194. return Ext.util.Format.number(v, format);
  195. },
  196. summaryType: 'sum',
  197. summaryRenderer: function(v) {
  198. var arr = (v + '.').split('.');
  199. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  200. var format = '0,000.' + xr.join('');
  201. return Ext.util.Format.number(v, format);
  202. }
  203. }, {
  204. text: '收货数量',
  205. dataIndex: 'pd_pdacceptqty',
  206. exportFormat: 'Quantity',
  207. width: 110,
  208. xtype: 'numbercolumn',
  209. renderer: function(v) {
  210. var arr = (v + '.').split('.');
  211. var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
  212. var format = '0.' + xr.join('');
  213. return Ext.util.Format.number(v, format);
  214. },
  215. summaryType: 'sum',
  216. summaryRenderer: function(v) {
  217. var arr = (v + '.').split('.');
  218. var xr = (new Array(arr[1].length > 3 ? 3 : arr[1].length)).fill('0');
  219. var format = '0.' + xr.join('');
  220. return Ext.util.Format.number(v, format);
  221. }
  222. }, {
  223. text: '备注',
  224. dataIndex: 'pd_remark',
  225. width: 250
  226. }]
  227. });