<style scoped>
  .page_fnDm{background-color: white}
  .query-box{overflow: inherit;padding-bottom: 0;}
  ._nav{margin: 20px 0 0 0 ;background-color: #f5f5f5;}
  ._nav li{float: left;font-size: 14px;color: #666666;padding: 15px 20px;cursor: pointer;position: relative;background-color: #f1f1f1;margin-right: 5px}
  ._nav li._active{background-color:#FFFFFF;color: #333333 }
  ._nav li._active::after{content: "";width: 20px;height: 3px;background-color: #E95252;display: inline-block;position: absolute;bottom: 0;left: 38%;}
  .el-range-editor.el-input__inner{border-radius: 0}
  .query-box{border: none}
  .hight_query{position: relative;}
  .hight_query span{height: 34px;line-height: 34px;color: #E95252}
  .hight_query span .icon-gengduo{font-size: 12px}
  .hight_query span em{text-decoration: underline;cursor: pointer;}
  .hight_query_box{position: absolute;background-color: white;z-index: 2000;right: 200px;width: 800px;}
  ._hqb_shadow{box-shadow:3px 2px 10px rgb(204, 203, 203);border: 1px solid #ececec;}
  .query-box ul {overflow: initial;}
  .hqb_t{padding: 10px 20px;font-size: 16px;background-color: #E95252;border: 1px solid #E95252;color: #fff;text-align: center;margin-bottom: 15px}
  .query-box li:last-child{float: left}
  .query-box>ul>li:last-child{float: right;}
  .query-box .hight_query ul .el-input{width: inherit  }
  .hight_query_box ul li{margin-top: 0;float: left;margin-right: 15px}
  .hight_query_box ul li label{font-size: 14px}
  .hight_query_box .el-form{padding: 0 20px}
  .hight_query_box ul li._hqb_btn{float: right;margin-right: 25px;padding-top: 5px;position: inherit}
  .Receipt_box{padding: 15px;color: #c94052;width: 614px;background-color: rgba(242, 242, 242, 1);border: 1px solid rgba(228, 228, 228, 1)}
  .Receipt_box.color_blur{color: #106BAF;}
  .Receipt_box.color_blur .rb_stit span{display: inline-block;border-bottom: 2px solid #106BAF;padding: 0 20px}
  .rb_tit{font-size: 18px;text-align: center}
  .rb_stit{font-size: 14px;text-align: center}
  .rb_stit span{display: inline-block;border-bottom: 2px solid #C94052;padding: 0 20px}
  .rb_top_row{display: flex;justify-content: space-between;font-size: 12px;}
  .rb_top_row span._r_name{color: #333333}
  .rb_top_row span._r_bold{font-weight: bold}
  .rb_top_row ._r_time span{color: #333333}
  ._r_mb5{margin-bottom: 5px;}
  .Receipt_table{width: 100%;font-size: 14px;text-align: center}
  .Receipt_table .th{font-weight: 200 !important}
  ._r_mt10{margin-top: 10px;}
  ._bg__{display: inline-block;padding: 2px 8px;color: white;border-radius: 4px}
  ._bg_red{background-color: #E95252;}
  ._bg_green{background-color: #2BB87C}
  .text_d{text-decoration: underline;cursor: pointer;}
  .PingFangSC{font-weight: bold}
  .Bill_par{position: relative;}
  tr th,tr td{text-align: left;padding-left: 20px;}
  tr._item_list{border-bottom: 1px solid #E5E5E5;height: 78px;}
  tr._item_list td{border-bottom: 1px solid #e5e5e5;    padding: 10px;}
  /* tr._t_head th{border-top: 1px solid #e5e5e5;} */
  tr._item_list td:first-child{border-left: 1px solid #e5e5e5;}
  tr._item_list td:last-child{border-right: 1px solid #e5e5e5;}
  ._head_img{width: 28px;height: 28px;border-radius: 50%;vertical-align:middle;}
  ._btn_group{font-size: 14px;}
  .icon-daiqueren{color: #4BCA81}
  .icon-yiqueren{color: #4BCA81}
  .icon-yiquxiao{color: #959595}
  .icon-shenhebohui{color: #E95252}
  .icon-icon-zancun{color: #FF9C01}
  .singeRowTable tr:hover{background-color: white}
  ._TradeWayList{padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width: 190px}
  ._bold{font-weight: bold}
  ._bank_name,._bank_type{display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;}
  ._bank_name{margin-left: 10px;}
  ._bank_type{background-color: #2AAEF2}
  ._bank_type2{background-color: #FF9C01}
  ._font_init{color: #333333;font-size: 12px;vertical-align:top;}
  .InfoChangeLog{height: auto;max-height: 220px;background-color: #FFFFFF;}
  .changLogList{padding-left: 20px;max-height: 180px;overflow: auto;}
  .changLogList_l{border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;}
  ._radius_green{background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;}
  .changLog_time{color: #666666;font-size: 12px;display: inline-block;padding-right: 10px}
  ._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;}
  ._icon_btn i.edit{background-color: #00C6FF;font-size: 16px;}
  ._icon_btn i.edit:hover{background-color: #59daff}
  ._icon_btn i.edit:active{background-color: #00b8ec}
  ._icon_btn i.icon-sousuo{background-color: #47BF8C;}
  ._icon_btn i.icon-sousuo:hover{background-color: #66bb97}
  ._icon_btn i.icon-sousuo:active{background-color: #35ab79}
  ._icon_btn i.icon-ico_commodity_defaul{background-color: #F16C3C;}
  ._icon_btn i.icon-ico_commodity_defaul:hover{background-color: #e87c54}
  ._icon_btn i.icon-ico_commodity_defaul:active{background-color: #f76630}
  ._icon_btn i.icon-quxiao1{background-color: #E95252;}
  ._icon_btn i.icon-quxiao1:hover{background-color: #ea6d6d}
  ._icon_btn i.icon-quxiao1:active{background-color:#e42d2d}
  ._icon_btn i.icon-zhuanjiao1{background-color: #E6A014;font-size: 16px;}
  ._icon_btn i.icon-zhuanjiao1:hover{background-color: rgb(235, 184, 84)}
  ._icon_btn i.icon-zhuanjiao1:active{background-color: rgb(223, 150, 6)}
  ._tag_span{background-color: rgba(64,158,255,.1);display: inline-block;padding: 0 5px;height: 22px;line-height: 20px;font-size: 12px;color: #409eff;border-radius: 4px;box-sizing: border-box;border: 1px solid rgba(64,158,255,.2);white-space: nowrap;margin-bottom: 4px;}
  ._tag_span._tag_warr{background-color: rgba(103,194,58,.1);border-color: rgba(103,194,58,.2);color: #67c23a;}
  ._fex_cen{display: flex;align-items: center}
  ._pad5{padding: 5px 10px;}
  ._color_gar{color: gray}
  ._TCIDAndTCNUMList{
    display: flex;
  }
</style>

<template>
  <div class="page_fnDm page_RecPayQuery">
    <div class="query-box">
      <el-form class="_info_box clearfix"  label-width="110px">
        <el-row style="padding:15px 20px 0 0;">
          <el-col :span="4">
            <el-form-item label="出团公司：">
              <el-select  filterable  v-model='msg.OutBranchId' class="">
                <el-option :value="-1" label="不限"></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">
            <el-form-item label="出发城市：">
              <el-select  filterable  v-model='msg.StartCityId'  class="">
                <el-option :value="0" label="不限"></el-option>
                <el-option
                  v-for="item in startCityList1"
                  :label='item.startCityName'
                  :value='item.ID'
                  :key='item.ID'>
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item label="线路：">
              <el-select  filterable  v-model='msg.LineId' @change="getLineTeamList(msg.LineId)">
                <el-option :value="0" label="不限"></el-option>
                <el-option
                  v-for="item in LineList"
                  :label='item.LineName'
                  :value='item.LineID'
                  :key='item.LineID'>
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item label="系列：">
              <el-select  filterable  v-model='msg.LineTeamId'  class="">
                <el-option :value="0" label="不限"></el-option>
                <el-option
                  v-for="item in LineTeamList"
                  :label='item.LtName'
                  :value='item.LtID'
                  :key='item.LtID'>
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item label="团号：">
              <el-input v-model="msg.TCNUM" class=""></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item label="团队编号：">
              <el-input v-model="msg.TCID" class=""></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="发团日期：">
              <el-date-picker class="h34"
                              @change="timeAdd"
                              v-model="productionDate"
                              type="daterange"
                              value-format="yyyy-MM-dd"
                              :picker-options="pickerOptions"
                              range-separator="至">
              </el-date-picker>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
      <ul class="clearfix">
        <li class="hight_query">
          <button class="normalBtn" @click="resetPageIndex(),getPageList()">{{$t('pub.searchBtn')}}</button>
          <button class="hollowFixedBtn" @click="method5()">导出</button>
          <!--<button class="hollowFixedBtn" @click="exportExcelCurrentPage">导出2</button>-->
        </li>
      </ul>
    </div>
    <div class="_fnDm_content" v-loading='loading'>
      <v-table
        is-horizontal-resize
        column-width-drag
        :show-vertical-border='true'
        style="width:100%"
        :columns="columns"
        :table-data="DataList"
        :filter-method="filterMethod"
        :total='total'
        :pageSize='msg.pageSize'
        :pageIndex='msg.pageIndex'
        :handleCurrentChange='handleCurrentChanges'
        :row-height='30'
        :column-cell-class-name="columnCellClass"
        @on-custom-comp="customCompFunc"
        @sort-change="sortChange"
        :footer="footer"
        :footer-row-height="33"
        :multiple-sort='multipleSort'><!-- 多个排序 -->
      </v-table>
    </div>
  </div>
</template>
<script>
  import Vue from 'vue';
  import XLSX from 'xlsx';
  import downloadExcelEasy from '../../../assets/utils/downloadExcelEasy';
  import { setTimeout } from 'timers';
  Vue.component('TCIDJump',{  //  团队跳转
    template:`<span style="cursor: pointer" @click="goUrl('TeamBalancePayment',rowData.TCID)">{{rowData.TCID}}</span>`,
    props:{
      rowData:{
        type:Object
      },
      field:{
        type:String
      },
      index:{
        type:Number
      }
    },
    methods:{
      goUrl(path,id){
        this.$router.push({
          path: '/' + path,
          query: {id:id,blank:'y'}
        })
      },
    }
  });
  Vue.component('TCNUMJump',{  //  团队跳转
    template:`<span style="cursor: pointer" @click="goUrl('productQuery',rowData.TCNUM)">{{rowData.TCNUM}}</span>`,
    props:{
      rowData:{
        type:Object
      },
      field:{
        type:String
      },
      index:{
        type:Number
      }
    },
    methods:{
      goUrl(path,id){
        this.$router.push({
          path: '/' + path,
          query: {id:id,blank:'y'}
        })
      },
    }
  });
  Vue.component('GuestNum',{  // 人数
    template:`<span>{{rowData.GuestNum}}+{{rowData.LeaderNum}}</span>`,
    props:{
      rowData:{
        type:Object
      },
      field:{
        type:String
      },
      index:{
        type:Number
      }
    },
  });
  Vue.component('Transport',{  //  是否联运团
    template:`<span><span v-if="rowData.Is_Transport==='是'" style="color: red;">{{rowData.Is_Transport}}</span><span v-else>{{rowData.Is_Transport}}</span></span>`,
    props:{
      rowData:{
        type:Object
      },
      field:{
        type:String
      },
      index:{
        type:Number
      }
    },
  });
  export default {
    data(){
      return{
        showID:false,
        active:1,
        userId:0,
        msg:{
          pageIndex:1,
          pageSize:18,
          OutBranchId:'',
          StartCityId:'',
          LineId:'',
          LineTeamId:'',
          TCID:'',
          startDate:'',
          endDate:'',
        },
        getCompanyMsg:{  // 公司
          RB_Group_Id:'0',
          Status:'0',
        },
        DataList:[],
        CompanyList:[],
        productionDate:[],
        loading:false,
        currentPage:1,
        total:0,
        tableData: [],
        LineList:[],
        LineTeamList:[],
        startCityList1:[],
        multipleSort:false,
        defaultMonth:[],
        pickerOptions: {
          onPick: ({ maxDate, minDate }) => {
            this.choiceDate = minDate.getTime()
            if (maxDate) {
              this.choiceDate = ''
            }
          },
          disabledDate: (time) => {
            if (this.choiceDate) {
              const one = 90 * 24 * 3600 * 1000;
              const minTime = this.choiceDate - one;
              const maxTime = this.choiceDate + one;
              return time.getTime() < minTime || time.getTime() > maxTime
            }
          }
        },
        columns: [
          // 团队编号、团号 点击跳转团控列表
          {field: 'LineName', title: '线路' , width: 80, titleAlign: 'left',columnAlign:'left',isResize:true,result:[],type:'select',isFrozen:true,},
          {field: 'TCID', title: '团队编号', width: 80, titleAlign: 'left',columnAlign:'left',isResize:true,isFrozen:true, componentName:'TCIDJump'},
          {field: 'TCNUM', title: '团号', width: 150, titleAlign: 'left',columnAlign:'left',isResize:true,result:'',filterMultiple:false,type:'text',isFrozen:true, componentName:'TCNUMJump'},
          {field: 'Is_Transport', title: '是否有联运支出', width: 80, titleAlign: 'left',columnAlign:'left',isResize:true,isFrozen:true, componentName:'Transport' },
          {field: 'YingShou',formatter:this.moneyFormat, title: '应收金额', width: 100, titleAlign: 'left',columnAlign:'left',isResize:true},//,orderBy:''
          {field: 'ShiShou',formatter:this.moneyFormat, title: '实收金额',width: 100, titleAlign: 'left',columnAlign:'left',isResize:true,},
          {field: 'TuiKuan',formatter:this.moneyFormat, title: '退款',width: 100, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'PingTaiShuiJin',formatter:this.moneyFormat, title: '平台税金',width: 100, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'DaiShou',formatter:this.moneyFormat, title: '待收金额',width: 100, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'YiShou',formatter:this.moneyFormat, title: '溢收金额',width: 100, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'GuestNum', title: '人数',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true,componentName:'GuestNum'},
          {field: 'YaoQingHan',formatter:this.moneyFormat, title: '邀请函',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'CheZi',formatter:this.moneyFormat, title: '车资',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'JiPiao',formatter:this.moneyFormat, title: '机票款',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'GuoNeiLianYunJiPiao',formatter:this.moneyFormat, title: '国内联运机票',width: 120, titleAlign: 'left',columnAlign:'left',isResize:true},
          // {field: 'Money11', title: '房费',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'Visa',formatter:this.moneyFormat, title: '签证',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'QiTa',formatter:this.moneyFormat, title: '其他',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'DiJieZhiChu',formatter:this.moneyFormat, title: '地接款支出',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'DiJieShouRu',formatter:this.moneyFormat, title: '地接款收入',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'ZiFei',formatter:this.moneyFormat, title: '自费收入',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'XiaoFeiShouRu',formatter:this.moneyFormat, title: '小费收入',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'YongJinShouRu',formatter:this.moneyFormat, title: '佣金收入',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'YingFu',formatter:this.moneyFormat, title: '应付金额',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'MaoLi',formatter:this.moneyFormat, title: '毛利',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'MaoLiRate',formatter:this.moneyFormat, title: '毛利率',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'ShiJiLiRun',formatter:this.moneyFormat, title: '实际利润',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'Remark',formatter:this.moneyFormat, title: '备注',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'BName', title: '公司别',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportCD', title: '成都',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportKM', title: '昆明',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportCQ', title: '重庆',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportWH', title: '武汉',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportXA', title: '西安',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportCS', title: '长沙',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportGY', title: '贵阳',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportNC', title: '南昌',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportXM', title: '厦门',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportLZ', title: '兰州',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportNJ', title: '南京',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportWT', title: '微途',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportHF', title: '合肥',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportNN', title: '南宁',width: 50, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TransportCost',formatter:this.moneyFormat, title: '联运成本',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'YingYeE',formatter:this.moneyFormat, title: '营业额',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'GRPNum', title: 'GRP',width: 60, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'TKTNum', title: 'TKT',width: 60, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'VisaNum', title: 'VISA',width: 60, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'ZiYouXingNum', title: '自由行',width: 60, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'DiJieNum', title: '地接',width: 60, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'HotelNum', title: '酒店',width: 60, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'DanTuanNum', title: '单团',width: 60, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'HuZhaoNum', title: '护照',width: 60, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'AverageIncome',formatter:this.moneyFormat, title: '平均收入',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'AverageCost',formatter:this.moneyFormat, title: '平均成本',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
          {field: 'AverageProfit',formatter:this.moneyFormat, title: '平均利润',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
        ],
        footer: [],
        pageSize:6,
        pageIndex:1,
      }
    },
    created(){

    },
    components: {
    },
    mounted(){
      let userInfo=this.getLocalStorage();
      this.getCompanyMsg.RB_Group_Id=  userInfo.RB_Group_id;    //集团ID
      this.userId = userInfo.EmployeeId;
      this.getCompanyList();
      this.getPageList();
      this.getLineList();
      this.getStartList1();
    },
    methods:{
      method5: function() {
        let msg = JSON.parse(JSON.stringify(this.msg));
        delete msg.pageIndex;
        delete msg.pageSize;
        msg.EmployeeId = this.userId;
        this.GetLocalFile("financestatistics_post_OutToExcelChangeRevenueReportList", msg,"营收变更报表.xls");
      },
      exportExcelCurrentPage(){
        //待实现
        // 导出文件名
        let xlsxName = '团队营收报表';
        // 数据源
        let dataSource = this.DataList;
        let data=[];
        // 创建表头数据
        data.push(['线路','团队编号','团号','是否有联运支出','应收金额','实收金额','退款',
          '平台税金','待收金额','溢收金额','人数','邀请函','车资','机票款','国内联运机票',
          '签证','其他','地接款支出','地接款收入','自费收入','免税店收入','LAOX收入',
          'AKKYONE收入','珠宝店收入','高岛屋收入','乳胶收入','TOKIS收入','应付金额','毛利','毛利率',
          '实际利润','备注','公司别','成都','昆明','重庆','武汉','西安','长沙','贵阳','南昌','厦门',
          '兰州','南京','微途','联运成本','营业额','GRP','TKT','VISA','自由行','地接','酒店','单团',
          '护照','平均收入','平均成本','平均利润']);
        downloadExcelEasy.downLoad(data[0],dataSource,this.footer);
        return;
        let wscols = {};
        // 每列的宽度
        wscols=[];

        // 组装表格内容
        dataSource.forEach((x,index)=>{
          let obj=[];
          obj.push(x.FrID+" ");
          obj.push(x.TCNUM);
          obj.push(x.TCID);
          obj.push('否');
          for (let i = 0 ; i <= data[0].length-5 ; i++ ) {
            obj.push(Math.random()*9999);
          }
          data.push(obj);
          if(index===dataSource.length-1){
            let obj=[];
            this.footer[0].forEach(x=>{
              obj.push(x);
            });
            data.push(obj);
          }
        });
        let colName=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
          'AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ',
          'BA','BB','BC','BD','BE','BF'];
        const ws = XLSX.utils.aoa_to_sheet(data);
        ws['!cols'] = wscols;
        ws['!rows'] =[];
        // colName.forEach((x,index)=>{
        //   wscols.push({wpx: 100})
        // });
        // dataSource.forEach((x,index)=>{
        //   if(index===dataSource.length)
        //     ws['!rows'].push({ hpx:30 });
        //   else
        //     ws['!rows'].push({});
        // });
        const wb = XLSX.utils.book_new();
        XLSX.utils.book_append_sheet(wb, ws, xlsxName);
        var dataInfo = wb.Sheets[wb.SheetNames[0]];

        // return
        data[0].forEach((x,i)=>{
          dataInfo[colName[i]+'1'].s={
            fill: { fgColor: { rgb: "#ffff00"}},
            font: {
              name: '微软雅黑',
              sz: 32,
              color: { rgb: "#ffff00"},
              bold: true,
              italic: true,
              underline: true
            },
            alignment: {
              horizontal: "center",
              vertical: "center"
            }
          }
        });

        XLSX.writeFile(wb, xlsxName + ".xlsx")
      },
      moneyFormat(rowData,rowIndex,pagingIndex,field){
        if(field === 'YingShou') return this.priceFormat(rowData.YingShou);
        if(field === 'ShiShou') return this.priceFormat(rowData.ShiShou);
        if(field === 'TuiKuan') return this.priceFormat(rowData.TuiKuan);
        if(field === 'PingTaiShuiJin') return this.priceFormat(rowData.PingTaiShuiJin);
        if(field === 'DaiShou') return this.priceFormat(rowData.DaiShou);
        if(field === 'YiShou') return this.priceFormat(rowData.YiShou);
        if(field === 'YaoQingHan') return this.priceFormat(rowData.YaoQingHan);
        if(field === 'CheZi') return this.priceFormat(rowData.CheZi);
        if(field === 'JiPiao') return this.priceFormat(rowData.JiPiao);
        if(field === 'GuoNeiLianYunJiPiao') return this.priceFormat(rowData.GuoNeiLianYunJiPiao);
        if(field === 'Visa') return this.priceFormat(rowData.Visa);
        if(field === 'QiTa') return this.priceFormat(rowData.QiTa);
        if(field === 'DiJieZhiChu') return this.priceFormat(rowData.DiJieZhiChu);
        if(field === 'DiJieShouRu') return this.priceFormat(rowData.DiJieShouRu);
        if(field === 'ZiFei') return this.priceFormat(rowData.ZiFei);
        if(field === 'MianShuiDian') return this.priceFormat(rowData.MianShuiDian);
        if(field === 'XiaoFeiShouRu') return this.priceFormat(rowData.XiaoFeiShouRu);
        if(field === 'YongJinShouRu') return this.priceFormat(rowData.YongJinShouRu);
        if(field === 'YingFu') return this.priceFormat(rowData.YingFu);
        if(field === 'MaoLi') return this.priceFormat(rowData.MaoLi);
        if(field === 'MaoLiRate') return this.priceFormat(rowData.MaoLiRate);
        if(field === 'ShiJiLiRun') return this.priceFormat(rowData.ShiJiLiRun);
        if(field === 'TransportCost') return this.priceFormat(rowData.TransportCost);
        if(field === 'YingYeE') return this.priceFormat(rowData.YingYeE);
        if(field === 'AverageIncome') return this.priceFormat(rowData.AverageIncome);
        if(field === 'AverageCost') return this.priceFormat(rowData.AverageCost);
        if(field === 'AverageProfit') return this.priceFormat(rowData.AverageProfit);
      },
      setFooterCellClass(rowIndex, colIndex, value){
        if (colIndex === 0) {
          return 'footer-cell-class-name-title'
        } else {
          return 'footer-cell-class-name-normal'
        }
      },
      priceFormat(value) {
        if(value==null){
          return 0.00;
        }
        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;
      },
      columnCellClass(rowIndex,columnName,rowData){
        // 给三行column为‘hobby’的列设置className
        if (columnName === 'LineName'){
          return 'column-cell-class-name-test';
        }
        if (columnName === 'TCNUM'){
          return 'column-cell-class-name-test2';
        }
        if (columnName === 'TCID'){
          return 'column-cell-class-name-test3';
        }
        if (columnName === 'islianyun'){
          return 'column-cell-class-name-test4';
        }
        if (rowIndex === 18) {
          return 'column-cell-class-name-test-row';
        }
      },
      getStartList1() {// 获取出发城市
        this.apipost("city_post_GetList", {
          isDefault: -1,
          priceType: -1
        }, res => {
          if(res.data.resultCode == 1) {
            this.startCityList1 = res.data.data;
          } else {
          }
        });
      },
      getLineTeamList(lineId) { //获取系列列表
        this.LineTeamList = [];
        this.apipost(
          "team_post_GetList",
          {
            lineID: lineId,
            isTOOP: 1
          },
          res => {
            if (res.data.resultCode == 1) {
              this.msg.LineTeamId = "-1";
              this.LineTeamList = res.data.data;
            }
          }
        );
      },
      getLineList() {  // 获取线路
        this.apipost("line_post_GetAllList", {}, res => {
          if (res.data.resultCode == 1) {
            this.LineList = res.data.data;
          } else {
            this.$message.error(res.data.message);
          }
        });
      },
      customCompFunc(param){
      
      },
      compare(property,type){  // 升序  t 1升 2降
        if(type===1){
          return function(a,b){
            let value1 = a[property];
            let value2 = b[property];
            return value1 - value2
          }
        }else {
          return function(a,b){
            let value1 = a[property];
            let value2 = b[property];
            return value2 - value1;
          }
        }
      },
      sortChange(param ) {
  
        let data = '';
        if ( param.YingShou==='asc' ) {
          data = JSON.parse(JSON.stringify(this.DataList));
          this.DataList.sort(this.compare('YingShou',1))
        } else if ( param.YingShou==='desc' ) {
          this.DataList.sort(this.compare('YingShou',2))
        } else {
          this.DataList = data;
        }
        //自己写实现
        //{gender:"",name:"asc"}
      },
      // 数据筛选
      filterMethod(filters){
      },
      handleCurrentChanges(val){
        this.pageIndex = this.msg.pageIndex = val;
        this.getPageList();
      },
      getPageList(){  // 获取列表数据
        this.loading = true;
        let _this = this;
        if(!this.msg.OutBranchId && this.msg.OutBranchId!==0)this.msg.OutBranchId=-1;
        if(!this.msg.StartCityId)this.msg.StartCityId=0;
        if(!this.msg.LineId)this.msg.LineId=0;
        if(!this.msg.LineTeamId)this.msg.LineTeamId=0;
        if(!this.msg.TCID)this.msg.TCID=0;
        this.apipost('financestatistics_post_GetChangePageList',this.msg,res=>{
          if(res.data.resultCode == 1) {
            let data = res.data.data.pageData;
            this.total = res.data.data.count;
            if(this.total==0){
              this.DataList=[];
            }else{
              let newData = [];
              data.forEach((x, index) => {
                if (index !== (data.length-1)) {
                  x.Is_Transport = x.Is_Transport === 0 ? '否':'是';
                  newData.push(x);
                } else {
                  x.LineName = '合计';
                  x.TCID = '';
                  x.TCNUM = '';
                  x.Is_Transport = '';
                  x.BName = '';
                  newData.push(x);
                }
              });
              this.DataList = newData;
            }
            this.loading=false;
          }else{
            this.loading= false;
            this.$message.error(res.data.message);
          }
          if(this.msg.OutBranchId=-1)this.msg.OutBranchId=-1;
          if(!this.msg.StartCityId)this.msg.StartCityId=0;
          if(!this.msg.LineId)this.msg.LineId=0;
          if(!this.msg.LineTeamId)this.msg.LineTeamId=0;
          if(!this.msg.TCID)this.msg.TCID='';
        },err=>{})
      },
      getCompanyList(){ //获取公司列表
        this.apipost('admin_get_BranchGetList',this.getCompanyMsg,res=>{
          if(res.data.resultCode==1){
            this.CompanyList=res.data.data;
          }else{}
        },err=>{})
      },
      timeAdd(){  // 日期格式
        if(!this.productionDate){
          this.msg.startDate = '';
          this.msg.endDate = '';
          return
        }
        this.msg.startDate = this.productionDate[0];
        this.msg.endDate = this.productionDate[1];
      },
      handleCurrentChange(val) { //翻页
        this.msg.pageIndex = val;
        this.getPageList();
      },
      resetPageIndex(){  // 重置页码
        this.msg.pageIndex=1;
        this.currentPage = 1;
      }
    }

  }
</script>
