这段代码是一个基于 jQuery 的员工管理页面前端逻辑;该代码实现了一个完整的员工管理前端交互逻辑,通过 AJAX 与后端接口通信,实现了数据的加载、分页和 CRUD 操作,并且根据不同角色展示不同的操作权限。

pull/1/head
gaoyating 4 months ago
parent b27194da26
commit 064dc2964a

@ -1,12 +1,15 @@
var pageNum=1;
var pageSize=8;
var l;
//测试代码提交2
// 定义分页相关变量:当前页码、每页显示数量、当前页数据条数
var pageNum=1;// 当前页码初始为第1页
var pageSize=8;// 每页显示8条数据
var l;// 用于记录当前页实际加载的数据条数
// 页面DOM加载完成后执行
$(document).ready(function(){
getStaffList(); // 调用函数
getStaffList(); // 调用函数,调用获取员工列表的函数,初始化页面数据
// 绑定"上一页"按钮点击事件点击时调用getPre()函数
$("#pre").on('click',function(){
getPre();
});
// 绑定"下一页"按钮点击事件点击时调用getNext()函数
$("#next").on('click',function(){
getNext();
});
@ -16,64 +19,82 @@ $(document).ready(function(){
//判断对象/JSON是否为空 空返回1 非空返回0
function isEmptyObject(e) {
var t;
for (t in e)
for (t in e) // 遍历对象属性,若存在属性则说明非空
return 0;
return 1;
}
// 存储当前页的员工列表数据
var list;
// 获取员工列表数据的函数
function getStaffList(){
$.ajax({
type:"post",
url:"../user/getAllUser.do",
dataType:"JSON",
data:{
type:"post",// 请求类型为POST
url:"../user/getAllUser.do",// 请求后端接口地址
dataType:"JSON",// 预期返回数据类型为JSON
data:{// 传递给后端的参数:当前页码和每页数量
"pageNum":pageNum,
"pageSize":pageSize
},
// 请求成功的回调函数
success:function(data){
// 后端返回状态码为"0"表示成功
if(data.code=="0"){
// 若当前页数据为空且页码大于0回退到上一页并重新加载
if(isEmptyObject(data.List)&&pageNum>0){
pageNum=pageNum-1;
getStaffList();
}
else{
var power=" ";
var htmlStr=" ";
var btnStr=" ";
list=data.List;
l=0;
var power=" ";// 存储职位名称
var htmlStr=" ";// 存储表格行HTML
var btnStr=" ";// 存储操作按钮HTML
list=data.List;// 将后端返回的列表数据存入全局变量
l=0;// 重置当前页数据条数计数
// 显示上一页和下一页按钮(默认先显示,后续根据情况隐藏)
$("#pre").css("display","block");
$("#next").css("display","block");
// 清空表格内容并添加表头
$("#staffList").empty();
$("#staffList").append("<tr><th>账号</th><th>员工号</th><th>姓名</th><th>年龄</th><th>职位</th><th>联系方式</th><th>操作</th></tr>")
// 遍历员工列表,生成表格内容
for(i in list){
// 根据权限值(power)设置职位名称和操作按钮
if(list[i].power=="0") {
power="管理员";
btnStr=" ";
btnStr=" ";// 管理员无操作按钮
}
else if(list[i].power=="1") {
power="经理";
// 经理的操作按钮:设置为员工、删除
btnStr="<input type=\"button\" id=\"setStaff\" data-userid=\""+list[i].userid+"\" class=\"btn btn-success\" value=\"设置为员工\"/> <input type=\"button\" id=\"delUser\" data-userid=\""+list[i].userid+"\" class=\"btn btn-danger\" value=\"删除\"/>"
}
else if(list[i].power=="2") {
power="员工";
power="员工";// 员工的操作按钮:设置为经理、重置密码、删除
btnStr="<input type=\"button\" id=\"setManage\" data-userid=\""+list[i].userid+"\" class=\"btn btn-success\" value=\"设置为经理\"/> <input type=\"button\" id=\"setPwd\" data-userid=\""+list[i].userid+"\" class=\"btn btn-info\" value=\"重置密码\"/> <input type=\"button\" id=\"delUser\" data-userid=\""+list[i].userid+"\" class=\"btn btn-danger\" value=\"删除\"/>"
}
else {
power="清洁工";
// 清洁工的操作按钮:重置密码、删除
btnStr="<input type=\"button\" id=\"setPwd\" data-userid=\""+list[i].userid+"\" class=\"btn btn-info\" value=\"重置密码\"/> <input type=\"button\" id=\"delUser\" data-userid=\""+list[i].userid+"\" class=\"btn btn-danger\" value=\"删除\"/> "
}
// 拼接当前员工的表格行HTML
htmlStr="<tr data-userid=\""+list[i].userid+"\"><td>"+list[i].useraccount+"</td><td>"+list[i].idnumber+"</td><td>"+list[i].username+"</td><td>"+list[i].age+"</td><td>"+power+"</td><td>"+list[i].phonenumber+"</td><td>"+btnStr+"</td></tr>";
// 将表格行添加到表格中
$("#staffList").append(htmlStr);
l++;
l++;// 累加当前页数据条数
//console.log(htmlStr)
}
// 若当前是第1页隐藏"上一页"按钮
if(pageNum=="1") $("#pre").css("display","none");
// 若当前页数据条数小于每页显示数量,说明是最后一页,隐藏"下一页"按钮
if(pageSize>l) $("#next").css("display","none");
// 绑定操作按钮的点击事件
btnOn();
}
@ -85,72 +106,85 @@ function getStaffList(){
},
// 请求失败的回调函数
error:function(){
alert("获取员工列表发生错误")
}
})
}
// 绑定操作按钮的点击事件
function btnOn(){
// 绑定"设置为员工"按钮事件调用setPosition并传递权限值"2"
$("input").filter("#setStaff").on('click',function(event){
setPosition(event,"2");
});
// 绑定"设置为经理"按钮事件调用setPosition并传递权限值"1"
$("input").filter("#setManage").on('click',function(event){
setPosition(event,"1");
});
// 绑定"重置密码"按钮事件调用setPwd
$("input").filter("#setPwd").on('click',function(event){
setPwd(event);
});
// 绑定"删除"按钮事件调用delUser
$("input").filter("#delUser").on('click',function(event){
delUser(event);
});
// 绑定"跳转页码"按钮事件调用setPage
$("input").filter("#setPageBtn").on('click',function( ){
setPage( );
})
}
// 上一页功能页码减1并重新加载列表
function getPre(){
pageNum=pageNum-1;
getStaffList();
}
// 下一页功能页码加1并重新加载列表
function getNext(){
pageNum=pageNum+1;
getStaffList();
}
// 跳转指定页码功能
function setPage(){
// 验证输入的页码是否合法大于0
if($("#inputPage").val()<0 || $("#inputPage").val()==0)
alert("请输入正确页码");
else{
pageNum=$("#inputPage").val();
getStaffList();
pageNum=$("#inputPage").val(); // 更新页码
getStaffList();// 重新加载列表
}
}
// 修改员工职位(权限)的函数
function setPosition(event,alter){
var userid=$(event.target).data("userid");
var info;
var userid=$(event.target).data("userid"); // 获取目标员工的ID
var info;// 存储目标员工的详细信息
// 从当前列表中查找目标员
for(i in list){
if(list[i].userid==userid){
info=list[i];
}
}
// 发送AJAX请求修改权限
$.ajax({
type:"POST",
url:"../user/updateUser.do",
url:"../user/updateUser.do",// 后端修改用户接口
dataType:"JSON",
data:{
data:{// 传递用户ID和新权限值
"userid":info.userid,
"power":alter
},
success:function(data){
if(data.code==0){
if(data.code==0){// 修改成功
alert("修改成功");
getStaffList();
getStaffList();// 重新加载列表刷新数据
}
else
alert("修改失败")
@ -162,27 +196,30 @@ function setPosition(event,alter){
}
// 重置员工密码的函数
function setPwd(event){
var userid=$(event.target).data("userid");
var info;
var userid=$(event.target).data("userid");// 获取目标员工的ID
var info;// 存储目标员工的详细信息
// 从当前列表中查找目标员工
for(i in list){
if(list[i].userid==userid){
info=list[i];
}
}
info.password="111111";
info.password="111111"; // 重置密码为"111111"
// 发送AJAX请求修改密码
$.ajax({
type:"POST",
url:"../user/updateUser.do",
url:"../user/updateUser.do",// 后端修改用户接口
dataType:"JSON",
data:{
data:{// 传递用户ID和新密码
"userid":info.userid,
"password":info.password
},
success:function(data){
if(data.code==0){
if(data.code==0){// 修改成功
alert("修改成功");
getStaffList();
getStaffList(); // 重新加载列表刷新数据
}
else
alert("修改失败")
@ -192,22 +229,24 @@ function setPwd(event){
}
})
}
// 删除员工的函数
function delUser(event){
var userid=$(event.target).data("userid");
var userid=$(event.target).data("userid"); // 获取目标员工的ID
// 发送AJAX请求删除用户
$.ajax({
type:"POST",
url:"../user/delUser.do",
url:"../user/delUser.do",// 后端删除用户接口
dataType:"JSON",
data:{
data:{ // 传递用户ID
"userid":userid
},
success:function(data){
if(data.code==0){
if(data.code==0){// 删除成功
alert("删除成功");
// 若当前页只剩1条数据删除后页码回退1页
if(l==1)
pageNum=pageNum-1;
getStaffList();
getStaffList();// 重新加载列表刷新数据
}
else
alert("删除失败")

Loading…
Cancel
Save