zhouwx
2024-07-19 1aa6aec8be8351a9bfe2d7629c4a30128eccde44
src/views/onlineEducation/courseManage/courseChapters/index.vue
@@ -2,7 +2,7 @@
  <div class="app-container">
    <div style="margin-bottom: 10px">
      <el-button type="success" plain @click="openDialog('addFirst',{courseId: data.courseId})">章添加</el-button>
      <el-button type="primary" plain @click="back">返回</el-button>
    </div>
    <!-- 表格数据 -->
    <el-table v-loading="loading" :data="dataList" :border="true" row-key="id" :tree-props="{ children: 'chapterPeriods' }">
@@ -10,6 +10,7 @@
      <el-table-column label="章节名称" >
        <template #default="scope">
          <span>{{scope.row.name}}</span>
          <span v-if="scope.row.chapterId" style="font-size: 14px;margin-left: 5px">【{{scope.row.resource.resourceType === 1 ? '视频:':scope.row.resource.resourceType === 2 ? '音频:':'文档:'}}{{scope.row.resource.name}}】| {{scope.row.timeFormat}}</span>
        </template>
      </el-table-column>
      <el-table-column label="排序" prop="sort" align="center" width="80" />
@@ -32,11 +33,12 @@
import {delArea, getArea} from "@/api/backManage/area";
import {getDictList} from "@/api/backManage/evaluate";
import {delMonitor} from "@/api/sysUsers";
import {useRoute} from 'vue-router'
import {useRoute,useRouter} from 'vue-router'
import {delClassification, getClassification} from "@/api/onlineEducation/courseClass";
import {delChapter, delPeriod, getChapters} from "@/api/onlineEducation/chapters";
const { proxy } = getCurrentInstance();
const route = useRoute()
const router = useRouter();
const loading = ref(false);
const areaRef = ref();
const cityList = ref([])
@@ -66,12 +68,37 @@
  }
  const res = await getChapters(param);
  if(res.code === 200){
    dataList.value = res.data
    dataList.value = res.data.map(item => {
      return {
        ...item,
        chapterPeriods: item.chapterPeriods.map(r => {
          return {
            ...r,
            timeFormat: r.resource.resourceType === 1 || r.resource.resourceType === 2 ? secondsToTime(r.resource.resourceLength)  : r.resource.docPage + '页'
          }
        })
      }
    })
  }else{
    ElMessage.warning(res.message)
  }
  loading.value = false;
  console.log('dataList.value',dataList.value)
}
const secondsToTime = (seconds) => {
  const hours = Math.floor(seconds / 3600);
  const minutes = Math.floor((seconds % 3600) / 60);
  const secs = seconds % 60;
  return [
    hours,
    hours > 0 ? pad(minutes) : minutes,
    pad(secs)
  ].join(':');
}
const pad = (number) => {
  return (number < 10 ? '0' : '') + number;
}
const openDialog = (type, value) => {
@@ -119,6 +146,9 @@
      })
}
const back = () => {
  router.push("/courseManage/course");
}
</script>