content: // 加载 React 相关组件
  import React, { Component } from 'react';
  // 加载 Ant Design 相关组件
  import { message } from 'antd';
  // 加载 Dva 相关组件
  import { connect } from 'dva';
  // 加载自定义组件
  import { checkMapData } from '../../utils/Check';
  // 加载样式
  import Styles from '../../styles/CourseAttendance.less';
  // 加载自定义组件
  import CommonSearch from '../CommonSearch';
  import CommonList from '../CommonList';
  
  // 配置组件
  message.config({
    top: 40,
    duration: 2,
  });
  
  // 创建 CourseAttendance 组件
  class CourseAttendance extends Component {
    // 自定义组件数据
    datas = {
      loginData: null, // 缓存登录数据
      teacherCourseList: null, // 缓存教师授课列表
    };
    // 组件加载预处理方法
    componentWillMount() {
      const { mapLoginData } = this.props;
      if (checkMapData(mapLoginData)) {
        this.datas.loginData = mapLoginData.data[0]; // 缓存登录数据
        let loginFp = this.datas.loginData['login_password'];
        if (loginFp) {
          this.props.dispatch({ // 获取授课列表
            type: 'getTeacherCourseList/begin',
            userRole: 'teacher',
            userNo: this.datas.loginData['teacher_no'],
            loginFp: loginFp,
            listType: 'teacherCourse',
          });
        }
      } else {
        this.props.handleLoadingLayoutSwitch(true);
        message.error('请先登录系统');
      }
    }
    // 组件属性更新预处理方法
    componentWillReceiveProps(newProps) {
      const { mapTeacherCourseList } = newProps;
      this.props.handleLoadingLayoutSwitch(mapTeacherCourseList.loading); // 显示loading
      if (checkMapData(mapTeacherCourseList)) {
        this.datas.teacherCourseList = mapTeacherCourseList.data; // 缓存教师授课列表数据
      }
    }
    // 开启考勤按钮事件
    openAttendance(teacherCourseData) {
      if (!teacherCourseData['tc_class']) {
        message.error('没有绑定参与班级');
      } else {
        this.props.confirmAttendanceMessage.bind(this.props.parentThis, teacherCourseData)();
      }
    }
    // 组件渲染方法
    render() {
      return (
        <div className={Styles['course-attendance']}>
          <CommonSearch />
          <CommonList
            dataSource={this.datas.teacherCourseList}
            buttonText="开启考勤"
            parentThis={this}
            buttonFunction={this.openAttendance.bind(this)}
          />
        </div>
      );
    }
  }
  
  // 定义待绑定的数据
  const mapStateProps = (store) => {
    return {
      mapLoginData: store.getLoginData,
      mapTeacherCourseList: store.getTeacherCourseList,
    };
  };
  
  // 导出组件
  export default connect(mapStateProps)(CourseAttendance);