{
text: '办理人员',
width: 480,
align: 'center',
dataIndex: 'userName',
editor: {
xtype: 'combo',
editable: false,
multiSelect: true,
name: 'userName',
reference: 'userName',
store: {
type: 'usersourcestore',
id: 'usersource-store',
autoLoad: true
},
listeners: {
select: function (combo, record, eOpts) {
var UserSourceStore = Ext.create('JsApp.store.currency.UserSourceStore');
if (me.selectValues.length == UserSourceStore.data.length) {
combo.setValue(me.selectValues);
}
else if (me.selectValues.length == 0) {
combo.setValue('');
}
else if (record.length == UserSourceStore.data.length - 1) {
combo.setValue(me.selectValues);
}
}
},
listConfig: {
itemTpl: Ext.create('Ext.XTemplate', '<input type=checkbox>{[values.userName]}'),
//设置默认值
onItemSelect: function (record) {
//if (record.data.userUid != "all") {
var node = this.getNode(record);
if (node) {
Ext.fly(node).addCls(this.selectedItemCls);
var checkboxs = node.getElementsByTagName("input");
if (checkboxs != null)
var checkbox = checkboxs[0];
checkbox.checked = true;
}
//}
},
the Listeners: {
itemClick: function (View, Record, Item, index, E, eOpts) {
var AllCheckBox Factory = {// userName full box and the userUid be consistent with the data source (Store) in the
userName: "Select" ,
userUid: "All"
};
var newValues = [];
IF (item.innerText == AllCheckBox.userName) {
var checkboxs = item.getElementsByTagName ( "INPUT");
IF (! checkboxs = null) {
var isSelected = checkboxs[0].checked;
if (isSelected && item.innerText == AllCheckBox.userName) {
Ext.each(record.store.data.items, function (item) {
//if (item.data.userUid != "all") {
item.checked = true;
newValues.push(item.data.userUid);
// }
});
}
else {
Ext.each(this.getNodes(record.store.data.items), function (item) {
var nochecked = item.getElementsByTagName("input");
nochecked[0].checked = false;
});
}
}
me.selectValues = newValues;
}
else {
var isSelected = view.isSelected(item);
var checkboxs = item.getElementsByTagName("input");
if (checkboxs != null) {
var checkbox = checkboxs[0];
if (!isSelected) {
newValues.push(record.data.userUid);
checkbox.checked = true;
} else {
Ext.each(record.store.data.items, function (item) {
if (item.data.userUid == "all") {
view.all.elements[0].getElementsByTagName("input")[0].checked = false;
}
if (item.data.userUid != "all" && record.data.userUid != item.data.userUid) {
newValues.push(item.data.userUid);
}
});
checkbox.checked = false;
}
}
me.selectValues = newValues;
}
}
}
},
margin: '0 5 0 0',
displayField: 'userName',
valueField: 'userUid'
},
listeners: {
click: function (view, rowIndex, colIndex, item, e, record, row) {
var value = record.data.userName;
var UserSourceStore = Ext.create('JsApp.store.currency.UserSourceStore');
if (value != null && value != "" && !Array.isArray(value)) {
value = record.data.userName.split(',');
record.data.userName = new Array(value.length);
for (var i = 0; i < value.length; i++) {
var index = UserSourceStore.find('userName', value[i]);
if (index != -1) {
record.data.userName[i] = UserSourceStore.getAt(index).data.userUid;
}
}
//if (value.length == UserSourceStore.data.length - 1) {
// var index = UserSourceStore.find('userName', '全选');
// if (index != -1) {
// record.data.userName[record.data.userName.length] = UserSourceStore.getAt(index).data.userUid;
// }
//}
}
}
},
renderer: function (value, metadata, record) {
var userName = "";
var userUid = "";
var isName = 0;
if (!Array.isArray(value)) {
value = value.split(',');
isName = 1;
}
for (var i = 0; i < value.length; i++) {
var UserSourceStore = Ext.create('JsApp.store.currency.UserSourceStore');
var index = -1;
if (isName) {
index = UserSourceStore.find('userName', value[i]);
}
else {
index = UserSourceStore.find('userUid', value[i]);
}
if (index != -1) {
userUid += UserSourceStore.getAt(index).data.userUid + ",";
userName += UserSourceStore.getAt(index).data.userName + ",";
}
else {
userName += record.get('userName') + ",";
}
}
userUid = userUid.substring(0, userUid.length - 1);
userName = userName.substring(0, userName.length - 1);
record.data.userUid = userUid;
record.data.userName = userName;
return userName;
}
}