<style>
  .Sysuser_Date .el-input__inner {
    background: transparent !important;
    border: 0 !important;
  }

  .myTable_Zk tbody tr:first-child td {
    background: yellow !important;
  }

  .myTable_Zk tbody tr:first-child {
    background: yellow !important;
    z-index: 1 !important;
  }
</style>
<template>
  <div class="page-body">
    <div class="col row wrap q-mb-lg" style="justify-content:space-between;">
      <div class="col row wrap">
        <div class="col-2 Sysuser_Date q-mr-lg">
          <q-field filled dense>
            <template v-slot:control>
              <el-date-picker v-model="myDate" style="width:100%" value-format="yyyy-MM" @change="getCheckDate()"
                size="mini" type="month" placeholder="选择年月">
              </el-date-picker>
            </template>
          </q-field>
        </div>
        <div class="col-2">
          <q-select filled dense stack-label @input="getList" option-value="TId" @filter="filterTeacherFn" use-input option-label="TeacherName" v-model="msg.TeacherId"
            ref="Teacher_Id" :options="TeacherList" label="教师" clearable class="col-6 q-pr-lg q-pb-lg" emit-value
            map-options />
        </div>
      </div>
      <div style="float:right;">
        <q-btn color="accent" class="q-mr-md" size="sm" icon="download" style="margin-top:15px;"
          @click="downloadStudentStatic" label="下载" />
      </div>
    </div>
    <div class="page-content">
      <q-table :pagination="msg" ref="table" :loading="loading" :style="{'height':tableHeight+'px'}"
        no-data-label="暂无相关数据" flat class="sticky-column-table sticky-header-column-table no-bottom-table myTable_Zk"
        separator="none" :data="dataList" :columns="columns" row-key="">
        <q-tr slot="header" slot-scope="props" :props="props">
          <template v-for="col in props.cols" :props="props">
            <template v-if="col.label=='线上与学生互动数'">
              <q-th :key="col.name" :props="props" style="max-width:75px;text-align:center;">
                线上与学生<br />互动数
              </q-th>
            </template>
            <template v-else-if="col.label=='续约(含留学)'">
              <q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;">
                续约<br />(含留学)
              </q-th>
            </template>
            <template v-else-if="col.label=='学生退课'">
              <q-th :key="col.name" :props="props" style="background-color:#FF66CC;color:#000;">
                学生退课
              </q-th>
            </template>
            <template v-else-if="col.label=='学生投诉'">
              <q-th :key="col.name" :props="props" style="background-color:#FF66CC;color:#000;">
                学生投诉
              </q-th>
            </template>
            <template v-else-if="col.label=='老师迟到早退'">
              <q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;background-color:#FF66CC;color:#000;">
                老师<br />迟到早退
              </q-th>
            </template>
            <template v-else-if="col.label=='N5课程时数'">
              <q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;background-color:#E2EFDA;color:#000;">
                N5<br />课程时数
              </q-th>
            </template>
            <template v-else-if="col.label=='N4课程时数'">
              <q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;background-color:#E2EFDA;color:#000;">
                N4<br />课程时数
              </q-th>
            </template>
            <template v-else-if="col.label=='N3课程时数'">
              <q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;background-color:#E2EFDA;color:#000;">
                N3<br />课程时数
              </q-th>
            </template>
            <template v-else-if="col.label=='N2课程时数'">
              <q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;background-color:#B4C6E7;color:#000;">
                N2<br />课程时数
              </q-th>
            </template>
            <template v-else-if="col.label=='N1课程时数'">
              <q-th :key="col.name" :props="props" style="max-width:60px;text-align:center;background-color:#B4C6E7;color:#000;">
                N1<br />课程时数
              </q-th>
            </template>
            <template v-else-if="col.label=='学生小程序刷题次数'">
              <q-th :key="col.name" :props="props" style="max-width:75px;text-align:center;background-color:#B4C6E7;color:#000;">
                学生小程序<br />刷题次数
              </q-th>
            </template>
            <template v-else-if="col.label=='学生小程序刷题时间'">
              <q-th :key="col.name" :props="props" style="max-width:75px;text-align:center;background-color:#B4C6E7;color:#000;">
                学生小程序<br />刷题时间
              </q-th>
            </template>
            <template v-else-if="col.label=='活动次数'">
              <q-th :key="col.name" :props="props" style="background-color:#B4C6E7;color:#000;">
                活动次数
              </q-th>
            </template>
            <template v-else-if="col.label=='所有老师平均分数'">
              <q-th :key="col.name" :props="props" style="max-width:70px;text-align:center;background-color:#FFC000;color:#000;">
                所有老师<br />平均分数
              </q-th>
            </template>
            <template v-else-if="col.label=='总分数'">
              <q-th :key="col.name" :props="props" style="max-width:70px;text-align:center;background-color:#FFC000;color:#000;">
                总分数
              </q-th>
            </template>
            <template v-else-if="col.label=='分数差距'">
              <q-th :key="col.name" :props="props" style="max-width:70px;text-align:center;background-color:#FFC000;color:#000;">
                分数差距
              </q-th>
            </template>

            <template v-else>
              <q-th :key="col.name" :props="props" style="max-width:70px">
                {{ col.label }}
              </q-th>
            </template>
          </template>
        </q-tr>
        <template v-slot:bottom>
        </template>
      </q-table>
    </div>
  </div>
