<style scoped>
  /deep/.el-table th.el-table__cell {
    background-color: #E6E6E6;
  }


.recpayQueryMore{margin:10px 0px 5px 0px;text-align:center;cursor: pointer;}

.page_RecPayQuery .el-form-item{
  margin-bottom:5px;
}
</style>

<template>
  <div class="page_fnDm page_RecPayQuery" @keyup.enter="resetPageIndex(),getPageList()">
    <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="$t('fnc.danhao')">
              <el-input placeholder="" class="" v-model="msg.FrID" @keyup.native="checkInteger(msg,'FrID')"
                maxlength="8"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item :label="$t('scen.sc_temID')">
              <el-input v-model="msg.TCNUM" class=""></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="4">
              <el-form-item :label="$t('fnc.feiyongleixing')">
                <el-select filterable multiple reserve-keyword collapse-tags clearable v-model='msg.CostTypeIDList'>
                  <el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
                  <el-option v-for="item in GetCostTypeList" :key="item.ID" :value="item.ID" :label="item.Name">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
          <el-col :span="4">
            <el-form-item :label="$t('fnc.ssuogongsi')">
              <el-select filterable v-model='msg.RB_Branch_Id'
                @change="getDepartmentMsg.RB_Branch_Id=msg.RB_Branch_Id,msg.RB_Depart_Id='',msg.UpdateBy='',getDepartment()"
                class="">
                <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">
            <el-form-item :label="$t('fnc.zdrenyuan')">
              <el-select filterable v-model='msg.UpdateBy' class="">
                <el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
                <el-option v-for='item in EmployeeList' :label='item.EmName' :value='item.EmployeeId'
                  :key='item.EmployeeId'>
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item :label="$t('fnc.djleixing')">
              <el-select filterable v-model='msg.Type' class="">
                <el-option key="-1" value="-1" :label="$t('pub.unlimitedSel')"></el-option>
                <el-option key="1" value="1" :label="$t('restaurant.res_income')"></el-option>
                <el-option key="2" value="2" :label="$t('restaurant.res_outcome')"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <template v-if="heightQueryBox">
            <el-col :span="4">
            <el-form-item :label="$t('fnc.fybumen')">
              <el-select filterable v-model='msg.RB_Depart_Id'
                @change="employeeMsg.DepartmentId=msg.RB_Depart_Id,getEmployee(),msg.UpdateBy=''" class="">
                <el-option :value="0" :label="$t('pub.unlimitedSel')"></el-option>
                <el-option v-for='item in DepartmentList' :label='item.DepartmentName' :value='item.DepartmentID'
                  :key='item.DepartmentID'>
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('fnc.zhleixing')">
                <el-select filterable v-model='msg.AccountType'>
                  <el-option value="" :label="$t('pub.unlimitedSel')"></el-option>
                  <el-option v-for='item in AccList' :label='item.Name' :value='item.ID' :key='item.ID'>
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('tips.jiaoyifangshi')">
                <el-select filterable v-model='msg.TradeWay'
                  @change="getAccountList(msg.AccountType,msg.TradeWay),msg.ClientID=''">
                  <el-option value="0" :label="$t('pub.unlimitedSel')"></el-option>
                  <el-option v-for='item in BranchAccountList' :label='item.Name' :value='item.ID' :key='item.ID'>
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('fnc.sfkzhanghu')">
                <el-select filterable v-model='msg.BankID'>
                  <el-option value="" :label="$t('pub.unlimitedSel')"></el-option>
                  <el-option v-for='item in accountList' :label='item.Name' :value='item.ID' :key='item.ID'>
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('fnc.fkduixiang')">
                <el-select
    v-model="msg.ClientID"
    filterable
    remote
    reserve-keyword
    :placeholder="$t('objFill.v101.FinancialModule.qingsrgjzcx')"
    :remote-method="GetClientAccountListByKeyWord"
    >
    <el-option value="" :label="$t('pub.unlimitedSel')"></el-option>
    <el-option v-for='item in ClientAccountList'
                                    :label='`${item.AccountAlias}(${item.AccountHolder}/${item.CardNum})`'
                                    :value='item.ID'
                                    :key='item.ID'>
                                    <div>
                                      <span>{{`${item.AccountAlias}(${item.AccountHolder}/${item.CardNum})`}}</span>
                                      <span style="margin-left: 15px;">
                                        <el-tag size="mini" v-if="item.Status==1">{{$t('pub.fressSel')}}</el-tag>
                                      </span>
                                    </div>
                                </el-option>
  </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('system.table_rank')">
                <el-select filterable v-model='msg.Sort'>
                  <el-option key="-1" value="-1" :label="$t('pub.unlimitedSel')"></el-option>
                  <el-option key="0" value="0" :label="$t('fnc.tuanqi')"></el-option>
                  <el-option key="1" value="1" :label="$t('fnc.hkriqi')"></el-option>
                  <el-option key="2" value="2" :label="$t('fnc.danhao')"></el-option>
                  <el-option key="3" value="3" :label="$t('fnc.jylshuihao')"></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('fnc.mbleixing')">
                <el-select v-model="msg.TemplateId" filterable>
                  <el-option value="0" :label="$t('pub.unlimitedSel')"></el-option>
                  <el-option v-for='item in TemplateGetList' :label='item.Name' :value='item.Id' :key='item.Id'>
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('fnc.shzhuangtai')">
                <el-select filterable v-model='msg.Status' class="">
                  <el-option key="-1" value="-1" :label="$t('pub.unlimitedSel')"></el-option>
                  <el-option key="0" value="0" :label="$t('fnc.zancun')"></el-option>
                  <el-option key="1" value="1" :label="$t('fnc.a_shezhong')"></el-option>
                  <el-option key="2" value="2" :label="$t('visa.v_tongguo')"></el-option>
                  <el-option key="3" value="3" :label="$t('fnc.bohui')"></el-option>
                  <el-option key="4" value="4" :label="$t('active.cl_zuofei')"></el-option>
                  <el-option key="5" value="5" :label="$t('fnc.a_cnzancun')"></el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('fnc.bzleixing')">
                <el-select filterable v-model='msg.CurrencyId'>
                  <el-option key="0" value="0" :label="$t('pub.unlimitedSel')"></el-option>
                  <el-option v-for="item in currencyTypeList" :key="item.ID" :value="item.ID" :label="item.Name">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>
            <el-col :span="4">
              <el-form-item :label="$t('fnc.ddbianhao')">
                <el-input v-model="msg.OrderID"></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item :label="$t('fnc.jine')">
                <el-switch
  v-model="msg.QMoneyType"
  :active-text="$t('fnc.yuanbi')"
  active-value="1"
  active-color="#13ce66"
  inactive-color="#ff4949"
  :inactive-text="$t('fnc.bweibi')"
  inactive-value="0">
