Ext.define('erp.view.oa.doc.DocGrid', {
extend: 'Ext.grid.Panel',
alias: 'widget.docgrid',
id:'docgrid',
columns:[{
text:'ID',
dataIndex:'dl_id',
width:0,
},{
cls : "x-grid-header-1",
text: '文档名称',
dataIndex: 'dl_name',
flex: 1,
readOnly:true,
renderer:function(val, meta, record){
var style=record.data.dl_style;
if(style!='目录') return '
' + val;
else return '
'+val;
}
},{
cls : "x-grid-header-1",
text: '锁定状态',
dataIndex: 'dl_locked',
width:100,
readOnly:true,
renderer:function(val, meta, record){
if(val==-1) return '
';
else return '';
}
},{
cls : "x-grid-header-1",
text: '文件类型',
dataIndex: 'dl_style',
width:100
},{
cls : "x-grid-header-1",
text:'文件大小',
dataIndex: 'dl_size',
width:100,
readOnly:true,
renderer:function(val,meta,record){
if(record.data.dl_kind==-1){
return "/";
}else {
var f = parseFloat(val);
if (isNaN(f)) {
return;
}
f = Ext.util.Format.number(Math.round(val*100)/(100*1024*1024),'0.00');
return f+" MB";
}
}
},{
cls : "x-grid-header-1",
text:'更新时间',
dataIndex:'dl_createtime',
readOnly:true,
width:150,
xtype:"datecolumn",
format:"Y-m-d H:i:s"
},{
cls:'x-grid-header-1',
text:'创建者',
dataIndex:'dl_creator',
width:100,
readOnly:true
},{
cls : "x-grid-header-1",
text:'是否文件夹',
dataIndex: 'dl_kind',
width:0,
flex: 0,
readOnly:true
}],
store: Ext.create('Ext.data.Store', {
fields: [{
name: 'dl_id',
type: 'number'
},{
name:'dl_name',
type:'string'
},{
name: 'dl_locked',
type: 'number'
},{
name:'dl_style',
type:'string'
},{
name:'dl_size',
type:'float'
},{
name:'dl_createtime',
type:'date'
},{
name:'dl_creator',
type:'string'
},{
name:'dl_kind',
type:'number'
}],
sorters: [{
property : 'dl_createtime',
direction: 'DESC'
}]
}),
selModel: Ext.create('Ext.selection.CheckboxModel',{
listeners:{
'select': function(selModel, record){
//selModel.view.ownerCt.selectAllPower(record);
},
'deselect': function(selModel, record){
//selModel.view.ownerCt.deselectAllPower(record);
}
},
onHeaderClick: function(headerCt, header, e) {
var grid = headerCt.ownerCt;
if (header.isCheckerHd) {
var isChecked = header.el.hasCls(Ext.baseCSSPrefix + 'grid-hd-checker-on');
if (!isChecked) {
grid.store.each(function(item){
grid.selectAllPower(item);
});
grid.selModel.selectAll();
} else {
grid.store.each(function(item){
grid.deselectAllPower(item);
});
grid.selModel.deselectAll();
}
}
}
}),
initComponent: function(){
this.addEvents(
'rowdblclick',
'select'
);
this.callParent(arguments);
this.on('selectionchange', this.onSelect, this);
},
getItemData: function(parentId,record){
var me = this;
me.setLoading(true);
var condition=parentId==5?"dl_statuscode='DELETED'":"dl_statuscode='AUDITED'";
Ext.Ajax.request({
url : basePath + 'oa/docuemtlist/getDocumentsByParentId.action',
params: {
parentId:parentId,
condition:condition,
_self: false
},
method : 'post',
callback : function(options,success,response){
me.setLoading(false);
var res = new Ext.decode(response.responseText);
if(res.exception || res.exceptionInfo){
showError(res.exceptionInfo);
return;
}
me.store.loadData(res.docs);
if(record!=null) me.getSelectionModel().select(record.index);
}
});
},
onRowDblClick: function(view, record, item, index, e) {
this.fireEvent('rowdblclick', this, this.store.getAt(index));
},
onSelect: function(model, selections){
var selected = selections[0];
if (selected) {
this.fireEvent('select', this, selected);
}
},
onLoad: function(){
this.getSelectionModel().select(0);
},
loadFeed: function(url){
var store = this.store;
store.getProxy().extraParams.feed = url;
store.load();
},
formatTitle: function(value, p, record){
return Ext.String.format('