<style>
.page_iisMg ._nav {
  margin: 20px 0 0 0;
  background-color: #f5f5f5;
}
.page_iisMg ._nav li {
  float: left;
  font-size: 14px;
  color: #666666;
  padding: 15px 20px;
  cursor: pointer;
  position: relative;
  background-color: #f1f1f1;
  margin-right: 5px;
}
.page_iisMg ._nav li._active {
  background-color: #ffffff;
  color: #333333;
}
.page_iisMg ._nav li._active::after {
  content: "";
  width: 20px;
  height: 3px;
  background-color: #e95252;
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 38%;
}
.page_iisMg .query-box {
  padding-bottom: 0;
}
.page_iisMg .iis_info_box {
  padding-top: 15px;
}
.page_iisMg .el-date-editor .el-range-separator {
  width: 9% !important;
}
.page_iisMg td span.status_Application{
  color: #409EFF;
}
.page_iisMg td span.status_Cancle{
  color: #909399;
}
.page_iisMg td span.status_Passed{
  color: #67C23A;
}
.page_iisMg td span.status_Rejected{
  color: #F56C6C;
}
.page_iisMg td span.status_owe{
  color: #E6A23C;
}
.page_iisMg td span.status_Recover{
  color: #67C23A;
}
.page_iisMg .cursorpointer{
  text-decoration: underline;
}
.page_iisMg ._icon_btn i{
    width: 30px;
    height: 30px;
    display: inline-block;
    color: white !important;
    border-radius: 50%;
    text-align: center;
    line-height: 30px;
    margin-right: 10px;
    cursor: pointer;
    outline: none;
}
.page_iisMg ._icon_btn i.icon-ico_commodity_defaul{background-color: #F16C3C;}
.page_iisMg ._icon_btn i.icon-ico_commodity_defaul:hover{background-color: #e87c54}
.page_iisMg ._icon_btn i.icon-ico_commodity_defaul:active{background-color: #f76630}
.page_iisMg ._icon_btn i.icon-quxiao1{background-color: #E95252;}
.page_iisMg ._icon_btn i.icon-quxiao1:hover{background-color: #ea6d6d}
.page_iisMg ._icon_btn i.icon-quxiao1:active{background-color:#e42d2d}
.page_iisMg ._icon_btn i.icon-sousuo{background-color: #47BF8C;}
.page_iisMg ._icon_btn i.icon-sousuo:hover{background-color: #66bb97}
.page_iisMg ._icon_btn i.icon-sousuo:active{background-color: #35ab79}
._zhuihui{
  display: inline-block;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  color: white;
  background-color: #e42d2d;
  text-align: center;
  line-height: 30px;
  cursor: pointer;
  margin-right: 10px
}
</style>
<template>
  <div class="page_iisMg">
    <ul class="_nav clearfix">
      <li :class="active==1?'_active':''" @click="active=1,msg.InvoiceApplyState=0,getPageList()">全部发票</li>
      <li :class="active==2?'_active':''" @click="active=2,msg.InvoiceApplyState=3,getPageList()">已开发票</li>
      <li :class="active==3?'_active':''" @click="active=3,msg.InvoiceApplyState=5,getPageList()">欠票发票</li>
    </ul>
    <div class="query-box">
      <el-form class="iis_info_box clearfix" label-width="110px">
        <el-row>
          <el-col :span="4" :gutter="35">
            <el-form-item label="团号">
              <el-input placeholder v-model="msg.TCNUM"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="4" :gutter="35">
            <el-form-item label="订单号">
              <el-input placeholder v-model="msg.OrderId"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="4" :gutter="35" v-if="active !== 3">
            <el-form-item label="单据状态">
              <el-select v-model="msg.InvoiceApplyState" filterable>
                <el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
                <el-option :value="1" label="申请中"></el-option>
                <el-option :value="2" label="取消"></el-option>
                <el-option :value="3" label="通过"></el-option>
                <el-option :value="4" label="拒绝"></el-option>
                <el-option :value="5" label="欠票"></el-option>
                <el-option :value="6" label="发票追回"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4" :gutter="35">
            <el-form-item label="公司">
              <el-select v-model="msg.RB_Branch_Id" filterable >
                <el-option :value="-1" :label="$t('pub.unlimitedSel')"></el-option>
                <el-option v-for='item in companyList' :label='item.BName' :value='item.Id' :key='item.Id'></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4" :gutter="35">
            <el-form-item label="发票类型">
              <el-select v-model="msg.InvoiceApplyType" filterable >
                <el-option :value="1" label="跟团游"></el-option>
                <el-option :value="2" label="签证"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8" :gutter="35">
            <el-form-item label="申请日期">
              <el-date-picker
                class="h34"
                @change="timeAdd"
                v-model="productionDate"
                type="daterange"
                value-format="yyyy-MM-dd"
                :range-separator="$t('restaurant.res_To')"
              ></el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <ul>
        <li>
          <button
            class="hollowFixedBtn"
            @click="resetPageIndex(),getPageList()"
          >{{$t('pub.searchBtn')}}</button>
          <!-- <button
            class="normalBtn"
            @click="goUrlAdd('invoicesManagerAdd')"
          >{{$t('pub.addBtn')}}</button> -->
        </li>
      </ul>
    </div>
    <table class="singeRowTable" style="border:1px solid #E6E6E6;" cellspacing="0" cellpadding="0">
      <tr>
        <th width="180">团号</th>
        <th>订单号</th>
        <th>销售</th>
        <th>客户</th>
        <th>开票金额</th>
        <th>差价</th>
        <th>申请日期</th>
        <th>状态</th>
        <th>操作</th>
      </tr>
      <template v-for="(item, index) in dataList" v-loading="loading">
        <tr>
          <td class="cursorpointer" @click="goUrlT('productQuery', item.TCNUM, '产品查询')" :rowspan="item.InvoiceApplyList.length">{{item.TCNUM}}({{item.TCID}})</td>
          <td class="cursorpointer" :rowspan="item.InvoiceApplyList.length" @click="goUrlO(item.OrderId)">{{item.OrderId}}</td>
          <td :rowspan="item.InvoiceApplyList.length">{{item.CreateByStr}}</td>
          <td :rowspan="item.InvoiceApplyList.length">{{item.CustomerName}}:{{item.CustomerContact}}</td>
          <td :rowspan="item.InvoiceApplyList.length">{{item.ApplyTotalPrice}}</td>
          <td :rowspan="item.InvoiceApplyList.length">
            <span>{{item.DpreadPrice - item.ApplyTotalPrice}}</span>
          </td>
          <td>{{item.InvoiceApplyList[0].CreateDate.replace('T', ' ')}}</td>
          <td>
            <span v-if="item.InvoiceApplyList[0].InvoiceApplyState === 1" class="status_Application">申请中</span>
            <span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 2" class="status_Cancle">已取消</span>
            <span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 3" class="status_Passed">已通过</span>
            <span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 4" class="status_Rejected">已拒绝</span>
            <span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 5" class="status_owe">欠票</span>
            <span v-else-if="item.InvoiceApplyList[0].InvoiceApplyState === 6" class="status_Recover">发票追回</span>
          </td>
          <td class="_icon_btn" style="text-align: left;padding-left: 20px">
            <el-tooltip class="item" effect="dark" :content="$t('fnc.chakan')"  placement="top">
              <i class="iconfont icon-sousuo"  @click="goIisDetail(item.InvoiceApplyList[0].ID)"></i>
            </el-tooltip>
            <el-tooltip class="item"  effect="dark" content="追回发票"   placement="top">
              <span v-if="item.ApplyTotalPrice!=0" class="_zhuihui" @click="zhuihui(item.OrderId)">追</span>
            </el-tooltip>
            <el-tooltip class="item"  effect="dark" content="确认追回"   placement="top">
              <!-- v-if="item.InvoiceApplyList[0].InvoiceApplyState === 5"  -->
              <i v-if="item.InvoiceApplyList[0].InvoiceApplyState === 5" class="iconfont icon-ico_commodity_defaul" @click="setStatus(item.InvoiceApplyList[0].ID, 6)"></i>
            </el-tooltip>
          </td>
        </tr>
        <tr v-for="(item2, index2) in item.InvoiceApplyList"  v-if="index2!==0">
          <td>{{item2.CreateDate.replace('T', ' ')}}</td>
          <td>
            <span v-if="item2.InvoiceApplyState === 1" class="status_Application">申请中</span>
            <span v-else-if="item2.InvoiceApplyState === 2" class="status_Cancle">已取消</span>
            <span v-else-if="item2.InvoiceApplyState === 3" class="status_Passed">已通过</span>
            <span v-else-if="item2.InvoiceApplyState === 4" class="status_Rejected">已拒绝</span>
            <span v-else-if="item2.InvoiceApplyState === 5" class="status_owe">欠票</span>
            <span v-else-if="item2.InvoiceApplyState === 6" class="status_Recover">发票追回</span>
          </td>
          <td class="_icon_btn" style="text-align: left;padding-left: 20px">
            <el-tooltip class="item" effect="dark" :content="$t('fnc.chakan')"  placement="top">
              <i class="iconfont icon-sousuo"  @click="goIisDetail(item2.ID)"></i>
            </el-tooltip>
            <el-tooltip class="item"  effect="dark" content="追回发票"   placement="top">
              <span v-if="item.ApplyTotalPrice!=0" class="_zhuihui" @click="zhuihui(item.OrderId)">追</span>
            </el-tooltip>
            <el-tooltip class="item"  effect="dark" content="确认追回"   placement="top">
              <!-- v-if="item2.InvoiceApplyState === 5" -->
              <i v-if="item2.InvoiceApplyState === 5" class="iconfont icon-ico_commodity_defaul" @click="setStatus(item2.ID, 6)"></i>
            </el-tooltip>
          </td>
        </tr>
      </template>
    </table>
    <div class="noDataNotice" v-if="dataList.length<1"><i class="iconfont icon-kong"></i> <p>没有找到你需要的数据</p></div>
    <div v-if="dataList.length>0">
      <el-pagination
          background
          @current-change="handleCurrentChange"
          :current-page.sync="currentPage"
          layout="total,prev, pager, next, jumper"
          :page-size='msg.pageSize'
          :total='total'>
      </el-pagination>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      active: 1,
      RB_Group_Id:'',
      companyList:[],
      msg: {
        TCID: 0,
        TCNUM: '',
        OrderId: 0,
        ApplyMoney: 0,
        AactualMoney: 0,
        CompanyName: '',
        InvoiceApplyState: 0,
        DutyParagraph:'',
        sDate: '',
        eDate: '',
        pageIndex: 1,
        pageSize: 10,
        InvoiceApplyType: 1,
        RB_Branch_Id:-1
      },
      productionDate: [],
      dataList: [],
      loading: false,
      currentPage: 0,
      total:0,
    };
  },
  methods: {
    zhuihui: function (OrderId) {
      this.$confirm('是否设置发票状态为追回?', this.$t('tips.tips'), {
          confirmButtonText: '确认',
          cancelButtonText: '取消',
          type: 'warning'
          }).then(() => {
            this.apipost('InvoiceApply_get_BatchUpdateInvoiceApply', {OrderId: OrderId}, res=>{
              if (res.data.resultCode == 1) {
                this.getPageList()
              }
             }, null)
          }).catch(() => {
      });
    },
    goIisDetail: function (id) {
      this.$router.push({
        name: 'invoicesManagerDetail',
        query: { id: id,InvoiceApplyType:this.msg.InvoiceApplyType,blank: "y",}
      });
    },
    setStatus: function (id, type) {
      let msg = {
        RefuseRemarks: '',
        ID: id,
        InvoiceApplyState: type,
      }
      this.$confirm('是否设置发票状态为已追回?', this.$t('tips.tips'), {
          confirmButtonText: '确认',
          cancelButtonText: '取消',
          type: 'warning'
          }).then(() => {
            this.apipost('InvoiceApply_get_UpdateInvoiceApply', msg, res=>{
              if (res.data.resultCode == 1) {
                this.getPageList()
              }
            }, null)
          }).catch(() => {
      });
    },
    timeAdd: function () {
      // 日期格式
      if (!this.productionDate) {
        this.msg.sDate = "";
        this.msg.eDate = "";
        return;
      }
      this.msg.sDate = this.productionDate[0];
      this.msg.eDate = this.productionDate[1];
    },
    getPageList: function () {
      this.loading = true
      if (this.msg.OrderId === '') {
        this.msg.OrderId = 0
      }
      this.apipost('InvoiceApply_get_GetGroupByInvoiceApplyList', this.msg, res=>{
        this.loading = false
        if (res.data.resultCode == 1) {
          this.total = res.data.data.count;
          this.dataList = res.data.data.pageData
        }

        if (this.msg.OrderId === 0) {
          this.msg.OrderId = ''
        }
      }, null)
    },
    goUrlAdd: function (path) {
      this.$router.push({
        name: path,
        query: { blank: "y",}
      });
    },
    goUrlT: function (path, obj, title){
	 	   this.$router.push({ name:path,query:{"id":obj,blank:'y',tab:title}})
    },
    goUrlO: function (OrderId) {
        this.$router.push({ name: 'enrollTotal', query: { id: OrderId, blank: 'y', tab: '报名统计'} });
    },
    handleCurrentChange: function (val) { //翻页
      this.msg.pageIndex = val;
      this.getPageList();
    },
    resetPageIndex: function (){  // 重置页码
      this.msg.pageIndex=1;
      this.currentPage = 1;
    },
    getBranchList(){

      this.RB_Group_Id = this.getLocalStorage().RB_Group_id;
      this.apipost('admin_get_BranchGetList', {RB_Group_Id:this.RB_Group_Id}, res=>{
        if (res.data.resultCode == 1) {
          this.companyList=res.data.data;
        }
      }, null)
    }
  },
  mounted() {
    this.getPageList();
    this.getBranchList();
  }
};
</script>