<style>
@import "../../assets/css/newTravelManager.css";

/* 送签日期 */
.groupInquiry_edit{
  overflow: auto;
  display: block;
  position: fixed;
  z-index: 50;
  bottom: 0;
  left: 0;
  border-top: 3px solid #38425d;
  background-color: #f9f9f9;
  padding: 10px;
  width: 100%;
  min-width: 1146px;
}

.groupInquiry_edit::-webkit-scrollbar {
  width: 4px;
  height: 8px;
}
.groupInquiry_edit::-webkit-scrollbar-thumb {
  border-radius: 4px;
  -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
  background: #c9c9c9;
}
.groupInquiry_edit::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  background: #ededed;
}
.groupInquiry_edit_tit>span{
  padding-left: 10px;
  border-left: 3px solid #e95252;
  font-size: 16px;
  font-family: "PingFangSc-Fine";
  color: #000000;
}
.groupInquiry_edit_tit>div{
  float: right;
}
.groupInquiry_edit_form{
  margin: 20px 0 30px 0;
  padding: 0 0 0 13px;
}
.groupInquiry_edit_form > div > em {
  margin: 0 10px 0 0;
  font-size: 12px;
  color: #666666;
}
.groupInquiry_edit_form > div > .groupInquiry_header_input2 {
  width: 160px;
}

/* 进馆日 */
.groupInquiry_admission{
  overflow: auto;
  display: block;
  position: fixed;
  z-index: 50;
  bottom: 0;
  left: 0;
  border-top: 3px solid #38425d;
  background-color: #f9f9f9;
  padding: 10px;
  width: 100%;
  min-width: 1146px;
}

.groupInquiry_admission::-webkit-scrollbar {
  width: 4px;
  height: 8px;
}
.groupInquiry_admission::-webkit-scrollbar-thumb {
  border-radius: 4px;
  -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
  background: #c9c9c9;
}
.groupInquiry_admission::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  background: #ededed;
}
.groupInquiry_admission_tit>span{
  padding-left: 10px;
  border-left: 3px solid #e95252;
  font-size: 16px;
  font-family: "PingFangSc-Fine";
  color: #000000;
}
.groupInquiry_admission_tit>div{
  float: right;
}
.groupInquiry_admission_form{
  margin: 20px 0 30px 0;
  padding: 0 0 0 13px;
}
.groupInquiry_admission_formItem{
    white-space: nowrap;
}
.groupInquiry_admission_formItem > em {
  margin: 0 10px 0 0;
  font-size: 12px;
  color: #666666;
}
.groupInquiry_admission_formItem .groupInquiry_admission_input2 {
  width: 160px;
}
.GQ_companyList span {
  display: inline-block;
  font-size: 12px;
  padding: 5px 10px;
  border: 1px solid #d1d1d1;
  margin: 5px 10px 0 0;
  border-radius: 4px;
  cursor: pointer;
}
.GQ_companyList span:first-child {
  margin-right: 20px;
}
.GQ_companyList {
  padding-top: 15px;
  margin-left: 32px;
}
.GQ_companyList{
  margin-bottom:20px;
}
.TC_checked {
  border: 1px solid #d95454 !important;
  box-sizing: border-box;
}
/* 名单 */
  .RL-remarkTitle {
    display: inline-block;
    width: 36px;

    white-space: nowrap;
    font-size: 14px;
  }
.RL-remarkCon span {
    margin-right: 5px;
}
.person_fan{
    width: 100%;
    border-top: 1px solid #e5e5e5;
    padding: 0 10px;
    font-size: 12px;
    padding: 15px 6px;
    box-sizing: border-box;
}
/* 财务单据的颜色 */
  .groupTourOrder_tickets_red {
    color: #FF0000;
    text-decoration: underline;
    cursor: pointer;
  }

  .groupTourOrder_tickets_blue {
    color: #0000FF;
    text-decoration: underline;
    cursor: pointer;
  }

  .groupTourOrder_tickets_green {
    color: #008000;
    cursor: pointer;
    text-decoration: underline;
  }
