$(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+=`
  • P ${arrivalscity}
  • `; //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'; 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;i编辑 移除'; 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+=''; } } $("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+=''; } } $("select[departureProvince]").html(html); html=''; for(let i=0;i'+districtTop[i].name+''; }else{ html+=''; } } $("select[arrivalsProvince]").html(html); }