/*页面js模板,必须有init方法*/
(function () {
var companyMap;
var departmentMap;
var userMap;
var userData = {};
var getHeadImg = function (user) {
var url = '';
switch (user.img) {
case '0':
url += 'images/on-girl.jpg';
break;
case '1':
url += 'images/on-boy.jpg';
break;
default:
url += config.webapi + 'learun/adms/user/img?data=' + user.id;
break;
}
return url;
};
var page = {
isScroll: true,
init: function ($page, param) {
companyMap = {};
departmentMap = {};
userMap = {};
// 人员列表数据初始化
learun.clientdata.getAll('user', {
callback: function (data) {
userData = data;
$.each(data, function (_id, _item) {
_item.id = _id;
if (_item.departmentId) {
userMap[_item.departmentId] = userMap[_item.departmentId] || [];
userMap[_item.departmentId].push(_item);
}
else if (_item.companyId) {
userMap[_item.companyId] = userMap[_item.companyId] || [];
userMap[_item.companyId].push(_item);
}
});
var $list = $page.find('#lr_select_user_list');
if (param.op.departmentId) {
userData = {};
// 加载人员
$.each(userMap[param.op.departmentId] || [], function (_index, _item) {
userData[_item.id] = _item;
var _html = '\
\
![]('+ getHeadImg(_item) + ')
\
' + _item.name + '\
';
$list.append(_html);
});
}
else if (param.op.companyId) {
userData = {};
// 加载人员
$.each(userMap[param.op.companyId] || [], function (_index, _item) {
userData[_item.id] = _item;
var _html = '\
\
![]('+ getHeadImg(_item) + ')
\
' + _item.name + '\
';
$list.append(_html);
});
}
else {
// 公司列表数据初始化
learun.clientdata.getAll('company', {
callback: function (data) {
$.each(data, function (_id, _item) {
companyMap[_item.parentId] = companyMap[_item.parentId] || [];
_item.id = _id;
companyMap[_item.parentId].push(_item);
});
$.each(companyMap["0"], function (_index, _item) {
var _html = '\
';
$list.append(_html);
});
// 部门列表数据初始化
learun.clientdata.getAll('department', {
callback: function (data) {
$.each(data, function (_id, _item) {
_item.id = _id;
if (_item.parentId === "0") {
departmentMap[_item.companyId] = departmentMap[_item.companyId] || [];
departmentMap[_item.companyId].push(_item);
}
else {
departmentMap[_item.parentId] = departmentMap[_item.parentId] || [];
departmentMap[_item.parentId].push(_item);
}
});
}
});
}
});
}
}
});
// 注册点击事件
$('#lr_select_user_list').on('tap', function (e) {
e = e || window.event;
var et = e.target || e.srcElement;
var $et = $(et);
if (et.tagName === 'IMG' || et.tagName === 'SPAN') {
$et = $et.parent();
}
var $list = $('');
var flag = false;
var id = $et.attr('data-value');
if ($et.hasClass('company')) {
if ($et.hasClass('bottom')) {
$et.removeClass('bottom');
$et.parent().find('.lr-user-list').remove();
}
else {
$list.css({ 'padding-left': '10px' });
// 加载人员
$.each(userMap[id] || [], function (_index, _item) {
var _html = '\
\
![]('+ getHeadImg(_item) + ')
\
' + _item.name + '\
';
$list.append(_html);
flag = true;
});
// 加载部门
$.each(departmentMap[id] || [], function (_index, _item) {
var _html = '\
';
$list.append(_html);
flag = true;
});
// 加载公司
$.each(companyMap[id] || [], function (_index, _item) {
var _html = '\
';
$list.append(_html);
flag = true;
});
if (flag) {
$et.parent().append($list);
}
$et.addClass('bottom');
}
$list = null;
return false;
}
else if ($et.hasClass('department')) {
if ($et.hasClass('bottom')) {
$et.removeClass('bottom');
$et.parent().find('.lr-user-list').remove();
}
else {
$list.css({ 'padding-left': '10px' });
// 加载人员
$.each(userMap[id] || [], function (_index, _item) {
var _html = '\
\
![]('+ getHeadImg(_item) + ')
\
' + _item.name + '\
';
$list.append(_html);
flag = true;
});
// 加载部门
$.each(departmentMap[id] || [], function (_index, _item) {
var _html = '\
';
$list.append(_html);
flag = true;
});
if (flag) {
$et.parent().append($list);
}
$et.addClass('bottom');
}
$list = null;
return false;
}
else if ($et.hasClass('user')) {
param.callback(userData[id], param.op, param.$this);
learun.nav.closeCurrent();
$list = null;
return false;
}
});
// 搜索事件
$page.find('input').on('input propertychange', function () {
var keyword = $(this).val();
var $list = $('#lr_select_user_list');
if (keyword) {
$list.html("");
$.each(userData, function (_index, _item) {
if (_item.name.indexOf(keyword) !== -1) {
var _html = '\
\
![]('+ getHeadImg(_item) + ')
\
' + _item.name + '\
';
$list.append(_html);
}
});
}
else {
$list.html("");
if (param.op.departmentId) {
// 加载人员
$.each(userMap[param.op.departmentId] || [], function (_index, _item) {
var _html = '\
\
![]('+ getHeadImg(_item) + ')
\
' + _item.name + '\
';
$list.append(_html);
});
}
else if (param.op.companyId) {
// 加载人员
$.each(userMap[param.op.companyId] || [], function (_index, _item) {
var _html = '\
\
![]('+ getHeadImg(_item) + ')
\
' + _item.name + '\
';
$list.append(_html);
});
}
else {
$.each(companyMap["0"], function (_index, _item) {
var _html = '\
';
$list.append(_html);
});
}
}
});
},
destroy: function (pageinfo) {
companyMap = null;
departmentMap = null;
userMap = null;
}
};
return page;
})();