<style scoped>
  .row {
    display: flex;
  }

  .row-c {
    display: flex;
    align-items: center;
  }

  .column {
    display: flex;
    flex-direction: column;
  }

  .column-jac {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }

  .column-ac {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .wrap {
    flex-wrap: wrap;
  }

  .justify-sb {
    justify-content: space-between;
  }

  .justify-c {
    justify-content: center;
  }

  .justify-e {
    justify-content: flex-end;
    align-items: flex-end;
  }

  .flex-g {
    flex-grow: 1;
  }

  .flex-s {
    flex-shrink: 0;
  }

  .align-c {
    align-items: center;
  }

  .cblack {
    color: black;
  }

  .cf {
    color: #ffffff;
  }

  .c9e {
    color: #9e9e9e;
  }

  .c20C997 {
    color: #20c997;
  }

  .c02C854 {
    color: #02c854;
  }

  .cff9800 {
    color: #ff9800;
  }

  .cF1416C {
    color: #f1416c;
  }

  .cF57A98 {
    color: #f57a98;
  }

  .c04C8C8 {
    color: #04c8c8;
  }

  .c059FF6 {
    color: #059ff6;
  }

  .c3FC4FF {
    color: #3fc4ff;
  }

  .fz10 {
    font-size: 10px;
  }

  .fz11 {
    font-size: 11px;
  }

  .fz12 {
    font-size: 12px;
  }

  .fz13 {
    font-size: 13px;
  }

  .fz14 {
    font-size: 14px;
  }

  .fz15 {
    font-size: 15px;
  }

  .fz16 {
    font-size: 16px;
  }

  .fz17 {
    font-size: 17px;
  }

  .fz18 {
    font-size: 18px;
  }

  .fbold {
    font-weight: bold;
  }

  .ml {
    margin-left: 10px;
  }

  .mr {
    margin-right: 10px;
  }

  .mt {
    margin-top: 10px;
  }

  .mt20 {
    margin-top: 20px;
  }

  .mb {
    margin-bottom: 10px;
  }

  .mb20 {
    margin-bottom: 20px;
  }

  .mx {
    margin-left: 10px;
    margin-right: 10px;
  }

  .mx5 {
    margin-left: 5px;
    margin-right: 5px;
  }

  .mb5 {
    margin-bottom: 5px;
  }

  .py {
    padding: 15px 0;
  }

  .py5 {
    padding: 5px 0;
  }

  .px5 {
    padding: 0 5px;
  }

  .px15 {
    padding: 0 15px;
  }

  .pa15 {
    padding: 15px;
  }

  .py20 {
    padding: 20px 0;
  }

  .pb5 {
    padding: 0 0 5px 0;
  }

  .pa {
    padding: 10px 20px;
  }

  .pa20 {
    padding: 20px;
  }

  .pt20 {
    padding: 20px 0;
  }

  .borderD {
    border-bottom: 1px dashed #dddddd;
  }

  .bgf {
    background: #ffffff;
  }

  .bgf5 {
    background: #f5f5f5;
  }

  .bgE8F5E9 {
    background: #e8f5e9;
  }

  .bgD9F3FF {
    background: #d9f3ff;
  }

  .bgFAEAED {
    background: #faeaed;
  }

  .bj {
    background: #ffffff;
  }

  .bjFFF3E0 {
    background: #FFF3E0;
  }

  .radius5 {
    border-radius: 5px;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .relative {
    position: relative;
  }

  .absolute {
    position: absolute;
  }

  .left0 {
    left: 0;
  }

  .right0 {
    right: 0;
  }

  .top0 {
    top: 0;
  }

  .bottom0 {
    bottom: 0;
  }

  .left20 {
    left: 020px;
  }

  .right20 {
    right: 20px;
  }

  .top20 {
    top: 20px;
  }

  .bottom20 {
    bottom: 20px;
  }

  .text-center {
    text-align: center;
  }

  .orderType {
    padding: 3px 15px;
    border-radius: 3px;
    background: #f57a98;
    margin-right: 15px;
  }

  .orderType.active {
    background: #4dd0e1;
  }

  .orderType.activeNo {
    background: #E95252;
  }

  .copy {
    display: inline-block;
    padding: 3px 15px;
    border-radius: 3px;
    margin-left: 20px;
  }

  .copy:hover {
    background: #f5f5f5;
  }

  .see-rec div {
    padding: 1px 5px;
    border-radius: 3px;
  }

  .see {
    border: 1px solid #04c8c8;
  }

  .seeLK {
    border: 1px solid #059ff6;
  }

  .see:hover {
    background-color: rgba(4, 200, 200, 0.1);
  }

  .rec {
    border: 1px solid #04c8c8;
    background-color: rgba(4, 200, 200, 1);
  }

  .rec:hover {
    border: 1px solid rgba(4, 200, 200, 0.9);
    background-color: rgba(4, 200, 200, 0.9);
  }

  .cancel:hover {
    background-color: #f3dce2;
  }

  .confirm:hover {
    background-color: #dcedc8;
  }

  .change:hover {
    background-color: #d7e9f3;
  }

  .change1:hover {
    background-color: #dcedc8;
  }

  .orderop {
    text-align: center;
  }

  .orderop div {
    width: auto;
    height: 30px;
    display: flex;
    padding: 0 5px;
    justify-content: center;
  }

  .RoomList div {
    border-bottom: 1px solid #e7e7e7;
  }

  .RoomList div:last-child {
    border: 0;
  }

  .el-table {
    font-size: 13px;
  }

  .shezhifrom {
    position: relative;
  }

  .shebox {
    position: absolute;
    top: 0;
    left: -100px;
    display: none;
  }

  .shezhifrom:hover .shebox {
    display: block;
  }

  .flexOne-form-bj h3 {
    font-size: 18px;
    color: black;
    padding: 0 0 20px 0;
    font-weight: 400;
  }

  .flexOne-type {
    display: flex;
    align-items: center;
    padding: 0 0 20px 0;
  }

  .flexOne-type b {
    font-size: 13px;
    width: 100px;
    flex-shrink: 0;
  }

  .flexOne-type div {
    display: flex;
  }

  .flexOne-description {
    padding: 15px 15px;
    border-radius: 5px;
    background: #E1F5FE;
    margin-bottom: 20px;
  }

  .flexOne-description b {
    font-size: 14px;
  }

  .flexOne-description p {
    font-size: 12px;
    color: #4C5759;
    padding: 10px 0 0 0;
  }

  .flexOne-infor-box b {
    font-size: 13px;
  }

  .infor-list {
    display: flex;
    flex-direction: column;
  }

  .list-title {
    padding: 20px 0;
    border-bottom: 1px dashed #eeeeee;
    color: #7E8299;
    font-size: 13px;
  }

  .list-title,
  .list-centent {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
  }

  .infor-list li {
    width: 25%;
  }

  .list-centent li {
    width: 33.33%;
  }

  .list-centent.active li {
    width: 25%;
  }

  /deep/.el-table tr td:first-child {
    border-bottom: 0;
  }

  /deep/.el-table tr:last-child td {
    border-bottom: 1px solid #EBEEF5;

  }

  /deep/.el-table tr td {
    border-bottom: 1px solid #EBEEF5;

  }

</style>

<template>
  <div>

    <div style="text-align: right;position: fixed;top:  62px; right: 89px;">
      <el-button class="hollowFixedBtn" v-if="pagesTitle=='OP'" @click="setCompleted" :loading="CompletedLoading">{{$t('objFill.oneclickfinish')}}
      </el-button>
    </div>
    <el-table ref="multipleTable" :data="OrderList" tooltip-effect="dark" style="width: 100%" row-key="OrderId"
      @selection-change="handleSelectionChange" :empty-text="$t('system.content_noData')">
      <el-table-column type="selection" :selectable="selectable" :reserve-selection="true" v-if="pagesTitle=='OP'">
      </el-table-column>
      <el-table-column :label="pagesTitle=='OP'?$t('system.table_chekAll'):''">
        <template slot-scope="scope">
          <div class="row-c justify-sb align-c py">
            <div class="row-c">
              <div>
                <div class="orderType cf fz12"
                  :class="{ active: scope.row.MailingState == 1,activeNo: scope.row.MailingState == 4 }">
                  <template v-if="scope.row.MailingState == 1">{{$t('objFill.zixingqujian')}}</template>
                  <template v-if="scope.row.MailingState > 1&&scope.row.MailingState < 4">{{$t('objFill.youjipiaoquan')}}</template>
                  <template v-if="scope.row.MailingState == 4">{{$t('objFill.dianziquan')}}</template>
                </div>
              </div>
              <div class="cblack fz14 mr"
                :class="{ cF1416C: scope.row.IsFinish == 0,c20C997: scope.row.IsFinish == 1 }">
                <template v-if="scope.row.IsFinish == 1">
                  {{$t('objFill.finished')}} <template v-if="scope.row.FinishTime">/ {{scope.row.FinishTime}}</template>
                </template>
                <template v-else>
                  {{$t('objFill.uncompleted')}}
                </template>
              </div>
              <div class="c9e fz12">
                <span>{{$t('OrderList.search.orderNum')}}:</span>
                <span>{{ scope.row.OrderNo }}({{ scope.row.OrderId}})</span>
                <span class="copy cblack cursor-pointer" v-if="copyId != scope.row.OrderId"
                  @click="CopyHandler(scope.row)">{{$t('objFill.copy')}}</span>
                <span class="copy c059FF6 bgD9F3FF cursor-pointer" v-else><i class="el-icon-check mr"></i>{{$t('objFill.copied')}}</span>
              </div>
            </div>
            <div class="c9e fz12">
              <span v-if="scope.row.Name||scope.row.EName">{{$t('objFill.guestinfor')}}:{{ scope.row.Name }}({{ scope.row.EName }})<template
                  v-if="scope.row.Mobile"> /{{ scope.row.Mobile }}</template></span>
              <span v-if="pagesTitle!='销售'">
                <template v-if="scope.row.Name||scope.row.EName"> /</template>{{$t('salesModule.Laiyuan')}}<template
                  v-if="!scope.row.OrderSource&&!scope.row.CustomerId">{{$t('visaT.sale')}}</template>
                <template v-if="!scope.row.OrderSource&&scope.row.CustomerId>0">B2B</template>
                <template v-if="scope.row.OrderSource==1">B2C</template>
              </span>
            </div>
            <div class="row c9e fz12">
              <span class="mr" v-if="scope.row.LureEmpName">{{$t('objFill.yinliuren')}}:{{ scope.row.LureEmpName }}</span>
              <span class="mr">{{$t('visaT.sale')}}:{{ scope.row.SaleName }}</span>
              <span class="mr" v-if="scope.row.OpName&&pagesTitle=='OP'">{{$t('objFill.guanlian')}}OP:{{ scope.row.OpName }}</span>
              <span class="mr" v-if="scope.row.CustomerName">{{$t('active.cl_addPp')}}:{{ scope.row.CustomerName }}
                ({{ scope.row.CustomerContact }}<template v-if="scope.row.CustomerTel">/{{
            scope.row.CustomerTel
          }}</template>)</span>
              <span class="mr">{{$t('OrderList.search.daterange')}}:{{ scope.row.CreateTime }}</span>
              <div class="">
                <i class="mx5" :class="{
              'el-icon-alarm-clock c20C997': scope.row.OrderStatus == 1,
              'el-icon-check cblack': scope.row.OrderStatus == 2,
              'el-icon-warning cff9800': scope.row.OrderStatus == 3,
              'el-icon-refresh cF1416C': scope.row.OrderStatus == 4
            }"></i>
                <span class="fz12 cblack" :class="{
              c20C997: scope.row.OrderStatus == 1,
              cblack: scope.row.OrderStatus == 2,
              cff9800: scope.row.OrderStatus == 3,
              cF1416C: scope.row.OrderStatus == 4
            }">
                  {{ scope.row.OrderStatusName }}
                </span>
              </div>
            </div>
          </div>
          <div class="mb">
            <el-table :data="scope.row.DetailList" style="width:100%" border>
              <el-table-column :label="$t('scen.sc_resName')+'('+$t('sm.Date')+')'" min-width="100" style="background:#EAEAEA">
                <template slot-scope="scopes">
                  <template>
                    <div>{{scope.row.CouponsName }}</div>
                    <span style="color: #999999;">{{ scope.row.UseDate }}</span>
                  </template>
                </template>
              </el-table-column>
              <el-table-column :label="$t('objFill.piaoquanname')" style="background:#EAEAEA">
                <template slot-scope="scope">
                  {{ scope.row.TicketName }}
                </template>
              </el-table-column>
              <el-table-column :label="$t('restaurant.res_Number')" style="background:#EAEAEA">
                <template slot-scope="scope">
                  {{ scope.row.Num }}
                </template>
              </el-table-column>
              <el-table-column :label="$t('ground.xiaoji')" min-width="70" style="background:#EAEAEA">
                <template slot-scope="scope">
                  <span class="fz15 fbold">{{ scope.row.Money.toFixed(2) }}</span>
                </template>
              </el-table-column>
              <template slot="append"
                v-if="(scope.row.Remark||scope.row.OPRemark||scope.row.isMore)||(scope.row.OrderStatus>1&&scope.row.OrderStatus!=3)">
                <div v-if="(scope.row.OrderStatus>1&&scope.row.OrderStatus!=3)||scope.row.Remark"
                  style="padding:10px;color:#f1416c">{{$t('pub.Customer')+$t('fnc.beizhu')}}{{scope.row.Remark}}
                  <i v-if="pagesTitle=='销售'&&scope.row.OrderStatus>1&&scope.row.OrderStatus!=3"
                    class="el-icon-edit cursor-pointer c059FF6 mx" @click="editRemark(scope.row)"></i></div>
                <div v-if="(scope.row.OrderStatus>1&&scope.row.OrderStatus!=3)||scope.row.OPRemark"
                  style="padding:10px;color:#f1416c"
                  :style="{'padding':!scope.row.Remark&&scope.row.isMore?'0 10px 30px 10px':'0 10px 10px 10px'}">
                  OP{{$t('fnc.beizhu')}}{{scope.row.OPRemark}}
                  <i v-if="pagesTitle=='OP'&&scope.row.OrderStatus>1&&scope.row.OrderStatus!=3"
                    class="el-icon-edit cursor-pointer c059FF6 mx" @click="editRemark(scope.row)"></i>
                </div>
              </template>
            </el-table>
          </div>

          <el-table :data="scope.row.list" style="width:100%" border v-if="scope.row.OrderStatus!=3">
            <el-table-column :label="$t('fnc.shishou')" min-width="100">
              <template slot-scope="scope">
                <span class="fz15 fbold">{{ scope.row.Income ? scope.row.Income : "-" }}</span>
              </template>
            </el-table-column>
            <el-table-column :label="$t('hotel.hotel_cost')" min-width="100">
              <template slot-scope="scope">
                <span class="fz15 fbold">{{ scope.row.CostMoney ? scope.row.CostMoney : "-" }}</span>
              </template>
            </el-table-column>
            <el-table-column :label="$t('fnc.ptshuijin')" min-width="100">
              <template slot-scope="scope">
                <span class="fz15 fbold">{{
              scope.row.PlatformTax ? scope.row.PlatformTax : "-"
            }}</span>
              </template>
            </el-table-column>
            <el-table-column :label="$t('fnc.tuikuan')" min-width="100">
              <template slot-scope="scope">
                <span class="fz15 fbold">{{ scope.row.Refund ? scope.row.Refund : "-" }}</span>
              </template>
            </el-table-column>
            <el-table-column :label="$t('Operation.Op_platZaitu')" min-width="100">
              <template slot-scope="scope">
                <span class="fz15 fbold">{{ scope.row.PlatformMoney ? scope.row.PlatformMoney : "-" }}</span>
              </template>
            </el-table-column>
            <el-table-column :label="$t('op.Tocollected')" min-width="100">

              <template slot-scope="scope">
                {{scope.row.DueInMoney}}
                <span class="fz15 fbold" :class="{'cF1416C':scope.row.DueInMoney>0}">

                </span>
              </template>
            </el-table-column>
            <el-table-column :label="$t('restaurant.res_profit')" min-width="100">
              <template slot-scope="scope">
                <span
                  class="fz15 fbold">{{ scope.row.Income-scope.row.CostMoney-scope.row.Refund>0?(scope.row.Income-scope.row.CostMoney-scope.row.Refund).toFixed(2):'-' }}</span>
              </template>
            </el-table-column>
            <el-table-column
              v-if="(scope.row.SellCommission&&scope.row.SellCommission>0)||(scope.row.OPCommission&&scope.row.OPCommission>0)"
              :label="$t('salesModule.Commission')" style="background:#EAEAEA">
              <template slot-scope="scope">
                <div class="width100-float-l" v-if="scope.row.SellCommission&&scope.row.SellCommission>0"><span
                    class="float-l">{{$t('visaT.sale')}}:</span>
                  <commissionDialog :objNew="scope.row" :OP="0"></commissionDialog>
                </div>
                <div class="width100-float-l" v-if="scope.row.OPCommission&&scope.row.OPCommission>0"><span
                    class="float-l">OP:</span>
                  <commissionDialog :objNew="scope.row" :OP="1"></commissionDialog>
                </div>
              </template>
            </el-table-column>
          </el-table>

          <div class="row justify-sb mt mb20">
            <div class="column px15 bjFFF3E0 radius5 flex-g pa relative" style="max-width: 300px;min-width: 150px;">
              <div class="fz12 row justify-sb" v-if="scope.row.MailingState != 4">
                <span>{{ scope.row.MailingState > 1 ? $t('system.shohudizhi')+':':$t('system.ziqudizhi')+':' }}</span>
                <div :class="{ 'cF1416C': scope.row.MailingState == 2, 'c02C854': scope.row.MailingState == 3 }">
                  <template v-if="scope.row.MailingState == 2">
                    {{$t('objFill.dengdaipeisong')}}
                  </template>
                  <template v-if="scope.row.MailingState == 3">
                    {{$t('objFill.yipeisong')}}
                  </template>
                </div>
              </div>
              <div class="row wrap orderNo fz12 c9e">
                <template v-if="scope.row.MailingState == 2 || scope.row.MailingState == 3">
                  {{ scope.row.MailingAddress }}
                </template>
                <template v-else>
                  <template v-if="scope.row.MailingState == 1">
                    {{ scope.row.SelffetchAddress ? scope.row.SelffetchAddress : $t('objFill.dengdaiquerenziqudz') }}
                  </template>
                  <div class="row" style="margin-right: 10px;" v-if="scope.row.MailingState==4">
                    <div class="column">
                      <template v-if="scope.row.TicketCodeFile">
                        <div class="wrap fz12 c9e">
                          {{$t('objFill.dianziquan')}}
                        </div>
                        <div class="row fz12 see-rec mt">
                          <div class="text-accent q-mr-md c">
                            {{ scope.row.TicketCodeFile.split("/").at(-1) }}
                          </div>
                          <div class="cursor-pointer ml mr rec cf">
                            <a class="cf" style="text-decoration:none" :href="scope.row.TicketCodeFile">{{$t('objFill.xz')}}</a>
                          </div>
                        </div>
                      </template>
                      <template v-if="scope.row.MailingState==4&&pagesTitle!='销售'&&!scope.row.TicketCodeFile">
                        <div class="fz12 mt c9e">
                          {{$t('objFill.dianziquanxu')}}
                          <span class="cff9800">{{scope.row.UseDate}}</span> {{$t('objFill.qian')}}
                        </div>
                        <div class="row fz12 see-rec mt">
                          <el-upload ref="my-upload" :http-request="uploadFileBtn" v-loading="loadingDZP"
                            :multiple="true" :show-file-list="false" action="">
                            <div :class="{'cursor-pointer seeLK c059FF6':!loadingDZP,
                            'cursor-pointer see c04C8C8':loadingDZP}" @click="uploadOrderId=scope.row.OrderId">{{$t('objFill.updianziquan')}}
                            </div>
                          </el-upload>
                        </div>
                      </template>
                      <template v-if="scope.row.MailingState==4&&pagesTitle=='销售'&&!scope.row.TicketCodeFile">
                        {{$t('objFill.dengdaiquerendzqdz')}}
                      </template>
                    </div>
                  </div>
                </template>
              </div>
            </div>
            <div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
              <div class="fz12">{{$t('fnc.skdanju')}}</div>
              <div class="row wrap orderNo fz12 py">
                <span class="cursor-pointer radius5 mr mb px5" :class="{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
            'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}" v-for="(x, i) in scope.row.IncomeList"
                  @click="openDetails(x)">{{ x.FrID }}</span>
                <span v-if="scope.row.IncomeList.length == 0" class="c9e fz12">
                  {{$t('objFill.nocollectiondocument')}}
                </span>
              </div>
              <el-tooltip v-if="scope.row.OrderStatus == 2" class="item" effect="dark" :content="$t('objFill.preparedocument')" placement="top">
                <i class="absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
                  @click="makeAdocument(scope.row, scope.$index, 1)"></i>
              </el-tooltip>
            </div>
            <div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
              <div class="fz12">{{$t('objFill.refundreceipt')}}</div>
              <div class="row wrap orderNo fz12 py">
                <span class="cursor-pointer radius5 mr mb px5" :class="{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
            'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}" v-for="(x, i) in scope.row.RefundList"
                  @click="openDetails(x)">{{ x.FrID }}</span>
                <span v-if="scope.row.RefundList.length == 0" class="c9e fz12">
                  {{$t('objFill.norefundreceipt')}}
                </span>
              </div>
              <el-tooltip v-if="scope.row.OrderStatus == 2" class="item" effect="dark" :content="$t('objFill.preparedocument')" placement="top">
                <i class="absolute right20 bottom20 el-icon-circle-plus cursor-pointer c059FF6"
                  @click="makeAdocument(scope.row, scope.$index, 2)"></i>
              </el-tooltip>
            </div>
            <div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px">
              <div class="fz12">{{$t('objFill.costdocument')}}</div>
              <div class="row wrap orderNo fz12 py">
                <span class="cursor-pointer radius5 mr mb px5" :class="{'bgD9F3FF':x.Status==1,'bgFAEAED':x.Status==2,'bjFFF3E0':x.Status==3,
            'c3FC4FF':x.Status==1,'cF1416C':x.Status==2,'cff9800':x.Status==3}" v-for="(x, i) in scope.row.CostList"
                  @click="openDetails(x)">{{ x.FrID }}</span>
                <span v-if="scope.row.CostList.length == 0" class="c9e fz12">
                  {{$t('objFill.nocostdocument')}}
                </span>
              </div>
              <div class="item absolute right20 bottom20" v-if="scope.row.OrderStatus == 2 && pagesTitle != '销售'">
                <el-tooltip class="" effect="dark" :content="$t('objFill.preparedocument')" placement="top">
                  <i class="el-icon-circle-plus cursor-pointer c059FF6" @click="makeAdocument(scope.row, scope.$index, 3)"></i>
                </el-tooltip>
                <el-tooltip v-if="scope.row.OrderStatus == 2" class="" effect="dark" :content="$t('objFill.balanceout')" placement="top">
                  <i class="el-icon-circle-plus cursor-pointer c3FC4FF" @click="isOffset(scope.row, scope.$index, 3)"></i>
                </el-tooltip>
              </div>
            </div>
            <div class="column px15 bgf5 radius5 ml flex-g pa relative" style="min-width: 150px;max-width:400px" v-if="userInfo&&userInfo.RB_Group_id==2">
              <div class="fz12">{{$t('objFill.invoicedocument')}}</div>
              <div class="row wrap orderNo fz12 py">
                <span class="cursor-pointer radius5 mr px5" :class="{'bgD9F3FF':x.InvoiceApplyState===6,'bgFAEAED':x.InvoiceApplyState===1||x.InvoiceApplyState===3,
            'bjFFF3E0':x.InvoiceApplyState===2||x.InvoiceApplyState===4||x.InvoiceApplyState===5,
            'c3FC4FF':x.InvoiceApplyState===6,'cF1416C':x.InvoiceApplyState===1||x.InvoiceApplyState===3,
            'cff9800':x.InvoiceApplyState===2||x.InvoiceApplyState===4||x.InvoiceApplyState===5}"
                  v-for="(x, i) in scope.row.InvoiceApplyList" @click="openDetails(x,scope.row)">{{ x.ID }}</span>
                <span v-if="scope.row.InvoiceApplyList&&scope.row.InvoiceApplyList.length == 0" class="c9e fz12">
                  {{$t('objFill.noinvoicedocument')}}
                </span>
              </div>
            </div>
            <div class="column justify-c px15 bgf5 radius5 ml flex-g pa20" style="min-width: 230px;">
              <div class="row-c justify-sb pb5"
                :class="{'borderD':scope.row.MailingMoney>0||scope.row.DiscountsMoney>0}">
                <span class="fz12 c9e">{{$t('objFill.dindanzongjiae')}}</span>
                <div class="ml">
                  <span class="fz15 fbold">{{ scope.row.Money.toFixed(2) }}</span>
                  <span class="fz12">{{ scope.row.CurrencyName }}</span>
                </div>
              </div>
              <div class="row-c justify-sb py5" v-if="scope.row.MailingMoney>0"
                :class="{'borderD':scope.row.DiscountsMoney>0}">
                <span class="fz12 c9e">{{$t('objFill.youjifei')}}</span>
                <div class="ml">
                  <span class="fz14">{{ scope.row.MailingMoney.toFixed(2) }}</span>
                  <span class="fz12 ml">{{ scope.row.CurrencyName }}</span>
                </div>
              </div>
              <div class="row-c justify-sb py5" v-if="scope.row.DiscountsMoney>0">
                <span class="fz12 c9e">{{$t('sm.youhuijine')}}</span>
                <div class="ml">
                  <span class="fz14">{{ scope.row.DiscountsMoney.toFixed(2) }}</span>
                  <span class="fz12">{{ scope.row.CurrencyName }}</span>
                </div>
              </div>
            </div>
            <!--  v-if="item.OrderStatus > 0 && item.OrderStatus < 4 && item.OrderStatus != 3" -->
            <div class="row-c wrap justify-c px15 bgE8F5E9 radius5 ml fz12 orderop flex-s">
              <div v-if="
            scope.row.OrderStatus == 1 &&
            scope.row.IncomeList.length == 0 &&
            scope.row.RefundList.length == 0 &&
            scope.row.CostList.length == 0 && scope.row.OrderSource!=1
          " class="row-c cursor-pointer radius5 cancel py5" @click="clickRightButtom(scope.row, 0)">
                <i v-loading="msg.OrderId == scope.row.OrderId && loading0"></i>
                <span class="cF1416C">{{$t('sm.exitOrder')}}</span>
              </div>
              <div v-if="scope.row.OrderStatus == 1 && pagesTitle != '销售' && scope.row.OrderSource!=1"
                class="row-c cursor-pointer radius5 confirm py5" @click="clickRightButtom(scope.row, 1)">
                <i v-loading="msg.OrderId == scope.row.OrderId && loading1"></i>
                <span class="c20C997">{{$t('ground.qrendindan')}}</span>
              </div>
              <div v-if="scope.row.OrderStatus == 2 && scope.row.MailingState == 2 && pagesTitle != '销售'"
                class="row-c cursor-pointer radius5 cancel py5" @click="clickRightButtom(scope.row, 2)">
                <i v-loading="msg.OrderId == scope.row.OrderId && loading1"></i>
                <span class="cF1416C">{{$t('objFill.youji')}}</span>
              </div>
              <!-- <div v-if="item.OrderStatus == 2 && item.MailingState == 1 && pagesTitle != '销售'"
            class="row-c cursor-pointer radius5 cancel py5" @click="clickRightButtom(item, 3)">
            <i v-loading="loading1"></i>
            <span class="cF1416C">设置自提地址</span>
          </div> -->
              <!-- <div
            v-if="item.OrderStatus == 2 || item.OrderStatus == 4"
            class="row-c cursor-pointer radius5 change py5"
            @click="goRoomDetails(item, '订房详情')"
          >
            <span class="c059FF6">{{$t('objFill.v101.hote.mingxibj')}}</span>
          </div> -->
              <div v-if="(scope.row.OrderStatus == 1 && pagesTitle == '销售')||(scope.row.OrderStatus >1 && scope.row.OrderStatus != 3
            &&pagesTitle=='OP'&&is_correlationOP)" class="row-c cursor-pointer radius5 change py5"
                @click="goRoomDetails(scope.row, pagesTitle=='销售'?'门票预定变更':'编辑取票方式')">
                <span class="c059FF6">{{pagesTitle=='销售'?$t('objFill.menpiaoyudinbg'):$t('objFill.bianjiqupiaofs')}}</span>
              </div>
              <div v-if="scope.row.OrderStatus > 1" class="row-c cursor-pointer radius5 change1 py5"
                @click="clickRightButtom(scope.row, 4)">
                <i v-loading="msg.OrderId == scope.row.OrderId && loading2"></i>
                <span class="c20C997">{{$t('fnc.shousun')}}</span>
              </div>
              <div v-if="scope.row.OrderStatus >1 && scope.row.OrderStatus != 3
            && scope.row.OrderStatus != 4
            &&pagesTitle=='OP'&&is_correlationOP" class="row-c cursor-pointer radius5 change py5"
                @click="clickCorrelation(scope.row,1)">
                <span class="c059FF6">{{$t('pub.edit')}}{{$t('objFill.relevance')}}OP</span>
              </div>
              <div v-if="scope.row.OrderStatus != 3
            &&pagesTitle=='OP'" class="row-c cursor-pointer radius5 change py5" @click="clickCorrelation(scope.row,2)">
                <span class="c059FF6">{{$t('pub.edit')}}{{$t('fnc.a_zongjine')}}</span>
              </div>
              <!-- 申请发票 -->
              <ApplyFoInvoice v-if="userInfo&&userInfo.RB_Group_id==2&&userInfo.EmployeeId==scope.row.EnterID" :obj="scope.row" :type="7"></ApplyFoInvoice>
              <!-- <template v-if="item.OrderStatus==2">
            <div class="column-jac fz12 flex-s c20C997">
              <div class="mb5">{{$t('objFill.v101.Rest.yizhifu')}}</div>
              <div>
                <span class="fbold fz14">{{item.Money.toFixed(2)}}</span>
                <span>日元</span>
              </div>
            </div>
          </template> -->
            </div>
          </div>
          <div class="mt mb20 bgf5 pa15 row-c" v-if="scope.row.CancelRemark">
            <div style="font-size:16px;font-weight:bold;font-family: pingfangR;">{{$t('objFill.groundsforcancellation')}}:</div>
            <div style="margin-left:12px;font-size:12px;color: grey; font-family: microsoft yahei;">
              {{ scope.row.CancelRemark }}
            </div>
            <div style="margin-left:12px;font-size:12px;font-family: microsoft yahei;">
              {{ scope.row.CancelEmpName }} {{ scope.row.CancelTime }}
            </div>
          </div>
        </template>
      </el-table-column>
    </el-table>

    <el-dialog custom-class="w400" :title="typeState == 3 ? $t('objFill.shezhizitidz') : $t('objFill.shezhishoushunje')" :visible.sync="outerVisible">
      <div>
        <el-form label-width="80px" :model="msg" :rules="rules" ref="msg">
          <el-row :gutter="20">
            <!-- <el-col :span="20">
              <el-form-item :label="$t('hotel.hotel_OrderStates')" prop="State">
                <el-select v-model="msg.State" class="w110 HworkInput">
                  <el-option v-for="item in OrderStatusType" :key="item.ID" :label="item.Name" :value="item.ID"></el-option>
                </el-select>
              </el-form-item>
            </el-col> -->
            <el-col :span="20" v-if="typeState == 3">
              <el-form-item :label="$t('objFill.zitidizhi')" prop="SelffetchAddress">
                <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" v-model="msg.SelffetchAddress">
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="20" v-if="typeState == 4">
              <el-form-item :label="$t('salesModule.SSJE')" prop="LossMoney">
                <el-input-number class="w200" v-model="msg.LossMoney" :min="0" :max="10000000"></el-input-number>
              </el-form-item>
            </el-col>
          </el-row>
          <el-row :gutter="20" style="margin-top: 20px;margin-bottom: 20px;">
            <el-col :span="24" style="text-align: right;">
              <input type="button" class="normalBtn" :value="$t('pub.saveBtn')" @click="submitForm('msg')" />
              <input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')"
                @click="(outerVisible = false), $refs['msg'].resetFields()" />
            </el-col>
          </el-row>
        </el-form>
      </div>
    </el-dialog>
    <el-dialog custom-class="w600" :title="$t('sm.exitOrder')" :visible.sync="cancelOrderDialog">
      <div style="padding-bottom:20px">
        <el-input type="textarea" autofocus rows="5" :placeholder="$t('objFill.quxiaodindanyy')" clear="w300" v-model="cancelRemark">
        </el-input>
        <el-row :gutter="20" style="margin-top: 20px;">
          <el-col :span="24" style="text-align: right;">
            <input type="button" class="normalBtn" :value="$t('sm.exitOrder')" @click="cancelOrderHandler" />
            <input type="button" class="hollowFixedBtn" :value="$t('pub.closeSel')" @click="cancelOrderDialog = false" />
          </el-col>
        </el-row>
      </div>
    </el-dialog>
    <!-- 变更订单 -->
    <el-dialog custom-class="w800" :title="pagesTitle=='销售'?$t('objFill.biangendindan'):$t('objFill.bianjiqupiaofs')" :visible.sync="ChangeOrderDialog">
      <div style="padding-bottom:20px">
        <div class="flexOne-form-bj">
          <h3>{{$t('objFill.qupiaofanshi')}}</h3>
          <div class="flexOne-type">
            <b>{{$t('objFill.qupiaofanshi')}}:</b>
            <div>
              <el-radio v-model="msgParameter.MailingState" label="1">{{$t('objFill.zixingqupiao')}}</el-radio>
              <el-radio v-model="msgParameter.MailingState" label="2">{{$t('objFill.youjipiaoquan')}}</el-radio>
              <el-radio v-model="msgParameter.MailingState" label="4">{{$t('objFill.dianziquan')}}</el-radio>
            </div>
          </div>
          <div class="flexOne-description" v-if="msgParameter.MailingState==1">
            <b>{{$t('objFill.zixingqupiaosm')}}</b>
            <p>{{$t('objFill.ziqudizhi')}}:{{msgParameter.SelffetchAddress?msgParameter.SelffetchAddress:'-'}}</p>
          </div>
          <div class="flexOne-infor-box">
            <b>{{msgParameter.MailingState==1?$t('objFill.kerenxunxi'):msgParameter.MailingState==2?$t('objFill.youjixunxi'):''}}</b>
            <el-form v-if="msgParameter.MailingState!=4" label-width="80px" :model="msgParameter" :rules="rules2"
              ref="msgParameter">
              <div class="infor-list">
                </span>
                <div class="list-centent" :class="{ 'active': msgParameter.MailingState == 1 }">
                  <li>
                    <el-form-item :label="$t('admin.admin_Surname')" prop="Name">
                      <el-input v-model="msgParameter.Name" :placeholder="$t('system.ph_name')" />
                    </el-form-item>
                  </li>
                  <li>
                    <el-form-item :label="$t('system.table_ENname')" prop="EName">
                      <el-input v-model="msgParameter.EName" :placeholder="$t('rule.qsrywm')" />
                    </el-form-item>
                  </li>

                  <li>
                    <el-form-item :label="$t('hotel.table_tel')" prop="Mobile">
                      <el-input type="Number" v-model="msgParameter.Mobile" :placeholder="$t('visaT.qsrphone')" />
                    </el-form-item>
                  </li>
                  <li v-if="msgParameter.MailingState == 2">
                    <el-form-item :label="$t('admin.admin_address')" prop="MailingAddress">
                      <el-input style="border-radius: 3px;" v-model="msgParameter.MailingAddress"
                        :placeholder="$t('objFill.qinshuruyoujidz')" />
                    </el-form-item>
                  </li>
                  <li v-if="msgParameter.MailingState == 2">
                    <el-form-item :label="$t('objFill.youjifei')" prop="MailingMoney">
                      <el-input type="Number" style="border-radius: 3px;" v-model="msgParameter.MailingMoney"
                        :placeholder="$t('objFill.qinshuruyoujif')" />
                    </el-form-item>
                  </li>
                  <li class="bottom">
                    <el-form-item :label="$t('system.table_sex')" prop="Sex">
                      <el-radio v-model="msgParameter.Sex" label="1">{{$t('visaT.boy')}}</el-radio>
                      <el-radio v-model="msgParameter.Sex" label="2">{{$t('visaT.girl')}}</el-radio>
                    </el-form-item>
                  </li>
                </div>
              </div>
            </el-form>
            <div v-if="pagesTitle=='销售'" style="margin-top: 20px;">
              <el-input style="width: 100%;" type="textarea" :autosize="{ minRows: 2, maxRows: 4 }"
                v-model="msgParameter.Remark" :placeholder="$t('visaT.Orderremark')" />
            </div>
          </div>
        </div>
        <el-row :gutter="20" style="margin-top: 20px;">
          <el-col :span="24" style="text-align: right;">
            <input type="button" class="hollowFixedBtn" :value="$t('pub.cancelBtn')" @click="ChangeOrderDialog = false" />
            <input type="button" class="normalBtn" :value="$t('pub.sureBtn')" @click="submit2" />
          </el-col>
        </el-row>
      </div>
    </el-dialog>
    <!-- op备注 -->
    <el-dialog custom-class='addCompany' :title="pagesTitle=='销售'?$t('objFill.bianjikehubz'):$t('objFill.bianjiopbz')" :visible.sync="isShowRemark" center
      width="400px">
      <el-row class="flex" style="margin-top: 10px;">
        <el-col>
          <span style="display: block;margin-bottom: 10px;">{{$t('fnc.beizhu')}}</span>
          <span>
            <el-input type="textarea" :rows="4" v-model="postMsg.Remark">
            </el-input>
          </span>
        </el-col>
      </el-row>
      <div slot="footer" class="dialog-footer">
        <button class="hollowFixedBtn" @click="isShowRemark = false">{{$t('pub.cancelBtn')}}</button> &nbsp;
        <button class="normalBtn" type="primary" @click="submitEditRemark">{{$t('pub.sureBtn')}}</button>
      </div>
    </el-dialog>
    <offset :isShow="cdState" :obj="queryObj" @close="cdState=false"></offset>
    <correlationOP :isShowCorrelation="isShowCorrelation" :CorrelationObj="CorrelationObj" @close="close"
      @success="success"></correlationOP>
  </div>