.groupTourOrder_tickets_black {
  color: #000000;
  text-decoration: underline;
}
.comSearchDiv-span{
  display: flex;
  justify-content: space-between;
}
</style>
<template>
  <div>
    <!-- <ul class="TC_ListNav clearfix" v-if="queryCommonData.IsParentCompany==1">
      <el-tabs v-model="queryCommonData.activeName" @tab-click="getCompanyTab(queryCommonData.activeName)">
        <el-tab-pane label="全部" name="-1"></el-tab-pane>
        <el-tab-pane :label="item.BName" :name="item.Id.toString()" :key="item.subCode" v-for="item in queryCommonData.BranchList">
        </el-tab-pane>
      </el-tabs>
    </ul> -->
    <div class="GQ_companyList" v-if="queryCommonData.IsParentCompany==1">
      <span :class="{'TC_checked':queryCommonData.checkCompanyAll}" @click="getCompanyCheckAll()">{{$t('advmanager.v_all')}}</span>
      <span v-for="(item,bindex) in queryCommonData.BranchList" :class="{'TC_checked':item.isShow}" @click="getCompanyCheck(item)">{{item.BName}}</span>
    </div>
    <div class="TC_Content TC-MyList">
      <div class="query-box">
        <ul>
          <li>
            <span>
              <em>{{$t('system.table_ssLine')}}</em>
              <el-select class='w150' v-model="queryMsg.LineId" filterable :placeholder="$t('pub.pleaseSel')" @change="getLineTeamList()">
                <el-option :label="$t('pub.unlimitedSel')" :value='queryCommonData.SelectDefaultValue'></el-option>
                <el-option v-for="(item,index) in queryCommonData.LineList" :label='item.LineName' :value='item.LineID' :key='index+10000'>
                </el-option>
              </el-select>
            </span>
          </li>
          <li>
            <span>
              <em>{{$t('active.ad_xlmc')}}</em>
              <el-select class='w150' v-model="queryMsg.LineteamId" filterable :placeholder="$t('pub.pleaseSel')">
                <el-option :label="$t('pub.unlimitedSel')" :value='queryCommonData.SelectDefaultValue'></el-option>
                <el-option v-for="item in queryCommonData.LineTeamList" :label='item.LtName' :value='item.LtID' :key='item.LtID'>
                </el-option>
              </el-select>
            </span>
          </li>
          <li>
            <span>
              <em>{{$t('visa.v_tuanhao')}}</em>
              <el-input maxlength="50" v-model="queryMsg.TCNUM" class="permiss-input w150" @keyup.native.enter="getControlList"
                :placeholder="$t('pub.pleaseImport')"></el-input>
            </span>
          </li>
          <li>
            <span>
              <em>{{$t('scen.sc_ftTime')}}</em>
              <el-date-picker class="w150" type="date" v-model='queryMsg.StartGroupDate' :picker-options="pickerBeginDateBefore"
                value-format="yyyy-MM-dd" placeholder="">
              </el-date-picker>
              <el-date-picker class="w150" type="date" v-model='queryMsg.EndGroupDate' :picker-options="pickerBeginDateAfter"
                value-format="yyyy-MM-dd" placeholder="">
              </el-date-picker>
            </span>
          </li>
          <li>
            <span>
              <em>{{$t('visa.v_qianzhengst')}}</em>
              <el-select v-model="queryMsg.TCVisaStatus" clearable  class="w150" filterable  :placeholder="$t('pub.pleaseSel')">
                <el-option :label="$t('pub.unlimitedSel')" value="-1"></el-option>
                <el-option :label="$t('visa.v_weibanli')" value="1"></el-option>
                <el-option :label="$t('visa.v_banlizhong')" value="2"></el-option>
                <el-option :label="$t('visa.v_yibanli')" value="3"></el-option>
              </el-select>
            </span>
          </li>
          <li>
            <span>
              <em>团队类型</em>
              <el-select v-model="queryMsg.TeamType" clearable  class="w150" filterable  :placeholder="$t('pub.pleaseSel')">
                <el-option label="常规团" value="0"></el-option>
                <el-option label="小包团" value="1"></el-option>
              </el-select>
            </span>
          </li>
          <li class="advancedLi">
            <el-popover popper-class="advanceQueryList" v-model="queryCommonData.showHigradeSearch" trigger="click">
              <div>
                <div class="TC_queryTitle">{{$t('visa.v_tkgjcx')}}</div>
                <div class="clearfix">
                  <div class="TC_leftSearch">
                    <div>
                      <span>{{$t('system.query_airCompanyName')}}</span>
                      <el-select v-model="queryMsg.AirTicketId" filterable :placeholder="$t('system.ph_buxian')" class="w150">
                        <el-option :label='$t("system.ph_buxian")' :value='queryCommonData.SelectDefaultValue'></el-option>
                        <el-option v-for="item in queryCommonData.AirlineList" :key="item.AirLineId" :label="item.AlName" :value="item.AirLineId">
                        </el-option>
                      </el-select>
                    </div>
                    <div>
                      <span>{{$t('visa.v_czuser')}}</span>
                      <el-select class='w150' v-model="queryMsg.CreateBy" filterable :placeholder="$t('pub.pleaseSel')">
                        <el-option :label="$t('pub.unlimitedSel')" :value='queryCommonData.SelectDefaultValue'></el-option>
                        <el-option v-for="item in queryCommonData.EmployeeList" :label='item.EmName' :value='item.EmployeeId' :key='item.EmployeeId'>
                        </el-option>
                      </el-select>
                    </div>
                    <div>
                      <span>{{$t('visa.v_xcdays')}}</span>
                      <el-input maxlength="50" v-model="queryMsg.DayNum" @keyup.native="checkInteger(queryMsg,'DayNum')"
                        class="w150" :placeholder="$t('pub.pleaseImport')"></el-input>
                    </div>

                    <div>
                      <span>{{$t('visa.v_lycity')}}</span>
                      <el-select class='w150' filterable v-model="queryMsg.UnionCityId" :placeholder="$t('pub.pleaseSel')">
                        <el-option :label="$t('pub.unlimitedSel')" :value='queryCommonData.SelectDefaultValue'></el-option>
                        <el-option v-for="item in queryCommonData.CityList" :label='item.Name' :value='item.ID' :key='item.ID'>
                        </el-option>
                      </el-select>
                    </div>

                  </div>
                  <div class="TC_rightSearch">
                    <div>
                      <span>{{$t('visa.v_teamnum')}}</span>
                      <el-input maxlength="50" class="w80" v-model="queryMsg.TeamMinNum" @keyup.native="checkInteger(queryMsg,'TeamMinNum')"
                        :placeholder="$t('pub.pleaseImport')"></el-input>
                      -
                      <el-input maxlength="50" class="w80" v-model="queryMsg.TeamMaxNum" @keyup.native="checkInteger(queryMsg,'TeamMaxNum')"
                        @blur="checkTeamNum(queryMsg)" :placeholder="$t('pub.pleaseImport')"></el-input>
                    </div>
                    <div>
                      <span>{{$t('leader.leader_registraNum')}}</span>
                      <el-input maxlength="50" class="w80" v-model="queryMsg.ApplyMinNum" @keyup.native="checkInteger(queryMsg,'ApplyMinNum')"
                        :placeholder="$t('pub.pleaseImport')"></el-input>
                      -
                      <el-input maxlength="50" class="w80" v-model="queryMsg.ApplyMaxNum" @keyup.native="checkInteger(queryMsg,'ApplyMaxNum')"
                        @blur="checkTeamNum(queryMsg)" :placeholder="$t('pub.pleaseImport')"></el-input>
                    </div>
                    <div class="OnlyShowOverTeam">
                      <span>{{$t('visa.v_zkbaochaotuan')}}</span>
                      <el-switch v-model="queryMsg.OnlyShowOverTeam" active-value="true" inactive-value="false"></el-switch>
                    </div>
                    <div>
                        <span>{{$t('visa.v_salecompany')}}</span>
                        <el-select class="w180 multiple_input" :class="{'SaleBranchList':queryMsg.SaleBranchId==''}" v-model="queryMsg.SaleBranchId" multiple>
                          <el-option v-for='item in queryCommonData.companyList' :key="item.id" :label="item.bName" :value="item.id">
                          </el-option>
                        </el-select>
                    </div>
                  </div>
                </div>
                <div class="comSearchDiv">
                  <span class="comSearchDiv-span"> <span>{{$t('scen.sc_temStatu')}}</span> <el-checkbox v-model="queryCommonData.checkTCStateAll" @change="checkAllTeam">{{$t('system.table_chekAll')}}</el-checkbox></span>
                  <span>
                    <el-checkbox-group v-model="queryMsg.TCState" @change="checkedTeamList">
                      <el-checkbox v-for="team in $tripUtils.TeamStatesList.TeamStates" :label="team.Id" :key="team.Name">{{team.Name}}</el-checkbox>
                    </el-checkbox-group>
                  </span>
                </div>
                <!-- <div class="comSearchDiv" v-if="queryCommonData.showPlatForm"> -->
                <div class="comSearchDiv">
                  <span class="comSearchDiv-span"><span>{{$t('Airticket.Air_salesPlatform')}}</span><el-checkbox v-model="queryCommonData.checkPlatForm" @change="checkAllSales">{{$t('system.table_chekAll')}}</el-checkbox></span>
                  <span>

                    <el-checkbox-group v-model="queryMsg.SalePlat" @change="checkSales">
                      <el-checkbox v-for="sales in $tripUtils.TeamStatesList.salsPlat" :label="sales.Id" :key="sales.Name">{{sales.Name}}</el-checkbox>
                    </el-checkbox-group>
                  </span>
                </div>
                <div class="comSearchDiv">
                  <span class="comSearchDiv-span"><span>{{$t('visa.v_tqstatus')}}</span><el-checkbox v-model="queryCommonData.checkGroupALL" @change="checkGroupAll">{{$t('system.table_chekAll')}}</el-checkbox></span>
                  <span>

                    <el-checkbox-group v-model="queryMsg.GroupState" @change="checkGroup">
                      <el-checkbox v-for="state in $tripUtils.TeamStatesList.teamDateStates" :label="state.Id" :key="state.Name">{{state.Name}}</el-checkbox>
                    </el-checkbox-group>
                  </span>
                </div>
                <div class="comSearchDiv">
                  <span>{{$t('visa.v_hbstatus')}}</span>
                  <span>
                    <el-checkbox-group v-model="queryCommonData.flightCKed" style="margin-left:0;">
                      <el-checkbox v-for="state in flightStatus" :label="state.Id" :checked="state.Checked" @change="checkedFlight(state)" :key="state.Name">{{state.Name}}</el-checkbox>
                    </el-checkbox-group>
                  </span>
                </div>

                <button class="normalBtn TC_SearchBtn" @click="getControlList(),resetPageIndex(),queryCommonData.showHigradeSearch=false">{{$t('pub.searchBtn')}}</button>
              </div>
              <span class="advancedQuery" slot="reference">{{$t('visa.v_gjchaxun')}}<i class="iconfont icon-xiaotuziCduan_1"></i></span>
            </el-popover>
          </li>
          <li>
            <button class="hollowFixedBtn" @click="getControlList(),resetPageIndex()">{{$t('pub.searchBtn')}}</button>
          </li>
        </ul>
      </div>

      <div class="TravelTclList" v-loading="queryCommonData.loading">
        <ul>
        <el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryMsg.currentPage" layout="total,prev, pager, next, jumper"
          :page-size='queryMsg.pageSize' :total='queryMsg.total'>
        </el-pagination>
          <li v-for="(item,index) in queryCommonData.dataList" :key="index">
                      <div>
                          <div class="el-col" style="width:280px">
                              <div>
                                  <div class="TCL-TCNUM">{{item.TCNUM}}({{item.TCID}})</div>
                                  <div class="d12" style="float:none;margin:3px auto;">
                                      <p><i class="iconfont icon-biaoti1"></i>{{item.LineName}}</p>
                                      <p class="d12p">{{item.Title}}</p>
                                  </div>
                                  <div class="TC_TravelSalePlat clearfix">
                                    <span class="TC_neibu" v-if="item.TCState==3" :class="{'TCneibu':plat==3,'TCb2b':plat==1,'TCb2c':plat==2,'AppPlat':plat==4,'otherPlat':plat==5}"
                                      v-for="plat in item.SalePlatList" :key="plat.subCode">
                                      {{$tripUtils.getPlatName(plat)}}
                                    </span>
                                    <span class="TC_xiajia daiwanshan" v-if="item.TCState==1">{{$t('visa.v_dwanshan')}}</span>
                                    <span class="TC_xiajia" v-if="item.TCState==2">{{$t('visa.v_yxiajia')}}</span>
                                    <span class="TC_xiajia quxiao" v-if="item.TCState==4">{{$t('hotel.hotel_HasBeenCancelled')}}</span>
                                  </div>
                              </div>
                          </div>
                          <div class="el-col" style="width:200px;">
                              <div class="d2">
                                  <p class="TCLflight_GO"><i class="iconfont icon-hangban1"></i>{{$t('visa.v_hangban')}}</p>
                                  <el-popover width="900" trigger="click" popper-class="TC_tripDetails">
                                      <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                          <tr class="_color_666" style="text-align:center;">
                                              <th width="60">{{$t('Airticket.Air_segment')}}</th>
                                              <th width="80">{{$t('system.query_flightNum')}}</th>
                                              <th width="150">{{$t('system.ph_flightTime')}}</th>
                                              <th width="80">{{$t('system.query_arrivalTime')}}</th>
                                              <th width="100">{{$t('system.query_stopCity')}}</th>
                                          </tr>
                                          <tr v-for="(ds,din) in item.flightList" :key="din" style="text-align:center;">
                                              <td class="_d_name _color_666">
                                                  <span v-if="din==0">{{$t('Airticket.Air_go')}}</span>
                                                  <span v-else-if="din==item.flightList.length-1">{{$t('Airticket.Air_returnTrip')}}</span>
                                                  <span v-else-if="din>0 && din!=item.flightList.length-1">{{$t('Airticket.Air_transit')}}</span>
                                              </td>
                                              <td>
                                                  <div>{{ds.Flight_number}}</div>
                                                  <div style="margin-top:5px;">{{ds.AlName}}</div>
                                              </td>
                                              <td>
                                                  <div>{{ds.FlightDate}} {{ds.Departure_time}}</div>
                                                  <div style="margin-top:5px;">{{ds.dName}}</div>
                                              </td>
                                              <td>
                                                  <div>{{ds.FlightArrivalTime}} {{ds.Arrival_time}}</div>
                                                  <div style="margin-top:5px;">{{ds.aName}}</div>
                                              </td>
                                              <td>{{ds.StopoverName}}</td>
                                          </tr>
                                      </table>
                                      <div class="FlightDiv-TCL" slot="reference">
                                        <div v-for="subItem in item.flightList" slot="reference" :key="subItem.subCode" class="TCL-flighInfoList">
                                          <span class="TCL-FlightNumber">{{subItem.Flight_number}}</span>
                                          <span>{{subItem.DepartureName}}</span>
                                          <span v-if="subItem.StopoverName">-</span>
                                          <span>{{subItem.StopoverName}}</span>
                                          <span v-if="subItem.ArrivalCityName">-</span>
                                          <span>{{subItem.ArrivalCityName}}</span>
                                          <span v-if="subItem.FlightState==1" class="TCL-greenType">【{{$t('pub.sureBtn')}}】</span>
                                          <span v-if="subItem.FlightState==2" class="TCL-redType">【{{$t('visa.v_zanding')}}】</span>
                                        </div>
                                      </div>
                                  </el-popover>
                              </div>
                          </div >
                          <div class="el-col" style="width:190px;">
                              <div class="d3">
                                  <p><i class="iconfont icon-tuandui"></i>团队信息<em>{{item.DayNum}}{{$t('hotel.hotel_day')}}{{item.NightNum}}晚</em></p>
                                  <p><span>出发时间</span>{{item.StartDate}}</p>
                                  <p><span>出团公司</span>{{item.OutBranchName}}</p>
                              </div>
                          </div>
                          <div class="el-col" style="width:200px;">
                              <div class="d5">
                                  <p><i class="iconfont icon-tuanwei"></i>团位信息</p>
                                  <p><span>当前余位</span><i>{{item.SurplusSeat=item.SurplusSeat < 0 ? 0:item.SurplusSeat}}</i></p>
                                  <p><span>已报入</span><i @click='goUrlX("RegistrationList", item.TCID)' style="cursor:pointer;">{{item.OrderGuestNum}}<span class="TCL-redType" v-if="item.OrderLeaderGuestNum>=1">+{{item.OrderLeaderGuestNum}}</span>人</i>(占位：{{item.Occupied}}人)</p>
                                  <p><span>候补</span>
                                      <span v-if='item.IsSubstitution==1' class="TCL-greenType">允许候补</span>
                                      <span v-else class="TCL-redType">不允许候补</span>
                                  </p>
                                  <p><span @click="goUrlY('TravelPassengerList',item.TCID)" style="cursor:pointer;text-decoration:underline;">旅客名单</span></p>
                              </div>
                          </div>
                          <div class="el-col" style="width:130px;">
                              <div class="d5 TC-oparation">
                                  <p><i class="iconfont icon-yuangong"></i>操作OP</p>
                                  <div class="clearfix TC-OpInfo">
                                      <div class="TC-leftIMG">
                                          <img v-if="item.OPPhoto" :src="item.OPPhoto" alt="">
                                          <img v-else src="../../assets/img/default_head_img.jpg" alt="">
                                      </div>
                                      <div class="TC-OPName">{{item.OPName}}</div>
                                  </div>
                                  <div class="TC_SeatList">
                                    头等舱：{{item.FSeat}}
                                  </div>
                                  <div class="TC_SeatList">
                                    商务舱：{{item.CSeat}}
                                  </div>
                                  <div class="TC_SeatList">
                                    经济舱：{{item.YSeat}}
                                  </div>
                              </div>
                          </div>
                          <div class="el-col" style="width:190px;">
                              <div class="d3">
                                  <p><i class="iconfont icon-qianzheng"></i>签证</p>
                                  <p><span>签证状态:</span><i @click="goUrlP('visaWorksheet',item.TCID)" style="cursor:pointer;">{{item.VisaStatusName}}</i></p>
                                  <p><span>送签日期:</span>{{item.SendVisaTime}}</p>
                                  <p><span>出签日期:</span>{{item.OutVisaTime}}</p>
                                  <p><span>进馆日期:</span>{{item.EnterVisaTime}}</p>
                                  <p v-for="(item2, index2) in item.VisaFileList" :key="index2">
                                    <span style="cursor:pointer;text-decoration: underline;" @click="downloadFile(item2)">{{item2.Name}}</span><i class="iconfont icon-Close" style="font-size:12px;cursor:pointer;" @click="delUnpload(item.TCID,item2)"></i>
                                  </p>
                                  <p>
                                    <el-upload :http-request="UploadAttachment" :data='item' ref="upload" :multiple="false" :show-file-list='false' action="">
                                      <span style="color:#00C6FF;cursor:pointer;" @click='saveitem(item.TCID)'>上传签证资料</span>
                                    </el-upload>
                                  </p>
                              </div>
                          </div>
                          <div class="el-col">
                              <div class="d7">
                                <div>
                                  <el-button type="primary" style='background:#00C6FF; border-color:#00C6FF' v-if="item.VisaStatus==1" @click="goUrlZ('VisaApplicationDetails',item.LineID,item.TCID,item.TCNUM)">{{$t('visa.v_banliqianzheng')}}</el-button>
                                  <el-button type="primary" style='background:#00C6FF; border-color:#00C6FF' v-if="item.VisaStatus==2" @click="goUrlZ('VisaApplicationDetails',item.LineID,item.TCID,item.TCNUM)">{{$t('visa.v_chakanjindu')}}</el-button>
                                  <el-button type="primary" style='background:#00C6FF; border-color:#00C6FF' v-if="item.VisaStatus==3" @click="goUrlZ('VisaApplicationDetails',item.LineID,item.TCID,item.TCNUM)">{{$t('visa.v_chakanjieguo')}}</el-button>
                                </div>
                                <el-button v-if="item.LineID==14" @click="goUrlT('visaList2',item.TCID)" type="primary" style='background:#F16C3C; border-color:#F16C3C'>签证列表</el-button>
                                <!-- <el-button @click="goTeamBalance(item.TCID,item.OutBranchId)" type="primary" style='background:#00C6FF; border-color:#00C6FF'>团队支出</el-button> -->
                                <el-button @click="goUrl('VisaFinancialDocuments',item.TCID,item.OutBranchId,item.TCNUM,'签证财务单据')" type="primary" style='background:#F16C3C; border-color:#F16C3C'>费用明细</el-button>
                                <el-button @click='openEdit(item)' type="primary" style='background:#F16C3C; border-color:#F16C3C'>送签日期</el-button>
                                <el-button @click="openAdmission(item)"  type="primary" style='background:#00C6FF; border-color:#00C6FF'>进馆日期</el-button>
                                <el-button @click='openEdit2(item)' type="primary" style='background:#F16C3C; border-color:#F16C3C'>出签日期</el-button>
                              </div>
                          </div>
                      </div>
                      <div class="person_fan">
                          <div style="padding:10px 0">
                            <span class="RL-remarkTitle">名单:</span>
                            <span class="RL-redType RL-remarkCon" v-if="item.VisaGuestList.length>0">
                              <span style="color:blue !important" v-for="(childItem) in item.VisaGuestList">
                                <span v-if="childItem.VisaStatus===2" class="groupTourOrder_tickets_blue" >{{childItem.GuestName}}</span>
                              <span v-else-if="childItem.VisaStatus===3" class="groupTourOrder_tickets_black" >{{childItem.GuestName}}</span>
                              <span v-else-if="childItem.VisaStatus===1" class="groupTourOrder_tickets_red" >{{childItem.GuestName}}</span>

                                </span>
                            </span>
                            <span class="RL-redType RL-remarkCon" v-else>
                              <span>暂无名单</span>
                            </span>
                          </div>
                          <div>
                            <span>财务单据：</span>
                            <span @click="goUrl('VisaFinancialDocuments',item.TCID,item.OutBranchId,item.TCNUM,'签证财务单据')" style="margin-right:5px;cursor:pointer" v-for="item2 in item.VisaFinanceList" :key="item2.FrID">
                              <span v-if="item2.ColorState===1" class="groupTourOrder_tickets_blue" >{{item2.FrID}}</span>
                              <span v-else-if="item2.ColorState===2" class="groupTourOrder_tickets_green" >{{item2.FrID}}</span>
                              <span v-else-if="item2.ColorState===3" class="groupTourOrder_tickets_red" >{{item2.FrID}}</span>
                              <span v-else-if="item2.ColorState===4" class="groupTourOrder_tickets_black" >{{item2.FrID}}</span>
                            </span>
                            <span v-if="item.VisaFinanceList.length===0">{{$t('system.content_noData')}}</span>
                          </div>
                      </div>
                      <div class="TC_remarkContent">
                          <div class="clearfix TCL-redType">
                              <div class="TCL_remarkTitle">地接备注团号：</div>
                              <div class="TCL_Content"> {{item.DMCNum}}</div>
                          </div>
                          <div class="clearfix TCL-redType">
                              <div class="TCL_remarkTitle">OP对外备注：</div>
                              <div class="TCL_Content">{{item.OPRemark}}</div>
                          </div>
                          <div class="clearfix TCL-redType TCL-Opremark">
                              <div class="TCL_remarkTitle">OP对内备注：</div>
                              <div class="TCL_Content">{{item.OPInnerRemark}}</div>
                          </div>
                          <div class="clearfix TCL-redType TCL-Opremark">
                              <div class="TCL_remarkTitle">地接备注：</div>
                              <div class="TCL_Content">{{item.DmcRemarkLast!=null?item.DmcRemarkLast.DMCRemark:""}}</div>
                          </div>
                      </div>
          </li>
        </ul>
        <div class="noData" v-show="queryMsg.noData">
          {{$t('system.content_noData')}}
        </div>
        <el-pagination background @current-change="handleCurrentChange" :current-page.sync="queryMsg.currentPage" layout="total,prev, pager, next, jumper"
          :page-size='queryMsg.pageSize' :total='queryMsg.total'>
        </el-pagination>
        </div>
    </div>

    <div class="combottomDiv TC_divCon" v-if="queryCommonData.setPlatDialog">
        <div class="combottomTitle">请选择上架平台</div>
        <span class="setPlatLeft">销售平台</span>
        <span>
          <el-checkbox v-model="queryCommonData.checkDialogAll" @change="checkAllDialog" style="margin-right:20px;">{{$t('system.table_chekAll')}}</el-checkbox>
          <el-checkbox-group v-model="queryCommonData.ckedplat"  @change="checkDialog">
            <el-checkbox v-for="sales in $tripUtils.TeamStatesList.salsPlat" :label="sales.Id" :key="sales.Name">{{sales.Name}}</el-checkbox>
          </el-checkbox-group>
        </span>
        <span>
            <button class="normalBtn" style="margin-left:50px;" @click="SetshelvesUp">确定</button>
            <button class="hollowFixedBtn" @click="queryCommonData.setPlatDialog=false">取消</button>
        </span>
    </div>


    <div class="combottomDiv OPremarkDiv" v-if="queryCommonData.outerVisible">
        <div class="combottomTitle">OP备注</div>
        <el-form label-width="100px">
          <el-col :span="8">
            <el-form-item label="OP对外备注" prop="Remark">
                <el-input type="textarea" v-model="remarkMsg.OPRemark"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="OP对内备注" prop="Remark">
                <el-input type="textarea" v-model="remarkMsg.OPInnerRemark"></el-input>
            </el-form-item>
          </el-col>
        </el-form>
        <div slot="footer" class="dialog-footer">
            <button class="hollowFixedBtn" @click="queryCommonData.outerVisible = false">{{$t('pub.cancelBtn')}}</button>
            <button class="normalBtn" type="primary" @click="setOPremark">{{$t('pub.sureBtn')}}</button>
        </div>
    </div>
        <!-- 送签日期窗口 -->
        <div class="groupInquiry_edit" v-show="editShow">
            <div class="groupInquiry_edit_tit">
                <span>修改送签日期</span>
                <div>
                    <button class="hollowFixedBtn" type="button" @click="closeEdit">{{$t('pub.cancelBtn')}}</button>
                    <button class="normalBtn" type="button" @click="editOk">{{$t('pub.saveBtn')}}</button>
                </div>
            </div>
            <div class="groupInquiry_edit_form">
                <div>
                    <em>送签日期</em>
                    <el-date-picker class="groupInquiry_header_input2" v-model='msg_edit.SendVisaTime' @change="editInput" type="date" value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')" clearable></el-date-picker>
                </div>
            </div>
        </div>
        <!-- 出签日期窗口 -->
        <div class="groupInquiry_edit" v-show="editShow2">
            <div class="groupInquiry_edit_tit">
                <span>修改出签日期</span>
                <div>
                    <button class="hollowFixedBtn" type="button" @click="closeEdit2">{{$t('pub.cancelBtn')}}</button>
                    <button class="normalBtn" type="button" @click="editOk2">{{$t('pub.saveBtn')}}</button>
                </div>
            </div>
            <div class="groupInquiry_edit_form">
                <div>
                    <em>出签日期</em>
                    <el-date-picker class="groupInquiry_header_input2" v-model='msg_edit2.OutVisaTime' @change="editInput2" type="date" value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')" clearable></el-date-picker>
                </div>
            </div>
        </div>
        <!-- 进馆日窗口 -->
        <div class="groupInquiry_admission" v-show="admissionShow">
            <div class="groupInquiry_admission_tit">
                <span>修改进馆日</span>
                <div>
                    <button class="hollowFixedBtn" type="button" @click="closeAdmission">{{$t('pub.cancelBtn')}}</button>
                    <button class="normalBtn" type="button" @click="admissionOk">{{$t('pub.saveBtn')}}</button>
                </div>
            </div>
            <el-form :model="msg_admission" :rules="rules" ref="admissionForm" :inline="true" class="groupInquiry_admission_form">
                <el-form-item label="进馆日期" prop="EnterVisaTime" class="groupInquiry_admission_formItem">
                    <el-date-picker class="groupInquiry_admission_input2" v-model='msg_admission.EnterVisaTime' @change="admissionInput" type="date" value-format="yyyy-MM-dd" :placeholder="$t('admin.admin_choDate')" clearable></el-date-picker>
                </el-form-item>
                <el-form-item label="签证类型" prop="VisaType" class="groupInquiry_admission_formItem">
                    <el-select class="groupInquiry_admission_input2" v-model="msg_admission.VisaType" placeholder="选择签证类型">
                        <el-option label='个签' value='1'></el-option>
                        <el-option label='团签' value='2'></el-option>
                    </el-select>
                </el-form-item>
                <el-form-item label="欧洲签证" prop="EuropeVisaType" class="groupInquiry_admission_formItem" v-if="msg_admission.LineID===2">
                    <el-select class="groupInquiry_admission_input2" v-model="msg_admission.EuropeVisaType" @change="visaTypeChange" placeholder="选择签证类型">
                        <el-option v-for="(item, index) in EuropeVisaTypeList" :key="index" :label='item.Name' :value='item.Id'></el-option>
                    </el-select>
                </el-form-item>
                <div style="display: inline-block;vertical-align: top;white-space: nowrap;">
                    <el-form-item :label="$t('system.table_country')" prop="EuropeSchengen" class="groupInquiry_admission_formItem" v-show="msg_admission.LineID===2&&msg_admission.EuropeVisaType==='2'">
                        <el-select class="groupInquiry_admission_input2" v-model="msg_admission.EuropeSchengen" @change="SchengenChange" placeholder="选择国家">
                            <el-option v-for="(item, index) in EuropeSchengenList" :key="index+2000" :label='item.Name' :value='item.Id'></el-option>
                        </el-select>
                    </el-form-item>
                    <el-form-item prop="EuropeVisaName" class="groupInquiry_admission_formItem" v-show="msg_admission.EuropeVisaType==='2'&&msg_admission.EuropeSchengen==='5'">
                        <el-input class="groupInquiry_admission_input2" v-show="msg_admission.EuropeSchengen==='5'" v-model="msg_admission.EuropeVisaName" placeholder="输入国家名称"></el-input>
                    </el-form-item>
                </div>
            </el-form>
        </div>
  </div>
