QueryPanel_saleforecast.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. Ext.define('saas.view.make.bomComposite.QueryPanel_saleforecast', {
  2. extend: 'Ext.grid.Panel',
  3. xtype: 'make-bomcomposite-querypanel-saleforecast',
  4. plugins: [
  5. 'gridexporter',
  6. ],
  7. initComponent: function () {
  8. var me = this;
  9. Ext.apply(me, {
  10. queryUrl: '/api/make/bomComposite/saleforecastList/',
  11. columns: [{
  12. text: '备货单号',
  13. dataIndex: 'sf_code',
  14. width: 150,
  15. listeners: {
  16. click: function(tableView, td, rowIdx, colIdx, e, model, tr) {
  17. var data = model.data;
  18. saas.util.BaseUtil.openTab('sale-saleforecast-formpanel', '备货单' + "(" + data.sf_code + ")", data.id, {
  19. initId: data.id
  20. });
  21. }
  22. },
  23. renderer:function(v){
  24. return '<span style="color:#3E80F6;cursor:pointer;">'+ v +'</span>';
  25. }
  26. }, {
  27. text: '客户名称',
  28. dataIndex: 'sa_custname',
  29. width: 180
  30. }, {
  31. text: '未核销数量',
  32. dataIndex: 'thisqty',
  33. xtype: 'numbercolumn',
  34. renderer: function (v, m, r) {
  35. return saas.util.BaseUtil.numberFormat(v, 6, true);
  36. }
  37. }, {
  38. text: '备货数量',
  39. dataIndex: 'sd_qty',
  40. xtype: 'numbercolumn',
  41. renderer: function (v, m, r) {
  42. return saas.util.BaseUtil.numberFormat(v, 6, true);
  43. }
  44. }, {
  45. text: '已核销数量',
  46. dataIndex: 'sd_yqty',
  47. xtype: 'numbercolumn',
  48. renderer: function (v, m, r) {
  49. return saas.util.BaseUtil.numberFormat(v, 6, true);
  50. }
  51. }, {
  52. text: '交货日期',
  53. dataIndex: 'sd_delivery',
  54. width: 110.0,
  55. xtype: 'datecolumn'
  56. }, {
  57. text: '序号',
  58. dataIndex: 'sd_detno',
  59. xtype: 'numbercolumn',
  60. width: 80,
  61. renderer: function (v, m, r) {
  62. return saas.util.BaseUtil.numberFormat(v, 0, false);
  63. },
  64. }, {
  65. text: '单据状态',
  66. dataIndex: 'sf_status'
  67. }],
  68. tbar: [{
  69. xtype: 'radiogroup',
  70. name: 'redio_saleforecast',
  71. width: 300,
  72. simpleValue: true,
  73. items: [
  74. { boxLabel: '所有备货', inputValue: 'ALL' },
  75. { boxLabel: '未核销备货', inputValue: 'NONE', checked: true }
  76. ],
  77. listeners: {
  78. change: function (r, newValue) {
  79. var grid = r.ownerCt.ownerCt,
  80. store = grid.store;
  81. if (newValue == 'NONE') {
  82. store.addFilter({
  83. filterFn: function (rec) {
  84. return rec.get('thisqty') > 0;
  85. },
  86. anyMatch: true,
  87. caseSensitive: false
  88. });
  89. } else {
  90. store.clearFilter();
  91. }
  92. }
  93. }
  94. }],
  95. store: {
  96. filters: [{
  97. filterFn: function (rec) {
  98. return rec.get('thisqty') > 0;
  99. },
  100. anyMatch: true,
  101. caseSensitive: false
  102. }],
  103. proxy: {
  104. type: 'ajax',
  105. url: me.queryUrl,
  106. timeout: 8000,
  107. actionMethods: {
  108. read: 'GET'
  109. },
  110. reader: {
  111. type: 'json',
  112. rootProperty: 'data',
  113. totalProperty: '',
  114. },
  115. listeners: {
  116. exception: function (proxy, response, operation, eOpts) {
  117. if (operation.success) {
  118. if (response.timedout) {
  119. saas.util.BaseUtil.showErrorToast('请求超时');
  120. }
  121. } else {
  122. if (response.timedout) {
  123. saas.util.BaseUtil.showErrorToast('请求超时');
  124. } else {
  125. console.error('exception: ', response);
  126. var message = response.responseJson ? (response.responseJson.message == null ? '没有数据' : response.responseJson.message) : '请求超时';
  127. saas.util.BaseUtil.showErrorToast('查询失败:' + message);
  128. }
  129. }
  130. }
  131. }
  132. },
  133. listeners: {
  134. beforeload: function (store, op) {
  135. var prCode = me.ownerCt.ownerCt.down('productDbfindTrigger').getRawValue();
  136. if (prCode) {
  137. store.getProxy().url = me.queryUrl + prCode;
  138. } else {
  139. return false;
  140. }
  141. }
  142. }
  143. }
  144. });
  145. me.callParent(arguments);
  146. },
  147. });