SMTMonitor.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. Ext.QuickTips.init();
  2. Ext.define('erp.controller.pm.mes.SMTMonitor', {
  3. extend: 'Ext.app.Controller',
  4. FormUtil: Ext.create('erp.util.FormUtil'),
  5. BaseUtil: Ext.create('erp.util.BaseUtil'),
  6. views:[
  7. 'pm.mes.SMTMonitor','core.form.Panel','common.query.GridPanel',
  8. 'core.toolbar.Toolbar','core.button.Close',
  9. 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger'
  10. ],
  11. init:function(){
  12. var me = this;
  13. this.control({
  14. '#settingBtn' : {
  15. click:function(){
  16. var win = Ext.getCmp("win");
  17. if(!win){
  18. me.createWin();
  19. }
  20. }
  21. },
  22. 'erpQueryGridPanel':{
  23. afterrender:function(grid){
  24. grid.setVisible(false);
  25. var win = Ext.getCmp("win");
  26. if(!win){
  27. me.createWin();
  28. }
  29. }
  30. }
  31. });
  32. },
  33. cycling : function(){
  34. var me = this;
  35. var de_code = Ext.getCmp("msl_devcode").value;
  36. setTimeout(function() {
  37. me.cycling();
  38. }, me.cycleTime*1000);
  39. if( !Ext.isEmpty(de_code)){
  40. var querygrid = Ext.getCmp('querygrid'),de_code = Ext.getCmp("msl_devcode").value;
  41. var gridParam = {caller: caller, condition: ("msl_devcode='" + de_code+"' and msl_status=0 and msl_baseqty>0 order by msl_remainqty,msl_baseqty"), start: 1, end: getUrlParam('_end')||1000};
  42. querygrid.GridUtil.loadNewStore(querygrid, gridParam);
  43. //加载主表的mc_madeqty完工数字段
  44. Ext.Ajax.request({
  45. url: basePath + 'pm/bom/getDescription.action',
  46. params: {
  47. tablename:'makeCraft left join makesmtlocation on msl_mcid=mc_id left join device on msl_devcode=de_code',
  48. field:'mc_madeqty',
  49. condition:"msl_devcode='"+de_code+"' and msl_status=0"
  50. },
  51. callback: function(opt, s, r) {
  52. var rs = Ext.decode(r.responseText);
  53. if(rs.exceptionInfo) {
  54. showError(rs.exceptionInfo);return;
  55. }else if(rs.success){
  56. Ext.getCmp("mc_madeqty").setValue(rs.description);
  57. }
  58. }
  59. });
  60. }
  61. },
  62. createWin: function(){
  63. var me = this;
  64. var win = new Ext.window.Window({
  65. modal : true,
  66. id : 'win',
  67. height : '35%',
  68. width : '30%',
  69. layout : 'anchor',
  70. bodyStyle: 'background: #f1f1f1;',
  71. bodyPadding:5,
  72. items : [{
  73. anchor: '100% 100%',
  74. xtype: 'form',
  75. bodyStyle: 'background: #f1f1f1;',
  76. defaults:{
  77. fieldStyle : "background:rgb(224, 224, 255);",
  78. labelStyle:"color:red;"
  79. },
  80. items:[{
  81. xtype:'dbfindtrigger',
  82. name:'de_code',
  83. fieldLabel:'机台编号',
  84. id:'de_code',
  85. allowBlank:false
  86. },{
  87. xtype:'textfield',
  88. name:'cycleTime',
  89. fieldLabel:'刷新周期(秒)',
  90. id:'cycleTime',
  91. allowBlank:false
  92. },{
  93. xtype:'textfield',
  94. name:'unitTime',
  95. fieldLabel:'单件耗时(秒)',
  96. id:'unitTime',
  97. allowBlank:false
  98. },{
  99. xtype:'textfield',
  100. name:'warningTime',
  101. fieldLabel:'缺料预警提前(分)',
  102. id:'warningTime',
  103. allowBlank:false
  104. }],
  105. buttonAlign : 'center',
  106. buttons: [{
  107. text: '确定' ,
  108. cls: 'x-btn-gray',
  109. iconCls: 'x-button-icon-save',
  110. id:'confirmBtn',
  111. formBind: true, //only enabled once the form is valid
  112. handler: function(btn) {
  113. me.getFormStore();
  114. }
  115. }]
  116. }]
  117. });
  118. win.show();
  119. },
  120. getFormStore : function(){
  121. //判断机台编号,输入的周期等是否为数字
  122. var me = this;
  123. var de_code = Ext.getCmp("de_code").value;
  124. me.cycleTime = Ext.getCmp("cycleTime").value;
  125. var querygrid = Ext.getCmp("querygrid");
  126. querygrid.unitTime = Ext.getCmp("unitTime").value;
  127. querygrid.warningTime = Ext.getCmp("warningTime").value;
  128. if(!Ext.isNumeric(me.cycleTime) || me.cycleTime <='0'){
  129. showError("刷新周期必须为数值且大于0!");
  130. return ;
  131. }
  132. if(!Ext.isNumeric(querygrid.unitTime) || querygrid.unitTime <='0'){
  133. showError("单件耗时必须为数值且大于0!");
  134. return ;
  135. }
  136. if(!Ext.isNumeric(querygrid.warningTime)|| querygrid.warningTime <='0'){
  137. showError("缺料预警提前时间必须为数值且大于0!");
  138. return ;
  139. }
  140. Ext.Ajax.request({
  141. url: basePath + 'pm/mes/getSMTMonitorStore.action',
  142. params: {de_code:de_code},
  143. callback: function(opt, s, r) {
  144. Ext.getCmp('win').setLoading(false);
  145. var rs = Ext.decode(r.responseText);
  146. var querygrid = Ext.getCmp('querygrid');
  147. if(rs.exceptionInfo) {
  148. querygrid.setVisible(false);
  149. showError(rs.exceptionInfo);return
  150. } else {
  151. Ext.getCmp("form").getForm().setValues(rs.message);
  152. var gridParam = {caller: caller, condition: (("msl_devcode='" + de_code+"' and msl_status=0 and msl_baseqty>0 order by msl_remainqty,msl_baseqty")), start: 1, end: getUrlParam('_end')||1000};
  153. querygrid.GridUtil.loadNewStore(querygrid, gridParam);
  154. querygrid.setVisible(true);
  155. Ext.getCmp('win').close();
  156. me.cycling();
  157. }
  158. }
  159. });
  160. }
  161. });