Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-resource
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-resource
Commits
97263a6e
提交
97263a6e
authored
6月 17, 2022
作者:
lihuihui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改bug
上级
91f76947
显示空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
191 行增加
和
69 行删除
+191
-69
AppVideoPlayer.vue
src/components/base/AppVideoPlayer.vue
+1
-1
CardListItem.vue
src/components/base/CardListItem.vue
+1
-1
ViewTop.vue
src/modules/resource/courseware/components/ViewTop.vue
+3
-2
List.vue
src/modules/resource/courseware/views/List.vue
+8
-1
Update.vue
src/modules/resource/courseware/views/Update.vue
+2
-2
Hottest.vue
src/modules/resource/dashboard/components/Hottest.vue
+41
-8
Newest.vue
src/modules/resource/dashboard/components/Newest.vue
+43
-8
RecentLearning.vue
src/modules/resource/dashboard/components/RecentLearning.vue
+41
-8
Index.vue
src/modules/resource/dashboard/views/Index.vue
+9
-7
ViewTop.vue
src/modules/resource/lessonplan/components/ViewTop.vue
+3
-2
List.vue
src/modules/resource/lessonplan/views/List.vue
+8
-1
Update.vue
src/modules/resource/lessonplan/views/Update.vue
+2
-2
ViewTop.vue
src/modules/resource/other/components/ViewTop.vue
+3
-2
List.vue
src/modules/resource/other/views/List.vue
+8
-1
Update.vue
src/modules/resource/other/views/Update.vue
+2
-2
ViewCenter.vue
src/modules/resource/video/components/ViewCenter.vue
+1
-1
ViewTop.vue
src/modules/resource/video/components/ViewTop.vue
+1
-3
List.vue
src/modules/resource/video/views/List.vue
+8
-1
Update.vue
src/modules/resource/video/views/Update.vue
+6
-16
没有找到文件。
src/components/base/AppVideoPlayer.vue
浏览文件 @
97263a6e
...
@@ -8,7 +8,7 @@ import 'video.js/dist/video-js.css'
...
@@ -8,7 +8,7 @@ import 'video.js/dist/video-js.css'
const
DEFAULT_OPTIONS
=
{
const
DEFAULT_OPTIONS
=
{
controls
:
true
,
controls
:
true
,
autoplay
:
tru
e
,
autoplay
:
fals
e
,
fluid
:
true
fluid
:
true
}
}
...
...
src/components/base/CardListItem.vue
浏览文件 @
97263a6e
...
@@ -11,7 +11,7 @@ const props: any = defineProps<{ data: object, path: string, permission?: { edit
...
@@ -11,7 +11,7 @@ const props: any = defineProps<{ data: object, path: string, permission?: { edit
<!--
<img
src=
"http://iph.href.lu/265x170"
/>
-->
<!--
<img
src=
"http://iph.href.lu/265x170"
/>
-->
<div
class=
"title"
>
{{
props
.
data
.
name
}}
</div>
<div
class=
"title"
>
{{
props
.
data
.
name
}}
</div>
<div
class=
"item-info"
>
<div
class=
"item-info"
>
<div
class=
"info"
>
文件大小:
{{
props
.
data
.
size
}}
{{
props
.
data
.
size_name
[
1
]
}}
</div>
<div
class=
"info"
>
文件大小:
{{
props
.
data
.
size
}}
.M
</div>
<div
class=
"info"
>
关联次数:
{{
props
.
data
.
relation_count
}}
次
</div>
<div
class=
"info"
>
关联次数:
{{
props
.
data
.
relation_count
}}
次
</div>
<div
class=
"info"
>
学习人次:
{{
props
.
data
.
learn_count
}}
人次
</div>
<div
class=
"info"
>
学习人次:
{{
props
.
data
.
learn_count
}}
人次
</div>
</div>
</div>
...
...
src/modules/resource/courseware/components/ViewTop.vue
浏览文件 @
97263a6e
...
@@ -63,9 +63,10 @@ const props = defineProps({
...
@@ -63,9 +63,10 @@ const props = defineProps({
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class=
"icons"
/>
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class=
"icons"
/>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<div
class=
"name"
>
知识点
</div>
<div
class=
"name"
>
知识点
</div>
<div
class=
"textarea-box"
style=
"min-width:500px;"
>
<div
class=
"value"
>
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
</div>
<!--
<div
class=
"textarea-box"
style=
"min-width:500px;"
>
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
</div>
</div>
-->
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/modules/resource/courseware/views/List.vue
浏览文件 @
97263a6e
...
@@ -50,7 +50,14 @@ const listOptions = $computed(() => {
...
@@ -50,7 +50,14 @@ const listOptions = $computed(() => {
}
}
],
],
columns
:
[
columns
:
[
{
label
:
'课件标题'
,
prop
:
'name'
},
{
label
:
'课件标题'
,
prop
:
'name'
,
align
:
'center'
,
computed
:
(
row
:
any
)
=>
{
return
row
.
row
.
name
.
length
>
10
?
`
${
row
.
row
.
name
.
slice
(
0
,
10
)}
...`
:
row
.
row
.
name
}
},
{
label
:
'课件分类'
,
prop
:
'classification_name'
,
align
:
'center'
},
{
label
:
'课件分类'
,
prop
:
'classification_name'
,
align
:
'center'
},
{
label
:
'知识点'
,
prop
:
'knowledge_points'
,
align
:
'center'
},
{
label
:
'知识点'
,
prop
:
'knowledge_points'
,
align
:
'center'
},
{
label
:
'资源状态'
,
prop
:
'status_name'
,
align
:
'center'
},
{
label
:
'资源状态'
,
prop
:
'status_name'
,
align
:
'center'
},
...
...
src/modules/resource/courseware/views/Update.vue
浏览文件 @
97263a6e
...
@@ -136,7 +136,7 @@ const protocol = ref(false)
...
@@ -136,7 +136,7 @@ const protocol = ref(false)
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"课件名称:"
prop=
"name"
>
<el-form-item
label=
"课件名称:"
prop=
"name"
>
<el-input
v-model=
"form.name"
/>
<el-input
maxlength=
"40"
v-model=
"form.name"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"课件分类:"
prop=
"classification"
>
<el-form-item
label=
"课件分类:"
prop=
"classification"
>
<el-tree-select
<el-tree-select
...
@@ -148,7 +148,7 @@ const protocol = ref(false)
...
@@ -148,7 +148,7 @@ const protocol = ref(false)
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
" 知识点:"
>
<el-form-item
label=
" 知识点:"
>
<el-input
v-model=
"form.knowledge_points"
:rows=
"2"
type=
"textarea"
/>
<el-input
maxlength=
"100"
v-model=
"form.knowledge_points"
:rows=
"2"
type=
"textarea"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"protocol-box"
>
<div
class=
"protocol-box"
>
...
...
src/modules/resource/dashboard/components/Hottest.vue
浏览文件 @
97263a6e
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
const
prop
=
defineProps
([
'data'
])
import
{
checkPermission
}
from
'@/utils/permission'
import
{
ElMessage
}
from
'element-plus'
const
prop
=
defineProps
({
data
:
{
type
:
Array
,
default
:
()
=>
[]
}
})
const
router
=
useRouter
()
const
listOptions
=
{
const
listOptions
=
{
columns
:
[
columns
:
[
{
label
:
'排名'
,
slots
:
'table-ranking'
,
align
:
'center'
},
{
label
:
'排名'
,
slots
:
'table-ranking'
,
align
:
'center'
},
...
@@ -10,28 +21,51 @@ const listOptions = {
...
@@ -10,28 +21,51 @@ const listOptions = {
{
label
:
'更新人'
,
prop
:
'created_operator_name'
,
align
:
'center'
},
{
label
:
'更新人'
,
prop
:
'created_operator_name'
,
align
:
'center'
},
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
}
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
}
],
],
data
:
prop
.
data
data
:
prop
.
data
.
map
((
item
:
any
)
=>
{
item
.
name
=
`
${
item
.
name
.
slice
(
0
,
10
)}
...`
return
item
})
}
}
const
resourceType
=
(
name
:
string
,
isGetPath
:
boolean
)
=>
{
const
resourceType
=
(
name
:
string
,
isGetPath
:
number
)
=>
{
let
path
=
{}
let
path
=
{}
if
(
isGetPath
)
{
if
(
isGetPath
===
1
)
{
path
=
{
path
=
{
'视频'
:
'/resource/video/view'
,
'视频'
:
'/resource/video/view'
,
'课件'
:
'/resource/courseware/view'
,
'课件'
:
'/resource/courseware/view'
,
'教案'
:
'/resource/lessonplan/view'
,
'教案'
:
'/resource/lessonplan/view'
,
'其他资料'
:
'/resource/other/view'
'其他资料'
:
'/resource/other/view'
}
}
}
else
{
}
else
if
(
isGetPath
===
2
)
{
path
=
{
path
=
{
'视频'
:
1
,
'视频'
:
1
,
'课件'
:
2
,
'课件'
:
2
,
'教案'
:
3
,
'教案'
:
3
,
'其他资料'
:
4
'其他资料'
:
4
}
}
}
else
{
path
=
{
'视频'
:
'v1-resource-video-view'
,
'课件'
:
'v1-resource-courseware-view'
,
'教案'
:
'v1-resource-lesson-plan-view'
,
'其他资料'
:
'v1-resource-other-information-view'
}
}
}
return
path
[
name
]
return
path
[
name
]
}
}
const
viewDetails
=
(
row
:
{
id
:
string
,
resource_type
:
string
})
=>
{
if
(
checkPermission
(
resourceType
(
row
.
resource_type
,
3
)))
{
router
.
push
({
path
:
resourceType
(
row
.
resource_type
,
1
),
query
:
{
id
:
row
.
id
}
})
}
else
{
ElMessage
(
'暂无权限查阅'
)
}
}
</
script
>
</
script
>
<
template
>
<
template
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
border
stripe
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
border
stripe
>
...
@@ -42,18 +76,17 @@ const resourceType = (name: string, isGetPath: boolean) => {
...
@@ -42,18 +76,17 @@ const resourceType = (name: string, isGetPath: boolean) => {
<div
:class=
"`table-relation active$
{row.index}`">
{{
row
.
relation
}}
<span>
次
</span></div>
<div
:class=
"`table-relation active$
{row.index}`">
{{
row
.
relation
}}
<span>
次
</span></div>
</
template
>
</
template
>
<
template
#
table-type=
"{ row }"
>
<
template
#
table-type=
"{ row }"
>
<div
:class=
"`table-type active$
{resourceType(row.resource_type,
false
)}`">
{{
row
.
resource_type
}}
</div>
<div
:class=
"`table-type active$
{resourceType(row.resource_type,
2
)}`">
{{
row
.
resource_type
}}
</div>
</
template
>
</
template
>
<
template
#
table-operate=
"{ row }"
>
<
template
#
table-operate=
"{ row }"
>
<el-space>
<el-space>
<router-link
:to=
"`$
{resourceType(row.resource_type, true)}?id=${row.id}`">
<el-button
<el-button
@
click=
"viewDetails(row)"
style=
"color: #399EE8;"
style=
"color: #399EE8;"
type=
"primary"
type=
"primary"
link
link
>
查阅
</el-button
>
查阅
</el-button
>
>
</router-link>
</el-space>
</el-space>
</
template
>
</
template
>
</AppList>
</AppList>
...
...
src/modules/resource/dashboard/components/Newest.vue
浏览文件 @
97263a6e
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
const
prop
=
defineProps
([
'data'
])
import
{
checkPermission
}
from
'@/utils/permission'
import
{
ElMessage
}
from
'element-plus'
const
router
=
useRouter
()
const
prop
=
defineProps
({
data
:
{
type
:
Array
,
default
:
()
=>
[]
}
})
const
listOptions
=
{
const
listOptions
=
{
columns
:
[
columns
:
[
{
label
:
'排名'
,
slots
:
'table-ranking'
,
align
:
'center'
},
{
label
:
'排名'
,
slots
:
'table-ranking'
,
align
:
'center'
},
...
@@ -10,28 +21,51 @@ const listOptions = {
...
@@ -10,28 +21,51 @@ const listOptions = {
{
label
:
'更新时间'
,
prop
:
'updated_time'
,
align
:
'center'
},
{
label
:
'更新时间'
,
prop
:
'updated_time'
,
align
:
'center'
},
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
}
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
}
],
],
data
:
prop
.
data
data
:
prop
.
data
.
map
((
item
:
any
)
=>
{
item
.
name
=
item
.
name
.
length
>
10
?
`
${
item
.
name
.
slice
(
0
,
10
)}
...`
:
item
.
name
return
item
})
}
}
const
resourceType
=
(
name
:
string
,
isGetPath
:
boolean
)
=>
{
const
resourceType
=
(
name
:
string
,
isGetPath
:
number
)
=>
{
let
path
=
{}
let
path
=
{}
if
(
isGetPath
)
{
if
(
isGetPath
===
1
)
{
path
=
{
path
=
{
'视频'
:
'/resource/video/view'
,
'视频'
:
'/resource/video/view'
,
'课件'
:
'/resource/courseware/view'
,
'课件'
:
'/resource/courseware/view'
,
'教案'
:
'/resource/lessonplan/view'
,
'教案'
:
'/resource/lessonplan/view'
,
'其他资料'
:
'/resource/other/view'
'其他资料'
:
'/resource/other/view'
}
}
}
else
{
}
else
if
(
isGetPath
===
2
)
{
path
=
{
path
=
{
'视频'
:
1
,
'视频'
:
1
,
'课件'
:
2
,
'课件'
:
2
,
'教案'
:
3
,
'教案'
:
3
,
'其他资料'
:
4
'其他资料'
:
4
}
}
}
else
{
path
=
{
'视频'
:
'v1-resource-video-view'
,
'课件'
:
'v1-resource-courseware-view'
,
'教案'
:
'v1-resource-lesson-plan-view'
,
'其他资料'
:
'v1-resource-other-information-view'
}
}
}
return
path
[
name
]
return
path
[
name
]
}
}
const
viewDetails
=
(
row
:
{
id
:
string
,
resource_type
:
string
})
=>
{
if
(
checkPermission
(
resourceType
(
row
.
resource_type
,
3
)))
{
router
.
push
({
path
:
resourceType
(
row
.
resource_type
,
1
),
query
:
{
id
:
row
.
id
}
})
}
else
{
ElMessage
(
'暂无权限查阅'
)
}
}
</
script
>
</
script
>
<
template
>
<
template
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
border
stripe
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
border
stripe
>
...
@@ -39,18 +73,19 @@ const resourceType = (name: string, isGetPath: boolean) => {
...
@@ -39,18 +73,19 @@ const resourceType = (name: string, isGetPath: boolean) => {
<div
:class=
"`table-ranking active$
{row.index}`">
{{
row
.
index
<=
3
?
''
:
row
.
index
}}
</div>
<div
:class=
"`table-ranking active$
{row.index}`">
{{
row
.
index
<=
3
?
''
:
row
.
index
}}
</div>
</
template
>
</
template
>
<
template
#
table-type=
"{ row }"
>
<
template
#
table-type=
"{ row }"
>
<div
:class=
"`table-type active$
{resourceType(row.resource_type,
false
)}`">
{{
row
.
resource_type
}}
</div>
<div
:class=
"`table-type active$
{resourceType(row.resource_type,
2
)}`">
{{
row
.
resource_type
}}
</div>
</
template
>
</
template
>
<
template
#
table-operate=
"{ row }"
>
<
template
#
table-operate=
"{ row }"
>
<el-space>
<el-space>
<
router-link
:to=
"`$
{resourceType(row.resource_type, true)}?id=${row.id}`"
>
<
!--
<router-link
:to=
"`$
{resourceType(row.resource_type, true)}?id=${row.id}`"> --
>
<el-button
<el-button
@
click=
"viewDetails(row)"
style=
"color: #399EE8;"
style=
"color: #399EE8;"
type=
"primary"
type=
"primary"
link
link
>
查阅
</el-button
>
查阅
</el-button
>
>
<
/router-link
>
<
!--
</router-link>
--
>
</el-space>
</el-space>
</
template
>
</
template
>
</AppList>
</AppList>
...
...
src/modules/resource/dashboard/components/RecentLearning.vue
浏览文件 @
97263a6e
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
const
prop
=
defineProps
([
'data'
])
import
{
checkPermission
}
from
'@/utils/permission'
import
{
ElMessage
}
from
'element-plus'
const
router
=
useRouter
()
const
prop
=
defineProps
({
data
:
{
type
:
Array
,
default
:
()
=>
[]
}
})
const
listOptions
=
{
const
listOptions
=
{
columns
:
[
columns
:
[
{
label
:
'排名'
,
slots
:
'table-ranking'
,
align
:
'center'
},
{
label
:
'排名'
,
slots
:
'table-ranking'
,
align
:
'center'
},
...
@@ -10,28 +21,51 @@ const listOptions = {
...
@@ -10,28 +21,51 @@ const listOptions = {
{
label
:
'更新时间'
,
prop
:
'updated_time'
,
align
:
'center'
},
{
label
:
'更新时间'
,
prop
:
'updated_time'
,
align
:
'center'
},
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
}
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
}
],
],
data
:
prop
.
data
data
:
prop
.
data
.
map
((
item
:
any
)
=>
{
item
.
name
=
`
${
item
.
name
.
slice
(
0
,
10
)}
...`
return
item
})
}
}
const
resourceType
=
(
name
:
string
,
isGetPath
:
boolean
)
=>
{
const
resourceType
=
(
name
:
string
,
isGetPath
:
number
)
=>
{
let
path
=
{}
let
path
=
{}
if
(
isGetPath
)
{
if
(
isGetPath
===
1
)
{
path
=
{
path
=
{
'视频'
:
'/resource/video/view'
,
'视频'
:
'/resource/video/view'
,
'课件'
:
'/resource/courseware/view'
,
'课件'
:
'/resource/courseware/view'
,
'教案'
:
'/resource/lessonplan/view'
,
'教案'
:
'/resource/lessonplan/view'
,
'其他资料'
:
'/resource/other/view'
'其他资料'
:
'/resource/other/view'
}
}
}
else
{
}
else
if
(
isGetPath
===
2
)
{
path
=
{
path
=
{
'视频'
:
1
,
'视频'
:
1
,
'课件'
:
2
,
'课件'
:
2
,
'教案'
:
3
,
'教案'
:
3
,
'其他资料'
:
4
'其他资料'
:
4
}
}
}
else
{
path
=
{
'视频'
:
'v1-resource-video-view'
,
'课件'
:
'v1-resource-courseware-view'
,
'教案'
:
'v1-resource-lesson-plan-view'
,
'其他资料'
:
'v1-resource-other-information-view'
}
}
}
return
path
[
name
]
return
path
[
name
]
}
}
const
viewDetails
=
(
row
:
{
id
:
string
,
resource_type
:
string
})
=>
{
if
(
checkPermission
(
resourceType
(
row
.
resource_type
,
3
)))
{
router
.
push
({
path
:
resourceType
(
row
.
resource_type
,
1
),
query
:
{
id
:
row
.
id
}
})
}
else
{
ElMessage
(
'暂无权限查阅'
)
}
}
</
script
>
</
script
>
<
template
>
<
template
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
border
stripe
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
border
stripe
>
...
@@ -39,18 +73,17 @@ const resourceType = (name: string, isGetPath: boolean) => {
...
@@ -39,18 +73,17 @@ const resourceType = (name: string, isGetPath: boolean) => {
<div
:class=
"`table-ranking active$
{row.index}`">
{{
row
.
index
<=
3
?
''
:
row
.
index
}}
</div>
<div
:class=
"`table-ranking active$
{row.index}`">
{{
row
.
index
<=
3
?
''
:
row
.
index
}}
</div>
</
template
>
</
template
>
<
template
#
table-type=
"{ row }"
>
<
template
#
table-type=
"{ row }"
>
<div
:class=
"`table-type active$
{resourceType(row.resource_type,
false
)}`">
{{
row
.
resource_type
}}
</div>
<div
:class=
"`table-type active$
{resourceType(row.resource_type,
2
)}`">
{{
row
.
resource_type
}}
</div>
</
template
>
</
template
>
<
template
#
table-operate=
"{ row }"
>
<
template
#
table-operate=
"{ row }"
>
<el-space>
<el-space>
<router-link
:to=
"`$
{resourceType(row.resource_type, true)}?id=${row.id}`">
<el-button
<el-button
@
click=
"viewDetails(row)"
style=
"color: #399EE8;"
style=
"color: #399EE8;"
type=
"primary"
type=
"primary"
link
link
>
查阅
</el-button
>
查阅
</el-button
>
>
</router-link>
</el-space>
</el-space>
</
template
>
</
template
>
</AppList>
</AppList>
...
...
src/modules/resource/dashboard/views/Index.vue
浏览文件 @
97263a6e
...
@@ -5,7 +5,7 @@ import Hottest from '../components/Hottest.vue'
...
@@ -5,7 +5,7 @@ import Hottest from '../components/Hottest.vue'
import
RecentLearning
from
'../components/RecentLearning.vue'
import
RecentLearning
from
'../components/RecentLearning.vue'
import
{
getUtilData
}
from
'../api'
import
{
getUtilData
}
from
'../api'
let
flag
=
$ref
(
false
)
let
flag
=
$ref
(
false
)
const
data
=
reactive
<
{
statistics
:
object
[],
latest
:
object
[],
hot
:
object
[],
learn
:
object
[]
}
>
({
const
data
=
reactive
<
{
statistics
:
object
[];
latest
:
object
[];
hot
:
object
[];
learn
:
object
[]
}
>
({
statistics
:
[],
statistics
:
[],
latest
:
[],
latest
:
[],
hot
:
[],
hot
:
[],
...
@@ -14,7 +14,7 @@ const data = reactive<{statistics: object[], latest: object[], hot: object[], le
...
@@ -14,7 +14,7 @@ const data = reactive<{statistics: object[], latest: object[], hot: object[], le
// 所有数据
// 所有数据
getUtilData
().
then
(
res
=>
{
getUtilData
().
then
(
res
=>
{
flag
=
true
flag
=
true
let
{
latest
=
[],
hot
=
[],
learn
=
[]
}:
{
latest
:
object
[]
,
hot
:
object
[],
learn
:
object
[]
}
=
res
.
data
let
{
latest
=
[],
hot
=
[],
learn
=
[]
}:
{
latest
:
object
[]
;
hot
:
object
[];
learn
:
object
[]
}
=
res
.
data
if
(
learn
===
null
)
learn
=
[]
if
(
learn
===
null
)
learn
=
[]
// 统计资源数据整合
// 统计资源数据整合
const
statisticsData
=
[
const
statisticsData
=
[
...
@@ -36,16 +36,18 @@ getUtilData().then(res => {
...
@@ -36,16 +36,18 @@ getUtilData().then(res => {
data
.
latest
=
latest
.
map
((
item
:
any
,
index
:
number
)
=>
{
data
.
latest
=
latest
.
map
((
item
:
any
,
index
:
number
)
=>
{
item
.
index
=
index
+
1
item
.
index
=
index
+
1
return
item
return
item
})
})
||
[]
// 最热资源
// 最热资源
data
.
hot
=
hot
.
map
((
item
:
any
,
index
:
number
)
=>
{
data
.
hot
=
hot
.
map
((
item
:
any
,
index
:
number
)
=>
{
item
.
index
=
index
+
1
item
.
index
=
index
+
1
return
item
return
item
})
})
||
[]
data
.
learn
=
learn
.
map
((
item
:
any
,
index
:
number
)
=>
{
data
.
learn
=
learn
.
map
((
item
:
any
,
index
:
number
)
=>
{
item
.
index
=
index
+
1
item
.
index
=
index
+
1
return
item
return
item
})
})
||
[]
})
})
</
script
>
</
script
>
<
template
>
<
template
>
...
...
src/modules/resource/lessonplan/components/ViewTop.vue
浏览文件 @
97263a6e
...
@@ -63,9 +63,10 @@ const props = defineProps({
...
@@ -63,9 +63,10 @@ const props = defineProps({
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class=
"icons"
/>
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class=
"icons"
/>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<div
class=
"name"
>
知识点
</div>
<div
class=
"name"
>
知识点
</div>
<div
class=
"textarea-box"
style=
"min-width:500px;"
>
<div
class=
"value"
>
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
</div>
<!--
<div
class=
"textarea-box"
style=
"min-width:500px;"
>
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
</div>
</div>
-->
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/modules/resource/lessonplan/views/List.vue
浏览文件 @
97263a6e
...
@@ -50,7 +50,14 @@ const listOptions = $computed(() => {
...
@@ -50,7 +50,14 @@ const listOptions = $computed(() => {
}
}
],
],
columns
:
[
columns
:
[
{
label
:
'教案标题'
,
prop
:
'name'
},
{
label
:
'教案标题'
,
prop
:
'name'
,
align
:
'center'
,
computed
:
(
row
:
any
)
=>
{
return
row
.
row
.
name
.
length
>
10
?
`
${
row
.
row
.
name
.
slice
(
0
,
10
)}
...`
:
row
.
row
.
name
}
},
{
label
:
'教案分类'
,
prop
:
'classification_name'
,
align
:
'center'
},
{
label
:
'教案分类'
,
prop
:
'classification_name'
,
align
:
'center'
},
{
label
:
'知识点'
,
prop
:
'knowledge_points'
,
align
:
'center'
},
{
label
:
'知识点'
,
prop
:
'knowledge_points'
,
align
:
'center'
},
{
label
:
'资源状态'
,
prop
:
'status_name'
,
align
:
'center'
},
{
label
:
'资源状态'
,
prop
:
'status_name'
,
align
:
'center'
},
...
...
src/modules/resource/lessonplan/views/Update.vue
浏览文件 @
97263a6e
...
@@ -136,13 +136,13 @@ const protocol = ref(false)
...
@@ -136,13 +136,13 @@ const protocol = ref(false)
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"教案名称:"
prop=
"name"
>
<el-form-item
label=
"教案名称:"
prop=
"name"
>
<el-input
v-model=
"form.name"
/>
<el-input
maxlength=
"40"
v-model=
"form.name"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"教案分类:"
prop=
"classification"
>
<el-form-item
label=
"教案分类:"
prop=
"classification"
>
<el-tree-select
:props=
"defaultProps"
style=
"width: 100%"
v-model=
"form.classification"
:data=
"selectTree"
/>
<el-tree-select
:props=
"defaultProps"
style=
"width: 100%"
v-model=
"form.classification"
:data=
"selectTree"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
" 知识点:"
>
<el-form-item
label=
" 知识点:"
>
<el-input
v-model=
"form.knowledge_points"
:rows=
"2"
type=
"textarea"
/>
<el-input
maxlength=
"100"
v-model=
"form.knowledge_points"
:rows=
"2"
type=
"textarea"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"protocol-box"
>
<div
class=
"protocol-box"
>
...
...
src/modules/resource/other/components/ViewTop.vue
浏览文件 @
97263a6e
...
@@ -63,9 +63,10 @@ const props = defineProps({
...
@@ -63,9 +63,10 @@ const props = defineProps({
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class=
"icons"
/>
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class=
"icons"
/>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<div
class=
"name"
>
知识点
</div>
<div
class=
"name"
>
知识点
</div>
<div
class=
"textarea-box"
style=
"min-width:500px;"
>
<div
class=
"value"
>
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
</div>
<!--
<div
class=
"textarea-box"
style=
"min-width:500px;"
>
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
</div>
</div>
-->
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/modules/resource/other/views/List.vue
浏览文件 @
97263a6e
...
@@ -51,7 +51,14 @@ const listOptions = $computed(() => {
...
@@ -51,7 +51,14 @@ const listOptions = $computed(() => {
}
}
],
],
columns
:
[
columns
:
[
{
label
:
'课件标题'
,
prop
:
'name'
},
{
label
:
'其他标题'
,
prop
:
'name'
,
align
:
'center'
,
computed
:
(
row
:
any
)
=>
{
return
row
.
row
.
name
.
length
>
10
?
`
${
row
.
row
.
name
.
slice
(
0
,
10
)}
...`
:
row
.
row
.
name
}
},
{
label
:
'课件分类'
,
prop
:
'classification_name'
,
align
:
'center'
},
{
label
:
'课件分类'
,
prop
:
'classification_name'
,
align
:
'center'
},
{
label
:
'知识点'
,
prop
:
'knowledge_points'
,
align
:
'center'
},
{
label
:
'知识点'
,
prop
:
'knowledge_points'
,
align
:
'center'
},
{
label
:
'资源状态'
,
prop
:
'status_name'
,
align
:
'center'
},
{
label
:
'资源状态'
,
prop
:
'status_name'
,
align
:
'center'
},
...
...
src/modules/resource/other/views/Update.vue
浏览文件 @
97263a6e
...
@@ -136,13 +136,13 @@ const protocol = ref(false)
...
@@ -136,13 +136,13 @@ const protocol = ref(false)
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"其他名称:"
prop=
"name"
>
<el-form-item
label=
"其他名称:"
prop=
"name"
>
<el-input
v-model=
"form.name"
/>
<el-input
maxlength=
"40"
v-model=
"form.name"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"其他分类:"
prop=
"classification"
>
<el-form-item
label=
"其他分类:"
prop=
"classification"
>
<el-tree-select
:props=
"defaultProps"
style=
"width: 100%"
v-model=
"form.classification"
:data=
"selectTree"
/>
<el-tree-select
:props=
"defaultProps"
style=
"width: 100%"
v-model=
"form.classification"
:data=
"selectTree"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
" 知识点:"
>
<el-form-item
label=
" 知识点:"
>
<el-input
v-model=
"form.knowledge_points"
:rows=
"2"
type=
"textarea"
/>
<el-input
maxlength=
"100"
v-model=
"form.knowledge_points"
:rows=
"2"
type=
"textarea"
/>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
class=
"protocol-box"
>
<div
class=
"protocol-box"
>
...
...
src/modules/resource/video/components/ViewCenter.vue
浏览文件 @
97263a6e
...
@@ -8,7 +8,7 @@ const videoOptions = $computed(() => {
...
@@ -8,7 +8,7 @@ const videoOptions = $computed(() => {
<
template
>
<
template
>
<div
class=
"center-video-box"
>
<div
class=
"center-video-box"
>
<div
style=
" width:812px; height:433px;padding-bottom: 20px;"
>
<div
style=
" width:812px; height:433px;padding-bottom: 20px;"
>
<AppVideoPlayer
:options=
"videoOptions"
></AppVideoPlayer>
<AppVideoPlayer
style=
"width:812px; height:433px;"
:options=
"videoOptions"
></AppVideoPlayer>
</div>
</div>
<div
class=
"right-statistics"
>
<div
class=
"right-statistics"
>
<div
class=
"stat-item"
>
<div
class=
"stat-item"
>
...
...
src/modules/resource/video/components/ViewTop.vue
浏览文件 @
97263a6e
...
@@ -62,9 +62,7 @@
...
@@ -62,9 +62,7 @@
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class=
"icons"
>
<img
src=
"https://webapp-pub.oss-cn-beijing.aliyuncs.com/center_resource/video-view-icon8.png"
class=
"icons"
>
<div
class=
"text-box"
>
<div
class=
"text-box"
>
<div
class=
"name"
>
知识点
</div>
<div
class=
"name"
>
知识点
</div>
<div
class=
"textarea-box"
>
<div
class=
"value"
>
{{
props
.
data
?.
knowledge_points
||
'暂无'
}}
</div>
{{
props
.
data
.
knowledge_points
}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/modules/resource/video/views/List.vue
浏览文件 @
97263a6e
...
@@ -51,7 +51,14 @@ const listOptions = $computed(() => {
...
@@ -51,7 +51,14 @@ const listOptions = $computed(() => {
}
}
],
],
columns
:
[
columns
:
[
{
label
:
'视频标题'
,
prop
:
'name'
,
align
:
'center'
},
{
label
:
'视频标题'
,
prop
:
'name'
,
align
:
'center'
,
computed
:
(
row
:
any
)
=>
{
return
row
.
row
.
name
.
length
>
10
?
`
${
row
.
row
.
name
.
slice
(
0
,
10
)}
...`
:
row
.
row
.
name
}
},
{
label
:
'视频分类'
,
prop
:
'classification_name'
,
align
:
'center'
},
{
label
:
'视频分类'
,
prop
:
'classification_name'
,
align
:
'center'
},
{
label
:
'知识点'
,
prop
:
'knowledge_points'
,
align
:
'center'
},
{
label
:
'知识点'
,
prop
:
'knowledge_points'
,
align
:
'center'
},
{
label
:
'封面'
,
slots
:
'table-cover'
,
width
:
150
,
align
:
'center'
},
{
label
:
'封面'
,
slots
:
'table-cover'
,
width
:
150
,
align
:
'center'
},
...
...
src/modules/resource/video/views/Update.vue
浏览文件 @
97263a6e
...
@@ -38,27 +38,17 @@ const defaultProps = {
...
@@ -38,27 +38,17 @@ const defaultProps = {
let
swiperCovers
:
[{
id
:
string
;
url
:
string
}[]]
=
$ref
([[]])
let
swiperCovers
:
[{
id
:
string
;
url
:
string
}[]]
=
$ref
([[]])
// 获取封面
// 获取封面
getCoverList
().
then
(
res
=>
{
getCoverList
().
then
(
res
=>
{
let
arr
:
object
[]
=
[]
const
filtersData
=
res
.
data
.
list
.
filter
((
i
:
any
)
=>
i
.
type
===
'1'
)
const
filtersData
=
res
.
data
.
list
.
filter
((
i
:
any
)
=>
i
.
type
===
'1'
)
swiperCovers
=
filtersData
.
reduce
((
a
:
any
,
b
:
any
,
index
:
number
)
=>
{
let
index
=
0
if
(
index
===
0
)
{
while
(
index
<
filtersData
.
length
)
{
arr
.
push
(
b
)
swiperCovers
.
push
(
filtersData
.
slice
(
index
,
index
+=
8
));
a
.
push
(
arr
)
}
else
{
if
(
index
%
8
===
0
)
{
arr
=
[]
a
.
push
(
arr
)
}
else
{
arr
.
push
(
b
)
}
}
}
return
a
},
[])
swiperCovers
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
swiperCovers
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
if
(
item
.
length
===
0
)
{
if
(
item
.
length
===
0
)
{
swiperCovers
.
splice
(
index
,
1
)
swiperCovers
.
splice
(
index
,
1
)
}
}
})
})
console
.
log
(
swiperCovers
,
'123'
)
})
})
// 获取swiper 自定义左右切换按钮
// 获取swiper 自定义左右切换按钮
let
swiper
=
ref
()
let
swiper
=
ref
()
...
@@ -145,7 +135,7 @@ const uploadVideo = (data: any) => {
...
@@ -145,7 +135,7 @@ const uploadVideo = (data: any) => {
<UploadVideo
@
upload=
"uploadVideo"
></UploadVideo>
<UploadVideo
@
upload=
"uploadVideo"
></UploadVideo>
</el-form-item>
</el-form-item>
<el-form-item
label=
"视频名称:"
prop=
"name"
>
<el-form-item
label=
"视频名称:"
prop=
"name"
>
<el-input
v-model=
"form.data.name"
/>
<el-input
v-model=
"form.data.name"
maxlength=
"40"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"视频分类:"
prop=
"classification"
>
<el-form-item
label=
"视频分类:"
prop=
"classification"
>
<el-tree-select
<el-tree-select
...
@@ -156,7 +146,7 @@ const uploadVideo = (data: any) => {
...
@@ -156,7 +146,7 @@ const uploadVideo = (data: any) => {
/>
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
" 知识点:"
>
<el-form-item
label=
" 知识点:"
>
<el-input
v-model=
"form.data.knowledge_points"
:rows=
"2"
type=
"textarea"
/>
<el-input
v-model=
"form.data.knowledge_points"
:rows=
"2"
type=
"textarea"
maxlength=
"100"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
" 视频封面:"
>
<el-form-item
label=
" 视频封面:"
>
<div
class=
"video-cover"
>
<div
class=
"video-cover"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论