</el-switch>
                <!--  @keyup.native="checkPrice(msg,'sMoney')" -->
                <!--  @keyup.native="checkPrice(msg,'eMoney')" -->
                <el-input v-model="msg.sMoney" type="Number" class="w64d5"></el-input>-
                <el-input v-model="msg.eMoney" type="Number" class="w64d5"></el-input>
              </el-form-item>
            </el-col>

            <el-col :span="5">
              <el-form-item :label="$t('fnc.zdriqi')">
                <!-- <el-date-picker class="h34" @change="timeAdd(1)" v-model="productionDate" type="daterange"
                  value-format="yyyy-MM-dd">
                </el-date-picker> -->
                <StartDateLimit :clearable="false" :dateTime="productionDate" @change="(startDate,endDate)=>{msg.sDate=startDate,msg.eDate=endDate}"></StartDateLimit>
              </el-form-item>
            </el-col>
            <el-col :span="5">
              <el-form-item :label="$t('fnc.jiaoyiriqi')">
                <el-date-picker class="h34" v-model="transactionDate" @change="timeAdd(3)" type="daterange"
                  value-format="yyyy-MM-dd">
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="5">
              <el-form-item :label="$t('scen.sc_ftTime')">
                <el-date-picker class="h34" v-model="missionDate" @change="timeAdd(4)" type="daterange"
                  value-format="yyyy-MM-dd">
                </el-date-picker>
              </el-form-item>
            </el-col>
            <el-col :span="5">
              <el-form-item :label="$t('objFill.remarkquery')">
                <el-input v-model="msg.Remark"></el-input>
              </el-form-item>
            </el-col>
          </template>
        </el-row>
      </el-form>
      <ul class="clearfix">
        <li class="hight_query">
          <span style="font-size: 13px;color: red;cursor: pointer;">
            <em @click.stop="heightQueryBox=!heightQueryBox">{{$t('visa.v_gjchaxun')}} <i class="iconfont icon-gengduo"
                style="font-size: 12px;"></i></em>
          </span>
          <button class="hollowFixedBtn" @click="resetPageIndex(),getPageList()">{{$t('pub.searchBtn')}}</button>
          <el-button :loading="loadingDC" class="normalBtn" @click="method5()">{{$t('visa.v_daochu')}}</el-button>
        </li>
      </ul>
    </div>
    <div class="_fnDm_content" v-loading='loading'>
      <el-table ref="multipleTable" :data="DataList" tooltip-effect="dark" style="width: 100%"
      @selection-change="handleSelectionChange"
      row-key="FrID">
        <el-table-column v-if="isBatchPrinting"
          :reserve-selection="true"
          type="selection"
          width="55">
        </el-table-column>
        <el-table-column prop="address" :label="$t('fnc.danhao')" width="90">
          <template slot-scope="scope">
            <el-popover popper-class="detailsIT_Journal" placement="bottom-start" trigger="click">
              <template
                v-if="(scope.row.Type==2 || scope.row.Type==6)&&scope.row.modelShow&&(scope.row.Is_Merge==0||scope.row.Is_Merge==null)">
                <my-Bill :ID="scope.row.FrID" :width="widthSon" :color="colorSon"></my-Bill>
              </template>
              <template
                v-else-if="(scope.row.Type==1 || scope.row.Type==5)&&scope.row.modelShow&&(scope.row.Is_Merge==0||scope.row.Is_Merge==null)">
                <my-RVB-Bill :ID="scope.row.FrID" :width="widthSon" :color="colorSon"></my-RVB-Bill>
              </template>
              <template v-else-if="scope.row.Is_Merge==1&&scope.row.modelShow">
                <my-HB-Bill :ID="scope.row.FrID" :width="widthSon" :color="colorSon"></my-HB-Bill>
              </template>
              <span slot="reference" @click="scope.row.modelShow = true"
                style="text-decoration: underline;cursor: pointer;font-weight: bold">{{scope.row.FrID}}</span>
            </el-popover>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('system.query_company')" width="90">
          <template slot-scope="scope">
            <span>{{scope.row.BranchName}}</span>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('fnc.djleixing')" width="90">
          <template slot-scope="scope">
            <span>
              <span v-if="scope.row.Type==2" style="display: inline-block;
                    padding: 2px 8px;
                    color: white;
                    background-color: #E95252;
                    line-height: 16px;
                    border-radius: 4px;">
                {{$t('restaurant.res_outcome')}}
              </span>
              <span v-if="scope.row.Type==1" style="display: inline-block;
                    padding: 2px 8px;
                    color: white;
                    background-color: #2BB87C;
                    line-height: 16px;
                    border-radius: 4px;">
                {{$t('restaurant.res_income')}}
              </span>
              <span v-if="scope.row.Type==5" style="display: inline-block;
                    padding: 2px 8px;
                    color: white;
                    background-color: #2BB87C;
                    line-height: 16px;
                    border-radius: 4px;">
                {{$t('fnc.yingshou')}}
              </span>
              <span v-if="scope.row.Type==6" style="display: inline-block;
                    padding: 2px 8px;
                    color: white;
                    background-color: #E95252;
                    line-height: 16px;
                    border-radius: 4px;">
                {{$t('fnc.yingfu')}}
              </span>
              <el-tooltip class="item" effect="dark" :content="$t('objFill.zuijiatuankuan')" placement="top">
                <span v-if="scope.row.OtherType == 1" style="width: 20px;
                        height: 20px;
                        display: inline-block;
                        border-radius: 50%;
                        text-align: center;
                        line-height:  20px;
                        color: #E95252;
                        border: 1px solid #E95252;
                        font-size: 12px;" class="zhuiClass">{{$t('objFill.chase')}}</span>
              </el-tooltip>
            </span>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('hotel.hotel_corrlelatition')" width="300">
          <template slot-scope="scope">
            <div>
              <template v-if="scope.row.TCIDAndTCNUMList.length>0">
                <p class="_TCIDAndTCNUMList" style="display: flex;">
                  <span>{{$t('visa.v_tuanhao')}}:</span>
                  <template v-if="scope.row.TCIDAndTCNUMList&&scope.row.TCIDAndTCNUMList.length>0">
                    <p><span v-for="(i,ix) in scope.row.TCIDAndTCNUMList">{{i.TCNUM}}({{i.TCID}})
                        <template v-if="i.TeamTypeNameStr&&i.TeamTypeNameStr!=''">({{i.TeamTypeNameStr}})</template>
                        <template v-if="i.DMCNum&&i.DMCNum!=''"></br>{{i.DMCNum}}</br></template>
                        <span v-if="ix!=scope.row.TCIDAndTCNUMList.length-1">,</br></span></span>
                      </p>

                  </template>
                  <template v-else>
                    <span>{{$t('fnc.no')}}</span>
                  </template>
                </p>
                <p v-if="scope.row.OrderID>0 && scope.row.OrderSource==8">{{$t('fnc.danhao')}}:</span class="">{{scope.row.OrderID}}</span>
                </p>
              </template>
              <template v-else-if="scope.row.OrderSource==8 && scope.row.TCIDAndTCNUMList.length==0">
                <p class="_TCIDAndTCNUMList">{{$t('tips.zwtqxinxi')}}</p>
              </template>
              <template v-else-if="scope.row.OrderSource==4 && scope.row.TCIDAndTCNUMList.length==0">
                <p class="_TCIDAndTCNUMList" style="text-decoration: underline;cursor: pointer;"
                  @click="goTicketPage(scope.row)">{{$t('fnc.jpbianhao')}}:{{scope.row.SourceID}}</p>
                <p style="margin-top: 5px;">{{$t('advmanager.v_line')}}:<span>{{scope.row.LineName?scope.row.LineName:$t('tips.jpswxzxianlu')}}</span></p>
              </template>
              <template v-else-if="scope.row.OrderSource==9 && scope.row.TCIDAndTCNUMList.length==0">
                <p class="_TCIDAndTCNUMList">{{$t('fnc.gnjpqishu')}}:{{scope.row.Term}}</p>
              </template>
              <template v-else-if="scope.row.OrderSource==10 && scope.row.TCIDAndTCNUMList.length==0">
                <p class="_TCIDAndTCNUMList">{{$t('tips.qzcpbianhao')}}:{{scope.row.SourceID}}</p>
              </template>
              <template v-else-if="scope.row.OrderSource==0 || scope.row.OrderSource==null">
                <p class="_TCIDAndTCNUMList">{{ scope.row.BranchName }}-{{scope.row.DepartName}} </p>
              </template>
              <template v-else>
                <p class="_TCIDAndTCNUMList">{{$t('pub.noMsg')}}</p>
              </template>
            </div>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('fnc.feiyongleixing')" width="120">
          <template slot-scope="scope">
            <div>
              <template v-for="(s,si) in scope.row.CostTypeList">
                <span
                  style="background-color: rgba(64,158,255,.1);display: inline-block;padding: 0 5px;height: 22px;line-height: 20px;font-size: 12px;color: #646464;border-radius: 4px;box-sizing: border-box;border: 1px solid rgba(64,158,255,.2);white-space: nowrap;margin-bottom: 4px;">{{s}}</span></br>
              </template>
            </div>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('tips.jiaoyifangshi')" show-overflow-tooltip width="300">
          <template slot-scope="scope">
            <div>
              <template v-if="scope.row.TradeWayList&&scope.row.TradeWayList.length>0">
                <div class="_TradeWayList" v-for="(tw,twIn) in scope.row.TradeWayList"
                  style="line-height: normal !important;padding: 5px 10px;background-color: #EEEEEE;border-radius: 4px;margin: 10px 0;width:230px">
                  <p><span style="font-weight: bold;color:#333333">{{tw.Alias}}</span><span class="_bank_name"
                      style="height:20px;;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;margin-letf:10px">
                      {{scope.row.TradeWayList[0].TypeName}}</span>
                    <span
                      style="height:20px;display: inline-block;background-color: #333333;color: white;padding: 2px 4px;border-radius: 4px;margin-left:10px;"
                      :style="{'background-color':tw.AccountType=='私'?'#2AAEF2':'#FF9C01'}">{{tw.AccountType==""?$t('fnc.no'):tw.AccountType}}</span>
                  </p>
                  <p style="color:#333333">{{tw.BankNo}}</p>
                </div>
              </template>
              <template v-else>
                <div class="_pad5">
                  {{$t('fnc.no')}}
                </div>
              </template>
            </div>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('fnc.jine')">
          <template slot-scope="scope">
            <span>
              <p v-if="scope.row.IsForeignCurrency==1" style="line-height:20px">{{$t('fnc.yuanbi')}}:<span>{{scope.row.WBMoney}}{{scope.row.CurrencyName}}</span></p>
              <p style="line-height:20px">{{scope.row.Type==1?$t('fnc.yingshou'):$t('fnc.yingfu')}}:<span>{{scope.row.Money}}</span></p>
              <p style="line-height:20px">{{scope.row.Type==1?$t('fnc.shishou'):$t('fnc.shifu')}}:<span>{{scope.row.PayMoney}}</span></p>
              <p v-if="scope.row.IsAdvanceFinance==1" style="line-height:20px">{{$t('objFill.balanceout')}}:<span>{{scope.row.MatchMoney}}</span></p>
              <p v-if="scope.row.Fee !=0" style="line-height:20px">{{$t('fnc.shouxufei')}}:<span>{{scope.row.Fee}}</span></p>
            </span>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('fnc.fkduixiang')">
          <template slot-scope="scope">
            <span>
              <span style="color: gray">{{scope.row.Type==2?scope.row.ClientTypeName+':':$t('fnc.huikuanren')+':'}}</span><span style="text-overflow: ellipsis;white-space: nowrap;">{{scope.row.RemitterName}}</span>
            </span>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('fnc.zdrenyuan')">
          <template slot-scope="scope">
            <div>
              <div>{{scope.row.EmName}}</div>
              <div>{{scope.row.CreateDate}}</div>
            </div>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('fnc.a_djztai')">
          <template slot-scope="scope">
            <i v-if="scope.row.Status==1" class="iconfont icon-daiqueren" style="color: #4BCA81"></i>
            <i v-if="scope.row.Status==4" class="iconfont icon-yiquxiao" style="color: #4BCA81"></i>
            <i v-if="scope.row.Status==2" class="iconfont icon-yiqueren" style="color: #959595"></i>
            <i v-if="scope.row.Status==3" class="iconfont icon-shenhebohui" style="color: #E95252"></i>
            <i v-if="scope.row.Status==0" class="iconfont icon-zancun" style="color: #FF9C01"></i>
            <el-popover popper-class="detailsIT_Journal" width="250" trigger="click">
              <div style="height: auto;max-height: 220px;background-color: #FFFFFF;">
                <div class="changLog">
                  <p class="_log_t">{{$t('fnc.lcrizhi')}}</p>
                  <ul style="padding-left: 20px;max-height: 180px;overflow: auto;"
                    v-if="GetFinancLogList&&GetFinancLogList.length>0" v-loading='LogLoading'>
                    <li
                      style="border-left: 1px solid #E9E9E9;position: relative;padding-bottom: 10px;padding-left: 20px;padding-top: 10px;"
                      v-for="(log,li) in GetFinancLogList">
                      <span
                        style="background-color: #47BF8C;width: 7px;height: 7px;border-radius: 50%;display: inline-block;position: absolute;left: -4px;top: 19px;"></span>
                      <p> <span class="_color_blue">{{log.EmName}}</span> <span
                          class="fr changLog_time">{{log.UpdateDate}}</span> </p>
                      <p class="_dtel">{{log.StartValue}}</p>
                    </li>
                  </ul>
                  <ul v-else>
                    <li>{{$t('fnc.zwxgrizhi')}}</li>
                  </ul>
                </div>
              </div>
              <span slot="reference" class="text_d _font_init"
                @click="Financial_post_GetFinancLogList(scope.row.FrID)">{{scope.row.StatusStr}}</span>
            </el-popover>
          </template>
        </el-table-column>
        <el-table-column prop="" :label="$t('system.table_operation')">
          <template slot-scope="scope">
            <el-tooltip class="item" effect="dark" :content="$t('fnc.chakan')" placement="top">
              <i v-if="scope.row.Type !== 4" style="width: 30px;
                        height: 30px;
                        display: inline-block;
                        color: white !important;
                        border-radius: 50%;
                        text-align: center;
                        line-height: 30px;
                        margin-right: 10px;
                        cursor: pointer;
                        background-color: #47BF8C;
                        outline: none;" class="iconfont icon-sousuo"
                @click="goUrlDetail('FinancialDocumentsDetail',scope.row)">
              </i>
              <i v-if="scope.row.Type === 4" style="width: 30px;
                        height: 30px;
                        display: inline-block;
                        color: white !important;
                        border-radius: 50%;
                        text-align: center;
                        line-height: 30px;
                        margin-right: 10px;
                        cursor: pointer;
                        background-color: #47BF8C;
                        outline: none;" class="iconfont icon-sousuo"
                @click="goUrlDetail('CapitalAllocationDetail',scope.row)">
              </i>
            </el-tooltip>
          </template>
        </el-table-column>
      </el-table>

      <div style="padding-bottom:15px">

        <el-pagination background
        @current-change="handleCurrentChanges"
        @size-change="handleSizeChange"
        layout="total,sizes,prev, pager, next, jumper"
          :page-size="msg.pageSize" :total='total'
          :page-sizes="[10,15,20,30,50,100,200]">
        </el-pagination>
      </div>
    </div>


  </div>
