VendorCheck.js 6.1 KB

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