<style>
  @import "../../assets/css/trip/index.css";

</style>
<template>
  <div class="trip-box-commonTeam" v-loading="loading">
    <div class="item-title">
      <span class="t">{{tripList.length}}{{$t('salesModule.DaysTrip')}}</span>
      <span>
        <small class="s"></small>
      </span>
      <span>Scheduling</span>
    </div>
    <div class="trip-block-commonTeam" v-for="(item,i) in tripList" :key="i">
      <div class="trip-title">
        <div>
          <p class="day">{{$t('tips.di')}}<span v-if='item.dayNum<10'>0</span>{{item.dayNum}}{{$t('hotel.hotel_day')}}
          </p>
          <template v-if="startDate&&startDate!=''">
            <p>{{GetDayStr(startDate,item.dayNum-1)}}</p>
          </template>
        </div>
        <div class="desc" v-html="item.title"></div>
      </div>
      <oneday v-if="item.details && item.details.length==1" :day='item' :isDirect="isDirect"></oneday>
      <twoday v-if="item.details && item.details.length==2" :day='item' :isDirect="isDirect"></twoday>
      <threeday v-if="item.details && item.details.length==3" :day='item' :isDirect="isDirect"></threeday>
      <fourday v-if="item.details && item.details.length==4" :day='item' :isDirect="isDirect"></fourday>
      <fiveday v-if="item.details && item.details.length>=5" :day='item' :isDirect="isDirect"></fiveday>
    </div>
  </div>
