From c17bba3f216cff563a72107d997fb1863ebd37e6 Mon Sep 17 00:00:00 2001 From: gaoyating <927787984@qq.com> Date: Wed, 22 Oct 2025 00:44:20 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=99=E6=AE=B5=E4=BB=A3=E7=A0=81=E6=98=AF?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E5=9F=BA=E4=BA=8E=20jQuery=20=E7=9A=84?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2=E5=89=8D?= =?UTF-8?q?=E7=AB=AF=E9=80=BB=E8=BE=91=EF=BC=9B=E8=AF=A5=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E9=80=9A=E8=BF=87=20AJAX=20=E4=B8=8E=E5=90=8E=E7=AB=AF?= =?UTF-8?q?=E4=BA=A4=E4=BA=92=EF=BC=8C=E5=AE=9E=E7=8E=B0=E4=BA=86=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E5=8A=A0=E8=BD=BD=E3=80=81=E5=88=86=E9=A1=B5?= =?UTF-8?q?=E3=80=81=E7=8A=B6=E6=80=81=E5=B1=95=E7=A4=BA=E3=80=81=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E5=8F=8A=E5=85=B3=E8=81=94=E6=88=BF=E9=97=B4=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E7=AD=89=E5=8A=9F=E8=83=BD=EF=BC=8C=E5=90=8C=E6=97=B6?= =?UTF-8?q?=E6=8F=90=E4=BE=9B=E4=BA=86=E7=B3=BB=E7=BB=9F=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=B1=95=E7=A4=BA=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/resources/static/js/ad_order.js | 122 +++++++++++++++-------- 1 file changed, 80 insertions(+), 42 deletions(-) diff --git a/src/main/resources/static/js/ad_order.js b/src/main/resources/static/js/ad_order.js index cf08731..e377506 100644 --- a/src/main/resources/static/js/ad_order.js +++ b/src/main/resources/static/js/ad_order.js @@ -1,13 +1,17 @@ -var pageNum=1; -var pageSize=8; -var l; +// 定义分页相关变量:当前页码、每页显示数量、当前页数据条数 +var pageNum=1;// 当前页码,初始为第1页 +var pageSize=8;// 每页显示8条数据 +var l;// 记录当前页实际加载的数据条数 +// 页面DOM加载完成后执行初始化操作 $(document).ready(function(){ - getorderList(); - getConfig(); + getorderList(); // 加载订单列表 + getConfig();// 加载系统配置信息 + // 绑定"上一页"按钮点击事件 $("#pre").on('click',function(){ getPre(); - }); + }); + // 绑定"下一页"按钮点击事件 $("#next").on('click',function(){ getNext(); }); @@ -17,123 +21,150 @@ $(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 getorderList(){ $.ajax({ - type:"post", - url:"../order/getAllOrder.do", - dataType:"JSON", - data:{ + type:"post",// 请求类型为POST + url:"../order/getAllOrder.do", // 后端获取订单列表的接口 + dataType:"JSON",// 预期返回JSON格式数据 + data:{// 传递分页参数 "pageNum":pageNum, "pageSize":pageSize }, + // 请求成功的回调函数 success:function(data){ + // 若当前页数据为空且页码>0,回退到上一页重新加载 if(isEmptyObject(data.List)&&pageNum>0){ pageNum=pageNum-1; getorderList(); } else{ - list=data.List; - var htmlStr=" "; - var btnStr=" "; - var state=" "; - var sdate; - var edate; - l=0; + list=data.List;// 存储订单列表数据 + var htmlStr=" ";// 表格行HTML字符串 + var btnStr=" ";// 操作按钮HTML字符串 + var state=" ";// 订单状态文本 + var sdate;// 入住日期(格式化后) + var edate;// 退房日期(格式化后) + l=0;// 重置当前页数据计数 + + // 显示分页按钮(默认先显示,后续根据情况隐藏) $("#pre").css("display","block"); $("#next").css("display","block"); + // 清空表格并添加表头 $("#orderList").empty(); $("#orderList").append("入住人身份证号开始时间结束时间总金额状态操作") for(i in list){ + // 从时间字符串中提取日期部分(格式:年-月-日) sdate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(list[i].starttime); edate=/\d{4}-\d{1,2}-\d{1,2}/g.exec(list[i].endtime); + // 根据订单状态(state)设置状态文本和操作按钮 if(list[i].state=="0"){ state="未付款"; + // 未付款订单:仅显示"查看房间"按钮(关联模态框) btnStr=""; } else if(list[i].state=="1"){ state="已付款"; + // 已付款订单:仅显示"查看房间"按钮 btnStr=" "; } else if(list[i].state=="2"){ state="已完成"; + // 已完成订单:显示"查看房间"和"删除"按钮 btnStr=" "; } else{ state="已取消"; + // 已取消订单:显示"查看房间"和"删除"按钮 btnStr=" "; } + + // 拼接订单表格行HTML htmlStr=""+list[i].householdname+""+list[i].id+""+sdate+""+edate+""+list[i].money+""+state+""+btnStr+""; + // 添加到表格中 $("#orderList").append(htmlStr); - l++; + l++;// 累加当前页数据条数 } + // 若为第1页,隐藏"上一页"按钮 if(pageNum=="1") $("#pre").css("display","none"); + // 若当前页数据少于每页数量,说明是最后一页,隐藏"下一页"按钮 if(pageSize>l) $("#next").css("display","none"); + // 绑定操作按钮事件 btnOn(); } }, + // 请求失败的回调 error:function(){ alert("获取订单列表发生错误") } }) } +// 绑定操作按钮的点击事件 function btnOn(){ - +// 绑定"跳转页码"按钮事件 $("input").filter("#setPageBtn").on('click',function( ){ setPage( ); }); + // 绑定"查看房间"按钮事件 $("input").filter("#showRoom").on('click',function(event){ showRoom(event); }) + // 绑定"删除订单"按钮事件 $("input").filter("#delOrder").on('click',function(event){ delOrder(event); }); } +// 上一页功能:页码减1并重新加载列表 function getPre(){ pageNum=pageNum-1; getorderList(); } +// 下一页功能:页码加1并重新加载列表 function getNext(){ pageNum=pageNum+1; getorderList(); } - +// 跳转指定页码功能 function setPage(){ - + // 验证页码合法性(必须大于0) if($("#inputPage").val()<0 || $("#inputPage").val()==0) alert("请输入正确页码"); else{ - pageNum=$("#inputPage").val(); - getorderList(); + pageNum=$("#inputPage").val();// 更新页码 + getorderList();// 重新加载列表 } } +// 删除订单功能 function delOrder(event){ - var orderid=$(event.target).data("orderid"); + var orderid=$(event.target).data("orderid");// 获取订单ID $.ajax({ type:"POST", - url:"../order/delOrder.do", + url:"../order/delOrder.do",// 后端删除订单接口 dataType:"JSON", - data:{ + data:{// 传递订单ID "orderid":orderid }, success:function(data){ - if(data.code==0){ + if(data.code==0){// 删除成功 alert("删除成功"); + // 若当前页只剩1条数据,删除后页码回退1页 if(l==1) pageNum=pageNum-1; - getorderList(); + getorderList();// 重新加载列表刷新数据 } else alert("删除失败") @@ -145,23 +176,25 @@ function delOrder(event){ } - +// 查看房间详情功能(点击后显示模态框) function showRoom(event){ - var roomid=$(event.target).data("roomid"); + var roomid=$(event.target).data("roomid");// 获取房间ID $.ajax({ type:"POST", - url:"../room/getRoomById.do", + url:"../room/getRoomById.do",// 后端获取房间详情接口 dataType:"JSON", - data:{ + data:{// 传递房间ID "roomid":roomid }, success:function(data){ - var room=data.room; - if(data.code==0){ - var htmlStr=" "; - var state=" "; - var type=" "; + var room=data.room;// 房间详情数据 + if(data.code==0){// 获取成功 + var htmlStr=" ";// 房间信息表格HTML + var state=" ";// 房间状态文本 + var type=" ";// 房间类型文本 + // 清空模态框中的表格 $("#roomTable").empty(); + // 转换房间状态编码为文本 if(room.state=="0") state="停用"; else if(room.state=="1") @@ -170,6 +203,7 @@ function showRoom(event){ state="已预定(入住)"; else state="待清扫"; + // 转换房间类型编码为文本 if(room.type=="1") type="单人间"; else if(room.type=="2") @@ -178,7 +212,9 @@ function showRoom(event){ type="大床房"; else type="套房"; + // 拼接房间信息表格HTML htmlStr="位置"+room.local+"价格"+room.money+"类型"+type+"状态"+state+"" + // 添加到模态框表格中 $("#roomTable").append(htmlStr); } else @@ -190,15 +226,17 @@ function showRoom(event){ }) } +// 获取系统配置信息(如总营业额、总房间数) function getConfig(){ $.ajax({ type:"POST", - url:"../config/getConfig.do", + url:"../config/getConfig.do",// 后端获取配置接口 dataType:"JSON", - data:{}, + data:{},// 无参数 success:function(data){ - if(data.code=="0"){ - var config=data.config; + if(data.code=="0"){// 获取成功 + var config=data.config;// 配置数据 + // 更新页面上的总金额和总房间数显示 $("#totalMoney").text(config.totalmoney); $("#totalRoom").text(config.totalroom); }