123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285 |
- let sessionStorage= window.sessionStorage;
- let sessionItinerary= sessionStorage.getItem(sessionStorageList);
- $(function() {
-
- //初始化行程单
- if(typeof sessionItinerary!=='object'){
- sessionItinerary=JSON.parse(sessionItinerary);
- buildStrokeTable(sessionItinerary);
- fnTotTravelPrice();
- buildItineraryProcess(sessionItinerary)
- }
-
- // 新增行程
- $("a[stroke='addNode']").click(function() {
- let sessionItinerary = sessionStorage.getItem(sessionStorageList);
- if(typeof sessionItinerary==='object'){
- sessionItinerary=[{'0':[]}];
- }else{
- sessionItinerary=JSON.parse(sessionItinerary);
- sessionItinerary.push({[sessionItinerary.length]:[]});
- }
- sessionStorage.setItem(sessionStorageList,JSON.stringify(sessionItinerary));
- //构建行程单
- buildStrokeTable(sessionItinerary);
- fnTotTravelPrice();
- buildItineraryProcess(sessionItinerary)
- //计算金额
-
- });
-
- // 移除行程
- $("table[stroke]").on("click","a[stroke='delNode']",function(){
- let sessionItinerary = sessionStorage.getItem(sessionStorageList);
- sessionItinerary=JSON.parse(sessionItinerary);
- let dataID=$(this).attr('dataID');
- sessionItinerary=sessionItinerary.filter(item=>{
- let keyId=Object.keys(item)[0];
- console.log(dataID);
- if(keyId===dataID){
- return false
- }else{
- return true
- }
- });
- let isIndex=dataID-1;
- $('#node_'+dataID).remove();
- sessionStorage.setItem(sessionStorageList,JSON.stringify(sessionItinerary));
- // 重新计算金额
- buildStrokeTable(sessionItinerary);
- fnTotTravelPrice();
- buildItineraryProcess(sessionItinerary)
- });
-
- //打开新建设置的行程单
- $("table[stroke]").on("click","a[addStroke]",function(){
- districtTop();
- districtCityBuild('departurecity','departureprovince');
- districtCityBuild('arrivalscity','arrivalsprovince');
- //
- let dataID=$(this).attr('dataID');
-
- $("input[departuredate]").val('');
- $("input[arrivalsdate]").val('');
- $("tbody[feeTravelItem]").html('');
-
- let strokeList= sessionStorage.getItem(sessionStorageList);
- sessionItinerary=getItineraryData(strokeList,dataID);
- if(!(sessionItinerary.length===0)){
- let si= sessionItinerary[sessionItinerary.length-1];
- let item=`{"departuredate":"","departureprovince":"${si.arrivalsprovince}","departurecity":"${si.arrivalscity.substring(1)}","arrivalsdate":"${si.arrivalsdate}","arrivalsprovince":"","arrivalscity":"","feeTraveItem":[]}`;
- districtTop(JSON.parse(item));
- districtCityBuild('departurecity','departureprovince',JSON.parse(item));
- setDisabled(item);
- }else{
- setUnDisabled();
- }
-
- $("#strokeIndex").val(dataID);
- $("a[additinerarybut]").show();
- $("a[ediItineraryBut]").hide();
- });
- //存储新建的行程单
- $("a[additinerarybut]").click(function() {
- var itinerary=fnGetItineraryData();
- let dataID=$("#strokeIndex").val();
-
- let strokeStr = sessionStorage.getItem(sessionStorageList);
- let strokeJson=JSON.parse(strokeStr);
-
- sessionItinerary=getItineraryData(strokeStr,dataID);
-
- sessionItinerary.push(itinerary);
- strokeJson.forEach(function(value,index){
- keyId=Object.keys(value)[0];
- if(keyId==dataID){
- strokeJson[index][dataID]=sessionItinerary;
- }
- })
- sessionStorage.setItem(sessionStorageList,JSON.stringify(strokeJson));
- buildStrokeTable(strokeJson);
- fnTotTravelPrice();
- //TODO
- buildItineraryProcess(strokeJson)
- });
-
-
- //打开编辑的行程单
- $("table[stroke]").on("click","a[edistroke]",function(){
- let id=$(this).attr('dataId');
- let strokeid=$(this).attr('strokeId');
- let strokeIndex=$(this).attr('strokeIndex');
-
- $("input[name=ediStrokeId]").val(id);
-
- let strokeStr= sessionStorage.getItem(sessionStorageList);
- let strokeJson=JSON.parse(strokeStr);
-
- sessionItinerary=strokeJson[strokeIndex][strokeid];
-
- 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('');
- }
-
- $("#dataId").val(id);
- $("#strokeId").val(strokeid);
- $("#strokeIndex").val(strokeIndex);
-
- $("a[additinerarybut]").hide();
- $("a[ediItineraryBut]").show();
- });
-
- //存储编辑行程单
- $("a[ediItineraryBut]").click(function() {
- var itinerary=fnGetItineraryData();
- var siIndex=$("input[name=ediStrokeId]").val();
- let strokeid=$("#strokeId").val();
- let strokeIndex=$("#strokeIndex").val();
-
- let strokeStr=sessionStorage.getItem(sessionStorageList)
- let strokeJson=JSON.parse(strokeStr);
-
- var sessionItinerary =strokeJson[strokeIndex][strokeid];
- //var sessionItinerary =JSON.parse(sessionStorage.getItem(sessionStorageList));
-
- sessionItinerary[siIndex]=itinerary;
- strokeJson[strokeIndex][strokeid]=sessionItinerary;
- let data=JSON.stringify(strokeJson);
- sessionStorage.setItem(sessionStorageList,data);
- buildStrokeTable(strokeJson);
- fnTotTravelPrice();
- buildItineraryProcess(strokeJson)
- });
-
- //移除行程单item功能
- $("table[stroke]").on("click","a[removeitinerary]",function(){
- var strokeStr= sessionStorage.getItem(sessionStorageList);
- let id=$(this).attr('dataId');
- let strokeid=$(this).attr('strokeId');
- let strokeIndex=$(this).attr('strokeIndex');
-
- var strokeJson= JSON.parse(strokeStr);
- //console.log(strokeJson[strokeIndex][strokeid]);
- let sessionItinerary=strokeJson[strokeIndex][strokeid];
-
- sessionItinerary.splice(id,1);
- strokeJson[strokeIndex][strokeid]=sessionItinerary;
- console.log(strokeJson);
- sessionStorage.setItem(sessionStorageList,JSON.stringify(strokeJson));
- buildStrokeTable(strokeJson);
- //$("#itinerary").val(JSON.stringify(strokeJson));
- fnTotTravelPrice();
- buildItineraryProcess(strokeJson)
- //buildItineraryProcess(sessionItinerary);
- });
-
-
- //编辑行程单内容相关--设置出发城市-设置到达城市
- $("select[departureProvince]").change(function() {
- districtCityBuild('departurecity','departureprovince');
- });
- $("select[arrivalsProvince]").change(function() {
- districtCityBuild('arrivalscity','arrivalsprovince');
- });
- //检查行程日期
- $("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('<span class="colRed">日期已被使用过</span>');
- }else{
- $('td[msg]').html('');
- }
- },
- error : function(err) {}
- });
- });
- $("input[arrivalsDate]").change(function() {
- var strokeStr= sessionStorage.getItem(sessionStorageList);
- var strokeJson= JSON.parse(strokeStr);
- var siIndex=$("input[name=ediStrokeId]").val();
- let strokeid=$("#strokeId").val();
- let strokeIndex=$("#strokeIndex").val();
-
- let date=$(this).val();
-
- let departuredate=new Date(strokeJson[strokeIndex][strokeid][siIndex].departuredate).getTime();
- let arrivalsdate=new Date(date).getTime();
- if(departuredate>arrivalsdate){
- $('input[arrivalsDate]').val('');
- $('td[msg]').html('<span class="colRed">到达日期不能早于出发日期</span>');
- return ;
- }
-
- $.ajax({
- url : '/api/itinerary/date',
- data: {date:date},
- type : "post",
- cache : false,
- dataType : "json",
- async:false,
- global : true,
- success : function(data) {
- if(!data.status){
- $('input[arrivalsDate]').val('');
- $('td[msg]').html('<span class="colRed">日期已被使用过</span>');
- }else{
- $('td[msg]').html('');
- }
- },
- error : function(err) {}
- });
- });
- //添加费用详情列表
- $("a[feeTravelItem]").click(function() {
- var itemName=$("select[feeTravelItem] option:selected").text();
- var itemId=$("select[feeTravelItem] option:selected").val();
-
- var html='<tr class="remove" ><th>'+itemName+'</th>';
- html+='<td class="taR"><p>¥<input type="number" itemId_'+itemId+' data="'+itemName+'" dataId="'+itemId+'" value="0" placeholder="输入费用" pattern="[0-9]" step="1" min="0"class="span2"></p>'+
- '<p><textarea type="text" itemDetail_'+itemId+' placeholder="填写费用说明" rows="2" style=" width: 350px; margin: 10px 0px 0px 12px; height: 65px;"></textarea></p></td>';
- html+='<td><a href="#" removeFeeTravelItem >移除</a></td></tr>';
- $("tbody[feeTravelItem]").append(html);
-
- });
- $("tbody[feeTravelItem]").on("click","a[removeFeeTravelItem]",function(){
- $(this).closest('.remove').remove();
- });
-
-
- })
|