//上下车信息html()
var HTML = '';
//数量html()
var count_html = '';
//返程的html()
var back_info_html = '';
//返程数量的html()
var count_back_html = '';
//乘客人信息html()
var pass_info_html = '';
//去程提交信息html()
var gosuccessHTML = '';
//返程提交信息html()
var backsuccessHTML = '';
//返程相关
var back_line_id = '';
var back_run_id = '';
var back_ticket = '';
var back_ticket_id = '';
var line_id = '';
var run_id = '';
var ticket = '';
var bus_type = '';
var ticket_id = '';
//checkbox选中状态
var ifcheck = 0;
//记录乘车人个数
var passenger = 0;
//去程和往返的交集库存
var stockCount = 0;
//定义一个 只记录去程库存 一般取消返程选中时 重置去程库存
var stockCountTemp = 0;
window.onload = function(){
var run_id = getPar('run_id');
var start_area_id = getPar('start_area_id');
var end_area_id = getPar('end_area_id');
HTML = $('#tabbable').html();
count_html = $('#list').html();
back_info_html = $('#back_info').html();
count_back_html = $('#list_info_back').html();
pass_info_html = $('#all_passenger').html();
gosuccessHTML = $('#commit_ticket_go_success').html();
backsuccessHTML = $('#commit_ticket_back_success').html();
//展示去程信息
showGoInfo(run_id,start_area_id,end_area_id);
}
//展示去程信息
function showGoInfo(run_id,start_area_id,end_area_id){
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
run_id:run_id,
start_area_id:start_area_id,
end_area_id:end_area_id,
back:1,
type:"retrieval_site"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
//去程信息的数据交互
goInfoReloadData(data.list);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//去程信息的数据交互
function goInfoReloadData(data){
var time_html = $('#go_time').html();
time_html = time_html.replace('[出发日期]',data.date);
$('#go_time').html(time_html);
var up_down_html = $('#up_and_down_station').html();
up_down_html = up_down_html.replace('[出发地]',data.start_area_name);
up_down_html = up_down_html.replace('[目的地]',data.end_area_name);
$('#up_and_down_station').html(up_down_html);
// var html = '';
// var temp = HTML;
// //出发地、目的地、时间
// temp = temp.replace('[出发地]',data.start_area_name);
// temp = temp.replace('[目的地]',data.end_area_name);
// temp = temp.replace('[出发日期]',data.date);
//出发地站点、目的地站点
var start_station_list = data.start_order;
var end_station_list = data.end_order;
//
// html += temp;
// $('#tabbable').html(html);
var start_station_html = '';
for (var i = 0 ; i < start_station_list.length; i ++) {
var tempHTML = '';
tempHTML = tempHTML.replace('[出发地站点]',start_station_list[i].name);
tempHTML = tempHTML.replace('0',start_station_list[i].id);
start_station_html += tempHTML;
}
$('#start_area_station').html(start_station_html);
var end_station_html = '';
for (var i = 0 ; i < end_station_list.length; i ++) {
var tempHTML = '';
tempHTML = tempHTML.replace('[出发地站点]',end_station_list[i].name);
tempHTML = tempHTML.replace('0',end_station_list[i].id);
end_station_html += tempHTML;
}
$('#end_area_station').html(end_station_html);
run_id = data.run_id;
line_id = data.line_id;
var start_id = $('#start_area_station').val();
var end_id = $('#end_area_station').val();
ticket = data.ticket;
bus_type = data.bus_type;
//犹豫异步加载的问题 所以只能在展示数据后 继续调用票种价格等相关信息
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
run_id:run_id,
line_id:line_id,
start_id:start_id,
end_id:end_id,
tickets:ticket,
back:1,
type:"retrieval_tickets"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
//替换去程票种数量信息
showCountInfoByGo(data.list);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//选择出发站点
function selectStartStationID(){
var start_id = $('#start_area_station').val();
var end_id = $('#end_area_station').val();
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
run_id:run_id,
line_id:line_id,
start_id:start_id,
end_id:end_id,
tickets:ticket,
back:1,
type:"retrieval_tickets"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
$("#ifback").attr("checked",false);
ifbackSelected(0);
//替换去程票种数量信息
showCountInfoByGo(data.list);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//选择到达站点
function selectEndStationID(){
var start_id = $('#start_area_station').val();
var end_id = $('#end_area_station').val();
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
run_id:run_id,
line_id:line_id,
start_id:start_id,
end_id:end_id,
tickets:ticket,
back:1,
type:"retrieval_tickets"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
$("#ifback").attr("checked",false);
ifbackSelected(0);
//替换去程票种数量信息
showCountInfoByGo(data.list);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//替换去程票种数量信息
function showCountInfoByGo(data){
var html1 = '';
var temp1 = count_html;
temp1 = temp1.replace('[座位等级]',data.site_type);
temp1 = temp1.replace('[价格]',data.price);
//数量
var maxCount = data.num > 20 ? 20 : data.num;
maxCount = maxCount>0 ? maxCount : 0;
stockCount = maxCount;
stockCountTemp = maxCount;
html1 += temp1;
$('#list').html(html1);
if (stockCount == 0) {
var count_replace = '';
$('#ifback').attr('disabled','disabled');
for (var i = 0 ; i <= stockCount; i ++) {
var tempHTML2 = '';
tempHTML2 = tempHTML2.replace('[0]',i);
tempHTML2 = tempHTML2.replace('[-]','无库存');
count_replace += tempHTML2;
}
$('#count_station').html(count_replace);
} else{
var count_replace = '';
for (var i = 0 ; i <= stockCount; i ++) {
var tempHTML2 = '';
tempHTML2 = tempHTML2.replace('[0]',i);
tempHTML2 = tempHTML2.replace('[-]',i);
count_replace += tempHTML2;
}
$('#count_station').html(count_replace);
}
var select_count = $('#count_station').val();
var totalPrice = parseFloat(select_count)*parseFloat(data.price);
$('#total').html(totalPrice);
ticket_id = data.ticket_id;
}
//随票种数量改变总价格
function changeTotalPrice(){
var select_count = $('#count_station').val();
var price = $('#price').html();
var totalPrice = parseFloat(select_count)*parseFloat(price);
$('#total').html(totalPrice);
passenger = select_count;
var count_replace = '';
for (var i = 0;i < passenger; i ++) {
var tempHTML2 = pass_info_html;
tempHTML2 = tempHTML2.replace('passenger_info','passenger_info'+i);
tempHTML2 = tempHTML2.replace('乘客1','乘客'+(i+1));
tempHTML2 = tempHTML2.replace('pass_name','pass_name'+i);
tempHTML2 = tempHTML2.replace('pass_tel','pass_tel'+i);
count_replace += tempHTML2;
}
$('#all_passenger').html(count_replace);
}
//随票种数量改变总价格---针对往返票
function changeBackTotalPrice(){
var select_count = $('#back_count_station').val();
var price = $('#back_price').html();
var totalPrice = parseFloat(select_count)*parseFloat(price);
$('#back_total').html(totalPrice);
passenger = select_count;
var count_replace = '';
for (var i = 0;i < passenger; i ++) {
var tempHTML2 = pass_info_html;
tempHTML2 = tempHTML2.replace('passenger_info','passenger_info'+i);
tempHTML2 = tempHTML2.replace('乘客1','乘客'+(i+1));
count_replace += tempHTML2;
}
$('#all_passenger').html(count_replace);
}
//返程信息选中
function ifbackSelected(value) {
if(value == true) {
$('#ifback').val('1');
$('#calendar').show();
// $('#select_shift').show();
// $('#select_shift').show();
$('#has_noback').hide();
$('#has_back').show();
$('#list_info_back').show();
$('#list_info').hide();
$('#list_info_back').hide();
ifcheck = 1;
// var adate = $('#id-date-picker-1').val();
// selectBackDate(adate);
passenger = 1;
var count_replace = '';
for (var i = 0;i < passenger; i ++) {
var tempHTML2 = pass_info_html;
tempHTML2 = tempHTML2.replace('passenger_info','passenger_info'+i);
tempHTML2 = tempHTML2.replace('乘客1','乘客'+(i+1));
count_replace += tempHTML2;
}
$('#all_passenger').html(count_replace);
} else {
$('#ifback').val('0');
$('#calendar').hide();
$('#select_shift').hide();
$('#back_info').hide();
$('#has_noback').show();
$('#has_back').hide();
$('#list_info_back').hide();
$('#list_info').show();
ifcheck = 0;
$('#select_shift_div').show();
$('.no_info_atten').hide();
//重置库存量
stockCount = stockCountTemp;
if ($('#count_station').val()==0) {
passenger = 1;
} else{
passenger = $('#count_station').val()
}
var count_replace = '';
for (var i = 0;i < passenger; i ++) {
var tempHTML2 = pass_info_html;
tempHTML2 = tempHTML2.replace('passenger_info','passenger_info'+i);
tempHTML2 = tempHTML2.replace('乘客1','乘客'+(i+1));
count_replace += tempHTML2;
}
$('#all_passenger').html(count_replace);
}
}
//选中返程时间 获取返程班次
function selectBackDate(value){
//返程出发地
var back_start_area_id = getPar('end_area_id');
//返程目的地
var back_end_area_id = getPar('start_area_id');
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
bus_type:bus_type,
start_id:back_start_area_id,
end_id:back_end_area_id,
back_time:value,
back:2,
type:"retrieval_backthrough"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
var barlist = data.list;
if (barlist.length == 0) {
// $('#select_shift_div').show();
// $('#select_shift_div').html('无相关班次信息!');
// $('#select_shift_div').addClass('has_no_bus');
$('#select_shift_div').hide();
$('.no_info_atten').show();
$('#back_info').hide();
$('#list_info_back').hide();
} else{
$('#select_shift_div').show();
$('#select_shift').show();
$('.no_info_atten').hide();
var select_shift_html = '';
for (var i = 0 ; i < data.list.length; i ++) {
var tempHTML = '';
tempHTML = tempHTML.replace('请选择',data.list[i].start_time);
tempHTML = tempHTML.replace('1',data.list[i].run_id);
select_shift_html += tempHTML;
}
$('#select_shift').html(select_shift_html);
//==================选中班次,显示返程信息
//继续调用显示 返程票价和数量等相关信息
var bar_content = $('#select_shift').val();
showBackTicketInfo(bar_content,back_start_area_id,back_end_area_id);
}
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//选中返程班次 选择返程相关的信息
function showBackTicketInfo(bar_content,back_area_start,back_area_end){
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
run_id:bar_content,
start_area_id:back_area_start,
end_area_id:back_area_end,
back:2,
type:"retrieval_site"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
if (data.list=="") {
$('#back_info').show();
$('#back_info').html('无相关的票种信息!');
$('#back_info').addClass('has_no_bus');
$('#list_info_back').hide();
}else{
$('#back_info').show();
$('#back_info').removeClass('has_no_bus');
$('#list_info_back').show();
var html = '';
var temp = back_info_html;
//出发地、目的地、时间
temp = temp.replace('[返程出发地]',data.list.start_area_name);
temp = temp.replace('[返程目的地]',data.list.end_area_name);
//出发地站点、目的地站点
var start_station_list = data.list.start_order;
var end_station_list = data.list.end_order;
html += temp;
$('#back_info').html(html);
var start_station_back_html = '';
for (var i = 0 ; i < start_station_list.length; i ++) {
var tempHTML = '';
tempHTML = tempHTML.replace('[返程出发地站点]',start_station_list[i].name);
tempHTML = tempHTML.replace('0',start_station_list[i].id);
start_station_back_html += tempHTML;
}
$('#start_area_station_back').html(start_station_back_html);
var end_station_back_html = '';
for (var i = 0 ; i < end_station_list.length; i ++) {
var tempHTML = '';
tempHTML = tempHTML.replace('[返程目的地站点]',end_station_list[i].name);
tempHTML = tempHTML.replace('0',end_station_list[i].id);
end_station_back_html += tempHTML;
}
$('#end_area_station_back').html(end_station_back_html);
back_line_id = data.list.line_id;
back_run_id = data.list.run_id;
back_ticket = data.list.ticket;
//============展示返程的票种价格数量信息
showBackCountInfo(data.list.run_id,data.list.line_id,data.list.ticket);
}
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//展示返程的票种价格数量信息
function showBackCountInfo(run_id,line_id,ticket){
var start_id = $('#start_area_station_back').val();
var end_id = $('#end_area_station_back').val();
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
run_id:run_id,
line_id:line_id,
start_id:start_id,
end_id:end_id,
tickets:ticket,
back:2,
type:"retrieval_tickets"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
//替换返程票种数量信息
showCountInfoByBack(data.list);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//替换返程票种数量信息
function showCountInfoByBack(data){
var html1 = '';
var temp1 = count_back_html;
temp1 = temp1.replace('[座位等级]',data.site_type);
temp1 = temp1.replace('[价格]',parseFloat(data.price)*2);
//数量
var maxCount = data.num > 20 ? 20 : data.num;
maxCount = maxCount>0 ? maxCount : 0;
stockCount = maxCount < stockCount ? maxCount : stockCount;
html1 += temp1;
$('#list_info_back').html(html1);
if (stockCount == 0) {
var count_replace = '';
for (var i = 0 ; i <= stockCount; i ++) {
var tempHTML2 = '';
tempHTML2 = tempHTML2.replace('[0]',i);
tempHTML2 = tempHTML2.replace('[-]','无库存');
count_replace += tempHTML2;
}
$('#back_count_station').html(count_replace);
} else{
var count_replace = '';
for (var i = 0 ; i <= stockCount; i ++) {
var tempHTML2 = '';
tempHTML2 = tempHTML2.replace('[0]',i);
tempHTML2 = tempHTML2.replace('[-]',i);
count_replace += tempHTML2;
}
$('#back_count_station').html(count_replace);
}
var select_count = $('#back_count_station').val();
var totalPrice = parseFloat(select_count)*parseFloat(data.price)*2;
$('#back_total').html(totalPrice);
back_ticket_id = data.ticket_id;
$('#list_info_back').show();
}
//返程出发站点的更改
function selectBackStartStationID(){
var start_id = $('#start_area_station_back').val();
var end_id = $('#end_area_station_back').val();
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
run_id:back_run_id,
line_id:back_line_id,
start_id:start_id,
end_id:end_id,
tickets:back_ticket,
back:2,
type:"retrieval_tickets"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
//替换返程票种数量信息
showCountInfoByBack(data.list);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//返程目的地站点的更改
function selectBackEndStationID(){
var start_id = $('#start_area_station_back').val();
var end_id = $('#end_area_station_back').val();
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
run_id:back_run_id,
line_id:back_line_id,
start_id:start_id,
end_id:end_id,
tickets:back_ticket,
back:2,
type:"retrieval_tickets"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
//替换返程票种数量信息
showCountInfoByBack(data.list);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
//班次selected的选中事件
function selectShiftInfo(){
var run_id = $('#select_shift').val();
//返程出发地
var back_start_area_id = getPar('end_area_id');
//返程目的地
var back_end_area_id = getPar('start_area_id');
showBackTicketInfo(run_id,back_start_area_id,back_end_area_id);
}
//保存按钮
function saveBtnClicked(){
// var goCount = $('#count_station').val();
// var go_prod_id = '{m'+line_id+'p'+goCount+'|'+'r'+run_id+'}';
//联系人信息
var name = $('#peo_name').val();
var tel = $('#peo_tel').val();
var phoneRe =/^1[3|4|5|7|8]\d{9}$/;
if (name == "") {
window.wxc.xcConfirm("请输入联系人姓名!", window.wxc.xcConfirm.typeEnum.info);
return;
}
var aname = name;
if (tel == "") {
window.wxc.xcConfirm("请输入联系人电话!", window.wxc.xcConfirm.typeEnum.info);
return;
}
if(!phoneRe.test(tel)){
window.wxc.xcConfirm("请输入正确的手机号", window.wxc.xcConfirm.typeEnum.info);
return;
};
$('#save_btn').html('提交中...');
var tempStr = '"';
var passCount = $('#all_passenger').children().length;
for (var i = 0; i < passCount ; i ++) {
var pass_name_str = $('#pass_name'+i).val();
var pass_tel_str = $('#pass_tel'+i).val();
var addstr = pass_name_str+'×'+pass_tel_str+'|';
tempStr= tempStr+addstr;
}
tempStr = tempStr.substring(0,tempStr.length-1);
tempStr = tempStr+'"';
var peoInfo = '{,'+aname+',1,'+tel+',150,,,0,,'+tempStr+'}';
if (ifcheck==0) {
var goCount = $('#count_station').val();
if (goCount == 0) {
window.wxc.xcConfirm("购买票种数量为0!", window.wxc.xcConfirm.typeEnum.info);
$('#save_btn').html('提交');
return;
}
var go_prod_id = '{m'+ticket_id+'p'+goCount+'|'+'r'+run_id+'}';
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
prod:go_prod_id,
customer:peoInfo,
ifback:0,
back_prod:0,
type:"distribut_OrderUp"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
showSuccessConmiteInfo(data.go_list);
$('#save_btn').html('提交');
}else{
window.wxc.xcConfirm("预订失败,请重新下单!", window.wxc.xcConfirm.typeEnum.info);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
} else{
var backCount = $('#back_count_station').val();
var go_prod_id = '{m'+ticket_id+'p'+backCount+'|'+'r'+run_id+'}';
var back_prod_id = '{m'+back_ticket_id+'p'+backCount+'|'+'r'+back_run_id+'}';
if (back_line_id == '') {
window.wxc.xcConfirm("请选择相关日期!", window.wxc.xcConfirm.typeEnum.info);
return;
}
if (backCount == 0) {
window.wxc.xcConfirm("购买票种数量为0!", window.wxc.xcConfirm.typeEnum.info);
$('#save_btn').html('提交');
return;
}
$.ajax({
url:'./zz-fx/control.php',
type: "post",
data: {
prod:go_prod_id,
customer:peoInfo,
ifback:1,
back_prod:back_prod_id,
type:"distribut_OrderUp"
},
dataType: "json",
success: function (data) {
if(data.code == 0){
console.log(data);
//替换返程票种数量信息
showSuccessConmiteBackInfo(data);
$('#save_btn').html('提交');
}else{
window.wxc.xcConfirm("预订失败,请重新下单!", window.wxc.xcConfirm.typeEnum.info);
}
},
fail: function (data) {
// 此处放失败后执行的代码
}
});
}
}
//展示去程的成功提交信息
function showSuccessConmiteInfo(data){
center_show($('.commit_ticket_go_success'));
var tempHTML = gosuccessHTML;
var list = data.list;
tempHTML=tempHTML.replace('[去程出发地]',data.start_area);
tempHTML=tempHTML.replace('去程出发地站点',data.start_res);
tempHTML=tempHTML.replace('[去程目的地]',data.end_area);
tempHTML=tempHTML.replace('去程目的地站点',data.end_res);
tempHTML=tempHTML.replace('[yyyy-mm-dd][mm:ss]',data.run_date+" "+data.run_time);
tempHTML=tempHTML.replace('[座位等级]x[数量]',data.site_type+"×"+data.num);
tempHTML=tempHTML.replace('[订单总额]',data.order_price);
tempHTML=tempHTML.replace('[姓名]',data.customer_name);
tempHTML=tempHTML.replace('[手机号]',data.customer_mobile);
$('#commit_ticket_go_success').html(tempHTML);
}
//展示返程提交成功的返回信息
function showSuccessConmiteBackInfo(data){
center_show($('.commit_ticket_back_success'));
var tempHTML = backsuccessHTML;
var listgo = data.go_list;
var listback = data.back_list;
//去程
tempHTML=tempHTML.replace('[去程出发地]',listgo.start_area);
tempHTML=tempHTML.replace('去程出发地站点',listgo.start_res);
tempHTML=tempHTML.replace('[去程目的地]',listgo.end_area);
tempHTML=tempHTML.replace('去程目的地站点',listgo.end_res);
tempHTML=tempHTML.replace('[yyyy-mm-dd][mm:ss]',listgo.run_date+" "+listgo.run_time);
tempHTML=tempHTML.replace('[座位等级]x[数量]',listgo.site_type+"×"+listgo.num);
//返程
tempHTML=tempHTML.replace('[返程出发地]',listback.start_area);
tempHTML=tempHTML.replace('返程出发地站点',listback.start_res);
tempHTML=tempHTML.replace('[返程目的地]',listback.end_area);
tempHTML=tempHTML.replace('返程目的地站点',listback.end_res);
tempHTML=tempHTML.replace('[yyyy-mm-dd][mm:ss]',listback.run_date+" "+listback.run_time);
tempHTML=tempHTML.replace('[座位等级]x[数量]',listback.site_type+"×"+listback.num);
tempHTML=tempHTML.replace('[订单总额]',parseInt(listback.order_price)+parseInt(listback.order_price)+'元');
tempHTML=tempHTML.replace('[姓名]',listback.customer_name);
tempHTML=tempHTML.replace('[手机号]',listback.customer_mobile);
$('#commit_ticket_back_success').html(tempHTML);
}
//得到url上的参数
function getPar(par){
var local_url = document.location.href;
local_url = decodeURI(local_url);
var get = local_url.indexOf(par +"=");
if(get == -1){
return false;
}
var get_par = local_url.slice(par.length + get + 1);
var nextPar = get_par.indexOf("&");
if(nextPar != -1){
get_par = get_par.slice(0, nextPar);
}
return get_par;
}
//居中显示
var tempDiv = null;
function center_show(show_div) {
tempDiv = show_div;
//显示蒙板
show_div.css('display', 'block');
show_div.css('z-index', 10);
show_div.css('background-color', 'white');
show_div.css('position', 'fixed');
var w = show_div.css('width');
var h = show_div.css('height');
w = w.substr(0, w.length - 2);
h = h.substr(0, h.length - 2);
var s_left = (window.innerWidth - w) / 2 + 'px';
var s_top = (window.innerHeight - h) / 2 + 'px';
show_div.css('left', s_left);
show_div.css('top', s_top);
$('.mask').css('display', 'block');
}
//点击蒙板
function hide_all() {
$('.mask').css('display', 'none');
tempDiv.css('display', 'none');
}
//点击已经有的按钮
function click_show_div(objName, self_obj) {
var obj = $(objName);
if (obj.css('display') == 'none') {
center_show(obj);
} else {
obj.css('display', 'none');
}
}
//点击了弹层关闭
function click_cancel(father_name, self_name) {
if (father_name) {
var father = $(father_name);
center_show(father);
} else {
$('.mask').css('display', 'none');
}
$(self_name).css('display', 'none');
}