|
|
|
|
@ -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("<tr><th>入住人</th><th>身份证号</th><th>开始时间</th><th>结束时间</th><th>总金额</th><th>状态</th><th>操作</th></tr>")
|
|
|
|
|
|
|
|
|
|
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="<input type=\"button\" class=\"btn btn-info\" data-roomid=\""+list[i].roomid+"\" id=\"showRoom\" data-toggle=\"modal\" data-target=\"#showRoomT\" value=\"查看房间\">";
|
|
|
|
|
}
|
|
|
|
|
else if(list[i].state=="1"){
|
|
|
|
|
state="已付款";
|
|
|
|
|
// 已付款订单:仅显示"查看房间"按钮
|
|
|
|
|
btnStr="<input type=\"button\" class=\"btn btn-info\" data-roomid=\""+list[i].roomid+"\" id=\"showRoom\" data-toggle=\"modal\" data-target=\"#showRoomT\" value=\"查看房间\"> ";
|
|
|
|
|
}
|
|
|
|
|
else if(list[i].state=="2"){
|
|
|
|
|
state="已完成";
|
|
|
|
|
// 已完成订单:显示"查看房间"和"删除"按钮
|
|
|
|
|
btnStr="<input type=\"button\" class=\"btn btn-info\" data-roomid=\""+list[i].roomid+"\" id=\"showRoom\" data-toggle=\"modal\" data-target=\"#showRoomT\" value=\"查看房间\"> <input type=\"button\" class=\"btn btn-success\" data-orderid=\""+list[i].orderid+"\" id=\"delOrder\" value=\"删除\">";
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
state="已取消";
|
|
|
|
|
// 已取消订单:显示"查看房间"和"删除"按钮
|
|
|
|
|
btnStr="<input type=\"button\" class=\"btn btn-info\" data-roomid=\""+list[i].roomid+"\" id=\"showRoom\" data-toggle=\"modal\" data-target=\"#showRoomT\" value=\"查看房间\"> <input type=\"button\" class=\"btn btn-success\" data-orderid=\""+list[i].orderid+"\" id=\"delOrder\" value=\"删除\">";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 拼接订单表格行HTML
|
|
|
|
|
htmlStr="<tr data-orderid=\""+list[i].orderid+"\"><td>"+list[i].householdname+"</td><td>"+list[i].id+"</td><td>"+sdate+"</td><td>"+edate+"</td><td>"+list[i].money+"</td><td>"+state+"</td><td>"+btnStr+"</td></tr>";
|
|
|
|
|
// 添加到表格中
|
|
|
|
|
$("#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="<tr><th>位置</th><td>"+room.local+"</td></tr><tr><th>价格</th><td>"+room.money+"</td></tr><tr><th>类型</th><td>"+type+"</td></tr><tr><th>状态</th><td>"+state+"</td></tr>"
|
|
|
|
|
// 添加到模态框表格中
|
|
|
|
|
$("#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);
|
|
|
|
|
}
|
|
|
|
|
|