<template>
  <div>
    <save-form
      :inline="true"
      :model="searchForm"
      ref="searchForm"
      @submit="search"
      @reset="onReSet"
      saveKey="indexErrDataRecord-historyError"
    >
      <el-form-item prop="organIds">
        <el-select
          class="multiple"
          v-model.trim="searchForm.organIds"
          filterable
          clearable
          placeholder="请选择分部"
        >
          <el-option
            v-for="(item, index) in selects.branchs"
            :key="index"
            :label="item.name"
            :value="item.id"
          ></el-option>
        </el-select>
      </el-form-item>
      <el-form-item prop="timer">
        <el-date-picker
          v-model.trim="searchForm.timer"
          type="daterange"
          value-format="yyyy-MM-dd"
          range-separator="至"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          :picker-options="{
            firstDayOfWeek: 1,
          }"
        ></el-date-picker>
      </el-form-item>
      <el-form-item>
        <el-button native-type="submit" type="primary">搜索</el-button>
        <el-button native-type="reset" type="danger">重置</el-button>
        <el-button type="primary" v-if="permission('export/exportIndexHistoryErrData')" @click="exportIndexErr">导出</el-button>
      </el-form-item>
    </save-form>
    <el-table
      style="width: 100%"
      :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
      :data="tableList"
    >
      <el-table-column align="center" prop="month" label="日期">
        <template slot-scope="scope">
          <div>
            {{ scope.row.generateTime }}
          </div>
        </template>
      </el-table-column>
      <el-table-column align="center" prop="organName" label="分部">
        <template slot-scope="scope">
          <div>
            <copy-text>{{ scope.row.organName }}</copy-text>
          </div>
        </template>
      </el-table-column>

      <el-table-column
        align="center"
        prop="userName"
        label="乐团巡查事项异常剩余/总数"
      >
        <template slot-scope="scope">
          <div>
            {{ scope.row.musicPatrolItemSurplus?scope.row.musicPatrolItemSurplus:'0'}} / {{ scope.row.musicPatrolItem?scope.row.musicPatrolItem:'0'}}
          </div>
        </template>
      </el-table-column>
      <el-table-column
        align="center"
        prop="item"
        label="乐团巡查任务未提交剩余/总数"
      >
        <template slot-scope="scope">
          <div>
             {{ scope.row.inspectionItemPlanSurplus?scope.row.inspectionItemPlanSurplus:'0'}} / {{ scope.row.inspectionItemPlan?scope.row.inspectionItemPlan:'0'}}
          </div>
        </template>
      </el-table-column>
      <el-table-column
        align="center"
        prop="times"
        label="回访任务未完成剩余/总数"
      >
           <template slot-scope="scope">
          <div>
             {{ scope.row.studentVisitSurplus?scope.row.studentVisitSurplus:'0'}} / {{ scope.row.studentVisit?scope.row.studentVisit:'0'}}
          </div>
        </template>
      </el-table-column>

      <el-table-column
        align="center"
        prop="plannedTimes"
        label="课程考勤异常剩余/总数"
      >
            <template slot-scope="scope">
          <div>
             {{ scope.row.teacherExceptionAttendanceSurplus?scope.row.teacherExceptionAttendanceSurplus:'0'}} / {{scope.row.teacherExceptionAttendance?scope.row.teacherExceptionAttendance:'0'}}
          </div>
        </template>
      </el-table-column>
      <el-table-column
        align="center"
        prop="submittedTimes"
        label="课程异常剩余/总数"
      >
        <template slot-scope="scope">
          <div

          >
            {{ scope.row.teacherNotAClassSurplus?scope.row.teacherNotAClassSurplus:'0'}} / {{ scope.row.teacherNotAClass?scope.row.teacherNotAClass:'0'}}
          </div>
        </template>
      </el-table-column>
    </el-table>
    <pagination
      sync
      :total.sync="rules.total"
       saveKey="indexErrDataRecord-historyError"
      :page.sync="rules.page"
      :limit.sync="rules.limit"
      :page-sizes="rules.page_size"
      @pagination="getList"
    />
  </div>
</template>
<script>
// import { getInspectionItem, resetInspectionItem } from "../api";
import { permission } from "@/utils/directivePage";
import pagination from "@/components/Pagination/index";
import { getIndexErrData } from "../api";
import dayjs from "dayjs";
import { getTimes } from "@/utils";
import { Export } from "@/utils/downLoadFile";
export default {
  props: ["searchType"],
  components: { pagination },
  data() {
    return {
      searchForm: {
        organIds: "",
        timer: [],
      },
      tableList: [],
      handleVisible: false,
      rules: {
        // 分页规则
        limit: 10, // 限制显示条数
        page: 1, // 当前页
        total: 0, // 总条数
        page_size: [10, 20, 40, 50], // 选择限制显示条数
      },
    };
  },
  mounted() {
    this.$store.dispatch("setBranchs");
    this.getList();
  },
  methods: {
    permission(str) {
      return permission(str);
    },
    onReSet() {
      this.$refs.searchForm.resetFields();
      this.search();
    },
    search() {
      this.rules.page = 1;
      this.getList();
    },
    async getList() {
      let { timer, ...rest } = this.searchForm;
      let params = {
        ...rest,
        page: this.rules.page,
        rows: this.rules.limit,
        ...getTimes(timer, ["startDate", "endDate"]),
        searchType: this.searchType,
      };
      try {
        const res = await getIndexErrData(params);
        this.tableList = res.data.rows;
        this.rules.total = res.data.total;
      } catch (e) {
        console.log(e);
      }
    },
    resetLine(row) {
      let { id, memo } = row;
      this.handleForm = { id, memo };
      this.handleVisible = true;
    },
    // async submitHandle() {
    //   try {
    //     const res = await resetInspectionItem(this.handleForm);
    //     this.$message.success("提交成功");
    //     this.getList();
    //     this.handleVisible = false;
    //   } catch (e) {
    //     console.log(e);
    //   }
    // },
    gotoHander(row) {
      let startTime = dayjs(row.month).startOf("month").format("YYYY-MM-DD");
      let endTime = dayjs(row.month).endOf("month").format("YYYY-MM-DD");
      if (row.item == "VISIT") {
        // 学员回访
        // 跳到回访页面 搜索条件 教务老师 时间范围
        this.$router.push({
          path: "/studentManager/returnVisitList",
          query: { teacher: row.userName, timer: [startTime, endTime] },
        });
      } else {
        // 下校巡查
        this.$router.push({
          path: "/main/scheduleDetail",
          query: {
            teacher: row.userId,
            startTime,
            endTime,
            name: row.userName,
            organId: row.organId,
            itemId: row.id,
            times: row.times,
          },
        });
      }
    },
    exportIndexErr(){
         Export(this, {
          url: '/api-web/export/exportIndexHistoryErrData',
          fileName: '首页历史异常统计.xls',
          method: 'post',
          params:qs.stringify({...this.searchForm})
        }, '您确定导出首页历史异常统计?')
    }
  },
};
</script>
<style lang="scss" scoped>
</style>
