项目类型:JAVA WEB项目
项目名称:基于SSM的酒店信息管理系统
用户类型:2个角色(管理员+入住客户)
系统类型:前端网站+后台系统
设计模式:SSM(Spring+SpringMVC+Mybatis)
开发工具:Eclipse
数据库:Mysql+Navicat
数据库表:12张
适用:软件工程、计算机科学与技术等JAVA课程的学习和实验
配套参考资料:开题报告、任务书、参考文章、参考流程图、参考ER图、数据库设计等
摘要:基于SSM的酒店管理系统的设计与实现。先是通过调研分析选题背景。再研究和准备相关的开发工具、主要技术。并将对应的开发环境配置好。之后开始进行需求分析的工作。分析主要的功能性需求。再根据分析去设计对应的各个模块。之后在开发平台进行编程。实现出酒店管理选题的实际运行效果。最后经过测试验收并总结。
酒店管理系统主要是用户进行在线预定酒店。采用Java语言开发。在开发的时候使用SSM框架。并通过MySQL存储数据库。用户通过注册登录来使用。用户可以在线搜索各种各样的酒店,并且选择入住。而这些酒店都是由管理员进行发布。并且通过后台,添加酒店的各种客房信息。
文内包含了酒店预订的核心流程图,对于不会画流程图的同学,可以使用Visio工具,直接新建一个基本流程图模板,并使用对应的流程图基本图形,参考画图。
项目和参考资料来源:公众号“学长源码”
入住客户端功能介绍
网站首页
个人中心
酒店入住订单
个人资料修改
密码修改
管理员端功能介绍
系统设置(菜单管理+角色管理+系统密码修改)
系统设置(菜单管理+角色管理+系统密码修改)
房型管理
房间信息管理
住房客户管理
办理客户入住(每当有客户入住,需要为其办理入住)
客户入住预定管理
营业金额统计
可参考使用的流程图
数据库表
项目结构
SSM核心代码(以入住酒店为例)
CheckinController
package com.ischoolbar.programmer.controller.admin;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.ischoolbar.programmer.entity.BookOrder;
import com.ischoolbar.programmer.entity.RoomType;
import com.ischoolbar.programmer.entity.admin.Checkin;
import com.ischoolbar.programmer.entity.admin.Room;
import com.ischoolbar.programmer.page.admin.Page;
import com.ischoolbar.programmer.service.BookOrderService;
import com.ischoolbar.programmer.service.RoomTypeService;
import com.ischoolbar.programmer.service.admin.CheckinService;
import com.ischoolbar.programmer.service.admin.RoomService;
编辑成功之后:1:判断房型是否发生变化,2:判断房间是否发生变化,3:判断是否是从预定订单来的信息
首先判断是否是从预定来的入住信息
RoomType oldRoomType = roomTypeService.find(existCheckin.getRoomTypeId());
RoomType newRoomType = roomTypeService.find(checkin.getRoomTypeId());
//房型入住数不收预定订单的影响
if(oldRoomType.getId().longValue() != newRoomType.getId().longValue()){
//说明房型发生了变化,原来的房型入住数恢复,新的房型入住数增加
oldRoomType.setLivedNum(oldRoomType.getLivedNum() - 1);
newRoomType.setLivedNum(newRoomType.getLivedNum() + 1);
if(bookOrderId == null){
oldRoomType.setAvilableNum(oldRoomType.getAvilableNum() + 1);
newRoomType.setAvilableNum(newRoomType.getAvilableNum() - 1);
}
}
if(bookOrderId == null){
//表示不是从预定订单来的,此时需判断原来的入住信息是否来源于预定
if(existCheckin.getBookOrderId() == null){
oldRoomType.setAvilableNum(oldRoomType.getAvilableNum() + 1);
newRoomType.setAvilableNum(newRoomType.getAvilableNum() - 1);
}
if(existCheckin.getBookOrderId() != null){
//表示原来的入住信息来源于预定,但是新的入住信息不是来源于预定,需恢复原来的预定状态
BookOrder oldBookOrder = bookOrderService.find(existCheckin.getBookOrderId());
oldBookOrder.setStatus(0);
bookOrderService.edit(oldBookOrder);
oldRoomType.setBookNum(oldRoomType.getBookNum() + 1);
}
}
表示此时的订单是来源于预定
if(bookOrderId != null){
//表示是从预定订单来的,此时需判断原来的入住信息是否来源于预定
if(existCheckin.getBookOrderId() != null){
//表示原来的入住信息来源于预定,但是新的入住信息不是来源于预定,需恢复原来的预定状态
BookOrder oldBookOrder = bookOrderService.find(existCheckin.getBookOrderId());
if(bookOrderId.longValue() != oldBookOrder.getId().longValue()){
oldBookOrder.setStatus(0);
bookOrderService.edit(oldBookOrder);
//oldRoomType.setBookNum(oldRoomType.getBookNum() + 1);
}
}
if(oldRoomType.getId().longValue() != newRoomType.getId().longValue()){
newRoomType.setBookNum(newRoomType.getBookNum() - 1);
if(existCheckin.getBookOrderId() == null){
oldRoomType.setAvilableNum(oldRoomType.getAvilableNum() + 1);
}else{
oldRoomType.setBookNum(oldRoomType.getBookNum() + 1);
}
}
BookOrder newBookOrder = bookOrderService.find(bookOrderId);
newBookOrder.setStatus(1);
bookOrderService.edit(newBookOrder);
}
roomTypeService.updateNum(newRoomType);
roomTypeService.updateNum(oldRoomType);
//判断房间是否发生变化
if(checkin.getRoomId().longValue() != existCheckin.getRoomId().longValue()){
//表示房间发生了变化
Room oldRoom = roomService.find(existCheckin.getRoomId());
Room newRoom = roomService.find(checkin.getRoomId());
oldRoom.setStatus(0);//原来的房间可入住
newRoom.setStatus(1);//现在的房间已入住
roomService.edit(newRoom);
roomService.edit(oldRoom);
}
ret.put("type", "success");
ret.put("msg", "修改成功!");
return ret;
}
CheckinService
package com.ischoolbar.programmer.service.admin;
/**
* 入住service
*/
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Service;
import com.ischoolbar.programmer.entity.admin.Checkin;
@Service
public interface CheckinService {
public int add(Checkin checkin);
public int edit(Checkin checkin);
public int delete(Long id);
public List<Checkin> findList(Map<String, Object> queryMap);
public Integer getTotal(Map<String, Object> queryMap);
public Checkin find(Long id);
public List<Map> getStatsByMonth();
public List<Map> getStatsByDay();
}
CheckinServiceImpl
package com.ischoolbar.programmer.service.admin.impl;
/**
* 入住管理service实现类
*/
import java.util.List;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ischoolbar.programmer.dao.admin.CheckinDao;
import com.ischoolbar.programmer.entity.admin.Checkin;
import com.ischoolbar.programmer.service.admin.CheckinService;
@Service
public class CheckinServiceImpl implements CheckinService {
@Autowired
private CheckinDao checkinDao;
@Override
public int add(Checkin checkin) {
// TODO Auto-generated method stub
return checkinDao.add(checkin);
}
@Override
public int edit(Checkin checkin) {
// TODO Auto-generated method stub
return checkinDao.edit(checkin);
}
@Override
public int delete(Long id) {
// TODO Auto-generated method stub
return checkinDao.delete(id);
}
@Override
public List<Checkin> findList(Map<String, Object> queryMap) {
// TODO Auto-generated method stub
return checkinDao.findList(queryMap);
}
@Override
public Integer getTotal(Map<String, Object> queryMap) {
// TODO Auto-generated method stub
return checkinDao.getTotal(queryMap);
}
@Override
public Checkin find(Long id) {
// TODO Auto-generated method stub
return checkinDao.find(id);
}
@Override
public List<Map> getStatsByMonth() {
// TODO Auto-generated method stub
return checkinDao.getStatsByMonth();
}
@Override
public List<Map> getStatsByDay() {
// TODO Auto-generated method stub
return checkinDao.getStatsByDay();
}
}
CheckinDao
package com.ischoolbar.programmer.dao.admin;
import java.util.List;
import java.util.Map;
/**
* 入住dao
*/
import org.springframework.stereotype.Repository;
import com.ischoolbar.programmer.entity.admin.Checkin;
@Repository
public interface CheckinDao {
public int add(Checkin checkin);
public int edit(Checkin checkin);
public int delete(Long id);
public List<Checkin> findList(Map<String, Object> queryMap);
public Integer getTotal(Map<String, Object> queryMap);
public Checkin find(Long id);
public List<Map> getStatsByMonth();
public List<Map> getStatsByDay();
}
Checkin.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@include file="../common/header.jsp"%>
<div class="easyui-layout" data-options="fit:true">
<!-- Begin of toolbar -->
<div id="wu-toolbar">
<div class="wu-toolbar-button">
<%@include file="../common/menus.jsp"%>
</div>
<div class="wu-toolbar-search">
<label>入住姓名:</label><input id="search-name" class="wu-text" style="width:100px">
<label>身份证号:</label><input id="search-idCard" class="wu-text" style="width:100px">
<label>手机号码:</label><input id="search-mobile" class="wu-text" style="width:100px">
<label>房间:</label>
<select id="search-room" class="easyui-combobox" panelHeight="auto" style="width:120px">
<option value="-1">全部</option>
<c:forEach items="${roomList}" var="room">
<option value="${room.id }">${room.sn }</option>
</c:forEach>
</select>
<label>房型:</label>
<select id="search-roomType" class="easyui-combobox" panelHeight="auto" style="width:120px">
<option value="-1">全部</option>
<c:forEach items="${roomTypeList}" var="roomType">
<option value="${roomType.id }" price="${roomType.price }">${roomType.name }</option>
</c:forEach>
</select>
<label>状态:</label>
<select id="search-status" class="easyui-combobox" panelHeight="auto" style="width:120px">
<option value="-1">全部</option>
<option value="0">入住中</option>
<option value="1">已结算离店</option>
</select>
<a href="#" id="search-btn" class="easyui-linkbutton" iconCls="icon-search">搜索</a>
</div>
</div>
<!-- End of toolbar -->
<table id="data-datagrid" class="easyui-datagrid" toolbar="#wu-toolbar"></table>
</div>
<!-- 订单选择弹框 -->
<div id="show-order-dialog" class="easyui-dialog" data-options="closed:true,iconCls:'icon-save'" style="width:750px;height:500px; padding:10px;">
<table id="order-datagrid" class="easyui-datagrid"></table>
</div>
<!-- 添加弹框 -->
<div id="add-dialog" class="easyui-dialog" data-options="closed:true,iconCls:'icon-save'" style="width:450px; padding:10px;">
<form id="add-form" method="post">
<table>
<tr>
<td align="right">预定订单:</td>
<td>
<input type="text" readonly="readonly" id="add-bookOrderId" name="bookOrderId" class="wu-text" />
</td>
<td><a href="#" class="select-order-btn easyui-linkbutton" iconCls="icon-add" plain="true">选择</a></td>
</tr>
<tr>
<td align="right">房型:</td>
<td>
<select id="add-roomTypeId" name="roomTypeId" class="easyui-combobox" panelHeight="auto" style="width:268px" data-options="required:true, missingMessage:'请选择房型'">
<c:forEach items="${roomTypeList}" var="roomType">
<option value="${roomType.id }">${roomType.name }</option>
</c:forEach>
</select>
</td>
<td></td>
</tr>
<tr>
<td align="right">房间:</td>
<td>
<select id="add-roomId" name="roomId" class="easyui-combobox" panelHeight="auto" style="width:268px" data-options="required:true, missingMessage:'请选择客户'">
<c:forEach items="${roomList}" var="room">
<option value="${room.id }">${room.sn }</option>
</c:forEach>
</select>
</td>
<td></td>
</tr>
<tr>
<td align="right">入住价格:</td>
<td><input type="text" id="add-checkinPrice" name="checkinPrice" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入姓名'" /></td>
<td></td>
</tr>
<tr>
<td align="right">入住人姓名:</td>
<td><input type="text" id="add-name" name="name" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入姓名'" /></td>
<td></td>
</tr>
<tr>
<td align="right">身份证号:</td>
<td><input type="text" id="add-idCard" name="idCard" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入身份证号'" /></td>
<td></td>
</tr>
<tr>
<td align="right">手机号码:</td>
<td><input type="text" id="add-mobile" name="mobile" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入手机号'" /></td>
<td></td>
</tr>
<tr>
<td align="right">入住日期:</td>
<td><input type="text" id="add-arriveDate" name="arriveDate" class="wu-text easyui-datebox easyui-validatebox" /></td>
<td></td>
</tr>
<tr>
<td align="right">离店日期:</td>
<td><input type="text" id="add-leaveDate" name="leaveDate" class="wu-text easyui-datebox easyui-validatebox" /></td>
<td></td>
</tr>
<tr>
<td align="right">状态:</td>
<td>
<select id="add-status" name="status" class="easyui-combobox" panelHeight="auto" style="width:268px" data-options="required:true, missingMessage:'请选择状态'">
<option value="0">已入住</option>
<option value="1">已结算离店</option>
</select>
</td>
<td></td>
</tr>
<tr>
<td align="right">备注:</td>
<td><textarea id="add-remark" name="remark" rows="6" class="wu-textarea" style="width:260px"></textarea></td>
<td></td>
</tr>
</table>
</form>
</div>
<!-- 修改窗口 -->
<div id="edit-dialog" class="easyui-dialog" data-options="closed:true,iconCls:'icon-save'" style="width:450px; padding:10px;">
<form id="edit-form" method="post">
<input type="hidden" name="id" id="edit-id">
<input type="hidden" name="bookOrderId" id="edit-bookOrderId">
<table>
<tr>
<td align="right">房型:</td>
<td>
<select id="edit-roomTypeId" name="roomTypeId" class="easyui-combobox" panelHeight="auto" style="width:268px" data-options="required:true, missingMessage:'请选择房型'">
<c:forEach items="${roomTypeList}" var="roomType">
<option value="${roomType.id }">${roomType.name }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td align="right">房间:</td>
<td>
<select id="edit-roomId" name="roomId" class="easyui-combobox" panelHeight="auto" style="width:268px" data-options="required:true, missingMessage:'请选择客户'">
<c:forEach items="${roomList}" var="room">
<option value="${room.id }">${room.sn }</option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<td align="right">入住价格:</td>
<td><input type="text" id="edit-checkinPrice" name="checkinPrice" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入姓名'" /></td>
</tr>
<tr>
<td align="right">入住人姓名:</td>
<td><input type="text" id="edit-name" name="name" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入姓名'" /></td>
</tr>
<tr>
<td align="right">身份证号:</td>
<td><input type="text" id="edit-idCard" name="idCard" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入身份证号'" /></td>
</tr>
<tr>
<td align="right">手机号码:</td>
<td><input type="text" id="edit-mobile" name="mobile" class="wu-text easyui-validatebox" data-options="required:true, missingMessage:'请输入手机号'" /></td>
</tr>
<tr>
<td align="right">入住日期:</td>
<td><input type="text" id="edit-arriveDate" name="arriveDate" class="wu-text easyui-datebox easyui-validatebox" /></td>
</tr>
<tr>
<td align="right">离店日期:</td>
<td><input type="text" id="edit-leaveDate" name="leaveDate" class="wu-text easyui-datebox easyui-validatebox" /></td>
</tr>
<tr>
<td align="right">状态:</td>
<td>
<select id="edit-status" name="status" class="easyui-combobox" panelHeight="auto" style="width:268px" data-options="required:true, missingMessage:'请选择状态'">
<option value="0">已入住</option>
<option value="1">已结算离店</option>
</select>
</td>
</tr>
<tr>
<td align="right">备注:</td>
<td><textarea id="edit-remark" name="remark" rows="6" class="wu-textarea" style="width:260px"></textarea></td>
</tr>
</table>
</form>
</div>
<%@include file="../common/footer.jsp"%>
<!-- End of easyui-dialog -->
<script type="text/javascript">
/**
* 添加记录
*/
function add(){
var validate = $("#add-form").form("validate");
if(!validate){
$.messager.alert("消息提醒","请检查你输入的数据!","warning");
return;
}
var data = $("#add-form").serialize();
$.ajax({
url:'add',
dataType:'json',
type:'post',
data:data,
success:function(data){
if(data.type == 'success'){
$.messager.alert('信息提示','添加成功!','info');
$("#add-name").val('');
$("#add-remark").val('');
$('#add-dialog').dialog('close');
$('#data-datagrid').datagrid('reload');
}else{
$.messager.alert('信息提示',data.msg,'warning');
}
}
});
}
/**
* 编辑记录
*/
function edit(){
var validate = $("#edit-form").form("validate");
if(!validate){
$.messager.alert("消息提醒","请检查你输入的数据!","warning");
return;
}
var data = $("#edit-form").serialize();
$.ajax({
url:'edit',
dataType:'json',
type:'post',
data:data,
success:function(data){
if(data.type == 'success'){
$.messager.alert('信息提示','修改成功!','info');
$('#edit-dialog').dialog('close');
$('#data-datagrid').datagrid('reload');
}else{
$.messager.alert('信息提示',data.msg,'warning');
}
}
});
}
/**
* 删除记录
*/
function remove(){
$.messager.confirm('信息提示','确定要删除该记录?', function(result){
if(result){
var item = $('#data-datagrid').datagrid('getSelected');
if(item == null || item.length == 0){
$.messager.alert('信息提示','请选择要删除的数据!','info');
return;
}
$.ajax({
url:'delete',
dataType:'json',
type:'post',
data:{id:item.id},
success:function(data){
if(data.type == 'success'){
$.messager.alert('信息提示','删除成功!','info');
$('#data-datagrid').datagrid('reload');
}else{
$.messager.alert('信息提示',data.msg,'warning');
}
}
});
}
});
}
/**
* Name 打开编辑窗口
*/
function openEdit(){
//$('#add-form').form('clear');
var item = $('#data-datagrid').datagrid('getSelected');
if(item == null || item.length == 0){
$.messager.alert('信息提示','请选择要编辑的数据!','info');
return;
}
$('#edit-dialog').dialog({
closed: false,
modal:true,
title: "编辑入住信息",
buttons: [{
text: '确定',
iconCls: 'icon-ok',
handler: edit
}, {
text: '取消',
iconCls: 'icon-cancel',
handler: function () {
$('#edit-dialog').dialog('close');
}
}],
onBeforeOpen:function(){
//$("#add-form input").val('');
$("#edit-id").val(item.id);
$("#edit-name").val(item.name);
$("#edit-arriveDate").datebox('setValue',item.arriveDate);
$("#edit-leaveDate").datebox('setValue',item.leaveDate);
$("#edit-idCard").val(item.idCard);
$("#edit-mobile").val(item.mobile);
$("#edit-checkinPrice").val(item.checkinPrice);
$("#edit-bookOrderId").val(item.bookOrderId);
$("#edit-status").combobox('setValue',item.status);
$("#edit-roomId").combobox('setValue',item.roomId);
$("#edit-roomTypeId").combobox('setValue',item.roomTypeId);
$("#edit-remark").val(item.remark);
}
});
}
//等级退房
function openCheckOut(){
$.messager.confirm('信息提示','确定要退房?', function(result){
if(result){
var item = $('#data-datagrid').datagrid('getSelected');
if(item == null || item.length == 0){
$.messager.alert('信息提示','请选择要退房的数据!','info');
return;
}
if(item.status != 0){
$.messager.alert('信息提示','该状态不能结算!','info');
return;
}
$.ajax({
url:'checkout',
dataType:'json',
type:'post',
data:{checkId:item.id},
success:function(data){
if(data.type == 'success'){
$.messager.alert('信息提示','退房成功!','info');
$('#data-datagrid').datagrid('reload');
}else{
$.messager.alert('信息提示',data.msg,'warning');
}
}
});
}
});
}
/**
* Name 打开添加窗口
*/
function openAdd(){
//$('#add-form').form('clear');
$('#add-dialog').dialog({
closed: false,
modal:true,
title: "等级入住信息",
buttons: [{
text: '确定',
iconCls: 'icon-ok',
handler: add
}, {
text: '取消',
iconCls: 'icon-cancel',
handler: function () {
$('#add-dialog').dialog('close');
}
}],
onBeforeOpen:function(){
$("#add-form input").val('');
}
});
}
//搜索按钮监听
$("#search-btn").click(function(){
var option = {name:$("#search-name").val()};
var status = $("#search-status").combobox('getValue');
var account = $("#search-room").combobox('getValue');
var roomType = $("#search-roomType").combobox('getValue');
if(status != -1){
option.status = status;
}
if(account != -1){
option.accountId = account;
}
if(roomType != -1){
option.roomTypeId = roomType;
}
option.idCard = $("#search-idCard").val();
option.mobile = $("#search-mobile").val();
$('#data-datagrid').datagrid('reload',option);
});
function add0(m){return m<10?'0'+m:m }
function format(shijianchuo){
//shijianchuo是整数,否则要parseInt转换
var time = new Date(shijianchuo);
var y = time.getFullYear();
var m = time.getMonth()+1;
var d = time.getDate();
var h = time.getHours();
var mm = time.getMinutes();
var s = time.getSeconds();
return y+'-'+add0(m)+'-'+add0(d)+' '+add0(h)+':'+add0(mm)+':'+add0(s);
}
$("#add-roomTypeId").combobox({
onSelect:function(data){
$("#add-roomId").combobox('clear');
$("#add-roomId").combobox('reload','load_room_list?roomTypeId='+data.value);
}
});
$("#edit-roomTypeId").combobox({
onSelect:function(data){
$("#edit-roomId").combobox('clear');
$("#edit-roomId").combobox('reload','load_room_list?roomTypeId='+data.value);
}
});
/**
* 载入数据
*/
$('#data-datagrid').datagrid({
url:'list',
rownumbers:true,
singleSelect:true,
pageSize:20,
pagination:true,
multiSort:true,
fitColumns:true,
idField:'id',
treeField:'name',
fit:true,
columns:[[
{ field:'chk',checkbox:true},
{ field:'roomId',title:'房间',width:100,formatter:function(value,row,index){
var roomIdList = $("#search-room").combobox('getData');
//console.log(roomIdList);
for(var i=0;i<roomIdList.length;i++){
if(roomIdList[i].value == value)return roomIdList[i].text;
}
return value;
}},
{ field:'roomTypeId',title:'房型',width:150,formatter:function(value,row,index){
var roomTypeList = $("#search-roomType").combobox('getData');
for(var i=0;i<roomTypeList.length;i++){
if(roomTypeList[i].value == value){
return roomTypeList[i].text + '(¥:' + $("#search-roomType option[value='"+value+"']").attr('price') + ')';
}
}
return value;
}},
{ field:'checkinPrice',title:'入住价格',width:60,sortable:true},
{ field:'name',title:'入住人',width:60,sortable:true},
{ field:'idCard',title:'身份证号',width:100,sortable:true},
{ field:'mobile',title:'手机号',width:100,sortable:true},
{ field:'arriveDate',title:'入住日期',width:100,sortable:true},
{ field:'leaveDate',title:'离店日期',width:100,sortable:true},
{ field:'status',title:'状态',width:100,formatter:function(value,row,index){
switch(value){
case 0:{
return '入住中';
}
case 1:{
return '已结算离店';
}
}
return value;
}},
{ field:'createTime',title:'预定时间',width:150,formatter:function(value,row,index){
return format(value);
}},
{ field:'remark',title:'备注',width:120,sortable:true}
]]
});
$(".select-order-btn").click(function(){
$('#show-order-dialog').dialog({
closed: false,
modal:true,
title: "选择预定订单信息",
buttons: [{
text: '确定',
iconCls: 'icon-ok',
handler: function(){
var selectedOrder = $('#order-datagrid').datagrid('getSelected');
if(selectedOrder == null || selectedOrder.length == 0){
$.messager.alert('信息提示','请选择订单信息!','info');
return;
}
$("#add-name").val(selectedOrder.name);
$("#add-arriveDate").datebox('setValue',selectedOrder.arriveDate);
$("#add-leaveDate").datebox('setValue',selectedOrder.leaveDate);
$("#add-idCard").val(selectedOrder.idCard);
$("#add-mobile").val(selectedOrder.mobile);
$("#add-bookOrderId").val(selectedOrder.id);
$("#add-status").combobox('setValue',selectedOrder.status);
$("#add-roomTypeId").combobox('setValue',selectedOrder.roomTypeId);
$("#add-remark").val(selectedOrder.remark);
$("#edit-name").val(selectedOrder.name);
$("#edit-arriveDate").datebox('setValue',selectedOrder.arriveDate);
$("#edit-leaveDate").datebox('setValue',selectedOrder.leaveDate);
$("#edit-idCard").val(selectedOrder.idCard);
$("#edit-mobile").val(selectedOrder.mobile);
$("#edit-bookOrderId").val(selectedOrder.id);
$("#edit-status").combobox('setValue',selectedOrder.status);
$("#edit-roomTypeId").combobox('setValue',selectedOrder.roomTypeId);
$("#edit-remark").val(selectedOrder.remark);
$('#show-order-dialog').dialog('close');
}
}, {
text: '取消',
iconCls: 'icon-cancel',
handler: function () {
$('#show-order-dialog').dialog('close');
}
}],
onBeforeOpen:function(){
$('#order-datagrid').datagrid({
url:'../book_order/list',
rownumbers:true,
singleSelect:true,
pageSize:20,
pagination:true,
multiSort:true,
fitColumns:true,
idField:'id',
treeField:'name',
queryParams:{status:0},
fit:true,
columns:[[
{ field:'chk',checkbox:true},
{ field:'roomTypeId',title:'房型',width:150,formatter:function(value,row,index){
var roomTypeList = $("#search-roomType").combobox('getData');
for(var i=0;i<roomTypeList.length;i++){
if(roomTypeList[i].value == value){
return roomTypeList[i].text + '(¥:' + $("#search-roomType option[value='"+value+"']").attr('price') + ')';
}
}
return value;
}},
{ field:'name',title:'预定人',width:60,sortable:true},
{ field:'arriveDate',title:'入住日期',width:100,sortable:true},
{ field:'leaveDate',title:'离店日期',width:100,sortable:true},
{ field:'status',title:'状态',width:100,formatter:function(value,row,index){
switch(value){
case 0:{
return '预定中';
}
case 1:{
return '已入住';
}
case 2:{
return '已结算离店';
}
}
return value;
}},
{ field:'remark',title:'备注',width:120,sortable:true}
]]
});
}
});
});
</script>