</template>
<script>
  import oneday from "../commonPage/TravelTripPreview/oneday";
  import twoday from "../commonPage/TravelTripPreview/twoday";
  import threeday from "../commonPage/TravelTripPreview/threeday";
  import fourday from "../commonPage/TravelTripPreview/fourday";
  import fiveday from "../commonPage/TravelTripPreview/fiveday";
  export default {
    props: ["subConfig"],
    data() {
      return {
        tripList: [],
        loading: false,
        startDate: "",
        isDirect: 1, //是否是直采 0：否，1：是
      };
    },
    components: {
      oneday,
      twoday,
      threeday,
      fourday,
      fiveday
    },
    mounted() {},
    methods: {
      GetDayStr(dateStr, dayNum) {
        return this.$commonUtils.AddDay(dateStr, dayNum);
      },
      GetTrip(id, TCID) {
        this.tripList = [];
        this.startDate = '';
        var nTCID = 0;
        if (TCID) {
          nTCID = TCID;
        }
        var msg = {
          configId: id,
          tcid: nTCID,
          isClick: 1 //不算统计
        };
        if (id !== undefined) {
          //根据ID 获取行程内容
          this.loading = true;
          this.apipost(
            "b2b_get_GetB2BTravelInfoNoDes", msg,
            res => {
              this.loading = false;
              if (res.data.resultCode == 1) {
                if (res.data.data.priceList && res.data.data.priceList.length > 0) {
                  this.startDate = res.data.data.priceList[0].startDate;
                }
                this.isDirect = res.data.data.isDirect;
                this.tripList = res.data.data.dayList;
                this.init();
              }
            },
            err => {}
          );
        } else {
          var dayList = [];
          this.subConfig.DayList.forEach((objItem, objIndex) => {
            var dayItem = this.$tripUtils.daysArrayObj();
            dayItem.dayNum = objItem.dayNum;
            //每一天的数组
            var dayArray = [];
            //子项遍历
            objItem.dayArray.forEach(subItem => {
              switch (subItem.Type) {
                //交通
                case "1":
                  var subTraffiArray = [];
                  subItem.childItem.SubTraffic.forEach(subTrafficItem => {
                    subTraffiArray.push({
                      startCityName: subTrafficItem.StartCityName,
                      arrivalType: subTrafficItem.ArrivalType,
                      arrivalCityName: subTrafficItem.ArrivalCityName
                    });
                  });
                  var trafficObj = {
                    type: subItem.Type,
                    childItem: {
                      description: subItem.childItem.Description,
                      subTraffic: subTraffiArray
                    }
                  };
                  dayArray.push(trafficObj);
                  break;
                  //景点
                case "2":
                  var imgArray = [];
                  subItem.childItem.ImaArray.forEach(imgItem => {
                    imgArray.push({
                      url: imgItem.Url,
                      name: imgItem.Name
                    });
                  });
                  var scenicObj = {
                    type: subItem.Type,
                    childItem: {
                      couponsName: subItem.childItem.CouponsName,
                      couponsTicketName: subItem.childItem.CouponsTicketName,
                      playTimeHour: subItem.childItem.PlayTimeHour,
                      playTimeMinutes: subItem.childItem.PlayTimeMinutes,
                      description: subItem.childItem.Description,
                      imaArray: imgArray
                    }
                  };
                  dayArray.push(scenicObj);
                  break;
                  //酒店
                case "3":
                  var imgArray = [];
                  subItem.childItem.ImaArray.forEach(imgItem => {
                    imgArray.push({
                      url: imgItem.Url,
                      name: imgItem.Name
                    });
                  });
                  var hotelObj = {
                    type: subItem.Type,
                    childItem: {
                      hotelName: subItem.childItem.HotelName,
                      hotelProductName: subItem.childItem.HotelProductName,
                      useDinnerType: subItem.childItem.UseDinnerType,
                      description: subItem.childItem.Description,
                      imaArray: imgArray
                    }
                  };
                  dayArray.push(hotelObj);
                  break;
                  //餐厅
                case "4":
                  var imgArray = [];
                  subItem.childItem.ImaArray.forEach(imgItem => {
                    imgArray.push({
                      url: imgItem.Url,
                      name: imgItem.Name
                    });
                  });
                  var dinnerObj = {
                    type: subItem.Type,
                    childItem: {
                      dinnerName: subItem.childItem.DinnerName,
                      mealName: subItem.childItem.MinnerName,
                      useDinnerType: subItem.childItem.UseDinnerType,
                      useTimeHour: subItem.childItem.UseTimeHour,
                      useTimeMinutes: subItem.childItem.UseTimeMinutes,
                      description: subItem.childItem.Description,
                      descriptionText: subItem.childItem.Description,
                      imaArray: imgArray
                    }
                  };
                  dayArray.push(dinnerObj);
                  break;
                  //自由活动
                case "5":
                  var freedomObj = {
                    type: subItem.Type,
                    childItem: {
                      description: subItem.Description,
                      descriptionText: subItem.Description
                    }
                  };
                  dayArray.push(freedomObj);
                  break;
                  //温馨提示
                case "6":
                  var warmObj = {
                    type: subItem.Type,
                    childItem: {
                      description: subItem.Description,
                      descriptionText: subItem.Description
                    }
                  };
                  dayArray.push(warmObj);
                  break;
                  //行程大点
                case "7":
                  var titleObj = {
                    type: subItem.Type,
                    childItem: {
                      title: subItem.childItem.Title,
                      description: subItem.childItem.Description
                    }
                  };
                  dayArray.push(titleObj);
                  break;
              }
            });
            dayItem.dayArray = dayArray;
            dayList.push(dayItem);
          });

          this.tripList = dayList;
          this.init();
        }
      },
      setDate: function (j) {
        let stDate = "";
        if (this.priceList && this.priceList.length > 0) {
          stDate = this.priceList[0].startDate;
        }
        if (j === 0) {
          return stDate
        } else {
          if (stDate) {
            let d = new Date(stDate)
            d = d.getTime(d);
            let add = d + ((24 * 60 * 60 * 1000) * j)
            let date = new Date(add); //时间戳为10位需*1000，时间戳为13位的话不需乘1000
            let Y = date.getFullYear() + '-';
            let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
            let D = date.getDate() < 10 ? ('0' + date.getDate()) + ' ' : date.getDate() + ' ';
            return Y + M + D;
          } else {
            return "";
          }
        }
      },
      init() {
        this.tripList.forEach((x, j) => {
          let useDinnerTypeBy = ''
          let jin = [],
            jiu = [],
            jiu2 = [],
            jiao = [],
            dadian = [],
            tips = [],
            activy = [],
            can = {
              breakfirst: '敬请自理',
              lanuch: '敬请自理',
              dinner: '敬请自理'
            }
          x.dayArray.forEach((y, index) => {
            if (y.type == 7 && y.childItem.title != '') {
              let obj = {
                title: y.childItem.title,
                content: y.childItem.description,
                img: y.childItem.imaArray && y.childItem.imaArray.length > 0 ? y.childItem.imaArray[0]
                  .url : '',
                ticketName: '',
                playTimeHour: null,
                playTimeMinutes: null,
                url: ''
              }
              dadian.push(obj)
            } else if (y.type == 1 && y.childItem.subTraffic.length > 0) {
              let title = ''
              y.childItem.subTraffic.forEach((z, i) => {
                title += z.startCityName
                if (z.arrivalType == 1) {
                  title += '<i class="iconfont icon-feiji"></i>'
                } else if (z.arrivalType == 2) {
                  title += '<i class="iconfont icon-bus"></i>'
                } else if (z.arrivalType == 3) {
                  title += '<i class="iconfont icon-icon31"></i>'
                } else {
                  title += '<i class="iconfont icon-gaotiedongche"></i>'
                }
                if (i + 1 == y.childItem.subTraffic.length) {
                  title += z.arrivalCityName
                }
              })
              let obj = {
                title: title,
                content: y.childItem.description,
                img: '',
                ticketName: '',
                playTimeHour: null,
                playTimeMinutes: null,
                url: ''
              }
              jiao.push(obj)
            } else if (y.type == 2 && y.childItem.couponsName != '' && y.childItem.imaArray.length > 0) {
              let obj = {
                title: y.childItem.couponsName,
                content: y.childItem.description,
                img: y.childItem.imaArray[0].url,
                ticketName: y.childItem.couponsTicketName,
                playTimeHour: y.childItem.playTimeHour,
                playTimeMinutes: y.childItem.playTimeMinutes,
                scenicJson: y.childItem.scenicJson,
                url: y.childItem.url
              }
              jin.push(obj)
            } else if (y.type == 3 && y.childItem.hotelName != '' && y.childItem.imaArray.length > 0) {
              //酒店
              let obj = {
                title: y.childItem.hotelName,
                newTitle: y.childItem.newHotelName,
                status: y.childItem.status,
                content: y.childItem.description,
                img: y.childItem.imaArray[0].url,
                ticketName: '',
                playTimeHour: null,
                playTimeMinutes: null,
                url: y.childItem.url
              }
              jiu.push(obj)
            } else if (y.type == 4) {
              if (y.childItem.useDinnerType == "1") {
                can.breakfirst = y.childItem.dinnerName
              } else if (y.childItem.useDinnerType == "2") {
                can.lanuch = y.childItem.dinnerName
              } else if (y.childItem.useDinnerType == "3") {
                can.dinner = y.childItem.dinnerName
              }
            } else if (y.type == 5) {
              let obj = {
                title: '自由活动',
                content: y.childItem.description,
                img: '',
                ticketName: '',
                playTimeHour: null,
                playTimeMinutes: null,
                url: ''
              }
              activy.push(obj)
            } else if (y.type == 6) {
              let obj = {
                title: y.childItem.title,
                content: y.childItem.description,
                img: '',
                ticketName: '',
                playTimeHour: null,
                playTimeMinutes: null,
                url: ''
              }
              tips.push(obj)
            }
            if (y.type == 3) {
              jiu2.push({
                name: y.childItem.hotelName,
                url: y.childItem.url,
                newTitle: y.childItem.newHotelName,
                status: y.childItem.status,
              });
              useDinnerTypeBy = y.childItem.useDinnerType
            }
          })
          if (can.breakfirst == '敬请自理' && useDinnerTypeBy.indexOf('1') != -1) {
            can.breakfirst = '酒店内享用早餐'
          } else if (can.breakfirst == '') {
            can.breakfirst = '方便游玩敬请自理'
          }
          if (can.lanuch == '敬请自理' && useDinnerTypeBy.indexOf('2') != -1) {
            can.lanuch = '酒店自助'
          } else if (can.lanuch == '') {
            can.lanuch = '方便游玩敬请自理'
          }
          if (can.dinner == '敬请自理' && useDinnerTypeBy.indexOf('3') != -1) {
            can.dinner = '酒店自助'
          } else if (can.dinner == '') {
            can.dinner = '方便游玩敬请自理'
          }
          x.can = can
          let details = [];
          x.tips = tips
          x.jiu2 = jiu2
          if (jin.length > 0) {
            details = jin
          } else if (dadian.length > 0) {
            details = dadian
          } else if (jiao.length > 0) {
            if (j == this.tripList.length - 1) {
              let obj = {
                title: '温暖的家',
                content: '感谢您参加本次行程，期待下次与您相遇',
                img: ''
              }
              details.push(obj)
            } else {
              details = jiao
            }
          } else if (activy.length > 0) {
            details = activy
          }
          x.title = dadian.length > 0 && dadian[0].title && dadian[0].title != '' ? dadian[0].title : (jiao
            .length > 0 ? jiao[0].title : '集合出发')
          x.details = details
          if (x.details.length == 0) {
            if (j == 0) {
              let obj = {
                title: '集合出发',
                content: '向着远方的目标出发起飞',
                img: '',
                ticketName: '',
                playTimeHour: null,
                playTimeMinutes: null
              }
              details.push(obj)
            } else if (j == this.tripList.length - 1) {
              let obj = {
                title: '温暖的家',
                content: '感谢您参加本次行程，期待下次与您相遇',
                img: '',
                ticketName: '',
                playTimeHour: null,
                playTimeMinutes: null
              }
              details.push(obj)
            }
          } else {
            if (x.title == '集合出发') {
              x.details.forEach(xc => {
                if (xc.title !== undefined)
                  x.title = xc.title + '~'
              })
              if (x.title == '集合出发') {
                if (j > 0 && j < tripList.length - 1)
                  x.title = '自由活动'
              } else {
                x.title = x.title.substring(0, x.title.length - 1)
              }
            }
          }
          x.islast = (j + 1) == this.tripList.length
          this.$set(this.tripList, j, x)
          x.dateTime = this.setDate(j);
        })
      }
    }
  };

</script>
