Ext.define('erp.view.oa.doc.DocPanel',{ extend: 'Ext.panel.Panel', alias: 'widget.erpDocPanel', id:'docpanel', requires:['erp.view.oa.doc.DocGrid'], collapsible :false, defaults: { autoScroll:true }, style:'margin-top:-5px;', flex: 4, width:800, layout:'fit', autoShow: true, currentItem:null, frame: true, layout:'fit', dockedItems: [{ xtype: 'toolbar', dock: 'top', style:'font-size:18px;', layout:'column', cls:'maintoolbar', defaults:{ style:'margin-left:10px;margin-top:2px;', }, items: [/*{ id:'upload', text:'上传', tooltip:'上传文件' , xtype:'form', layout:'column', bodyStyle: 'background: transparent no-repeat 0 0;border: none;margin-left:40px;', items: [{ xtype: 'filefield', name: 'file', buttonOnly: true, hideLabel: true, anchor: '100%', width:90, id:'attachfile', msgTarget: 'side', frame:false, buttonConfig: { text: '上传', cls: 'x-btn', }, listeners: { change: function(field){ var filename = ''; if(contains(field.value, "\\", true)){ filename = field.value.substring(field.value.lastIndexOf('\\') + 1); } else { filename = field.value.substring(field.value.lastIndexOf('/') + 1); } field.ownerCt.getForm().submit({ url: basePath + 'common/upload.action?em_code=' + em_code, waitMsg: "正在解析文件信息", success: function(fp,o){ if(o.result.error){ showError(o.result.error); } else { Ext.Msg.alert("恭喜", filename + " 上传成功!"); field.setDisabled(true); var record=Ext.getCmp('grid').selModel.lastSelected; if(record){ record.set('attachs',filename+";"+o.result.filepath); } } } }); } }}] },*/{ xtype:'button', id:'uploadDoc', text:'上传', cls:"button icon arrowup" },{ xtype:'button', id:'downloadDoc', text:'下载', disabled:true, cls:"button icon arrowdown" },{ xtype:'button', id:'read', text:'阅读', disabled:true, tooltip:'阅读文件', cls:"button icon chat"//, /*handler:function(btn){ showResult('提示','当前文件类型不支持在线预览,请先下载!',btn); }*/ },{ xtype:'button', text:'发送', id:'publish', disabled:true, cls:"button icon mail", tooltip:'发送文件', hidden:true },{ xtype:'button', id:'rename', text:'重命名', disabled:true, cls:"button icon edit", tooltip:'重命名文件' }, {xtype:'button', id:'delete', text:'删除', disabled:true, tooltip:'删除文件', cls:"button danger icon trash" },{ xtype:'button', id:'move', text:'移动', tooltip:'移动文件', disabled:true, cls:'button icon move', handler:function(button){ var win = Ext.getCmp('movewin'); var docpanel=Ext.getCmp('doctab'); if(!win){ win=Ext.create('Ext.window.Window',{ width: 550, height:350, closeAction: 'destroy', id:'movewin', layout:'fit', title:'
移动文件
', listeners:{ hide:function(win){ win.destroy(); } }, items:[{ xtype: 'erpDocumentTreePanel', bodyStyle:"background-color:#FAFAFA;", id:'foldertree', store: Ext.create('Ext.data.TreeStore', { root: { expanded: true, children: [{ text: '公共文档', expanded: false, url:"/公共文档", id:0 }] } }) }], buttonAlign:'center', buttons:[{ cls:'x-btn-ok', handler:function(btn){ var grid=Ext.getCmp('docgrid'),me=this; var items = grid.selModel.getSelection(); var select= Ext.getCmp('foldertree').getSelectionModel(); if(items.length<1) showResult('提示','请选择需要移动的文档!',btn); if(select.selected.items.length<1) showResult('提示','请选择需要移动到文件夹!',btn); warnMsg('确认移动选中文档或文件夹?', function(btn){ if(btn == 'yes'){ var data=new Array(); Ext.Array.each(items,function(item){ data.push(Ext.JSON.encode(item.data)); }); Ext.Ajax.request({ url : basePath + 'oa/doc/moveDoc.action', params : { data :unescape(data.toString()), folderId : select.lastSelected.data.id }, method : 'post', callback : function(options,success,response){ var localJson = new Ext.decode(response.responseText); if(localJson.exceptionInfo){ var str = localJson.exceptionInfo; showError(str); }else { var docpanel=Ext.getCmp('docpanel'); docpanel.loadNewStore(CurrentFolderId); showResult('提示','移动成功!',btn); me.up('window').close(); } } }); } }); } },{ cls:'x-btn-close', handler:function(btn){ this.up('window').close(); } }] }); } var el=button.getEl(); button.getEl().dom.disabled = true; if (win.isVisible()) { win.hide(el, function() { el.dom.disabled = false; }); } else { win.show(el, function() { el.dom.disabled = false; Ext.getBody().disabled=true; }); } } },{ xtype:'button', id:'relate', text:'关联', tooltip:'关联文件', disabled:true, cls:'button icon fork', handler:function(button){ var win = Ext.getCmp('relatewin'); var docpanel=Ext.getCmp('doctab'); if(!win){ win=Ext.create('Ext.window.Window',{ width: 450, height:200, closeAction: 'hide', id:'relatewin', title:'
关联文档
', listeners:{ hide:function(win){ win.destroy(); } }, bodyStyle:'background:#F0F0F0;color:#515151;', items:[{ xtype:'textfield', fieldLabel:'关联编号', name:'relatecode', allowBlank:false, cls:'form-field-allowBlank', fieldStyle : "background:#FFFAFA;color:#515151;", id:'relatecode' }], buttonAlign:'center', buttons:[{ cls:'x-btn-ok', handler:function(btn){ var grid=Ext.getCmp('docgrid'),me=this,relatecode=Ext.getCmp('relatecode'); var items = grid.selModel.getSelection(); if(items.length<1) showResult('提示','请选择需要移动的文档!',btn); if(!relatecode.getValue()) showResult('提示','请先选择需要设置关联的文档!',btn); warnMsg('确认移动选中文档或文件夹?', function(btn){ if(btn == 'yes'){ var data=new Array(); Ext.Array.each(items,function(item){ data.push(Ext.JSON.encode(item.data)); }); Ext.Ajax.request({ url : basePath + 'oa/doc/relateDoc.action', params : { data :unescape(data.toString()), relateCode : relatecode.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 { var docpanel=Ext.getCmp('docpanel'); docpanel.loadNewStore(CurrentFolderId); showResult('提示','移动成功!',btn); me.up('window').close(); } } }); } }); } },{ cls:'x-btn-close', handler:function(btn){ this.up('window').close(); } }] }); } var el=button.getEl(); button.getEl().dom.disabled = true; if (win.isVisible()) { win.hide(el, function() { el.dom.disabled = false; }); } else { win.show(el, function() { el.dom.disabled = false; Ext.getBody().disabled=true; }); } } },{ xtype:'button', id:'switch', text:'切换', tooltip:'切换查看方式 ', cls:'button icon loop', scanType:'list' }] }], initComponent : function(){ this.getGridItem(this); this.callParent(arguments); }, getViewItem : function(panel) { var grid=Ext.getCmp('docgrid'); }, getGridItem: function(panel){ return this.items=[{ xtype:'docgrid' }]; }, loadNewStore:function(parentId,record){ var me=this; me.items.items[0].getItemData(parentId,record); }, reSetButton:function(panel){ var grid=Ext.getCmp('docgrid'); var selects=grid.getSelectionModel().getSelection(); var bar=panel.dockedItems.items[0]; Ext.Array.each(bar.items.items,function(item){ if(item.text!='上传'){ item.setDisabled(selects.length==0); } }); } });