Ext.QuickTips.init(); Ext.define('erp.controller.scm.product.MsdInfo', { extend : 'Ext.app.Controller', FormUtil : Ext.create('erp.util.FormUtil'), GridUtil : Ext.create('erp.util.GridUtil'), BaseUtil : Ext.create('erp.util.BaseUtil'), selectid : '', selectmf : Number(Ext.Date.format(new Date(), 'Ym')), views : [ 'scm.product.MSDProduct.MsdInfo','scm.product.MSDProduct.MsdInfoGrid', 'core.button.Save', 'core.trigger.DbfindTrigger', 'core.button.Delete', 'core.button.Close'], init : function() { var me = this; me.gridLastSelected = null; this.control({ 'msdInfoGridGrid' : { itemclick : this.GridUtil.onGridItemClick }, 'erpSaveButton' : { click : function(btn) { this.beforeUpdate(); } }, 'erpDeleteButton' : { click : function(btn) { this.deleteMsdInfo(); } } }); }, deleteMsdInfo : function(btn) { var me = this; var grid = Ext.getCmp('grid'); var id; if(grid.getSelectionModel().lastSelected){ id = grid.getSelectionModel().lastSelected.data.mi_id }else{ return; } Ext.MessageBox.show({ title:'提示', msg: '是否删除所选行?', buttons: Ext.Msg.YESNO, icon: Ext.Msg.WARNING, fn: function(btns){ if(btns == 'yes'){ Ext.Ajax.request({ url : basePath + 'scm/product/deleteMsdInfo.action', params : { id : id, caller:caller }, method : 'post', callback : function(options, success, response) { me.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if (localJson.success) { delSuccess(function() { var grid = Ext.getCmp('grid'); // add成功后刷新页面进入可编辑的页面 var gridCondition = me.BaseUtil.getUrlParam('gridCondition'); gridCondition = (gridCondition == null || gridCondition == "null") ? "1=1" : gridCondition; var gridParam = {caller: caller, condition: gridCondition}; me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, ""); }); } else if (localJson.exceptionInfo) { var str = localJson.exceptionInfo; if (str.trim().substr(0, 12) == 'AFTERSUCCESS') {// 特殊情况:操作成功,但是出现警告,允许刷新页面 str = str.replace('AFTERSUCCESS', ''); delSuccess(function() { var grid = Ext.getCmp('grid'); // add成功后刷新页面进入可编辑的页面 var gridCondition = me.BaseUtil.getUrlParam('gridCondition'); gridCondition = (gridCondition == null || gridCondition == "null") ? "" : gridCondition; var gridParam = {caller: caller, condition: gridCondition}; me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, ""); }); showError(str); } else { showError(str); return; } } else { saveFailure();// @i18n/i18n.js } } }); } } }); }, getForm : function(btn) { return btn.ownerCt.ownerCt; }, beforeSave : function() { this.FormUtil.beforeSave(this); }, beforeUpdate : function() { var grid = Ext.getCmp('grid'); var me = this; var isnumber = true; Ext.each(grid.store.data.items, function(item, index) { if (!Ext.isEmpty(item.get('mi_msdlevel'))) { if (Ext.Number.from(item.data['mi_msdplanoventime'], -1) < 0) isnumber = false; return; if (Ext.Number.from(item.data['mi_msdoventemp'], -1) < 0) isnumber = false; return; if (Ext.Number.from(item.data['mi_msdlifttime'], -1) < 0) isnumber = false; return; } }); if (!isnumber) { showError($I18N.common.msg.failure_isnotnumber); return; } var params = me.GridUtil.getAllGridStore(grid); params = params == null ? [] : "[" + params.toString().replace(/\\/g, "%") + "]"; me.update(params); }, getActiveTab : function() { var tab = null; if (Ext.getCmp("content-panel")) { tab = Ext.getCmp("content-panel").getActiveTab(); } if (!tab && parent.Ext.getCmp("content-panel")) tab = parent.Ext.getCmp("content-panel").getActiveTab(); if (!tab && parent.parent.Ext.getCmp("content-panel")) tab = parent.parent.Ext.getCmp("content-panel").getActiveTab(); if (!tab) { var win = parent.Ext.ComponentQuery.query('window'); if (win.length > 0) { tab = win[win.length - 1]; } } return tab; }, update : function(param) { var me = this; me.getActiveTab().setLoading(true);// loading... Ext.Ajax.request({ url : basePath + 'scm/product/updateMsdInfo.action', params : { param : param, caller:caller }, method : 'post', callback : function(options, success, response) { me.getActiveTab().setLoading(false); var localJson = new Ext.decode(response.responseText); if (localJson.success) { saveSuccess(function() { // add成功后刷新页面进入可编辑的页面 var grid = Ext.getCmp('grid'); var gridCondition = me.BaseUtil.getUrlParam('gridCondition'); gridCondition = (gridCondition == null || gridCondition == "null") ? "1=1" : gridCondition; var gridParam = {caller: caller, condition: gridCondition}; me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, ""); }); } else if (localJson.exceptionInfo) { var str = localJson.exceptionInfo; if (str.trim().substr(0, 12) == 'AFTERSUCCESS') {// 特殊情况:操作成功,但是出现警告,允许刷新页面 str = str.replace('AFTERSUCCESS', ''); saveSuccess(function() { var grid = Ext.getCmp('grid'); var gridCondition = me.BaseUtil.getUrlParam('gridCondition'); gridCondition = (gridCondition == null || gridCondition == "null") ? "1=1" : gridCondition; var gridParam = {caller: caller, condition: gridCondition}; me.GridUtil.getGridColumnsAndStore(grid, 'common/singleGridPanel.action', gridParam, ""); }); showError(str); } else { showError(str); return; } } else { saveFailure();// @i18n/i18n.js } } }); } });