</template>
<script>
  import {
    GetTeacherDay
  } from '../../api/teacher/index';
  import {
    getTeacherDropDownList
  } from "../../api/school/index";
  import {
    EduDownLoad
  } from "../../api/common/common";
  export default {
    props: {},
    meta: {
      title: "教师每日数据统计"
    },
    components: {},
    data() {
      return {
        columns: [{
            name: 'DateStr',
            label: '日期',
            field: 'DateStr',
            align: 'left'
          },
          {
            name: 'StudentCount',
            label: '学生人数',
            field: 'StudentCount',
            align: 'left'
          },
          {
            name: 'AttendClassHourScore',
            label: '上课时数',
            field: 'AttendClassHourScore',
            align: 'left',
          },
          {
            name: 'OnLineInteractiveScore',
            label: '线上与学生互动数',
            field: 'OnLineInteractiveScore',
            align: 'left',
            style: 'max-width: 50px',
          },
          {
            name: 'RenewScore',
            label: '续约(含留学)',
            field: 'RenewScore',
            align: 'left'
          },
          {
            name: 'UpgradeScore',
            label: '学生升级',
            field: 'UpgradeScore',
            align: 'left'
          },
          {
            name: 'TransScore',
            label: '转介绍',
            field: 'TransScore',
            align: 'left'
          },
          {
            name: 'TrialSpeakScore',
            label: '试讲',
            field: 'TrialSpeakScore',
            align: 'left'
          },
          {
            name: 'TruancyScore',
            label: '学生旷课',
            field: 'TruancyScore',
            align: 'left'
          },
          {
            name: 'WithdrawsScore',
            label: '学生退课',
            field: 'WithdrawsScore',
            align: 'left'
          },
          {
            name: 'ComplaintScore',
            label: '学生投诉',
            field: 'ComplaintScore',
            align: 'left'
          },
          {
            name: 'TeacherBeLateScore',
            label: '老师迟到早退',
            field: 'TeacherBeLateScore',
            align: 'left'
          },
          {
            name: 'N5ClassHoursScore',
            label: 'N5课程时数',
            field: 'N5ClassHoursScore',
            align: 'left'
          },
          {
            name: 'N4ClassHoursScore',
            label: 'N4课程时数',
            field: 'N4ClassHoursScore',
            align: 'left'
          },
          {
            name: 'N3ClassHoursScore',
            label: 'N3课程时数',
            field: 'N3ClassHoursScore',
            align: 'left'
          },
          {
            name: 'N2ClassHoursScore',
            label: 'N2课程时数',
            field: 'N2ClassHoursScore',
            align: 'left'
          },
          {
            name: 'N1ClassHoursScore',
            label: 'N1课程时数',
            field: 'N1ClassHoursScore',
            align: 'left'
          },
          {
            name: 'MiniAppPractiseScore',
            label: '学生小程序刷题次数',
            field: 'MiniAppPractiseScore',
            align: 'left'
          },
          {
            name: 'MiniAppTimeScore',
            label: '学生小程序刷题时间',
            field: 'MiniAppTimeScore',
            align: 'left'
          },
          {
            name: 'ActivityNum',
            label: '活动次数',
            field: 'ActivityNum',
            align: 'left'
          },
          {
            name: 'TotalScore',
            label: '总分数',
            field: 'TotalScore',
            align: 'left'
          },
          {
            name: 'AvgScore',
            label: '所有老师平均分数',
            field: 'AvgScore',
            align: 'left'
          },
          {
            name: 'ScoreGap',
            label: '分数差距',
            field: 'ScoreGap',
            align: 'left'
          }
        ],
        dataList: [],
        loading: false,
        myDate: '',
        tableHeight: 500,
        msg: {
          YearStr: '',
          MonthStr: '',
          TeacherId:'',
          rowsPerPage: 0
        },
        teacher:0,
        AllTeacherList:[],
        TeacherList:[] //教师数据
      }
    },
    created() {
      setTimeout(() => {
        this.tableHeight = window.innerHeight - this.$refs.table.$el.offsetTop - 90;
      }, 100)
    },
    mounted() {
      let d = new Date();
      this.msg.YearStr = d.getFullYear().toString();
      this.msg.MonthStr = (d.getMonth() + 1).toString();
      this.myDate = this.msg.YearStr + '-' + this.msg.MonthStr
      this.GetTeacherList();
      this.getList();
    },
    methods: {
      //获取教师下拉
      GetTeacherList() {
        getTeacherDropDownList({}).then(res => {
          if (res.Code == 1) {
            this.TeacherList = res.Data;
            this.AllTeacherList = res.Data;
          }
        });
      },
      //课程教师
      filterTeacherFn(val, update, abort) {
        update(() => {
          this.TeacherList = this.AllTeacherList.filter(
            v => v.TeacherName.indexOf(val) > -1
          );
        });
      },
      //下载数据
      downloadStudentStatic() {
        this.loading = true;
        var msg = JSON.parse(JSON.stringify(this.msg));
        EduDownLoad(
          "/TeacherStatic/DownLoadTeacherDay",
          msg,
          "教师每日数据统计.xls", res => {
            this.loading = false;
          }
        );
      },
      getCheckDate() {
        if (this.myDate) {
          this.msg.YearStr = this.myDate.split('-')[0];
          this.msg.MonthStr = this.myDate.split('-')[1];
          this.getList();
        }
      },
      //获取数据
      getList() {
        this.loading = true;
        GetTeacherDay(this.msg).then(res => {
          this.loading = false;
          if (res.Code == 1) {
            this.dataList = res.Data;
          }
        })
      }
    }
  }
</script>
<style lang="sass">
  @import url('~assets/css/table.sass')
</style>