From 4ce7a294be5c7ea5ad937815175ace4a284639f7 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期三, 10 七月 2024 09:37:06 +0800
Subject: [PATCH] 修改
---
src/views/onlineEducation/classBatch/index.vue | 2
src/views/onlineEducation/courseSupervision/components/courseDialog.vue | 139 +++++++++++++++++++++++++++++++++-------------
src/views/onlineEducation/studentSupervision/index.vue | 2
3 files changed, 101 insertions(+), 42 deletions(-)
diff --git a/src/views/onlineEducation/classBatch/index.vue b/src/views/onlineEducation/classBatch/index.vue
index 52ceb6d..aeeb81c 100644
--- a/src/views/onlineEducation/classBatch/index.vue
+++ b/src/views/onlineEducation/classBatch/index.vue
@@ -24,7 +24,7 @@
>重置</el-button>
</div>
<el-table v-loading="loading" :data="expertList" style="margin-top: 10px">
- <el-table-column label="UUID" align="center" prop="uuid" />
+ <el-table-column label="ID" align="center" prop="id" />
<el-table-column label="批次名称" align="center" prop="batchName" />
<el-table-column label="推送平台" align="center" prop="institutionName" />
<el-table-column label="上报时间" align="center" prop="createTime" />
diff --git a/src/views/onlineEducation/courseSupervision/components/courseDialog.vue b/src/views/onlineEducation/courseSupervision/components/courseDialog.vue
index 59d02c7..c44d649 100644
--- a/src/views/onlineEducation/courseSupervision/components/courseDialog.vue
+++ b/src/views/onlineEducation/courseSupervision/components/courseDialog.vue
@@ -7,44 +7,50 @@
:before-close="handleClose"
>
<div style="margin: 0 25px">
- <div style="display: flex;flex-direction: column">
- <div style="display: flex;align-items: center;justify-content: space-between">
- <span style="font-size: 20px;font-weight: 550">课程大纲</span>
- <span style="color: #1890ff;cursor: pointer;" @click="clickOpen">收起/展开</span>
- </div>
- <div :class="{'open':isClose}" style="overflow: hidden">
- <div v-for="(item,index) in courseList" :key="index" style="font-size: 16px;margin: 20px 35px">
- <span>{{item.chapterName}}</span>
- <div v-if="item.children">
- <div v-for="(child,index) in item.children" :key="index" style="font-size: 16px;margin: 20px 8px">
- <span>{{child.chapterName}}</span>
- </div>
- </div>
+<!-- <div style="display: flex;flex-direction: column">-->
+<!-- <div style="display: flex;align-items: center;justify-content: space-between">-->
+<!-- <span style="font-size: 20px;font-weight: 550">课程大纲</span>-->
+<!-- <span style="color: #1890ff;cursor: pointer;" @click="clickOpen">收起/展开</span>-->
+<!-- </div>-->
+<!-- <div :class="{'open':isClose}" style="overflow: hidden">-->
+<!-- <div v-for="(item,index) in courseList" :key="index" style="font-size: 16px;margin: 20px 35px">-->
+<!-- <span>{{item.chapterName}}</span>-->
+<!-- <div v-if="item.children">-->
+<!-- <div v-for="(child,index) in item.children" :key="index" style="font-size: 16px;margin: 20px 8px">-->
+<!-- <span>{{child.chapterName}}</span>-->
+<!-- </div>-->
+<!-- </div>-->
- </div>
- </div>
+<!-- </div>-->
+<!-- </div>-->
- </div>
+<!-- </div>-->
<div style="display: flex;flex-direction: column">
<span style="font-size: 20px;font-weight: 550">课程章节资源</span>
<el-table
+ border
:data="courseTable"
- style="width: 80%;margin: 20px 35px">
+ :span-method="objectSpanMethod"
+ style="width: 100%;margin-top: 20px">
+<!-- <el-table-column-->
+<!-- prop="chapterParentCode"-->
+<!-- label="章节UUID">-->
+<!-- </el-table-column>-->
<el-table-column
- prop="chapterCode"
- label="章节UUID">
+ prop="chapterParentName"
+ label="章节" align="center">
</el-table-column>
<el-table-column
prop="chapterName"
- label="章节名称">
+ label="小节名称" align="center">
</el-table-column>
<el-table-column
label="资源类别"
- prop="resourceType">
+ prop="resourceType" align="center">
</el-table-column>
<el-table-column
- label="章节学时"
- prop="lessonNum">
+ label="小节学时"
+ prop="lessonNum" align="center">
</el-table-column>
<el-table-column label="预览" align="center" class-name="small-padding fixed-width">
<template #default="scope">
@@ -84,17 +90,19 @@
methods: {
openDialog (data,type) {
this.dialogVisible = true;
+
if(type === 'course'){
this.courseList = data.outline
- this.courseTable = this.recursion(data.outline)
+ this.courseTable = this.recursion(data.outline,type)
}else {
+ console.log('courseT2222222222able',data.chapterList)
this.courseList = data.chapterList
- this.courseTable = this.recursion(data.chapterList)
+ this.courseTable = this.recursion(data.chapterList,type)
}
- console.log('courseTable',this.courseTable)
+ console.log('courseT2222222222able',this.courseTable)
},
- recursion (data) {
+ recursion (data,type) {
let tmp = []
if(data && data.length > 0){
for (let i = 0; i < data.length; i++) {
@@ -103,16 +111,34 @@
if (item.children && item.children.length==0) {
// 有children
} else {
- item.children.forEach(child => {
- tmp.push({
- chapterCode: child.chapterCode,
- chapterName: child.chapterName,
- resourceType: child.haveResource == 0 ? '视频' : '音频' ,
- lessonNum: child.lessonNum,
- url: child.url,
- children: this.recursion(child.children)
+ if(type === 'course'){
+ item.children.forEach(child => {
+ tmp.push({
+ chapterParentCode: item.uuid,
+ chapterParentName: item.chapterName,
+ chapterCode: child.uuid,
+ chapterName: child.chapterName,
+ resourceType: child.haveResource == 0 ? '视频' : '音频' ,
+ lessonNum: child.lessonNum,
+ url: child.url,
+ children: this.recursion(child.children)
+ })
})
- })
+ }else {
+ item.children.forEach(child => {
+ tmp.push({
+ chapterParentCode: item.chapterUuid,
+ chapterParentName: item.chapterName,
+ chapterCode: child.chapterUuid,
+ chapterName: child.chapterName,
+ resourceType: child.haveResource == 0 ? '视频' : '音频' ,
+ lessonNum: child.lessonNum,
+ url: child.url,
+ children: this.recursion(child.children)
+ })
+ })
+ }
+
}
}
}
@@ -129,16 +155,49 @@
this.$emit("getList");
},
onSubmit() {
-
this.$emit("getList");
this.dialogVisible = false;
-
-
},
-
+ objectSpanMethod({ row, column, rowIndex, columnIndex }) {
+ if(columnIndex === 0) {
+ const currentValue = row[column.property];
+ // 获取上一行相同列的值
+ const preRow = this.courseTable[rowIndex - 1];
+ const preValue = preRow ? preRow[column.property] : null;
+ // 如果当前值和上一行的值相同,则将当前单元格隐藏
+ if (currentValue === preValue) {
+ return { rowspan: 0, colspan: 0 };
+ } else {
+ // 否则计算当前单元格应该跨越多少行
+ let rowspan = 1;
+ for (let i = rowIndex + 1; i < this.courseTable.length; i++) {
+ const nextRow = this.courseTable[i];
+ const nextValue = nextRow[column.property];
+ if (nextValue === currentValue) {
+ rowspan++;
+ } else {
+ break;
+ }
+ }
+ return { rowspan, colspan: 1 };
+ }
+ // if(rowIndex%2 === 0){
+ // return {
+ // rowspan: 2,
+ // colspan: 1
+ // }
+ // }else {
+ // return {
+ // rowspan: 0,
+ // colspan: 0
+ // }
+ // }
+ }
+ }
}
}
+
</script>
<style scoped>
.open{
diff --git a/src/views/onlineEducation/studentSupervision/index.vue b/src/views/onlineEducation/studentSupervision/index.vue
index 99bb86d..14dfa87 100644
--- a/src/views/onlineEducation/studentSupervision/index.vue
+++ b/src/views/onlineEducation/studentSupervision/index.vue
@@ -25,7 +25,7 @@
</template>
</el-table-column>
<el-table-column label="手机号" align="center" prop="phone" />
- <el-table-column label="实名认证照" align="center" prop="photo" >
+ <el-table-column label="实名认证照" align="center" prop="photo" width="120" >
<template #default="scope">
<el-image
style="width: 100px; height: 100px"
--
Gitblit v1.9.2