</template>
<script>
  import offset from '../../public/offset.vue';
  import correlationOP from '../../Hotel/reservation/correlationOP.vue';
  import commissionDialog from "../../FinancialModule/TradeCommission/commissionDialog"
  import ApplyFoInvoice from '../../public/ApplyFoInvoice';

  export default {
    components: {
      offset,
      correlationOP,
      commissionDialog,
      ApplyFoInvoice
    },
    props: ["OrderList", "pagesTitle"],
    data() {
      return {
        postMsg: {
          OrderId: 0,
          Type: 1,
          Remark: ''
        },
        isShowRemark: false,
        queryObj: null,
        cdState: false,
        copyId: 0,
        CompletedLoading: false,
        multipleSelection: [],
        loading0: false,
        loading1: false,
        loading2: false,
        loading3: false,
        BillMakingMsg: {
          // PeroidsId: null,
          // Type: null,
          // EmpIds:'',
          OtherType: 61,
          ReFinanceId: "",
          ReFinanceId2: ""
        },
        userInfo: {},
        msg: {
          OrderId: "",
          LossMoney: 0,
          State: '', //状态 1确认 2已邮寄 3设置自提 4收损
          SelffetchAddress: ''
        },
        msgParameter: {
          IsUpdateMailing: 1,
          OrderId: 0,
          Money: 0.0,
          Remark: '',
          MailingState: '1', //邮寄状态 1自取 2邮寄
          MailingAddress: '', //MailingState =2 填写邮寄
          UseDate: '', //门票日期
          Name: '',
          EName: '',
          Sex: '1', //1男2女
          Birthday: '',
          Mobile: '',
          CouponsId: '', //景点id
          DetailList: [],
        },
        rules2: {
          Name: [{
            required: true,
            message: this.$t('rule.qsrzwm'),
            trigger: 'blur'
          }],
          EName: [{
            required: true,
            message: this.$t('rule.qsrywm'),
            trigger: 'blur'
          }],
          Mobile: [{
              required: true,
              message: this.$t('rule.EnterPNum'),
              trigger: "blur"
            },
            {
              pattern: this.$commonUtils.Regex.el_ISphone,
              message: this.$t('rule.EnterRightNum')
            }
          ],
          MailingAddress: [{
            required: true,
            message: this.$t('objFill.qinshuruyoujidz'),
            trigger: 'blur'
          }],
          MailingMoney: [{
            required: true,
            message: this.$t('objFill.qinshuruyoujify'),
            trigger: "blur"
          }, ],
        },
        outerVisible: false,
        rules: {
          State: [{
            required: true,
            message: this.$t('objFill.qinxuanzhedindanzt'),
            trigger: "change"
          }],
          SelffetchAddress: [{
            required: true,
            message: this.$t('objFill.qinshuruzitidz'),
            trigger: "blur"
          }],
          LossMoney: [{
            required: true,
            message: this.$t('objFill.qinshurushoushunje'),
            trigger: "blur"
          }]
        },
        cancelOrderDialog: false,
        cancelRemark: "",
        cancelOrderId: 0,
        uploadOrderId: 0,
        loading: false,
        fileList: [],
        GuestFile: '',
        ChangeOrderDialog: false,
        OrderStatusType: [{
            Name: this.$t('OrderList.orderStatus.apply'),
            ID: '1'
          },
          {
            Name: this.$t('OrderList.orderStatus.check'),
            ID: '2'
          },
          {
            Name: this.$t('OrderList.orderStatus.cancel'),
            ID: '3'
          },
          {
            Name: this.$t('OrderList.orderStatus.sun'),
            ID: '4'
          },
        ],
        items: null,
        typeState: '',
        loadingDZP: false,
        uploadOrderId: 0,
        GuestFile: '',
        isShowCorrelation: false,
        CorrelationObj: {},
        is_correlationOP: false
      };
    },
    watch: {
      pagesTitle(val, oldval) {
        this.pagesTitle = val
      },
      OrderList: {
        handler(val, oldVal) {

        }
      }
    },
    methods: {
      close() {
        this.isShowCorrelation = false
        this.CorrelationObj.TypeNum = null
        this.CorrelationObj.Money = null
      },
      success() {
        this.close()
        this.$emit('success')
      },
      clickCorrelation(item, type) {
        this.CorrelationObj = JSON.parse(JSON.stringify(item))
        if (type == 2) {
          this.CorrelationObj.TypeNum = 4 //编辑总价
        } else {
          this.CorrelationObj.TypeNum = 2
        }
        this.isShowCorrelation = true
      },
      isOffset(row, index, num) {
        this.makeAdocument(row, index, num, 'Offset')
      },
      editRemark(item) {
        this.postMsg.OrderId = item.OrderId
        this.postMsg.Remark = this.pagesTitle == '销售' ? item.Remark : item.OPRemark
        this.isShowRemark = true
      },
      selectable(row, index) {
        if (((this.OrderList[index].IsFinish != 1 && this.OrderList[index].Income > 0 && this.OrderList[index]
            .DueInMoney == 0) || (this.OrderList[index].Money == 0 && this.OrderList[index].Income == 0 &&
            this.OrderList[index].CostMoney == 0 && this.OrderList[index].Refund == 0 &&
            this.OrderList[index].PlatformTax == 0 && this.OrderList[index].IncomeList &&
            this.OrderList[index].IncomeList.length > 0))) {
          return true;
        } else {
          return false;
        }
      },
      handleSelectionChange(val) {
        this.multipleSelection = val.map(x => {
          return x.OrderId
        });
      },
      setCompleted(id, row) {
        let ids = ''
        if (id > 0) {
          ids = id
        } else {
          if (this.multipleSelection.length == 0) return this.$message.error(this.$t('objFill.qingouxuanwanjieshuju'))
          ids = this.multipleSelection.join(',')
        }
        if (ids == '') {
          this.$message.error(this.$t('objFill.qingouxuanwanjieshuju'))
        }
        this.$confirm(this.$t('objFill.shifouquedinwanjie'), this.$t('tips.tips'), {
          confirmButtonText: this.$t('pub.sureBtn'),
          cancelButtonText: this.$t('pub.cancelBtn'),
          type: 'warning'
        }).then(() => {
          if (id > 0) {
            row.loading = true
          } else {
            this.CompletedLoading = true
          }
          this.apipost('ticket_post_SetTicketOrderFinish', {
            TticketOrderIds: ids
          }, res => {
            if (res.data.resultCode == 1) {
              if (id > 0) {
                row.loading = false
              } else {
                this.CompletedLoading = false
              }
              for (let i = 0; i < this.OrderList.length; i++) {
                this.$refs.multipleTable.toggleRowSelection(
                  this.OrderList[i],
                  false
                );
              }
              this.multipleSelection = []
              this.$message.success(this.$t('tips.czchenggong'));
              this.$emit('success')
            } else {
              if (id > 0) {
                row.loading = false
              } else {
                this.CompletedLoading = false
              }
              this.$message.error(res.data.message);
            }
          }, err => {})
        }).catch(() => {
          this.$message.info(`${this.$t('OrderList.orderStatus.cancel')}!`);
        });
      },
      submitEditRemark() {
        if (!this.postMsg.Remark) {
          this.$message.error(this.$t('objFill.opbeizhunonull'));
          return
        }
        this.apipost('ticket_post_SetTicketOrderRemark', {
          OrderId: this.postMsg.OrderId,
          Type: this.pagesTitle == '销售' ? 1 : 2,
          Remark: this.postMsg.Remark
        }, res => {
          if (res.data.resultCode == 1) {
            this.isShowRemark = false
            this.$emit('success')
            this.$forceUpdate();
          } else {
            this.Error(res.data.message);
          }
        })
      },
      submit2() {
        if (this.loading3) return
        this.$refs['msgParameter'].validate((valid) => {
          if (valid) {
            this.setFormMsg2()
          } else {
            return false;
          }
        });
      },
      setFormMsg2() {
        if (this.msgParameter.MailingState == '1') {
          this.msgParameter.MailingAddress = ''
        }
        let m
        let url
        if (this.pagesTitle == 'OP') {
          m = {
            OrderId: this.msgParameter.OrderId,
            MailingMoney: this.msgParameter.MailingMoney,
            MailingState: this.msgParameter.MailingState, //邮寄状态 1自取 2邮寄
            MailingAddress: this.msgParameter.MailingAddress, //MailingState =2 填写邮寄
            SelffetchAddress: this.msgParameter.SelffetchAddress, //自取地址
            Name: this.msgParameter.Name,
            EName: this.msgParameter.EName,
            Sex: this.msgParameter.Sex, //1男2女
            Mobile: this.msgParameter.Mobile,
          }
          url = 'dict_post_SetTicketOrderMailingState'
        }
        if (this.pagesTitle == '销售') {
          m = {
            IsUpdateMailing: 1,
            OrderId: this.msgParameter.OrderId,
            CouponsId: this.msgParameter.CouponsId,
            Money: this.msgParameter.Money,
            UseDate: this.msgParameter.UseDate,
            Birthday: this.msgParameter.Birthday,
            DetailList: this.msgParameter.DetailList,
            MailingState: this.msgParameter.MailingState, //邮寄状态 1自取 2邮寄
            MailingAddress: this.msgParameter.MailingAddress, //MailingState =2 填写邮寄
            Name: this.msgParameter.Name,
            EName: this.msgParameter.EName,
            Sex: this.msgParameter.Sex, //1男2女
            Mobile: this.msgParameter.Mobile,
            Remark: this.msgParameter.Remark,
          }
          url = 'ticket_post_SetSaleTicketOrder'
        }
        this.loading3 = true
        this.apipost(url, m,
          res => {
            this.loading3 = false
            if (res.data.resultCode == 1) {
              this.Success(`${this.pagesTitle=='销售'?this.$t('objFill.biangendindan'):this.$t('objFill.bianjiqupiaofs')}${this.$t('objFill.chenggong')}`);
              this.$emit('success')
              this.ChangeOrderDialog = false
            } else {
              this.Error(`${this.pagesTitle=='销售'?this.$t('objFill.biangendindan'):this.$t('objFill.bianjiqupiaofs')}${this.$t('objFill.shibai')}`)
            }
          },
          err => {
            this.loading3 = false
            this.Error(err.message)
          });
      },
      uploadFileBtn(file) {
        let ft = file.file.name.substring(file.file.name.lastIndexOf('.') + 1, file.file.name.length).toUpperCase();
        let typeOk = false;
        let FileName = file.file.name.substring(0, file.file.name.lastIndexOf("."))
        let newArr = [];
        newArr.push(file.file)
        let path = "/Upload/Temporary/"
        this.$message.info(this.$t('tips.shangchuanzhong'))
        this.UploadSelfFileT(path, newArr, x => {
          this.GuestFile = this.domainManager().ViittoFileUrl + x.data.FilePath
          this.uploadHandleChange()
        }, 1);
      },
      // 上传电子券
      uploadHandleChange() {
        if (this.loading) return
        let msg = {
          OrderId: this.uploadOrderId,
          TicketCodeFile: this.GuestFile
        }
        this.loading = true
        this.apipost(
          "ticket_post_SetTicketCodeFile", msg,
          res => {
            this.loading = false;
            if (res.data.resultCode == 1) {
              this.Success(res.data.message);
              this.uploadOrderId = 0
              this.GuestFile = ''
              this.$emit("success");
            } else {
              this.Error(res.data.message);
            }
          },
          err => {
            this.loading = false;
          }
        );
      },
      // 单据详情
      openDetails(item,x) {
        let query = {
          id: item.FrID ? item.FrID : item.ID,
          blank: "y",
        };
        // 跳转发票详情页面
        if(x){
          this.$router.push({
            name: "invoicesManagerDetail",
            query: {
              id: item.FrID ? item.FrID : item.ID,
              InvoiceApplyType: 7,
              blank: "y",
            },
          });
        }else{
          this.$router.push({
            path: "/FinancialDocumentsDetail",
            query
          });
        }
      },
      // 制作单据
      makeAdocument(row, index, num, Offset) {
        if ((num == 2 || num == 3) && (row.Income+row.PlatformMoney) <= 0) {
          this.Info(this.$t('objFill.qinxianzhidanzaizhicbtkdj'))
          return
        }
        if (Offset) {
          this.cdState = true
        }
        let type = 0
        if (num == 3) {
          type = 2
        } else {
          type = num
        }
        this.BillMakingMsg.ReFinanceId = row.OrderId;
        this.BillMakingMsg.ReFinanceId2 = num;
        this.BillMakingMsg.OtherType = 66;

        let text = "";
        let query = {};
        if (num == 1) {
          text = this.$t('fnc.shoukuan');
        } else if (num == 2) {
          text = this.$t('fnc.fukuan');
        } else if (num == 3) {
          text = this.$t('hotel.hotel_cost');
        }

        query = {
          blank: "y",
          tab: `${this.$t('pub.addBtn')}${text}${this.$t('salesModule.Docments')}`,
          Type: type,
          tradeObj: JSON.stringify(this.BillMakingMsg),
          companyID:row.OutBranchId
        };
        if (num == 2) {
          query.searchTitle = '溢收团费退款';
        } else if (num == 3 && this.cdState == false) {
          query.portTypeId = 6;
        }
        this.queryObj = query
        if (!Offset) {
          this.$store.commit("ChoiceAddFinancialDocuments");
          this.$router.push({
            path: "/ChoiceAddFinancialDocuments",
            query
          });
        }
      },
      // 订单明细
      goRoomDetails(obj, title) {
        var path
        if (title === '订房详情') {
          path = "roomReservationsDetails";
          if (this.userInfo.RB_Group_id == 91) {
            path = "roomReservationsDetails_swt";
          }
          this.$router.push({
            name: path,
            query: {
              id: obj.OrderId,
              OrderType: 1,
              blank: "y",
              tab: title
            }
          });
        } else { //变更门票预定
          this.msgParameter = JSON.parse(JSON.stringify(obj))
          this.msgParameter.MailingState = JSON.stringify(this.msgParameter.MailingState)
          this.msgParameter.Sex = JSON.stringify(this.msgParameter.Sex)
          this.ChangeOrderDialog = true
          // 获取自取地址
          this.GetTicketCouponsInfo()
        }
      },
      GetTicketCouponsInfo() {
        this.apipost('ticket_post_GetTicketCouponsInfo', {
            CouponsId: this.msgParameter.CouponsId,
            OpenTime: this.msgParameter.UseDate,
          },
          res => {
            this.loading3 = false
            if (res.data.resultCode == 1) {
              this.msgParameter.SelffetchAddress = res.data.data.SelffetchAddress
              let arr = res.data.data.TicketPriceList.sort((a, b) => {
                return a.MailingMoney - b.MailingMoney
              })
              this.msgParameter.MailingMoney = this.msgParameter.MailingMoney ? this.msgParameter.MailingMoney : arr[
                0].MailingMoney
            }
          },
          err => {
            this.Error(err.message)
          })
      },
      clickRightButtom(item, type) {
        // 0取消订单 1确认订单 2已邮寄 3设置自提地址 4收损
        this.msg.OrderId = item.OrderId;
        this.msg.SelffetchAddress = item.SelffetchAddress
        this.items = item
        this.typeState = type
        if (type == 0) {
          if (!this.loading0) {
            this.cancelOrderId = item.OrderId
            // 销售 OP
            if (this.pagesTitle != '销售') {
              this.cancelOrderDialog = true;
            } else {
              this.cancelOrderHandler()
            }

          }
        } else if (type == 1) {
          if (!this.loading1) {
            this.confirmFun(item, type);
          }
        } else if (type == 2) {
          if (!this.loading1) {
            this.confirmFun(item, type);
          }
        } else if (type == 3) {
          if (!this.loading1) {
            this.outerVisible = true;
          }
        } else if (type == 4) {
          if (!this.loading2) {
            this.outerVisible = true;
            this.msg.LossMoney = item.LossMoney ? item.LossMoney : 0;
          }
        }
      },
      // 销售取消订单
      cancelOrder() {
        let that = this
        if (this.loading0) return;
        that.$confirm(this.$t('objFill.shifouquxiaodd'), this.$t('tips.tips'), {
          confirmButtonText: this.$t('pub.sureBtn'),
          cancelButtonText: this.$t('pub.cancelBtn'),
          type: 'warning'
        }).then(() => {
          this.loading0 = true
          this.apipost("ticket_post_CancelSaleTicketOrder", {
              OrderId: this.cancelOrderId,
              IsOPCancel: this.pagesTitle != '销售' ? 1 : 0,
              Remark: this.cancelRemark
            },
            res => {
              this.loading0 = false
              if (res.data.resultCode == 1) {
                this.Success(res.data.message);
                this.$emit("success");
              } else {
                this.Error(res.data.message);
              }
            }).catch(err => {
            this.Error(err.message)
            this.loading0 = false
          })
        }).catch(() => {
          this.loading0 = false
        })
      },
      //提交
      submitForm(msg) {
        //提交创建、修改表单
        this.$refs[msg].validate(valid => {
          if (valid) {
            if (!this.loading2) {
              this.saveUpdate();
            }
          } else {
            // this.Error("请完成必填项");
            return false;
          }
        });
      },
      cancelOrderHandler() {
        if (this.cancelRemark == "" && this.pagesTitle != '销售') {
          this.Error(this.$t('objFill.quxiaodindanyy'));
          return;
        }
        if (this.loading0) return;
        this.loading0 = true
        this.apipost(
          "ticket_post_CancelSaleTicketOrder", {
            OrderId: this.cancelOrderId,
            IsOPCancel: this.pagesTitle != '销售' ? 1 : 0,
            Remark: this.pagesTitle != '销售' ? this.cancelRemark : ''
          },
          res => {
            if (res.data.resultCode == 1) {
              this.Success(res.data.message);
              this.cancelOrderDialog = false
              this.cancelOrderId = 0
              this.cancelRemark = ''
              this.$emit("success");
            } else {
              this.Error(res.data.message);
            }
            this.loading0 = false;
          },
          err => {
            this.loading0 = false;
          }
        );

      },

      saveUpdate() {
        let text
        if (this.typeState == 3) {
          text = this.$t('objFill.shifoushezhiziqudz')
        }
        if (this.typeState == 4) {
          text = this.$t('objFill.shifouquedinss')
        }
        this.$confirm(text, this.$t('tips.tips'), {
            confirmButtonText: this.$t('pub.sureBtn'),
            cancelButtonText: this.$t('pub.cancelBtn'),
            type: "warning"
          })
          .then(() => {
            this.loading2 = true;
            this.apipost(
              "ticket_post_SetSaleTicketOrderState", {
                OrderId: this.msg.OrderId,
                State: this.typeState,
                SelffetchAddress: this.typeState == 3 ? this.msg.SelffetchAddress : '',
                LossMoney: this.typeState == 4 ? this.msg.LossMoney : '',
              },
              res => {
                if (res.data.resultCode == 1) {
                  this.Success(res.data.message);
                  this.$emit("success");
                } else {
                  this.Error(res.data.message);
                }
                this.loading2 = false;
                this.outerVisible = false;
              },
              err => {
                (this.loading2 = false), (this.outerVisible = false);
              }
            );
          })
          .catch(() => {});
      },
      confirmFun(item, type) {
        let text
        if (type == 1) {
          text = this.$t('objFill.shifuquediandd')
        }
        if (type == 2) {
          text = this.$t('objFill.shifouquerenyouji')
        }
        this.$confirm(text, this.$t('tips.tips'), {
            confirmButtonText: this.$t('pub.sureBtn'),
            cancelButtonText: this.$t('pub.cancelBtn'),
            type: "warning"
          })
          .then(() => {
            this.loading1 = true;
            this.apipost(
              "ticket_post_SetSaleTicketOrderState", {
                OrderId: item.OrderId,
                State: type,
                SelffetchAddress: type == 3 ? this.msg.SelffetchAddress : '',
                LossMoney: type == 4 ? this.msg.LossMoney : '',
              },
              res => {
                if (res.data.resultCode == 1) {
                  this.Success(res.data.message);
                  this.$emit("success");
                } else {
                  this.Error(res.data.message);
                }
                this.loading1 = false;
              },
              err => {
                this.loading1 = false;
              }
            );
          })
          .catch(() => {
            this.$message.info(`${this.$t('OrderList.orderStatus.cancel')}!`);
          });
      },
      //复制信息
      CopyHandler(item) {
        this.copyId = item.OrderId;
        let copyText = item.OrderId;
        const save = function (e) {
          e.clipboardData.setData('text/plain', copyText)
          e.preventDefault() // 阻止默认行为
        }
        document.addEventListener('copy', save) // 添加一个copy事件
        let x = document.execCommand('copy') // 执行copy方法
        setTimeout(() => {
          this.copyId = 0;
        }, 2000);
      },
      setEdate() {
        return this.addMoth(new Date().Format("yyyy-MM-dd"), 1);
      },
      addMoth(d, m) {
        let ds = d.split("-"),
          _d = ds[2] - 0;
        let nextM = new Date(ds[0], ds[1] - 1 + m + 1, 0);
        let max = nextM.getDate();
        d = new Date(ds[0], ds[1] - 1 + m, _d > max ? max : _d);
        return d
          .toLocaleDateString()
          .match(/\d+/g)
          .join("-");
      },
      com_onresize() {
        //clientHeight的值由DIV内容的实际高度和CSS中的padding值决定,
        var contentsHeight = document.body.clientHeight;
        var h = contentsHeight - 50 - 180 - 40;
        if (h < 110) {
          return;
        }
        //设置table的行高
        // this.tableHeight = h;
      }
    },
    mounted() {
      this.userInfo = this.getLocalStorage();
      let ActionMenuCode = this.userInfo.ActionMenuCode;
      if (ActionMenuCode.indexOf('is_correlationOP') != -1) {
        this.is_correlationOP = true
      }
      //自适应高度调节
      this.com_onresize();
      window.onresize = () => {
        this.com_onresize();
      };
    }
  };

</script>

<style>

</style>