Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-resource
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-resource
Commits
bd8030d0
提交
bd8030d0
authored
6月 20, 2022
作者:
lihuihui
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改bug
上级
1464d4f3
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
81 行增加
和
23 行删除
+81
-23
AppVideoPlayer.vue
src/components/base/AppVideoPlayer.vue
+3
-1
PreviewFiles.vue
src/components/base/PreviewFiles.vue
+2
-2
useGetCategoryList.ts
src/composables/useGetCategoryList.ts
+17
-1
Update.vue
src/modules/resource/courseware/views/Update.vue
+5
-0
Update.vue
src/modules/resource/lessonplan/views/Update.vue
+3
-0
View.vue
src/modules/resource/lessonplan/views/View.vue
+2
-2
Update.vue
src/modules/resource/other/views/Update.vue
+3
-0
View.vue
src/modules/resource/other/views/View.vue
+2
-2
ViewCenter.vue
src/modules/resource/video/components/ViewCenter.vue
+2
-2
List.vue
src/modules/resource/video/views/List.vue
+9
-4
Update.vue
src/modules/resource/video/views/Update.vue
+33
-9
没有找到文件。
src/components/base/AppVideoPlayer.vue
浏览文件 @
bd8030d0
<
template
>
<video
ref=
"videoPlayer"
class=
"video-js"
></video>
<div
style=
"width:812;height:443px;position: relative;"
>
<video
ref=
"videoPlayer"
class=
"video-js vjs-default-skin vjs-big-play-centered vjs-16-9"
></video>
</div>
</
template
>
<
script
>
...
...
src/components/base/PreviewFiles.vue
浏览文件 @
bd8030d0
...
...
@@ -23,10 +23,10 @@ if (props.url?.indexOf('.pdf') !== -1 || props.url?.indexOf('.txt') !== -1) {
<iframe
v-if=
"isShowType === 1"
width=
"812"
height=
"4
33
"
height=
"4
50
"
:src=
"`https://view.officeapps.live.com/op/view.aspx?src=$
{props.url}`"
>
</iframe>
<embed
width=
"812"
height=
"4
33
"
:src=
"props.url"
v-else-if=
"isShowType === 2"
/>
<embed
width=
"812"
height=
"4
50
"
:src=
"props.url"
v-else-if=
"isShowType === 2"
/>
<video
v-else-if=
"isShowType === 3"
width=
"812"
height=
"433"
controls
id=
"video"
>
<source
:src=
"props.url"
/>
</video>
...
...
src/composables/useGetCategoryList.ts
浏览文件 @
bd8030d0
...
...
@@ -3,7 +3,22 @@ import { getCategoryList } from '@/api/base'
export
function
useGetCategoryList
()
{
const
list
=
ref
([])
getCategoryList
({
type
:
'tree'
}).
then
((
res
:
any
)
=>
{
list
.
value
=
res
.
data
list
.
value
=
res
.
data
.
filter
((
item
:
any
)
=>
{
if
(
parseInt
(
item
.
status
))
{
item
.
children
=
detailChild
(
item
.
children
)
}
return
parseInt
(
item
.
status
)
})
})
const
detailChild
=
(
child
:
any
)
=>
{
if
(
!
child
)
return
[]
return
child
.
filter
((
item
:
any
)
=>
{
if
(
parseInt
(
item
.
status
))
{
item
.
children
=
detailChild
(
item
.
children
)
}
return
parseInt
(
item
.
status
)
})
}
return
{
list
}
}
\ No newline at end of file
src/modules/resource/courseware/views/Update.vue
浏览文件 @
bd8030d0
...
...
@@ -164,6 +164,10 @@ const protocol = ref(false)
</
template
>
<
style
lang=
"scss"
>
.upload-box
{
// min-width: 400px;
.el-progress__text
{
transform
:
translate
(
20px
,
-5px
);
}
position
:
relative
;
.app-upload-btn
{
position
:
relative
;
...
...
@@ -302,6 +306,7 @@ const protocol = ref(false)
}
}
.upload-video
{
width
:
500px
;
display
:
flex
;
align-items
:
center
;
.upload-btn
{
...
...
src/modules/resource/lessonplan/views/Update.vue
浏览文件 @
bd8030d0
...
...
@@ -159,6 +159,9 @@ const protocol = ref(false)
<
style
lang=
"scss"
>
.upload-box
{
position
:
relative
;
.el-progress__text
{
transform
:
translate
(
20px
,
-5px
);
}
.app-upload-btn
{
position
:
relative
;
z-index
:
99
;
...
...
src/modules/resource/lessonplan/views/View.vue
浏览文件 @
bd8030d0
...
...
@@ -34,13 +34,13 @@ getLessonDetails({ id: id }).then((res: any) => {
</
script
>
<
template
>
<AppCard
title=
"
课件
资源信息"
>
<AppCard
title=
"
教案
资源信息"
>
<Operation
:data=
"lessonDetails"
></Operation>
<ViewTop
:data=
"lessonDetails"
></ViewTop>
<ViewCenter
v-if=
"Object.keys(lessonDetails).length"
:data=
"lessonDetails"
></ViewCenter>
<ViewBottom></ViewBottom>
</AppCard>
<AppCard
title=
"
课件
资源关联使用课程"
>
<AppCard
title=
"
教案
资源关联使用课程"
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
stripe
>
<template
#
table-img=
"
{ row }">
<img
:src=
"row.img"
style=
"width: 100px;display:block;"
>
...
...
src/modules/resource/other/views/Update.vue
浏览文件 @
bd8030d0
...
...
@@ -159,6 +159,9 @@ const protocol = ref(false)
<
style
lang=
"scss"
>
.upload-box
{
position
:
relative
;
.el-progress__text
{
transform
:
translate
(
20px
,
-5px
);
}
.app-upload-btn
{
position
:
relative
;
z-index
:
99
;
...
...
src/modules/resource/other/views/View.vue
浏览文件 @
bd8030d0
...
...
@@ -36,13 +36,13 @@ getOtherDetails({ id: id }).then((res: any) => {
</
script
>
<
template
>
<AppCard
title=
"
课件
资源信息"
>
<AppCard
title=
"
其他
资源信息"
>
<Operation
:data=
"otherDetails"
></Operation>
<ViewTop
:data=
"otherDetails"
></ViewTop>
<ViewCenter
v-if=
"Object.keys(otherDetails).length"
:data=
"otherDetails"
></ViewCenter>
<ViewBottom></ViewBottom>
</AppCard>
<AppCard
title=
"
课件
资源关联使用课程"
>
<AppCard
title=
"
其他
资源关联使用课程"
>
<AppList
v-bind=
"listOptions"
ref=
"appList"
stripe
>
<template
#
table-img=
"
{ row }">
<img
:src=
"row.img"
style=
"width: 100px;display:block;"
>
...
...
src/modules/resource/video/components/ViewCenter.vue
浏览文件 @
bd8030d0
...
...
@@ -7,8 +7,8 @@ const videoOptions = $computed(() => {
</
script
>
<
template
>
<div
class=
"center-video-box"
>
<div
style=
"
width:812px; height:433px;padding-bottom: 20px;"
>
<AppVideoPlayer
style=
"width:812px; height:433px;"
:options=
"videoOptions"
></AppVideoPlayer>
<div
style=
"width:812px; height:433px;padding-bottom: 20px;"
>
<AppVideoPlayer
:options=
"videoOptions"
></AppVideoPlayer>
</div>
<div
class=
"right-statistics"
>
<div
class=
"stat-item"
>
...
...
src/modules/resource/video/views/List.vue
浏览文件 @
bd8030d0
...
...
@@ -20,14 +20,14 @@ const defaultProps = {
}
// 资源出处 tab触发
const
tabValue
=
ref
(
'1'
)
const
tabValue
:
any
=
ref
(
'1'
)
const
appList
=
ref
()
const
tabChange
=
()
=>
{
appList
.
value
.
refetch
()
}
// 列表切换
const
isCard
=
ref
(
fals
e
)
const
isCard
=
ref
(
tru
e
)
// table 数据
const
listOptions
=
$computed
(()
=>
{
...
...
@@ -66,6 +66,7 @@ const listOptions = $computed(() => {
{
label
:
'审核状态'
,
prop
:
'audit_status_name'
,
align
:
'center'
},
{
label
:
'更新人'
,
prop
:
'updated_operator_name'
,
align
:
'center'
},
{
label
:
'更新人部门'
,
prop
:
'organ_id_name'
,
align
:
'center'
},
// { label: '部门共享', prop: 'table-share', align: 'center' },
{
label
:
'更新日期'
,
prop
:
'updated_time'
,
align
:
'center'
},
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
,
width
:
200
}
]
...
...
@@ -95,7 +96,7 @@ const typeFilter = () => {
<AppList
v-bind=
"listOptions"
ref=
"appList"
>
<template
#
header-aside
></
template
>
<
template
#
table-cover=
"{ row }"
>
<div
style=
"background:#ccc"
>
<div
style=
"background:
#ccc"
>
<el-icon
:size=
"50"
color=
"#fff"
v-if=
"row.cover == ''"
>
<PictureFilled></PictureFilled>
</el-icon>
...
...
@@ -129,7 +130,11 @@ const typeFilter = () => {
<router-link
v-permission=
"'v1-resource-video-update'"
:to=
"`/resource/video/update?id=$
{row.id}`">
<el-button
plain
>
编辑
</el-button>
</router-link>
<router-link
v-if=
"row.status == '1'"
v-permission=
"'v1-resource-video-view'"
:to=
"`/resource/video/view?id=$
{row.id}`">
<router-link
v-if=
"row.status == '1'"
v-permission=
"'v1-resource-video-view'"
:to=
"`/resource/video/view?id=$
{row.id}`"
>
<el-button
type=
"primary"
plain
>
查看
</el-button>
</router-link>
</el-space>
...
...
src/modules/resource/video/views/Update.vue
浏览文件 @
bd8030d0
...
...
@@ -38,10 +38,10 @@ const defaultProps = {
let
swiperCovers
:
[{
id
:
string
;
url
:
string
}[]]
=
$ref
([[]])
// 获取封面
getCoverList
().
then
(
res
=>
{
const
filtersData
=
res
.
data
.
list
.
filter
((
i
:
any
)
=>
i
.
type
===
'1'
)
const
filtersData
=
res
.
data
.
list
.
filter
((
i
:
any
)
=>
i
.
type
===
'1'
)
let
index
=
0
while
(
index
<
filtersData
.
length
)
{
swiperCovers
.
push
(
filtersData
.
slice
(
index
,
index
+=
8
));
while
(
index
<
filtersData
.
length
)
{
swiperCovers
.
push
(
filtersData
.
slice
(
index
,
(
index
+=
8
)))
}
swiperCovers
.
forEach
((
item
:
any
,
index
:
number
)
=>
{
if
(
item
.
length
===
0
)
{
...
...
@@ -53,6 +53,7 @@ getCoverList().then(res => {
// 获取swiper 自定义左右切换按钮
let
swiper
=
ref
()
const
swiperChange
=
(
type
?:
string
)
=>
{
console
.
log
(
swiperChange
,
'index'
)
type
===
'prev'
?
swiper
.
value
.
prev
()
:
swiper
.
value
.
next
()
}
const
swiperItemHandle
=
(
url
:
string
)
=>
{
...
...
@@ -126,6 +127,15 @@ const uploadVideo = (data: any) => {
form
.
data
.
source_id
=
data
.
videoId
form
.
data
.
name
=
data
.
name
}
let
isSwiperBtn
=
$ref
(
0
)
const
watchSwiper
=
(
index
:
number
)
=>
{
if
(
!
index
)
{
isSwiperBtn
=
0
}
else
{
swiperCovers
.
length
===
index
+
1
?
isSwiperBtn
=
1
:
isSwiperBtn
=
2
}
}
</
script
>
<
template
>
...
...
@@ -139,6 +149,7 @@ const uploadVideo = (data: any) => {
</el-form-item>
<el-form-item
label=
"视频分类:"
prop=
"classification"
>
<el-tree-select
:render-after-expand=
"false"
:props=
"defaultProps"
style=
"width: 100%"
v-model=
"form.data.classification"
...
...
@@ -146,7 +157,13 @@ const uploadVideo = (data: any) => {
/>
</el-form-item>
<el-form-item
label=
" 知识点:"
>
<el-input
placeholder=
"请输入该视频相关知识点,多个知识点请使用“,”分隔"
v-model=
"form.data.knowledge_points"
:rows=
"2"
type=
"textarea"
maxlength=
"100"
/>
<el-input
placeholder=
"请输入该视频相关知识点,多个知识点请使用“,”分隔"
v-model=
"form.data.knowledge_points"
:rows=
"2"
type=
"textarea"
maxlength=
"100"
/>
</el-form-item>
<el-form-item
label=
" 视频封面:"
>
<div
class=
"video-cover"
>
...
...
@@ -157,7 +174,7 @@ const uploadVideo = (data: any) => {
<div
v-else
class=
"cover-img"
:style=
"`background-image:url($
{form.data.cover})`">
</div>
</div>
<div
class=
"video-cover_right"
>
<UploadImg
v-model=
"form.data.cover"
></UploadImg>
<UploadImg
accept=
".jpg,.jpeg,.gif,.png"
v-model=
"form.data.cover"
></UploadImg>
<div
class=
"list"
>
<div
class=
"item"
>
<img
...
...
@@ -192,7 +209,14 @@ const uploadVideo = (data: any) => {
</div>
<div
class=
"swiper-box"
>
<div
class=
"block text-center"
v-if=
"swiperCovers.length"
>
<el-carousel
height=
"202px"
:autoplay=
"false"
arrow=
"never"
trigger=
"click"
ref=
"swiper"
>
<el-carousel
@
change=
"watchSwiper"
height=
"202px"
:autoplay=
"false"
arrow=
"never"
trigger=
"click"
ref=
"swiper"
>
<el-carousel-item
v-for=
"(item, index) in swiperCovers"
:key=
"index"
class=
"cover-list"
>
<div
@
click=
"swiperItemHandle(cItem.url)"
...
...
@@ -204,8 +228,8 @@ const uploadVideo = (data: any) => {
</el-carousel-item>
</el-carousel>
</div>
<el-icon
class=
"arrow left"
@
click=
"swiperChange('prev')"
><ArrowLeftBold
/></el-icon>
<el-icon
class=
"arrow right"
@
click=
"swiperChange('next')"
><ArrowRightBold
/></el-icon>
<el-icon
v-if=
"isSwiperBtn != 0"
class=
"arrow left"
@
click=
"swiperChange('prev')"
><ArrowLeftBold
/></el-icon>
<el-icon
v-if=
"isSwiperBtn != 1"
class=
"arrow right"
@
click=
"swiperChange('next')"
><ArrowRightBold
/></el-icon>
</div>
</el-form-item>
</el-form>
...
...
@@ -254,7 +278,7 @@ const uploadVideo = (data: any) => {
// // height: 100%;
// display: block;
// }
.cover-img
{
.cover-img
{
width
:
208px
;
height
:
130px
;
background-size
:
cover
;
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论