//搜索field
ZY.Form.Search = function(cfg) {
ZY.Form.Search.superclass.constructor.call(this, {
xtype: 'twintriggerfield',
trigger1Class: 'x-form-clear-trigger',
trigger2Class: 'x-form-search-trigger'
});
Ext.apply(this, cfg);
}
Ext.extend(ZY.Form.Search, Ext.form.TwinTriggerField, {
onTrigger1Click : function(e) {
this.reset();
}
});
//模糊搜索组建基于GridPanel。
ZY.Form.SearchBySth = function(cfg){
cfg = cfg || {};
Ext.apply(this,cfg);
var pageSize=10;
//测试的数据
var data = {
'success':'true',
'total':'1',
'rows': [
{ 'id': '1', 'department ':'研发部','name': '标光师兄'}
]
};
var _store=new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
method:'POST',
url:'system_admin/user/search.jsp'
}),
// data: data,
id:'_start_service_request_form_store',
// proxy: new Ext.data.MemoryProxy(data),
reader : new Ext.data.JsonReader({
idProperty : 'id',
successProperty:'success',
totalProperty:'total',
root :'rows',
fields : [
{name: 'id'},
{name: 'department'},
{name: 'name'}
]
})
// remoteSort: true
});
//_store.load({params:{start:0,limit:pageSize}});
var _search=new ZY.Form.Search({displayed:true,width:350});
_search.onTrigger2Click=function(e){
_store.reload({
params:{name:this.getValue()}
//callback: function(r, opts, success) {}
});
};
ZY.Form.SearchBySth.superclass.constructor.call(this,{
//添加自己的控件配置。
store : _store,
height : 200,
// autoHeight: true,
autoScoll:true,
border : false,
colModel : new Ext.grid.ColumnModel({
defaults : {
width : 120,
sortable : true
},
columns : [
{header:'userID',dataIndex:'id',hidden:true},
{header: '部门', dataIndex: 'department'},
{header: '姓名', dataIndex: 'name'}
]
}),
viewConfig: {
forceFit: true,
emptyText: '[暂无数据]'
},
loadMask: {msg: '列表加载中...'},
tbar: [
'搜索:',
_search
]/*,
bbar:new Ext.PagingToolbar({
store:_store, //数据源
pageSize:pageSize,
//显示右下角信息
displayInfo:true,
displayMsg:'当前记录 {0} -- {1} 条 共 {2} 条记录',
emptyMsg:"0条记录存在",
prevText:"上一页",
nextText:"下一页",
refreshText:"刷新",
lastText:"最后页",
firstText:"第一页",
beforePageText:"当前页",
afterPageText:"共{0}页"
}) */
});
}
Ext.extend(ZY.Form.SearchBySth,Ext.grid.GridPanel);
//下拉树人员选择列表_test
ZY.Form.ComboBoxTree2 = function(cfg) {
ZY.Form.ComboBoxTree2.superclass.constructor.call(this, {
editable : false,
name : 'serviceRequest',
submitValue : false,
triggerClass : 'x-form-search-trigger'
});
Ext.apply(this, cfg);
}
Ext.extend(ZY.Form.ComboBoxTree2, Ext.form.TriggerField, {
setRealValue: function(value) {
this.RealValue = value;
},
getRealValue: function() {
return this.RealValue;
},
onTriggerClick : function(e) {
var userComboxField = this;
var _searchBySth=new ZY.Form.SearchBySth({id:'card-1'});
_searchBySth.on('dblclick', function(){
_confirmAction();
});
var i=0;
var _confirmAction = function() {
if(i==0){
var _selected = _userTree.getSelectionModel().getSelectedNode();
if(!_selected) {
Ext.Msg.alert('提示', '请选择需要关联的服务请求!');
} else {
userComboxField.setValue(_selected.text);
userComboxField.setRealValue(_selected.id);
_win.close();
}
}else{
var _selected2=_searchBySth.getSelectionModel().getSelected();
if(!_selected2){
Ext.Msg.alert('提示','请选择需要关联的服务请求!');
}else{
userComboxField.setValue(_selected2.get('name'));
userComboxField.setRealValue(_selected2.get('id'));
_win.close();
}
}
}
var _userTree = new Ext.tree.TreePanel({
id:'card-0',
useArrows : true,
autoScroll: true,
singleExpand : true,
animate: true,
border: false,
height: 100,
rootVisible: false,
loader : new Ext.tree.TreeLoader({
dataUrl : ZY.Request.SHOW_FUNCTION_STAFF_TREE_URL,
baseParams : {type: 'project'}
}),
root : new Ext.tree.AsyncTreeNode({
//expanded : true,
id : '1'
}),
listeners: {
beforeload : function(node) {
this.body.mask('加载中..', 'x-mask-loading');;
if (node.attributes.type == 'dept') {
_userTree.loader.baseParams = {};
}
},
load: function(node){
node.eachChild(function(n){
n.attributes.singleClickExpand = true;
})
this.body.unmask();
},
dblclick: function(n, e) {
if(n.attributes.type != 'dept') {
_confirmAction();
}
}
}
});
var cardNav = function(incr){
var card_prev=Ext.getCmp('card-prev');
var card_next=Ext.getCmp('card-next');
if(incr == -1){
i--;
if(i<0){
i=0;
}
card_prev.disable();
card_next.enable();
}
if(incr==1){
i++;
if(i>0){
i=1;
}
card_prev.enable();
card_next.disable();
_searchBySth.getStore().reload({
params:{name:''}
});
}
// Ext.Msg.alert(i);
Ext.getCmp('service_request_search_win').getLayout().setActiveItem("card-"+i);
};
var _win = new Ext.Window({
id:'service_request_search_win',
width: 400,
height: 400,
title: '选择人员',
iconCls: Icon.ADD_CLS,
buttonAlign: 'center',
layout:'card',
activeItem: 0,
bbar:[
'->',{
id:'card-prev',
text: '« 树搜索',
handler: cardNav.createDelegate(this, [-1]),
disabled : true
},{
id:'card-next',
text: '模糊搜索 »',
handler:cardNav.createDelegate(this,[1])
}
],
items : [
_userTree,
_searchBySth
],
buttons: [
{
text: '确定',
handler: function() {
_confirmAction();
}
},
{
text: '取消',
handler: function() {
_win.close();
}
}
]
}).show();
}
});
Grid panel
最新推荐文章于 2019-04-19 14:33:26 发布