zhouwx
2024-07-05 1f34754ce77199ffb9bbea09c5ef34e03e30f881
修改
已修改8个文件
286 ■■■■ 文件已修改
src/api/onlineEducation/student.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/classBatch/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/count/components/studentList.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/courseSupervision/components/courseDialog.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/courseSupervision/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/examManage/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/platformManage/index.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/onlineEducation/realtimeStatus/index.vue 205 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/onlineEducation/student.js
@@ -56,3 +56,11 @@
  })
}
export function studentCourseDetail(uuid) {
  return request({
    url: '/th/course/student/' + uuid,
    method: 'get'
  })
}
src/views/onlineEducation/classBatch/index.vue
@@ -147,10 +147,10 @@
      this.getList();
    },
    handleViewCourse(data){
      this.$refs.courseDialogRef.openDialog(data);
      this.$refs.courseDialogRef.openDialog(data,'batch');
    },
    openStudent(data) {
      this.$refs.studentDialog.openDialog(data);
      this.$refs.studentDialog.openDialog(data,'batch');
    },
    openClassHour(data){
      this.$refs.classRef.openDialog(data)
src/views/onlineEducation/count/components/studentList.vue
@@ -8,6 +8,7 @@
    :before-close="handleClose"
  >
    <el-table
      height="250"
      :data="learningTable"
      style="width: 100%;">
      <el-table-column
@@ -24,6 +25,9 @@
        prop="lessonTocal"
        label="总学时"
      >
        <template #default="scope">
          {{type == 'batch' ? scope.row.batchLessonNum : scope.row.courseLessonNum}}
        </template>
      </el-table-column>
      <el-table-column
        prop="lessonNum"
@@ -63,7 +67,7 @@
<script >
import lessonReport from '@/views/onlineEducation/studentSupervision/compontents/lessonReport.vue'
import { studentDetail } from '@/api/onlineEducation/student'
import { studentCourseDetail, studentDetail } from '@/api/onlineEducation/student'
import { listCourse } from '@/api/onlineEducation/course'
export default {
  name: 'addUser',
@@ -76,9 +80,11 @@
      dialogStatus: '',
      dataForm: {},
      uuid: '',
      total: 2,
      total: 0,
      type: '',
      queryParams: {
        pageIndex: 1,
        pageSize: 10
      },
      learningTable: [
        {
@@ -107,14 +113,27 @@
  methods: {
    getList() {
      this.loading = true;
      if(this.type === 'course'){
        studentCourseDetail( this.uuid).then((res) => {
          if (res.code == 200) {
            this.learningTable = res.data
            this.loading = false;
            // this.total = res.data.total
          }
        })
      }else {
      studentDetail( this.uuid).then((res) => {
        if (res.code == 200) {
          this.learningTable = res.data
          this.loading = false;
            // this.total = res.data.total
        }
      })
      }
    },
    openDialog (data) {
    openDialog (data,type) {
      this.type = type;
      this.uuid = data.uuid;
      this.getList();
      this.dialogVisible = true;
src/views/onlineEducation/courseSupervision/components/courseDialog.vue
@@ -82,10 +82,16 @@
  created() {
  },
  methods: {
    openDialog (data) {
    openDialog (data,type) {
      this.dialogVisible = true;
      if(type === 'course'){
      this.courseList = data.outline
      this.courseTable = this.recursion(data.outline)
      }else {
        this.courseList = data.chapterList
        this.courseTable = this.recursion(data.chapterList)
      }
      console.log('courseTable',this.courseTable)
    },
    recursion (data) {
src/views/onlineEducation/courseSupervision/index.vue
@@ -25,7 +25,7 @@
    </div>
    <el-table v-loading="loading" :data="expertList" style="margin-top: 10px">
      <el-table-column label="课程标识" align="center" prop="courseCode" />
      <el-table-column label="所属机构" align="center" prop="trainOrgName" />
      <el-table-column label="上报平台" align="center" prop="institutionName" />
      <el-table-column label="课程名称" align="center" prop="courseName" />
      <el-table-column label="课程章节数" align="center" prop="courseNum" >
        <template #default="scope">
@@ -150,10 +150,10 @@
      this.getList();
    },
    handleViewCourse(data){
      this.$refs.courseDialogRef.openDialog(data);
      this.$refs.courseDialogRef.openDialog(data,'course');
    },
    openStudent(data) {
      // this.$refs.studentDialog.openDialog(data);
      this.$refs.studentDialog.openDialog(data,'course');
    },
    check(val){
      this.$confirm('此操作将审核该条数据, 是否继续?', '提示', {
src/views/onlineEducation/examManage/index.vue
@@ -7,7 +7,7 @@
      <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="courseName" />-->
      <el-table-column label="考试名称" align="center" prop="examName" />
      <el-table-column label="开考时间" align="center" prop="examStartTime" width="100" />
      <el-table-column label="结束时间" align="center" prop="examSubmitTime" width="100"/>
@@ -19,7 +19,7 @@
          <span>{{scope.row.examIsPass == 1 ? '是' : '否'}}</span>
        </template>
      </el-table-column>
      <el-table-column label="考试次数" align="center" prop="examNum" />
<!--      <el-table-column label="考试次数" align="center" prop="examNum" />-->
    </el-table>
    <pagination
      v-show="total>0"
src/views/onlineEducation/platformManage/index.vue
@@ -21,18 +21,18 @@
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
        <template #default="scope">
          <el-button
            size="mini"
            type="text"
            v-if="scope.row.status == 1"
            @click="handleEnable(scope.row)"
          >启用</el-button>
          <el-button
            size="mini"
            type="text"
            v-if="scope.row.status == 0"
            @click="handleDisable(scope.row)"
          >监管禁用</el-button>
<!--          <el-button-->
<!--            size="mini"-->
<!--            type="text"-->
<!--            v-if="scope.row.status == 1"-->
<!--            @click="handleEnable(scope.row)"-->
<!--          >启用</el-button>-->
<!--          <el-button-->
<!--            size="mini"-->
<!--            type="text"-->
<!--            v-if="scope.row.status == 0"-->
<!--            @click="handleDisable(scope.row)"-->
<!--          >监管禁用</el-button>-->
          <el-button
            size="mini"
            type="text"
src/views/onlineEducation/realtimeStatus/index.vue
@@ -20,6 +20,7 @@
          @click="handleQuery()"
        >查询实时进度</el-button>
        <el-button
          plain
          size="small"
          type="primary"
          style="margin-bottom: 10px"
@@ -29,30 +30,31 @@
    </div>
<!--    查询数据-->
    <div style="margin: 30px 20%" >
      <div v-if="data">
      <div  style="display: flex;align-items: center;margin-bottom: -15px" >
        <span style="font-size: 20px;font-weight: 550">姓名:</span>
        <span style="font-size: 18px;margin-right: 60px">{{dataList[0].name}}</span>
        <span style="font-size: 20px;font-weight: 550">查询平台:</span>
        <span style="font-size: 18px">{{dataList[0].institutionalName}}</span>
          <span style="font-size: 18px;font-weight: 550">姓名:</span>
          <span style="font-size: 17px;margin-right: 60px">{{data.name}}</span>
          <span style="font-size: 18px;font-weight: 550">查询平台:</span>
          <span style="font-size: 17px">{{data.institutionalName}}</span>
      </div>
      <el-divider></el-divider>
      <div v-for="(item,index) in dataList" :key="index" v-if="dataList && dataList.length>0">
        <div v-for="(batch,index) in item.batchList" :key="index">
        <div>
          <div v-for="(batch,index) in data.batchList" :key="index" >
          <div  style="display: flex;align-items: center;margin-bottom: -15px" >
            <span style="font-size: 20px">班级(批次):</span>
            <span style="font-size: 18px;margin-right: 60px">{{batch.batchName}}</span>
            <span style="font-size: 20px">创建时间:</span>
            <span style="font-size: 18px">{{batch.createTime}}</span>
              <span style="font-size: 18px">班级(批次):</span>
              <span style="font-size: 16px;margin-right: 60px">{{batch.batchName}}</span>
              <span style="font-size: 18px">创建时间:</span>
              <span style="font-size: 16px">{{batch.createTime}}</span>
          </div>
          <div v-for="(course,index) in batch.courseList" :key="index" style="margin-top: 40px;margin-bottom: 50px">
            <div style="margin-bottom: -15px;display: flex;justify-content: space-between"  >
              <div style="display: flex;align-items: center;">
                <span style="font-size: 20px">课程名称:</span>
                <span style="font-size: 18px;margin-right: 60px">{{course.courseName}}</span>
                <span style="font-size: 20px">总学时:</span>
                <span style="font-size: 18px;margin-right: 60px">{{course.lessonNum}}</span>
                <span style="font-size: 20px">当前学时:</span>
                <span style="font-size: 18px;margin-right: 60px">{{course.duration}}</span>
                  <span style="font-size: 18px">课程名称:</span>
                  <span style="font-size: 16px;margin-right: 60px">{{course.courseName}}</span>
                  <span style="font-size: 18px">总学时:</span>
                  <span style="font-size: 16px;margin-right: 60px">{{course.lessonNum}}</span>
                  <span style="font-size: 18px">当前学时:</span>
                  <span style="font-size: 16px;margin-right: 60px">{{course.duration}}</span>
              </div>
              <el-progress :percentage="course.durationRate" style="width: 250px" ></el-progress>
            </div>
@@ -70,13 +72,15 @@
              </div>
            </div>
          </div>
        </div>
        <el-divider></el-divider>
          </div>
        </div>
      </div>
      <el-empty description="暂无数据" style="margin-top: 10%" v-else></el-empty>
      <pagination
        v-show="total>0"
        :total="total"
        :layout="layout"
        :page.sync="queryParams.pageIndex"
        :limit.sync="queryParams.pageSize"
        @pagination="getList"
@@ -100,13 +104,14 @@
    return {
      total: 2,
      platformList: [],
      dataList: [],
      data: {},
      queryParams: {
        pageIndex: 1,
        pageSize: 10,
        pageSize: 2,
        institutionId: '',
        idcard: ''
      },
      layout: 'total,prev, pager, next, jumper'
    };
  },
  created() {
@@ -115,7 +120,8 @@
  },
  methods: {
    getList(){
      this.dataList = [
      console.log("111",this.queryParams)
      this.data =
        {
          id: null,
          idcard: '11111',
@@ -163,15 +169,91 @@
                  ]
                }
              ]
            },
            {
              batchName: 'xxxx',
              createTime: 'xxxx',
              courseList: [
                {
                  courseName: 'xx',
                  lessonNum: 100,
                  duration: 90,
                  durationRate: 90,
                  chapterList: [
                    {
                      chapterName: '第5章:章节名称',
                      lessonTocal: 20,
                      lessonNum: 10
                    },
                    {
                      chapterName: '第1章:章节名称',
                      lessonTocal: 80,
                      lessonNum: 80
                    },
                  ]
                },
                {
                  courseName: 'xx',
                  lessonNum: 100,
                  duration: 90,
                  durationRate: 90,
                  chapterList: [
                    {
                      chapterName: '第5章:章节名称',
                      lessonTocal: 20,
                      lessonNum: 10
                    },
                    {
                      chapterName: '第1章:章节名称',
                      lessonTocal: 80,
                      lessonNum: 80
                    },
                  ]
            }
          ]
        },
        {
          id: null,
          idcard: '11111',
          name: '李四',
          institutionalName: '链工宝',
          batchList: [
              batchName: 'xxxx',
              createTime: 'xxxx',
              courseList: [
                {
                  courseName: 'xx',
                  lessonNum: 100,
                  duration: 90,
                  durationRate: 90,
                  chapterList: [
                    {
                      chapterName: '第5章:章节名称',
                      lessonTocal: 20,
                      lessonNum: 10
                    },
                    {
                      chapterName: '第1章:章节名称',
                      lessonTocal: 80,
                      lessonNum: 80
                    },
                  ]
                },
                {
                  courseName: 'xx',
                  lessonNum: 100,
                  duration: 90,
                  durationRate: 90,
                  chapterList: [
                    {
                      chapterName: '第5章:章节名称',
                      lessonTocal: 20,
                      lessonNum: 10
                    },
                    {
                      chapterName: '第1章:章节名称',
                      lessonTocal: 80,
                      lessonNum: 80
                    },
                  ]
                }
              ]
            },
            {
              batchName: 'xxxx',
              createTime: 'xxxx',
@@ -214,9 +296,60 @@
                }
              ]
            }
          ]
        }
      ]
        // {
        //   id: null,
        //   idcard: '11111',
        //   name: '李四',
        //   institutionalName: '链工宝',
        //   batchList: [
        //     {
        //       batchName: 'xxxx',
        //       createTime: 'xxxx',
        //       courseList: [
        //         {
        //           courseName: 'xx',
        //           lessonNum: 100,
        //           duration: 90,
        //           durationRate: 90,
        //           chapterList: [
        //             {
        //               chapterName: '第5章:章节名称',
        //               lessonTocal: 20,
        //               lessonNum: 10
        //             },
        //             {
        //               chapterName: '第1章:章节名称',
        //               lessonTocal: 80,
        //               lessonNum: 80
        //             },
        //           ]
        //         },
        //         {
        //           courseName: 'xx',
        //           lessonNum: 100,
        //           duration: 90,
        //           durationRate: 90,
        //           chapterList: [
        //             {
        //               chapterName: '第5章:章节名称',
        //               lessonTocal: 20,
        //               lessonNum: 10
        //             },
        //             {
        //               chapterName: '第1章:章节名称',
        //               lessonTocal: 80,
        //               lessonNum: 80
        //             },
        //           ]
        //         }
        //       ]
        //     }
        //   ]
        // }
      this.total = 4;
      // listCourse( this.queryParams).then((res) => {
      //   if (res.code == 200) {
      //     this.expertList = res.rows.map(item => {
@@ -228,9 +361,6 @@
      //   }
      // })
    },
    openUrl(url) {
      window.open(url,'_blank')
    },
    getPlat() {
      listPlatSelect().then((res) => {
        if (res.code == 200) {
@@ -239,9 +369,7 @@
      })
    },
    handleChange(){
    },
    handleQuery(){
      this.getList();
@@ -255,22 +383,7 @@
      }
      this.getList();
    },
    handleViewCourse(data){
      this.$refs.courseDialogRef.openDialog(data);
    },
    openStudent(data) {
      // this.$refs.studentDialog.openDialog(data);
    },
    check(val){
      this.$confirm('此操作将审核该条数据, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(async () => {
      }).catch(() => {
      });
    }
  }
};
</script>