</template>
<script>
  import myBill from "./FinancialSubmodule/BillModule.vue";
  import myrbvBill from "./FinancialSubmodule/ReceivablesModule.vue";
  import myhrBill from "./FinancialSubmodule/MergeBillModule.vue";
  import shouxufei from "./components/shouxufei.vue";
  import shouxufei_car from "./components/shouxufei_car.vue";
  import editExchangeRate from "./components/editExchangeRate.vue";
  import Vue from 'vue'
  import StartDateLimit from '../public/StartDateLimit.vue';

  export default {
    data() {
      return {
        loadingDC: false,
        loadingDC1: false,
        loadingDC2: false,
        tipvisible:true,
        KingdeelnvoiceList:[
          {Name:this.$t('pub.unlimitedSel'),Id:0},
          {Name:this.$t('objFill.daishangchuanfppz'),Id:1},
          {Name:this.$t('objFill.xuyaofppz'),Id:2},
          {Name:this.$t('objFill.buxuyaofppz'),Id:3}
        ],
        userinfo:{},
        alltransaction: [],
        transactionmode: false,
        transTax: {
          FrId: 0,
          Fee: "0.0",
          loading: false,
          ClientType: '',
          ClientID: ''
        },
        transactionTax: false,
        transactionTax_car: false,
        PaymentSync: false,//修改垫付对象

        showID: false,
        active: 1,
        userId: 0,
        zhuanjiaoBox: false,
        searchList: [],
        msg: {
          InvoiceState:0,
          pageIndex: 1,
          pageSize: 10,
          FrID: '',
          sDate: '',
          eDate: '',
          Status: '-1',
          TemplateId: '0',
          RB_Branch_Id: '',
          RB_Depart_Id: '',
          sTradeDate: '',
          eTradeDate: '',
          ClientType: '',
          RemitterName: '',
          ClientID: '',
          sMoney: '',
          eMoney: '',
          QMoneyType:0,
          CurrencyId: '0',
          CostTypeID: '',
          Conditon: '',
          TCNUM: '',
          TradeWay: '',
          Type: '-1',
          AccountType: '',
          QEndDate: '',
          QStartDate: '',
          UpdateBy: '',
          IsFormRecPayQuery: '1',
          KJCostTypeId: 0,
          IsSelectKJSetCostType: 0,
          Remark: '', //备注查询
          Sort: '2',
          EmployeeId: '',
          KingdeeMark: '0',
          AuditId : '',
          CostTypeIDList: [52],
          CostTypeIdStr:''
        },
        getCompanyMsg: { // 公司
          RB_Group_Id: '0',
          Status: '0',
        },
        getDepartmentMsg: { // 部门
          RB_Group_Id: '',
          RB_Branch_Id: '',
          Status: 0,
          ParentId: -1,
          Tier: 0,
        },
        employeeMsg: { // 员工
          GroupId: '',
          BranchId: -1,
          DepartmentId: 0,
          PostId: 0,
          IsLeave: -1,
        },
        zhuanMsg: {
          AuditEmId: null,
          WorkFlowId: 0,
        },
        //转交信息
        zhuanjiaoMsg: {
          CreateBy: '',
          FrIDList: []
        },
        DataList: [],
        GetFinancLogList: [],
        StatusList: [],
        ClientAccountList: [],
        ClientTypeList: [],
        accountList: [],
        BranchAccountList: [],
        DepartmentList: [],
        EmployeeList: [],
        ConditionList: [],
        CompanyList: [],
        productionDate: [],
        approvalDate: [],
        transactionDate: [],
        missionDate: [],
        currencyTypeList: [],
        GetCostTypeList: [],
        TemplateGetList: [],
        AccList: [],
        checkList: [],
        checkAllList: [],
        dateStart: '',
        dateEnd: '',
        dateArr: '',
        status: '1',
        type: '1',
        loading: false,
        LogLoading: false,
        isCkedAll: false,
        currentPage: 1,
        total: 0,
        ChineseStr: '',
        mathNumber: '',
        DepartIDs: '',
        loading2: false,
        tableData: [],
        pageSize: 5,
        pageIndex: 1,
        heightQueryBox: false,
        costmode: false, //费用类型的修改弹窗
        costmodeHL: false,
        bianjiShow: false,
        trabeList: [], //修改费用类型的下拉数据
        trabeListHL: [], //修改费率下拉数据
        widthSon: '700px',
        colorSon: "#f5f5f5",
        Finance_ExpenseType: false,
        F_Update_CurrencyRate: false,
        istransaction: false,
        isJapanCommission: false,
        isManageFinance: false,
        loadingTranMode: false,
        IsUpdatePayment: false,
        IsHelpBranch:false,
        HelpBranchMsg:{
          FrId:0,
          HelpBranchId:-1,
          Type:0,
          RB_Branch_Id:-1,
          loading: false,
        },
        dialogTitle:"",
        dialogTitle1:"",
        multipleSelection: [],
        isBatchPrinting: false,
        ShowFixedAssets: false,
        FixedAssetsMsg:{
          BaseFinanceId:0,
          RelevanceFrId2:0,
          CreateDate:''
        }
      }
    },
    created() {
      this.GetSupperOrderEditAuth()
      this.userinfo = this.getLocalStorage();
      let userinfo = this.getLocalStorage();
      let ActionMenuCode = userinfo.ActionMenuCode;
      if (ActionMenuCode.indexOf('Finance_ExpenseType') != -1) {
        this.Finance_ExpenseType = true;
      }
      if (ActionMenuCode.indexOf('F_Update_CurrencyRate') != -1) {
        this.F_Update_CurrencyRate = true;
      }
      if (ActionMenuCode.indexOf("F_Trademodify") != -1) {
        this.istransaction = true;
      }
      if (userinfo.RB_Branch_id == 1218 && ActionMenuCode.indexOf('isJapanCommission') != -1) {
        this.isJapanCommission = true;
      }
      if (ActionMenuCode.indexOf("isManageFinance") != -1) {
        this.isManageFinance = true
      }
      if (ActionMenuCode.indexOf("F_AccountantFinanceMerge") != -1) {
        this.IsUpdatePayment = true
      }
      if (ActionMenuCode.indexOf("isBatchPrinting") != -1) {
        this.isBatchPrinting = true
      }
      if (this.$route.query.returnCode) {
        this.active = this.$route.query.returnCode;
        this.msg.Conditon = this.$route.query.returnCode;
      }
      if (this.$route.query.pageIndex) {
        this.msg.pageIndex = this.$route.query.pageIndex;
      }
      if (this.$route.query.Conditon) {
        this.msg.Conditon = this.$route.query.Conditon;
        this.active = parseInt(this.$route.query.Conditon);
      }
      if (this.$route.query.FrID) {
        this.msg.FrID = this.$route.query.FrID;
      }
      if (this.$route.query.Type) {
        this.msg.Type = this.$route.query.Type + '';
      }
      if (this.$route.query.rec) {
        this.msg.AccountType = 15;
        this.msg.TradeWay = 4;
        this.getAccountList(this.msg.AccountType, this.msg.TradeWay)
        this.msg.BankID = this.$route.query.BankID;
        this.transactionDate[0] = this.$route.query.StartDate;
        this.transactionDate[1] = this.$route.query.StartDate;
        this.msg.sTradeDate = this.$route.query.StartDate;
        this.msg.eTradeDate = this.$route.query.StartDate;

        if (this.$route.query.BankID == '') {
          // 费用类型:机票折让费
          this.msg.CostTypeID = 197;
        }
      }
      if (this.$route.query.air) {
        this.msg.AccountType = 17;
        this.msg.TradeWay = 4;
        this.getAccountList(this.msg.AccountType, this.msg.TradeWay)
        this.msg.BankID = 20;
        this.transactionDate[0] = this.$route.query.StartDate;
        this.transactionDate[1] = this.$route.query.StartDate;
      }
    },
    components: {
      "my-Bill": myBill,
      "my-RVB-Bill": myrbvBill,
      shouxufei,
      shouxufei_car,
      editExchangeRate,
      StartDateLimit
    },
    mounted() {


      let userInfo = this.getLocalStorage();
      this.getCompanyMsg.RB_Group_Id = this.employeeMsg.GroupId = this.getDepartmentMsg.RB_Group_Id = userInfo
        .RB_Group_id; //集团ID
      this.DepartIDs = userInfo.RB_Department_Id;
      this.userId = userInfo.EmployeeId;
      this.msg.EmployeeId = userInfo.EmployeeId;
      this.financeinfo_post_GetList();
      this.financeinfo_post_GetCostTypeList();
      this.FinancialFlowTemplate_post_GetList();
      this.getCompanyList();
      this.Financial_post_GetConditionList();
      this.getEmployee();
      this.getDepartment();
      this.Financial_post_GetBranchAccountList();
      this.financeinfo_post_GetClientTypeList();
      this.FinancialFlowTemplate_post_GetStatusList();
      this.getPageList();
      if(this.isManageFinance){
        this.AccountType_post_GetList();
      }

      var that = this;
      that.MsgBus.$on('getRecQuery', function (FrID) {
        that.zhuanjiaoMsg.CreateBy = '';
        that.zhuanjiaoMsg.FrIDList = [];
        that.zhuanjiaoMsg.FrIDList.push(FrID);
        that.zhuanjiaoBox = true;
      });
      that.MsgBus.$on('showfeiyong', function (row) {
        that.showfeiyong(row)
      })
      that.MsgBus.$on('showhuilv', function (row) {
        that.showhuilv(row)
      })
      that.MsgBus.$on('shouxufei', function (row) {
        that.shouxufei(row)
      })
      that.MsgBus.$on('shouxufei_car', function (row) {
        that.shouxufei_car(row)
      })
    },
    methods: {
      GetSupperOrderEditAuth() {
        var actionCode = this.$AuthCode.isQueryHistoryData;
        this.CheckUserAuth(actionCode, res => {
          if (res.data.resultCode == 1 && res.data.data == 1) {

          }else{
            let StartDate = this.getBeforeDate(186, new Date().Format("yyyy-MM-dd"))
            let EndDate = this.getBeforeDate(-1, new Date().Format("yyyy-MM-dd"))
            this.productionDate = [StartDate, EndDate]
            this.msg.sDate = this.productionDate[0];
            this.msg.eDate = this.productionDate[1];
          }
        });

     },
      goPrinting(){
        if(this.multipleSelection.length==0) return this.$message({
            type: 'info',
            message: this.$t('objFill.v101.FinancialModule.qingxzxydydsj'),
          });
        // GetDetail.Type,GetDetail.FrID,GetDetail.Is_Merge,OrderSource
        let routeData = this.$router.resolve({
            name: 'BatchPrintPage',
            query: {
              list: JSON.stringify(this.multipleSelection),
            }
          });
          window.open(routeData.href, "_blank");
      },
      handleSelectionChange(val){
        this.multipleSelection = []
        let type1 = {
          type: null,
          id: null,
          isKehu: 0,
          Merge: null,
          OrderSource: null
        }
        let type2 = {
          type: null,
          id: null,
          Merge: null,
          OrderSource: null
        }
        val.forEach(x=>{
          if(x.Type==1){
            type1 = {
              type: String(x.Type),
              id: x.FrID,
              isKehu: 0,
              Merge: x.Is_Merge,
              OrderSource: x.OrderSource?x.OrderSource:-1
            }
            this.multipleSelection.push(JSON.parse(JSON.stringify(type1)))
          }else{
            type2 = {
              type: String(x.Type),
              id: x.FrID,
              Merge: x.Is_Merge,
              OrderSource: x.OrderSource?x.OrderSource:-1
            }
            this.multipleSelection.push(JSON.parse(JSON.stringify(type2)))
          }
        })
      },
      ClaerClientAccountList(){
        this.ClientAccountList=[];
      },
      GetClientAccountListByKeyWord(query) {
        if (query !== '') {
        // 获取对象类型
        let msg = {
                  Type: this.msg.ClientType,
                  ObjID: 0,
                  CardNum: "",
                  IsAll:true,
                  KeyWord:query,
                };
        this.apipost(
          "financeinfo_post_GetClientAccountList",
          msg,
          res => {
            if (res.data.resultCode == 1) {
              let data = res.data.data;
              this.ClientAccountList = data;
            }
          },
          err => {}
        );
        }
      },

      // 是否需要发票
      EditInvoiceStatus(row){
        let KingdeeInvoice
        if(row.KingdeeInvoice==1||row.KingdeeInvoice==0){
          KingdeeInvoice = 2
        }else if(row.KingdeeInvoice==2){
          KingdeeInvoice = 1
        }
        this.apipost(
          "Financial_post_UpdateKingdeeInvoice", {
            Id: row.FrID,
            KingdeeInvoice: KingdeeInvoice
          },
          res => {
            if (res.data.resultCode == 1) {
              this.getPageList();
            }else{
              this.Error(res.data.message);
            }

          },err => {})
      },
      showjiaoyi(FrId) {
        //弹出交易方式修改
        this.apipost(
          "Financial_get_GetFinanceTrabeList", {
            FrId: FrId
          },
          res => {
            if (res.data.resultCode == 1) {
              this.trabeList = res.data.data;
              this.trabeList.forEach(x => {
                this.alltransaction.map(j => {
                  if (x.AccountTypeId == j.Id) {
                    x.list = j.list;
                    return;
                  }
                });
              });
              this.transactionmode = true;
            }
          },
          err => {}
        );
      },

      showPayment(FrId) {
        //弹出付款对象修改
        this.transTax.FrId = FrId;
        this.financeinfo_post_GetClientTypeList();
        this.PaymentSync =true;
      },
      showAssets(FrId) {
        //弹出付款对象修改
        this.FixedAssetsMsg.BaseFinanceId = FrId;
        this.apipost(
            "Financial_post_GetCarFixedAssetsDate", {FrId:FrId},res => {
              if (res.data.resultCode == 1) {
                this.ShowFixedAssets =true;
                this.FixedAssetsMsg.CreateDate = res.data.data.CreateDate;
                this.FixedAssetsMsg.RelevanceFrId2 = res.data.data.RelevanceFrId2;
              }
            },
            err => {
            }
          );
      },
      // 确定垫付对象
      setFixedAssets() {
        if (this.transTax.loading) return;
        this.transTax.loading = true;
        if (this.FixedAssetsMsg.BaseFinanceId && this.FixedAssetsMsg.CreateDate && this.FixedAssetsMsg.RelevanceFrId2) {
          this.apipost(
            "Financial_post_SetCarFixedAssetsDate", this.FixedAssetsMsg,res => {
              if (res.data.resultCode == 1) {
                this.Success(this.$t('objFill.v101.FinancialModule.gengxincg')) ;
                this.ShowFixedAssets = false;
              }
              this.transTax.loading = false;
            },
            err => {
              this.transTax.loading = false;
            }
          );
        } else {
          this.transTax.loading = false;
          this.Error(this.$t('objFill.v101.FinancialModule.qingsrqsyfjzjys')) ;
        }
      },

      showHelpBranch(item) {
        //弹出付款对象修改
        this.HelpBranchMsg.FrId = item.FrID;
        this.HelpBranchMsg.HelpBranchId = item.HelpBranchId;
        this.HelpBranchMsg.Type=item.Type;
        this.HelpBranchMsg.RB_Branch_Id=item.RB_Branch_Id;
        if(item.Type==1){
          this.dialogTitle=this.$t('objFill.xiugaidaishougs');
          this.dialogTitle1=this.$t('objFill.daishougs');
        }
        else if(item.Type==2){
          this.dialogTitle=this.$t('objFill.xiugaidaishougs');
          this.dialogTitle1=this.$t('objFill.daishougs');
        }
        this.IsHelpBranch =true;
      },
      getExchange(rowData, index) {
        this.MsgBus.$emit('getRecQuery', rowData.FrID);
      },
      showfeiy(rowData) {
        this.MsgBus.$emit('showfeiyong', rowData);
      },
      editRate(rowData) {
        this.MsgBus.$emit('showhuilv', rowData);
      },
      editCommission(rowData) {
        this.MsgBus.$emit('shouxufei', rowData);
      },
      editCarPayHandFee(rowData) {
        this.MsgBus.$emit('shouxufei_car', rowData);
      },
      customCompFunc(params) {},
      sortChange(param) {
        //自己写实现
        //{gender:"",name:"asc"}
      },
      //设置转交
      setExchange() {
        if (this.zhuanjiaoMsg.CreateBy == '') {
          this.Error(this.$t('rule.qxzzjiaoren'));
          return;
        }
        this.apipost('Financial_post_SetFinanceCreateByCareOf', this.zhuanjiaoMsg, res => {
          if (res.data.resultCode == 1) {
            this.Success(res.data.message);
            this.zhuanjiaoBox = false;
            this.getPageList()
          } else {
            this.Error(res.data.message);
          }
        }, err => {})
      },
      remoteMethod(query) { //  转交人模糊查询
        if (query !== '' || this.addShow) {
          this.apipost("admin_Get_Chat_All_SelectEmpName", {
            EmName: query
          }, res => {
            if (res.data.resultCode == 1) {
              this.searchList = res.data.data;
            }
          }, err => {});
        } else {
          this.searchList = [];
        }
      },
      // 数据筛选
      filterMethod(filters) {},
      // 更改每页条数
      handleSizeChange(val) {
        this.msg.pageSize = val
        this.getPageList();
      },
      handleCurrentChanges(val) {
        this.pageIndex = this.msg.pageIndex = val;
        this.getPageList();
      },
      AccountType_post_GetList() { //获取账户类型下拉
        this.apipost('AccountType_post_GetList', this.queryAccMsg, res => {
          if (res.data.resultCode == 1) {
            this.AccList = res.data.data;
            let alltransaction = [];
            this.AccList.forEach(x => {
              let obj = {
                Id: x.ID,
                list: []
              };
              this.apipost(
                "FinancialInstitutions_post_GetALLAccountList", {
                  TypeId: x.ID
                },
                res => {
                  if (res.data.resultCode == 1) {
                    let data = res.data.data;
                    data.forEach(x => {
                      x.allName = x.BackNo + "(" + x.Alias + ")";
                      x.Name = x.Alias;
                    });
                    obj.list = data;
                  }
                },
                err => {}
              );

              this.alltransaction.push(obj);
            });
          } else {
            this.$message.error(res.data.message);
          }
        }, err => {})
      },
      getPageList() { // 获取列表数据
        if (!this.msg.ClientID) this.msg.ClientID = 0;
        if (!this.msg.ClientType) this.msg.ClientType = 0;
        if (!this.msg.CurrencyId) this.msg.CurrencyId = 0;
        this.msg.CostTypeID = 0;
        this.msg.CostTypeIdStr='';
        if(this.msg.CostTypeIDList){this.msg.CostTypeIdStr=this.msg.CostTypeIDList.join(',')}
        if (!this.msg.TemplateId) this.msg.TemplateId = 0;
        if (this.msg.RB_Branch_Id === '') this.msg.RB_Branch_Id = -1;
        if (!this.msg.RB_Depart_Id) this.msg.RB_Depart_Id = 0;
        if (!this.msg.UpdateBy) this.msg.UpdateBy = 0;
        if (!this.msg.TCID) this.msg.TCID = 0;
        if (!this.msg.OrderID) this.msg.OrderID = 0;
        if (!this.msg.Status) this.msg.Status = 0;
        if (!this.msg.FrID) this.msg.FrID = 0;
        if (!this.msg.Conditon) this.msg.Conditon = 1;
        if (!this.msg.TradeWay) this.msg.TradeWay = 0;
        if (!this.msg.AccountType) this.msg.AccountType = 0;
        if (!this.msg.KJCostTypeId) this.msg.KJCostTypeId = 0;
        if (!this.msg.IsSelectKJSetCostType) this.msg.IsSelectKJSetCostType = 0;
        this.loading = true;
        this.apipost('Financial_post_GetCostTypeAllPageList', this.msg, res => {
          if (res.data.resultCode == 1) {
            this.loading = false;
            let data = res.data.data.pageData.list;
            this.total = res.data.data.count;
            if (this.total == 0) {
              this.DataList = [];
            } else {
              data.forEach(x => {
                x.modelShow = false;
              })
              this.DataList = data;
            }
          } else {
            this.loading = false;
            this.$message.error(res.data.message);
          }
          // this.msg.TCID= this.msg.TCID==0?this.msg.TCID:'';
          // this.queryInfoInit();
          this.currentPage = parseInt(this.msg.pageIndex);
        }, err => {})
      },
      method5(type) {
        let url = 'Financial_post_GetCostTypeAllListToExcel'
        if((!this.msg.sTradeDate|| !this.msg.eTradeDate)&&(!this.msg.sDate|| !this.msg.eDate)){
          this.Error(this.$t('objFill.v101.FinancialModule.qingxzzdrqjyrq')) ; return;
        }
        if (!this.msg.ClientID) this.msg.ClientID = 0;
        if (!this.msg.ClientType) this.msg.ClientType = 0;
        if (!this.msg.CurrencyId) this.msg.CurrencyId = 0;
        if (!this.msg.CostTypeID) this.msg.CostTypeID = 0;
        if (!this.msg.TemplateId) this.msg.TemplateId = 0;
        if (this.msg.RB_Branch_Id === '') this.msg.RB_Branch_Id = -1;
        if (!this.msg.RB_Depart_Id) this.msg.RB_Depart_Id = 0;
        if (!this.msg.UpdateBy) this.msg.UpdateBy = 0;
        if (!this.msg.TCID) this.msg.TCID = 0;
        if (!this.msg.OrderID) this.msg.OrderID = 0;
        if (!this.msg.Status) this.msg.Status = 0;
        if (!this.msg.FrID) this.msg.FrID = 0;
        if (!this.msg.Conditon) this.msg.Conditon = 1;
        if (!this.msg.TradeWay) this.msg.TradeWay = 0;
        if (!this.msg.AccountType) this.msg.AccountType = 0;
        if (!this.msg.KJCostTypeId) this.msg.KJCostTypeId = 0;
        if (!this.msg.IsSelectKJSetCostType) this.msg.IsSelectKJSetCostType = 0;
        if(type==1){
          this.loadingDC1 = true
        }else if(type==2){
          this.loadingDC2 = true
        }else{
          this.loadingDC = true
        }
        this.GetLocalFile(url, this.msg, `${this.$t('objFill.v101.FinancialModule.shouzhicxkm')}.xls`,x=>{
          this.loadingDC = false
          this.loadingDC1 = false
          this.loadingDC2 = false
        });
      },
      financeRemove(id) { //作废
        this.$confirm(this.$t('tips.zuofeicaiwudan'), this.$t('tips.tips'), {
          confirmButtonText: this.$t('pub.sureBtn'),
          cancelButtonText: this.$t('pub.cancelBtn'),
          type: 'warning'
        }).then(() => {
          this.deletFinance(id)
        }).catch(() => {
          this.$message({
            type: 'info',
            message: this.$t('OrderList.orderStatus.cancel'),
          });
        });
      },
      deletFinance(id) {
        this.apipost('Financial_post_Cancel', {
          ID: id
        }, res => {
          if (res.data.resultCode == 1) {
            this.$message.success(res.data.message)
          } else {
            this.$message.error(res.data.message)
          }
          this.getPageList();
        }, err => {})
      },
      Financial_post_GetFinancLogList(id) { // 获取单据日志
        this.LogLoading = true;
        this.apipost('Financial_post_GetFinancLogList', {
          ID: id,
          Type: 2
        }, res => {
          if (res.data.resultCode == 1) {
            let data = res.data.data;
            data.forEach(x => {
              x.UpdateDate = this.$commonUtils.formatMsgTime(x.UpdateDate)
            })
            this.LogLoading = false;
            this.GetFinancLogList = data;
          }
        }, err => {})
      },
      mathMoney(n) { // 数字转中文大写 1
        this.ChineseStr = this.$commonUtils.changeMoneyToChinese(n)
      },
      FinancialFlowTemplate_post_GetStatusList() { // 获取审核状态枚举
        this.apipost('FinancialFlowTemplate_post_GetStatusList', {}, res => {
          if (res.data.resultCode == 1) {
            this.StatusList = res.data.data;
          }
        }, err => {})
      },
      financeinfo_post_GetClientTypeList() { // 获取对象类型
        this.apipost('financeinfo_post_GetClientTypeList', {}, res => {
          if (res.data.resultCode == 1) {
            this.ClientTypeList = res.data.data;
          }
        }, err => {})
      },
      GetClientAccountList(i) { //获取客户名称并且根据费用类型和付款对象获取客户账号
        this.msg.AccountNumber = '';
        this.transTax.ClientID = ''
        this.ClientTypeList.forEach(x => {
          if (x.ID == i) {
            // this.msg.RemitterName = x.Name;
            this.financeinfo_post_GetClientAccountList(this.transTax.ClientType);
          }
        })
      },
      financeinfo_post_GetClientAccountList(t) { // 获取对象类型
        let msg = {
          Type: t,
          ObjID: 0,
          CardNum: ''
        }
        this.apipost('financeinfo_post_GetClientAccountList', msg, res => {
          if (res.data.resultCode == 1) {
            let data = res.data.data;
            let ClientAccountList = [];
            data.forEach(x => {
              let obj = {
                ID: x.ID,
                Name: x.AccountAlias,
                Nom: x.CardNum
              }
              ClientAccountList.push(obj)
            })
            this.ClientAccountList = ClientAccountList;
          }
        }, err => {})
      },
      // 确定垫付对象
      handlingSurePayment() {
        if (this.transTax.loading) return;
        this.transTax.loading = true;
        if (this.transTax.ClientType && this.transTax.ClientType != "" && this.transTax.ClientID && this.transTax
          .ClientID != "") {
          this.apipost(
            "Financial_post_SetKingdeeClientID", {
              FrId: this.transTax.FrId,
              KingdeeClientID: this.transTax.ClientID
            },
            res => {
              if (res.data.resultCode == 1) {
                this.Success(`${this.$t('pub.updateMsg')}${this.$t('objFill.chenggong')}`) ;
                this.PaymentSync = false;
                this.transTax.FrId = ''
                this.transTax.ClientType = ''
                this.transTax.ClientID = ''
              }
              this.transTax.loading = false;
            },
            err => {
              this.transTax.loading = false;
            }
          );
        } else {
          this.transTax.loading = false;
          this.Error(`${this.$t('objFill.qingxuanzhefukdx')}`) ;
        }
      },
            // 确定垫付对象
    handlingSureHelpBranch() {
        if (this.HelpBranchMsg.loading) return;
        this.HelpBranchMsg.loading = true;
          this.apipost(
            "Financial_post_UpdateHelpBranch", this.HelpBranchMsg,
            res => {
              if (res.data.resultCode == 1) {
                this.Success(`${this.$t('pub.updateMsg')}${this.$t('objFill.chenggong')}`) ;
                this.IsHelpBranch = false;
                this.HelpBranchMsg.FrId = 0
                this.HelpBranchMsg.HelpBranchId = -1
                this.HelpBranchMsg.Type = 0
                this.HelpBranchMsg.RB_Branch_Id = -1
                this.getPageList();              }
              this.HelpBranchMsg.loading = false;
            },
            err => {
              this.HelpBranchMsg.loading = false;
            }
          );

      },
      getAccountList(i, t) { //收款账户
        let accountList = [];
        if (t == 1) { // 银行
          this.apipost('bankaccount_post_GetList', {
            TypeId: i
          }, res => {
            if (res.data.resultCode == 1) {
              let data = res.data.data;
              data.forEach(x => {
                let obj = {
                  ID: x.ID,
                  Name: x.Alias,
                  Nom: 0,
                }
                accountList.push(obj)
              })
              this.accountList = accountList;
            }
          }, err => {})
        }
        if (t == 2) { //平台账户
          let msg = {
            BackId: 0,
            TypeId: i,
            BranchId: -1,
            Alias: ''
          }
          this.apipost('BankAccount_post_GetPlatformList', msg, res => {
            if (res.data.resultCode == 1) {
              let data = res.data.data;
              data.forEach(x => {
                let obj = {
                  ID: x.ID,
                  Name: x.Alias,
                  Nom: x.PlatformNo
                }
                accountList.push(obj)
              })
              this.accountList = accountList;
            }
          }, err => {})
        }
        if (t == 3) { //现金账户
          let msg = {
            TypeId: i,
            BranchId: -1,
            Alias: ''
          }
          this.apipost('BankAccount_post_GetCashAccountList', msg, res => {
            if (res.data.resultCode == 1) {
              let data = res.data.data;
              data.forEach(x => {
                let obj = {
                  ID: x.ID,
                  Name: x.Alias,
                  Nom: 0
                }
                accountList.push(obj)
              })
              this.accountList = accountList
            }
          }, err => {})
        }
        if (t == 4) { //资金池账户
          let msg = {
            TypeId: i,
            BranchId: -1,
            Alias: ''
          }
          this.apipost('BankAccount_post_GetCashPoolList', msg, res => {
            if (res.data.resultCode == 1) {
              let data = res.data.data;
              data.forEach(x => {
                let obj = {
                  ID: x.ID,
                  Name: x.Alias,
                  Nom: 0
                }
                accountList.push(obj)
              })
              this.accountList = accountList
            }
          }, err => {})
        }

      },
      Financial_post_GetBranchAccountList() { //获取交易方式列表
        this.apipost('Financial_post_GetBranchAccountList', {}, res => {
          if (res.data.resultCode == 1) {
            this.BranchAccountList = res.data.data;
          }
        }, err => {})
      },
      getDepartment() { //部门
        this.apipost('admin_get_DepartmentGetList', this.getDepartmentMsg, res => {
          if (res.data.resultCode == 1) {
            this.DepartmentList = res.data.data;
          }
        }, err => {})
      },
      getEmployee() { //员工
        this.apipost('admin_get_EmployeeGetList', this.employeeMsg, res => {
          if (res.data.resultCode == 1) {
            this.EmployeeList = res.data.data;
          }
        }, err => {})
      },
      getCompanyList() { //获取公司列表
        this.apipost('admin_get_BranchGetList', this.getCompanyMsg, res => {
          if (res.data.resultCode == 1) {
            this.CompanyList = res.data.data;
          } else {}
        }, err => {})
      },
      Financial_post_GetConditionList() { //获取财务单据枚举列表
        this.apipost('Financial_post_GetConditionList', {}, res => {
          if (res.data.resultCode == 1) {
            this.ConditionList = res.data.data;
          } else {}
        }, err => {})
      },
      financeinfo_post_GetList() { // 币种类型
        this.apipost('financeinfo_post_GetList', {
          Name: ''
        }, res => {
          if (res.data.resultCode == 1) {
            this.currencyTypeList = res.data.data;
          } else {

          }
        }, err => {})
      },
      financeinfo_post_GetCostTypeList() { // 费用类型
        this.apipost('financeinfo_post_GetCostTypeList', {
          Name: '',
          type: 0,
          DepartIDs: this.DepartIDs,
          IsBalanceOfTheQuery: 1
        }, res => {
          if (res.data.resultCode == 1) {
            this.GetCostTypeList = res.data.data;
          } else {

          }
        }, err => {})
      },
      FinancialFlowTemplate_post_GetList() { // 单据类型
        this.apipost('Financial_post_GetList', {}, res => {
          if (res.data.resultCode == 1) {
            this.TemplateGetList = res.data.data;
          } else {

          }
        }, err => {})
      },
      timeAdd(t) { // 日期格式
        if (t == 1) { //制单日期
          if (!this.productionDate) {
            this.msg.sDate = '';
            this.msg.eDate = '';
            return
          }
          this.msg.sDate = this.productionDate[0];
          this.msg.eDate = this.productionDate[1];
        }
        if (t == 2) { //审批日期
          if (!this.approvalDate) {
            this.dateStart = '';
            this.dateEnd = '';
            return
          }
          this.dateStart = this.approvalDate[0];
          this.dateEnd = this.approvalDate[1];
        }
        if (t == 3) { //交易日期
          if (!this.transactionDate) {
            this.msg.sTradeDate = '';
            this.msg.eTradeDate = '';
            return
          }
          this.msg.sTradeDate = this.transactionDate[0];
          this.msg.eTradeDate = this.transactionDate[1];
        }
        if (t == 4) { //发团日期
          if (!this.missionDate) {
            this.dateStart = '';
            this.dateEnd = '';
            return
          }
          this.msg.QStartDate = this.missionDate[0];
          this.msg.QEndDate = this.missionDate[1];
        }
      },
      queryInfoInit() { // 初始化msg
        let msg = {
          pageIndex: this.msg.pageIndex,
          pageSize: 6,
          FrID: this.msg.FrID == 0 ? '' : this.msg.FrID,
          sDate: this.msg.sDate,
          eDate: this.msg.eDate,
          Status: this.msg.Status,
          TemplateId: this.msg.TemplateId,
          RB_Branch_Id: this.msg.RB_Branch_Id,
          RB_Depart_Id: this.msg.RB_Depart_Id,
          UpdateBy: this.msg.UpdateBy,
          sTradeDate: this.msg.sTradeDate,
          eTradeDate: this.msg.eTradeDate,
          ClientType: this.msg.ClientType,
          RemitterName: this.msg.RemitterName,
          ClientID: this.msg.ClientID,
          sMoney: this.msg.sMoney,
          eMoney: this.msg.eMoney,
          CurrencyId: this.msg.CurrencyId,
          CostTypeID: this.msg.CostTypeID,
          Conditon: this.msg.Conditon,
          TCNUM: this.msg.TCNUM == 0 ? "" : this.msg.TCNUM,
          TradeWay: this.msg.TradeWay == 0 ? "" : this.msg.TradeWay,
          Type: this.msg.Type,
          AccountType: this.msg.AccountType == 0 ? '' : this.msg.AccountType,
          QEndDate: this.msg.QEndDate,
          QStartDate: this.msg.QStartDate,
          OrderID: this.msg.OrderID == 0 ? '' : this.msg.OrderID,
          Sort: this.msg.Sort,
          EmployeeId: this.msg.EmployeeId,
          KJCostTypeId: this.msg.KJCostTypeId == 0 ? '' : this.msg.KJCostTypeId,
          IsSelectKJSetCostType: this.msg.IsSelectKJSetCostType == 0 ? '' : this.msg.IsSelectKJSetCostType,
        }
        this.msg = msg;
      },
      handleCurrentChange(val) { //翻页
        this.msg.pageIndex = val;
        this.getPageList();
      },
      resetPageIndex() { // 重置页码
        this.msg.pageIndex = 1;
        this.currentPage = 1;
      },
      goUrlDetail(path, rowData) {
        this.$router.push({
          path: path,
          query: {
            id: rowData.FrID,
            blank: 'y',
            tab: rowData.FrID + this.$t('objFill.documentparticulars')
          }
        })
      },
      goUrl(path, id, Conditon, pageIndex) {
        this.$router.push({
          name: path,
          query: {
            "id": id,
            "Conditon": Conditon,
            "pageIndex": pageIndex,
            blank: 'y',
            tab: '单据详情'
          }
        })
      },
      goEit(path, type, id, edit, Conditon, pageIndex) {
        this.$router.push({
          name: path,
          query: {
            "type": type,
            "FrID": id,
            "edit": edit,
            "Conditon": Conditon,
            "pageIndex": pageIndex
          }
        })
      },
      showfeiyong(row) {
        this.apipost('Financial_get_GetFinanceCostTypeList', {
          FrId: row.FrID
        }, res => {
          if (res.data.resultCode == 1) {
            this.trabeList = res.data.data
            this.costmode = true
          }
        }, err => {})
      },
      shouxufei(row) {
        this.transTax.FrId = row.FrID;
        this.transactionTax = true
      },
      shouxufei_car(row) {
        this.transTax.FrId = row.FrID;
        this.transactionTax_car = true
      },
      close() {
        this.transactionTax = false
        this.transactionTax_car =false
      },
      showhuilv(row) {
        this.trabeListHL = row
        this.costmodeHL = true
        return
        this.apipost('Financial_get_GetFinanceRate', {
          FinanceId: row.FrID
        }, res => {
          if (res.data.resultCode == 1) {
            this.trabeListHL = []
            this.trabeListHL.push(res.data.data[0])
            this.costmodeHL = true
          }
        }, err => {})
      },
      getAccountList2(val, index, type) {
        if (type) {
          //获取账户类型对应下的账户列表
          this.alltransaction.map(x => {
            if (x.Id == val) {
              this.trabeList[index].list = x.list;
              return;
            }
          });
        } else {
          this.GetCostTypeList.map((x) => {
            if (x.ID == val) {
              this.trabeList[index].CostTypeName = x.Name;
              return
            }
          })
        }
      },
      getAccountList3(x, y) {
        x.list.map(item => {
          if (x.AccountId == item.ID) {
            this.trabeList[y].Type = item.BankType;
            return;
          }
        });
      },
      preservetransaction(type) { //保存费用类型的修改
        let msg = [];
        if (type) {
          //保存交易方式

          this.trabeList.forEach(x => {
            let obj = {
              ID: x.ID,
              Type: x.Type,
              AccountId: x.AccountId
            };
            msg.push(obj);
          });
          this.loadingTranMode = true
          this.apipost(
            "Financial_get_SetFinanceTrabeInfo",
            msg,
            res => {
              if (res.data.resultCode == 1) {
                this.$message.success(res.data.message);
                this.transactionmode = false;
                this.getPageList();
              } else {
                this.Error(res.data.message);
              }
              this.loadingTranMode = false
            },
            err => {}
          );
        } else {
          this.trabeList.forEach(x => {
            let obj = {
              ID: x.ID,
              FinanceId: x.FinanceId,
              CostTypeId: x.CostTypeId,
              CostTypeName: x.CostTypeName,
            }
            msg.push(obj)
          })
          this.apipost('Financial_get_SetFinanceCostTypeInfo', msg, res => {
            if (res.data.resultCode == 1) {
              this.$message.success(res.data.message);
              this.costmode = false
              this.getPageList()
            } else {
              this.Error(res.data.message);
            }
          }, err => {})
        }

      },
      getRate(value) {
        return this.moneyFormatB(value)
      },
      preservetransactionHL() { //保存费率的修改
        let msg = []
        this.trabeListHL.forEach(x => {
          let obj = {
            FrId: x.FinanceId,
            Rate: this.moneyFormatB(x.Rate),
          }
          msg = obj
        })
        this.apipost('Financial_post_UpdateFinanceCurrencyRate', msg, res => {
          if (res.data.resultCode == 1) {
            this.$message.success(res.data.message);
            this.costmodeHL = false
            this.getPageList()
          } else {
            this.Error(res.data.message);
          }
        }, err => {})
      }

    }
  }

</script>