安全在线教育平台
zhouwx
9 hours ago 81c81ad6899496bbb46a59c815503f1f90bc4718
src/views/onlineEducation/classHourBatch/index.vue
@@ -37,7 +37,7 @@
        </el-form-item>
      </el-form>
      <span v-if="!data.isAdmin" style="font-size: 19px;font-weight: 600;margin-right: 20px">
        {{data.companyName}},您的企业当前系统可用课时总计
        {{data.companyName}},您的单位当前系统可用课时总计
        <span style="font-size: 19px;font-weight: 600;color: #1ab394">{{data.remainPeriod}}</span> 分钟。<span @click="openDetail" style="cursor: pointer; font-size: 19px;font-weight: 600;color: #1890ff">[明细]</span>
      </span>
    </div>
@@ -46,17 +46,18 @@
      <el-table-column label="批次编号" prop="code" align="center" width="135" />
      <el-table-column label="创建时间" prop="createTime" align="center"  width="120" />
      <el-table-column label="批次名称" prop="name" align="center"  />
      <el-table-column label="创建企业" prop="companyName" align="center"  />
      <el-table-column label="创建单位" prop="companyName" align="center"  />
      <el-table-column label="批次级别" prop="level" align="center"  >
        <template #default="scope">
          <span>{{scope.row.level === 1 ? '公司级' : scope.row.level === 2 ? '部门级' : scope.row.level === 3 ? '车间级' : '其他'  }}</span>
          <span>{{scope.row.level === 1 ? '单位级' : scope.row.level === 2 ? '学院级' : scope.row.level === 3 ? '实验室级' : '其他'  }}</span>
        </template>
      </el-table-column>
      <el-table-column label="课程" prop="courseName" align="center"  />
      <el-table-column label="学习人数" prop="studentCount" align="center"  />
      <el-table-column label="总课时" prop="coursePeriodNum" align="center"  />
      <el-table-column label="已完成人数" prop="finishCount" align="center"  />
      <el-table-column label="完成率" prop="finishRate" align="center"  />
      <el-table-column label="完成率" prop="finishRate" align="center">
      </el-table-column>
      <el-table-column label="操作" align="center" class-name="small-padding fixed-width"  width="180">
        <template #default="scope">
          <el-button link type="primary" @click="toStuChoose(scope.row)">学生数据</el-button>
@@ -84,11 +85,11 @@
import batchDialog from './components/batchDialog.vue'
import classHourChange from './components/classHourChange.vue'
import Cookies from "js-cookie";
import {useRouter} from 'vue-router'
import {useRoute, useRouter} from 'vue-router'
const router = useRouter()
import {delQuestionBank, getQuestionBank} from "@/api/onlineEducation/questionBank";
import {delBatch, getBatch} from "@/api/onlineEducation/batch";
const route = useRoute()
const { proxy } = getCurrentInstance();
const loading = ref(false);
@@ -110,15 +111,15 @@
  levelList: [
    {
      id: 1,
      name: '公司级 '
      name: '单位级 '
    },
    {
      id: 2,
      name: '部门级'
      name: '学院级'
    },
    {
      id: 3,
      name: '车间级'
      name: '实验室级'
    },
    {
      id: 4,
@@ -131,6 +132,14 @@
const { queryParams, total, dataList } = toRefs(data);
onMounted(async ()=>{
  if(route.query.val){
    const val = JSON.parse(route.query.val)
    if(val){
      data.queryParams.pageNum = val.pageNum;
      data.queryParams.pageSize = val.pageSize;
    }
  }
  const userInfo = JSON.parse(Cookies.get('userInfo'))
  console.log("userInfo",userInfo)
  if(userInfo.userType === 0){
@@ -155,7 +164,7 @@
      return {
        ...item,
        coursePeriodNum: item.coursePeriod ? (item.coursePeriod /60).toFixed(2).replace(/\.00$/, '') + '分钟':'',
        finishRate: item.finishCount ?  item.finishCount ===0 && item.studentCount ===0  ? '0%': (item.finishCount / item.studentCount).toFixed(2) *100 + '%' : ''
        finishRate: item.finishCount ?  item.finishCount ===0 && item.studentCount ===0  ? '0%': ((item.finishCount / item.studentCount)*100).toFixed(2).replace(/\.00$/, '')  + '%' : ''
      }
    })
    data.total = res.data.total
@@ -199,7 +208,14 @@
      })
}
const toStuChoose = (val) => {
  const v = JSON.stringify(val)
  const obj = {
    pageNum: data.queryParams.pageNum,
    pageSize: data.queryParams.pageSize,
    id: val.id
  }
  // val.pageNum = data.queryParams.pageNum;
  // val.pageSize = data.queryParams.pageSize
  const v = JSON.stringify(obj)
  router.push({ path: "/chooseStu", query: { val: v } });
}