Ext.QuickTips.init(); Ext.define('erp.controller.scm.product.SetProdLabelTemplate', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), GridUtil: Ext.create('erp.util.GridUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views:[ 'core.form.Panel','scm.product.SetProdLabelTemplate','core.grid.Panel2','core.toolbar.Toolbar', 'core.button.Close','core.button.Save','core.button.CleanDetail','core.button.Update', 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField','core.button.Query' ], init:function(){ var me = this; this.control({ 'erpGridPanel2': { itemclick: this.onGridItemClick }, 'erpCleanDetailButton' : { click: function(btn){ var param = me.getGridItems(); if(param == null || param == ''){ showError("没有需要清除的明细"); return ; } me.cleanDetail(); } }, 'erpUpdateButton': { click: function(btn){ //"PL_SOFT"给grid var labelSoft = Ext.getCmp('pl_labelsoft'); var grid = Ext.getCmp('grid'); var num = grid.getStore().data.length; for(var i=0 ; i < num ; i++){ var record = grid.getStore().getAt(i); } this.FormUtil.onUpdate(this); } }, 'erpCloseButton': { click: function(btn){ me.FormUtil.beforeClose(me); } }, 'erpQueryButton': { click: function(btn){ var grid = Ext.getCmp('grid'); var gridCondition = "pl_prodcode='"+Ext.getCmp('pr_code').value+"'"; var gridParam = {caller: caller, condition: gridCondition}; me.GridUtil.loadNewStore(grid, gridParam); } } }); }, onGridItemClick: function(selModel, record){//grid行选择 this.GridUtil.onGridItemClick(selModel, record); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, Query: function(){ }, cleanDetail: function(){ var grid=Ext.getCmp('grid'); grid.setLoading(true); Ext.Ajax.request({ url :basePath+ 'scm/product/cleanMakeSNCode.action', params: { id:Ext.getCmp('pr_id').value, code:Ext.getCmp('pr_code').value }, method : 'post', callback : function(options,success,response){ grid.setLoading(false); var localJson = new Ext.decode(response.responseText); if(localJson.success){ showMessage('提示', '操作成功!', 1000); //update成功后刷新页面进入可编辑的页面 window.location.reload(); } else if(localJson.exceptionInfo){ showError(localJson.exceptionInfo);return; } } }); }, getGridItems :function(){//检查明细行是否有明细 var grid = Ext.getCmp('grid'); var jsonGridData = new Array(); var form = Ext.getCmp('form'); if(grid!=null){ grid.getStore().each(function(item){//将grid里面各行的数据获取并拼成jsonGridData var data = Ext.clone(item.data); var dd = new Object(); if(data[grid.necessaryField] != null && data[grid.necessaryField] != ""){ if(grid.mainField && form && form.keyField){//例如,将pu_id的值赋给pd_puid dd[grid.mainField] = Ext.getCmp(form.keyField).value; } Ext.each(grid.columns, function(c){ if((c.logic != 'ignore') && c.dataIndex){//只需显示,无需后台操作的字段,自动略去 if(c.xtype == 'datecolumn'){ if(Ext.isDate(data[c.dataIndex])){ dd[c.dataIndex] = Ext.Date.toString(data[c.dataIndex]);//在这里把GMT日期转化成Y-m-d格式日期 } else { dd[c.dataIndex] = Ext.Date.format(new Date(), 'Y-m-d');//如果用户没输入日期,或输入有误,就给个默认日期, //或干脆return;并且提示一下用户 } } else if(c.xtype == 'numbercolumn'){//赋个默认值0吧,不然不好保存 if(data[c.dataIndex] == null || data[c.dataIndex] == ''){ dd[c.dataIndex] = '0';//也可以从data里面去掉这些字段 } else { dd[c.dataIndex] = "" + data[c.dataIndex]; } }else{ dd[c.dataIndex] = data[c.dataIndex]; } } }); jsonGridData.push(Ext.JSON.encode(dd)); } }); return jsonGridData; } } });