$(".select2").select2({
language: "zh-CN",
allowClear: true,
width: "350px",
height:"20px",
placeholder: "请选择授权对象",
ajax: {
url: "userList.json",
dataType: 'json',
delay: 250,
data: function (params) {
params.offset = 25;
params.page = params.page || 1;
return {
name: params.term,
page: params.page,
offset: params.offset
};
},
cache: true,
processResults: function (res, params) {
if (res.success) {
var users = res.result.data;
var options = [];
for (var i = 0, len = users.length; i < len; i++) {
var option = {
"id": users[i]["userId"],
"text": (users[i]["departmentName"] + " " + users[i]["realName"] + " " + users[i]["position"])
};
options.push(option);
}
return {
results: options,
pagination: {
more: (params.page * params.offset) < res.result.total
}
};
}
},
escapeMarkup: function (markup) {
return markup;
},
minimumInputLength: 1
}
});
@ResponseBody
@RequestMapping(value = "userList")
public ServiceResult<JSONObject> selectAuthorizationUserList(HttpServletRequest request, ExtUserModel form) {
LogUtil.start(THIS_CLASS.toString(), "userList");
String name = request.getParameter("name");
Integer offset = Integer.valueOf(request.getParameter("offset"));
Integer page = Integer.valueOf(request.getParameter("page"));
if (page == 1) {
page = 0;
} else {
page = (page - 1) * offset;
}
form.setRealName(name);
form.setLimitStart(page);
form.setLimitEnd(offset);
JSONObject data = new JSONObject();
ServiceResult<List<ExtUserModel>> result = this.authorizationService.selectAuthorizationUserList(form);
data.put("data", result.getResult());
data.put("total", this.authorizationService.countUserLength().getResult());
ServiceResult<JSONObject> resultData = new ServiceResult<JSONObject>();
resultData.setResult(data);
resultData.setSuccess(true);
LogUtil.end(THIS_CLASS.toString(), "userList");
return resultData;
}