Ext.QuickTips.init(); Ext.define('erp.controller.ma.update.UpdateScheme', { 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','core.grid.Panel2','ma.update.UpdateScheme','core.trigger.AddDbfindTrigger','ma.update.UpdateSchemeTree','core.trigger.MultiDbfindTrigger', 'core.button.Save','core.button.Add','core.button.Delete','core.button.Update','core.trigger.SearchField','core.button.HistoryUpdate','core.button.Sync', 'core.grid.TfColumn', 'core.grid.YnColumn' ], init:function(){ var me = this; this.flag = true; this.control({ 'field[name=empnames_]':{ afterrender:function(f){ Ext.apply(f, { extend: 'Ext.form.field.Trigger', triggerCls: 'x-form-search-trigger', selecteddata:new Array(), initComponent: function() { this.addEvents({ aftertrigger: true, beforetrigger: true }); this.callParent(arguments); }, onTriggerClick: function() { var dbwin=Ext.getCmp('empwin'); if(dbwin){ return; }else{ dbwin=me.createWin(); dbwin.show(); } } }); } }, 'erpGridPanel2':{ reconfigure:function(){ var id=Ext.getCmp('id_').value; if(id){ var grid=Ext.getCmp('grid'); grid.getSelectionModel().selectAll(); this.getOtherData(id); } }, storeloaded:function(){ var grid=Ext.getCmp('grid'); grid.getSelectionModel().selectAll(); } }, 'upstreepanel':{ itemmousedown:function(selModel, record){ if (!this.flag) { return; } this.flag = false; setTimeout(function() { me.flag = true; me.loadData(selModel, record); }, 20); } }, 'erpHistoryUpdateButton':{ afterrender:function(b){ if(!Ext.getCmp('id_').value){ b.hide(); } }, click: function(btn){ var id=Ext.getCmp('id_').value; var w = Ext.create('Ext.Window', { width: '60%', height: '80%', id: 'history-win', title: '更新数据历史记录', autoShow: true, layout: 'anchor', items: [{ xtype: 'gridpanel', anchor: '100% 100%', columnLines: true, columns: [{dataIndex: 'ul_id', hidden: true},{dataIndex: 'ul_usid', hidden: true}, {dataIndex: 'ul_man', text: '更新人编号', flex: 1}, {dataIndex: 'ul_date', text: '日期', flex: 2}, {dataIndex: 'ul_count', text: '数据量(条)', flex: 1}, {dataIndex: 'ul_checked', text: '是否校验通过', flex: 1, renderer: function(val, m){ if(val == '否') { m.style = 'float:right'; } return val; }}, {dataIndex: 'ul_success', text: '是否更新成功', flex: 1, renderer: function(val, m){ if(val == '否') { m.style = 'float:right'; } return val; }}], store: Ext.create('Ext.data.Store', { fields: ['ul_id', 'ul_usid', 'ul_man', 'ul_date', 'ul_count', 'ul_checked', 'ul_success'], data: [{},{},{},{},{},{},{},{}] }) }] }); me.getUpdateLog(w.down('gridpanel'),id); } }, 'erpUpdateButton': { afterrender:function(b){ if(!Ext.getCmp('id_').value){ b.hide(); } }, click: function(btn){ this.onUpdate(this); } }, 'erpDeleteButton': { afterrender:function(b){ if(!Ext.getCmp('id_').value){ b.hide(); } }, click: function(btn){ me.onDelete(Ext.getCmp('id_').value); } }, 'erpSyncButton': { afterrender:function(b){ if(!Ext.getCmp('id_').value){ b.hide(); } } }, 'erpAddButton': { afterrender:function(b){ if(!Ext.getCmp('id_').value){ b.hide(); } }, click: function(){ var form=Ext.getCmp('form'); Ext.each(form.items.items,function(item){ item.setValue(""); }); var grid=Ext.getCmp('grid'); grid.store.removeAll(); me.GridUtil.add10EmptyItems(grid,40); Ext.getCmp('addbtn').hide(); Ext.getCmp('deletebutton').hide(); Ext.getCmp('save').show(); Ext.getCmp('syncbtn').hide(); Ext.getCmp('updatebutton').hide(); Ext.getCmp('historyupdate').hide(); } }, 'erpSaveButton': { afterrender:function(b){ if(Ext.getCmp('id_').value){ b.hide(); } }, click: function(btn){ //保存之前的一些前台的逻辑判定 this.beforeSave(this); } }, 'field[name=indexfields_]': { afterrender:function(trigger){ trigger.dbKey='table_'; trigger.mappingKey='table_name'; trigger.dbMessage='请先选择更新表'; } }, 'dbfindtrigger[name=table_]':{ aftertrigger:function(trigger){ var grid = Ext.getCmp('grid'); var table=trigger.value; Ext.Ajax.request({//查询数据 url : basePath + '/ma/getColumns.action', params:{ tablename:table }, callback : function(options,success,response){ var res = new Ext.decode(response.responseText); var count=0; if(res.data){ var store = grid.store; var arr=res.data; store.loadData(arr, false); var i = 0; store.each(function(item, x){ if(item.index) { i = item.index; } else { if (i) { item.index = i++; } else { item.index = x; } } }); } else if(res.exceptionInfo){ showError(res.exceptionInfo); } } }); } } }); }, beforeSave:function(){ var me = this; var form = Ext.getCmp('form'); if(!me.FormUtil.checkForm()){ return; } if(Ext.getCmp(form.keyField).value == null || Ext.getCmp(form.keyField).value == ''){ me.FormUtil.getSeqId(form); } var grid = Ext.getCmp('grid'); var jsonGridData = new Array(); if(grid) { var items=grid.store.data.items; var flag=0; Ext.Array.each(items,function(item,index){//数据顺序是否变化 if(item.data.checked_!=0||item.data.checked_==true){ if(item.data.detno_!=(index+1)){ flag=1; } } }); var i=1,j=0,jsonGridData=new Array(),s=new Array(); Ext.Array.each(items,function(item,index){ if(item.dirty){ j++; } if(item.data.checked_!=0||item.data.checked_==true){ item.data.detno_=i; item.data.checked_=1; s.push(item.data); i++; } }); if(i==1){ showError('请勾选明细行');return; }else{ for(var i=0;i' }], buttons : [{ text : '确认', iconCls: 'x-button-icon-save', cls: 'x-btn-gray', handler : function(b){ me.confirm(); } },{ text : '关 闭', iconCls: 'x-button-icon-close', cls: 'x-btn-gray', handler : function(b){ b.ownerCt.ownerCt.close(); } }] }); return dbwin; } });