<template>
  <div class="groupApproval">
    <div class="query-box">
      <ul>
        <li>
          <em>{{$t('scen.sc_cp')}}</em>
          <el-select filterable v-model='msg.QRB_Branch_Id' size="small" @change='getControlList()' clearable>
            <el-option v-for="item in companyList" :label='item.BName' :value='item.Id' :key='item.Id'></el-option>
          </el-select>
        </li>
        <li>
          <span>
            <em>{{$t('objFill.tuanduilx')}}</em>
            <el-select class="w200" v-model="msg.TeamType" filterable :placeholder="$t('pub.pleaseImport')" size="small"
              @change="getControlList()">
              <el-option v-for="item in groupType" :label="item.Name" :value="item.Id" :key="item.Id"></el-option>
            </el-select>
          </span>
        </li>
        <li>
          <span>
            <em>{{$t('fnc.shzhuangtai')}}</em>
            <el-select class="w200" v-model="msg.ChangePriceStatus" filterable :placeholder="$t('pub.pleaseImport')"
              size="small" @change="getControlList()">
              <el-option v-for="item in BranchAuditStateType" :label="item.Name" :value="item.Id" :key="item.Id">
              </el-option>
            </el-select>
          </span>
        </li>
        <li>
          <span>
            <em>{{$t('visa.v_tuanhao')}}</em>
            <el-input maxlength="50" v-model="msg.TCNUM" class="permiss-input w200" size="small"
              @keyup.enter="getControlList" :placeholder="$t('pub.pleaseImport')" clearable @clear="getControlList">
            </el-input>
          </span>
        </li>
        <li>
          <span>
            <em>{{$t('objFill.v101.dmc.chutrq')}}</em>
            <el-date-picker style="width: 300px;" v-model="StartTime" format='yyyy-MM-dd' value-format="yyyy-MM-dd"
              size="small" type="daterange" :range-separator="$t('OrderList.zhi')"
              :start-placeholder="$t('OrderList.star')" :end-placeholder="$t('OrderList.end')" @change="getStartTime"
              clearable>
            </el-date-picker>
          </span>
        </li>
        <li>
          <button class="hollowFixedBtn" type="button" @click="getControlList">{{$t('pub.searchBtn')}}</button>
        </li>
      </ul>
    </div>
    <el-table v-loading="loading" ref="multipleTable" :data="dataList" tooltip-effect="dark" style="width: 100%"
      @selection-change="handleSelectionChange">
      <el-table-column :label="$t('scen.sc_temID')" width="200">
        <template slot-scope="scope">
          <p>{{scope.row.OutBranchName}}</p>
          <span style="cursor: pointer;text-decoration: underline;"
            @click="goTravel(scope.row)">{{scope.row.TCNUM}}({{scope.row.TCID}})</span>
        </template>
      </el-table-column>
      <el-table-column prop="StartDate" :label="$t('hotel.hotel_StarDate')" width="120" show-overflow-tooltip>
      </el-table-column>
      <el-table-column prop="PriceTeamTypeName" :label="$t('objFill.v101.commissonBill.col.t3')" width="100">
        <template slot-scope="scope">
          <template v-if="scope.row.TeamTypeName">{{scope.row.TeamTypeName}}</template>
        </template>
      </el-table-column>
      <el-table-column prop="LtName" :label="$t('advmanager.v_xilie')" width="200" show-overflow-tooltip>
        <template slot-scope="scope">
          {{scope.row.LineName}}<br />
          {{scope.row.LtName}}
        </template>
      </el-table-column>
      <el-table-column prop="Title" :label="$t('Operation.Op_TeamName')" width="200" show-overflow-tooltip>
      </el-table-column>
      <el-table-column prop="ChangeTypeStr" label="变更类型" width="120">
        <template slot-scope="scope">
          <template v-if="scope.row.ChangeTypeStr">{{scope.row.ChangeTypeStr}}</template>
        </template>
      </el-table-column>
      <el-table-column prop="ChangeTypeStr" label="变更内容" width="180">
        <template slot-scope="scope">
          <template v-if="scope.row.ChangeType==1">
            <span>
              {{$t('Operation.Op_tradePrice')}}: {{scope.row.B2BPrice}}=><font style="color:red">
                {{scope.row.NewB2BPrice}}</font>
            </span>
            <br />
            <span>
              {{$t('Operation.Op_directPrice')}}: {{scope.row.B2CPrice}}=><font style="color:red;">
                {{scope.row.NewB2CPrice}}</font>
            </span>
          </template>
          <template v-if="scope.row.ChangeType==2">
            <span>
              {{scope.row.TeamTypeName}}=><font style="color:red">{{scope.row.ChangeTeamTypeName}}</font>
            </span>
          </template>
        </template>
      </el-table-column>
      <el-table-column prop="OPName" :label="$t('objFill.v101.dmc.shengqyy')" show-overflow-tooltip>
        <template slot-scope="scope">
          {{scope.row.ChangeRemark}}
        </template>
      </el-table-column>
      <el-table-column prop="" :label="$t('visaT.Applicant')+'/'+$t('objFill.shengqirq')" width="150">
        <template slot-scope="scope">
          <p> {{scope.row.CreateByName}}</p>
          <p> {{scope.row.CreateTime}}</p>
        </template>
      </el-table-column>
      <el-table-column prop="" :label="$t('fnc.shzhuangtai')" width="100">
        <template slot-scope="scope">
          <template v-if="scope.row.ChangePriceStatus!=1">
            <el-tooltip class="item" effect="dark" :content="scope.row.AuditName" placement="top-start">
              <span
                :style="{'color':scope.row.ChangePriceStatus==3?'red':scope.row.ChangePriceStatus==2?'#33B3FF':'blue'}">
                {{scope.row.ChangePriceStatusStr}}
              </span>
            </el-tooltip>
          </template>
          <template v-else>
            <span
              :style="{'color':scope.row.ChangePriceStatus==3?'red':scope.row.ChangePriceStatus==2?'#33B3FF':'blue'}">
              {{scope.row.ChangePriceStatusStr}}
            </span>
          </template>
        </template>
      </el-table-column>
      <el-table-column prop="" :label="$t('system.table_operation')" width="150">
        <template slot-scope="scope">
          <div class="_icon_btn">
            <el-tooltip class="item" effect="dark" :content="$t('fnc.shenhe')" placement="top"
              v-if="scope.row.ChangePriceStatus==1">
              <i v-loading="loading" class="iconfont icon-ico_commodity_defaul" @click="shenhei(scope.row)"></i>
            </el-tooltip>
            <el-tooltip class="item" effect="dark" :content="$t('fnc.bohui')" placement="top"
              v-if="scope.row.ChangePriceStatus==1">
              <i class="iconfont icon-shenhebohui" @click="bohui(scope.row)"></i>
            </el-tooltip>
          </div>
        </template>
      </el-table-column>
    </el-table>
    <div style="width: 100%;">
      <el-pagination background @current-change="handleCurrentChange" :current-page.sync="msg.pageIndex"
        layout="total,prev, pager, next, jumper" :page-size="msg.pageSize" :total="total">
      </el-pagination>
    </div>

    <el-dialog custom-class="w600" :title="$t('objFill.bohuiyy')" :visible.sync="cancelOrderDialog">
      <div style="padding-bottom:20px">
        <el-input type="textarea" autofocus rows="5" :placeholder="$t('objFill.v101.dmc.qingtxbtyy')" clear="w300"
          v-model="cancelRemark">
        </el-input>
        <el-row :gutter="20" style="margin-top: 20px;">
          <el-col :span="24" style="text-align: right;">
            <el-button class="normalBtn" value="" @click="cancelOrderHandler" :loading="loading">
              {{$t('objFill.v101.dmc.quedinbh')}}</el-button>
            <el-button class="hollowFixedBtn" @click="cancelOrderDialog = false,cancelRemark=''">{{$t('pub.closeSel')}}
            </el-button>
          </el-col>
        </el-row>
      </div>
    </el-dialog>
  </div>
