Ext.QuickTips.init(); Ext.define('erp.controller.ma.SvnLog', { extend : 'Ext.app.Controller', requires : [ 'erp.util.BaseUtil' ], views : [ 'ma.SvnLog', 'core.form.FtDateField' ], refs : [ { ref : 'date', selector : '#date' }, { ref : 'remark', selector : '#remark' }, { ref : 'grid', selector : '#grid' }, { ref: 'paging', selector : '#grid > pagingtoolbar' }, { ref: 'switch', selector : '#switch' }, { ref: 'svninfo', selector : '#svninfo' }], init : function() { this.BaseUtil = Ext.create('erp.util.BaseUtil'); var me = this; this.control({ '#refresh' : { click : function(btn) { if (me.getPaging().fireEvent('beforechange', me.getPaging(), 1) !== false){ me.search(0); } } }, '#close' : { click : function() { this.BaseUtil.getActiveTab().close(); } }, '#date' : { afterrender : function(field) { field.setValues(me.getDateArea('m', -1), me.getDateArea('d', 0)); } }, '#grid' : { afterrender : function() { me.search(0); } }, '#switch' : { change : function() { me.search(0); } }, 'button' : { click : function(btn) { if (btn.param) { var a = btn.param[0], b = btn.param[2], m = btn.param[1], n = btn.param[3]; me.getDate().setValues(me.getDateArea(a, m), me.getDateArea(b, n)); if (me.getPaging().fireEvent('beforechange', me.getPaging(), 1) !== false){ me.search(0); } } } }, '#svninfo' : { afterrender: function(field) { // 系统程序版本 Ext.Ajax.request({ url: basePath + 'common/svninfo.html', callback: function(scope, success, response) { if(response.status == 200) { field.setValue(response.responseText); } } }); } }, '#svnlast' : { afterrender: function(field) { // 系统程序版本 Ext.Ajax.request({ url: basePath + 'ma/svn/version.action', callback: function(scope, success, response) { if(response.status == 200) { var rs = Ext.decode(response.responseText); field.setValue(rs.version); } } }); } } }); }, getDateArea : function(type, val) { var today = new Date(), year = today.getFullYear(), month = today.getMonth(), day = today.getDate(); if (type == 'd') { return new Date(year, month, day + val); } else if (type == 'm') { return new Date(year, month + val, val == 0 ? 1 : day); } else if (type == 'y') { return new Date(year + val, val == 0 ? 0 : month, val == 0 ? 1 : day); } }, search : function(start) { var me = this, store = me.getGrid().store; store.load({ params : { start : start, limit : store.pageSize, condition : me.toUnicode(me.getCondition()) } }); }, getCondition : function() { var date = this.getDate().value, remark = this.getRemark().value, onlyNew = this.getSwitch().getValue(), version = this.getSvninfo().getValue(), str = ''; if (date != null && date.length > 0) { str += ' log_date ' + date; } if (remark != null && remark.length > 0) { if (str.length > 0) str += ' and '; str += ' log_remark like \'%' + remark + '%\''; } if (onlyNew && version != null) { if (str.length > 0) str += ' and '; str += ' log_version > ' + version; } return str; }, toUnicode : function(s) { return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g, function() { return "\\u" + RegExp["$1"].charCodeAt(0).toString(16); }); } });