//记录添加的信息
var i = 0;
//author:
//update by : fuhc
var order_from_id = "-1";
var returnStartArea = ""
var returnEndArea = "";
//fancheng prod_id
var back_prod_id = '';
var back_run_id = ''; //返程run_id
var checkedValue = ''; //是否是返程
//
var start_date = '';
if(window.ActiveXObject) {
var myreq = new ActiveXObject("Microsoft.XMLHTTP");
} else {
var myreq = new XMLHttpRequest();
}
var ticketArray = new Array();
var m_runid = 0;
function ZZLog(str){
var isLog=true;
if(isLog){
console.log(str);
}
}
$(document).ready(function(){
id = getPar("id");
var run_id = getPar("run_id");
m_runid = run_id;
start_date = getPar('run_date');
$('#start_date').html(start_date);
$('#id-date-picker-1').val(after(start_date));
document.getElementById('tableInfo').innerHTML = '';
var tnowtime = getDateTime(4);
//var myURL = "./st-xm/Api/get_run_sale_ticket.php?tt=" + tnowtime + "&runid=" + run_id;
$.ajax({
url:'./st-xm/Api/get_run_sale_ticket.php', //请求地址
type: "get", //请求方式
data:{
tt: tnowtime,
runid: run_id
},
async:false,
dataType: "json",
success: function (myJson){
console.log(myJson);
var myTicket = myJson.ticket_list;
var num1 = myTicket.length;
p_cirname = myTicket[0].circuitry_name;
document.getElementById('line').innerHTML = p_cirname;
for(var i = 0; i < num1; i++) {
ticketArray[i] = new Array();
ticketArray[i][0] = myTicket[i].prod_id;
ticketArray[i][1] = myTicket[i].prod_name;
ticketArray[i][2] = myTicket[i].start_station_res_id;
ticketArray[i][3] = myTicket[i].start_station_res_name;
ticketArray[i][4] = myTicket[i].end_station_res_id;
ticketArray[i][5] = myTicket[i].end_station_res_name;
ticketArray[i][6] = myTicket[i].prod_price;
ticketArray[i][7] = myTicket[i].seat_type;
ticketArray[i][8] = myTicket[i].seat_type_name;
}
var myOrg = myJson.sale_org;
num1 = myOrg.length;
var temp = '
请选择';
for (var i=0;i'+myOrg[i].soure+''
}
$("#orderSource").html(temp);
$(".filter-item").click(function() {
order_from_id = $(this).val();
});
show_start_station();
}
});
})
function show_start_station() {
var num1 = ticketArray.length;
var n_old_station_res_id = 0;
var n_now_station_res_id = 0;
var staArray = new Array();
var num2 = 0;
var nflag = 0;
for(var i = 0; i < num1; i++) {
n_now_station_res_id = ticketArray[i][2];
nflag = 0;
num2 = staArray.length;
for(var j = 0; j < num2; j++) {
n_old_station_res_id = staArray[j][0];
if(n_old_station_res_id - n_now_station_res_id == 0) nflag = 1;
}
if(nflag == 0) {
staArray[num2] = new Array();
staArray[num2][0] = ticketArray[i][2];
staArray[num2][1] = ticketArray[i][3];
}
}
num1 = staArray.length;
if(num1 > 0) {
var obj1 = document.getElementById('startArea');
obj1.length = 0;
for(var i = 0; i < num1; i++) {
var myOption = new Option(staArray[i][1], staArray[i][0]);
obj1.options[obj1.options.length] = myOption;
}
obj1.options.selectedIndex = 0;
show_end_station();
}
}
function show_end_station() {
var obj2 = document.getElementById('startArea');
var start_res_id = obj2.options[obj2.options.selectedIndex].value;
var num1 = ticketArray.length;
var n_old_station_res_id = 0;
var n_now_station_res_id = 0;
var n_now_start_res_id = 0;
var staArray = new Array();
var num2 = 0;
var nflag = 0;
for(var i = 0; i < num1; i++) {
n_now_station_res_id = ticketArray[i][4];
n_now_start_res_id = ticketArray[i][2];
if(n_now_start_res_id - start_res_id == 0) {
nflag = 0;
num2 = staArray.length;
for(var j = 0; j < num2; j++) {
n_old_station_res_id = staArray[j][0];
if(n_old_station_res_id - n_now_station_res_id == 0) nflag = 1;
}
if(nflag == 0) {
staArray[num2] = new Array();
staArray[num2][0] = ticketArray[i][4];
staArray[num2][1] = ticketArray[i][5];
}
}
}
num1 = staArray.length;
if(num1 > 0) {
var obj1 = document.getElementById('endArea');
obj1.length = 0;
for(var i = 0; i < num1; i++) {
var myOption = new Option(staArray[i][1], staArray[i][0]);
obj1.options[obj1.options.length] = myOption;
}
obj1.options.selectedIndex = 0;
}
show_ticket_list();
}
function show_ticket_list() {
var obj1 = document.getElementById('startArea');
var obj2 = document.getElementById('endArea');
var obj3 = document.getElementById('tableInfo');
obj3.innerHTML = '';
var start_res_id = obj1.options[obj1.options.selectedIndex].value;
var end_res_id = obj2.options[obj2.options.selectedIndex].value;
var num1 = ticketArray.length;
var cstr1 = '';
for(var i = 0; i < num1; i++) {
var now_start_res_id = ticketArray[i][2];
var now_end_res_id = ticketArray[i][4];
if((now_start_res_id - start_res_id == 0) && (now_end_res_id - end_res_id == 0)) {
if(ticketArray[i][1].indexOf('往返') != -1) {
cstr1 += '';
} else {
cstr1 += '
';
}
cstr1 += '' + ticketArray[i][8] + ' | ';
cstr1 += '' + ticketArray[i][1] + ' | ';
cstr1 += '' + ' | ';
cstr1 += ' | ';
}
}
obj3.innerHTML = cstr1;
var t_back_select = $('#ifback').val();
if(t_back_select == 1) {
var t_checked = true;
} else {
var t_checked = false;
}
ifbackSelected(t_checked);
}
//添加乘客人信息
function addLine() {
var addInfo = document.getElementById('addInfo');
//tr
var div = document.createElement("div");
div.id = "newInfo" + i;
// div.style({"width":'300px'},{"height":'100px'});
div.style.height = '100px';
div.style.width = '350px';
var newInfo = $('#left').html();
newInfo += newInfo.replace('delBtn', 'delBtn' + i);
div.innerHTML = newInfo;
addInfo.appendChild(div);
i++;
}
//删除乘客人信息
function delOneLine(sender) {
$('#' + sender).parent().parent().remove();
}
//选中返回的日期date
var end_list2=null;
var start_list2=null;
function selectDate(value) {
var obj1 = document.getElementById("startAreaback");
obj1.innerHTML = "";
obj1.innerText = "";
var obj2 = document.getElementById("endAreaback");
obj2.innerHTML = "";
obj2.innerText = "";
if(value == null) {
return;
}
if(checkedValue=="0"){
return;
}
// 判断日期是否合理
var date1 = new Date(start_date.replace(/\-/g, '/'));
var date2 = new Date(value.replace(/\-/g, '/'));
if(date2 < date1) {
$('#id-date-picker-1').val('');
return;
}
var url = "./st-xm/Api/returnInfoSee.php?method=get_run_back_station&cur_run_id=" + m_runid + "&date_f=" + value;
ZZLog(url);
var endArea_html = ''
$.getJSON(url, function(res_data) {
ZZLog(res_data);
if(res_data['code'] != "0") {
swal(
'订单提交失败',
res_data['info'],
'error'
);
return;
}
if(res_data['start_station_list'].length <= 0) {
swal(
'订单提交失败',
'无相关班次',
'error'
);
obj1.innerHTML = "";
obj2.innerHTML = "";
document.getElementById('ifback').checked=false;
ifbackSelected(false);
}else{
back_run_id = res_data.start_station_list[0].run_id;
var start_list = res_data.start_station_list;
start_list2=start_list;
var end_list = res_data.end_station_list;
end_list2=end_list;
if(checkedValue != "1") {
return;
}
if(start_list.length == 0) {
$('#selected').val('无相关班次');
} else {
for(var i = 0, m = start_list.length; i < m; i++) {
var dict = start_list[i];
var myOption = new Option(dict.start_station_res_name + "-" + dict.start_time, dict.start_station_res_id);
obj1.options[obj1.options.length] = myOption;
}
obj1.options.selectedIndex = 0;
// 默认给第一个
// show_f_station2(end_list,start_list[0]['run_id']);
show_f_station2();
}
}
});
}
function show_f_station2(){
var start_f_index=document.getElementById("startAreaback").selectedIndex;
show_f_station(end_list2,start_list2[start_f_index]['run_id']);
}
// 显示返程的目的地站
function show_f_station(end_list,run_id){
back_run_id=run_id;
var obj2 = document.getElementById("endAreaback");
obj2.innerHTML = "";
for(var i = 0, m = end_list.length; i < m; i++) {
var dict = end_list[i];
if(dict['run_id']!=run_id){
continue;
}
var myOption = new Option(dict.end_station_res_name + "-" + dict.end_time, dict.end_station_res_id);
obj2.options[obj2.options.length] = myOption;
}
obj2.options.selectedIndex = 0;
choose_f_station();
}
//选中返回的时间time
function select_run_time(sender) {}
//选择返程的上下车站点
function choose_f_station() {
var start_f_res_id = $('#startAreaback').val();
var end_f_res_id = $('#endAreaback').val();
if(start_f_res_id=="" || start_f_res_id==null || start_f_res_id==undefined
|| end_f_res_id=="" || end_f_res_id==null || end_f_res_id==null){
swal(
'订单提交失败',
'出发站或目的地为空则不能下往返程订单',
'error'
);
return;
}
if(start_f_res_id==end_f_res_id){
swal(
'订单提交失败',
'出发站与目的地不能相同',
'error'
);
return;
}
var url = "./st-xm/Api/returnInfoSee.php?method=get_run_back_info&f_run_id=" + back_run_id + "&f_st_res_id=" + start_f_res_id + "&f_end_res_id=" + end_f_res_id;
ZZLog(url);
$.getJSON(url, function(res_data) {
ZZLog(res_data);
if(res_data['code'] != "0") {
swal(
'订单提交失败',
res_data['info'],
'error'
);
return;
}
back_prod_id = res_data['prod_id'];
if(back_prod_id==null || back_prod_id==undefined || back_prod_id==""){
swal(
'订单提交失败',
'没有该返程的票种,不允许下往返程订单',
'error'
);
return;
}
back_run_id = res_data['run_id'];
});
}
function submit_order() {
if($("#usersubmit").html() == "保存中...") {
return;
}
$("#usersubmit").removeClass("btn-info");
$("#usersubmit").html("保存中...");
if(checkedValue == "1" && $('#id-date-picker-1').val().length <= 0) {
swal(
'订单提交失败',
'请填写正确',
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
var num1 = ticketArray.length;
var num2 = 0;
var f_ticket_count = 0; //返程票只有一条数据
var cstr1 = ''; //单程的
var cstr_f = ''; //返程的
var u_prod = '';
var u_prod_list = '';//单程修改价格
var f_u_prod_list='';//返程修改价格
var u_price = '';
checkedValue = $('#ifback').val();
// 1=true 0=false // 返程
if( checkedValue == 1 ) {
if (back_prod_id == null || back_prod_id == undefined || back_prod_id == "") {
swal(
'订单提交失败',
'没有该返程的票种,不允许下往返程订单',
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
}
for(var i = 0; i < num1; i++) {
var obj1 = document.getElementById('ticket_count_' + i);
if(obj1) {
var num3 = obj1.options[obj1.options.selectedIndex].value;
f_ticket_count = num3;
if(num3 - 0 > 0) {
// 如果是往返就不添加到此参数中
cstr1 += '{m' + ticketArray[i][0] + 'p' + num3 + '|r' + m_runid + '}';
cstr_f += '{m' + back_prod_id + 'p' + num3 + '|r' + back_run_id + '}';
num2 += parseInt(num3);
u_prod += ticketArray[i][0] + ',';
u_price = $('#price' + i).val();
u_prod_list += ticketArray[i][0] + ',' + u_price + '*';
f_u_prod_list+=back_prod_id+','+u_price;
}
}
}
if(num2 == 0) {
swal(
'订单提交失败',
'请选择购买票张数',
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
var c_cusname = document.getElementById('username').value;
var c_cusmobile = document.getElementById('usernum').value;
var c_cusidno = document.getElementById('userid').value;
var c_ordersource = order_from_id;
var c_channelno = document.getElementById('channelNum').value;
if(c_ordersource == "-1") {
swal(
'订单提交失败',
'请选择订单渠道',
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
if(c_cusname == '') {
swal(
'订单提交失败',
'请输入联系人姓名',
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
if(c_cusmobile == '') {
swal(
'订单提交失败',
'请输入联系人手机',
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
if(checkPhone(c_cusmobile)==false){
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
if(isCardNo(c_cusidno) == false) {
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
//订单备注
// $("#accuracy").val($("#accuracy").val().replace(/\ +/g,""));//去掉空格
//$("#content").val($("#content").val().replace(/[ ]/g,"")); //去掉空格
//$("#content").val($("#content").val().replace(/[\r\n]/g,""));//去掉回车换行
var order_comment=$('#order_remark').val();
// order_comment=order_comment.replace(/\ +/g,"");
// order_comment=order_comment.replace(/[ ]/g,"");
order_comment=order_comment.replace(/[\r\n]/g,"");
if(order_comment.length>500){
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
swal(
'订单提交失败',
'订单备注超出字数限制,限500字',
'error'
);
return;
}
// {prod_id,姓名 ,性别,手机 ,证件类型,证件号 ,地址,地址对应地区ID,邮编,备注}
// var cstr2 = '{,' + c_cusname + ',1,' + c_cusmobile + ',150,' + c_cusidno + ',,0,,'+order_comment+'}';
// 不用逗号连接 因为后端存储过程是以,分割获取参数
// 决定用^
var cstr2 = '{^' + c_cusname + '^1^' + c_cusmobile + '^150^' + c_cusidno + '^^0^^'+order_comment+'}';
var tnowtime = getDateTime(4);
var cstr3 = '';
for(var i = 0; i < num1; i++) {
var u_num = $('#ticket_count_' + i).val();
if(u_num > 0) {
var price = $('#price' + i).val();
cstr3 = cstr3 + price + ',';
}
}
cstr3 = cstr3.substr(0, cstr3.length - 1);
//var u_price=cstr3;
cstr3 = '{' + cstr3 + '}';
//alert(u_prod_list);
u_prod_list = u_prod_list.substr(0, u_prod_list.length - 1);
u_prod = u_prod.substr(0, u_prod.length - 1);
var doorPrice = $('#doorPrice').val();
var hotelPrice = $('#hotelPrice').val();
var myURL = '';
if(checkedValue == "1") {
// var start_f_res_id = $('#startAreaback').val();
// var end_f_res_id = $('#endAreaback').val();
// if(start_f_res_id==end_f_res_id){
// alert('出发站与目的地不能相同!!!');
// $("#usersubmit").addClass("btn-info");
// $("#usersubmit").html("提交");
// return;
// }
var backDate = $('#id-date-picker-1').val();
var backTime = $('#select_time').val();
var startAreaback = $('#startAreaback').val();
var endAreaback = $('#endAreaback').val();
if(startAreaback==endAreaback){
swal(
'订单提交失败',
'出发站与目的地不能相同',
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
if(backDate == "" || backTime == "" || startAreaback == "" || endAreaback == "") {
swal(
'订单提交失败',
'返程信息输入不完整',
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
}
}
myURL = '/st-xm/Api/add_new_order.php?prod=' + cstr1 + '&customer=' + cstr2 + '&order_from_org_id=' + c_ordersource + '&outside_order_id=' + c_channelno + '&tt=' + tnowtime + '&u_prod_list='+u_prod_list+'&f_u_prod_list='+f_u_prod_list+'&price=' + cstr3 + "&doorPrice=" + doorPrice + "&hotelPrice=" + hotelPrice + "&ifcheck=" + checkedValue + "&back_prod=" + cstr_f;
ZZLog(myURL);
//得到返程的prod_id
$.getJSON(myURL, function(date) {
ZZLog(date);
if(checkedValue == "0") {
if(date.errcode != "0") {
swal(
'订单提交失败',
date.errinfo,
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
} else {
swal({
title: '订单提交成功',
text: '订单号:' + date.order_id,
type: 'success',
timer: 20000,
confirmButtonText: 'OK'
}).then(
function () { location.href = '/order_list.html'; },
// handling the promise rejection
function (dismiss) {
location.href = '/order_list.html';
}
)
}
} else {
if(date.errcode != "0") {
swal(
'订单提交失败',
'返程:' + date.errinfo,
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
} else {
if(date.errcode_f != "0") {
swal(
'订单提交失败',
'返程:' + date.errinfo_f,
'error'
);
$("#usersubmit").addClass("btn-info");
$("#usersubmit").html("提交");
return;
} else {
swal({
title: '订单提交成功',
text: '去程订单号:' + date.order_id + ",返程订单号:" + date.order_id_f,
type: 'success',
timer: 20000,
confirmButtonText: 'OK'
}).then(
function () { location.href = '/order_list.html'; },
// handling the promise rejection
function (dismiss) {
location.href = '/order_list.html';
}
)
}
}
}
});
}
//返程信息选中
function ifbackSelected(value) {
if(value == true) {
var yes = $('#ifback').val('1');
$('#back_back').show();
$('#go_go').hide();
checkedValue = "1";
selectDate($('#id-date-picker-1').val());
var num1 = ticketArray.length;
for(var i = 0; i < num1; i++) {
var obj1 = document.getElementById('ticket_count_' + i);
if(obj1) {
var num3 = obj1.options[obj1.options.selectedIndex].value;
if(num3 - 0 > 0) {
obj1.selectedIndex=0;
}
}
}
} else {
var no = $('#ifback').val('0');
$('#back_back').hide();
$('#go_go').show();
checkedValue = "0";
selectDate(null);
}
}
function isCardNo(card) {
if(card) {
// 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
if(reg.test(card) === false) {
alert("身份证输入不合法");
return false;
} else {
return true;
}
}
}
//验证手机号
function checkPhone(phone) {
if(!(/^1[3|4|5|7|8]\d{9}$/.test(phone))) {
swal(
'订单提交失败',
'手机号码有误,请重填',
'error'
);
return false;
} else {
return true;
}
}
function after(d) {
if(d) {
d = new Date(d);
d = +d + 1000*60*60*24;
d = new Date(d);
//return d;
//格式化
var year = ";" + d.getFullYear() + ";";
var month = ";" + (d.getMonth()+0+1) + ";";
var day = ";" + d.getDate() + ";";
if(year.length < 4) {
year = "0" + year;
}
if(month.length < 4) {
month = "0" + month;
}
if(day.length < 4) {
day = "0" + day;
}
var datestr = year + "-" + month + "-" + day;
datestr = datestr.replace(/;/g, "");
return datestr;
} else {
return "";
}
}
function ConvertDateFromString(dateString) {
if(dateString) {
var sdate = dateString.split('-');
var date = new Date(sdate[0], sdate[1], sdate[2]);
return date;
}
}
function getPar(par) {
//获取当前URL
var local_url = document.location.href;
local_url = decodeURI(local_url);
//获取要取得的get参数位置
var get = local_url.indexOf(par + "=");
if(get == -1) {
return "";
}
//截取字符串
var get_par = local_url.slice(par.length + get + 1);
//判断截取后的字符串是否还有其他get参数
var nextPar = get_par.indexOf("&");
if(nextPar != -1) {
get_par = get_par.slice(0, nextPar);
}
return get_par;
}
function getDateTime(nTypeFlag) {
var tNowTime = new Date();
var myYear = ';' + tNowTime.getFullYear() + ';';
var myMonth = ';' + (tNowTime.getMonth() + 1 - 0) + ';';
var myDay = ';' + tNowTime.getDate() + ';';
var myHour = ';' + tNowTime.getHours() + ';';
var myMinu = ';' + tNowTime.getMinutes() + ';';
var mySecond = ';' + tNowTime.getSeconds() + ';';
if(myMonth.length < 4) myMonth = '0' + myMonth;
if(myDay.length < 4) myDay = '0' + myDay;
if(myHour.length < 4) myHour = '0' + myHour;
if(myMinu.length < 4) myMinu = '0' + myMinu;
if(mySecond.length < 4) mySecond = '0' + mySecond;
var cNewTimeStr;
//alert(tNowTime);
switch(nTypeFlag + 1 - 1) {
case 0:
cNewTimeStr = myYear + '-' + myMonth + '-' + myDay;
break;
case 1:
cNewTimeStr = myYear + myMonth + myDay;
break;
case 2:
cNewTimeStr = myHour + ':' + myMinu + ':' + mySecond;
break;
case 3:
cNewTimeStr = myHour + myMinu + mySecond;
break;
case 4:
cNewTimeStr = myYear + myMonth + myDay + myHour + myMinu + mySecond;
break;
case 5:
cNewTimeStr = myYear + '年' + myMonth + '月' + myDay + '日';
break;
case 6:
cNewTimeStr = myYear;
break;
case 7:
cNewTimeStr = myYear + '-' + myMonth;
break;
default:
cNewTimeStr = myYear + '-' + myMonth + '-' + myDay + ' ' + myHour + ':' + myMinu + ':' + mySecond;
break;
}
cNewTimeStr = cNewTimeStr.replace(/;/g, "");
return cNewTimeStr;
}
//function update_order_price(order_id,price){
// //修改价格信息
// $.ajax({
// url: './st-xm/Api/change_price.php', //请求地址
// type: "post", //请求方式
// data: {
// ordid: order_id,
// prod_list: price
// }, //请求参数
// async: false,
// dataType: "json",
// success: function(date) {
// ZZLog('修改订单价格');
// ZZLog(date);
// },
// fail: function(date) {
// // 此处放失败后执行的代码
// }
// });
//}