</template>

<script>
  export default {
    components: {

    },
    data() {
      return {
        StartTime: [],
        groupType: [{
            Name: this.$t('advmanager.v_all'),
            Id: -1
          },
          {
            Name: this.$t('objFill.xiaobaot'),
            Id: 1
          },
          {
            Name: this.$t('MarketingActi.local'),
            Id: 2
          },
          {
            Name: this.$t('objFill.changguit'),
            Id: 0
          }
        ],
        BranchAuditStateType: [{
            Name: this.$t('objFill.dsh'),
            Id: 1
          },
          {
            Name: this.$t('visa.v_tongguo'),
            Id: 2
          },
          {
            Name: this.$t('fnc.bohui'),
            Id: 3
          }
        ],
        companyList: [],
        cancelRemark: '',
        dataRow: null,
        cancelOrderDialog: false,
        loading: false,
        dataList: [],
        msg: {
          pageIndex: 1,
          pageSize: 10,
          TCNUM: '', //团号
          TeamType: -1, //团队类型 0-常规，1-小包团，2-当地游
          QRB_Branch_Id: "",
          QStartDate: '',
          QEndDate: '',
          ChangePriceStatus: 1, //默认待审核
        },
        total: 0,
        multipleSelection: [],
        getCompanyMsg: {
          RB_Group_Id: 2,
          Status: '0',
        },
      }
    },
    created() {
      var myDate = new Date();
      var MonthDayNum = new Date(myDate.getFullYear(), myDate.getMonth(), 0).getDate();
      var firstDay = `${myDate.getFullYear()}-${myDate.getMonth() + 1}-01`
      var lastDay = `${myDate.getFullYear()}-${myDate.getMonth() + 1}-${MonthDayNum}`
      // this.StartTime = [firstDay, lastDay]
      // this.msg.QStartDate = firstDay;
      // this.msg.QEndDate = lastDay;
      this.getCompany()
    },
    mounted() {
      this.getList()
    },
    methods: {
      getStartTime() {
        if (this.StartTime.length == 2) {
          this.msg.QStartDate = this.StartTime[0]
          this.msg.QEndDate = this.StartTime[1]
        } else {
          this.msg.QStartDate = ''
          this.msg.QEndDate = ''
        }
        this.getControlList()
      },
      getCompany() {
        this.apipost('admin_get_BranchGetList', this.getCompanyMsg, res => {
          if (res.data.resultCode == 1) {
            this.companyList = res.data.data;
          }
        })
      },
      handleSelectionChange(val) {
        this.multipleSelection = val;
      },
      getControlList() {
        this.msg.pageIndex = 1;
        this.getList()
      },
      handleSizeChange(e) {
        this.msg.pageSize = e;
        this.getList()
      },
      handleCurrentChange(e) {
        this.msg.pageIndex = e;
        this.getList()
      },
      getList() {
        this.loading = true;
        if (this.StartTime) {
          this.msg.QStartDate = this.StartTime[0];
          this.msg.QEndDate = this.StartTime[1];
        } else {
          this.msg.QStartDate = "";
          this.msg.QEndDate = "";
        }
        let msg = JSON.parse(JSON.stringify(this.msg))
        this.apipost(
          "travel_post_GetTravelPriceChangeAuditPage",
          msg,
          res => {
            this.loading = false
            if (res.data.resultCode == 1) {
              this.dataList = res.data.data.pageData;
              this.total = res.data.data.count;
            } else {
              this.Error(res.data.message);
            }
          }
        );
      },
      shenhei(item) {
        let that = this;
        that.$confirm(this.$t('objFill.v101.dmc.shifshtggt'), this.$t('tips.tips'), {
          confirmButtonText: this.$t('pub.sureBtn'),
          cancelButtonText: this.$t('pub.cancelBtn'),
          type: 'warning'
        }).then(() => {
          this.groupAudit(2, item.ID)
        }).catch(() => {

        });
      },
      cancelOrderHandler() {
        if (!this.cancelRemark) return this.Error(this.$t('objFill.v101.dmc.qingsrbhyy'))
        let that = this;
        that.$confirm(this.$t('objFill.v101.dmc.shifoubhgt'), this.$t('tips.tips'), {
          confirmButtonText: this.$t('pub.sureBtn'),
          cancelButtonText: this.$t('pub.cancelBtn'),
          type: 'warning'
        }).then(() => {
          //掉接口
          this.groupAudit(3, this.dataRow.ID)
        }).catch(() => {

        });
      },
      bohui(item) {
        this.dataRow = item
        this.cancelOrderDialog = true
        return
      },
      groupAudit(type, ID, name, length) {
        let postMsg = {
          ID: ID,
          ChangePriceStatus: type,
          AuditContent: this.cancelRemark
        }
        this.loading = true
        this.apipost("travel_post_AuditTravelPriceChange", postMsg, res => {
          if (res.data.resultCode == 1) {
            if (!name) {
              this.cancelOrderDialog = false
              this.Success(res.data.message);
              this.getList()
            } else {
              if (length) {
                this.cancelOrderDialog = false
                this.Success(res.data.message);
                this.getList()
              }
            }
          } else {
            this.Error(res.data.message);
          }
          this.loading = false
        });
      },
      goTravel(item) { //跳转到团队列表
        var newPath = "TravelControlList";
        var query = {
          TCID: item.TCID,
          blank: 'y',
          tab: '团控列表'
        };
        if (item.TeamType == 1) {
          newPath = "TravelControlListSale";
          query = {
            TCID: item.TCID,
            blank: 'y',
            tab: '团控列表'
          };
        }
        if (item.TeamType == 2) {
          newPath = "oneDayTrip";
          query = {
            id: item.TCID,
            blank: 'y',
            tab: '团控列表'
          };
        }
        this.$router.push({
          path: newPath,
          query: query
        });
      }
    }
  }

