<style>
  .baseSet_Title {
    width: 120px !important;
    padding: 18px 0 0 16px;
    text-align: right;
  }

  .userCommissionDetails .border-bottom {
    /* border-bottom: 1px dashed #EEE; */
    padding-bottom: 5px;
    margin-bottom: 5px;
  }

  .userCommissionDetails .text-bottom {
    height: 32px;
    line-height: 32px;
    margin-bottom: 10px;
  }

  .userCommissionDetails ._icon_btn i.icon-sousuo {
    background-color: #47BF8C;
  }

  .userCommissionDetails ._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;
  }

  .userCommissionDetails .el-table td,
  .el-table th {
    padding: 5px 0;
  }

</style>
<template>
  <div class="page-body userCommissionDetails">
    <div class="page-search row items-center">
      <div style="margin-right: 10px;">
        <q-btn color="primary"  size="11px"  label="返回"  @click="goreturn"  style="margin-left:10px" />
      </div>
      <div class="col row wrap q-mr-lg q-col-gutter-md">
        <div class="col-3">
          <q-select filled stack-label use-input input-debounce="0" option-value="ClassId" clearable @input="getList"
            option-label="ClassName" v-model="msg.ClassId" :options="ClassList" label="班级" :dense="false" emit-value
            map-options @filter="filterFn">
            <template v-slot:no-option>
              <q-item>
                <q-item-section class="text-grey">
                  未找到相关数据
                </q-item-section>
              </q-item>
            </template>
          </q-select>
        </div>
        <div class="col-3">
          <q-input filled v-model="msg.OrderId" @keyup.enter.native="getList()" label="订单号" />
        </div>
      </div>
    </div>
    <template>
      <el-table ref="filterTable" :data="tableData" v-loading='loading'
        :header-cell-style="{backgroundColor:'#f5f6f7', color: '#a8a8b3'}" border style="width: 100%">
        <el-table-column prop="SchoolName" width='150' label="校区"></el-table-column>
        <el-table-column prop="DeptName" label="部门"></el-table-column>
        <el-table-column prop="UserName" label="销售"> </el-table-column>
        <el-table-column width='170' prop="ClassName" label="班级信息">
          <template slot-scope="scope">
            <div> <span style="cursor: pointer;text-decoration: underline;" @click="goUrlclass('/course/classManage',scope.row.ClassName)">{{scope.row.ClassName}}</span>  {{scope.row.ClassTypeName}}<span style="color: #409EFF;"
                v-if='scope.row.IsContinueClass==1'>(续)</span></div>
            <div v-if="scope.row.StudentCount">学生数量:{{scope.row.StudentCount}}人</div>
          </template>
        </el-table-column>
        <el-table-column prop="OrderId" label="订单号">
          <template slot-scope="scope">
            <div v-if="scope.row.OrderId" style="cursor: pointer;text-decoration: underline;" @click="goUrlorderList('/sale/orderStatistics',scope.row)">
              {{scope.row.OrderId}} 
            </div>
           

          </template>
        </el-table-column>
        <el-table-column prop="IssueNum" label="发放次数" width='94'>
          <template slot-scope="scope">
            <div  v-if="scope.row.IssueNum" style="cursor: pointer;text-decoration: underline;" @click='goorderUrl(scope.row)'>
              发放第{{scope.row.IssueNum}}次
            </div>

          </template>
        </el-table-column>
        
        <el-table-column width='130' prop="TotalCommissionMoney" label="订单发放信息">
          <template slot-scope="scope">
            <div v-if="scope.row.TotalCommissionMoney" style="color: rgb(255, 156, 0);">应发:{{scope.row.TotalCommissionMoney}}</div>
            <div v-if="scope.row.OtherMoney">额外奖励:{{scope.row.OtherMoney}}</div>
            <div v-if="scope.row.BackMoney">额外扣除:{{scope.row.BackMoney}}</div>
            <div v-if="scope.row.GiveOutMoney">累计已发:{{scope.row.GiveOutMoney}}</div>
          </template>

        </el-table-column>
        <el-table-column prop="IsFirstCommission" label="首次发放">
          <template slot-scope="scope">
            <div  v-if="scope.row.IsFirstCommission">{{scope.row.IsFirstCommission==1?'是':'否'}}</div>
          </template>
        </el-table-column>
        <el-table-column prop="TotalHours" label="总课时"> </el-table-column>
        <el-table-column width='110' prop="TotalLearn" label="已学习课时"> 
          <template slot-scope="scope">
            <div style="cursor: pointer;text-decoration: underline;" @click="goUrlkehao('/financial/studentsClassfee',scope.row)">
              {{scope.row.TotalLearn}} 
            </div>
          </template>
        </el-table-column>
        <el-table-column width='110' prop="CurrentHours" label="当期消费课时">
          <template slot-scope="scope">
            <div>{{scope.row.CurrentHours>=0 ?scope.row.CurrentHours:'-'}}</div>
          </template>
        </el-table-column>
        <el-table-column width='160' prop="CurrentPeriodMoney" label="当期发放信息">
          <template slot-scope="scope">
            <div v-if="scope.row.CurrentPeriodMoney" style="color: rgb(255, 156, 0);">应发:{{scope.row.CurrentPeriodMoney}}</div>
            <div v-if="scope.row.CurrentExtraMoney">额外奖励:{{scope.row.CurrentExtraMoney}}</div>
            <div v-if="scope.row.DeductionMoney">抵扣:{{scope.row.DeductionMoney}}</div>
            <div v-if="scope.row.DeductionExtraMoney">奖励抵扣:{{scope.row.DeductionExtraMoney}}</div>
          </template>
        </el-table-column>

        <el-table-column prop="YFMoney" label="最终发放">
          <template slot-scope="scope">
            <div style="color: rgb(233, 82, 82);">{{scope.row.YFMoney}}</div>
          </template>
        </el-table-column>
        <el-table-column width='90' prop="Periods" label="期数"> </el-table-column>
        <el-table-column prop="Remark" width='160' label="备注"> </el-table-column>
      </el-table>
    </template>

  </div>