</template>
<script>
export default {
  data() {
        // 欧洲签证验证
        var testVisaType = (rule, value, callback) => {
            if (this.msg_admission.LineID===2&&value==="") {
                callback(new Error('请选择欧洲签证类型'));
            } else {
                callback();
            }
        }
        //国家验证
        var testSchengen = (rule, value, callback) => {
            if (this.msg_admission.EuropeVisaType==='2'&&value==="") {
                callback(new Error('请选择国家'));
            } else {
                callback();
            }
        }
        // 国家名称验证
        var testVisaName = (rule, value, callback) => {
            this.msg_admission.EuropeVisaName = value.trim()
            if (this.msg_admission.EuropeSchengen==='5'&&value.trim()==="") {
                callback(new Error('国家名称不能为空'));
            } else {
                callback();
            }
        }
    return {
        uploadTCID: 0,
        // 送签日期
        editShow: false,
        msg_edit: {
            TCID: 0,
            SendVisaEndDate: "",
            SendVisaTime: ""
        },
        // 出签日期
        editShow2: false,
        msg_edit2: {
            TCID: 0,
            SendVisaEndDate: "",
            OutVisaTime: ""
        },
        // 进馆日
        admissionShow: false,
        msg_admission: {
            TCID: 0,
            LineID: 0,
            SendVisaEndDate: "",
            EnterVisaTime: "",
            VisaType: "1",
            EuropeVisaType: "",
            EuropeSchengen: "",
            EuropeVisaName: ""
        },
        // 签证类型数组
        EuropeVisaTypeList:[],
        // 申根签证类型数组
        EuropeSchengenList:[],
        rules: {
            EnterVisaTime: [
                {required: true, message: '进馆日期不能为空', trigger: 'blur' },
            ],
            EuropeVisaType: [
                {validator: testVisaType, required: true, trigger: 'blur' },
            ],
            EuropeSchengen: [
                {validator: testSchengen, required: true, trigger: 'blur' },
            ],
            EuropeVisaName: [
                {validator: testVisaName, required: true, trigger: 'blur' },
            ]
        },
      //查询数据列表
      queryCommonData: {
        //线路列表
        LineList: [],
        //系列列表
        LineTeamList: [],
        //下拉框默认值
        SelectDefaultValue: 0,
        //公司选项卡默认选中
        activeName: "-1",
        //航空公司
        AirlineList: [],
        //员工列表
        EmployeeList: [],
        //公司数据
        BranchList: [],
        //是否为分公司
        IsParentCompany: "",
        //显示销售平台
        showPlatForm: false,
        //团期全选
        checkGroupALL: false,
        //销售平台全选
        checkPlatForm: false,
        //团队状态全选
        checkTCStateAll: false,
        //是否显示弹出框
        setPlatDialog: false,
        //弹出框全选
        checkDialogAll: false,
        //选择上架平台
        ckedplat: [],
        //loading
        loading: false,
        //中间变量ID
        comID: "",
        //中间变量TCState
        comState: "",
        //标题
        comPlatTitle: "",
        //高级搜索
        showHigradeSearch: false,
        //数据列表
        dataList: [],
        //中国下面城市
        CityList: [],
        //销售公司
        companyList: [],
        singleTCID: 0,
        outerVisible: false,
        flightCKed:[],
        loading:false,
        checkCompanyAll: true,
      },
      //查询参数
      queryMsg: {
        pageIndex: 1,
        pageSize: 10,
        LineId: 0,
        LineIdList: [],
        LineteamId: 0,
        TCNUM: "",
        StartGroupDate: "",
        EndGroupDate: "",
        OutBranchId: -1,
        OutBranchIds:[],
        AirTicketId: 0,
        TeamMinNum: "",
        TeamMaxNum: "",
        CreateBy: 0,
        ApplyMinNum: "1",
        ApplyMaxNum: "",
        DayNum: "",
        OnlyShowOverTeam: false,
        TCState: [1,3],
        GroupState: [1,2,5],
        SalePlat: [],
        UnionCityId: 0,
        SaleBranchId: [],
        total: 0,
        //是否有数据
        noData: false,
        currentPage: 1,
        //航班配置
        FlightState:0,
        TCVisaStatus: '-1',
        IsShowUnion:-1,
        QueryType:1,//查询类型 1:签证
        TeamType:'0',//0常规团 1小包团
      },
      remarkMsg: {
        TCID: 0,
        OPRemark: "",
        OPInnerRemark: ""
      },
      flightStatus: [{
          Id: 0,
          Name: this.$t('pub.unlimitedSel'),
          Checked:true
        }, {
          Id: 1,
          Name: '已配置',
          Checked:false
        }, {
          Id: 2,
          Name: '未配置',
          Checked:false
      }],
      pickerBeginDateBefore: {
        disabledDate: time => {
          let endTime = new Date(this.queryMsg.EndGroupDate);
          return endTime.getTime() < time.getTime();
        }
      },
      pickerBeginDateAfter: {
        disabledDate: time => {
          let startTime = new Date(this.queryMsg.StartGroupDate);
          return startTime.getTime() >= time.getTime();
        }
      }
    };
  },
  methods: {
    goUrl(path, TCID,OutBranchId,TCNUM, name) {
          this.$router.push({
            name: path,
            query: {
              TCID:TCID,
              OutBranchId:OutBranchId,
              TCNUM:TCNUM,
              blank: 'y',
              tab: name
            }
          });
      },
    saveitem(tcid) {
			this.uploadTCID = tcid
		},
    //上传
    UploadAttachment(file) {
			let newArr = [];
			newArr.push(file.file);
			let path = "/Upload/Temporary/";
			this.UploadSelfFileT(path, newArr, x => {
        this.apipost('dmc_get_visa_UploadVisaInformation', {
          Path: x.data.FilePath,
          FileName: file.file.name,
          Status: 1,
          TCID: this.uploadTCID
        }, res => {
          if (res.data.resultCode===1) {
            this.$message.success(this.$t('tips.scchenggong'))
            this.getControlList();
          } else {
            this.$message.error('上传失败')
          }
        })
			});
    },
    delUnpload: function (tcid, item) {
      this.$confirm('是否删除该签证资料?', this.$t('tips.tips'), {
          confirmButtonText: this.$t('pub.sureBtn'),
          cancelButtonText: this.$t('pub.cancelBtn'),
          type: 'warning'
        }).then(()=>{
          this.apipost('dmc_get_visa_UploadVisaInformation', {
            Path: item.FullUrl,
            FileName: item.Name,
            Status: 2,
            TCID: tcid
          }, res => {
            if (res.data.resultCode===1) {
              this.$message.success('删除成功')
              this.getControlList();
            } else {
              this.$message.error('删除失败')
            }
        })
      })
    },
    downloadFile: function (item) {
      let reg = /^http(s)?:\/\/(.*?)\//
			this.downloadFileRename(item.FullUrl.replace(reg,''),item.Name);
    },
    // 送签日期不能大于送签结束日期
    editInput: function (val) {
      if (val > this.msg_edit.SendVisaEndDate) {
        this.$message.error("送签日期不能大于结束日期");
        this.msg_edit.SendVisaTime = ''
      }
    },
    // 打开送签日期窗口
    openEdit: function (item) {
        this.msg_edit.TCID = item.TCID
        this.msg_edit.SendVisaEndDate = item.SendVisaEndDate
        this.msg_edit.SendVisaTime = item.SendVisaTime
        this.editShow = true
        this.editShow2 = false
        this.admissionShow = false
    },
    // 关闭送签日期窗口
    closeEdit: function () {
      this.editShow = false
    },
    // 提交送签日期
    editOk: function () {
      if (this.msg_edit.SendVisaTime !== '') {
        this.apipost(
          "dmc_post_SetTravelSendVisaTime",
          this.msg_edit,
          res => {
            if (res.data.resultCode == 1) {
              this.editShow = false
              this.$message.Success(`${this.$t('pub.updateMsg')}${this.$t('objFill.chenggong')}`) ;
              this.getControlList();
            } else {
              this.$message.error("修改失败");
            }

          },
          err => {}
        )
      } else {
        this.$message.error('送签日期不能为空')
      }
    },
    // 出签日期不能大于结束日期
    editInput2: function (val) {
      if (val > this.msg_edit2.SendVisaEndDate) {
        this.$message.error("出签日期不能大于结束日期");
        this.msg_edit2.OutVisaTime = ''
      }
    },
    // 打开出签日期窗口
    openEdit2: function (item) {
        this.msg_edit2.TCID = item.TCID
        this.msg_edit2.SendVisaEndDate = item.SendVisaEndDate
        this.msg_edit2.OutVisaTime = item.OutVisaTime
        this.editShow = false
        this.editShow2 = true
        this.admissionShow = false
    },
    // 关闭出签日期窗口
    closeEdit2: function () {
      this.editShow2 = false
    },
    // 提交出签日期
    editOk2: function () {
      if (this.msg_edit2.SendVisaEndDate !== '') {
        this.apipost(
          "dmc_post_SetTravelSendVisaTime",
          this.msg_edit2,
          res => {
            if (res.data.resultCode == 1) {
              this.editShow2 = false
              this.$message.Success(`${this.$t('pub.updateMsg')}${this.$t('objFill.chenggong')}`) ;
              this.getControlList();
            } else {
              this.$message.error("修改失败");
            }

          },
          err => {}
        )
      } else {
        this.$message.error('送签日期不能为空')
      }
    },
    // 进馆签日期不能大于结束日期
    admissionInput: function (val) {
        if (val > this.msg_admission.SendVisaEndDate) {
            this.$message.error("进馆日期不能大于结束日期");
            this.msg_admission.EnterVisaTime = ''
        }
    },
    // 打开进馆日窗口
    openAdmission: function (item) {
        this.apipost("dmc_get_GetTravelEnterVisaTime", {TCID:item.TCID}, res => {
            if (res.data.resultCode == 1) {
                this.msg_admission.TCID = item.TCID
                this.msg_admission.LineID = item.LineID
                this.msg_admission.SendVisaEndDate = item.SendVisaEndDate
                this.msg_admission.EnterVisaTime = res.data.data.EnterVisaTime
                this.msg_admission.VisaType = res.data.data.VisaType===0?'1':res.data.data.VisaType.toString()
                this.msg_admission.EuropeVisaType = res.data.data.EuropeVisaType===0?'':res.data.data.EuropeVisaType.toString()
                this.msg_admission.EuropeSchengen = res.data.data.EuropeSchengen===0?'':res.data.data.EuropeSchengen.toString()
                this.msg_admission.EuropeVisaName = res.data.data.EuropeVisaName
                this.editShow = false
                this.editShow2 = false
                this.admissionShow = true
            } else {
                this.$message.error('获取进馆日详情失败')
            }
        });
    },
    // 关闭进馆日窗口
    closeAdmission: function () {
        this.admissionShow = false
        this.$refs['admissionForm'].resetFields();
    },
    // 欧洲签证改变赋值
    visaTypeChange: function (val) {
        if (val!=='2') {
            for (let i = 0; i < this.EuropeVisaTypeList.length; i++) {
                if (val === this.EuropeVisaTypeList[i].Id) {
                    this.msg_admission.EuropeVisaName = this.EuropeVisaTypeList[i].Name
                }
            }
        }
    },
    // 国家改变赋值
    SchengenChange: function (val) {
        if (val!=='5') {
            for (let i = 0; i < this.EuropeSchengenList.length; i++) {
                if (val === this.EuropeSchengenList[i].Id) {
                    this.msg_admission.EuropeVisaName = this.EuropeSchengenList[i].Name
                }
            }
        } else {
            this.msg_admission.EuropeVisaName = ''
        }
    },
    // 提交进馆日
    admissionOk: function () {
        this.$refs['admissionForm'].validate((valid) => {
            if (valid) {
                this.apipost("dmc_post_SetTravelEnterVisaTime", this.msg_admission, res => {
                    if (res.data.resultCode == 1) {
                        this.$message.success('进馆日设置成功')
                        this.getControlList();
                        this.admissionShow = false
                        this.$refs['admissionForm'].resetFields();
                    } else {
                        this.$message.error('进馆日设置失败')
                    }
                });
            } else {
                return false;
            }
        });
        // this.admissionShow = false
    },
    // 获取签证类型数组
    getEuropeVisaType: function () {
        this.apipost("dmc_get_GetEuropeVisaTypeList", {}, res => {
            if (res.data.resultCode == 1) {
                this.EuropeVisaTypeList = res.data.data;
            } else {
                this.$message.error('签证类型获取失败')
            }
        });
    },
    // 获取申根签证类型数组
    getEuropeSchengen: function () {
        this.apipost("dmc_get_GetEuropeSchengenTypeList", {}, res => {
            if (res.data.resultCode == 1) {
                this.EuropeSchengenList = res.data.data;
            } else {
                this.$message.error('申根签证类型获取失败')
            }
        });
    },
    //翻页
    handleCurrentChange(val) {
      this.queryMsg.pageIndex = val;
      this.getControlList();
    },
    //重新查询
    resetPageIndex() {
      this.queryMsg.pageIndex = 1;
      this.queryMsg.currentPage = 1;
    },
    //获取线路列表
    getLineList() {
      let userInfo = this.getLocalStorage();
      let num=1;
      if(userInfo.RB_Group_id==2){
        num=1
      }else{
        num=0;
      }
      let msg={
        IsVisaSelect:num
      };
      this.apipost("line_post_GetAllList", msg, res => {
        if (res.data.resultCode == 1) {
          this.queryCommonData.LineList = res.data.data;
        }
      });
    },
    //获取系列列表
    getLineTeamList() {
      this.queryMsg.LineteamId = 0;
      let msg = {
        lineID: this.queryMsg.LineId,
        isTOOP: 1
      };
      this.apipost("team_post_GetList", msg, res => {
        if (res.data.resultCode == 1) {
          this.queryCommonData.LineTeamList = res.data.data;
        }
      });
    },
    //切换公司
    getCompanyTab(Id) {
    	this.queryMsg.OutBranchIds=[]
    	if(Id!='-1')
    	{
    		this.queryMsg.OutBranchIds.push(Id)
    	}
      this.queryMsg.OutBranchId = Id;
      this.queryMsg.currentPage = 1;
      this.getControlList();
    },
    //获取航空公司
    getAirlineList() {
      this.apipost(
        "airline_post_GetList",
        {},
        res => {
          if (res.data.resultCode == 1) {
            this.queryCommonData.AirlineList = res.data.data;
          }
        },
        err => {}
      );
    },
    //根据当前员工所在部门获取该部门及子部门员工信息
    getEmployeeList() {
      let userInfo = this.getLocalStorage();
      let msg = {
        GroupId: userInfo.RB_Group_id,
        BranchId: "-1",
        DepartmentId: "-1",
        PostId: "-1",
        IsLeave: "0"
      };
      this.apipost(
        "admin_get_EmployeeGetList",
        {},
        res => {
          if (res.data.resultCode == 1) {
            this.queryCommonData.EmployeeList = res.data.data;
          }
        },
        err => {}
      );
    },

    //新获取列表数据
    getControlList() {
      var msg = JSON.parse(JSON.stringify(this.queryMsg));
      if (msg.TeamMinNum == "") {
        msg.TeamMinNum = -1;
      }
      if (msg.TeamMaxNum == "") {
        msg.TeamMaxNum = -1;
      }
      if (msg.ApplyMinNum == "") {
        msg.ApplyMinNum = -1;
      }
      if (msg.ApplyMaxNum == "") {
        msg.ApplyMaxNum = -1;
      }
      if (msg.DayNum == "") {
        msg.DayNum = -1;
      }
      msg['IsVisaSelect'] = 1;
      this.queryCommonData.loading=true;
      this.apipost(
        "travel_get_GetTravelPrciePageList_V2",
        msg,
        res => {
          this.queryCommonData.loading=false;
          if (res.data.resultCode == 1) {
            this.queryCommonData.dataList = res.data.data.pageData;
            this.queryMsg.total = res.data.data.count;
            this.queryMsg.noData = !this.queryMsg.total > 0;
            this.queryCommonData.dataList.forEach(item => {
              item.SalePlatList = [];
              if (item.SalePlat !== null) {
                var SalePlatArr = item.SalePlat.split(",");
                SalePlatArr.forEach(y=>{
                  item.SalePlatList.push(parseInt(y))
                })
              }
            });
          }
        },
        err => {}
      );
    },

    //验证大小
    checkTeamNum(queryMsg) {
      var TeamMinNum = parseInt(queryMsg.TeamMinNum);
      var TeamMaxNum = parseInt(queryMsg.TeamMaxNum);
      var ApplyMinNum = parseInt(queryMsg.ApplyMinNum);
      var ApplyMaxNum = parseInt(queryMsg.ApplyMaxNum);
      if (TeamMaxNum < TeamMinNum) {
        queryMsg.TeamMaxNum = "";
      }
      if (ApplyMaxNum < ApplyMinNum) {
        queryMsg.ApplyMaxNum = "";
      }
    },
    //初始化公司
    getCompanyList() {
      let userInfo = this.getLocalStorage();
      var RB_Group_id = userInfo.RB_Group_id;
      let msg = {
        Status: 0,
        is_show: 0,
        RB_Group_Id: RB_Group_id
      };
      this.apipost(
        "admin_get_BranchGetList",
        msg,
        res => {
          if (res.data.resultCode == 1) {
            this.queryCommonData.BranchList = res.data.data;
            this.queryCommonData.BranchList.forEach(x => {
              x.isShow = false;
            });
          }
        },
        err => {}
      );
    },
    //团期状态全选
    checkGroupAll(val) {
      this.queryMsg.GroupState = [];
      if (val) {
        this.$tripUtils.TeamStatesList.teamDateStates.forEach(x => {
          this.queryMsg.GroupState.push(x.Id);
        });
      }
    },
    checkGroup(value) {
      let checkedCount = value.length;
      this.queryCommonData.checkGroupALL =
        checkedCount === this.$tripUtils.TeamStatesList.teamDateStates.length;
    },
    //销售平台全选
    checkAllSales(val) {
      this.queryMsg.SalePlat = [];
      if (val) {
        this.$tripUtils.TeamStatesList.salsPlat.forEach(x => {
          this.queryMsg.SalePlat.push(x.Id);
        });
      }
    },
    checkSales(value) {
      let checkedCount = value.length;
      this.queryCommonData.checkPlatForm =
        checkedCount === this.$tripUtils.TeamStatesList.salsPlat.length;
    },
    //团队状态全选
    checkAllTeam(val) {
      this.queryMsg.TCState = [];
      if (val) {
        this.$tripUtils.TeamStatesList.TeamStates.forEach(x => {
          this.queryMsg.TCState.push(x.Id);
        });
      }
      if (
        this.queryMsg.TCState.indexOf(
          this.$tripUtils.TeamStatesList.TeamStates[2].Id
        ) > -1
      ) {
        this.queryCommonData.showPlatForm = true;
      } else {
        this.queryCommonData.showPlatForm = false;
      }
    },
    checkedTeamList(value) {
      if (value.indexOf(this.$tripUtils.TeamStatesList.TeamStates[2].Id) > -1) {
        this.queryCommonData.showPlatForm = true;
      } else {
        this.queryCommonData.showPlatForm = false;
      }
      let checkedCount = value.length;
      this.queryCommonData.checkTCStateAll =
        checkedCount === this.$tripUtils.TeamStatesList.TeamStates.length;
    },
    //全选弹出框
    checkAllDialog(val) {
      this.queryCommonData.ckedplat = [];
      if (val) {
        this.$tripUtils.TeamStatesList.salsPlat.forEach(x => {
          this.queryCommonData.ckedplat.push(x.Id);
        });
      }
    },
    checkDialog(value) {
      let checkedCount = value.length;
      this.queryCommonData.checkDialogAll =
        checkedCount === this.$tripUtils.TeamStatesList.salsPlat.length;
    },
    //点击上架
    setUpPlat(item) {
      this.queryCommonData.outerVisible = false;
      this.queryCommonData.setPlatDialog = true;
      this.queryCommonData.singleTCID = item.TCID;
      if(item.TCState==2){
        this.queryCommonData.ckedplat=[];
        this.queryCommonData.checkDialogAll = false;
      }else if(item.TCState==3){
        item.SalePlatList.forEach(x => {
          this.queryCommonData.ckedplat.push(parseInt(x));
        });
        if(item.SalePlatList.length == this.$tripUtils.TeamStatesList.salsPlat.length){
            this.queryCommonData.checkDialogAll = true;
        }
      }
    },
    //单团设置下架
    Setshelves(TCID) {
      let msg = {
        TCID: TCID,
        TCState: 2,
        SalePlat: ""
      };
      this.apipost("travel_post_SetPriceTCState", msg, res => {
        if (res.data.resultCode == 1) {
          this.Success(res.data.message);
          this.getControlList();
          this.queryCommonData.checkDialogAll = false;
          this.queryCommonData.ckedplat = [];
        }
      });
    },
    //单团设置上架
    SetshelvesUp() {
      let msg = {
        TCID: this.queryCommonData.singleTCID,
        TCState: 3,
        SalePlat: this.queryCommonData.ckedplat.join(",")
      };
      if (msg.SalePlat == "") {
        this.Error("请选择上架平台");
        return;
      }
      this.apipost("travel_post_SetPriceTCState", msg, res => {
        if (res.data.resultCode == 1) {
          this.Success(res.data.message);
          this.getControlList();
          this.queryCommonData.setPlatDialog = false;
          this.queryCommonData.checkDialogAll = false;
          this.queryCommonData.ckedplat = [];
        }
      });
    },

    goUrlX(path, id) {
      this.$router.push({ name: path, query: { id: id,blank:'y',tab: this.$t('Operation.Op_registrationList')} });
    },
    goUrlY(path, id) {
      this.$router.push({ name: path, query: { id: id,blank:'y',tab:'旅客名单'} });
    },
    goUrlZ(path,LineID, id, num) {
      this.$router.push({ name: path, query: { LineID:LineID,id: id, num: num,blank:'y',tab:'签证办理'} });
    },
    goUrlT(path, tcid) {
      this.$router.push({ name: path, query: { tcid: tcid, blank:'y', tab:'签证列表'} });
    },
    goTeamBalance(id, OutBranchId) {
        this.$router.push({
          name: "TeamBalancePayment",
          query: {
            id: id,
            OutBranchId: OutBranchId,
            blank: "y",
            tab: "团队收支明细"
          }
        });
    },
    goUrlP(path,tcid) {
      this.$router.push({ name: path, query: {tcid:tcid, blank:'y', tab:'签证工作表'} });
    },
    goUrlR(path,TCID,ConfigId) {
      let routeData = this.$router.resolve({
        name: path,
        query: { id: TCID, configId: ConfigId }
      });
      window.open(routeData.href, "_blank");
    },
    goB2B(ConfigId) {
      window.open(
        "http://www.oytour.com/#/detail/" +
          encodeURIComponent(ConfigId) +
          "/preview",
        "_blank"
      );
    },
    goTeamBalance(id, OutBranchId) {
      this.$router.push({
        name: "TeamBalancePayment",
        query: { id: id, OutBranchId: OutBranchId,blank:'y',tab:'团队收支明细'}
      });
    },
    //开团或修改
    goToOpenTravel(path, configId) {
      if (configId > 0) {
        this.$store.commit("pageConditionUpdate", this.queryMsg);
        this.$router.push({
          name: path,
          query: { configId: configId, openState: 1,blank:'y',tab:'团期配置' }
        });
      } else {
        this.$router.push({ name: path });
      }
    },
    //删除团期
    removeTeamInfo(TCID) {
      var that = this;
      that.Confirm(this.$t('tips.shifoushanchu'), function() {
        var msg = {
          TCID: TCID
        };
        that.apipost(
          "travel_post_RemoveTravelPrice",
          msg,
          res => {
            if (res.data.resultCode == 1) {
              that.Success(res.data.message);
              that.getControlList();
            } else {
              that.Error(res.data.message);
            }
          },
          null
        );
      });
    },
    //获取城市
    getCountryCity() {
      this.apipost("sellorder_get_GetAllStartCity", {}, res => {
        if (res.data.resultCode == 1) {
          this.queryCommonData.CityList = res.data.data;
        }
      });
    },
    getSellorCompany() {
      //出团公司
      this.apipost(
        "sellorder_post_GetBranchList",
        {},
        res => {
          if (res.data.resultCode == 1) {
            this.queryCommonData.companyList = res.data.data;
          }
        },
        err => {}
      );
    },
    //点击op备注
    ckOPremark(item) {
      this.remarkMsg.TCID = item.TCID;
      this.remarkMsg.OPRemark = item.OPRemark;
      this.remarkMsg.OPInnerRemark = item.OPInnerRemark;
      this.queryCommonData.setPlatDialog = false;
      this.queryCommonData.outerVisible = true;
    },
    //设置OP备注
    setOPremark() {
      this.apipost(
        "travel_post_SetTravelPrcieOpRemark",
        this.remarkMsg,
        res => {
          if (res.data.resultCode == 1) {
            this.Success(res.data.message);
            this.queryCommonData.outerVisible = false;
            this.getControlList();
          } else {
            this.Error(res.data.message);
          }
        },
        err => {}
      );
    },
    checkedFlight(item){
       this.queryMsg.FlightState=item.Id;
       this.queryCommonData.flightCKed=[];
       this.queryCommonData.flightCKed.push(item.Id);
    },
      //查询全部
    getCompanyCheckAll() {
      this.queryCommonData.checkCompanyAll = true;
      this.queryMsg.OutBranchIds = [];
      this.queryCommonData.BranchList.forEach(x => {
        x.isShow = false;
      });
      this.getControlList();
    },
      //点击选取出团公司
    getCompanyCheck(item) {
      item.isShow = !item.isShow;
      this.queryCommonData.checkCompanyAll = false;
      this.$forceUpdate();
      this.queryMsg.OutBranchIds = [];

      this.queryCommonData.BranchList.forEach(x => {
        if (x.isShow) {
          this.queryMsg.OutBranchIds.push(x.Id);
        }
      });
      if (
        this.queryMsg.OutBranchIds.length ==
        this.queryCommonData.BranchList.length ||
        this.queryMsg.OutBranchIds.length == 0
      ) {
        this.queryCommonData.checkCompanyAll = true;
      }
      this.getControlList();
    },


  },
  filters: {
    formatStartDate(value) {
      let dataArr = value.split("-");
      return dataArr[1] + "-" + dataArr[2];
    },
    priceFormat(value) {
      if (value == null) {
        return 0.0;
      }
      let nStr = value.toFixed(2);
      nStr += "";
      let x = nStr.split(".");
      let x1 = x[0];
      let x2 = x.length > 1 ? "." + x[1] : "";
      var rgx = /(\d+)(\d{3})/;
      while (rgx.test(x1)) {
        x1 = x1.replace(rgx, "$1" + "," + "$2");
      }
      return x1 + x2;
    }
  },
  mounted() {
    // this.queryMsg.LineId = this.$route.query.LineId;
    // this.queryMsg.LineteamId = this.$route.query.LineteamId;
    // this.getLineTeamList();

    //销售公司
    this.getSellorCompany();
    this.getCompanyList();
    this.getLineList();
    this.getAirlineList();
    this.getEmployeeList();
    this.getCountryCity();
    // 进馆日相关数据获取
    this.getEuropeVisaType();
    this.getEuropeSchengen();
  },
  created() {
    let userInfo = this.getLocalStorage();
    if (userInfo.IsParentCompany == undefined) {
      this.queryCommonData.IsParentCompany = 2;
    } else {
      this.queryCommonData.IsParentCompany = userInfo.IsParentCompany;
    }

    let ActionMenuCode = userInfo.ActionMenuCode;
    if (ActionMenuCode.indexOf("isSuperManagement") != -1) {
      this.queryCommonData.IsParentCompany = 1;
    }

    if (this.$route.query.hasOwnProperty("cache")) {
      if (this.$store.state.pageCondition != null) {
        this.queryMsg = this.$store.state.pageCondition;
      }
    }

    var nowDate = new Date().Format('yyyy-MM-dd')
    this.queryMsg.TCNUM = this.$route.query.tcnum!==undefined?this.$route.query.tcnum:'';
    this.queryMsg.StartGroupDate = this.$route.query.startDate!==undefined?this.$route.query.startDate:nowDate;

    if (this.queryCommonData.IsParentCompany != 1) {
      this.queryMsg.OutBranchIds.push(userInfo.RB_Branch_id);
    }
    this.getControlList();
  },
};
</script>
