$(function() {
//初始化行程单
var sessionStorage= window.sessionStorage;
var sessionItinerary= sessionStorage.getItem(sessionStorageList);
// console.log(typeof sessionItinerary)
// if(sessionItinerary===''){
// sessionItinerary={};
// }
if(typeof sessionItinerary!=='object'){
//console.log(JSON.parse(sessionItinerary));
buildItinerary(JSON.parse(sessionItinerary));
fnTotTravelPrice();
buildItineraryProcess(sessionItinerary);
}
//打开新建设置行程单
$("a[addStroke]").click(function() {
districtTop();
districtCityBuild('departurecity','departureprovince');
districtCityBuild('arrivalscity','arrivalsprovince');
$("input[departuredate]").val('');
$("input[arrivalsdate]").val('');
$("tbody[feeTravelItem]").html('');
var sessionItinerary= sessionStorage.getItem(sessionStorageList);
if(!(sessionItinerary===null||sessionItinerary==='[]')){
sessionItinerary=JSON.parse(sessionItinerary);
var id=sessionItinerary.length-1;
let item=`{"departuredate":"","departureprovince":"${sessionItinerary[id].arrivalsprovince}","departurecity":"${sessionItinerary[id].arrivalscity.substring(1)}","arrivalsdate":"${sessionItinerary[id].arrivalsdate}","arrivalsprovince":"","arrivalscity":"","feeTraveItem":[]}`;
districtTop(JSON.parse(item));
districtCityBuild('departurecity','departureprovince',JSON.parse(item));
setDisabled(item);
}else{
setUnDisabled();
}
$("a[additinerarybut]").show();
$("a[ediItineraryBut]").hide();
});
//存储新建的行程单
$("a[additinerarybut]").click(function() {
var itinerary=fnGetItineraryData();
var sessionItinerary = sessionStorage.getItem(sessionStorageList);
if(typeof sessionItinerary==='object'){
sessionItinerary=[];
sessionItinerary.push(itinerary);
sessionStorage.setItem(sessionStorageList,JSON.stringify(sessionItinerary));
}else{
sessionItinerary=JSON.parse(sessionItinerary);
sessionItinerary.push(itinerary);
sessionStorage.setItem(sessionStorageList,JSON.stringify(sessionItinerary));
}
buildItinerary(sessionItinerary);
fnTotTravelPrice();
buildItineraryProcess(sessionItinerary);
});
//打开编辑行程单
// $("a[ediStroke]").click(function() {
// var sessionItinerary= sessionStorage.getItem(sessionStorageList);
// sessionItinerary=JSON.parse(sessionItinerary);
// var id=$(this).attr('dataId');
//
// var storage=window.localStorage;
//
// if(id==='0'){
//
// }else{
// sessionItinerary[id].departureprovince=sessionItinerary[id-1].arrivalsprovince;
// sessionItinerary[id].departurecity=sessionItinerary[id-1].arrivalscity;
// console.log(sessionItinerary[id]);
// }
//
// districtTop(sessionItinerary[id]);
// districtCityBuild('departurecity','departureprovince',sessionItinerary[id]);
// districtCityBuild('arrivalscity','arrivalsprovince',sessionItinerary[id]);
//
// //读取上一个行程的终点
//
// buildFeeTravelItem(sessionItinerary[id].feeTraveItem);
//
// if(id==='0'){
// $("input[departuredate]").val(sessionItinerary[id].departuredate);
// setUnDisabled();
// }else{
// console.log(sessionItinerary[id-1].arrivalsdate);
// $("input[departuredate]").val(sessionItinerary[id-1].arrivalsdate.substring(1));
// setDisabled('');
// }
//
// $("a[additinerarybut]").hide();
// $("a[ediItineraryBut]").show();
// });
$("tbody[itinerary]").on("click","a[edistroke]",function(){
$("input[name=ediStrokeId]").val($(this).attr('dataid'));
var sessionItinerary= sessionStorage.getItem(sessionStorageList);
sessionItinerary=JSON.parse(sessionItinerary);
var id=$(this).attr('dataId');
var storage=window.localStorage;
if(id!=='0'){
sessionItinerary[id].departureprovince=sessionItinerary[id-1].arrivalsprovince;
sessionItinerary[id].departurecity=sessionItinerary[id-1].arrivalscity.substring(1);
}
districtTop(sessionItinerary[id]);
districtCityBuild('departurecity','departureprovince',sessionItinerary[id]);
districtCityBuild('arrivalscity','arrivalsprovince',sessionItinerary[id]);
$("input[arrivalsdate]").val(sessionItinerary[id].arrivalsdate.substring(1));
buildFeeTravelItem(sessionItinerary[id].feeTraveItem);
if(id==='0'){
$("input[departuredate]").val(sessionItinerary[id].departuredate);
setUnDisabled();
}else{
$("input[departuredate]").val(sessionItinerary[id-1].arrivalsdate.substring(1));
setDisabled('');
}
$("a[additinerarybut]").hide();
$("a[ediItineraryBut]").show();
});
//存储编辑行程单
$("a[ediItineraryBut]").click(function() {
var itinerary=fnGetItineraryData();
var siIndex=$("input[name=ediStrokeId]").val();
var sessionItinerary =JSON.parse(sessionStorage.getItem(sessionStorageList));
sessionItinerary[siIndex]=itinerary;
let data=JSON.stringify(sessionItinerary);
sessionStorage.setItem(sessionStorageList,data);
buildItinerary(sessionItinerary);
fnTotTravelPrice();
buildItineraryProcess(data)
});
//移除行程单item功能
$("tbody[itinerary]").on("click","a[removeitinerary]",function(){
var sessionItinerary= sessionStorage.getItem(sessionStorageList);
var id=$(this).attr('dataId');
sessionItinerary=JSON.parse(sessionItinerary);
sessionItinerary.splice(id,1);
sessionStorage.setItem(sessionStorageList,JSON.stringify(sessionItinerary));
buildItinerary(sessionItinerary);
$("#itinerary").val(JSON.stringify(sessionItinerary));
fnTotTravelPrice();
buildItineraryProcess(sessionItinerary);
});
$("select[departureProvince]").change(function() {
districtCityBuild('departurecity','departureprovince');
});
$("select[arrivalsProvince]").change(function() {
districtCityBuild('arrivalscity','arrivalsprovince');
});
$("a[feeTravelItem]").click(function() {
var itemName=$("select[feeTravelItem] option:selected").text();
var itemId=$("select[feeTravelItem] option:selected").val();
var html='
'+itemName+' ';
html+='¥
'+
'
';
//html+=' ';
html+='移除 ';
$("tbody[feeTravelItem]").append(html);
});
$("tbody[feeTravelItem]").on("click","a[removeFeeTravelItem]",function(){
$(this).closest('.remove').remove();
});
//检查行程日期
$("input[departureDate]").change(function() {
let date=$(this).val();
$.ajax({
url : '/api/itinerary/date',
data: {date:date},
type : "post",
cache : false,
dataType : "json",
async:false,
global : true,
success : function(data) {
console.log(data.status);
if(!data.status){
$('input[departureDate]').val('');
$('td[msg]').html('日期已被使用过 ');
}else{
$('td[msg]').html('');
}
//storage.setItem("district_"+id,JSON.stringify(data.districtList));
//districtCity(selectDom,data.districtList);
},
error : function(err) {}
});
});
$("input[arrivalsDate]").change(function() {
let date=$(this).val();
$.ajax({
url : '/api/itinerary/date',
data: {date:date},
type : "post",
cache : false,
dataType : "json",
async:false,
global : true,
success : function(data) {
console.log(data.status);
if(!data.status){
$('input[arrivalsDate]').val('');
$('td[msg]').html('日期已被使用过 ');
}else{
$('td[msg]').html('');
}
//storage.setItem("district_"+id,JSON.stringify(data.districtList));
//districtCity(selectDom,data.districtList);
},
error : function(err) {}
});
});
})
function setDisabled(sessionItinerary){
if(sessionItinerary!==''){
let si=JSON.parse(sessionItinerary);
$('input[departuredate]').val(si.arrivalsdate.substring(1));
}
//禁用出发地
$('select[departureprovince]').attr("disabled","disabled");
$('select[departurecity]').attr("disabled","disabled");
$('input[departuredate]').attr("disabled","disabled");
}
function setUnDisabled(){
//禁用出发地
$('select[departureprovince]').removeAttr("disabled");
$('select[departurecity]').removeAttr("disabled");
$('input[departuredate]').removeAttr("disabled");
}
//构建总行程单
function buildItineraryProcess(data){
let html='';
let dataJson=data;
if(typeof data==='string'){
dataJson=JSON.parse(data);
}
let last=dataJson.length-1;
let n=0;
for(let i=0;i
P ${city}
金额
¥${price}
时间
${dataJson[i].departuredate}${dataJson[i].arrivalsdate}
`;
if(i===last){
let arrivalscity=dataJson[i].arrivalscity.substring(1);
html+=`
`;
//html+=`P ${arrivalscity}
`;
}
}
$("ul[itineraryinfo]").html(html);
}
//重新计算费用单金额
function fnTotTravelPrice(){
var itineraryStr=sessionStorage.getItem(sessionStorageList);
var sessionItinerary= JSON.parse(itineraryStr);
//重新赋值行程详情
$("#itinerary").val(itineraryStr);
var priceList=[];
for(let i=0;i'+feeTraveItem[i].name+' ';
html+='¥
'+
'
';
//html+=' ';
html+='移除 ';
}
$("tbody[feeTravelItem]").html(html);
}
//获得设置行程单的相关内容
function fnGetItineraryData(){
var departurecity=$("select[departurecity] option:selected").text();
var arrivalscity=$("select[arrivalscity] option:selected").text();
var departureprovince=$("select[departureprovince] option:selected").text();
var arrivalsprovince=$("select[arrivalsprovince] option:selected").text();
var departuredate=$("input[departuredate]").val();
var arrivalsdate=$("input[arrivalsdate]").val();
var feeTravePriceList=$("tbody[feeTravelItem]").find('input[type=number]');
//var feeTraveDetailList=$("tbody[feeTravelItem]").find('input[type=text]');
var feeTraveDetailList=$("tbody[feeTravelItem]").find('textarea');
if(arrivalscity!==''){
arrivalscity='-'+arrivalscity;
}
if(arrivalsdate!==''){
arrivalsdate='~'+arrivalsdate;
}
var feeTraveItem=[];
for(let i=0;iP '+list[i].departuredate+list[i].arrivalsdate+' '+list[i].departurecity+list[i].arrivalscity+'';
}else{
let previousIndex=i-1;
html+='P '+list[previousIndex].arrivalsdate.substring(1)+list[i].arrivalsdate+' '+list[previousIndex].arrivalscity.substring(1)+list[i].arrivalscity+'';
}
html+=' ';
let feeTraveItem=list[i].feeTraveItem;
let price=0;let detail='';
for(let k=0;k ');
}
html+=''+feeTraveItem[k].name+''+detail+'
¥'+feeTraveItem[k].price+' ';
}
html+='合计 ¥'+price.toFixed(2)+' ';
}
$("tbody[itinerary]").html(html);
}
//设置城市下来菜单-存储数据
function districtCityBuild(selectDom,obj,selected){
var storage=window.localStorage;
var id=$('select['+obj+']').val();
if(typeof storage["district_"+id]==='undefined'||storage["district_"+id]===''){
$.ajax({
url : '/api/district?did='+id,
type : "post",
cache : false,
dataType : "json",
async:false,
global : true,
success : function(data) {
storage.setItem("district_"+id,JSON.stringify(data.districtList));
//districtCity(selectDom,data.districtList);
},
error : function(err) {}
});
}
districtCity=JSON.parse(storage["district_"+id]);
var html='';var cityName='';
if(typeof selected!=='undefined'){
if(selectDom=='departurecity'){
cityName=selected.departurecity;
}else{
cityName=selected.arrivalscity.substring(1);
}
}
for(let i=0;i'+districtCity[i].name+'';
}else{
html+=''+districtCity[i].name+' ';
}
}
$("select["+selectDom+"]").html(html);
}
//--设置省份下拉
function districtTop(selected){
var storage=window.localStorage;
if(typeof storage["districtTop"]==='undefined'||storage["districtTop"]===''){
$.ajax({
url : '/api/district',
type : "post",
cache : false,
dataType : "json",
global : true,
success : function(data) {
storage.setItem("districtTop",JSON.stringify(data.districtList));
//districtTop(data.districtList);
districtTopHtml(data.districtList,selected);
},
error : function(err) {}
});
}else{
districtTopHtml(JSON.parse(storage["districtTop"]),selected);
}
}
function districtTopHtml(districtTop,selected){
//var districtTop=JSON.parse(storage["districtTop"]);
//console.log(districtTop.length);
var html='';
for(let i=0;i'+districtTop[i].name+'';
}else{
html+=''+districtTop[i].name+' ';
}
}
$("select[departureProvince]").html(html);
html='';
for(let i=0;i'+districtTop[i].name+'';
}else{
html+=''+districtTop[i].name+' ';
}
}
$("select[arrivalsProvince]").html(html);
}