Ext.QuickTips.init(); Ext.define('erp.controller.sys.Feedback', { extend: 'Ext.app.Controller', FormUtil: Ext.create('erp.util.FormUtil'), BaseUtil: Ext.create('erp.util.BaseUtil'), views:[ 'core.form.Panel','sys.Feedback','core.form.MultiField','core.button.Reply', 'core.button.Add','core.button.Submit','core.button.ResSubmit','core.button.Audit','core.button.Save','core.button.Close','core.button.Print', 'core.button.Upload','core.button.Update','core.button.Delete','core.button.ResAudit','core.button.ForBidden', 'core.button.ResForBidden','core.form.FileField','core.button.TurnProject','core.button.TurnBuglist','core.button.Checktask','core.button.Endfeedback', 'core.trigger.TextAreaTrigger','core.trigger.DbfindTrigger','core.form.YnField','core.trigger.AutoCodeTrigger','core.button.Canceltask' ], init:function(){ var me = this; this.control({ 'htmleditor[name=fb_uasdetail]':{ beforerender: function(field){ if(caller=='ReFeedback'){ field.readOnly=true; field.columnWidth=1; }else{ field.readOnly=false; field.columnWidth=1; } } }, 'erpFormPanel': { }, 'erpSaveButton': { click: function(btn){ var form = me.getForm(btn); if(Ext.getCmp(form.codeField).value == null || Ext.getCmp(form.codeField).value == ''){ me.BaseUtil.getRandomNumber();//自动添加编号 } this.FormUtil.beforeSave(this); } }, 'erpDeleteButton' : { click: function(btn){ me.FormUtil.onDelete(Ext.getCmp('fb_id').value); } }, 'erpTurnProject' : { click: function(btn){ /*me.FormUtil.onDelete(Ext.getCmp('fb_id').value);*/ } }, 'erpCanceltaskButton':{ click: function(btn){ Ext.Ajax.request({ url : basePath + '/sys/feedback/canceltask.action', params: { id: Ext.getCmp('fb_id').value, }, method : 'post', callback : function(options,success,response){ var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; showError(str); }else{ alert('修改成功!'); } } }); } }, 'erpTurnBuglist' : { click: function(btn){ var form= Ext.getCmp('form'); Ext.Ajax.request({ url : basePath + form.turnBuglistUrl, params: { id: Ext.getCmp('fb_id').value }, method : 'post', callback : function(options,success,response){ var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; showError(str); }else{ window.location.href = basePath + "jsps/plm/test/newchecklist.jsp?formCondition=cl_idIS" + localJson.id+"&gridCondition=cld_clidIS"+localJson.id; } } }); } }, 'erpUpdateButton': { click: function(btn){ this.FormUtil.onUpdate(this); } }, 'erpAddButton': { click: function(){ me.FormUtil.onAdd('addFeedback', '新增系统问题反馈', 'jsps/sys/Feedback.jsp?caller=Feedback'); } }, 'erpCloseButton': { click: function(btn){ me.FormUtil.beforeClose(me); } }, 'erpSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('fb_statuscode'); if(status && status.value != 'ENTERING'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onSubmit(Ext.getCmp('fb_id').value); } }, 'erpResSubmitButton': { afterrender: function(btn){ var status = Ext.getCmp('fb_statuscode'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResSubmit(Ext.getCmp('fb_id').value); } }, 'erpReplyButton': { afterrender: function(btn){ var status = Ext.getCmp('fb_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ var form= Ext.getCmp('form'); Ext.Ajax.request({ url : basePath + form.replyUrl, params: { id: Ext.getCmp('fb_id').value, comment:Ext.getCmp('fb_uasdetail').getValue(), }, method : 'post', callback : function(options,success,response){ var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; showError(str); }else{ alert('回复成功'); window.location.href = basePath + "jsps/sys/Feedback.jsp?caller=UASFeedback&&formCondition=fb_idIS" + Ext.getCmp('ts_id').value; } } }); } }, 'erpAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('fb_statuscode'); if(status && status.value != 'COMMITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onAudit(Ext.getCmp('fb_id').value); } }, 'dbfindtrigger[name=fb_module]': { afterrender: function(f){ f.onTriggerClick = function(){ me.getModuleTree(); }; f.autoDbfind = false; } }, 'treepanel': { itemmousedown: function(selModel, record){ var tree = selModel.ownerCt; me.loadTree(tree, record); } }, 'erpChecktaskButton':{ click: function(btn){ Ext.Ajax.request({ url : basePath + '/sys/feedback/changestatus.action', params: { id: Ext.getCmp('fb_id').value, }, method : 'post', callback : function(options,success,response){ var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; showError(str); }else{ alert('修改成功!'); } } }); } }, 'erpEndfeedbackButton':{ click: function(btn){ Ext.Ajax.request({ url : basePath + '/sys/feedback/Endfeedback.action', params: { id: Ext.getCmp('fb_id').value, }, method : 'post', callback : function(options,success,response){ var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; showError(str); }else{ alert('修改成功!'); } } }); } }, 'erpResAuditButton': { afterrender: function(btn){ var status = Ext.getCmp('fb_statuscode'); if(status && status.value != 'AUDITED'){ btn.hide(); } }, click: function(btn){ me.FormUtil.onResAudit(Ext.getCmp('fb_id').value); } } }); }, getForm: function(btn){ return btn.ownerCt.ownerCt; }, getModuleTree: function(){ var w = Ext.create('Ext.Window',{ title: '查找模板', height: "100%", width: "80%", maximizable : true, buttonAlign : 'center', layout : 'anchor', items: [{ anchor: '100% 100%', xtype: 'treepanel', rootVisible: false, useArrows: true, store: Ext.create('Ext.data.TreeStore', { root : { text: 'root', id: 'root', expanded: true } }) }], buttons : [{ text : '关 闭', iconCls: 'x-button-icon-close', cls: 'x-btn-gray', handler : function(btn){ btn.ownerCt.ownerCt.close(); } },{ text: '确定', iconCls: 'x-button-icon-confirm', cls: 'x-btn-gray', handler: function(btn){ var t = btn.ownerCt.ownerCt.down('treepanel'); if(!Ext.isEmpty(t.title)) { Ext.getCmp('fb_module').setValue(t.title); } btn.ownerCt.ownerCt.close(); } }] }); w.show(); this.loadTree(w.down('treepanel'), null); }, loadTree: function(tree, record){ var pid = 0; if(record) { if (record.get('leaf')) { return; } else { if(record.isExpanded() && record.childNodes.length > 0){ record.collapse(true, true);//收拢 return; } else { if(record.childNodes.length != 0){ record.expand(false, true);//展开 return; } } } pid = record.get('id'); } tree.setLoading(true); Ext.Ajax.request({ url : basePath + 'common/lazyTree.action', params: { parentId: pid, condition: 'sn_using=1' }, callback : function(options,success,response){ tree.setLoading(false); var res = new Ext.decode(response.responseText); if(res.tree){ if(record) { record.appendChild(res.tree); record.expand(false,true);//展开 tree.setTitle(record.getPath('text', '/').replace('root', '').replace('//', '/')); } else { tree.store.setRootNode({ text: 'root', id: 'root', expanded: true, children: res.tree }); } } else if(res.exceptionInfo){ showError(res.exceptionInfo); } } }); } });