Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
saas-learn
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
saas-learn
Commits
f1424aff
提交
f1424aff
authored
8月 02, 2022
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: update
上级
050a286a
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
32 行增加
和
7 行删除
+32
-7
CourseListItem.vue
src/modules/course/components/CourseListItem.vue
+1
-1
CoursePlayerResourceItem.vue
src/modules/course/components/CoursePlayerResourceItem.vue
+5
-1
CourseViewAssess.vue
src/modules/course/components/CourseViewAssess.vue
+10
-2
CourseViewChapter.vue
src/modules/course/components/CourseViewChapter.vue
+5
-1
CourseView.vue
src/modules/course/views/CourseView.vue
+6
-1
Index.vue
src/modules/favorites/views/Index.vue
+5
-1
没有找到文件。
src/modules/course/components/CourseListItem.vue
浏览文件 @
f1424aff
...
...
@@ -55,7 +55,7 @@ function handleTop(data: CourseListItemType) {
</div>
</router-link>
<div
class=
"course-item-ft"
>
<div
class=
"course-item-playlist"
v-if=
"data.section?.
id
"
>
<div
class=
"course-item-playlist"
v-if=
"data.section?.
watch_video_length
"
>
<p
class=
"t1"
>
{{
data
.
section
.
name
}}
</p>
<p
class=
"t2"
>
已观看
{{
data
.
section
.
schedule
}}
%
</p>
<router-link
...
...
src/modules/course/components/CoursePlayerResourceItem.vue
浏览文件 @
f1424aff
...
...
@@ -53,7 +53,11 @@ function canDownload(type: number) {
}
// 下载资源
function
downloadFile
(
data
:
CourseResourceType
)
{
data
.
info
.
url
&&
saveAs
(
data
.
info
.
url
,
data
.
info
.
name
)
const
{
url
,
name
}
=
data
.
info
const
urlExtensionName
=
url
?.
split
(
'.'
).
pop
()
const
nameExtensionName
=
name
?.
split
(
'.'
).
pop
()
const
filename
=
nameExtensionName
===
urlExtensionName
?
name
:
`
${
name
}
.
${
urlExtensionName
}
`
url
&&
saveAs
(
url
,
filename
)
}
</
script
>
...
...
src/modules/course/components/CourseViewAssess.vue
浏览文件 @
f1424aff
<!-- 课程考核 -->
<
script
setup
lang=
"ts"
>
import
type
{
CourseAssessChapterType
}
from
'../types'
import
format
from
'format-duration'
import
{
getChapterVideoTreeList
}
from
'../api'
...
...
@@ -60,11 +61,16 @@ function fetchList() {
onMounted
(()
=>
{
fetchList
()
})
// 时长转换
function
formatDuration
(
duration
:
number
|
undefined
)
{
if
(
!
duration
)
return
''
return
format
(
duration
*
1000
,
{
leading
:
true
})
}
</
script
>
<
template
>
<div
class=
"course-assess"
>
<div
class=
"course-assess-hd"
>
<p
class=
"t1"
>
课程“音视频”观看统计(累计学习时长:
{{
studyTime
}}
)
</p>
<p
class=
"t1"
>
课程“音视频”观看统计(累计学习时长:
{{
formatDuration
(
studyTime
)
}}
)
</p>
<div
class=
"course-assess-hd__aside"
>
<p
class=
"t2"
>
完成率
</p>
<el-progress
:percentage=
"completedPercent"
style=
"width: 200px"
/>
...
...
@@ -90,7 +96,9 @@ onMounted(() => {
<
template
v-else
>
{{
row
.
name
}}
</
template
>
</template>
</el-table-column>
<el-table-column
prop=
"watch_video_length"
label=
"学习时长"
width=
"180"
align=
"center"
/>
<el-table-column
prop=
"watch_video_length"
label=
"学习时长"
width=
"180"
align=
"center"
>
<
template
#
default=
"{ row }"
>
{{
formatDuration
(
row
.
watch_video_length
)
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"name"
label=
"百分比"
width=
"180"
align=
"center"
>
<
template
#
default=
"{ row }"
>
<el-progress
:percentage=
"parseFloat(row.schedule)"
/>
...
...
src/modules/course/components/CourseViewChapter.vue
浏览文件 @
f1424aff
...
...
@@ -72,7 +72,11 @@ function canDownload(type: number) {
}
// 下载资源
function
downloadFile
(
data
:
CourseResourceType
)
{
data
.
info
.
url
&&
saveAs
(
data
.
info
.
url
,
data
.
info
.
name
)
const
{
url
,
name
}
=
data
.
info
const
urlExtensionName
=
url
?.
split
(
'.'
).
pop
()
const
nameExtensionName
=
name
?.
split
(
'.'
).
pop
()
const
filename
=
nameExtensionName
===
urlExtensionName
?
name
:
`
${
name
}
.
${
urlExtensionName
}
`
url
&&
saveAs
(
url
,
filename
)
}
// 跳转链接
function
targetUrl
(
resource
:
CourseResourceType
,
section
:
CourseSectionType
,
chapter
:
CourseChapterType
)
{
...
...
src/modules/course/views/CourseView.vue
浏览文件 @
f1424aff
...
...
@@ -93,7 +93,12 @@ function showInfo(title: string, content: string) {
<img
:src=
"item.avatar"
class=
"lecturer-item__pic"
/>
<div
class=
"lecturer-item__info"
>
<h2>
{{
item
.
name
}}
</h2>
<div
v-html=
"item.summarize"
></div>
<el-popover
:width=
"400"
trigger=
"hover"
v-if=
"item.summarize"
>
<template
#
reference
>
<div
v-html=
"item.summarize"
style=
"height: 66px; overflow: hidden"
></div>
</
template
>
<div
v-html=
"item.summarize"
></div>
</el-popover>
</div>
</el-carousel-item>
</el-carousel>
...
...
src/modules/favorites/views/Index.vue
浏览文件 @
f1424aff
...
...
@@ -77,7 +77,11 @@ function canDownload(type: number) {
}
// 下载资源
function
downloadFile
(
data
:
CollectionType
)
{
data
.
info
.
url
&&
saveAs
(
data
.
info
.
url
,
data
.
info
.
name
)
const
{
url
,
name
}
=
data
.
info
const
urlExtensionName
=
url
?.
split
(
'.'
).
pop
()
const
nameExtensionName
=
name
?.
split
(
'.'
).
pop
()
const
filename
=
nameExtensionName
===
urlExtensionName
?
name
:
`
${
name
}
.
${
urlExtensionName
}
`
url
&&
saveAs
(
url
,
filename
)
}
function
targetUrl
(
item
:
CollectionType
)
{
if
(
item
.
type
===
5
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论