123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.ma.SysUpdate', {
- extend : 'Ext.app.Controller',
- requires : [ 'erp.util.BaseUtil' ],
- views : [ 'ma.SysUpdate', 'core.form.FtDateField' ],
- refs : [ {
- ref : 'date',
- selector : '#date'
- }, {
- ref : 'title',
- selector : '#title'
- }, {
- ref : 'grid',
- selector : '#grid'
- }, {
- ref: 'paging',
- selector : '#grid > pagingtoolbar'
- }],
- 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(grid) {
- grid.store.on('load', function(store, datas){
- me.getUpdateLog(store);
- });
- 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);
- }
- }
- }
- },
- 'menuitem[name=item-find]': {
- click: function(m) {
- me.showPlan(m.ownerCt.record);
- }
- },
- 'menuitem[name=item-cover]': {
- click: function(m) {
- me.upgrade(m.ownerCt.record, 'COVER');
- }
- },
- 'menuitem[name=item-repair]': {
- click: function(m) {
- me.upgrade(m.ownerCt.record, 'REPAIR');
- }
- }
- });
- },
- 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,
- condition = me.toUnicode(me.getCondition());
- me.getGrid().condition = condition;
- store.load({
- params : {
- start : start,
- limit : store.pageSize,
- condition : condition
- }
- });
- },
- getCondition : function() {
- var dateF = this.getDate(), title = this.getTitle().value, filter = {};
- if (dateF.value != null && dateF.value.length > 0) {
- filter.createDate = {"gted": dateF.firstItem.value.getTime(), "lted": dateF.secondItem.value.getTime() + 86399999};
- }
- if (title != null && title.length > 0) {
- filter.title = title;
- }
- return Ext.encode(filter);
- },
- toUnicode : function(s) {
- return s.replace(/([\u4E00-\u9FA5]|[\uFE30-\uFFA0])/g, function() {
- return "\\u" + RegExp["$1"].charCodeAt(0).toString(16);
- });
- },
- getUpdateLog: function(store) {
- var plans = [];
- store.each(function(item){
- plans.push(item.get('id'));
- });
- Ext.Ajax.request({
- url: basePath + 'ma/upgrade/log.action',
- params: {
- planIds: plans.join(',')
- },
- callback: function(opts, success, response) {
- if(success) {
- var res = Ext.decode(response.responseText);
- Ext.each(res, function(d){
- var item = store.findRecord('id', d.plan_id);
- if(item) {
- item.set('install', true);
- item.set('install_version', d.version);
- item.set('install_date', d.install_date);
- }
- });
- }
- }
- });
- },
- upgrade: function(item, type) {
- var me = this;
- me.getGrid().setLoading(true);
- Ext.Ajax.request({
- url: basePath + 'ma/upgrade.action',
- params: {
- planId: item.get('id'),
- type: type || item.get('installType'),
- version: item.get('version')
- },
- timeout: 300000,
- callback: function(opts, success, response) {
- me.getGrid().setLoading(false);
- if(success && response.responseText == 'true') {
- showMessage('恭喜', '升级成功!');
- me.search(0);
- } else {
- showError('升级失败!');
- }
- }
- });
- },
- showPlan: function(item) {
-
- }
- });
|