</script>
<style scoped>
  .groupApproval .singeRowTable {
    margin-top: 20px;
  }

  ._nav {
    margin: 20px 0 0 0;
    background-color: #f5f5f5;
  }

  ._nav li {
    float: left;
    font-size: 14px;
    color: #666666;
    padding: 15px 20px;
    cursor: pointer;
    position: relative;
    background-color: #f1f1f1;
    margin-right: 5px
  }

  ._nav li._active {
    background-color: #FFFFFF;
    color: #333333
  }

  ._nav li._active::after {
    content: "";
    width: 20px;
    height: 3px;
    background-color: #E95252;
    display: inline-block;
    position: absolute;
    bottom: 0;
    left: 38%;
  }

  ._icon_btn i {
    width: 30px;
    height: 30px;
    display: inline-block;
    color: white !important;
    border-radius: 50%;
    text-align: center;
    line-height: 30px;
    margin-right: 10px;
    cursor: pointer;
    outline: none;
  }

  ._icon_btn i.icon-ico_commodity_defaul {
    background-color: #F16C3C;
  }

  ._icon_btn i.icon-ico_commodity_defaul:hover {
    background-color: #e87c54
  }

  ._icon_btn i.icon-ico_commodity_defaul:active {
    background-color: #f76630
  }

  ._icon_btn i.icon-shenhebohui {
    background-color: #E95252
  }

  ._icon_btn i.icon-mingxi {
    background-color: rgb(71, 191, 140)
  }

</style>
