/**
* Created by luocj on 2016/12/6.
*/
// var start_date = '';
// var end_date = '';
// var hotel_id = '';
// var room_type = '';
// var org_id = '';
var hotel_name = getPar('hotel_name');
var product_name = getPar('product_name');
var hotel_id = getPar('hotel_id');
var parent_room_type = getPar('parent_type'); //基础房型
var room_type = getPar('room_type');
var start_date = '';
var end_date = '';
// var start_date = '2016-12-05';
// var end_date = '2016-12-08';
// var hotel_id = 294;
// var room_type = 1;
// var org_id = 4;
//总佣金,总结算,总利润
var all_yongj = 0;
var all_jiesuan = 0;
var all_profit = 0;
//得到替换行
var tr = $('.tr_str').prop('outerHTML');
window.onload = function () {
$('#hotel_name').text(hotel_name);
$('#product_name').text(product_name);
//初始时间不需要给默认值
// $("#start_date").val(getDateTime(0));
// $("#end_date").val(after(getDateTime(0)));
// start_date = $('#start_date').val();
// end_date = $('#end_date').val();
//获取渠道
getOrgList();
// //获取可下订单
// getRoomStock();
//最晚到店时间
getTimeList();
};
// 获取渠道
function getOrgList() {
var url = base_api + "?type=order_MakeHTOrder&op=org_list";
$.getJSON(url, function (data) {
ZZLog(data);
if (data['code'] != "0") {
alert(data['info']);
} else {
var outHTML = '';
org_list = data['org_list'];
for (var i = 0; i < org_list.length; i++) {
var HTML = '';
var dict = org_list[i];
HTML = HTML.replace('请选择', dict['org_name']);
HTML = HTML.replace("id=0", "id=" + dict['org_id'] + " value=" + dict['org_id']);
outHTML += HTML
}
$('#org_id').html(outHTML);
$('.select_line').comboSelect();
}
})
}
//获取可下库存
function getRoomStock() {
var url = base_api + "?type=order_MakeHTOrder&op=order_list&hotel_id=" + hotel_id + "&room_type=" + room_type + "&parent_room_type=" + parent_room_type + "&org_id=" + org_id + "&start_date=" + start_date + "&end_date=" + end_date;
// ZZLog(url);
$.getJSON(url, function (data) {
ZZLog(data);
if (data['code'] != 0) {
ZZAlertInfo(data['info'], function () {
return;
});
} else {
setDataHTML(data)
}
}).error(function (data) {
})
}
//页面数据替换
function setDataHTML(data) {
var sumHTML = '';
for (var i = 0; i < data['order_list'][0].length; i++) {
var dict = data['order_list'][0][i];
var HTML = tr;
//替换入住日期
HTML = HTML.replace('[入住日期]', dict['run_date']);
//end 替换入住日期
//替换数量
//得到替换数量,逻辑:先判断超售oversell_flag,1为可以超售,如果可以超售则取data['order_list'][1]中的该天所有库存,超了不能下单。
var count = 0;
if (dict['oversell_flag'] == 1 && dict['remaining_count'] != -1) {
for (var j = 0; j < data['order_list'][1].length; j++) {
var dict1 = data['order_list'][1][j];
if (dict['run_date'] == dict1['run_date']) {
count += parseInt(dict1['remaining_count']);
// ZZLog(dict1);
//将调用超售库存的信息放入data-json-baoliu,maiduan,xianxun
if (dict1['stock_type'] == '228') {//买断
HTML = HTML.replace('[data-json-maiduan]', setJsonHtml(dict1))
} else if (dict1['stock_type'] == '229') {//现询
HTML = HTML.replace('[data-json-xianxun]', setJsonHtml(dict1))
} else if (dict1['stock_type'] == '230') {//保留
HTML = HTML.replace('[data-json-baoliu]', setJsonHtml(dict1))
} else {
ZZAlertInfo('没有该库存类型');
}
}
}
} else {
for (var j = 0; j < data['order_list'][1].length; j++) {
var dict1 = data['order_list'][1][j];
if (dict['run_date'] == dict1['run_date']) {
// ZZLog(dict1);
//将调用超售库存的信息放入data-json-baoliu,maiduan,xianxun
if (dict1['stock_type'] == '228') {//买断
HTML = HTML.replace('[data-json-maiduan]', setJsonHtml(dict1))
} else if (dict1['stock_type'] == '229') {//现询
HTML = HTML.replace('[data-json-xianxun]', setJsonHtml(dict1))
} else if (dict1['stock_type'] == '230') {//保留
HTML = HTML.replace('[data-json-baoliu]', setJsonHtml(dict1))
} else {
ZZAlertInfo('没有该库存类型');
}
}
}
count = parseInt(dict['remaining_count'] == -1 ? 0 : dict['remaining_count'])
}
// ZZLog(count);
//end 得到替换数量
//循环替换数量
var selHTML = '';
HTML = HTML.replace('[数量]', selHTML);
//end 替换数量
//结算价替换
HTML = HTML.replace('[结算价]', '')
//end 结算价替换
//佣金规则
var ling = 0;
var ling1 = ling.toFixed(2);
if (dict['commision_flag'] == 0) {//为0不返佣,为1返佣
HTML = HTML.replace('[佣金]', '-');
} else {
HTML = HTML.replace('[佣金]', ling1);
}
//end 佣金规则
HTML = HTML.replace('[结算价总额]', ling1);
HTML = HTML.replace('[销售利润]', ling1);
//将非超卖库存存入data-json
HTML = HTML.replace('[data-json]', setJsonHtml(dict));
sumHTML += HTML
}
$('#make_order_list').html(sumHTML);
if (sumHTML) {
$('#make_table').show();
} else {
$('#make_table').hide();
}
//刷新总计
all_sum();
}
//数量与结算单价改变对应的渠道佣金,结算总价,销售利润的变化
function changeCount(obj) {
// 房间数量
var room_count = $(obj).closest('tr').find('.prod_count').val();
// 结算单价
var room_price = $(obj).closest('tr').find('.prod_price').val();
// 佣金规则
var dict = getJsonHtml($(obj).closest('tr').attr('data-json'));
var dict_maiduan = getJsonHtml($(obj).closest('tr').attr('data-json-maiduan'));
var dict_baoliu = getJsonHtml($(obj).closest('tr').attr('data-json-baoliu'));
var dict_xianxun = getJsonHtml($(obj).closest('tr').attr('data-json-xianxun'));
var commision_price = 0;
if (dict['commision_flag'] == '1') {//有佣金规则
if (dict['back_commision_method'] == '309') {//308 按销售金额309 按结算金额
commision_price = dict['back_value']
} else if (dict['back_commision_method'] == '308') {
commision_price = room_count * room_price * parseFloat(dict['back_percent']) / 100;
}
} else {//无佣金规则
commision_price = 0;
}
//end 佣金规则
//结算总价
var jiesuan_price = room_count * room_price;
//end 结算总价
//库存类型与成本
var maiduan_count = dict_maiduan['remaining_count'] ? dict_maiduan['remaining_count'] : 0;
var baoliu_count = dict_baoliu['remaining_count'] ? dict_baoliu['remaining_count'] : 0;
var xianxun_count = dict_xianxun['remaining_count'] ? dict_xianxun['remaining_count'] : 0;
var maiduan_price = dict_maiduan['cost_price'] ? dict_maiduan['cost_price'] : 0;
var baoliu_price = dict_baoliu['cost_price'] ? dict_baoliu['cost_price'] : 0;
var xianxun_price = dict_xianxun['cost_price'] ? dict_xianxun['cost_price'] : 0;
//end 库存类型与成本
//销售利润
var profit = 0;
if (parseInt(room_count) <= parseInt(maiduan_count)) {//所选房间数小于等于买断数
profit = jiesuan_price - commision_price - maiduan_price * room_count
} else if (parseInt(room_count) > parseInt(maiduan_count) && parseInt(room_count) <= (parseInt(maiduan_count) + parseInt(baoliu_count))) { //所选房间数大于买断数,小于等于保留数+买断数
profit = jiesuan_price - commision_price - maiduan_price * maiduan_count - baoliu_price * (room_count - maiduan_count)
} else if (parseInt(room_count) > (parseInt(maiduan_count) + parseInt(baoliu_count)) && parseInt(room_count) <= (parseInt(maiduan_count) + parseInt(baoliu_count) + parseInt(xianxun_count))) {
profit = jiesuan_price - commision_price - maiduan_price * maiduan_count - baoliu_price * baoliu_count - xianxun_price * (room_count - maiduan_count - baoliu_count)
}
//end 销售利润
//佣金显示
var commision_price1 = parseFloat(commision_price).toFixed(2);
if (dict['commision_flag'] == 1) {
$(obj).closest('tr').find('.yongj_sum').text(commision_price1);
} else {
$(obj).closest('tr').find('.yongj_sum').text('-');
}
//结算总价显示
var jiesuan_price1 = parseFloat(jiesuan_price).toFixed(2);
if (jiesuan_price1) {
$(obj).closest('tr').children().eq(4).text(jiesuan_price1);
}
//销售利润显示
var profit1 = parseFloat(profit).toFixed(2);
if (profit1) {
$(obj).closest('tr').children().eq(5).text(profit1);
}
//总计
all_sum();
}
// 获取1至23小时
function getTimeList() {
var outHTML = ''
for (var i = 1; i <= 23; i++) {
var HTML = '';
var time = i;
HTML = HTML.replace('', '');
outHTML += HTML
}
$('#time').html(outHTML);
}
//获取时差并获取相应时间的订单
function timeDiff() {
var start = $("#start_date").val();
var end = $("#end_date").val();
start = start.replace(/-/g, "/");
var startdate = new Date(start);
end = end.replace(/-/g, "/");
var enddate = new Date(end);
var time = enddate.getTime() - startdate.getTime();
var days = parseInt(time / (1000 * 60 * 60 * 24));
$('#datediff').html('共 ' + days + ' 晚');
start_date = $('#start_date').val();
end_date = $('#end_date').val();
org_id = $('#org_id').val();
getRoomStock()
}
//日历点击事件
function timeDiffStart() {
timeDiff();
$('#end_date').focus();
}
//添加备注
function addNote(e) {
var note = '
';
//不同用户登录,显示不同内容
var display = 'none';
var user_org_id = getCookie('user_org_id');
if (user_org_id == 0) {
display = 'inline-block';
}
note += '
';
note += '
';
var user_id = getCookie('user_id');
if ($.inArray(user_id, [1, 35, 160]))
note += '
删除';
note += '
';
$(".note:last").after(note);
}
//提交订单
function commit(identify) {
if ($('#button').text() == '保存中' || $('#button_send').text() == '保存中') {
return;
}
$('#button').text('保存中');
$('#button').css('background', 'darkgray');
$('#button_send').text('保存中');
$('#button_send').css('background', 'darkgray');
//获取联系人,联系方式,备注
var contacts = $('#contacts').val().replace(/\,/g, ' ').trim();
var phone = $('#phone').val();
var more = '';
//拒单标识0为不能拒单,1为可以拒单
var if_cancel = 0;
//备注要拼接字符串
$.each($("[name^='note[type]']"), function (key, item) {
var text = $(item).next().val().replace(/[\|,]/g, ' ').trim();
if (text != '') {
if (more != '')
more += '||';
more += getCookie('user_id') + '|' + parseInt(Date.now() / 1000) + '|' + item.value + '|' + text;
}
});
//end 备注要拼接字符串
var cus_list = "{" + contacts + "," + phone + "," + more + "}";
//end 获取联系人,联系方式,备注
//获取最晚到店时间
var checkin_time = $('#time').val().toString();
//渠道订单号
var org_num = $('#org_num').val();
//渠道id
var org_id = $('#org_id').val();
//获取房型列表
var room_list = '';
$('.tr_str').each(function () {
var start_date = $(this).find('td').eq(0).text();
var all_count = $(this).find('.prod_count').val();
if (all_count == 0) {
/*$('#button').text("保存");
$('#button').attr('disabled',"false");*/
ZZAlertInfo('请选择库存', function () {
return;
})
}
var dan_jiesuan = $(this).find('.prod_price').val();
if ($(this).find('.yongj_sum').text() == '-') {
var dan_yongj = 0
} else {
var dan_yongj = (parseFloat($(this).find('.yongj_sum').text()) / parseInt(all_count)).toFixed(2);
}
//获得买断,保留,现询的价格与库存
var dict_maiduan = getJsonHtml($(this).attr('data-json-maiduan'));
var dict_baoliu = getJsonHtml($(this).attr('data-json-baoliu'));
var dict_xianxun = getJsonHtml($(this).attr('data-json-xianxun'));
//库存类型与成本
var maiduan_count = dict_maiduan == 0 ? 0 : dict_maiduan['remaining_count'];
var baoliu_count = dict_baoliu == 0 ? 0 : dict_baoliu['remaining_count'];
var xianxun_count = dict_xianxun == 0 ? 0 : dict_xianxun['remaining_count'];
var maiduan_price = dict_maiduan == 0 ? 0 : dict_maiduan['cost_price'];
var baoliu_price = dict_baoliu == 0 ? 0 : dict_baoliu['cost_price'];
var xianxun_price = dict_xianxun == 0 ? 0 : dict_xianxun['cost_price'];
if (maiduan_price == 0 && baoliu_price == 0 && xianxun_price == 0) {
ZZAlertInfo('存在成本价为零,请至对应房型列表确认', function () {
})
}
//end 库存类型与成本
//end 获得买断,保留,现询的价格与库存
//判断库存
var maiduan_field = '';
var baoliu_field = '';
var xianxun_field = '';
var sum_field = '';
if (parseInt(all_count) <= parseInt(maiduan_count)) {//小于等于买断库存228
sum_field = '228' + ',' + all_count + ',' + maiduan_price
} else if (parseInt(all_count) > parseInt(maiduan_count) && parseInt(all_count) <= (parseInt(maiduan_count) + parseInt(baoliu_count))) {
maiduan_field = '228' + ',' + maiduan_count + ',' + maiduan_price;
baoliu_field = '230' + ',' + (all_count - maiduan_count) + ',' + baoliu_price;
sum_field = maiduan_field + '|' + baoliu_field
} else if (parseInt(all_count) > (parseInt(maiduan_count) + parseInt(baoliu_count)) && parseInt(all_count) <= (parseInt(maiduan_count) + parseInt(baoliu_count) + parseInt(xianxun_count))) {
if_cancel = 1;
maiduan_field = '228' + ',' + maiduan_count + ',' + maiduan_price;
baoliu_field = '230' + ',' + baoliu_count + ',' + baoliu_price;
xianxun_field = '229' + ',' + (all_count - baoliu_count - maiduan_count) + ',' + xianxun_price;
sum_field = maiduan_field + '|' + baoliu_field + '|' + xianxun_field
} else {
/*ZZAlertInfo('获取库存信息失败', function () {
return false;
})*/
}
// ZZLog(sum_field);
room_list += '{\'\'' + start_date + '\'\',' + all_count + ',' + dan_jiesuan + ',' + dan_yongj + '}';
//end 判断库存
});
//end 获取房型列表
var param = {
type: "order_MakeHTOrder",
op: "make_order",
hotel_id: hotel_id,
room_type: room_type,
org_id: org_id,
org_num: org_num,
room_list: room_list,
cus_list: cus_list,
checkin_time: checkin_time,
if_cancel: if_cancel,
order_id: 0,
total_commission: all_yongj,
benefit: all_profit
};
ZZLog(param);
//最晚到店不为空,联系人不为空,订单渠道不为空,渠道订单号不为空,入住日期得连续,库存不问空
if (hotel_id == '' || room_type == '' || org_id == '' || room_list == '' || checkin_time == '' || if_cancel === '' || contacts === '' ) {
/*$('#button').text("保存");
$('#button').attr('disabled',"false");*/
ZZAlertInfo('请完整填写数据', function () {
$('#button').text('提交');
$('#button').css('background', '#428bca!important');
$('#button_send').text('提交并发单');
$('#button_send').css('background', '#428bca!important');
})
return false;
} else if ( org_num == '' || org_num.indexOf("\'") >0||org_num.indexOf("\"") >0){
ZZAlertInfo('渠道订单号非法,请确认', function () {
$('#button').text('提交');
$('#button').css('background', '#428bca!important');
$('#button_send').text('提交并发单');
$('#button_send').css('background', '#428bca!important');
})
return false;
} else {
loading();
$.ajax({
url: base_api,
type: 'post',
dataTye: 'json',
data: param,
success: function (res_data) {
closeLoading();
res_data = JSON.parse(res_data);
if (res_data['code'] != "0") {
$('#button').text('提交');
$('#button').css('background', '#428bca!important');
$('#button_send').text('提交并发单');
$('#button_send').css('background', '#428bca!important');
ZZAlertInfo(res_data['info']===''?'下单失败':res_data['info'], function () {
})
} else {
$('#button').text('提交');
$('#button').css('background', '#428bca!important');
$('#button_send').text('提交并发单');
$('#button_send').css('background', '#428bca!important');
if (identify == 1) { // 继续发单
var url = base_api;
var param = {
type: "order_HotelOrderList",
op: "billing",
order_id: res_data['order_id']
};
$.ajax({
url: url,
type: "post",
dataType: "json",
data: param,
success: function (send_data) {
ZZLog(send_data);
if (send_data['code'] != "0") {
ZZAlertInfo('下单成功!订单号为' + res_data['order_id'] + ';自动发单失败:' + send_data['info'] + ',请到酒店订单列表进行手动发单操作', function () {
window.location.href = cs1_path + "/hotel/ordermain/index";
// window.location.href = "./new_order_list.html";
});
} else {
ZZAlertInfo('下单成功!订单号为' + res_data['order_id'], function () {
window.location.href = cs1_path + "/hotel/ordermain/index";
// window.location.href = "./new_order_list.html";
});
}
}, error: function (error) {
ZZLog(error);
}
})
} else {
ZZAlertInfo('下单成功!订单号为' + res_data['order_id'], function () {
window.location.href = cs1_path + "/hotel/ordermain/index";
// window.location.href = "./new_order_list.html";
});
}
}
},
error: function (msg) {
closeLoading();
}
})
}
}
//获取总计
function all_sum() {
all_yongj = 0;
all_jiesuan = 0;
all_profit = 0;
var all_yongj1 = 0;
var all_jiesuan1 = 0;
var all_profit1 = 0;
$('.yongj_sum').each(function () {
all_yongj += parseFloat($(this).text())
});
if (isNaN(all_yongj)) {
all_yongj = 0
}
$('.jiesuan_sum').each(function () {
all_jiesuan += parseFloat($(this).text())
});
if (isNaN(all_jiesuan)) {
all_jiesuan = 0
}
$('.benefit_sum').each(function () {
all_profit += parseFloat($(this).text())
});
if (isNaN(all_profit)) {
all_profit = 0
}
all_yongj1 = all_yongj.toFixed(2);
all_jiesuan1 = all_jiesuan.toFixed(2);
all_profit1 = all_profit.toFixed(2);
$('#all_yongj').text(all_yongj1 + '元');
$('#all_jiesuan').text(all_jiesuan1 + '元');
$('#all_profit').text(all_profit1 + '元');
}
// 输入渠道订单号后失去焦点判断渠道订单号是否存在
$('#org_num').blur(function () {
var org_num = $('#org_num').val();
if(org_num == '' || org_num == 0)
{
return false;
}
var url = base_api;
var param = {
type: "order_HotelOrderList",
op: "check_org",
org_num: org_num,
};
$.ajax({
url: url,
type: "post",
dataType: "json",
data: param,
success: function (send_data) {
// ZZLog(send_data);
if (send_data) {
$('#org_num').css('border-color', 'rgb(169, 68, 66)');
$('#re-org-num').removeClass('hidden');
}else
{
$('#org_num').css('border-color', '#d5d5d5');
$('#re-org-num').addClass('hidden');
}
}, error: function (error) {
ZZLog(error);
}
})
});