</template>
<script>
  import {
    GetClassTypePageList,
  } from '../../api/system/index';
  import {
    getSellCommissionUserDetailList,
  } from '../../api/finance/index'
  import {
    getClassDropDownList,
  } from "../../api/school/index";
  export default {
    meta: {
      title: "用户提成明细"
    },
    props: {},
    components: {},
    data() {
      return {
        loading: false,
        //列表数据参数
        msg: {
          PeriodId: 0,
          UserId: 0,
          ClassId: 0,
          OrderId: '',
          UserIds:'',
        },
        pageCount: 0,
        persistent: false,
        listData: {},
        tableData: [],
        company: [],
        department: [],
        ClassList: [],
        allClassList: [],
      }
    },
    created() {},
    mounted() {
      if (this.$route.query && this.$route.query.userId) {
        this.msg.UserId = this.$route.query.userId
      }
      if (this.$route.query && this.$route.query.preriodId) {
        this.msg.PeriodId = this.$route.query.preriodId
      }
      if (this.$route.query && this.$route.query.UserIds) {
        this.msg.UserIds = this.$route.query.UserIds
      }
      this.getList()
      this.setClass()
    },
    methods: {

      getList() {
        if (this.msg)
          this.loading = true;
        getSellCommissionUserDetailList(this.msg).then(res => {
          if (res.Code == 1) {
            this.loading = false;
            this.tableData = res.Data
            if (this.tableData.length > 0) {
              this.getAskfor()

            }
          }
        })
      },
      getAskfor() { //求值
        let obj = {
          SchoolName: '合计',
          YFMoney: 0,
        }
        this.tableData.forEach((x) => {
          if (x.YFMoney) {
            obj.YFMoney = this.accAdd(x.YFMoney, obj.YFMoney)
          };
         

        })
        this.tableData.push(obj)

      },
      accAdd(arg1, arg2) { //js 加法精确计算
        var r1, r2, m;
        try {
          r1 = arg1.toString().split(".")[1].length;

        } catch (e) {
          r1 = 0;
        }

        try {
          r2 = arg2.toString().split(".")[1].length;

        } catch (e) {
          r2 = 0;

        }
        m = Math.pow(10, Math.max(r1, r2));
        return (arg1 * m + arg2 * m) / m;

      },
      //选择班级
      setClass(item) {
        this.isShowClass = true;
        getClassDropDownList({
          CourseId: 0,
          IsAddDefault: 1, //添加默认选项
        }).then(res => {
          if (res.Code == 1) {
            var jsonData = res.Data;
            if (jsonData && jsonData.length > 0) {
              this.ClassList = JSON.parse(JSON.stringify(jsonData));
              this.allClassList = JSON.parse(JSON.stringify(jsonData));;
            }
          }
        });
      },
      //筛选员工
      filterFn(val, update) {
        update(() => {
          if (val === '') {
            this.ClassList = JSON.parse(JSON.stringify(this.allClassList))
          } else {
            const needle = val.toLowerCase()
            this.ClassList = this.allClassList.filter(v => v.ClassName.toLowerCase().indexOf(needle) > -1)
          }
        })
      },

      goUrl(path, id) {
        this.$router.push({
          path: '/financial/' + path,
          query: {
            "id": id,
            blank: 'y',
            tab: '单据详情'
          }
        })
      },
      filterHandler(value, row, column) {
        const property = column['property'];
        return row[property] === value;
      },
      StudentCount(a, b) {
        return a.StudentCount - b.StudentCount;
      },
      goorderUrl(row) {
        this.$router.push({
          path: '/financial/cycleOrderList',
          query: {
            OrderId: row.OrderId,
            UserId:row.UserId,
            blank: 'y',
          }
        })
      },
      goreturn() {
        this.$router.go(-1);
      },
      goUrlorderList(path,row){//订单跳转
        this.OpenNewUrl(path, {
          OrderId: row.OrderId,
          // EnterID:row.UserId
        });
      },
      goUrlclass(path,Names){//班级
        let Name = encodeURI(Names)
        this.OpenNewUrl(path, {
          ClassName: Name,
        });
      },
      goUrlkehao(path,row){//跳转到学生课耗
        let StartMonth = ''
        let EndMonth = ''
        if(row.IsFirstCommission == 1){
          EndMonth = row.Periods
        }else{
          if(row.Periods.indexOf('~')!=-1){
            StartMonth  = row.Periods.split('~')[0];
            EndMonth  = row.Periods.split('~')[1];
          }else{
            StartMonth = row.Periods;
            EndMonth = row.Periods

          }
         
        }
        this.OpenNewUrl(path, {
          OrderId: row.OrderId,
          StartMonth:StartMonth,
          EndMonth:EndMonth,
          comefrom:1,
        });
      }
    },
  }
</script>
<style lang="sass">
  @import url('~assets/css/table.sass')

</style>
