$(function(){
serviceHeight();
$('#seconds').hide();
inputFocus();
/*开始接受订单*/
$('.btn_order').click(function(){
if( !$(this).hasClass('btn_stop') ){
getOrder();
}
$(this).toggleClass('btn_stop');
$('.layer_center').toggleClass('refuse');
//return false;
})
$('input.btn_order').focus(function(){
$(this).blur();
});
/*隔行换色*/
stripesTable();
/*退回订单*/
$('.back').click(function(){
var orderID = $.trim($('.order_no strong').text());
if(confirm('您确定要退回订单吗?')){
ajaxSetup('back',orderID);
}
})
/*取消订单*/
$('.esc').click(function(){
var orderID = $.trim($('.order_no strong').text());
if(confirm('您确定要取消订单吗?')){
ajaxSetup('cancel',orderID);
}
})
/*form 提交表单*/
$('#from_menu').submit(function(event){
event.preventDefault();
/*发送修改 删除记录*/
var modifyNode = $('ul.uldishes li.modify');
var modify_items= [];
for(var i=0;i<modifyNode.length;i++){
var cur_modify = modifyNode.eq(i);
var ID = cur_modify.find('.num').text();
var num = cur_modify.find('.amount').find('.inp').val();
var msg = cur_modify.find('.msg').text();
var item = '{orderID: '+ID+', num: '+ num +', msg: '+msg+'}';
modify_items.push(item);
}
console.log(modify_items);
console.log(del_items);
var a={modify:[modify_items]};
/*ajax发送修改 删除的菜品*/
$.ajax({
type:'GET',
url:'ajax.txt',
data:{ modify:[modify_items],remove:del_items,add:'111'},
success:function(){
console.log('modify:['+ modify_items+']');
}
})
/*提交成功反馈*/
$.ajax({
type:'GET',
url:'http://huangchen.redcms.com/order/edit.html',
data:'type=submit&act=edit&oid=1',
success:function(txt){
alert('提交成功');
if( txt == 1){
$.fancybox.close();
setTimeout(function(){
$.fancybox({
'href':'#order_tips01',
'showCloseButton':false
});
},350);
setTimeout(function(){
$.fancybox.close();
maskLayer();
},1000);
/*自动接受订单*/
setTimeout(function(){
if( $('.btn_order').hasClass('btn_stop')){
getOrder();
}
},1500);
}else{
alert('提交失败');
}
}
})
/*暂停接受订单 复选框选中*/
if( $('.pause').is(':checked') ){
$('.btn_order').removeClass('btn_stop');
$('.btn_order').addClass('btn_start');
$('.layer_center').removeClass('refuse');
}
})
/*退回订单/取消订单 ajax*/
function ajaxSetup(operation,ID){
$.ajax({
type:'GET',
url:'http://huangchen.redcms.com/order/edit.html',
data:'type='+operation+'&act=edit&oid='+ID+'',
success:function(){
console.log('成功'+operation+'订单');
},
error:function(){
console.log(operation+'订单失败');
}
});
$.fancybox.close();
clearTimeout(movement);
/*遮罩层消失*/
maskLayer();
}
/*Input 聚焦*/
function inputFocus(){
$('input.inp_msg').val('此处为菜品备注信息');
$('input.inp_msg').css('color','#c6c6c6');
$('input.inp_msg').focus(function(){
if( $(this).val() == '此处为菜品备注信息') {
$(this).val('');
$(this).css('color','#000');
}
}).blur(function(){
if( $(this).val() == ''){
$(this).val('此处为菜品备注信息');
$(this).css('color','#c6c6c6');
}
})
/*textarea*/
$('.mtext').css('color','#c6c6c6');
$('.mtext').val('此处为订单备注信息');
$('.mtext').focus(function(){
if( $(this).val() == '此处为订单备注信息'){
$(this).val('');
$(this).css('color','#000');
}
}).blur(function(){
if( $(this).val() == ''){
$(this).val('此处为订单备注信息');
$(this).css('color','#c6c6c6');
}
})
}
/*数量增加*/
$('.add').live('click',function(){
var inp_text = $(this).siblings('.inp_short');
var num = inp_text.val();
if( num > 0 ){ num++}
inp_text.val(num);
/*总价*/
totalPrice($(this));
mealFee();
service();
total();
$(this).parents('li').addClass('modify');
return false;
})
/*数量减少*/
$('.minus').live('click',function(){
var inp_text = $(this).siblings('.inp_short');
var num = inp_text.val();
if( num > 1){ num--};
inp_text.val(num);
/*总价*/
totalPrice($(this));
mealFee();
service();
total();
$(this).parents('li').addClass('modify');
return false;
})
$('.amount .inp_short').live('blur',function(){
totalPrice($(this));
mealFee();
service();
total();
})
/*总价*/
$('.price').each(function(){
totalPrice($(this));
})
/*删除某菜单*/
var del_items=[];
$('.del').live('click',function(){
if(confirm('确定要删除此菜品吗?')){
var deleteId = $(this).parents('li').find('.num').text();
del_items.push(deleteId);
$(this).parents('li').remove();
mealFee();
service();
total();
stripesTable();
$('.addmenu').find('i').text('');
}
return false;
})
/*补差金额输入框*/
$('.supply').blur(function(){
addFee();
service();
total();
})
/*餐费*/
mealFee();
/*补差金额*/
addFee();
/*服务费*/
service();
/*合计*/
total();
var flag_done = 0;
/*搜索建议*/
$('.inp_match').val('');
$('.inp_match').keyup(function(event){
var keycode = event.which;
matchSearch($(this),keycode);
$('.inp_match').removeClass('inp_adopt');
})
$('.inp_match').focus(function(){
matchSearch($(this));
$('.addmenu').find('i').text('');
$('.inp_match').removeClass('inp_adopt');
$('ul.uldishes li').removeClass('already');
})
$('.inp_match').blur(function(){
$('#jsmenulist').fadeOut('fast');
})
$('#jsmenulist li').live('click',function(){
$('#jsmenulist li').removeClass('adopt');
$(this).addClass('adopt');
$('.inp_match').val($(this).find('span').text() +' '+$(this).find('em').text());
$('.inp_match').addClass('inp_adopt');
})
/*键盘上下键*/
/*添加菜品*/
$('#js_addmenu').click(function(){
if( $.trim( $('.inp_match').val())==''){ $('.addmenu').find('i').text('请填写菜品名称或者编号!'); return false;}
console.log('inp_adopt内容:'+$('.inp_adopt').html());
if( ! $('.inp_match').hasClass('inp_adopt') ){
alert('不存在inp_adopt');
console.log($('.inp_adopt').parent().html());
curmenuSearch();
$('.inp_match').removeClass('.inp_adopt');
$('.inp_match').val('');
var maxScroll = $('ul.uldishes li').height()*($('ul.uldishes li').length - 1);
$('ul.uldishes').scrollTop(maxScroll);
inputFocus();
}else{
alert('存在inp_adopt');
console.log('第二次存在inp_adopt:'+$('.inp_adopt').parent().html());
//if( $('.inp_match').hasClass('inp_entered')){ $('.addmenu').find('i').text('该菜品已存在列表中!'); return false;}
var linow = $('#jsmenulist').find('li.adopt');
var ID = linow.find('span').text();
var name = linow.find('em').text();
var price = linow.attr('data-key');
/*查找是否有同编号的存在*/
var dishes=dishesList();
console.log('dishes:'+dishes);
for(var i=0;i<dishes.length;i++){
var num = dishes[i];
if( num != ID.toLowerCase()){
continue;
}
else{
$('.addmenu').find('i').text('此菜品已存在!');
$('ul.uldishes li').eq(i).addClass('already');
var offsetY = $('ul.uldishes li.already').height() * i;
console.log(offsetY);
$('ul.uldishes').scrollTop(offsetY);
$('.inp_match').removeClass('.inp_adopt');
$('.inp_match').val('');
return false;
}
}
$('ul.uldishes').append('<li><div><span class=\'num\'>'+ID+'</span><span class=\'dishname\'>'+name+'</span><span class=\'per\'>'+price+'</span><span class=\'amount\'><a class=\'minus\' href="#">-</a><input class=\'inp inp_short\' value=\'1\' type=\'text\'><a class=\'add\' href=\'#\'>+</a></span><span class=\'price\'>'+price+'</span><span><a class=\'del\' href=\'#\'>删除</a></span></div><div class=\'msg\'><input class=\'inp inp_long inp_msg\' value=\'此处为菜品备注信息\' type=\'text\'></div></li>');
//$('.inp_match').addClass('inp_entered');
//flag_done = 0;
mealFee();
service();
total();
stripesTable();
$('.inp_match').removeClass('.inp_adopt');
$('.inp_match').val('');
var maxScroll = $('ul.uldishes li').height()*($('ul.uldishes li').length - 1);
$('ul.uldishes').scrollTop(maxScroll);
inputFocus();
}
})
/*iframe高度自适应*/
$("#edit").load(function(){
var editheight = $(this).contents().find("body").height();
$(this).height(editheight);
});
})
/*列表中存在的菜品*/
function dishesList(){
var liNode = $('ul.uldishes li');
var dishes= new Array();
for(var i=0;i<liNode.length;i++){
var key = $.trim(liNode.eq(i).find('.num').text()).toLowerCase();
dishes.push(key);
}
return dishes;
}
/*搜索框 ajax请求---搜索建议*/
function matchSearch(elem,keycode){
var matchVal = $('.inp_match').val();
if( $.trim(matchVal) == ''){ return false; };
$.ajax({
type:'GET',
url:'http://huangchen.redcms.com/order/edit.html',
data:'act=select&sname='+matchVal+'',
success: function(result){
eval('var data='+ result);
if( data.length == 0 ) return false;
$('#jsmenulist').fadeIn('fast');
$('#jsmenulist').html('<ul></ul>');
var menu_amount = data.length;
console.log(data);
for(var i=0;i<menu_amount;i++){
$('#jsmenulist ul').append('<li data-key=\''+data[i].order_price+'\''+'><span>'+data[i].menu_code+'</span><em>'+data[i].menu_name+'</em></li>');
};
}
});
/*键盘上下键*/
changekey(elem,keycode);
}
/*键盘上下键操作*/
function changekey(src,keycode){
console.log('changekey');
var len = $(src).parent().find('#jsmenulist ul').length;
$('#jsmenulist ul').data('key',0);
var i = $('#jsmenulist ul').data('key');
/*上*/
if(keycode == 38){
}
/*下*/
if(keycode == 40){
if(i < len){
$('#jsmenulist ul').find('li').eq(0).css('background-color','#eee');
//i++;
}
}
}
/*ajax请求 查找当前菜品*/
var timer;
function curmenuSearch(){
var inpVal = $('.inp_match').val();
var dishes=dishesList();
console.log(dishes);
$.ajax({
type:'GET',
url:'http://huangchen.redcms.com/order/edit.html',
data:'act=select&sname='+inpVal+'',
success:function(result){
eval('var data='+ result);
console.log('response数据:'+data.length);
if( data.length == 0 ){ $('.addmenu').find('i').text('此菜品不存在!'); return false;}
if( data.length > 1){ $('.addmenu').find('i').text('需填写菜品编号!'); return false;}
if( data.length == 1){
console.log($('.inp_adopt').html());
for(var i=0;i<dishes.length;i++){
var num = dishes[i];
console.log(dishes[i]);
//console.log(data[i]);
if( num != data[0].menu_code.toLowerCase()){
continue;
}
else{
$('.addmenu').find('i').text('此菜品已存在!');
$('.inp_match').removeClass('.inp_adopt');
$('.inp_match').val('');
console.log(i);
$('ul.uldishes li').eq(i).addClass('already');
var offsetY = $('ul.uldishes li.already').height() * i;
console.log(offsetY);
$('ul.uldishes').scrollTop(offsetY);
return false;
}
}
console.log('append');
$('ul.uldishes').append('<li><div><span class=\'num\'>'+data[0].menu_code+'</span><span class=\'dishname\'>'+data[0].menu_name+'</span><span class=\'per\'>'+data[0].order_price+'</span><span class=\'amount\'><a class=\'minus\' href="#">-</a><input class=\'inp inp_short\' value=\'1\' type=\'text\'><a class=\'add\' href=\'#\'>+</a></span><span class=\'price\'>'+data[0].order_price+'</span><span><a class=\'del\' href=\'#\'>删除</a></span></div><div class=\'msg\'><input class=\'inp inp_long inp_msg\' value=\'此处为菜品备注信息\' type=\'text\'></div></li>');
stripesTable();
}
}
})
}
/*餐费*/
function mealFee(){
var dish_amount = $('.uldishes li').length;
var total_meal = 0;
for(var i=0;i<dish_amount;i++){
var per_meal = parseInt($('.uldishes li').eq(i).find('.price').text());
total_meal += per_meal;
}
$('.mealfee').find('strong').text(total_meal.toFixed(2));
}
/*补差金额*/
function addFee(){
if( $('.supply').val() == '' ){ $('.supply').val(0);}
var txt = $('.supply').val();
var supply = parseInt(txt);
$('.supplement').find('strong').text(supply.toFixed(2));
}
/*服务费*/
function service(){
var mealfee = parseInt( $('.mealfee').find('strong').text());
var supple = parseInt( $('.supplement').find('strong').text());
var fee = (mealfee + supple)* 0.15;
$('.service').find('strong').text(fee.toFixed(2));
}
function total(){
var mealfee = parseInt( $('.mealfee').find('strong').text());
var supple = parseInt( $('.supplement').find('strong').text());
var service = parseInt( $('.service').find('strong').text());
var fee = mealfee + supple + service;
$('.total').find('strong').text(fee);
}
/*每个菜的总价*/
function totalPrice(elem){
var liNode = elem.parents('li');
var per = parseInt(liNode.find('.per').text());
var num = parseInt( liNode.find('.amount .inp_short').val());
var total = (parseInt(per) * parseInt(num)).toFixed(2);
liNode.find('.price').text(total);
}
/*服务台 高度*/
function serviceHeight(){
$('.maincon').css('height','auto !important');
var screenY = $(window).height();
$('.service').css('min-height',screenY-30);
}
/*判断有无订单号*/
function getOrder(){
$.ajax({
url:'http://wangyang.redcms.com/order/list.html?oid=1&act=view',
success:function(msg){
eval('var json='+msg);
if( json.res == null) {return false;};
/*订单号存在*/
$.fancybox({
'href':'#order_details',
'overlayOpacity':'0.5',
'showCloseButton':false
});
var start = new Date();
countDown(start);
$('.uldishes li').remove();
/*将数据塞入*/
$('.order_no strong').text(json.res.order_no);
$('.create_time strong').text(json.res.create_time);
$('.roominfo li.tel').find('strong').text(json.res.target_telephone);
$('.roominfo li.address').find('.inp').val(json.res.target_address);
//$('.roominfo li.deliver').find()
$('.roominfo li.guest').find('strong').text(json.res.target_guest_name);
$('.roominfo .address2').find('strong').text(json.res.target_address);
for(var i=0;i<json.resinfo.length;i++){
var menuID = json.resinfo[i].menu_id;
var menuName = json.resinfo[i].menu_name;
var count = json.resinfo[i].count;
var unitPrice = json.resinfo[i].unit_price;
var remark = json.resinfo[i].remark;
var price = unitPrice * count;
$('ul.uldishes').append('<li><div><span class=\'num\'>'+menuID+'</span><span class=\'dishname\'>'+menuName+'</span><span class=\'per\'>'+unitPrice+'</span><span class=\'amount\'><a class=\'minus\' href="#">-</a><input class=\'inp inp_short\' value=\'1\' type=\'text\'><a class=\'add\' href=\'#\'>+</a></span><span class=\'price\'>'+price+'</span><span><a class=\'del\' href=\'#\'>删除</a></span></div><div class=\'msg\'><input class=\'inp inp_long inp_msg\' value=\'1\' type=\'text\'></div></li>');
}
stripesTable();
/*合计费用*/
$('.mealfee strong').text(json.res.money);
$('.supplement strong').text(json.res.money);
$('.service strong').text(json.res.money);
$('.total strong').text(json.res.money);
/*遮罩层*/
$(self.parent.frames['header'].document.body).append("<div class='masklayer'></div>");
$(self.parent.frames['subnav'].document.body).append("<div class='masklayer'></div>");
}
})
}
/*隔行换色*/
function stripesTable(){
$('ul.uldishes li').removeClass('c1 c2');
$('ul.uldishes li:odd').addClass('c2');
$('ul.uldishes li:even').addClass('c1');
//$('ul.uldishes li:last').css('border','none');
}
/*遮罩层消失*/
function maskLayer(){
$(self.parent.frames['header'].document.body).find('.masklayer').fadeOut('slow');
$(self.parent.frames['subnav'].document.body).find('.masklayer').fadeOut('slow');
}
/*倒计时*/
var flag = 0;
function countDown(startTime){
console.log(startTime);
var endTime = startTime;
endTime.setMinutes(endTime.getMinutes()+5); //设置时间为5分钟后
console.log(endTime);
/*判断有无键盘鼠标操作*/
$('#order_details').keydown(function(){
/*重置计时*/
if( flag == 0){ console.log('keydown');timerReset(); }
});
$('#order_details').mouseover(function(){
/*重置计时*/
if( flag == 0){ console.log('mouseover');timerReset(); }
})
$('#order_details').click(function(){
/*重置计时*/
if( flag == 0){ console.log('click'); timerReset(); }
})
/*在没有操作的情况下*/
oddTime(endTime);
/*每隔30秒发送重置计时请求*/
resetRequest();
}
/*重置计时*/
function timerReset(){
flag = 1;
setTimeout(function(){
flag = 0;
},31000);
}
/*重置标志*/
function resetRequest(){
setTimeout(function(){
console.log('flag请求标志'+flag);
$.ajax({
type:'GET',
url:'http://huangchen.redcms.com/order/edit.html',
data:'act=check&oid='+flag+'',
success:function(){
console.log('30秒发送一个请求标志');
},
error:function(){
console.log('不向服务器发送重置请求标志')
}
});
if( flag == 1){
clearTimeout(movement);
$('#minutes').text('4分');
//$('#seconds').hide();
var startTime = new Date();
var endTime = startTime;
endTime.setMinutes(endTime.getMinutes()+5); //设置时间为5分钟后
oddTime(endTime);
}
resetRequest();
},30000);
}
/*剩余时间*/
var movement;
function oddTime(endTime){
if( movement){ clearTimeout(movement);}
var current = new Date();
if( new Date(endTime) <= current){
clearTimeout(movement);
$.fancybox.close();
/*遮罩层消失*/
maskLayer();
setTimeout(function(){
$.fancybox({
'href':'#order_tips02',
'onClosed' : function() { maskLayer();}
});
},1000);
return false;
}
var oddTime = new Date(endTime) - current;
var oddMinutes = parseInt(oddTime/1000/60);
$('#minutes').text(oddMinutes + '分');
//if( new Date(endTime) - current <= 60000){
$('i#seconds').show();
var oddSeconds = parseInt(oddTime/1000%60);
$('#seconds').text(oddSeconds +'秒');
//}
movement = setTimeout("oddTime('"+endTime+"')" ,1000);
}
$(window).resize(function(){
serviceHeight();
});