var car_no = 0;
var have_car_no = 0; //已有有的车号
var line_distance = 0;
var base_cost = [];
function getweek() {
var week = "week=";
for (var i = 1; i < $(".weeklist input").length; i++) {
if ($(".weeklist input").eq(i).is(":checked")) {
week += $(".weeklist input").eq(i).val()
}
}
return week
}
function getalltime() {
var allstation = "allstation=";
for (var i = 0; i < $(".replace-lineinfo tr").length; i++) {
var allattr = [];
var atime = parseInt($(".replace-lineinfo tr").eq(i).children("td:eq(0)").children(".hour").val()) * 60 + parseInt($(".replace-lineinfo tr").eq(i).children("td:eq(0)").children(".minute").val());
var astationid = $(".replace-lineinfo tr").eq(i).children("td:eq(1)").attr("alineid");
var aupdowntype = $(".replace-lineinfo tr").eq(i).children("td:eq(2)").children("select").val();
var amouth = $(".replace-lineinfo tr").eq(i).children("td:eq(3)").children("select").val();
if (amouth == null) {
amouth = 0;
}
allattr.push(astationid);
allattr.push(atime);
allattr.push(aupdowntype);
allattr.push(amouth);
var astation = '{' + allattr.join() + '}'
allstation += astation;
}
;
return allstation;
}
function getallcar() {
var allcar = "allcar=";
for (var i = 0; i < $(".car-select").length; i++) {
var allattr = [];
var acartype = $(".car-select").eq(i).children(".car-item").val();
//TODO 发现:已有的车号保持不变,新增的都是0。。7-29待确认 已改,测试中
// 经发现,使用html()谷歌浏览器自动翻译后自动在里面添加标签导致参数错误,故改成text()
// var acarnum =acarnum=$(".car-select").eq(i).children("i").html();
var acarnum = acarnum = $(".car-select").eq(i).children("i").text();
// if(have_car_no-1 have_car_no) {
acarnum = '0';
}
// acarnum='0';
var acarseat = $(".car-select").eq(i).children(".ifseat").val();
//..品牌
var car_brand = $('.car-select').eq(i).children(".car-brand").val();
if (!car_brand) {
car_brand = 288;
}
var car_supplier = $('.car-select').eq(i).children(".supplier-list").val();
var car_cost = $('.car-select').eq(i).children(".cost-type").val();
var car_cost_price = $('.car-select').eq(i).children(".cost_price").val();
var send_bus_res_id = $('.car-select').eq(i).children(".supplier-list").attr('data-send-bus-res-id');
var send_bus_res_json = '';
if (send_bus_res_id != 0) {
send_bus_res_json = getJsonHtml(send_bus_res_id);
}
if (!/^\d+(\.\d{1,2})?$/.test(car_cost_price)) {
alert("请输入价格");
return false;
}
if (send_bus_res_json!=''&&((car_cost_price!=send_bus_res_json.cost_price)||(car_cost!=send_bus_res_json.cost_type)||(car_supplier!=send_bus_res_json.cost_motorcade_id))){
alert("已经派车的车次不能进行数据修改,请联系管理员");
return false;
}
allattr.push(acarnum);
allattr.push(acartype);
allattr.push(acarseat);
allattr.push(car_brand);
allattr.push(car_supplier);
allattr.push(car_cost);
allattr.push(car_cost_price);
var acar = '{' + allattr.join() + '}'
allcar += acar;
}
return allcar;
}
function gettickettype() {
var allticket = "allticket=";
// var starareaid = $(".stararea").eq(0).attr("starareaid");
// var endareaid = $(".endarea").eq(0).attr("endareaid");
//console.log(starareaid)
var judge = false;
for (var i = 0; i < $(".ticket_sel").length; i++) {
if ($(".ticket_sel").eq(i).is(":checked")) {
judge = true;
var index = $(".ticket_sel").eq(i).parent().parent().index();
var allattr = [];
var starareaid = $(".adult").eq(index).children(".stararea").attr("starareaid");
var endareaid = $(".adult").eq(index).children(".endarea").attr("endareaid");
var seatid = $(".adult").eq(index).children(".seatid").attr("seatid");
var crowd = $(".adult").eq(index).children(".crowdid").attr("crowdid");
var aticketnum = $(".adult").eq(index).children(".ticketnum").children("input").val();
if (!aticketnum) {
aticketnum = 0;
}
allattr.push(starareaid);
allattr.push(endareaid);
allattr.push(seatid);
allattr.push(crowd);
allattr.push(aticketnum);
var aticket = '{' + allattr.join() + '}'
allticket += aticket;
}
}
if (judge == false) {
return false;
}
return allticket
}
function addweek(week) {
for (var i = 0; i < week.length; i++) {
var day = week.slice(i, i + 1)
console.log(day)
for (var n = 0; n < $(".aday").length; n++) {
if (day == $(".aday").eq(n).val()) {
$(".aday").eq(n).attr("checked", "true")
}
}
}
}
function havecar(car) {
console.log(123456)
}
function auto_update_cost(obj) {
var acartype = $(obj).parent().children(".car-item").val();
var car_cost = $(obj).parent().children(".cost-type").val();
var car_supplier = $(obj).parent().children(".supplier-list").val();
if (typeof(base_cost[car_supplier][acartype]) != "undefined" && car_cost == "477") {
var cost_price_auto = Math.round(base_cost[car_supplier][acartype] * line_distance);
$(obj).parent().children(".cost_price").val(cost_price_auto);
}
}
$(document).ready(function () {
$(".startime").on("change", function () {
$(".data-erro").html("")
})
$('.date-picker').datepicker({
autoclose: true
}).next().on('click', function () {
$(this).prev().focus();
});
var addcar = $(".car-select").outerHTML();
var ticket2 = $(".noble").outerHTML();
var addcar = $(".car-select").outerHTML();
//$(".car-select").remove();
$(".storage").on("click", function () {
if ($('.storage').html() != "保存") {
return;
}
console.log('保存次数');
$('.storage').html('保存中...');
//var week = getweek ();
// if($(".add-line").val()==''){
// $(".addline-erro").html("必填项");
// return;
// };
if ($(".startime").val() == '') {
$(".data-erro").html("必填项")
return;
}
;
// if(week==false){
// $(".week-erro").html("必填项");
// return;
// };
if ($(".car-type").html() == '') {
$(".car-erro").html("必填项");
return;
}
;
if (gettickettype() == false) {
$(".ticket-erro").html("以上票种必须选中一个");
return;
}
;
//var lineid = getval(".add-line","runid");
var id = runid;
var startime = getval(".startime", "val");
//var endtime = getval(".endtime","val");
var alltime = getalltime();
var allcar = getallcar();
if (allcar == false) {
return false;
}
var allticket = gettickettype();
var sellday = getval(".sellday", "val");
var all = getdata(id, startime, alltime, allcar, allticket, sellday);
console.log(all);
// $.getJSON("./st-xm/Api/run_bus_update.php?" + all, function (data) {
// if (data.errcode == 0) {
// window.location.href = "./carList.html";
// } else {
// alert(data.errinfo);
// $('.storage').html('保存');
// }
// })
$.ajax({
url: "./st-xm/Api/run_bus_update.php?" + all,
type: 'get',
dataType: 'json',
success: function (data) {
if (data.code == '0') {
swal({
title: '修改成功',
type: 'success',
timer: 20000,
confirmButtonText: 'OK'
}).then(
function () { window.location.href = "./carList.html"; },
function (dismiss) {
window.location.href = "./carList.html";
}
)
} else {
swal(
'修改失败',
data.info,
'error'
);
$('.storage').html('保存');
}
},
error: function (e) {
console.log(e);
}
})
// if(/week=\s+/.test(week)){
// console.log("weektrue");
// }else{
// alert("bitian") ;
// return;
// }
//console.log(week);
//console.log(startime);
//console.log(endtime);
//console.log($(".add-line").html());
//console.log(allcar);
//console.log(allticket);
//location.href="st-xm/Api/run_bus_new_save.php?"+all;
})
// alert(1)
var runid = 'runid=' + window.location.search.replace(/[^0-9]/ig, "")
var url = './st-xm/Api/runEditControll.php?method=getRunInfo&user_id=1&run_id=' + window.location.search.replace(/[^0-9]/ig, "");
$.getJSON(url, function (data) {
console.log(url);
console.log(data)
$('.addtime').css('display', 'block');
base_cost = data.base_cost;
var ticket1 = $(".adult").outerHTML();
$(".adult").remove();
var linehtml = $(".add-line").outerHTML();
$(".add-line").remove();
$(".sellday").val(data.sellday)
if (data.line) {
var linename = linehtml.replace(/linename|alineid/g, function (match) {
switch (match) {
case "linename":
return data.line.name;
case "alineid":
return data.line.lineid;
}
});
$(".replaceline").append(linename)
}
$(".startime").val(data.time)
//addweek(data.week);
// $.each(data.hascartype,function(i,v){
// var cartype = [];
// $.each(v,function(i,v){
// if(v.sel==1){
// var acar = additemall("option",v.cartype,{"value":v.id,selected:"true"})
// }else{
// var acar = additemall("option",v.cartype,{"value":v.id})
// }
// cartype.push(acar)
// })
// var acartype = addcar.replace("cartype",cartype.join());
// $(".car-type").append(acartype);
// });
var allcartype = $(".car-item").outerHTML();
var ahtml = [];
$.each(data.hascar, function (i, v) {
car_no = v.carnum; //保存当前车号
var acar = addcar.replace(/num|cartype|supplier_list|cost_type|cost-price|selseat|del|删除/g, function (match) {
switch (match) {
case "num":
have_car_no = v.carnum; //将已有的最大车号保存起来 update by fuhc 2016-07-28
return v.carnum;
case "cartype":
return (function (seat, id) {
var html = [];
$.each(seat, function (i, v) {
if (id == v.id) {
var str = ""
}
// else{
// var str = ""
// }
html.push(str);
})
return html.join("");
})(data.cartype, v.id);
case "supplier_list":
var str = '';
for (var i = 0; i < data.supplier_list.length; i++) {
if (v.cost_motorcade_id == data.supplier_list[i].supplier_id) {
str += "";
} else {
str += "";
}
}
if (v.send_bus_res_id == 0) {
str = '';
} else {
str = '';
}
return str;
case "cost_type":
var str = '';
for (var i = 0; i < data.cost_type.length; i++) {
if (v.cost_type == data.cost_type[i].type_id) {
str += "";
} else {
str += "";
}
}
if (v.send_bus_res_id == 0) {
str = '';
} else {
str = '';
}
return str;
case "cost-price":
var str = '元';
if (v.send_bus_res_id != 0) {
str = '元';
}
return str;
case "selseat":
return v.selectseat == "156" ? "" : ""
case "del":
return "";
case "删除":
return "";
}
})
ahtml.push(acar);
});
$(".car-type").html(ahtml.join(""));
$(".car-select .del").on("click", function () {
$(this).parent().remove();
});
var linehtml = [];
var tickethtml = [];
$(".add-cartype").on("click", function () {
//将车号++
car_no++;
$("car-erro").html("");
var cartype = [];
//artype.push("0");
$.each(data.cartype, function (i, v) {
var acar = additemall("option", v.cartype, {
"value": v.id
})
cartype.push(acar)
})
//artype.push("");
var acartype = addcar.replace(/cartype|supplier_list|cost_type|cost-price|num|selseat/g, function (match) {
switch (match) {
case "cartype":
return cartype.join("");
case "num":
// 先保证能添加车辆 返回0
// return "0";
return car_no;
case "supplier_list":
var str = '';
for (var i = 0; i < data.supplier_list.length; i++) {
str += "";
}
str = '';
return str;
case "cost_type":
var str = '';
for (var i = 0; i < data.cost_type.length; i++) {
str += "";
}
str = '';
return str;
case "cost-price":
var str = '元';
return str;
case "selseat":
return "";
}
;
});
var tmp = acartype.replace(/disabled/g, "");
console.log(tmp);
$(".car-type").append(tmp);
$(".car-select .del").unbind();
$(".car-select .del").on("click", function () {
$(this).parent().remove();
});
})
line_distance = data.line_distance;
$("#disp_line_distance").html(line_distance + "公里");
$.each(data.station, function (i, v) {
var td1 = addTd(addTime(v.DATE_TIME));
var td2 = additemall("td", v.SITES, {
alineid: v.STATION_RES_ID
});
// if(i==0){var td3= addTd('')}
// else{var td3=addTd(addUpdownType(v.UP_DOWN_TYPE))};
var td3 = addTd(addUpdownType(v.UP_DOWN_TYPE));
var td4 = addTd(addMouth(v.TICKET_GATE, v.CHECKPORT));
linehtml.push(addItem("tr", "aline", td1.concat(td2, td3, td4)))
})
$.each(data.ticket, function (i, v) {
if (v.SEAT == "普通座") {
var seatid = 72;
} else if (v.SEAT == "贵宾座") {
var seatid = 73;
} else if (v.SEAT == "儿童特票座") {
var seatid = 74;
}
;
if (v.CROWD == "成人") {
var crowdid = 159;
} else if (v.CROWD == "儿童") {
var crowdid = 160;
} else if (v.CROWD == "老人") {
var crowdid = 161;
} else if (v.CROWD == "军残") {
var crowdid = 162;
} else {
var crowdid = 0;
}
;
//var html = [];
var atciket = ticket1.replace(/checked="checked"|SID|EID|START_AREA|END_AREA|SEAT|CROWD|PRICE|MAX_COUNT|PROD_ID|aseatid|acrowdid/g, function (match) {
switch (match) {
case 'checked="checked"':
return v.sel == 1 ? 'checked="checked"' : "";
case "SID":
return v.SID;
case "EID":
return v.EID;
case "aseatid":
return seatid;
case "acrowdid":
return crowdid;
case "START_AREA":
return v.START_AREA;
case "END_AREA":
return v.END_AREA;
case "SEAT":
return v.SEAT;
case "CROWD":
return v.CROWD;
case "MAX_COUNT":
return v.MAX_COUNT;
case "PROD_ID":
return v.PROD_ID;
case "PRICE":
return v.PRICE;
}
})
tickethtml.push(atciket)
})
$(".replace-lineinfo").html(linehtml).attr("lineid", data.station[1].PROD_ID);
$(".able-ticket").html(tickethtml.join());
$(".ticket_sel").on("click", function () {
$(".ticket-erro").html("");
})
var hourinfo = [];
$.each($('.hour'), function (i, v) {
var val = $('.hour').eq(i).val();
if (val < 10) {
val = "0" + val;
}
var arr = [i, val]
hourinfo.push(arr)
})
var minuteinfo = [];
$.each($('.minute'), function (i, v) {
var val = $('.minute').eq(i).val()
if (val < 10) {
val = "0" + val;
}
var arr = [i, val]
minuteinfo.push(arr)
})
$(".hour").on("change", function () {
var index = $(this).parent().parent().index();
var max = $(".hour").length;
var dangvalue = $(this).val();
for (var i = 0; i < hourinfo.length; i++) {
if (index == hourinfo[i][0]) { //获得下标
var nextindex = hourinfo[i][0] + 1;
var myaddvalue = dangvalue - hourinfo[i][1];
console.log('myaddvalue=====' + myaddvalue);
for (var t = nextindex; t < max; t++) {
var myvalue = hourinfo[t][1]; //获得下一个input值
var addvalue = myaddvalue + parseInt(myvalue);
if (addvalue > 23) {
addvalue -= 24
}
{
$(".hour").eq(t).find("option").removeAttr("selected");
$(".hour").eq(t).find("option").eq(addvalue).attr("selected", "true")
hourinfo[t][1] = addvalue;
}
}
// if(myaddvalue<0){
// hourinfo[i][1]=myaddvalue;
// }else{
// for(var t = nextindex;t23){addvalue-=24}{
// $(".hour").eq(t).find("option").removeAttr("selected");$(".hour").eq(t).find("option").eq(addvalue).attr("selected","true")
//
// hourinfo[t][1]=addvalue;
// }
//
// }
// }
}
}
hourinfo[index][1] = dangvalue;
})
$(".minute").on("change", function () {
var index = $(this).parent().parent().index();
var max = $(".minute").length;
var dangvalue = parseInt($(this).val());
for (var i = 0; i < minuteinfo.length; i++) {
if (index == minuteinfo[i][0]) { //获得下标
var nextindex = parseInt(minuteinfo[i][0]) + 1;
var addnum = dangvalue - parseInt(minuteinfo[i][1]);
for (var t = nextindex; t < max; t++) {
var myhourvalue = hourinfo[t][1];
var myminutevalue = minuteinfo[t][1];
var addvalue = addnum + parseInt(myminutevalue);
if (addvalue >= 60) {
addvalue -= 60;
var addhour = parseInt(hourinfo[t][1]) + 1;
}
if (typeof addhour == "undefined") {
$(".minute").eq(t).find("option").removeAttr("selected");
$(".minute").eq(t).find("option").eq(addvalue).attr("selected", "true")
minuteinfo[t][1] = addvalue;
} else {
$(".minute").eq(t).find("option").removeAttr("selected");
$(".minute").eq(t).find("option").eq(addvalue).attr("selected", "true")
minuteinfo[t][1] = addvalue;
$(".hour").eq(t).find("option").removeAttr("selected");
$(".hour").eq(t).find("option").eq(addhour).attr("selected", "true");
hourinfo[t][1] = addhour;
}
}
// if(addnum<0){minuteinfo[i][1]=addnum}
// else{
// for(var t = nextindex;t=60){addvalue-=60; var addhour = parseInt(hourinfo[t][1])+1;}
// if(typeof addhour=="undefined"){
// $(".minute").eq(t).find("option").removeAttr("selected");$(".minute").eq(t).find("option").eq(addvalue).attr("selected","true")
//
// minuteinfo[t][1]=addvalue;
//
//
// }else{
// $(".minute").eq(t).find("option").removeAttr("selected");$(".minute").eq(t).find("option").eq(addvalue).attr("selected","true")
//
// minuteinfo[t][1]=addvalue;
//
// $(".hour").eq(t).find("option").removeAttr("selected");$(".hour").eq(t).find("option").eq(addhour).attr("selected","true");
// hourinfo[t][1]=addhour;
// }
// }
// }
}
}
minuteinfo[index][1] = dangvalue;
})
})
$('.date-picker').datepicker({
autoclose: true
});
$('.allweek').on('change', function () {
if ($(this).is(":checked")) {
for (var i = 0; i < $(".week").length; i++) {
$(".week").eq(i).click()
}
} else {
for (var i = 0; i < $(".week").length; i++) {
$(".week").eq(i).removeAttr("checked");
}
}
})
// $(".storage").on("click",function(){
// var lineid = 'lineid='+$(".add-line").attr('dataid');
// var time = 'time='+$("#id-date-picker-1").val()+'-'+$("#id-date-picker-2").val();
// var pass = [];
// (function(){
// var line =[];
// for(var i = 0;i<$(".aline").length;i++){
// var aline = [];
// aline.push("time="+$(".aline").eq(i).find(".hour").val()+":"+$(".aline").eq(i).find(".minute").val());
// aline.push("site="+$(".aline").find("td").eq(1).html());
// aline.push("updown="+$(".aline").find(".updown").val());
// aline.push("mouth="+$(".aline").find(".mouth").val());
// line.push(aline.join(""));
// }
// })()
// url = 'lineid='+$(".add-line").attr('dataid')+'time='+$("#id-date-picker-1").val()+'-'+$("#id-date-picker-2").val()
// })
})
function addItem(label, classname, cent) {
var html = ['<' + label + ' class=' + classname + '>'];
html.push(cent);
html.push('' + label + '>');
return html.join("")
}
function addLi(html) {
var li = ['
'];
li.push(html);
li.push('
');
li = li.join("");
return li
}
function addTime(time) {
var time = time.split(":");
var newHour = parseInt(time[0]),
newMinute = parseInt(time[1]);
var html = [':');
html = html.join("")
return html
}
function addUpdownType(type) {
var typeid = null;
var alltypeid = [108, 109, 110, 114]
if (type == 108) {
typeid = "仅上客"
} else if (type == 109) {
typeid = "同时上下客"
} else if (type == 110) {
typeid = "仅下客"
} else if (type == 114) {
typeid = "不停靠"
}
var html = ['');
html = html.join("");
return html;
}
function addMouth(maxNum, num) {
var html = ['");
if (maxNum <= 0) {
html = ['-'];
}
html = html.join("")
return html;
}
function addTd(html) {
var td = ['
'];
td.push(html);
td.push('
');
td = td.join("")
return td;
}
function addTr(html) {
var tr = ['
'];
tr.push(html)
tr.push('
');
tr = tr.join("")
return tr;
}
jQuery.fn.outerHTML = function (s) {
return (s) ? this.before(s).remove() : $("").append(this.eq(0).clone()).html();
}
function additemall(lable, cen, attr) {
var html = ['<' + lable + ' ' + (function (attr) {
if (typeof(attr) == "undefined") {
return ""
} else {
var arr = [];
for (i in attr) {
arr.push(i + '="' + attr[i] + '"')
}
;
return arr.join(" ")
}
})(attr) + '>'];
html.push(cen);
html.push('' + lable + '>');
return html.join("")
}
function getdata() {
var val = [];
Array.prototype.push.apply(val, arguments);
return val.join("&");
}
function getval(dom, value) {
var val = null;
if (value == "val" || value == "value") {
val = $(dom).eq(0).val()
} else if (value == "html") {
val = $(dom).eq(0).html()
} else {
val = $(dom).eq(0).attr(value);
var name = value;
return name + "=" + val;
}
var name = $(dom).eq(0).attr("name");
return name + "=" + val
}
//html存入json
function setJsonHtml(data) {
if (typeof(data) == "object") {
var jsonArrayFinal = JSON.stringify(data);
jsonArrayFinal = jsonArrayFinal.replace(/ /g, '');
jsonArrayFinal = jsonArrayFinal.replace(/"/g, '"');
return jsonArrayFinal;
}
}
//取出html存入的json
function getJsonHtml(data) {
if (data) {
var data_info = JSON.parse(data);
return data_info;
}
}