Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-resource
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-resource
Commits
2f52ad9a
提交
2f52ad9a
authored
8月 08, 2022
作者:
matian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加资源访问量
上级
a1c0cba1
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
62 行增加
和
437 行删除
+62
-437
DataAccess.vue
src/components/DataAccess.vue
+22
-38
PreviewFiles.vue
src/components/base/PreviewFiles.vue
+1
-0
ViewDetailsVideo.vue
src/modules/course/my/components/ViewDetailsVideo.vue
+0
-1
ViewDetails.vue
src/modules/course/my/views/ViewDetails.vue
+3
-3
ViewBottom.vue
src/modules/resource/courseware/components/ViewBottom.vue
+0
-129
ViewCenter.vue
src/modules/resource/courseware/components/ViewCenter.vue
+1
-1
View.vue
src/modules/resource/courseware/views/View.vue
+3
-2
ViewCenter.vue
src/modules/resource/lessonplan/components/ViewCenter.vue
+1
-1
View.vue
src/modules/resource/lessonplan/views/View.vue
+4
-4
ViewBottom.vue
src/modules/resource/other/components/ViewBottom.vue
+0
-129
ViewCenter.vue
src/modules/resource/other/components/ViewCenter.vue
+1
-1
View.vue
src/modules/resource/other/views/View.vue
+4
-4
ViewBottom.vue
src/modules/resource/video/components/ViewBottom.vue
+0
-120
View.vue
src/modules/resource/video/views/View.vue
+4
-4
ReplyDialog.vue
src/modules/teach/qa/components/ReplyDialog.vue
+18
-0
没有找到文件。
src/
modules/resource/lessonplan/components/ViewBottom
.vue
→
src/
components/DataAccess
.vue
浏览文件 @
2f52ad9a
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
*
as
echarts
from
'echarts'
import
*
as
echarts
from
'echarts'
const
echartsRef
=
ref
()
const
echartsRef
=
ref
()
const
props
=
defineProps
({
data
:
{
type
:
Object
}
})
onMounted
(()
=>
{
onMounted
(()
=>
{
const
myEcharts
=
echarts
.
init
(
echartsRef
.
value
)
const
myEcharts
=
echarts
.
init
(
echartsRef
.
value
)
const
option
=
{
const
option
=
{
...
@@ -10,7 +15,7 @@ onMounted(() => {
...
@@ -10,7 +15,7 @@ onMounted(() => {
right
:
30
right
:
30
},
},
xAxis
:
{
xAxis
:
{
data
:
[
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
]
,
data
:
props
.
data
?.
recently_records_map
.
map
((
item
:
any
)
=>
item
.
time
)
,
axisTick
:
{
axisTick
:
{
show
:
false
show
:
false
}
}
...
@@ -19,49 +24,27 @@ onMounted(() => {
...
@@ -19,49 +24,27 @@ onMounted(() => {
yAxis
:
{},
yAxis
:
{},
series
:
[
series
:
[
{
{
name
:
'访问量'
,
type
:
'bar'
,
type
:
'bar'
,
barWidth
:
'18'
,
barWidth
:
'18'
,
data
:
[
5
,
20
,
36
,
10
,
10
,
20
]
data
:
props
.
data
?.
recently_records_map
.
map
((
item
:
any
)
=>
item
.
num
)
}
}
]
]
}
}
//设置配置
//设置配置
myEcharts
.
setOption
(
option
)
myEcharts
.
setOption
(
option
)
})
})
const
listOptions
=
{
const
listOptions
=
$computed
(()
=>
{
columns
:
[
return
{
{
label
:
'访问时间'
,
prop
:
'date'
,
align
:
'center'
},
columns
:
[
{
label
:
'姓名'
,
prop
:
'name'
,
align
:
'center'
},
{
label
:
'访问时间'
,
prop
:
'created_at'
,
align
:
'center'
},
{
label
:
'所在项目'
,
prop
:
'project'
,
align
:
'center'
},
{
label
:
'姓名'
,
prop
:
'sso_id_name'
,
align
:
'center'
},
{
label
:
'访问时长'
,
prop
:
'duration'
,
align
:
'center'
}
{
label
:
'所在项目'
,
prop
:
'project_id_name'
,
align
:
'center'
},
],
{
label
:
'访问时长'
,
prop
:
'page_dwell_time'
,
align
:
'center'
}
data
:
[
],
{
data
:
props
.
data
?.
recently_records
duration
:
'120分钟'
,
}
date
:
'2022-06-15'
,
})
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
}
]
}
</
script
>
</
script
>
<
template
>
<
template
>
...
@@ -95,8 +78,8 @@ const listOptions = {
...
@@ -95,8 +78,8 @@ const listOptions = {
.data-box
{
.data-box
{
display
:
flex
;
display
:
flex
;
.echart
{
.echart
{
flex
:
1
;
width
:
65%
;
width
:
65%
;
flex
:
1
;
height
:
369px
;
height
:
369px
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
border
:
1px
solid
#e0e0e0
;
border
:
1px
solid
#e0e0e0
;
...
@@ -110,8 +93,9 @@ const listOptions = {
...
@@ -110,8 +93,9 @@ const listOptions = {
}
}
}
}
.label-box
{
.label-box
{
box-sizing
:
border-box
;
width
:
25%
;
width
:
25%
;
box-sizing
:
border-box
;
flex
:
1
;
flex
:
1
;
height
:
369px
;
height
:
369px
;
border
:
1px
solid
#e0e0e0
;
border
:
1px
solid
#e0e0e0
;
...
...
src/components/base/PreviewFiles.vue
浏览文件 @
2f52ad9a
...
@@ -85,6 +85,7 @@ if (props.item?.url?.indexOf('.pdf') !== -1 || props.item?.url?.indexOf('.txt')
...
@@ -85,6 +85,7 @@ if (props.item?.url?.indexOf('.pdf') !== -1 || props.item?.url?.indexOf('.txt')
.img_zip
{
.img_zip
{
width
:
100px
;
width
:
100px
;
height
:
100px
;
height
:
100px
;
margin
:
auto
;
}
}
.zip_tips
{
.zip_tips
{
font-size
:
14px
;
font-size
:
14px
;
...
...
src/modules/course/my/components/ViewDetailsVideo.vue
浏览文件 @
2f52ad9a
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
getVideoDetails
}
from
'../api'
import
{
getVideoDetails
}
from
'../api'
import
AppVideoPlayer
from
'@/components/base/AppVideoPlayer.vue'
import
AppVideoPlayer
from
'@/components/base/AppVideoPlayer.vue'
// import PreviewFiles from '@/components/base/PreviewFiles.vue'
import
ViewCourseChapter
from
'./ViewCourseChapter.vue'
import
ViewCourseChapter
from
'./ViewCourseChapter.vue'
const
props
:
any
=
defineProps
({
const
props
:
any
=
defineProps
({
...
...
src/modules/course/my/views/ViewDetails.vue
浏览文件 @
2f52ad9a
...
@@ -127,7 +127,7 @@ const listOptions = computed(() => {
...
@@ -127,7 +127,7 @@ const listOptions = computed(() => {
{
label
:
'总分'
,
prop
:
'paper_total_score'
,
align
:
'center'
},
{
label
:
'总分'
,
prop
:
'paper_total_score'
,
align
:
'center'
},
{
label
:
'及格分数'
,
prop
:
'pass_score'
,
align
:
'center'
},
{
label
:
'及格分数'
,
prop
:
'pass_score'
,
align
:
'center'
},
{
label
:
'更新时间'
,
prop
:
'updated_at'
,
align
:
'center'
},
{
label
:
'更新时间'
,
prop
:
'updated_at'
,
align
:
'center'
},
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
,
fixed
:
'right'
}
{
label
:
'操作'
,
slots
:
'table-operate'
,
align
:
'center'
,
fixed
:
'right'
}
],
],
data
:
resourceData
.
exam
data
:
resourceData
.
exam
}
}
...
@@ -244,14 +244,14 @@ const handleExamDetail = (row: any) => {
...
@@ -244,14 +244,14 @@ const handleExamDetail = (row: any) => {
<PreviewFiles
<PreviewFiles
v-for=
"item in resourceData.courseware"
v-for=
"item in resourceData.courseware"
:key=
"item.id"
:key=
"item.id"
:
url=
"item.url
"
:
item=
"item
"
style=
"margin-top: 10px"
style=
"margin-top: 10px"
></PreviewFiles>
></PreviewFiles>
<el-empty
description=
"暂无数据"
v-if=
"!resourceData.courseware.length"
/>
<el-empty
description=
"暂无数据"
v-if=
"!resourceData.courseware.length"
/>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"教案"
name=
"2"
>
<el-tab-pane
label=
"教案"
name=
"2"
>
<PreviewFiles
<PreviewFiles
:
url=
"item.url
"
:
item=
"item
"
v-for=
"item in resourceData.lessonPlan"
v-for=
"item in resourceData.lessonPlan"
:key=
"item.id"
:key=
"item.id"
style=
"margin-top: 10px"
style=
"margin-top: 10px"
...
...
src/modules/resource/courseware/components/ViewBottom.vue
deleted
100644 → 0
浏览文件 @
a1c0cba1
<
script
setup
lang=
"ts"
>
import
*
as
echarts
from
'echarts'
const
echartsRef
=
ref
()
onMounted
(()
=>
{
const
myEcharts
=
echarts
.
init
(
echartsRef
.
value
)
const
option
=
{
grid
:
{
bottom
:
30
,
left
:
30
,
right
:
30
},
xAxis
:
{
data
:
[
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
],
axisTick
:
{
show
:
false
}
},
color
:
[
'#BF9D6B'
],
yAxis
:
{},
series
:
[
{
type
:
'bar'
,
barWidth
:
'18'
,
data
:
[
5
,
20
,
36
,
10
,
10
,
20
]
}
]
}
//设置配置
myEcharts
.
setOption
(
option
)
})
const
listOptions
=
{
columns
:
[
{
label
:
'访问时间'
,
prop
:
'date'
,
align
:
'center'
},
{
label
:
'姓名'
,
prop
:
'name'
,
align
:
'center'
},
{
label
:
'所在项目'
,
prop
:
'project'
,
align
:
'center'
},
{
label
:
'访问时长'
,
prop
:
'duration'
,
align
:
'center'
}
],
data
:
[
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
}
]
}
</
script
>
<
template
>
<div
class=
"data-box"
>
<div
class=
"echart"
>
<div
class=
"name"
>
访问量/关联量一周走势图
</div>
<div
class=
"echarts"
ref=
"echartsRef"
:style=
"
{
width: '600px',
height: '300px'
}"
>
</div>
</div>
<div
class=
"label-box"
>
<div
class=
"name"
>
最近访问
</div>
<AppList
v-bind=
"listOptions"
ref=
"appList"
stripe
></AppList>
</div>
</div>
<!--
<div
class=
"echarts"
ref=
"echartsRef"
:style=
"
{
width: '600px',
height: '300px'
}"
>
</div>
-->
</
template
>
<
style
lang=
"scss"
scoped
>
.data-box
{
display
:
flex
;
.echart
{
width
:
65%
;
flex
:
1
;
height
:
369px
;
box-sizing
:
border-box
;
border
:
1px
solid
#e0e0e0
;
border-radius
:
10px
;
margin-right
:
10px
;
padding
:
20px
;
.name
{
font-size
:
16px
;
line-height
:
100%
;
color
:
#333333
;
}
}
.label-box
{
width
:
25%
;
box-sizing
:
border-box
;
flex
:
1
;
height
:
369px
;
border
:
1px
solid
#e0e0e0
;
border-radius
:
10px
;
margin-left
:
10px
;
padding
:
20px
;
.name
{
font-size
:
16px
;
line-height
:
100%
;
color
:
#333333
;
}
}
}
</
style
>
src/modules/resource/courseware/components/ViewCenter.vue
浏览文件 @
2f52ad9a
...
@@ -40,7 +40,7 @@ const props = defineProps({
...
@@ -40,7 +40,7 @@ const props = defineProps({
</div>
</div>
</div>
</div>
<div
class=
"file-box"
>
<div
class=
"file-box"
>
<PreviewFiles
:
url=
"props.data?.url
"
></PreviewFiles>
<PreviewFiles
:
item=
"props.data
"
></PreviewFiles>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
...
src/modules/resource/courseware/views/View.vue
浏览文件 @
2f52ad9a
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
ViewTop
from
'../components/ViewTop.vue'
import
ViewTop
from
'../components/ViewTop.vue'
import
ViewCenter
from
'../components/ViewCenter.vue'
import
ViewCenter
from
'../components/ViewCenter.vue'
import
ViewBottom
from
'../components/ViewBottom.vue'
import
Operation
from
'../components/Operation.vue'
import
Operation
from
'../components/Operation.vue'
import
ResourceCourseList
from
'@/components/ResourceCourseList.vue'
import
ResourceCourseList
from
'@/components/ResourceCourseList.vue'
import
DataAccess
from
'@/components/DataAccess.vue'
import
{
getCourseDetails
}
from
'../api'
import
{
getCourseDetails
}
from
'../api'
...
@@ -22,7 +23,7 @@ getCourseDetails({ id: id }).then(res => {
...
@@ -22,7 +23,7 @@ getCourseDetails({ id: id }).then(res => {
<Operation
:data=
"courseDetails"
></Operation>
<Operation
:data=
"courseDetails"
></Operation>
<ViewTop
v-if=
"Object.keys(courseDetails).length"
:data=
"courseDetails"
></ViewTop>
<ViewTop
v-if=
"Object.keys(courseDetails).length"
:data=
"courseDetails"
></ViewTop>
<ViewCenter
v-if=
"Object.keys(courseDetails).length"
:data=
"courseDetails"
></ViewCenter>
<ViewCenter
v-if=
"Object.keys(courseDetails).length"
:data=
"courseDetails"
></ViewCenter>
<
ViewBottom></ViewBottom
>
<
DataAccess
v-if=
"Object.keys(courseDetails).length"
:data=
"courseDetails"
></DataAccess
>
</AppCard>
</AppCard>
<ResourceCourseList
title=
"课件资源关联使用课程"
:list=
"courseDetails.course_list"
></ResourceCourseList>
<ResourceCourseList
title=
"课件资源关联使用课程"
:list=
"courseDetails.course_list"
></ResourceCourseList>
</
template
>
</
template
>
src/modules/resource/lessonplan/components/ViewCenter.vue
浏览文件 @
2f52ad9a
...
@@ -40,7 +40,7 @@ const props = defineProps({
...
@@ -40,7 +40,7 @@ const props = defineProps({
</div>
</div>
</div>
</div>
<div
class=
"file-box"
>
<div
class=
"file-box"
>
<PreviewFiles
:
url=
"props.data?.url
"
></PreviewFiles>
<PreviewFiles
:
item=
"props.data
"
></PreviewFiles>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
...
src/modules/resource/lessonplan/views/View.vue
浏览文件 @
2f52ad9a
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
ViewTop
from
'../components/ViewTop.vue'
import
ViewTop
from
'../components/ViewTop.vue'
import
ViewCenter
from
'../components/ViewCenter.vue'
import
ViewCenter
from
'../components/ViewCenter.vue'
import
ViewBottom
from
'../components/ViewBottom.vue'
import
Operation
from
'../components/Operation.vue'
import
Operation
from
'../components/Operation.vue'
import
ResourceCourseList
from
'@/components/ResourceCourseList.vue'
import
ResourceCourseList
from
'@/components/ResourceCourseList.vue'
import
DataAccess
from
'@/components/DataAccess.vue'
import
{
getLessonDetails
}
from
'../api'
import
{
getLessonDetails
}
from
'../api'
...
@@ -19,10 +19,10 @@ getLessonDetails({ id: id }).then((res: any) => {
...
@@ -19,10 +19,10 @@ getLessonDetails({ id: id }).then((res: any) => {
<
template
>
<
template
>
<AppCard
title=
"教案资源信息"
>
<AppCard
title=
"教案资源信息"
>
<Operation
:data=
"lessonDetails"
></Operation>
<Operation
v-if=
"Object.keys(lessonDetails).length"
:data=
"lessonDetails"
></Operation>
<ViewTop
:data=
"lessonDetails"
></ViewTop>
<ViewTop
v-if=
"Object.keys(lessonDetails).length"
:data=
"lessonDetails"
></ViewTop>
<ViewCenter
v-if=
"Object.keys(lessonDetails).length"
:data=
"lessonDetails"
></ViewCenter>
<ViewCenter
v-if=
"Object.keys(lessonDetails).length"
:data=
"lessonDetails"
></ViewCenter>
<
ViewBottom></ViewBottom
>
<
DataAccess
v-if=
"Object.keys(lessonDetails).length"
:data=
"lessonDetails"
></DataAccess
>
</AppCard>
</AppCard>
<ResourceCourseList
title=
"教案资源关联使用课程"
:list=
"lessonDetails.course_list"
></ResourceCourseList>
<ResourceCourseList
title=
"教案资源关联使用课程"
:list=
"lessonDetails.course_list"
></ResourceCourseList>
</
template
>
</
template
>
src/modules/resource/other/components/ViewBottom.vue
deleted
100644 → 0
浏览文件 @
a1c0cba1
<
script
setup
lang=
"ts"
>
import
*
as
echarts
from
'echarts'
const
echartsRef
=
ref
()
onMounted
(()
=>
{
const
myEcharts
=
echarts
.
init
(
echartsRef
.
value
)
const
option
=
{
grid
:
{
bottom
:
30
,
left
:
30
,
right
:
30
},
xAxis
:
{
data
:
[
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
],
axisTick
:
{
show
:
false
}
},
color
:
[
'#BF9D6B'
],
yAxis
:
{},
series
:
[
{
type
:
'bar'
,
barWidth
:
'18'
,
data
:
[
5
,
20
,
36
,
10
,
10
,
20
]
}
]
}
//设置配置
myEcharts
.
setOption
(
option
)
})
const
listOptions
=
{
columns
:
[
{
label
:
'访问时间'
,
prop
:
'date'
,
align
:
'center'
},
{
label
:
'姓名'
,
prop
:
'name'
,
align
:
'center'
},
{
label
:
'所在项目'
,
prop
:
'project'
,
align
:
'center'
},
{
label
:
'访问时长'
,
prop
:
'duration'
,
align
:
'center'
}
],
data
:
[
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
}
]
}
</
script
>
<
template
>
<div
class=
"data-box"
>
<div
class=
"echart"
>
<div
class=
"name"
>
访问量/关联量一周走势图
</div>
<div
class=
"echarts"
ref=
"echartsRef"
:style=
"
{
width: '600px',
height: '300px'
}"
>
</div>
</div>
<div
class=
"label-box"
>
<div
class=
"name"
>
最近访问
</div>
<AppList
v-bind=
"listOptions"
ref=
"appList"
stripe
></AppList>
</div>
</div>
<!--
<div
class=
"echarts"
ref=
"echartsRef"
:style=
"
{
width: '600px',
height: '300px'
}"
>
</div>
-->
</
template
>
<
style
lang=
"scss"
scoped
>
.data-box
{
display
:
flex
;
.echart
{
flex
:
1
;
width
:
65%
;
height
:
369px
;
box-sizing
:
border-box
;
border
:
1px
solid
#e0e0e0
;
border-radius
:
10px
;
margin-right
:
10px
;
padding
:
20px
;
.name
{
font-size
:
16px
;
line-height
:
100%
;
color
:
#333333
;
}
}
.label-box
{
box-sizing
:
border-box
;
width
:
25%
;
flex
:
1
;
height
:
369px
;
border
:
1px
solid
#e0e0e0
;
border-radius
:
10px
;
margin-left
:
10px
;
padding
:
20px
;
.name
{
font-size
:
16px
;
line-height
:
100%
;
color
:
#333333
;
}
}
}
</
style
>
src/modules/resource/other/components/ViewCenter.vue
浏览文件 @
2f52ad9a
...
@@ -40,7 +40,7 @@ const props = defineProps({
...
@@ -40,7 +40,7 @@ const props = defineProps({
</div>
</div>
</div>
</div>
<div
class=
"file-box"
>
<div
class=
"file-box"
>
<PreviewFiles
:
url=
"props.data?.url
"
></PreviewFiles>
<PreviewFiles
:
item=
"props.data
"
></PreviewFiles>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
...
...
src/modules/resource/other/views/View.vue
浏览文件 @
2f52ad9a
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
ViewTop
from
'../components/ViewTop.vue'
import
ViewTop
from
'../components/ViewTop.vue'
import
ViewCenter
from
'../components/ViewCenter.vue'
import
ViewCenter
from
'../components/ViewCenter.vue'
import
ViewBottom
from
'../components/ViewBottom.vue'
import
Operation
from
'../components/Operation.vue'
import
Operation
from
'../components/Operation.vue'
import
ResourceCourseList
from
'@/components/ResourceCourseList.vue'
import
ResourceCourseList
from
'@/components/ResourceCourseList.vue'
import
DataAccess
from
'@/components/DataAccess.vue'
import
{
getOtherDetails
}
from
'../api'
import
{
getOtherDetails
}
from
'../api'
...
@@ -20,10 +20,10 @@ getOtherDetails({ id: id }).then((res: any) => {
...
@@ -20,10 +20,10 @@ getOtherDetails({ id: id }).then((res: any) => {
<
template
>
<
template
>
<AppCard
title=
"其他资源信息"
>
<AppCard
title=
"其他资源信息"
>
<Operation
:data=
"otherDetails"
></Operation>
<Operation
v-if=
"Object.keys(otherDetails).length"
:data=
"otherDetails"
></Operation>
<ViewTop
:data=
"otherDetails"
></ViewTop>
<ViewTop
v-if=
"Object.keys(otherDetails).length"
:data=
"otherDetails"
></ViewTop>
<ViewCenter
v-if=
"Object.keys(otherDetails).length"
:data=
"otherDetails"
></ViewCenter>
<ViewCenter
v-if=
"Object.keys(otherDetails).length"
:data=
"otherDetails"
></ViewCenter>
<
ViewBottom></ViewBottom
>
<
DataAccess
v-if=
"Object.keys(otherDetails).length"
:data=
"otherDetails"
></DataAccess
>
</AppCard>
</AppCard>
<ResourceCourseList
title=
"其他资源关联使用课程"
:list=
"otherDetails.course_list"
></ResourceCourseList>
<ResourceCourseList
title=
"其他资源关联使用课程"
:list=
"otherDetails.course_list"
></ResourceCourseList>
</
template
>
</
template
>
src/modules/resource/video/components/ViewBottom.vue
deleted
100644 → 0
浏览文件 @
a1c0cba1
<
script
setup
lang=
"ts"
>
import
*
as
echarts
from
'echarts'
const
echartsRef
=
ref
()
onMounted
(()
=>
{
const
myEcharts
=
echarts
.
init
(
echartsRef
.
value
)
const
option
=
{
grid
:
{
bottom
:
30
,
left
:
30
,
right
:
30
},
xAxis
:
{
data
:
[
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
,
'2022-02-21'
],
axisTick
:
{
show
:
false
}
},
color
:
[
'#BF9D6B'
],
yAxis
:
{},
series
:
[
{
type
:
'bar'
,
barWidth
:
'18'
,
data
:
[
5
,
20
,
36
,
10
,
10
,
20
,
5
]
}
]
}
//设置配置
myEcharts
.
setOption
(
option
)
})
const
listOptions
=
{
columns
:
[
{
label
:
'访问时间'
,
prop
:
'date'
,
align
:
'center'
},
{
label
:
'姓名'
,
prop
:
'name'
,
align
:
'center'
},
{
label
:
'所在项目'
,
prop
:
'project'
,
align
:
'center'
},
{
label
:
'访问时长'
,
prop
:
'duration'
,
align
:
'center'
}
],
data
:
[
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
},
{
duration
:
'120分钟'
,
date
:
'2022-06-15'
,
name
:
'王重阳'
,
project
:
'资源管理系统'
}
]
}
</
script
>
<
template
>
<div
class=
"data-box"
>
<div
class=
"echart"
>
<div
class=
"name"
>
访问量/关联量一周走势图
</div>
<div
class=
"echarts"
ref=
"echartsRef"
:style=
"
{
width: '600px',
height: '300px'
}"
>
</div>
</div>
<div
class=
"label-box"
>
<div
class=
"name"
>
最近访问
</div>
<AppList
v-bind=
"listOptions"
ref=
"appList"
stripe
></AppList>
</div>
</div>
</
template
>
<
style
lang=
"scss"
scoped
>
.data-box
{
display
:
flex
;
.echart
{
flex
:
1
;
width
:
65%
;
height
:
369px
;
box-sizing
:
border-box
;
border
:
1px
solid
#e0e0e0
;
border-radius
:
10px
;
margin-right
:
10px
;
padding
:
20px
;
.name
{
font-size
:
16px
;
line-height
:
100%
;
color
:
#333333
;
}
}
.label-box
{
width
:
25%
;
box-sizing
:
border-box
;
flex
:
1
;
height
:
369px
;
border
:
1px
solid
#e0e0e0
;
border-radius
:
10px
;
margin-left
:
10px
;
padding
:
20px
;
.name
{
font-size
:
16px
;
line-height
:
100%
;
color
:
#333333
;
}
}
}
</
style
>
src/modules/resource/video/views/View.vue
浏览文件 @
2f52ad9a
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
ViewTop
from
'../components/ViewTop.vue'
import
ViewTop
from
'../components/ViewTop.vue'
import
ViewCenter
from
'../components/ViewCenter.vue'
import
ViewCenter
from
'../components/ViewCenter.vue'
import
ViewBottom
from
'../components/ViewBottom.vue'
import
Operation
from
'../components/Operation.vue'
import
Operation
from
'../components/Operation.vue'
import
ResourceCourseList
from
'@/components/ResourceCourseList.vue'
import
ResourceCourseList
from
'@/components/ResourceCourseList.vue'
import
DataAccess
from
'@/components/DataAccess.vue'
import
{
getVideoDetails
}
from
'../api'
import
{
getVideoDetails
}
from
'../api'
// 路由
// 路由
...
@@ -19,10 +19,10 @@ getVideoDetails({ id: id }).then(res => {
...
@@ -19,10 +19,10 @@ getVideoDetails({ id: id }).then(res => {
<
template
>
<
template
>
<AppCard
title=
"视频资源信息"
>
<AppCard
title=
"视频资源信息"
>
<Operation
:data=
"videoDetails"
></Operation>
<Operation
v-if=
"Object.keys(videoDetails).length"
:data=
"videoDetails"
></Operation>
<ViewTop
:data=
"videoDetails"
></ViewTop>
<ViewTop
v-if=
"Object.keys(videoDetails).length"
:data=
"videoDetails"
></ViewTop>
<ViewCenter
v-if=
"Object.keys(videoDetails).length"
:data=
"videoDetails"
></ViewCenter>
<ViewCenter
v-if=
"Object.keys(videoDetails).length"
:data=
"videoDetails"
></ViewCenter>
<
ViewBottom></ViewBottom
>
<
DataAccess
v-if=
"Object.keys(videoDetails).length"
:data=
"videoDetails"
></DataAccess
>
</AppCard>
</AppCard>
<ResourceCourseList
title=
"视频资源关联使用课程"
:list=
"videoDetails.course_list"
></ResourceCourseList>
<ResourceCourseList
title=
"视频资源关联使用课程"
:list=
"videoDetails.course_list"
></ResourceCourseList>
</
template
>
</
template
>
src/modules/teach/qa/components/ReplyDialog.vue
浏览文件 @
2f52ad9a
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
// import type { UploadInstance } from 'element-plus'
const
emit
=
defineEmits
<
Emits
>
()
const
emit
=
defineEmits
<
Emits
>
()
// const uploadRef = ref
<
UploadInstance
>
()
// const submitUpload = () => {
// uploadRef.value!.submit()
// }
defineProps
({
defineProps
({
isShowReplyDialog
:
{
isShowReplyDialog
:
{
type
:
Boolean
type
:
Boolean
...
@@ -95,9 +100,22 @@ const replyList = ref([
...
@@ -95,9 +100,22 @@ const replyList = ref([
<div
class=
"right_center"
>
<div
class=
"right_center"
>
<div
class=
"tit"
>
回答内容:
{{
item
.
reply_con
}}
</div>
<div
class=
"tit"
>
回答内容:
{{
item
.
reply_con
}}
</div>
</div>
</div>
<!--
<el-input></el-input>
<el-upload
ref=
"uploadRef"
class=
"upload-demo"
action=
"https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
:auto-upload=
"false"
style=
"margin-top: 10px"
>
<template
#
trigger
>
<el-button
type=
"primary"
>
select file
</el-button>
</
template
>
</el-upload>
-->
</div>
</div>
</div>
</div>
</div>
</div>
<!-- <el-button type="primary" style="display: flex; justify-content: center">提交回复</el-button> -->
</el-dialog>
</el-dialog>
</template>
</template>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论