VendorCheck.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237
  1. Ext.define('saas.view.money.report.VendorCheck', {
  2. extend: 'saas.view.core.report.ReportPanel',
  3. xtype: 'monry-report-vendorcheck',
  4. controller: 'money-report-vendorcheck',
  5. viewModel: 'money-report-vendorcheck',
  6. viewName: 'money-report-vendorcheck',
  7. // groupField: null,
  8. listUrl: '/api/money/report/vendorCheck',
  9. defaultCondition: null,
  10. reportTitle: '供应商对账单',
  11. QueryWidth:0.4,
  12. autoLoad:false,
  13. allowCust: true,
  14. //筛选:供应商、日期(必填)
  15. searchItems: [ {
  16. xtype: 'vendorDbfindTrigger',
  17. name: 'pi_vendname',
  18. emptyText:'请输入供应商名称',
  19. columnWidth: 0.2,
  20. listeners: {
  21. beforequery: function(f) {
  22. return !!f.value;
  23. },
  24. change: 'pi_vendname_change'
  25. }
  26. }, {
  27. // xtype: 'monthdatefield',
  28. // name: 'ym',
  29. // fieldLabel: '期初日期',
  30. // columnWidth: 0.2
  31. // }, {
  32. xtype: 'condatefield',
  33. name: 'pi_date',
  34. fieldLabel: '日期',
  35. columnWidth: 0.4
  36. }],
  37. reportModel: 'saas.model.report.VendorCheck',
  38. reportColumns: [{
  39. text: '单据日期',
  40. dataIndex: 'pi_date',
  41. xtype:'datecolumn',
  42. width: 110
  43. }, {
  44. text: '单号',
  45. dataIndex: 'pi_inoutno',
  46. width: 150
  47. }, {
  48. text: '业务类型',
  49. dataIndex: 'pi_class',
  50. width: 100
  51. }, {
  52. text: '序号',
  53. xtype: 'numbercolumn',
  54. dataIndex: 'pd_pdno',
  55. align: 'center',
  56. exportFormat: 'Integer',
  57. width: 65,
  58. renderer : function(v, m, r) {
  59. return saas.util.BaseUtil.numberFormat(v, 0, true);
  60. }
  61. }, {
  62. text: '物料编号',
  63. dataIndex: 'pr_code',
  64. width: 150
  65. }, {
  66. text: '品牌',
  67. dataIndex: 'pr_brand',
  68. width: 100
  69. }, {
  70. text: '物料名称',
  71. dataIndex: 'pr_detail',
  72. width: 150
  73. }, {
  74. text: '型号',
  75. dataIndex: 'pr_orispeccode',
  76. width: 200
  77. }, {
  78. text: '规格',
  79. dataIndex: 'pr_spec',
  80. width: 200
  81. }, {
  82. text: '数量',
  83. dataIndex: 'qty',
  84. exportFormat: 'Quantity',
  85. xtype: 'numbercolumn',
  86. width: 110,
  87. renderer: function(v) {
  88. return saas.util.BaseUtil.numberFormat(v, 3, false);
  89. }
  90. }, {
  91. text: '单位',
  92. dataIndex: 'pd_unit',
  93. width: 65
  94. }, {
  95. text: '单价(元)',
  96. dataIndex: 'pd_netprice',
  97. exportFormat: 'Price',
  98. xtype: 'numbercolumn',
  99. width: 120,
  100. renderer: function(v) {
  101. return saas.util.BaseUtil.numberFormat(v, 4, true);
  102. }
  103. }, {
  104. text: '含税单价(元)',
  105. dataIndex: 'pd_orderprice',
  106. exportFormat: 'Price',
  107. xtype: 'numbercolumn',
  108. width: 120,
  109. renderer: function(v) {
  110. return saas.util.BaseUtil.numberFormat(v, 4, true);
  111. }
  112. }, {
  113. text: '金额(元)',
  114. dataIndex: 'pd_nettotal',
  115. exportFormat: 'Amount',
  116. xtype: 'numbercolumn',
  117. width: 120,
  118. renderer : function(v, m, r) {
  119. return saas.util.BaseUtil.numberFormat(v, 2, true);
  120. },
  121. }, {
  122. text: '税率(%)',
  123. dataIndex: 'pd_taxrate',
  124. exportFormat: 'Amount',
  125. xtype: 'numbercolumn',
  126. width: 80,
  127. renderer : function(v, m, r) {
  128. return saas.util.BaseUtil.numberFormat(v, 2, false);
  129. },
  130. }, {
  131. text: '税额(元)',
  132. xtype: 'numbercolumn',
  133. exportFormat: 'Amount',
  134. dataIndex: 'pd_ordertotal-pd_nettotal',
  135. width: 120,
  136. summaryType: 'sum',
  137. summaryLabel: '税额',
  138. renderer: function(v) {
  139. return saas.util.BaseUtil.numberFormat(v, 2, true);
  140. },
  141. summaryRenderer: function(v) {
  142. return saas.util.BaseUtil.numberFormat(v, 2, true);
  143. }
  144. }, {
  145. text: '价税合计(元)',
  146. xtype: 'numbercolumn',
  147. exportFormat: 'Amount',
  148. dataIndex: 'pd_ordertotal',
  149. width: 120,
  150. renderer: function(v) {
  151. var arr = (v + '.').split('.');
  152. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  153. var format = '0,000.' + xr.join('');
  154. return Ext.util.Format.number(v, format);
  155. },
  156. // summaryType: 'sum',
  157. // summaryLabel: '价税合计(本位币)',
  158. // summaryRenderer: function(v) {
  159. // return saas.util.BaseUtil.numberFormat(v, 2, true);
  160. // }
  161. },{
  162. text: '币别',
  163. dataIndex: 'pi_currency',
  164. width: 80
  165. },{
  166. text: '汇率',
  167. dataIndex: 'pi_rate',
  168. exportFormat: 'Integer',
  169. xtype: 'numbercolumn',
  170. width: 100,
  171. renderer: function(v) {
  172. return saas.util.BaseUtil.numberFormat(v, 4, false);
  173. }
  174. },{
  175. text: '价税合计(本位币)',
  176. width: 140,
  177. xtype: 'numbercolumn',
  178. exportFormat: 'Amount',
  179. dataIndex: 'pi_mytotal',
  180. renderer : function(v, m, r) {
  181. var arr = (v + '.').split('.');
  182. var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
  183. var format = '0,000.' + xr.join('');
  184. return Ext.util.Format.number(v, format);
  185. },
  186. summaryType: 'sum',
  187. summaryLabel: '价税合计(本位币)'
  188. }],
  189. listeners: {
  190. afterrender: function(panel) {
  191. panel.setLoadButtonDisabled(true);
  192. },
  193. beforequery: function(panel) {
  194. var form = panel.items.items[0];
  195. var values = form.getValues();
  196. var pi_vendname = values.pi_vendname;
  197. if(!pi_vendname) {
  198. saas.util.BaseUtil.showErrorToast('请先选择【<span style="color: red;">供应商名称</span>】');
  199. return false;
  200. }
  201. return true;
  202. }
  203. },
  204. setLoadButtonDisabled: function (disabled) {
  205. var panel = this,
  206. grid = panel.down('grid'),
  207. p = grid.down('pagingtoolbar'),
  208. bs = p.query('button'),
  209. loadButton = Ext.Array.findBy(bs, function (b) {
  210. return b.iconCls == 'x-tbar-loading';
  211. });
  212. if (loadButton) {
  213. loadButton.setDisabled(disabled);
  214. }
  215. },
  216. applyParams: function(p) {
  217. var me = this,
  218. viewModel = me.getViewModel(),
  219. formData = viewModel.get('form'),
  220. ym = formData.ym;
  221. return Ext.Object.merge(p, {
  222. ym: ym
  223. });
  224. }
  225. });