SerialTrace.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.mes.SerialTrace', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. GridUtil: Ext.create('erp.util.GridUtil'),
  7. views:[
  8. 'pm.mes.SerialTrace','core.form.Panel','common.query.GridPanel',
  9. 'core.form.YnField','core.grid.YnColumn', 'core.grid.TfColumn',
  10. 'core.button.Query','core.button.Close',
  11. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger'
  12. ],
  13. init:function(){
  14. var me = this;
  15. this.control({
  16. 'erpQueryButton' : {
  17. click: function(btn) {
  18. var sncode = Ext.getCmp('cm_sncode').value,
  19. cond1, cond2;
  20. if(!Ext.isEmpty(sncode)){
  21. cond1 = 'cm_sncode=\'' + sncode + '\'';
  22. cond2 = 'mb_sncode=\'' + sncode + '\'';
  23. }
  24. var params1 = {
  25. caller: 'SerialTrace',
  26. condition : (cond1 || '1=1')
  27. };
  28. //上料信息
  29. var grid1 = Ext.getCmp('grid1');
  30. me.GridUtil.loadNewStore(grid1, params1);
  31. //不良记录
  32. var grid2 = Ext.getCmp('grid2');
  33. if(grid2) {
  34. var params2 = {
  35. caller: 'SerialTrace_2',
  36. condition : (cond2 || '1=1')
  37. };
  38. me.GridUtil.loadNewStore(grid2, params2);
  39. }
  40. }
  41. },
  42. '#grid1' : {
  43. afterrender: function(grid){
  44. grid.store.on('datachanged', function(store){
  45. me.getBar(grid);
  46. });
  47. }
  48. },
  49. 'tabpanel > #grid2-tab': {
  50. activate: function(panel) {
  51. if(panel.boxReady) {
  52. var grid2 = Ext.getCmp('grid2'),
  53. sncode = Ext.getCmp('cm_sncode').value,
  54. condition;
  55. if(grid2) {
  56. if(!Ext.isEmpty(sncode)){
  57. condition = 'mb_sncode=\'' + sncode + '\'';
  58. }
  59. var params = {
  60. caller: 'SerialTrace_2',
  61. condition : (condition || '1=1')
  62. };
  63. me.GridUtil.loadNewStore(grid2, params);
  64. }
  65. } else {
  66. panel.boxReady = true;
  67. var sncode = Ext.getCmp('cm_sncode').value,
  68. condition;
  69. if(!Ext.isEmpty(sncode)){
  70. condition = 'mb_sncode=\'' + sncode + '\'';
  71. }
  72. panel.add({
  73. xtype: 'erpQueryGridPanel',
  74. caller: 'SerialTrace_2',
  75. anchor: '100% 100%',
  76. id : 'grid2',
  77. formCondition: condition
  78. });
  79. }
  80. }
  81. }
  82. });
  83. },
  84. getBar: function(grid) {
  85. var me = this, codes = [];
  86. grid.store.each(function(d){
  87. codes.push("'" + d.get('cm_barcode') + "'");
  88. });
  89. codes = Ext.Array.unique(codes);
  90. Ext.Ajax.request({
  91. url: basePath + 'scm/pm/mes/getBar.action',
  92. params: {
  93. codes: codes.join(',')
  94. },
  95. callback: function (opt, s, r) {
  96. if(s) {
  97. var rs = Ext.decode(r.responseText);
  98. if(rs.data) {
  99. Ext.Array.each(rs.data, function(d){
  100. d.BAR_INDATE = me.parseTimestamp(d.BAR_INDATE);
  101. d.BAR_VALIDDATE = me.parseTimestamp(d.BAR_VALIDDATE);
  102. d.BAR_MADEDATE = me.parseTimestamp(d.BAR_MADEDATE);
  103. });
  104. grid.barData = rs.data;
  105. }
  106. }
  107. }
  108. });
  109. },
  110. parseTimestamp: function(timeLong) {
  111. return timeLong == null ? null : Ext.Date.format(new Date(timeLong), 'Y-m-d');
  112. }
  113. });