zhouwx
2024-11-06 db7b0541b3fbecaeda7b44129b7af3215296ec6d
src/views/onlineEducation/studentSupervision/compontents/learningRecord.vue
@@ -1,138 +1,95 @@
<template>
  <el-dialog
    title="学习记录"
    :visible.sync="dialogVisible"
    :modal-append-to-body="false"
    :close-on-click-modal="false"
    width="50%"
    :before-close="handleClose"
    append-to-body
  >
    <el-table
      :data="learningTable"
      style="width: 100%;">
      <el-table-column
        prop="startTime"
        label="开始时间"
        width="160"
        >
  <div class="app-container">
    <el-table v-loading="loading" :data="expertList">
      <el-table-column label="记录编号" align="center" prop="id" />
      <el-table-column label="身份证号" align="center" prop="idcard" :show-overflow-tooltip="true" />
      <el-table-column label="上报平台" align="center" prop="institutionName" />
      <el-table-column label="所属培训机构" align="center" prop="trainOrgName" />
      <el-table-column label="班级批次" align="center" prop="batchName" />
      <el-table-column label="课程" align="center" prop="courseName" />
      <el-table-column label="章节" align="center" prop="chapterName" />
      <el-table-column label="学习时长" align="center" prop="durationDesc" />
      <el-table-column label="是否彻底完成" align="center" prop="finishStatus" >
        <template #default="scope">
          {{scope.row.finishStatus == 0 ? '未完成' : '已完成' }}
        </template>
      </el-table-column>
      <el-table-column
        label="结束时间"
        prop="endTime"
      width="160">
      </el-table-column>
      <el-table-column
        prop="trainingInstitutions"
        label="培训机构"
        >
      </el-table-column>
      <el-table-column
        prop="platform"
        label="线上平台"
        >
      </el-table-column>
      <el-table-column
        prop="courseName"
        label="课程名称"
        >
      </el-table-column>
      <el-table-column
        prop="courseTime"
        label="课程时长"
        >
      </el-table-column>
      <el-table-column
        prop="learningTime"
        label="学习时长"
        >
      </el-table-column>
      <el-table-column
        prop="isComplete"
        label="是否已完成"
        >
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template #default="scope">
          <el-button
            size="mini"
            type="text"
            style="color: #1890ff"
            @click="handleView(scope.row)"
          >查看详细记录</el-button>
        </template>
      </el-table-column>
    </el-table>
    <pagination
      v-show="total>0"
      :total="total"
      :page.sync="queryParams.pageIndex"
      :page.sync="queryParams.pageNum"
      :limit.sync="queryParams.pageSize"
      @pagination="getList"
    />
  </el-dialog>
    <detail-dialog ref="detailDialogRef" @getList = "getList"></detail-dialog>
  </div>
</template>
<script >
<script>
import detailDialog from '../../learnRecord/components/detailDialog.vue'
import { listRecord, listStudent } from '@/api/onlineEducation/student'
import Cookies from 'js-cookie'
export default {
  name: 'addUser',
  components: {
  },
  name: "nPeopleManage",
  dicts: [],
  components: { detailDialog},
  data() {
    return {
      dialogVisible: false,
      dialogStatus: '',
      dataForm: {},
      total: 2,
      loading: false,
      single: true,
      multiple: true,
      showSearch: true,
      addForm: false,
      total: 0,
      expertTypes: [],
      expertList: [],
      queryParams: {
        pageIndex: 1,
        pageNum: 1,
        pageSize: 10,
        idcard: '',
        name: ''
        idcard: null
      },
      learningTable: [
        {
          startTime: '2024-6-11 10:33:00',
          endTime: '2024-6-11 12:33:00',
          trainingInstitutions: 'xxx',
          platform: 'xxx',
          courseName: '课程1',
          courseTime: '2h',
          learningTime: '1h',
          isComplete: '否'
        },
        {
          startTime: '2024-6-11 10:33:00',
          endTime: '2024-6-11 12:33:00',
          trainingInstitutions: 'xxx',
          platform: 'xxx',
          courseName: '课程1',
          courseTime: '2h',
          learningTime: '1h',
          isComplete: '否'
        }
      ]
    }
    };
  },
  created() {
  },
  methods: {
    getList(){
    getList(data){
      if(data && data.idcard){
        this.queryParams.idcard = data.idcard
        this.expertList = []
      }
      this.loading = true;
      listRecord( this.queryParams).then((res) => {
        if (res.code == 200) {
          this.learningTable = res.rows
          this.expertList = res.rows
          this.total = res.total
          this.loading = false;
        }
      })
    },
    openDialog (data) {
      this.dialogVisible = true;
      this.queryParams.idcard = data.idcard
      this.getList();
    },
    handleChange(){
    handleClose() {
      this.dialogVisible = false;
      this.$emit("getList");
    },
    handleQuery(){
    },
    resetQuery(){
    },
    handleView(data){
      this.$refs.detailDialogRef.openDialog(data);
    }
  }
}
};
</script>
<style scoped>
</style>