Ext.QuickTips.init(); Ext.define('erp.controller.common.NavigationDetails', { extend: 'Ext.app.Controller', requires: ['erp.util.FormUtil', 'erp.util.GridUtil', 'erp.util.BaseUtil'], views:[ 'core.form.Panel','common.NavigationDetails','core.grid.Panel2','core.toolbar.Toolbar','core.trigger.MultiDbfindTrigger','core.trigger.HrOrgTreeDbfindTrigger', 'core.button.Save','core.button.Add','core.button.Submit','core.button.Print','core.button.Upload','core.button.ResAudit','core.button.FormBook', 'core.button.Audit','core.button.Close','core.button.Delete','core.button.Update','core.button.DeleteDetail','core.button.ResSubmit', 'core.button.Scan','core.button.Banned','core.button.ResBanned','core.form.MultiField','core.button.Confirm','core.button.Sync', 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger','core.form.YnField', 'core.grid.YnColumn','core.trigger.AddDbfindTrigger', 'core.form.FileField','core.form.SplitTextField','core.button.End','core.button.ResEnd','core.form.CheckBoxGroup','core.button.TurnMJProject', 'core.form.MonthDateField','core.form.SpecialContainField','core.form.SeparNumber' ], init:function(){ var me = this; me.caller=""; me.FormUtil = Ext.create('erp.util.FormUtil'); me.GridUtil = Ext.create('erp.util.GridUtil'); me.BaseUtil = Ext.create('erp.util.BaseUtil'); this.control({ 'tabpanel':{ afterrender: function(tb) { this.getNavigationDetails(tb, id); } } }); }, getNavigationDetails:function(tb, id) { var me = this; Ext.Ajax.request({ url: basePath + 'common/getNavigationDetails.action', params: { id: id }, callback: function(opt, s, r) { var res = Ext.decode(r.responseText); var url,pagedesc,servicedesc,pageFlag=true,html_page='',html_servive=''; if(res.data){ pagedesc=res.data.pagedesc; servicedesc=res.data.servicedesc; me.caller=res.data.caller; leaf=res.data.leaf; if(pagedesc!=''){ var suffix=pagedesc.substring(pagedesc.lastIndexOf(".")+1); if(suffix=='pdf'){ html_page=''; }else if(suffix == 'doc'|| suffix =='docx'){ Ext.Ajax.request({ url : basePath + 'oa/doc/getHtml.action', params: { folderId:0, path:pagedesc, type:suffix }, method : 'post', async:false, callback : function(opt, s, res){ var r = new Ext.decode(res.responseText); if(r.exceptionInfo){ showError(r.exceptionInfo); } else if(r.success){ path=r.newPath; html_page=''; } } }); } }else{ html_page=''; } if(servicedesc!=''){ var suffix=servicedesc.substring(servicedesc.lastIndexOf(".")+1); if(suffix=='pdf'){ html_servive=''; }else if(suffix == 'doc'|| suffix =='docx'){ Ext.Ajax.request({ url : basePath + 'oa/doc/getHtml.action', params: { folderId:0, path:servicedesc, type:suffix }, method : 'post', async:false, callback : function(opt, s, res){ var r = new Ext.decode(res.responseText); if(r.exceptionInfo){ showError(r.exceptionInfo); } else if(r.success){ path=r.newPath; html_servive=''; } } }); } }else{ html_servive=''; } if(res.data.url) { if(me.FormUtil.contains(res.data.url,'jsps/common/print.jsp')||//打印界面 me.FormUtil.contains(res.data.url,'jsps/common/search.jsp')){//search查询界面 pageFlag=false;//不添加单据展示 } if(me.FormUtil.contains(res.data.url, 'jsps/common/datalist.jsp', true) &&me.FormUtil.contains(res.data.url, '&urlcondition', true)){//列表 url=res.data.url.split('&urlcondition')[0]+'&urlcondition'+res.data.url.split('&urlcondition')[1].split('&')[0]+' and 1=2'; }else if(me.FormUtil.contains(res.data.url, 'jsps/common/datalist.jsp', true)){ url=res.data.url+'&urlcondition=1=2'; }else if(me.FormUtil.contains(res.data.url, '?', true)){ url=res.data.url+'&source=allnavigation'; }else{ url=res.data.url+'?source=allnavigation'; } url=me.parseUrl(url); if(url&&pageFlag){ tb.add({ title:'界面展示', tag : 'iframe', frame : true, border : false, layout : 'fit', html : '' }); } } tb.add({ title:leaf=='T'?'单据说明':'模块说明', layout : 'anchor', tbar:[{xtype : "tbfill"},{xtype:'form', bodyStyle: 'background:#f1f1f1;', name:'pagedesc', anchor: '100% 6%', layout:'column', border:false, items:[{ xtype: 'filefield', name: 'file',width:120, buttonText: '上传说明文档',buttonOnly: true,hideLabel: true, listeners: { change: function(field){ if(field.value != null){ me.upload(field.ownerCt, field,'pagedesc'); } }, render: function (field, p) { Ext.QuickTips.register({ target: field.el, text: '只能上传doc或pdf类型文件!' }); } } },{xtype: 'button',text:'下载',width:70,height:26,icon:'../../resource/images/icon/download.png', href:basePath + 'common/downloadPageinstruction.action?path=' + pagedesc+' &id='+id+' &field=pagedesc', listeners: { afterrender: function(f){ if(!pagedesc) f.hide(); } } }], listeners: { afterrender: function(f){ if(em_type!='admin') f.hide(); } } }], items:[{ tag : 'iframe', frame : true, border : false, layout : 'fit', id:'pagedesciframe', anchor: em_type=='admin'?'100% 94%':'100% 100%', html :html_page }] },{ title:'业务说明', layout : 'anchor', tbar:[{xtype : "tbfill"},{xtype:'form',border:false, layout:'column', bodyStyle: 'background:#f1f1f1;', name:'servicedesc', anchor: '100% 6%', items:[{ xtype: 'filefield', name: 'file', buttonText: '上传说明文档',buttonOnly: true,hideLabel: true,width:120, listeners: { change: function(field){ if(field.value != null){ me.upload(field.ownerCt, field,'servicedesc'); } }, render: function (field, p) { Ext.QuickTips.register({ target: field.el, text: '只能上传doc或pdf类型文件!' }); } } },{xtype: 'button',text:'下载',width:70,height:26,icon:'../../resource/images/icon/download.png', href:basePath + 'common/downloadPageinstruction.action?path=' + servicedesc+' &id='+id+' &field=servicedesc', listeners: { afterrender: function(f){ if(!servicedesc) f.hide(); } } }], listeners: { afterrender: function(f){ if(em_type!='admin') f.hide(); } } }], items:[{ tag : 'iframe', frame : true, id:'servicedesciframe', border : false, layout : 'fit', anchor: em_type=='admin'?'100% 94%':'100% 100%', html : html_servive }] }); tb.add({ title:'权限申请', tag : 'iframe', frame : true, id:'powerApplyTab', border : false, layout : 'fit', html : '' }); } } }); }, upload:function(form, field,fieldname){ var me = this; var filename = ''; if(contains(field.value, "\\", true)){ filename = field.value.substring(field.value.lastIndexOf('\\') + 1); } else { filename = field.value.substring(field.value.lastIndexOf('/') + 1); } if(!me.checkFile(filename)){ showError('当前类型文件不允许上传,只能上传doc或pdf类型文件!'); return false; } form.getForm().submit({ url: basePath + 'common/uploadPageinstruction.action', params:{ caller:me.caller, field:fieldname, id:id }, waitMsg: "正在上传:" + filename, success: function(fp, o){ if(o.result.error){ showError(o.result.error); } else { Ext.Msg.alert("恭喜", filename + " 上传成功!",function(){window.location.reload();}); } } }); }, checkFile:function(fileName){ var arr=['pdf','doc']; var suffix=fileName.substring(fileName.lastIndexOf(".")+1); return Ext.Array.contains(arr,suffix); }, parseUrl: function(url) { var id = url.substring(url.lastIndexOf('?') + 1); //将作为新tab的id if (id == null) { id = url.substring(0, url.lastIndexOf('.')); } if (contains(url, 'session:em_uu', true)) { //对url中session值的处理 url = url.replace(/session:em_uu/g, em_uu); } if (contains(url, 'session:em_code', true)) { //对url中em_code值的处理 url = url.replace(/session:em_code/g, "'" + em_code + "'"); } if (contains(url, 'sysdate', true)) { //对url中系统时间sysdate的处理 url = url.replace(/sysdate/g, "to_date('" + Ext.Date.toString(new Date()) + "','yyyy-mm-dd')"); } if (contains(url, 'session:em_name', true)) { url = url.replace(/session:em_name/g, "'" + em_name + "'"); } if (contains(url, 'session:em_type', true)) { url = url.replace(/session:em_type/g, "'" + em_type + "'"); } if (contains(url, 'session:em_id', true)) { url = url.replace(/session:em_id/g,em_id); } if (contains(url, 'session:em_depart', true)) { url = url.replace(/session:em_depart/g,em_id); } return url; } });