VendorCheck.js 6.1 KB

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