<style scoped>
    ._vad_top{padding: 20px 0}
    ._vad_top>span._num{height:30px;background:#E3E3E3;border-radius:4px;display: inline-block;padding: 5px 10px;font-size: 14px;font-weight: bold}
    .wrapper .singeRowTable tr{border-bottom: 1px solid  #E3E3E3;margin-bottom: 10px;box-shadow: 0px 1px 0px rgba(227,227,227,1);margin-bottom: 20px;}
    .wrapper .singeRowTable tr th:hover,.wrapper .singeRowTable tr td:hover{background-color: #FFFFFF}
    .wrapper .singeRowTable tr th,.wrapper .singeRowTable tr td{background-color: #FFFFFF;text-align: center}
    .wrapper .singeRowTable .text_left{text-align: left;padding-left: 25px}
    .wrapper ._head_img{width: 24px;height: 24px;border-radius: 50%;}
    .wrapper .singeRowTable td img{vertical-align:middle;}
    .wrapper .singeRowTable .iconfont,.iconfont.icon-iconfontremind{color: #E95252}
    .iconfont.icon-iconfontremind{font-size: 24px;cursor: pointer;}
    .wrapper ._radius {display: inline-block;width: 24px;height: 24px;background-color: #FF793E;color: #fff;border-radius: 50%;text-align: center;line-height: 22px;font-size: 12px;margin-right: 10px;}
    .wrapper ._radius._tuan{background-color: #3EABFF}
    .wrapper .icon-img_delete_small{cursor: pointer;}
    .updatestatus{
      position: absolute;
      right:10px;
    }

</style>
<template>
  <div class="wrapper">
      <div class="_vad_top clearfix">
        <span class="_num PingFangSC">{{$t('visa.v_tuan')}}:{{num}}</span>
        <div class="fr">
          <button @click="DeleteMore" class="normalBtn">{{$t('ground.piliangshanchu')}}</button>

          <el-dropdown split-button type="primary" trigger="click" @command="bindVisa">
            {{$t('visa.v_tvisa')}}
            <el-dropdown-menu slot="dropdown" >
              <el-dropdown-item v-for="item in VisaManagementList" :key='item.Id' v-if="item.IsGroupSigned==1"  :command='{id:item.Id,type:2}'>{{item.Name}}</el-dropdown-item>
              <!-- v-if="LineID!=14" -->
              <el-dropdown-item v-if="LineIDState==2" :command='{id:-1,type:2}'>{{$t('visaT.v_Othervisas')}}</el-dropdown-item>
            </el-dropdown-menu>
          </el-dropdown>
          <el-dropdown split-button type="primary" trigger="click"  @command="bindVisa">
            {{$t('visa.v_gvisa')}}
            <el-dropdown-menu slot="dropdown" >
              <el-dropdown-item v-for="(item,index) in VisaManagementList" :key='index+50000' v-if="item.IsOrderSigned==1" :command='{id:item.Id,type:1}'>{{item.Name}}</el-dropdown-item>
              <!-- v-if="LineID!=14"  -->
              <el-dropdown-item v-if="LineIDState==2" :command='{id:-1,type:1}'>{{$t('visaT.v_Othervisas')}}</el-dropdown-item>
           </el-dropdown-menu>
          </el-dropdown>
        </div>
      </div>
      <table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" style=" border-spacing:0 10px;" v-loading="loading">
        <tr>
          <th width=150 class="text_left"> <input type="checkbox" @change="checkAll" v-model="checkd" > {{$t('visa.v_suoshudingdan')}}</th>
          <th>{{$t('visa.v_youkeName')}}</th>
          <th>{{$t('visa.v_guanlianyewu')}}</th>
          <th>{{$t('visa.v_ziliaowanshan')}}</th>
          <th>{{$t('visa.v_visaType')}}</th>
          <th>{{$t('visa.v_qianzhengst')}}</th>
          <th>{{$t('admin.admin_czPerson')}}</th>
          <th> <input type="checkbox" @change="checkAll2" v-model="checkd2" >{{$t('hotel.table_operat')}}</th>
        </tr>
        <tr v-for="(item,index) in dataList">
          <td width=150 class="text_left">
            <!-- v-if="LineID==14" -->
            <input v-if="LineIDState==1" type="checkbox" :disabled="item.ApplyStatus!=-1" v-model="checkList" :value="item.Id" @change="checkThis">
            <input v-else type="checkbox" :disabled="item.VisaManageStatus>1" v-model="checkList" :value="item.Id" @change="checkThis">
             {{item.OrderId}}</td>
          <td>{{item.GuestName}}</td>
          <td><img class="_head_img" :src="item.SalesManPhoto" alt=""> {{item.SalesMan}}</td>
          <td>
            <span v-if="item.IsDataFull==2">{{$t('visa.v_yiwanshan')}}</span>
            <span v-if="item.IsDataFull==1">{{$t('visa.v_weiwanshan')}}</span>
            <span v-if="item.IsDataFull==0">{{$t('visa.v_weibangding')}}</span>
            <i v-if="item.IsDataFull==1||item.IsDataFull==0" class="iconfont icon-iconfontremind" @click="UrgeGuestInfo(item.Id,item.EmployeeId)" style="vertical-align:middle;"></i>
          </td>
          <td>
            <!-- v-if="LineID==14" -->
            <span v-if="LineIDState==1" >
              {{item.VisaName}}
                <span v-if="item.SignStatus==1" class="_radius" >{{$t('visa.v_dan')}}</span>
                <span v-if="item.SignStatus==2" class="_radius _tuan">{{$t('visa.v_tuan')}}</span>
            </span>
            <span v-else>
                <span v-if="item.VisaCountryType==1">{{$t('visa.v_Japanese')}}</span>
                <span v-if="item.VisaCountryType==-1">{{$t('active.cl_qita')}}</span>
                <span v-if="item.VisaType==1" class="_radius" >{{$t('visa.v_dan')}}</span>
                <span v-if="item.VisaType==2" class="_radius _tuan">{{$t('visa.v_tuan')}}</span>
            </span>

          </td>
          <td>
            <!-- v-if="LineID==14" -->
            <span v-if="LineIDState==1">
              <span v-if="item.ApplyStatus==0">{{$t('visa.v_chulizhong')}}</span>
              <img v-if="item.ApplyStatus==1" src="../../assets/img/pass@2x.png" alt="">
             <img v-if="item.ApplyStatus==2" src="../../assets/img/fail@2x.png" alt="">
            </span>
             <span v-else>
               <span v-if="item.VisaCountryType!=0">
                 <span v-if="item.VisaManageStatus==1">{{$t('visa.v_weibanli')}}</span>
                <span v-if="item.VisaManageStatus==2">{{$t('visa.v_banlizhong')}}</span>
                <span v-if="item.VisaManageStatus==3">{{$t('visaT.Completionover')}}</span>
                <!--   -->
                <span @click="goUrl('财务单据','FinancialDocumentsDetail',item.OrderId)" v-if="item.FinanceId>0" style="cursor:pointer" class="_radius _tuan">{{$t('objFill.v101.cai')}}</span>
               </span>

            </span>

          </td>
          <td>{{item.UpdateName}} <img class="_head_img" :src="item.UpdatePhoto" alt=""></td>
          <td style="position:relative;width:200px">
            <input v-if="item.VisaType==2 || item.SignStatus==2" type="checkbox"  v-model="checkList2" :value="item.Id" @change="checkThis2">
            <el-button @click="deletelist(item.Id)" type="danger" style="padding:5px" icon="el-icon-delete" circle></el-button>
            <!-- <i @click="deletelist(item.Id)" class="iconfont icon-img_delete_small"></i> -->
          <!-- v-if="LineID!=14" -->
          <span v-if="LineIDState==2">
            <!-- <button v-if="item.VisaManageStatus==1" @click="UpdateGuestStatus(item,2)" style='background:#3EABFF;padding:4px 6px;color:#fff;cursor:pointer'>办理</button> -->
             <el-tooltip class="item" effect="dark" :content="$t('visaT.Completionover')" placement="top-start">
                <el-button @click="UpdateGuestStatus(item,3)"  style="padding:5px" type="success" v-if="item.VisaManageStatus==2" icon="el-icon-check" circle></el-button>
                <!-- <i  class="iconfont icon-yiqueren" style="color:rgb(75, 202, 129);cursor:pointer;font-size:18px" ></i> -->
              </el-tooltip>
            </span>
          </td>
        </tr>
      </table>
  </div>
</template>

<script>
export default {
  components:{},
  props:{},
  data(){
    return {
        id:0,
        num:0,
        VisaManagementList:[],
        dataList:[],
        checkList:[],
        checkListAll:[],
        loading:false,
        checkd:false,
        checkd2:false,
        checkList2:[],
        checkListAll2:[],
        deleteStatus:false,
        lastlen:false,
        StatusList:[
          {
            Id:'-1',
            Name:this.$t('pub.unlimitedSel')
          },{
            Id:'0',
            Name:this.$t('Airticket.Air_toProcessed')
          },
          {
            Id:'1',
            Name:  this.$t('visa.v_tongguo')
          },{
            Id:'2',
            Name:this.$t('visa.v_jujue')
          },
      ],
      LineID:14,
      LineIDState:0,
      LineIDList:{},
    }
  },
  watch:{},
  computed:{},
  methods:{
    goUrl: function (name, path, id ) {
      this.$router.push({ name: path, query: { id: id, blank: 'y', tab: name} });
    },
    UpdateGuestStatus(item,num){
      let msg={
        guestId:item.Id,
        visaManageStatus:num
      };
      this.apipost('dmc_post_UpdateGuestVisaManageStatus',msg,res=>{
        if(res.data.resultCode==1){
          this.$message.success(res.data.message)
          this.getData()
        }
        else{
            this.$message.error(res.data.message)
        }
      })
    },
    UrgeGuestInfo(id,EmployeeId){  //催客人完善资料
      let msg = {
        GuestId:id,
        EmployeeId:EmployeeId,
      }
      this.apipost('dmc_post_UrgeGuestInfo',msg,res=>{
        if(res.data.resultCode==1){
            this.$message.success(res.data.message)
            this.getData()
        }else{
            this.$message.error(res.data.message)
        }
      },err=>{})
    },
    deletelist(id){//删除提示
      this.$confirm(this.$t('visaT.sfshanchubd'), this.$t('tips.tips'), {
              confirmButtonText: this.$t('pub.sureBtn'),
              cancelButtonText: this.$t('pub.cancelBtn'),
              type: 'warning'
          }).then(() => {
            this.deleteStatus=false;
              this.deleteTshi(id)
          }).catch(() => {
          this.$message({
              type: 'info',
              message: this.$t('tips.cancleDelete')
        });
      });
    },
    deleteTshi(id){  // 删除操作
      this.apipost('dmc_post_DelVisaPeople',{GuestId:id},res=>{
        if(res.data.resultCode==1){
          if(this.deleteStatus){
            if(this.lastlen){
              this.getData()
              this.$message.success(res.data.message)

            }
          }else{
            this.$message.success(res.data.message)
            this.getData()
          }

        }else{
            this.$message.error(res.data.message)
        }
      },err=>{})
    },
    getVisa(){
      // LineIDState:0,
      // LineIDList:{},
      this.apipost('dict_get_GetVisaLineList',{},res=>{
            if(res.data.resultCode==1){
                this.LineIDList=res.data.data;
                // 在集合里
                if(this.LineIDList.indexOf(Number(this.LineID))>-1){
                  this.LineIDState=1;
                }else{
                  this.LineIDState=2;
                }
            }else{
                this.$message.error(res.data.message)
            }
            this.loading = false
      },err=>{})
    },
    bindVisa(command){ //绑定签证类型
      if(command.id>0&&this.LineIDState==2){
        this.$message.error(this.$t('visaT.qxzzzdqzlx'))
        return;
      }
      if(this.checkList.length==0){
        this.$message.error(this.$t('visaT.qxzxybddry'))
        return
      }
      let msg = {
        TCID:this.id,
        VisaType:command.type,
        GuestArr:this.checkList,
        VisaId:command.id,
      }
      this.apipost('dmc_post_AddVisaPlan',msg,res=>{
        if(res.data.resultCode==1){
            this.$message.success(res.data.message)
            this.getData()
            this.checkList=[]
        }else{
            this.$message.error(res.data.message)
        }
      },err=>{})
    },
    DeleteMore(){
      let len=this.checkList2.length;
      if(len==0){
        this.Error(this.$t('objFill.v101.zhisxzytiao'));
        return;
      }
      this.deleteStatus=true;
      this.lastlen=false;

      this.$confirm(this.$t('visaT.sfshanchubd'), this.$t('tips.tips'), {
              confirmButtonText: this.$t('pub.sureBtn'),
              cancelButtonText: this.$t('pub.cancelBtn'),
              type: 'warning'
          }).then(() => {
            for(let i=0;i<this.checkList2.length;i++){

              if(i+1==len){
                this.lastlen=true;
              }
              this.deleteTshi(this.checkList2[i])
            }
          }).catch(() => {
          this.$message({
              type: 'info',
              message: this.$t('tips.cancleDelete')
        });
      });


    },
    checkThis2(){ // 单选
      if(this.checkList2.length==this.checkListAll2.length){
        this.checkd2 = true
        return
      }
      this.checkd2 = false
    },
    checkAll2(){ //全选
      if(this.checkList2.length==this.checkListAll2.length){
          this.checkList2=[]
          return
      }
      this.checkList2 = this.checkListAll2
    },
    checkThis(){ // 单选
      if(this.checkList.length==this.checkListAll.length){
        this.checkd = true
        return
      }
      this.checkd = false
    },
    checkAll(){ //全选
      if(this.checkList.length==this.checkListAll.length){
          this.checkList=[]
          return
      }
      this.checkList = this.checkListAll
    },

    getVisaManagementList(){  //  获取签证管理
        this.apipost('dmc_get_visa_GetVisaManagementList',{Status:0,BranchId:-1,SignStatus:0},res=>{
            if(res.data.resultCode==1){
                this.VisaManagementList = res.data.data
            }else{
                this.$message.error(res.data.message)
            }
        },err=>{})
    },
    getData(){ //获取数据
      this.loading = true
      this.checkListAll=[];
      this.apipost('dmc_get_GetTCGuestList',{TCID:this.id},res=>{
            if(res.data.resultCode==1){
                this.dataList = res.data.data;
                this.dataList.forEach(x=>{
                  if(x.VisaType==2 || x.SignStatus==2){
                    this.checkListAll2.push(x.Id)
                  }
                })
                if(this.LineIDState==1){
                  this.dataList.forEach(x=>{
                  if(x.ApplyStatus==-1){
                    this.checkListAll.push(x.Id)
                  }
                })
                }else{
                  this.dataList.forEach(x=>{
                    if(x.VisaManageStatus==1 || x.VisaManageStatus==0){
                      this.checkListAll.push(x.Id)
                    }
                  })

                }

            }else{
                this.$message.error(res.data.message)
            }
            this.loading = false
      },err=>{})
    }
  },
  created(){
    this.getVisa();
  },
  mounted(){
        this.id =  this.$route.query.id
        this.num =  this.$route.query.num;
        this.LineID=this.$route.query.LineID?this.$route.query.LineID:this.LineID;
        this.getVisaManagementList()
        this.getData()

  }
}
</script>