Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
cc8387a2
提交
cc8387a2
authored
12月 20, 2019
作者:
GOD_ZYX
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改 视频第一次禁止拖拽+新增课程考试
上级
76067d6a
隐藏空白字符变更
内嵌
并排
正在显示
18 个修改的文件
包含
160 行增加
和
48 行删除
+160
-48
chapterExam.vue
client/client/components/player/chapterExam/chapterExam.vue
+55
-24
videoH5.vue
client/client/components/player/chapterVideo/videoH5.vue
+10
-0
sideChapterList.vue
...nt/client/components/player/rightSide/sideChapterList.vue
+2
-0
chapter_api.js
client/client/components/services/api/chapter_api.js
+11
-1
ChapterAction.js
client/client/project/actions/ChapterAction.js
+50
-3
CourseAction.js
client/client/project/actions/CourseAction.js
+11
-2
courseDetail.vue
client/client/project/pages/myLearn/courseDetail.vue
+3
-0
index.html
server/client-dist/index.html
+2
-2
11.aeae3d41.js
server/client-dist/resources/11.aeae3d41.js
+2
-2
14.02a4bcce.js
server/client-dist/resources/14.02a4bcce.js
+2
-0
14.2e113f3cf715.css
server/client-dist/resources/14.2e113f3cf715.css
+2
-2
14.71455ff6.js
server/client-dist/resources/14.71455ff6.js
+0
-2
21.87fdb223.js
server/client-dist/resources/21.87fdb223.js
+2
-2
21.cf5249c9d1f6.css
server/client-dist/resources/21.cf5249c9d1f6.css
+2
-2
6.492b006c.js
server/client-dist/resources/6.492b006c.js
+2
-2
6.adf556fa1464.css
server/client-dist/resources/6.adf556fa1464.css
+2
-2
app.dd8dd6c2.js
server/client-dist/resources/app.dd8dd6c2.js
+0
-0
manifest.2efa785f.js
server/client-dist/resources/manifest.2efa785f.js
+2
-2
没有找到文件。
client/client/components/player/chapterExam/chapterExam.vue
浏览文件 @
cc8387a2
...
...
@@ -104,7 +104,8 @@ export default {
/* 当前 radio点击 */
radioCur
:
''
,
/* 当前 checkbox点击 */
checkCur
:
''
checkCur
:
''
,
courseExam
:
false
}
},
mounted
()
{
...
...
@@ -350,29 +351,41 @@ export default {
*/
loadAjax
()
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
''
,
spinner
:
''
,
background
:
'rgba(255, 255, 255, 0.9)'
})
cAction
.
chapterAction
.
getExamDetail
(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
_data
=>
{
let
json
=
_data
.
homework
if
(
json
)
{
json
.
score
=
_data
.
score
json
.
work_contents
=
_data
.
work_contents
this
.
exam
=
this
.
updateData
(
json
)
let
_ajax
=
null
/* 多增加一次接口请求,判断是否为考试 */
cAction
.
chapterAction
.
getChapterList
(
this
.
cid
,
this
.
sid
,
this
.
id
).
then
(
json
=>
{
if
(
json
.
curJson
&&
json
.
curJson
.
id
===
this
.
id
&&
json
.
curJson
.
homework
.
courseExam
)
{
this
.
courseExam
=
true
}
if
(
this
.
courseExam
)
{
_ajax
=
cAction
.
chapterAction
.
getExamDetailAfterCourse
}
else
{
this
.
exam
=
{}
_ajax
=
cAction
.
chapterAction
.
getExamDetail
}
}).
catch
(
e
=>
{
this
.
$message
.
error
(
e
.
message
)
}).
finally
(()
=>
{
this
.
setTime
=
setInterval
(()
=>
{
// console.log(this.chapterExam.work_id, this.id)
if
(
this
.
chapterExam
.
work_id
&&
this
.
chapterExam
.
work_id
===
this
.
id
)
{
if
(
!
this
.
exam
.
id
)
{
this
.
exam
=
this
.
updateData
(
this
.
chapterExam
)
/* 滚动到头部 */
document
.
querySelector
(
'.play-paper'
).
scrollTop
=
0
}
clearInterval
(
this
.
setTime
)
_ajax
(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
_data
=>
{
let
json
=
_data
.
homework
if
(
json
)
{
json
.
score
=
_data
.
score
json
.
work_contents
=
_data
.
work_contents
this
.
exam
=
this
.
updateData
(
json
)
}
else
{
this
.
exam
=
{}
}
},
50
)
loading
.
close
()
})
}).
catch
(
e
=>
{
this
.
$message
.
error
(
e
.
message
)
}).
finally
(()
=>
{
this
.
setTime
=
setInterval
(()
=>
{
// console.log(this.chapterExam.work_id, this.id)
if
(
this
.
chapterExam
.
work_id
&&
this
.
chapterExam
.
work_id
===
this
.
id
)
{
if
(
!
this
.
exam
.
id
)
{
this
.
exam
=
this
.
updateData
(
this
.
chapterExam
)
/* 滚动到头部 */
document
.
querySelector
(
'.play-paper'
).
scrollTop
=
0
}
clearInterval
(
this
.
setTime
)
}
},
50
)
loading
.
close
()
})
}).
catch
(
e
=>
{
this
.
$message
.
error
(
e
.
message
)
}).
finally
(()
=>
{
loading
.
close
()
})
},
/**
* 辅助 radio选择
...
...
@@ -474,9 +487,21 @@ export default {
this
.
param
.
score
=
(
score
/
total
*
100
).
toFixed
(
1
)
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
''
,
spinner
:
''
,
background
:
'rgba(255, 255, 255, 0.9)'
})
cAction
.
chapterAction
.
submitExamDetail
(
this
.
param
).
then
(
_res
=>
{
let
_ajax
=
null
if
(
this
.
courseExam
)
{
_ajax
=
cAction
.
chapterAction
.
submitExamDetailAfterCourse
}
else
{
_ajax
=
cAction
.
chapterAction
.
submitExamDetail
}
_ajax
(
this
.
param
).
then
(
_res
=>
{
if
(
_res
.
status
)
{
cAction
.
chapterAction
.
getExamDetail
(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
_data
=>
{
let
_ajax
=
null
if
(
this
.
courseExam
)
{
_ajax
=
cAction
.
chapterAction
.
getExamDetailAfterCourse
}
else
{
_ajax
=
cAction
.
chapterAction
.
getExamDetail
}
_ajax
(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
_data
=>
{
let
json
=
_data
.
homework
if
(
json
)
{
json
.
score
=
_data
.
score
...
...
@@ -509,7 +534,13 @@ export default {
}
if
(
!
_flag
)
{
return
}
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
''
,
spinner
:
''
,
background
:
'rgba(255, 255, 255, 0.9)'
})
cAction
.
chapterAction
.
getExamDetail
(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
_data
=>
{
let
_ajax
=
null
if
(
this
.
courseExam
)
{
_ajax
=
cAction
.
chapterAction
.
getExamDetailAfterCourse
}
else
{
_ajax
=
cAction
.
chapterAction
.
getExamDetail
}
_ajax
(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
_data
=>
{
this
.
exam
=
{}
}).
catch
(
e
=>
{
this
.
$message
.
error
(
e
.
message
)
}).
finally
(()
=>
{
this
.
setTime
=
setInterval
(()
=>
{
...
...
client/client/components/player/chapterVideo/videoH5.vue
浏览文件 @
cc8387a2
...
...
@@ -21,6 +21,7 @@ let videoPlayer = null
let
objPlayer
=
null
let
continueStart
=
0
// 继续学习初始值
let
isLocked
=
true
// 是否开启 - 锁定音视频播放
export
default
{
props
:
{
...
...
@@ -51,6 +52,7 @@ export default {
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
''
,
spinner
:
''
,
background
:
'rgba(255, 255, 255, 0.9)'
})
cAction
.
chapterAction
.
getCurrentChapterDetailAliyun
(
this
.
videoId
).
then
(
json
=>
{
this
.
videoArr
=
json
.
video
isLocked
=
json
.
isLocked
let
player
=
this
.
getPlayer
()
if
(
!
objPlayer
||
!
player
.
innerHTML
)
{
this
.
renderPlayer
(
PLAYER_ID
,
this
.
videoId
,
this
.
autoPlay
,
this
.
videoSrt
,
this
.
username
,
this
.
width
,
this
.
height
)
...
...
@@ -74,6 +76,13 @@ export default {
}
else
if
(
continueStart
)
{
videoPlayer
.
seek
(
parseInt
(
continueStart
))
}
/* 是否可以 第一次调整音视频进度 */
if
(
!
isLocked
)
{
if
(
that
.
chapterVideo
.
progress
.
mpt
+
20
<
videoPlayer
.
getDuration
())
{
$
(
'.prism-progress'
).
css
({
'pointer-events'
:
'none'
})
$
(
'.rate-components'
).
hide
()
}
}
}
// 播放过程中不断触发,传递当前播放到的时间
window
.
_playerIng
=
function
(
time
)
{
...
...
@@ -146,6 +155,7 @@ export default {
const
loading
=
that
.
$loading
({
lock
:
true
,
text
:
''
,
spinner
:
''
,
background
:
'rgba(255, 255, 255, 0.9)'
})
cAction
.
chapterAction
.
getCurrentChapterDetailAliyun
(
that
.
videoId
).
then
(
json
=>
{
that
.
videoArr
=
json
.
video
isLocked
=
json
.
isLocked
let
player
=
that
.
getPlayer
()
if
(
!
objPlayer
||
!
player
.
innerHTML
)
{
that
.
renderPlayer
(
PLAYER_ID
,
that
.
videoId
,
that
.
autoPlay
,
that
.
videoSrt
,
that
.
username
,
that
.
width
,
that
.
height
)
...
...
client/client/components/player/rightSide/sideChapterList.vue
浏览文件 @
cc8387a2
...
...
@@ -50,6 +50,8 @@ export default {
return
}
this
.
$router
.
push
({
path
:
`/player/
${
cid
}
/course-work/course_work`
})
}
else
if
(
_course
.
chapters
[
i2
].
id
===
'course_exam'
)
{
this
.
$router
.
push
({
path
:
`/player/
${
cid
}
/chapter-exam/
${
_course
.
chapters
[
i2
].
exam_id
}
`
})
}
else
if
(
_course
.
chapters
[
i2
].
type
===
3
)
{
if
(
_course
.
chapters
[
i2
].
work_type
===
1
)
{
this
.
$router
.
push
({
path
:
`/player/
${
cid
}
/chapter-exam/
${
_id
}
`
})
...
...
client/client/components/services/api/chapter_api.js
浏览文件 @
cc8387a2
...
...
@@ -40,12 +40,22 @@ export default class ChapterAPI extends BaseAPI {
* 获取试题信息
* @param {[string]} eid
*/
getExamDetail
=
(
eid
)
=>
this
.
get
(
`/v2/education/homeworks/
${
eid
}
`
,
{})
getExamDetail
=
(
sid
,
cid
,
eid
)
=>
this
.
get
(
`/v2/education/homeworks/
${
eid
}
`
,
{})
/**
* 提交考试信息
* @param {[object]} param
*/
submitExamDetail
=
(
param
)
=>
this
.
post
(
`/v2/education/homeworks`
,
param
)
/**
* 获取试题信息 - 课程后考试
* @param {[string]} eid
*/
getExamDetailAfterCourse
=
(
sid
,
cid
,
eid
)
=>
this
.
get
(
`/v2/education/examinations/
${
cid
}
/
${
eid
}
`
,
{})
/**
* 提交考试信息 - 课程后考试
* @param {[object]} param
*/
submitExamDetailAfterCourse
=
(
param
)
=>
this
.
post
(
`/v2/education/examinations`
,
param
)
/**
* 获取对应 作业或问题 回答
* @param {[string]} id resource_id
...
...
client/client/project/actions/ChapterAction.js
浏览文件 @
cc8387a2
...
...
@@ -103,6 +103,32 @@ export default class ChapterAction {
nextVideo
:
nextVideo
,
prevVideo
:
prevVideo
}
/* 课程考试单独设置 */
let
tmp123
=
null
if
(
curJson
&&
!
curJson
.
id
&&
_res
.
examinations
.
length
&&
_id
===
_res
.
examinations
[
0
].
id
)
{
tmp123
=
_res
.
examinations
[
0
]
if
(
tmp123
)
{
tmp123
.
course_id
=
_res
.
course_id
tmp123
.
chapter_id
=
tmp123
.
id
tmp123
.
work_id
=
tmp123
.
id
tmp123
.
semester_id
=
_res
.
semester_id
tmp123
.
courseExam
=
true
}
curJson
=
{
id
:
tmp123
.
id
,
video_provider
:
''
,
time
:
''
,
name
:
'课程考试'
,
chapterId
:
tmp123
.
id
,
// 需要chapterId 用来 提交 作业或问题 , 这个 chapterId 是 每个章节下 对应课程的 id,不是 章节id
type
:
3
,
work_type
:
1
,
homework
:
tmp123
,
chapterRead
:
''
,
chapterWork
:
''
,
chapterVideo
:
''
}
}
json
.
course
.
push
({
title
:
'大作业及资料'
,
chapters
:
[{
...
...
@@ -111,11 +137,16 @@ export default class ChapterAction {
// }, {
name
:
'课程资料'
,
id
:
'course_info'
// }, {
// name: '教学评估',
// id: 'teach_evaluation'
},
{
name
:
'教学评估'
,
id
:
'teach_evaluation'
name
:
'课程考试'
,
id
:
'course_exam'
,
exam_id
:
(
_res
.
examinations
&&
_res
.
examinations
[
0
]
&&
_res
.
examinations
[
0
].
id
)
||
''
}]
})
let
courseWork
=
_res
.
curriculum
||
{}
courseWork
[
'end_date'
]
=
_res
.
end_date
courseWork
[
'essay_date'
]
=
_res
.
essay_date
...
...
@@ -172,7 +203,8 @@ export default class ChapterAction {
selectIndex
:
0
,
timeArr
:
(
_res
.
ppts
&&
_res
.
ppts
.
map
(
function
(
_
,
i
)
{
return
_
.
ppt_point
}))
||
[]
},
rData
:
_res
rData
:
_res
,
is_locked
:
_res
.
is_locked
}
// callback(json) // 可以不使用callback 因为使用then
return
json
...
...
@@ -212,6 +244,21 @@ export default class ChapterAction {
return
res
})
}
/* 获取试题信息 - 课程后考试 */
getExamDetailAfterCourse
(
sid
,
cid
,
eid
)
{
console
.
log
(
eid
)
return
chapterApi
.
getExamDetailAfterCourse
(
sid
,
cid
,
eid
).
then
(
res
=>
{
// callback(res) // 可以不使用callback 因为使用then
return
res
})
}
/* 提交考试信息 - 课程后考试 */
submitExamDetailAfterCourse
(
param
)
{
return
chapterApi
.
submitExamDetailAfterCourse
(
param
).
then
(
res
=>
{
// callback(res) // 可以不使用callback 因为使用then
return
res
})
}
/* 获取对应 作业或问题 回答 */
getHomework
(
sid
,
cid
,
id
)
{
return
chapterApi
.
getHomework
(
sid
,
cid
,
id
).
then
(
res
=>
res
)
...
...
client/client/project/actions/CourseAction.js
浏览文件 @
cc8387a2
...
...
@@ -142,13 +142,22 @@ export default class CourseAction {
cid
:
cid
})
json
.
tabs1ChapterList
.
course
.
push
({
title
:
'
教学评估
'
,
title
:
'
课程考试
'
,
isUp
:
true
,
chapters
:
[],
type
:
'teach_evaluation'
,
data
:
data
.
examinations
,
type
:
'course_exam'
,
sid
:
sid
,
cid
:
cid
})
// json.tabs1ChapterList.course.push({
// title: '教学评估',
// isUp: true,
// chapters: [],
// type: 'teach_evaluation',
// sid: sid,
// cid: cid
// })
/* 课程考核 考核标准文案读取 */
json
.
tabs3richTest
=
cur
.
course_evaluation
// callback(json) // 可以不使用callback 因为使用then
...
...
client/client/project/pages/myLearn/courseDetail.vue
浏览文件 @
cc8387a2
...
...
@@ -482,6 +482,9 @@ export default {
// } else {
// this.$router.push({ path: `/survey-phone/${cid}` })
// }
} else if (course.type === '
course_exam
') {
let _id = course.data[0].id
this.$router.push({ path: `/player/${cid}/chapter-exam/${_id}` })
}
}
},
...
...
server/client-dist/index.html
浏览文件 @
cc8387a2
...
...
@@ -15,4 +15,4 @@
<script src="https://zws-imgs-pub.ezijing.com/static/build/learn-mba/static/compatible/console-polyfill.js"></script>
<script src="https://zws-imgs-pub.ezijing.com/static/build/learn-mba/static/compatible/html5shiv.min.js"></script>
<script src="https://zws-imgs-pub.ezijing.com/static/build/learn-mba/static/compatible/respond.min.js"></script>
<![endif]-->
<script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-enterprise/resources/manifest.f8243a97.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-enterprise/resources/vendor.b388921e.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-enterprise/resources/app.3ae78adc.js"
></script></body></html>
\ No newline at end of file
<![endif]-->
<script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-enterprise/resources/manifest.2efa785f.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-enterprise/resources/vendor.b388921e.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-enterprise/resources/app.dd8dd6c2.js"
></script></body></html>
\ No newline at end of file
server/client-dist/resources/11.
dbc8ed6d
.js
→
server/client-dist/resources/11.
aeae3d41
.js
浏览文件 @
cc8387a2
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
11
],{
277
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
450
),
r
=
i
(
372
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
1
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
372
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
373
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
373
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
s
(
i
(
433
)),
r
=
s
(
i
(
435
)),
a
=
s
(
i
(
436
)),
u
=
s
(
i
(
81
));
function
s
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
var
o
=
1
e4
;
t
.
default
=
{
components
:{
eVideo
:
n
.
default
,
eVideoH5
:
r
.
default
,
ePpt
:
a
.
default
},
props
:{
chapterId
:{
type
:
String
,
require
:
!
1
},
chapterName
:{
type
:
String
,
require
:
!
1
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
},
ppts
:{
type
:
Array
,
require
:
!
1
,
default
:[]},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
},
videoType
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
state
:{
pptIndex
:
0
,
pptBoxOnly
:
!
1
,
pptBoxShow
:
!
1
,
skipBegin
:
/skip=1/
.
test
(
document
.
cookie
),
calculatedSize
:
!
1
},
videoFlash
:{
lastTime
:
null
,
speed
:
1
,
isSeek
:
!
1
,
isFinish
:
!
1
,
queueFrames
:[],
mapFrames
:[],
videoWidth
:
550
,
videoHeight
:
360
,
username
:
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
username
||
""
,
duration
:
1
e4
},
resizeVideo
:
null
,
hearBeat
:
null
,
_rProgress
:{},
isPlaying
:
!
1
}},
mounted
:
function
(){
var
e
=
this
.
getCalculateSize
();
e
.
video
.
w
&&
(
this
.
videoFlash
.
videoWidth
=
e
.
video
.
w
,
this
.
videoFlash
.
videoHeight
=
e
.
video
.
h
),
this
.
resizeVideo
||
(
this
.
resizeVideo
=
u
.
default
.
debounce
(
this
.
jdugeSize
.
bind
(
this
),
200
)),
setTimeout
(
this
.
jdugeSize
,
600
),
window
.
addEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
createHeartTime
(
o
)},
destroyed
:
function
(){
window
.
removeEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
destroyHeartTime
(),
this
.
hearBeatFunc
(
o
)},
watch
:{
id
:{
handler
:
function
(){
this
.
id
&&
(
this
.
state
.
pptBoxShow
=!
1
,
this
.
state
.
pptBoxOnly
=!
1
,
this
.
_rProgress
=
{},
setTimeout
(
this
.
jdugeSize
,
0
))}}},
methods
:{
togglePptBox
:
function
(){
this
.
state
.
pptBoxShow
=!
this
.
state
.
pptBoxShow
,
this
.
state
.
pptBoxOnly
=!
1
,
setTimeout
(
this
.
jdugeSize
,
0
)},
togglePptBoxOnly
:
function
(){
this
.
state
.
pptBoxOnly
=!
this
.
state
.
pptBoxOnly
,
setTimeout
(
this
.
jdugeSize
,
0
)},
toggleSkipBegin
:
function
(){
var
e
=!
this
.
state
.
skipBegin
,
t
=
new
Date
;
t
.
setMonth
(
t
.
getMonth
()
+
1
),
document
.
cookie
=
"skip="
+
+
e
+
";path=/;domain=.ezijing.com;expires="
+
t
.
toGMTString
(),
e
&&
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
skipBegin
(),
this
.
state
.
skipBegin
=
e
},
onVideoTimeChange
:
function
(
e
){
var
t
=
e
.
time
;
this
.
videoFlash
.
duration
=
e
.
duration
||
this
.
videoFlash
.
duration
,
this
.
videoFlash
.
speed
=
parseFloat
(
e
.
quality
.
split
(
" "
)[
1
]
||
1
),
this
.
videoFlash
.
isSeek
=
e
.
isSeek
,
this
.
videoFlash
.
lastTime
!==
t
&&
(
this
.
videoFlash
.
lastTime
=
t
,
this
.
isPlaying
=!
0
,
e
.
isSeek
||
this
.
videoFlash
.
queueFrames
.
push
(
t
),
this
.
setPptIndexByTime
(
t
),
this
.
$emit
(
"handlePlayTime"
,
t
))},
onVideoPlayFinish
:
function
(
e
){
if
(
this
.
chapterVideo
){
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
);
else
{
this
.
_rProgress
=
u
.
default
.
assignIn
({},
this
.
chapterVideo
.
progress
);
for
(
var
t
=
[],
i
=
this
.
chapterVideo
.
video_length
||
1
,
n
=
0
;
n
<
i
;
n
++
)
t
.
push
(
0
);
this
.
videoFlash
.
mapFrames
=
this
.
_rProgress
.
map
.
length
?
this
.
_rProgress
.
map
:
t
,
this
.
_rProgress
.
map
=
this
.
videoFlash
.
mapFrames
}
this
.
_rProgress
.
pt
+
10
*
this
.
videoFlash
.
speed
>=
e
.
time
&&
(
this
.
isPlaying
=!
0
,
this
.
hearBeatFunc
(
o
))}},
changeVideoArr
:
function
(
e
){
this
.
$emit
(
"changeVideoArr"
,
e
)},
setPptIndexByTime
:
function
(
e
){
for
(
var
t
=
this
.
ppts
||
[],
i
=
0
;
i
<
t
.
length
&&!
(
e
<
t
[
i
].
ppt_point
);
i
++
);
this
.
state
.
pptIndex
!==
i
-
1
&&
(
this
.
state
.
pptIndex
=
i
-
1
)},
setVideoTime
:
function
(
e
){
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setTimeTo
(
e
)},
jdugeSize
:
function
(){
var
e
=
this
.
$refs
.
box
,
t
=
this
.
getCalculateSize
(),
i
=
0
,
n
=
0
;
this
.
state
.
pptBoxOnly
?(
n
=
t
.
ppt
.
w
,
i
=
t
.
ppt
.
h
,
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
n
,
i
)):
this
.
state
.
pptBoxShow
?(
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
t
.
ppt
.
w
,
t
.
ppt
.
h
),
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
t
.
video
.
w
,
t
.
video
.
h
),
n
=
t
.
ppt
.
w
+
t
.
video
.
w
,
i
=
t
.
video
.
h
):(
n
=
t
.
video
.
w
,
i
=
t
.
video
.
h
,
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
n
,
i
)),
this
.
state
.
calculatedSize
=!
0
,
e
.
style
.
paddingLeft
=
(
t
.
space
.
w
-
n
)
/
2
+
15
+
"px"
,
e
.
style
.
paddingTop
=
(
t
.
space
.
h
-
i
)
/
2
+
10
+
"px"
},
getCalculateSize
:
function
(){
var
e
=
this
.
$refs
.
container
,
t
=
e
.
offsetWidth
-
30
,
i
=
e
.
offsetHeight
-
53
-
20
,
n
=
550
/
363
,
r
=
336
/
236
,
a
=
{
space
:{
w
:
t
,
h
:
i
},
video
:{
w
:
0
,
h
:
0
},
ppt
:{
w
:
0
,
h
:
0
}};
if
(
this
.
state
.
pptBoxOnly
)
a
.
ppt
.
w
=
t
<
i
*
r
?
t
:
i
*
r
,
a
.
ppt
.
h
=
i
<
t
/
r
?
i
:
t
/
r
;
else
if
(
this
.
state
.
pptBoxShow
){
var
s
=
t
/
2
,
o
=
s
<
i
*
n
?
s
:
i
*
n
,
l
=
i
<
s
/
n
?
i
:
s
/
n
,
d
=
l
,
u
=
d
*
r
;
a
.
video
.
w
=
o
,
a
.
video
.
h
=
l
,
a
.
ppt
.
w
=
u
,
a
.
ppt
.
h
=
d
}
else
a
.
video
.
w
=
t
<
i
*
n
?
t
:
i
*
n
,
a
.
video
.
h
=
i
<
t
/
n
?
i
:
t
/
n
;
return
a
},
hearBeatFunc
:
function
(
e
){
if
(
this
.
chapterVideo
&&
this
.
isPlaying
){
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
);
else
{
this
.
_rProgress
=
u
.
default
.
assignIn
({},
this
.
chapterVideo
.
progress
);
for
(
var
t
=
[],
i
=
this
.
chapterVideo
.
video_length
||
1
,
n
=
0
;
n
<
i
;
n
++
)
t
.
push
(
0
);
this
.
videoFlash
.
mapFrames
=
this
.
_rProgress
.
map
.
length
?
this
.
_rProgress
.
map
:
t
,
this
.
_rProgress
.
map
=
this
.
videoFlash
.
mapFrames
}
var
r
=
this
.
_rProgress
,
a
=
this
.
videoFlash
.
duration
,
s
=
Math
.
min
(
this
.
videoFlash
.
lastTime
,
a
),
o
=
this
.
videoFlash
.
speed
,
l
=
this
.
videoFlash
.
isSeek
,
d
=
this
.
videoFlash
.
queueFrames
;
0
===
r
.
cpt
&&
0
===
r
.
mpt
&&
0
===
r
.
pt
&&
/skip=1/
.
test
(
document
.
cookie
)
&&
(
r
.
pt
=
7
),
l
||
(
r
.
pt
+=
e
/
1
e3
*
o
,
r
.
cpt
=
s
,
r
.
mpt
=
s
>
r
.
mpt
?
s
:
r
.
mpt
,
r
.
mpt
=
r
.
mpt
>
a
?
a
:
r
.
mpt
,
parseInt
(
r
.
mpt
)
>
parseInt
(
a
)
+
1
e4
&&
this
.
$message
.
info
(
"视频播放出错,请刷新页面重新观看。"
),
r
.
ps
=
d
,
r
.
vid
=
this
.
id
,
this
.
$emit
(
"updateProgress"
,
this
.
_rProgress
)),
this
.
isPlaying
=!
1
}},
createHeartTime
:
function
(
e
){
var
t
=
this
,
i
=
e
||
1
e4
;
this
.
destroyHeartTime
(),
this
.
hearBeat
=
setInterval
(
function
(){
t
.
hearBeatFunc
(
i
)},
i
)},
destroyHeartTime
:
function
(){
this
.
hearBeat
&&
clearInterval
(
this
.
hearBeat
)}}}},
374
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
375
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
375
:
function
(
e
,
a
,
s
){
"use strict"
;(
function
(
n
){
Object
.
defineProperty
(
a
,
"__esModule"
,{
value
:
!
0
});
var
e
,
t
=
s
(
278
),
d
=
(
e
=
t
)
&&
e
.
__esModule
?
e
:{
default
:
e
};
var
r
=
"playerWrap"
,
i
=
0
;
a
.
default
=
{
props
:{
lastTime
:{
type
:
Number
,
require
:
!
1
},
videoId
:{
type
:
String
,
require
:
!
1
},
width
:{
type
:
Number
,
require
:
!
1
},
height
:{
type
:
Number
,
require
:
!
1
},
username
:{
type
:
String
,
require
:
!
1
},
videoSrt
:{
type
:
String
,
require
:
!
1
},
autoPlay
:{
type
:
Boolean
,
require
:
!
1
,
default
:
!
0
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
}},
mounted
:
function
(){
this
.
definWindowFun
()},
watch
:{
videoId
:{
handler
:
function
(){
this
.
videoId
&&
(
i
=
this
.
lastTime
||
0
,
this
.
renderPlayer
(
"player"
,
this
.
videoId
,
this
.
autoPlay
,
this
.
videoSrt
,
this
.
username
,
this
.
width
,
this
.
height
))}}},
methods
:{
definWindowFun
:
function
(){
var
t
=
this
;
window
.
_playerStart
=
function
(){
/
skip
=
1
/
.
test
(
document
.
cookie
)?
t
.
getPlayer
().
callAction
(
"setCurrentTime"
,
Math
.
max
(
i
,
7
)):
i
&&
t
.
getPlayer
().
callAction
(
"setCurrentTime"
,
i
)},
window
.
_playerIng
=
function
(
e
){
n
(
"#"
+
r
).
trigger
(
"player.time"
,{
time
:
e
,
duration
:
t
.
getPlayer
().
callAction
(
"getDuration"
),
quality
:
t
.
getPlayer
().
callAction
(
"getQuality"
),
isSeek
:
!
1
})},
window
.
_playerSeek
=
function
(){
n
(
"#"
+
r
).
trigger
(
"player.seek"
,{
time
:
t
.
getPlayer
().
callAction
(
"getCurrentTime"
),
duration
:
t
.
getPlayer
().
callAction
(
"getDuration"
),
quality
:
t
.
getPlayer
().
callAction
(
"getQuality"
),
isSeek
:
!
0
})},
window
.
_playerFinish
=
function
(){
t
.
$emit
(
"handlePlayfinish"
,{
time
:
t
.
getPlayer
().
callAction
(
"getDuration"
)})},
window
.
_playerCallback
=
function
(){
var
e
=
t
.
getPlayer
();
e
&&
(
e
.
callAction
(
"register"
,
"onCanplay"
,
"_playerStart"
),
e
.
callAction
(
"register"
,
"onPlaying"
,
"_playerIng"
),
e
.
callAction
(
"register"
,
"onSeekComplete"
,
"_playerSeek"
),
e
.
callAction
(
"register"
,
"onEnded"
,
"_playerFinish"
))}},
renderPlayer
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
var
o
=
{
autoStart
:
i
=
void
0
===
i
?
1
:
i
-
0
,
vid
:
t
,
isShowSpeeder
:
1
,
videoType
:
1
,
callback
:
"_playerCallback"
};
n
&&
(
o
.
srtUrl
=
n
),
r
&&
(
o
.
username
=
r
);
var
l
=
{
id
:
e
,
name
:
e
,
align
:
"middle"
,
wmode
:
"opaque"
};
d
.
default
.
embedSWF
(
"/static/videoJs/swf/Player1705192.swf"
,
e
,
parseInt
(
a
),
parseInt
(
s
),
"11.1.0"
,
"playerProductInstall.swf"
,
o
,{
quality
:
"high"
,
bgcolor
:
"#000000"
,
allowscriptaccess
:
"always"
,
allowfullscreen
:
"true"
},
l
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
n
(
"#"
+
r
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
e
,
t
){
i
.
$emit
(
"handlePlayTime"
,
t
)})},
getPlayer
:
function
(){
return
document
.
getElementById
(
"player"
)},
getTime
:
function
(){
var
e
=
this
.
getPlayer
();
return
e
?
e
.
callAction
(
"getCurrentTime"
):
0
},
setTimeTo
:
function
(
e
){
var
t
=
this
.
getPlayer
();
t
&&
t
.
callAction
(
"setCurrentTime"
,
e
+
2
)},
skipBegin
:
function
(){
var
e
=
this
.
getPlayer
();
e
&&
e
.
callAction
(
"getCurrentTime"
)
<
7
&&
e
.
callAction
(
"setCurrentTime"
,
7
)},
setSize
:
function
(
e
,
t
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
width
=
e
,
i
.
height
=
t
)}}}}).
call
(
this
,
s
(
321
))},
376
:
function
(
e
,
t
,
i
){},
377
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
378
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
378
:
function
(
e
,
t
,
i
){
"use strict"
;(
function
(
n
){
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
c
=
e
(
i
(
45
)),
o
=
e
(
i
(
279
)),
l
=
e
(
i
(
280
)),
h
=
e
(
i
(
80
));
function
e
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
var
r
=
"playerWrap"
,
f
=
"player"
,
v
=
null
,
y
=
null
,
g
=
0
;
t
.
default
=
{
props
:{
lastTime
:{
type
:
Number
,
require
:
!
1
},
videoId
:{
type
:
String
,
require
:
!
1
},
width
:{
type
:
Number
,
require
:
!
1
},
height
:{
type
:
Number
,
require
:
!
1
},
username
:{
type
:
String
,
require
:
!
1
},
videoSrt
:{
type
:
String
,
require
:
!
1
},
autoPlay
:{
type
:
Boolean
,
require
:
!
1
,
default
:
!
0
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
}},
data
:
function
(){
return
{
videoArr
:{}}},
mounted
:
function
(){
this
.
definWindowFun
()},
watch
:{
videoId
:{
handler
:
function
(
e
,
t
){
var
i
=
this
;
if
(
this
.
videoId
){
g
=
this
.
lastTime
||
0
;
var
n
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
c
.
default
.
chapterAction
.
getCurrentChapterDetailAliyun
(
this
.
videoId
).
then
(
function
(
e
){
i
.
videoArr
=
e
.
video
;
var
t
=
i
.
getPlayer
();
y
&&
t
.
innerHTML
?
i
.
playNextVideo
(
f
,
i
.
videoId
,
i
.
autoPlay
,
i
.
videoSrt
,
i
.
username
,
i
.
width
,
i
.
height
):
i
.
renderPlayer
(
f
,
i
.
videoId
,
i
.
autoPlay
,
i
.
videoSrt
,
i
.
username
,
i
.
width
,
i
.
height
)}).
catch
(
function
(
e
){
i
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
n
.
close
()})}}}},
methods
:{
definWindowFun
:
function
(){
var
p
=
this
;
window
.
_playerStart
=
function
(){
g
=
v
.
getDuration
()
<
g
?
v
.
getDuration
():
g
,
/skip=1/
.
test
(
document
.
cookie
)?
v
.
seek
(
parseInt
(
Math
.
max
(
g
,
7
))):
g
&&
v
.
seek
(
parseInt
(
g
))},
window
.
_playerIng
=
function
(
e
){
var
t
=
v
.
getComponent
(
"QualityComponent"
).
definition
,
i
=
v
.
getComponent
(
"RateComponent"
).
html
.
innerText
;
switch
(
t
){
case
"FD"
:
t
=
"普通"
;
break
;
case
"LD"
:
t
=
"清晰"
;
break
;
case
"SD"
:
t
=
"高清"
}
i
&&
(
t
+=
" "
+
i
),
e
=
v
.
getCurrentTime
(),
n
(
"#"
+
r
).
trigger
(
"player.time"
,{
time
:
e
,
duration
:
v
.
getDuration
(),
quality
:
t
,
isSeek
:
!
1
})},
window
.
_playerSeekStart
=
function
(
e
){},
window
.
_playerSeek
=
function
(){
var
e
=
v
.
getComponent
(
"QualityComponent"
).
definition
,
t
=
v
.
getComponent
(
"RateComponent"
).
html
.
innerText
;
switch
(
e
){
case
"FD"
:
e
=
"普通"
;
break
;
case
"LD"
:
e
=
"清晰"
;
break
;
case
"SD"
:
e
=
"高清"
}
t
&&
(
e
+=
" "
+
t
),
n
(
"#"
+
r
).
trigger
(
"player.seek"
,{
time
:
v
.
getCurrentTime
(),
duration
:
v
.
getDuration
(),
quality
:
e
,
isSeek
:
!
0
})},
window
.
_playerFinish
=
function
(){
p
.
$emit
(
"handlePlayfinish"
,{
time
:
v
.
getDuration
()})},
window
.
_player403Stop
=
function
(
e
){
var
t
=
window
.
G
.
socket
,
i
=
""
,
n
=
window
.
G
.
VERSION
;
if
(
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
student_info
){
var
r
=
window
.
G
.
UserInfo
.
student_info
;
i
=
r
.
personal_name
+
":"
+
r
.
telephone
+
":"
+
r
.
email
+
":"
+
r
.
id
+
":"
+
window
.
G
.
UserInfo
.
auth_key
+
":"
+
(
window
.
G
.
pwd
||
""
)}
if
(
i
+=
":"
+
n
,
t
&&
1
===
t
.
readyState
){
var
a
=
e
.
paramData
||
{};
a
.
m3u8Url
=
p
.
videoArr
[
v
.
getComponent
(
"QualityComponent"
).
definition
||
"LD"
]
||
""
,
a
.
m3u8RequestId
=
window
.
G
.
m3u8RequestId
,
a
.
UA
=
window
.
navigator
.
userAgent
;
for
(
var
s
=
JSON
.
stringify
({
action
:
"aliVideoErr"
,
info
:
h
.
default
.
encode
(
i
),
auth
:
"aliVideoErr"
,
code
:
h
.
default
.
encode
(
e
.
paramData
.
error_code
),
err
:
h
.
default
.
encode
(
JSON
.
stringify
(
a
))}).
split
(
""
),
o
=
[],
l
=
0
;
l
<
s
.
length
;
l
++
)
o
[
l
]
=
s
[
l
].
charCodeAt
();
var
d
=
new
Uint8Array
(
o
);
t
.
send
(
d
.
buffer
)}
else
console
.
log
(
"not link build success, status: "
+
t
.
readyState
);
if
(
4006
===
e
.
paramData
.
error_code
)
p
.
$message
.
error
(
"视频播放错误,请刷新页面重试!"
);
else
if
(
4016
===
e
.
paramData
.
error_code
){
g
=
v
.
getCurrentTime
();
var
u
=
p
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
c
.
default
.
chapterAction
.
getCurrentChapterDetailAliyun
(
p
.
videoId
).
then
(
function
(
e
){
p
.
videoArr
=
e
.
video
;
var
t
=
p
.
getPlayer
();
y
&&
t
.
innerHTML
?
p
.
playNextVideo
(
f
,
p
.
videoId
,
p
.
autoPlay
,
p
.
videoSrt
,
p
.
username
,
p
.
width
,
p
.
height
):
p
.
renderPlayer
(
f
,
p
.
videoId
,
p
.
autoPlay
,
p
.
videoSrt
,
p
.
username
,
p
.
width
,
p
.
height
)}).
catch
(
function
(
e
){
p
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
u
.
close
()})}
else
p
.
$message
.
error
(
"请将该错误,截图发给管理员。err: "
+
e
.
paramData
.
error_code
)}},
renderPlayer
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
i
=
void
0
===
i
?
1
:
i
-
0
,
y
=
new
o
.
default
({
id
:
e
,
source
:
JSON
.
stringify
(
this
.
videoArr
),
width
:
"100%"
,
height
:
"100%"
,
autoplay
:
!!
i
,
vodRetry
:
0
,
isLive
:
!
1
,
controlBarVisibility
:
"always"
,
definition
:
"FD,LD,SD"
,
defaultDefinition
:
"LD"
,
components
:[{
name
:
"QualityComponent"
,
type
:
l
.
default
.
QualityComponent
},{
name
:
"RateComponent"
,
type
:
l
.
default
.
RateComponent
}]},
function
(
r
){
v
=
r
,
console
.
log
(
"The player is created"
),
r
.
on
(
"sourceloaded"
,
function
(
e
){
var
t
=
e
.
paramData
,
i
=
t
.
desc
,
n
=
t
.
definition
;
r
.
getComponent
(
"QualityComponent"
).
setCurrentQuality
(
i
,
n
)}),
v
&&
(
v
.
on
(
"ready"
,
window
.
_playerStart
),
v
.
on
(
"timeupdate"
,
window
.
_playerIng
),
v
.
on
(
"startSeek"
,
window
.
_playerSeekStart
),
v
.
on
(
"completeSeek"
,
window
.
_playerSeek
),
v
.
on
(
"ended"
,
window
.
_playerFinish
),
v
.
on
(
"error"
,
window
.
_player403Stop
))}),
this
.
setSize
(
a
,
s
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
n
(
"#"
+
r
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
e
,
t
){
i
.
$emit
(
"handlePlayTime"
,
t
)})},
playNextVideo
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
var
o
=
this
;
this
.
changeVideoArr
(
t
,
function
(){
v
.
_urls
[
0
].
FD
=
o
.
videoArr
.
FD
,
v
.
_urls
[
1
].
LD
=
o
.
videoArr
.
LD
,
v
.
_urls
[
2
].
SD
=
o
.
videoArr
.
SD
;
var
e
=
v
.
getComponent
(
"QualityComponent"
).
definition
||
"LD"
;
y
.
loadByUrl
(
o
.
videoArr
[
e
])})},
changeVideoArr
:
function
(
e
,
t
){
this
.
$emit
(
"changeVideoArr"
,{
vid
:
e
,
callback
:
t
})},
getPlayer
:
function
(){
return
document
.
getElementById
(
f
)},
getTime
:
function
(){
return
v
?
v
.
getCurrentTime
():
0
},
setTimeTo
:
function
(
e
){
v
&&
v
.
seek
(
parseInt
(
e
+
2
))},
skipBegin
:
function
(){
v
&&
v
.
getCurrentTime
()
<
7
&&
v
.
seek
(
parseInt
(
7
))},
setSize
:
function
(
e
,
t
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
style
.
width
=
e
+
"px"
,
i
.
style
.
height
=
t
+
"px"
)}}}}).
call
(
this
,
i
(
321
))},
379
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
380
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
380
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
}),
t
.
default
=
{
props
:{
ppts
:{
type
:
Array
,
require
:
!
1
},
currentIndex
:{
type
:
Number
,
require
:
!
1
,
default
:
0
}},
data
:
function
(){
return
{
state
:{
index
:
this
.
currentIndex
,
sync
:
!
0
}}},
watch
:{
currentIndex
:{
handler
:
function
(){
this
.
state
.
sync
&&
(
this
.
state
.
index
=
this
.
currentIndex
)}}},
methods
:{
gotoIndex
:
function
(
e
){
this
.
state
.
index
=
e
},
getIndex
:
function
(
e
){
return
Math
.
min
(
this
.
ppts
.
length
-
1
,
Math
.
max
(
0
,
e
))},
prev
:
function
(
e
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
-
1
),
this
.
state
.
sync
=!
1
},
next
:
function
(
e
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
+
1
),
this
.
state
.
sync
=!
1
},
onToggleSync
:
function
(
e
){
this
.
state
.
sync
=!
this
.
state
.
sync
,
this
.
state
.
index
=
this
.
state
.
sync
?
this
.
currentIndex
:
this
.
state
.
index
},
onSetVideoTime
:
function
(
e
){
this
.
$emit
(
"onVideoSyncTime"
,
this
.
ppts
[
this
.
state
.
index
].
ppt_point
)},
setSize
:
function
(
e
,
t
){
this
.
$refs
.
wrap
.
style
.
width
=
e
+
"px"
,
this
.
$refs
.
wrap
.
style
.
height
=
t
+
"px"
,
this
.
$refs
.
preview
.
style
.
lineHeight
=
t
-
44
+
"px"
}}}},
433
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
480
),
r
=
i
(
374
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
i
(
434
);
var
s
=
i
(
1
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
"b94f6c04"
,
null
);
t
.
default
=
o
.
exports
},
434
:
function
(
e
,
t
,
i
){
"use strict"
;
var
n
=
i
(
376
);
i
.
n
(
n
).
a
},
435
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
479
),
r
=
i
(
377
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
1
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
436
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
478
),
r
=
i
(
379
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
1
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
450
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
ref
:
"container"
,
staticClass
:
"play-content-video"
},[
i
(
"div"
,{
ref
:
"box"
,
staticClass
:
"play-center"
},[
e
.
chapterVideo
?[
i
(
"div"
,{
class
:[
"play-video"
,
e
.
state
.
pptBoxOnly
?
"play-video-hide"
:
""
,
e
.
state
.
calculatedSize
?
""
:
"play-video-init-center"
]},[
"3"
!==
e
.
videoType
?[
i
(
"e-video"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
e
.
chapterVideo
.
progress
&&
e
.
chapterVideo
.
progress
.
pt
||
0
),
width
:
e
.
videoFlash
.
videoWidth
,
height
:
e
.
videoFlash
.
videoHeight
,
username
:
e
.
videoFlash
.
username
,
videoId
:
e
.
chapterVideo
.
video_origionalID
,
videoSrt
:
e
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
e
.
chapterVideo
},
on
:{
handlePlayTime
:
e
.
onVideoTimeChange
,
handlePlayfinish
:
e
.
onVideoPlayFinish
}})]:[
i
(
"e-video-h5"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
e
.
chapterVideo
.
progress
&&
e
.
chapterVideo
.
progress
.
pt
||
0
),
width
:
e
.
videoFlash
.
videoWidth
,
height
:
e
.
videoFlash
.
videoHeight
,
username
:
e
.
videoFlash
.
username
,
videoId
:
e
.
chapterVideo
.
id
,
videoSrt
:
e
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
e
.
chapterVideo
,
videoType
:
e
.
videoType
},
on
:{
handlePlayTime
:
e
.
onVideoTimeChange
,
handlePlayfinish
:
e
.
onVideoPlayFinish
,
changeVideoArr
:
e
.
changeVideoArr
}})]],
2
),
e
.
_v
(
" "
),
i
(
"div"
,{
class
:[
"play-jiangyi"
,
e
.
state
.
pptBoxShow
?
""
:
"hide"
]},[
e
.
ppts
.
length
?[
i
(
"e-ppt"
,{
ref
:
"ppt"
,
attrs
:{
ppts
:
e
.
ppts
,
currentIndex
:
e
.
state
.
pptIndex
},
on
:{
onVideoSyncTime
:
e
.
setVideoTime
,
onPptOnly
:
e
.
togglePptBoxOnly
,
onClose
:
e
.
togglePptBox
}})]:
e
.
_e
()],
2
)]:[
i
(
"p"
,[
e
.
_v
(
"课程视频数据不存在"
)])]],
2
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-footer"
},[
i
(
"div"
,{
staticClass
:
"fl"
}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"fr"
},[
e
.
chapterVideo
.
pdf
?[
i
(
"em"
,{
staticClass
:
"play-state play-state-ppt"
},[
i
(
"a"
,{
attrs
:{
href
:
e
.
chapterVideo
.
pdf
,
target
:
"_blank"
}},[
e
.
_v
(
"下载PPT"
)])])]:
e
.
_e
(),
e
.
_v
(
" "
),
e
.
ppts
.
length
?[
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-ppt"
+
(
e
.
state
.
pptBoxShow
?
"-active"
:
""
)],
on
:{
click
:
e
.
togglePptBox
}},[
e
.
_v
(
"同步显示PPT"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-check"
+
(
e
.
state
.
skipBegin
?
"-active"
:
""
)],
on
:{
click
:
e
.
toggleSkipBegin
}},[
e
.
_v
(
"始终跳过片头"
)])],
2
)])])}
var
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
478
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
var
e
=
this
,
t
=
this
,
i
=
t
.
$createElement
,
n
=
t
.
_self
.
_c
||
i
;
return
n
(
"div"
,{
ref
:
"wrap"
,
staticClass
:
"play-ppt"
},[
t
.
ppts
.
length
?[
n
(
"div"
,{
ref
:
"preview"
,
staticClass
:
"play-preview"
},[
t
.
ppts
[
t
.
state
.
index
]
&&
t
.
ppts
[
t
.
state
.
index
].
ppt_url
?[
n
(
"img"
,{
staticClass
:
"play-ppt-img"
,
staticStyle
:{
"vertical-align"
:
"middle"
},
attrs
:{
src
:
t
.
ppts
[
t
.
state
.
index
].
ppt_url
}})]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-controls cl"
},[
n
(
"div"
,{
staticStyle
:{
float
:
"left"
}},[
0
<=
t
.
state
.
index
?[
n
(
"a"
,{
staticStyle
:{
margin
:
"0 20px 0 0"
,
color
:
"#fff"
},
attrs
:{
href
:
"#"
},
on
:{
click
:
t
.
prev
}},[
n
(
"i"
,{
staticClass
:
"el-icon-arrow-left"
})])]:
t
.
_e
(),
t
.
_v
(
" "
),
t
.
state
.
index
+
1
<
t
.
ppts
.
length
?[
n
(
"a"
,{
attrs
:{
href
:
"#"
},
on
:{
click
:
t
.
next
}},[
n
(
"i"
,{
staticClass
:
"el-icon-arrow-right"
,
staticStyle
:{
color
:
"#fff"
}})])]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-page"
},[
n
(
"span"
,{
staticClass
:
"play-now"
},[
t
.
_v
(
t
.
_s
(
t
.
state
.
index
+
1
))]),
t
.
_v
(
"
\
n /
\
n "
),
n
(
"span"
,{
staticClass
:
"play-total"
},[
t
.
_v
(
t
.
_s
(
t
.
ppts
.
length
))]),
t
.
_v
(
"页
\
n "
)]),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-amazing"
},[
n
(
"i"
,{
class
:[
"el-icon-self-xuexiao"
,
t
.
state
.
sync
?
"active"
:
""
],
on
:{
click
:
t
.
onToggleSync
}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-quanping"
,
on
:{
click
:
function
(){
e
.
$emit
(
"onPptOnly"
)}}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-shipin"
,
on
:{
click
:
t
.
onSetVideoTime
}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-guanbi"
,
on
:{
click
:
function
(){
e
.
$emit
(
"onClose"
)}}})])])]:
t
.
_e
()],
2
)}
var
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
479
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
this
.
$createElement
;
return
this
.
_self
.
_c
,
this
.
_m
(
0
)}
var
r
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
t
(
"div"
,{
attrs
:{
id
:
"player"
}})])}];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
480
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
this
.
$createElement
;
return
this
.
_self
.
_c
,
this
.
_m
(
0
)}
var
r
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
t
(
"div"
,{
attrs
:{
id
:
"player"
}},[
t
(
"p"
,[
this
.
_v
(
"您还没有安装flash播放器,请 "
),
t
(
"a"
,{
attrs
:{
href
:
"http://www.adobe.com/go/getflash"
,
target
:
"_blank"
}},[
this
.
_v
(
"点击这里安装"
)])])])])}];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})}}]);
\ No newline at end of file
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
11
],{
277
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
450
),
r
=
i
(
372
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
1
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
372
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
373
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
373
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
s
(
i
(
433
)),
r
=
s
(
i
(
435
)),
a
=
s
(
i
(
436
)),
u
=
s
(
i
(
81
));
function
s
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
var
o
=
1
e4
;
t
.
default
=
{
components
:{
eVideo
:
n
.
default
,
eVideoH5
:
r
.
default
,
ePpt
:
a
.
default
},
props
:{
chapterId
:{
type
:
String
,
require
:
!
1
},
chapterName
:{
type
:
String
,
require
:
!
1
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
},
ppts
:{
type
:
Array
,
require
:
!
1
,
default
:[]},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
},
videoType
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
state
:{
pptIndex
:
0
,
pptBoxOnly
:
!
1
,
pptBoxShow
:
!
1
,
skipBegin
:
/skip=1/
.
test
(
document
.
cookie
),
calculatedSize
:
!
1
},
videoFlash
:{
lastTime
:
null
,
speed
:
1
,
isSeek
:
!
1
,
isFinish
:
!
1
,
queueFrames
:[],
mapFrames
:[],
videoWidth
:
550
,
videoHeight
:
360
,
username
:
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
username
||
""
,
duration
:
1
e4
},
resizeVideo
:
null
,
hearBeat
:
null
,
_rProgress
:{},
isPlaying
:
!
1
}},
mounted
:
function
(){
var
e
=
this
.
getCalculateSize
();
e
.
video
.
w
&&
(
this
.
videoFlash
.
videoWidth
=
e
.
video
.
w
,
this
.
videoFlash
.
videoHeight
=
e
.
video
.
h
),
this
.
resizeVideo
||
(
this
.
resizeVideo
=
u
.
default
.
debounce
(
this
.
jdugeSize
.
bind
(
this
),
200
)),
setTimeout
(
this
.
jdugeSize
,
600
),
window
.
addEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
createHeartTime
(
o
)},
destroyed
:
function
(){
window
.
removeEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
destroyHeartTime
(),
this
.
hearBeatFunc
(
o
)},
watch
:{
id
:{
handler
:
function
(){
this
.
id
&&
(
this
.
state
.
pptBoxShow
=!
1
,
this
.
state
.
pptBoxOnly
=!
1
,
this
.
_rProgress
=
{},
setTimeout
(
this
.
jdugeSize
,
0
))}}},
methods
:{
togglePptBox
:
function
(){
this
.
state
.
pptBoxShow
=!
this
.
state
.
pptBoxShow
,
this
.
state
.
pptBoxOnly
=!
1
,
setTimeout
(
this
.
jdugeSize
,
0
)},
togglePptBoxOnly
:
function
(){
this
.
state
.
pptBoxOnly
=!
this
.
state
.
pptBoxOnly
,
setTimeout
(
this
.
jdugeSize
,
0
)},
toggleSkipBegin
:
function
(){
var
e
=!
this
.
state
.
skipBegin
,
t
=
new
Date
;
t
.
setMonth
(
t
.
getMonth
()
+
1
),
document
.
cookie
=
"skip="
+
+
e
+
";path=/;domain=.ezijing.com;expires="
+
t
.
toGMTString
(),
e
&&
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
skipBegin
(),
this
.
state
.
skipBegin
=
e
},
onVideoTimeChange
:
function
(
e
){
var
t
=
e
.
time
;
this
.
videoFlash
.
duration
=
e
.
duration
||
this
.
videoFlash
.
duration
,
this
.
videoFlash
.
speed
=
parseFloat
(
e
.
quality
.
split
(
" "
)[
1
]
||
1
),
this
.
videoFlash
.
isSeek
=
e
.
isSeek
,
this
.
videoFlash
.
lastTime
!==
t
&&
(
this
.
videoFlash
.
lastTime
=
t
,
this
.
isPlaying
=!
0
,
e
.
isSeek
||
this
.
videoFlash
.
queueFrames
.
push
(
t
),
this
.
setPptIndexByTime
(
t
),
this
.
$emit
(
"handlePlayTime"
,
t
))},
onVideoPlayFinish
:
function
(
e
){
if
(
this
.
chapterVideo
){
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
);
else
{
this
.
_rProgress
=
u
.
default
.
assignIn
({},
this
.
chapterVideo
.
progress
);
for
(
var
t
=
[],
i
=
this
.
chapterVideo
.
video_length
||
1
,
n
=
0
;
n
<
i
;
n
++
)
t
.
push
(
0
);
this
.
videoFlash
.
mapFrames
=
this
.
_rProgress
.
map
.
length
?
this
.
_rProgress
.
map
:
t
,
this
.
_rProgress
.
map
=
this
.
videoFlash
.
mapFrames
}
this
.
_rProgress
.
pt
+
10
*
this
.
videoFlash
.
speed
>=
e
.
time
&&
(
this
.
isPlaying
=!
0
,
this
.
hearBeatFunc
(
o
))}},
changeVideoArr
:
function
(
e
){
this
.
$emit
(
"changeVideoArr"
,
e
)},
setPptIndexByTime
:
function
(
e
){
for
(
var
t
=
this
.
ppts
||
[],
i
=
0
;
i
<
t
.
length
&&!
(
e
<
t
[
i
].
ppt_point
);
i
++
);
this
.
state
.
pptIndex
!==
i
-
1
&&
(
this
.
state
.
pptIndex
=
i
-
1
)},
setVideoTime
:
function
(
e
){
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setTimeTo
(
e
)},
jdugeSize
:
function
(){
var
e
=
this
.
$refs
.
box
,
t
=
this
.
getCalculateSize
(),
i
=
0
,
n
=
0
;
this
.
state
.
pptBoxOnly
?(
n
=
t
.
ppt
.
w
,
i
=
t
.
ppt
.
h
,
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
n
,
i
)):
this
.
state
.
pptBoxShow
?(
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
t
.
ppt
.
w
,
t
.
ppt
.
h
),
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
t
.
video
.
w
,
t
.
video
.
h
),
n
=
t
.
ppt
.
w
+
t
.
video
.
w
,
i
=
t
.
video
.
h
):(
n
=
t
.
video
.
w
,
i
=
t
.
video
.
h
,
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
n
,
i
)),
this
.
state
.
calculatedSize
=!
0
,
e
.
style
.
paddingLeft
=
(
t
.
space
.
w
-
n
)
/
2
+
15
+
"px"
,
e
.
style
.
paddingTop
=
(
t
.
space
.
h
-
i
)
/
2
+
10
+
"px"
},
getCalculateSize
:
function
(){
var
e
=
this
.
$refs
.
container
,
t
=
e
.
offsetWidth
-
30
,
i
=
e
.
offsetHeight
-
53
-
20
,
n
=
550
/
363
,
r
=
336
/
236
,
a
=
{
space
:{
w
:
t
,
h
:
i
},
video
:{
w
:
0
,
h
:
0
},
ppt
:{
w
:
0
,
h
:
0
}};
if
(
this
.
state
.
pptBoxOnly
)
a
.
ppt
.
w
=
t
<
i
*
r
?
t
:
i
*
r
,
a
.
ppt
.
h
=
i
<
t
/
r
?
i
:
t
/
r
;
else
if
(
this
.
state
.
pptBoxShow
){
var
s
=
t
/
2
,
o
=
s
<
i
*
n
?
s
:
i
*
n
,
l
=
i
<
s
/
n
?
i
:
s
/
n
,
d
=
l
,
u
=
d
*
r
;
a
.
video
.
w
=
o
,
a
.
video
.
h
=
l
,
a
.
ppt
.
w
=
u
,
a
.
ppt
.
h
=
d
}
else
a
.
video
.
w
=
t
<
i
*
n
?
t
:
i
*
n
,
a
.
video
.
h
=
i
<
t
/
n
?
i
:
t
/
n
;
return
a
},
hearBeatFunc
:
function
(
e
){
if
(
this
.
chapterVideo
&&
this
.
isPlaying
){
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
);
else
{
this
.
_rProgress
=
u
.
default
.
assignIn
({},
this
.
chapterVideo
.
progress
);
for
(
var
t
=
[],
i
=
this
.
chapterVideo
.
video_length
||
1
,
n
=
0
;
n
<
i
;
n
++
)
t
.
push
(
0
);
this
.
videoFlash
.
mapFrames
=
this
.
_rProgress
.
map
.
length
?
this
.
_rProgress
.
map
:
t
,
this
.
_rProgress
.
map
=
this
.
videoFlash
.
mapFrames
}
var
r
=
this
.
_rProgress
,
a
=
this
.
videoFlash
.
duration
,
s
=
Math
.
min
(
this
.
videoFlash
.
lastTime
,
a
),
o
=
this
.
videoFlash
.
speed
,
l
=
this
.
videoFlash
.
isSeek
,
d
=
this
.
videoFlash
.
queueFrames
;
0
===
r
.
cpt
&&
0
===
r
.
mpt
&&
0
===
r
.
pt
&&
/skip=1/
.
test
(
document
.
cookie
)
&&
(
r
.
pt
=
7
),
l
||
(
r
.
pt
+=
e
/
1
e3
*
o
,
r
.
cpt
=
s
,
r
.
mpt
=
s
>
r
.
mpt
?
s
:
r
.
mpt
,
r
.
mpt
=
r
.
mpt
>
a
?
a
:
r
.
mpt
,
parseInt
(
r
.
mpt
)
>
parseInt
(
a
)
+
1
e4
&&
this
.
$message
.
info
(
"视频播放出错,请刷新页面重新观看。"
),
r
.
ps
=
d
,
r
.
vid
=
this
.
id
,
this
.
$emit
(
"updateProgress"
,
this
.
_rProgress
)),
this
.
isPlaying
=!
1
}},
createHeartTime
:
function
(
e
){
var
t
=
this
,
i
=
e
||
1
e4
;
this
.
destroyHeartTime
(),
this
.
hearBeat
=
setInterval
(
function
(){
t
.
hearBeatFunc
(
i
)},
i
)},
destroyHeartTime
:
function
(){
this
.
hearBeat
&&
clearInterval
(
this
.
hearBeat
)}}}},
374
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
375
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
375
:
function
(
e
,
a
,
s
){
"use strict"
;(
function
(
n
){
Object
.
defineProperty
(
a
,
"__esModule"
,{
value
:
!
0
});
var
e
,
t
=
s
(
278
),
d
=
(
e
=
t
)
&&
e
.
__esModule
?
e
:{
default
:
e
};
var
r
=
"playerWrap"
,
i
=
0
;
a
.
default
=
{
props
:{
lastTime
:{
type
:
Number
,
require
:
!
1
},
videoId
:{
type
:
String
,
require
:
!
1
},
width
:{
type
:
Number
,
require
:
!
1
},
height
:{
type
:
Number
,
require
:
!
1
},
username
:{
type
:
String
,
require
:
!
1
},
videoSrt
:{
type
:
String
,
require
:
!
1
},
autoPlay
:{
type
:
Boolean
,
require
:
!
1
,
default
:
!
0
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
}},
mounted
:
function
(){
this
.
definWindowFun
()},
watch
:{
videoId
:{
handler
:
function
(){
this
.
videoId
&&
(
i
=
this
.
lastTime
||
0
,
this
.
renderPlayer
(
"player"
,
this
.
videoId
,
this
.
autoPlay
,
this
.
videoSrt
,
this
.
username
,
this
.
width
,
this
.
height
))}}},
methods
:{
definWindowFun
:
function
(){
var
t
=
this
;
window
.
_playerStart
=
function
(){
/
skip
=
1
/
.
test
(
document
.
cookie
)?
t
.
getPlayer
().
callAction
(
"setCurrentTime"
,
Math
.
max
(
i
,
7
)):
i
&&
t
.
getPlayer
().
callAction
(
"setCurrentTime"
,
i
)},
window
.
_playerIng
=
function
(
e
){
n
(
"#"
+
r
).
trigger
(
"player.time"
,{
time
:
e
,
duration
:
t
.
getPlayer
().
callAction
(
"getDuration"
),
quality
:
t
.
getPlayer
().
callAction
(
"getQuality"
),
isSeek
:
!
1
})},
window
.
_playerSeek
=
function
(){
n
(
"#"
+
r
).
trigger
(
"player.seek"
,{
time
:
t
.
getPlayer
().
callAction
(
"getCurrentTime"
),
duration
:
t
.
getPlayer
().
callAction
(
"getDuration"
),
quality
:
t
.
getPlayer
().
callAction
(
"getQuality"
),
isSeek
:
!
0
})},
window
.
_playerFinish
=
function
(){
t
.
$emit
(
"handlePlayfinish"
,{
time
:
t
.
getPlayer
().
callAction
(
"getDuration"
)})},
window
.
_playerCallback
=
function
(){
var
e
=
t
.
getPlayer
();
e
&&
(
e
.
callAction
(
"register"
,
"onCanplay"
,
"_playerStart"
),
e
.
callAction
(
"register"
,
"onPlaying"
,
"_playerIng"
),
e
.
callAction
(
"register"
,
"onSeekComplete"
,
"_playerSeek"
),
e
.
callAction
(
"register"
,
"onEnded"
,
"_playerFinish"
))}},
renderPlayer
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
var
o
=
{
autoStart
:
i
=
void
0
===
i
?
1
:
i
-
0
,
vid
:
t
,
isShowSpeeder
:
1
,
videoType
:
1
,
callback
:
"_playerCallback"
};
n
&&
(
o
.
srtUrl
=
n
),
r
&&
(
o
.
username
=
r
);
var
l
=
{
id
:
e
,
name
:
e
,
align
:
"middle"
,
wmode
:
"opaque"
};
d
.
default
.
embedSWF
(
"/static/videoJs/swf/Player1705192.swf"
,
e
,
parseInt
(
a
),
parseInt
(
s
),
"11.1.0"
,
"playerProductInstall.swf"
,
o
,{
quality
:
"high"
,
bgcolor
:
"#000000"
,
allowscriptaccess
:
"always"
,
allowfullscreen
:
"true"
},
l
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
n
(
"#"
+
r
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
e
,
t
){
i
.
$emit
(
"handlePlayTime"
,
t
)})},
getPlayer
:
function
(){
return
document
.
getElementById
(
"player"
)},
getTime
:
function
(){
var
e
=
this
.
getPlayer
();
return
e
?
e
.
callAction
(
"getCurrentTime"
):
0
},
setTimeTo
:
function
(
e
){
var
t
=
this
.
getPlayer
();
t
&&
t
.
callAction
(
"setCurrentTime"
,
e
+
2
)},
skipBegin
:
function
(){
var
e
=
this
.
getPlayer
();
e
&&
e
.
callAction
(
"getCurrentTime"
)
<
7
&&
e
.
callAction
(
"setCurrentTime"
,
7
)},
setSize
:
function
(
e
,
t
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
width
=
e
,
i
.
height
=
t
)}}}}).
call
(
this
,
s
(
321
))},
376
:
function
(
e
,
t
,
i
){},
377
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
378
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
378
:
function
(
e
,
t
,
i
){
"use strict"
;(
function
(
n
){
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
c
=
e
(
i
(
45
)),
o
=
e
(
i
(
279
)),
l
=
e
(
i
(
280
)),
h
=
e
(
i
(
80
));
function
e
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
var
r
=
"playerWrap"
,
f
=
"player"
,
v
=
null
,
y
=
null
,
g
=
0
,
m
=!
0
;
t
.
default
=
{
props
:{
lastTime
:{
type
:
Number
,
require
:
!
1
},
videoId
:{
type
:
String
,
require
:
!
1
},
width
:{
type
:
Number
,
require
:
!
1
},
height
:{
type
:
Number
,
require
:
!
1
},
username
:{
type
:
String
,
require
:
!
1
},
videoSrt
:{
type
:
String
,
require
:
!
1
},
autoPlay
:{
type
:
Boolean
,
require
:
!
1
,
default
:
!
0
},
chapterVideo
:{
type
:
Object
,
require
:
!
1
}},
data
:
function
(){
return
{
videoArr
:{}}},
mounted
:
function
(){
this
.
definWindowFun
()},
watch
:{
videoId
:{
handler
:
function
(
e
,
t
){
var
i
=
this
;
if
(
this
.
videoId
){
g
=
this
.
lastTime
||
0
;
var
n
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
c
.
default
.
chapterAction
.
getCurrentChapterDetailAliyun
(
this
.
videoId
).
then
(
function
(
e
){
i
.
videoArr
=
e
.
video
,
m
=
e
.
isLocked
;
var
t
=
i
.
getPlayer
();
y
&&
t
.
innerHTML
?
i
.
playNextVideo
(
f
,
i
.
videoId
,
i
.
autoPlay
,
i
.
videoSrt
,
i
.
username
,
i
.
width
,
i
.
height
):
i
.
renderPlayer
(
f
,
i
.
videoId
,
i
.
autoPlay
,
i
.
videoSrt
,
i
.
username
,
i
.
width
,
i
.
height
)}).
catch
(
function
(
e
){
i
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
n
.
close
()})}}}},
methods
:{
definWindowFun
:
function
(){
var
p
=
this
;
window
.
_playerStart
=
function
(){
g
=
v
.
getDuration
()
<
g
?
v
.
getDuration
():
g
,
/skip=1/
.
test
(
document
.
cookie
)?
v
.
seek
(
parseInt
(
Math
.
max
(
g
,
7
))):
g
&&
v
.
seek
(
parseInt
(
g
)),
m
||
p
.
chapterVideo
.
progress
.
mpt
+
20
<
v
.
getDuration
()
&&
(
n
(
".prism-progress"
).
css
({
"pointer-events"
:
"none"
}),
n
(
".rate-components"
).
hide
())},
window
.
_playerIng
=
function
(
e
){
var
t
=
v
.
getComponent
(
"QualityComponent"
).
definition
,
i
=
v
.
getComponent
(
"RateComponent"
).
html
.
innerText
;
switch
(
t
){
case
"FD"
:
t
=
"普通"
;
break
;
case
"LD"
:
t
=
"清晰"
;
break
;
case
"SD"
:
t
=
"高清"
}
i
&&
(
t
+=
" "
+
i
),
e
=
v
.
getCurrentTime
(),
n
(
"#"
+
r
).
trigger
(
"player.time"
,{
time
:
e
,
duration
:
v
.
getDuration
(),
quality
:
t
,
isSeek
:
!
1
})},
window
.
_playerSeekStart
=
function
(
e
){},
window
.
_playerSeek
=
function
(){
var
e
=
v
.
getComponent
(
"QualityComponent"
).
definition
,
t
=
v
.
getComponent
(
"RateComponent"
).
html
.
innerText
;
switch
(
e
){
case
"FD"
:
e
=
"普通"
;
break
;
case
"LD"
:
e
=
"清晰"
;
break
;
case
"SD"
:
e
=
"高清"
}
t
&&
(
e
+=
" "
+
t
),
n
(
"#"
+
r
).
trigger
(
"player.seek"
,{
time
:
v
.
getCurrentTime
(),
duration
:
v
.
getDuration
(),
quality
:
e
,
isSeek
:
!
0
})},
window
.
_playerFinish
=
function
(){
p
.
$emit
(
"handlePlayfinish"
,{
time
:
v
.
getDuration
()})},
window
.
_player403Stop
=
function
(
e
){
var
t
=
window
.
G
.
socket
,
i
=
""
,
n
=
window
.
G
.
VERSION
;
if
(
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
student_info
){
var
r
=
window
.
G
.
UserInfo
.
student_info
;
i
=
r
.
personal_name
+
":"
+
r
.
telephone
+
":"
+
r
.
email
+
":"
+
r
.
id
+
":"
+
window
.
G
.
UserInfo
.
auth_key
+
":"
+
(
window
.
G
.
pwd
||
""
)}
if
(
i
+=
":"
+
n
,
t
&&
1
===
t
.
readyState
){
var
a
=
e
.
paramData
||
{};
a
.
m3u8Url
=
p
.
videoArr
[
v
.
getComponent
(
"QualityComponent"
).
definition
||
"LD"
]
||
""
,
a
.
m3u8RequestId
=
window
.
G
.
m3u8RequestId
,
a
.
UA
=
window
.
navigator
.
userAgent
;
for
(
var
s
=
JSON
.
stringify
({
action
:
"aliVideoErr"
,
info
:
h
.
default
.
encode
(
i
),
auth
:
"aliVideoErr"
,
code
:
h
.
default
.
encode
(
e
.
paramData
.
error_code
),
err
:
h
.
default
.
encode
(
JSON
.
stringify
(
a
))}).
split
(
""
),
o
=
[],
l
=
0
;
l
<
s
.
length
;
l
++
)
o
[
l
]
=
s
[
l
].
charCodeAt
();
var
d
=
new
Uint8Array
(
o
);
t
.
send
(
d
.
buffer
)}
else
console
.
log
(
"not link build success, status: "
+
t
.
readyState
);
if
(
4006
===
e
.
paramData
.
error_code
)
p
.
$message
.
error
(
"视频播放错误,请刷新页面重试!"
);
else
if
(
4016
===
e
.
paramData
.
error_code
){
g
=
v
.
getCurrentTime
();
var
u
=
p
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
c
.
default
.
chapterAction
.
getCurrentChapterDetailAliyun
(
p
.
videoId
).
then
(
function
(
e
){
p
.
videoArr
=
e
.
video
,
m
=
e
.
isLocked
;
var
t
=
p
.
getPlayer
();
y
&&
t
.
innerHTML
?
p
.
playNextVideo
(
f
,
p
.
videoId
,
p
.
autoPlay
,
p
.
videoSrt
,
p
.
username
,
p
.
width
,
p
.
height
):
p
.
renderPlayer
(
f
,
p
.
videoId
,
p
.
autoPlay
,
p
.
videoSrt
,
p
.
username
,
p
.
width
,
p
.
height
)}).
catch
(
function
(
e
){
p
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
u
.
close
()})}
else
p
.
$message
.
error
(
"请将该错误,截图发给管理员。err: "
+
e
.
paramData
.
error_code
)}},
renderPlayer
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
i
=
void
0
===
i
?
1
:
i
-
0
,
y
=
new
o
.
default
({
id
:
e
,
source
:
JSON
.
stringify
(
this
.
videoArr
),
width
:
"100%"
,
height
:
"100%"
,
autoplay
:
!!
i
,
vodRetry
:
0
,
isLive
:
!
1
,
controlBarVisibility
:
"always"
,
definition
:
"FD,LD,SD"
,
defaultDefinition
:
"LD"
,
components
:[{
name
:
"QualityComponent"
,
type
:
l
.
default
.
QualityComponent
},{
name
:
"RateComponent"
,
type
:
l
.
default
.
RateComponent
}]},
function
(
r
){
v
=
r
,
console
.
log
(
"The player is created"
),
r
.
on
(
"sourceloaded"
,
function
(
e
){
var
t
=
e
.
paramData
,
i
=
t
.
desc
,
n
=
t
.
definition
;
r
.
getComponent
(
"QualityComponent"
).
setCurrentQuality
(
i
,
n
)}),
v
&&
(
v
.
on
(
"ready"
,
window
.
_playerStart
),
v
.
on
(
"timeupdate"
,
window
.
_playerIng
),
v
.
on
(
"startSeek"
,
window
.
_playerSeekStart
),
v
.
on
(
"completeSeek"
,
window
.
_playerSeek
),
v
.
on
(
"ended"
,
window
.
_playerFinish
),
v
.
on
(
"error"
,
window
.
_player403Stop
))}),
this
.
setSize
(
a
,
s
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
n
(
"#"
+
r
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
e
,
t
){
i
.
$emit
(
"handlePlayTime"
,
t
)})},
playNextVideo
:
function
(
e
,
t
,
i
,
n
,
r
,
a
,
s
){
var
o
=
this
;
this
.
changeVideoArr
(
t
,
function
(){
v
.
_urls
[
0
].
FD
=
o
.
videoArr
.
FD
,
v
.
_urls
[
1
].
LD
=
o
.
videoArr
.
LD
,
v
.
_urls
[
2
].
SD
=
o
.
videoArr
.
SD
;
var
e
=
v
.
getComponent
(
"QualityComponent"
).
definition
||
"LD"
;
y
.
loadByUrl
(
o
.
videoArr
[
e
])})},
changeVideoArr
:
function
(
e
,
t
){
this
.
$emit
(
"changeVideoArr"
,{
vid
:
e
,
callback
:
t
})},
getPlayer
:
function
(){
return
document
.
getElementById
(
f
)},
getTime
:
function
(){
return
v
?
v
.
getCurrentTime
():
0
},
setTimeTo
:
function
(
e
){
v
&&
v
.
seek
(
parseInt
(
e
+
2
))},
skipBegin
:
function
(){
v
&&
v
.
getCurrentTime
()
<
7
&&
v
.
seek
(
parseInt
(
7
))},
setSize
:
function
(
e
,
t
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
style
.
width
=
e
+
"px"
,
i
.
style
.
height
=
t
+
"px"
)}}}}).
call
(
this
,
i
(
321
))},
379
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
380
),
r
=
i
.
n
(
n
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
n
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
380
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
}),
t
.
default
=
{
props
:{
ppts
:{
type
:
Array
,
require
:
!
1
},
currentIndex
:{
type
:
Number
,
require
:
!
1
,
default
:
0
}},
data
:
function
(){
return
{
state
:{
index
:
this
.
currentIndex
,
sync
:
!
0
}}},
watch
:{
currentIndex
:{
handler
:
function
(){
this
.
state
.
sync
&&
(
this
.
state
.
index
=
this
.
currentIndex
)}}},
methods
:{
gotoIndex
:
function
(
e
){
this
.
state
.
index
=
e
},
getIndex
:
function
(
e
){
return
Math
.
min
(
this
.
ppts
.
length
-
1
,
Math
.
max
(
0
,
e
))},
prev
:
function
(
e
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
-
1
),
this
.
state
.
sync
=!
1
},
next
:
function
(
e
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
+
1
),
this
.
state
.
sync
=!
1
},
onToggleSync
:
function
(
e
){
this
.
state
.
sync
=!
this
.
state
.
sync
,
this
.
state
.
index
=
this
.
state
.
sync
?
this
.
currentIndex
:
this
.
state
.
index
},
onSetVideoTime
:
function
(
e
){
this
.
$emit
(
"onVideoSyncTime"
,
this
.
ppts
[
this
.
state
.
index
].
ppt_point
)},
setSize
:
function
(
e
,
t
){
this
.
$refs
.
wrap
.
style
.
width
=
e
+
"px"
,
this
.
$refs
.
wrap
.
style
.
height
=
t
+
"px"
,
this
.
$refs
.
preview
.
style
.
lineHeight
=
t
-
44
+
"px"
}}}},
433
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
480
),
r
=
i
(
374
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
i
(
434
);
var
s
=
i
(
1
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
"b94f6c04"
,
null
);
t
.
default
=
o
.
exports
},
434
:
function
(
e
,
t
,
i
){
"use strict"
;
var
n
=
i
(
376
);
i
.
n
(
n
).
a
},
435
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
479
),
r
=
i
(
377
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
1
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
436
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
n
=
i
(
478
),
r
=
i
(
379
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
s
=
i
(
1
),
o
=
Object
(
s
.
a
)(
r
.
default
,
n
.
a
,
n
.
b
,
!
1
,
null
,
null
,
null
);
t
.
default
=
o
.
exports
},
450
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
ref
:
"container"
,
staticClass
:
"play-content-video"
},[
i
(
"div"
,{
ref
:
"box"
,
staticClass
:
"play-center"
},[
e
.
chapterVideo
?[
i
(
"div"
,{
class
:[
"play-video"
,
e
.
state
.
pptBoxOnly
?
"play-video-hide"
:
""
,
e
.
state
.
calculatedSize
?
""
:
"play-video-init-center"
]},[
"3"
!==
e
.
videoType
?[
i
(
"e-video"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
e
.
chapterVideo
.
progress
&&
e
.
chapterVideo
.
progress
.
pt
||
0
),
width
:
e
.
videoFlash
.
videoWidth
,
height
:
e
.
videoFlash
.
videoHeight
,
username
:
e
.
videoFlash
.
username
,
videoId
:
e
.
chapterVideo
.
video_origionalID
,
videoSrt
:
e
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
e
.
chapterVideo
},
on
:{
handlePlayTime
:
e
.
onVideoTimeChange
,
handlePlayfinish
:
e
.
onVideoPlayFinish
}})]:[
i
(
"e-video-h5"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
e
.
chapterVideo
.
progress
&&
e
.
chapterVideo
.
progress
.
pt
||
0
),
width
:
e
.
videoFlash
.
videoWidth
,
height
:
e
.
videoFlash
.
videoHeight
,
username
:
e
.
videoFlash
.
username
,
videoId
:
e
.
chapterVideo
.
id
,
videoSrt
:
e
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
e
.
chapterVideo
,
videoType
:
e
.
videoType
},
on
:{
handlePlayTime
:
e
.
onVideoTimeChange
,
handlePlayfinish
:
e
.
onVideoPlayFinish
,
changeVideoArr
:
e
.
changeVideoArr
}})]],
2
),
e
.
_v
(
" "
),
i
(
"div"
,{
class
:[
"play-jiangyi"
,
e
.
state
.
pptBoxShow
?
""
:
"hide"
]},[
e
.
ppts
.
length
?[
i
(
"e-ppt"
,{
ref
:
"ppt"
,
attrs
:{
ppts
:
e
.
ppts
,
currentIndex
:
e
.
state
.
pptIndex
},
on
:{
onVideoSyncTime
:
e
.
setVideoTime
,
onPptOnly
:
e
.
togglePptBoxOnly
,
onClose
:
e
.
togglePptBox
}})]:
e
.
_e
()],
2
)]:[
i
(
"p"
,[
e
.
_v
(
"课程视频数据不存在"
)])]],
2
),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-footer"
},[
i
(
"div"
,{
staticClass
:
"fl"
}),
e
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"fr"
},[
e
.
chapterVideo
.
pdf
?[
i
(
"em"
,{
staticClass
:
"play-state play-state-ppt"
},[
i
(
"a"
,{
attrs
:{
href
:
e
.
chapterVideo
.
pdf
,
target
:
"_blank"
}},[
e
.
_v
(
"下载PPT"
)])])]:
e
.
_e
(),
e
.
_v
(
" "
),
e
.
ppts
.
length
?[
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-ppt"
+
(
e
.
state
.
pptBoxShow
?
"-active"
:
""
)],
on
:{
click
:
e
.
togglePptBox
}},[
e
.
_v
(
"同步显示PPT"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-check"
+
(
e
.
state
.
skipBegin
?
"-active"
:
""
)],
on
:{
click
:
e
.
toggleSkipBegin
}},[
e
.
_v
(
"始终跳过片头"
)])],
2
)])])}
var
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
478
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
var
e
=
this
,
t
=
this
,
i
=
t
.
$createElement
,
n
=
t
.
_self
.
_c
||
i
;
return
n
(
"div"
,{
ref
:
"wrap"
,
staticClass
:
"play-ppt"
},[
t
.
ppts
.
length
?[
n
(
"div"
,{
ref
:
"preview"
,
staticClass
:
"play-preview"
},[
t
.
ppts
[
t
.
state
.
index
]
&&
t
.
ppts
[
t
.
state
.
index
].
ppt_url
?[
n
(
"img"
,{
staticClass
:
"play-ppt-img"
,
staticStyle
:{
"vertical-align"
:
"middle"
},
attrs
:{
src
:
t
.
ppts
[
t
.
state
.
index
].
ppt_url
}})]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-controls cl"
},[
n
(
"div"
,{
staticStyle
:{
float
:
"left"
}},[
0
<=
t
.
state
.
index
?[
n
(
"a"
,{
staticStyle
:{
margin
:
"0 20px 0 0"
,
color
:
"#fff"
},
attrs
:{
href
:
"#"
},
on
:{
click
:
t
.
prev
}},[
n
(
"i"
,{
staticClass
:
"el-icon-arrow-left"
})])]:
t
.
_e
(),
t
.
_v
(
" "
),
t
.
state
.
index
+
1
<
t
.
ppts
.
length
?[
n
(
"a"
,{
attrs
:{
href
:
"#"
},
on
:{
click
:
t
.
next
}},[
n
(
"i"
,{
staticClass
:
"el-icon-arrow-right"
,
staticStyle
:{
color
:
"#fff"
}})])]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-page"
},[
n
(
"span"
,{
staticClass
:
"play-now"
},[
t
.
_v
(
t
.
_s
(
t
.
state
.
index
+
1
))]),
t
.
_v
(
"
\
n /
\
n "
),
n
(
"span"
,{
staticClass
:
"play-total"
},[
t
.
_v
(
t
.
_s
(
t
.
ppts
.
length
))]),
t
.
_v
(
"页
\
n "
)]),
t
.
_v
(
" "
),
n
(
"div"
,{
staticClass
:
"play-amazing"
},[
n
(
"i"
,{
class
:[
"el-icon-self-xuexiao"
,
t
.
state
.
sync
?
"active"
:
""
],
on
:{
click
:
t
.
onToggleSync
}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-quanping"
,
on
:{
click
:
function
(){
e
.
$emit
(
"onPptOnly"
)}}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-shipin"
,
on
:{
click
:
t
.
onSetVideoTime
}}),
t
.
_v
(
" "
),
n
(
"i"
,{
staticClass
:
"el-icon-self-guanbi"
,
on
:{
click
:
function
(){
e
.
$emit
(
"onClose"
)}}})])])]:
t
.
_e
()],
2
)}
var
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
479
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
this
.
$createElement
;
return
this
.
_self
.
_c
,
this
.
_m
(
0
)}
var
r
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
t
(
"div"
,{
attrs
:{
id
:
"player"
}})])}];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})},
480
:
function
(
e
,
t
,
i
){
"use strict"
;
function
n
(){
this
.
$createElement
;
return
this
.
_self
.
_c
,
this
.
_m
(
0
)}
var
r
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
t
(
"div"
,{
attrs
:{
id
:
"player"
}},[
t
(
"p"
,[
this
.
_v
(
"您还没有安装flash播放器,请 "
),
t
(
"a"
,{
attrs
:{
href
:
"http://www.adobe.com/go/getflash"
,
target
:
"_blank"
}},[
this
.
_v
(
"点击这里安装"
)])])])])}];
i
.
d
(
t
,
"a"
,
function
(){
return
n
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})}}]);
\ No newline at end of file
server/client-dist/resources/14.02a4bcce.js
0 → 100644
浏览文件 @
cc8387a2
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
14
],{
281
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
r
(
t
);
var
a
=
r
(
449
),
s
=
r
(
381
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
e
){
r
.
d
(
t
,
e
,
function
(){
return
s
[
e
]})}(
i
);
r
(
437
);
var
c
=
r
(
1
),
o
=
Object
(
c
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"180250d6"
,
null
);
t
.
default
=
o
.
exports
},
381
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
r
(
t
);
var
a
=
r
(
382
),
s
=
r
.
n
(
a
);
for
(
var
i
in
a
)
"default"
!==
i
&&
function
(
e
){
r
.
d
(
t
,
e
,
function
(){
return
a
[
e
]})}(
i
);
t
.
default
=
s
.
a
},
382
:
function
(
e
,
t
,
r
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
,
s
=
r
(
45
),
h
=
(
a
=
s
)
&&
a
.
__esModule
?
a
:{
default
:
a
};
t
.
default
=
{
props
:{
chapterId
:{
type
:
String
,
require
:
!
1
},
chapterName
:{
type
:
String
,
require
:
!
1
},
chapterExam
:{
type
:
Object
,
require
:
!
1
},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
exam
:{},
param
:{
course_id
:
""
,
chapter_id
:
""
,
work_id
:
""
,
semester_id
:
""
,
work_contents
:
""
,
duration
:
0
,
score
:
0
},
startTime
:
""
,
recordAll
:[],
setTime
:
null
,
radioCur
:
""
,
checkCur
:
""
,
courseExam
:
!
1
}},
mounted
:
function
(){
this
.
loadAjax
()},
methods
:{
arrRandomSort
:
function
(
e
){
var
t
=
null
;
t
=
e
.
shift
(),
e
.
push
(
t
),
t
=
e
.
shift
(),
e
.
push
(
t
),
t
=
e
.
shift
(),
e
.
push
(
t
)},
unArrRandomSort
:
function
(
e
){
var
t
=
null
;
t
=
e
.
pop
(),
e
.
unshift
(
t
),
t
=
e
.
pop
(),
e
.
unshift
(
t
),
t
=
e
.
pop
(),
e
.
unshift
(
t
)},
updateData
:
function
(
l
){
return
this
.
param
=
{
course_id
:
l
.
course_id
,
chapter_id
:
l
.
chapter_id
,
work_id
:
l
.
work_id
,
semester_id
:
l
.
semester_id
,
work_contents
:
""
,
duration
:
0
,
score
:
0
},
this
.
startTime
=
(
new
Date
).
getTime
(),
this
.
arrRandomSort
(
l
.
questions
),{
id
:
l
.
id
,
semester_id
:
l
.
semester_id
,
title
:
l
.
work_title
,
score
:
l
.
score
||
(
0
===
l
.
score
?
"0"
:
""
),
work_contents
:
l
.
work_contents
||
""
,
group
:
l
.
questions
.
map
(
function
(
e
,
t
){
var
r
=
""
,
a
=
""
,
s
=
0
,
i
=
JSON
.
parse
(
e
.
question_options
);
i
.
forEach
(
function
(
e
,
t
){
if
(
e
.
checked
)
switch
(
t
){
case
0
:
r
+=
"A,"
;
break
;
case
1
:
r
+=
"B,"
;
break
;
case
2
:
r
+=
"C,"
;
break
;
case
3
:
r
+=
"D,"
;
break
;
case
4
:
r
+=
"E,"
;
break
;
case
5
:
r
+=
"F,"
;
break
;
case
6
:
r
+=
"G,"
;
break
;
case
7
:
r
+=
"H,"
;
break
;
case
8
:
r
+=
"I,"
;
break
;
case
9
:
r
+=
"J,"
}});
var
c
=
""
;
if
(
l
.
work_contents
){
for
(
var
o
=
JSON
.
parse
(
l
.
work_contents
),
n
=
0
;
n
<
o
.
length
;
n
++
)
if
(
o
[
n
].
question_id
===
e
.
id
){
i
=
o
[
n
].
options
,
s
=
o
[
n
].
is_correct
;
break
}
if
(
1
===
e
.
question_type
)
for
(
var
u
=
0
;
u
<
i
.
length
;
u
++
)
if
(
i
[
u
].
selected
){
switch
(
c
=
u
){
case
0
:
a
=
"A,"
;
break
;
case
1
:
a
=
"B,"
;
break
;
case
2
:
a
=
"C,"
;
break
;
case
3
:
a
=
"D,"
;
break
;
case
4
:
a
=
"E,"
;
break
;
case
5
:
a
=
"F,"
;
break
;
case
6
:
a
=
"G,"
;
break
;
case
7
:
a
=
"H,"
;
break
;
case
8
:
a
=
"I,"
;
break
;
case
9
:
a
=
"J,"
}
break
}
if
(
2
===
e
.
question_type
)
for
(
var
d
=
0
;
d
<
i
.
length
;
d
++
)
if
(
i
[
d
].
selected
)
switch
(
d
){
case
0
:
a
+=
"A,"
;
break
;
case
1
:
a
+=
"B,"
;
break
;
case
2
:
a
+=
"C,"
;
break
;
case
3
:
a
+=
"D,"
;
break
;
case
4
:
a
+=
"E,"
;
break
;
case
5
:
a
+=
"F,"
;
break
;
case
6
:
a
+=
"G,"
;
break
;
case
7
:
a
+=
"H,"
;
break
;
case
8
:
a
+=
"I,"
;
break
;
case
9
:
a
+=
"J,"
}}
return
{
id
:
e
.
id
,
type
:
e
.
question_type
,
title
:
e
.
question_content
,
arr
:
i
,
cur
:
l
.
work_contents
&&
r
.
substr
(
0
,
r
.
length
-
1
)
||
""
,
arrSel
:[],
sel
:
c
,
stuAnswer
:
a
.
substr
(
0
,
a
.
length
-
1
),
is_correct
:
s
}})}},
updateData1
:
function
(
e
){
this
.
exam
.
id
=
e
.
id
,
this
.
exam
.
semester_id
=
e
.
semester_id
,
this
.
exam
.
title
=
e
.
work_title
,
this
.
exam
.
score
=
e
.
score
||
"0"
,
this
.
exam
.
work_contents
=
e
.
work_contents
||
""
,
this
.
arrRandomSort
(
e
.
questions
);
for
(
var
t
=
0
;
t
<
this
.
exam
.
group
.
length
;
t
++
){
var
r
=
""
,
a
=
""
,
s
=
0
,
i
=
e
.
questions
[
t
],
c
=
JSON
.
parse
(
i
.
question_options
);
c
.
forEach
(
function
(
e
,
t
){
if
(
e
.
checked
)
switch
(
t
){
case
0
:
r
+=
"A,"
;
break
;
case
1
:
r
+=
"B,"
;
break
;
case
2
:
r
+=
"C,"
;
break
;
case
3
:
r
+=
"D,"
;
break
;
case
4
:
r
+=
"E,"
;
break
;
case
5
:
r
+=
"F,"
;
break
;
case
6
:
r
+=
"G,"
;
break
;
case
7
:
r
+=
"H,"
;
break
;
case
8
:
r
+=
"I,"
;
break
;
case
9
:
r
+=
"J,"
}});
var
o
=
""
;
if
(
e
.
work_contents
){
for
(
var
n
=
JSON
.
parse
(
e
.
work_contents
),
u
=
0
;
u
<
n
.
length
;
u
++
)
if
(
n
[
u
].
question_id
===
i
.
id
){
c
=
n
[
u
].
options
,
s
=
n
[
u
].
is_correct
;
break
}
if
(
1
===
i
.
question_type
)
for
(
var
d
=
0
;
d
<
c
.
length
;
d
++
)
if
(
c
[
d
].
selected
){
switch
(
o
=
d
){
case
0
:
a
=
"A,"
;
break
;
case
1
:
a
=
"B,"
;
break
;
case
2
:
a
=
"C,"
;
break
;
case
3
:
a
=
"D,"
;
break
;
case
4
:
a
=
"E,"
;
break
;
case
5
:
a
=
"F,"
;
break
;
case
6
:
a
=
"G,"
;
break
;
case
7
:
a
=
"H,"
;
break
;
case
8
:
a
=
"I,"
;
break
;
case
9
:
a
=
"J,"
}
break
}
if
(
2
===
i
.
question_type
)
for
(
var
l
=
0
;
l
<
c
.
length
;
l
++
)
if
(
c
[
l
].
selected
)
switch
(
l
){
case
0
:
a
+=
"A,"
;
break
;
case
1
:
a
+=
"B,"
;
break
;
case
2
:
a
+=
"C,"
;
break
;
case
3
:
a
+=
"D,"
;
break
;
case
4
:
a
+=
"E,"
;
break
;
case
5
:
a
+=
"F,"
;
break
;
case
6
:
a
+=
"G,"
;
break
;
case
7
:
a
+=
"H,"
;
break
;
case
8
:
a
+=
"I,"
;
break
;
case
9
:
a
+=
"J,"
}}
this
.
exam
.
group
[
t
].
id
=
i
.
id
,
this
.
exam
.
group
[
t
].
type
=
i
.
question_type
,
this
.
exam
.
group
[
t
].
title
=
i
.
question_content
,
this
.
exam
.
group
[
t
].
cur
=
e
.
work_contents
&&
r
.
substr
(
0
,
r
.
length
-
1
)
||
""
,
this
.
exam
.
group
[
t
].
arrSel
=
[],
this
.
exam
.
group
[
t
].
sel
=
o
,
this
.
exam
.
group
[
t
].
stuAnswer
=
a
.
substr
(
0
,
a
.
length
-
1
),
this
.
exam
.
group
[
t
].
is_correct
=
s
;
for
(
var
h
=
this
.
exam
.
group
[
t
].
arr
,
p
=
0
;
p
<
h
.
length
;
p
++
)
h
[
p
].
selected
=
c
[
p
].
selected
,
h
[
p
].
id
=
h
[
p
].
id
+
"1"
}},
loadAjax
:
function
(){
var
r
=
this
,
t
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
h
.
default
.
chapterAction
.
getChapterList
(
this
.
cid
,
this
.
sid
,
this
.
id
).
then
(
function
(
e
){
e
.
curJson
&&
e
.
curJson
.
id
===
r
.
id
&&
e
.
curJson
.
homework
.
courseExam
&&
(
r
.
courseExam
=!
0
),(
r
.
courseExam
?
h
.
default
.
chapterAction
.
getExamDetailAfterCourse
:
h
.
default
.
chapterAction
.
getExamDetail
)(
r
.
sid
,
r
.
cid
,
r
.
id
).
then
(
function
(
e
){
var
t
=
e
.
homework
;
t
?(
t
.
score
=
e
.
score
,
t
.
work_contents
=
e
.
work_contents
,
r
.
exam
=
r
.
updateData
(
t
)):
r
.
exam
=
{}}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
r
.
setTime
=
setInterval
(
function
(){
r
.
chapterExam
.
work_id
&&
r
.
chapterExam
.
work_id
===
r
.
id
&&
(
r
.
exam
.
id
||
(
r
.
exam
=
r
.
updateData
(
r
.
chapterExam
),
document
.
querySelector
(
".play-paper"
).
scrollTop
=
0
),
clearInterval
(
r
.
setTime
))},
50
),
t
.
close
()})}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
t
.
close
()})},
radioClick
:
function
(
e
){
this
.
radioCur
=
e
.
currentTarget
.
dataset
.
index
},
radioChange
:
function
(
e
){
for
(
var
t
=
this
.
radioCur
,
r
=
this
.
exam
.
group
[
t
].
arr
,
a
=
e
,
s
=
0
;
s
<
r
.
length
;
s
++
)
r
[
s
].
selected
=
0
;
r
[
a
].
selected
=
1
,
this
.
exam
.
group
[
t
].
arr
=
r
,
this
.
recordAll
.
push
(
t
)},
checkboxClick
:
function
(
e
){
this
.
checkboxCur
=
e
.
currentTarget
.
dataset
.
index
},
checkboxChange
:
function
(
e
){
for
(
var
r
=
this
.
checkboxCur
,
t
=
this
.
exam
.
group
[
r
].
arr
,
a
=
e
,
s
=
0
;
s
<
t
.
length
;
s
++
)
t
[
s
].
selected
=
0
;
for
(
var
i
=
0
;
i
<
a
.
length
;
i
++
)
t
[
a
[
i
]].
selected
=
1
;
this
.
exam
.
group
[
r
].
arr
=
t
,
a
.
length
?
this
.
recordAll
.
push
(
r
):
this
.
recordAll
=
this
.
recordAll
.
filter
(
function
(
e
,
t
){
return
e
!==
r
})},
submitExam
:
function
(
e
){
var
r
=
this
;
if
(
e
.
currentTarget
.
dataset
.
submit
)
this
.
$message
.
error
(
"已做过,不能再提交"
);
else
{
this
.
param
.
duration
=
Math
.
floor
(((
new
Date
).
getTime
()
-
this
.
startTime
)
/
1
e3
);
for
(
var
t
=
this
.
exam
.
group
,
a
=
t
.
length
,
s
=
[],
i
=
0
,
c
=
0
,
o
=
0
;
o
<
a
;
o
++
){
for
(
var
n
=
0
;
n
<
this
.
recordAll
.
length
&&
this
.
recordAll
[
n
]
!==
o
+
""
;
n
++
);
if
(
n
===
this
.
recordAll
.
length
)
return
void
this
.
$message
.
error
(
"还有题目未做,不能提交"
)}
for
(
var
u
=
0
;
u
<
t
.
length
;
u
++
){
if
(
c
=
0
,
1
===
t
[
u
].
type
&&
t
[
u
].
arr
.
forEach
(
function
(
e
,
t
){
e
.
checked
&&
e
.
selected
&&
(
i
+=
c
=
1
)}),
2
===
t
[
u
].
type
){
var
d
=!
0
;
t
[
u
].
arr
.
forEach
(
function
(
e
,
t
){
e
.
checked
!==!!
e
.
selected
&&
(
d
=!
1
)}),
d
&&
(
i
+=
c
=
1
)}
s
.
push
({
question_id
:
t
[
u
].
id
,
is_correct
:
c
,
options
:
t
[
u
].
arr
})}
this
.
unArrRandomSort
(
s
),
this
.
param
.
work_contents
=
JSON
.
stringify
(
s
),
this
.
param
.
score
=
(
i
/
a
*
100
).
toFixed
(
1
);
var
l
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});(
this
.
courseExam
?
h
.
default
.
chapterAction
.
submitExamDetailAfterCourse
:
h
.
default
.
chapterAction
.
submitExamDetail
)(
this
.
param
).
then
(
function
(
e
){
if
(
e
.
status
){(
r
.
courseExam
?
h
.
default
.
chapterAction
.
getExamDetailAfterCourse
:
h
.
default
.
chapterAction
.
getExamDetail
)(
r
.
sid
,
r
.
cid
,
r
.
id
).
then
(
function
(
e
){
var
t
=
e
.
homework
;
t
&&
(
t
.
score
=
e
.
score
,
t
.
work_contents
=
e
.
work_contents
,
r
.
updateData1
(
t
))}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)})}
else
r
.
$message
.
error
(
e
.
data
.
error
)}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
l
.
close
()})}},
_SubmitMouseLeftDown
:
function
(){
var
t
=
this
.
repeatExam
.
bind
(
this
,
!
1
);
document
.
addEventListener
(
"keydown"
,
t
,
!
1
);
document
.
addEventListener
(
"mouseup"
,
function
e
(){
document
.
removeEventListener
(
"keydown"
,
t
),
document
.
removeEventListener
(
"mouseup"
,
e
)},
!
1
)},
repeatExam
:
function
(
e
,
t
){
var
r
=
this
,
a
=
t
;
if
(
70
===
e
.
keyCode
&&
(
a
=!
0
),
a
){
var
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});(
this
.
courseExam
?
h
.
default
.
chapterAction
.
getExamDetailAfterCourse
:
h
.
default
.
chapterAction
.
getExamDetail
)(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
function
(
e
){
r
.
exam
=
{}}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
r
.
setTime
=
setInterval
(
function
(){
r
.
chapterExam
.
work_id
&&
r
.
chapterExam
.
work_id
===
r
.
id
&&
(
r
.
exam
.
id
||
(
r
.
exam
=
r
.
updateData
(
r
.
chapterExam
),
document
.
querySelector
(
".play-paper"
).
scrollTop
=
0
),
clearInterval
(
r
.
setTime
))},
50
),
s
.
close
()})}}},
watch
:{
id
:{
handler
:
function
(){
this
.
loadAjax
()}}}}},
383
:
function
(
e
,
t
,
r
){},
437
:
function
(
e
,
t
,
r
){
"use strict"
;
var
a
=
r
(
383
);
r
.
n
(
a
).
a
},
449
:
function
(
e
,
t
,
r
){
"use strict"
;
function
a
(){
var
a
=
this
,
e
=
a
.
$createElement
,
s
=
a
.
_self
.
_c
||
e
;
return
s
(
"div"
,{
staticClass
:
"play-paper"
},[
s
(
"div"
,{
staticClass
:
"play-paper-body"
},[
s
(
"div"
,{
staticClass
:
"play-paper-title"
},[
s
(
"div"
,[
s
(
"h3"
,[
a
.
_v
(
a
.
_s
(
a
.
chapterName
))])])]),
a
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-paper-content play-chapter-exam"
},[
this
.
exam
.
id
?[
s
(
"div"
,{
staticClass
:
"exam"
},[
s
(
"div"
,{
staticStyle
:{
"text-align"
:
"center"
}},[
s
(
"div"
,{
staticClass
:
"topic"
},[
a
.
exam
.
score
?[
s
(
"div"
,{
staticClass
:
"cur"
},[
a
.
_v
(
"正确率:"
+
a
.
_s
(
a
.
exam
.
score
)
+
"%"
)])]:
a
.
_e
()],
2
)]),
a
.
_v
(
" "
),
s
(
"div"
,{},[
a
.
_l
(
a
.
exam
.
group
,
function
(
r
,
e
){
return
[
1
==
r
.
type
?[
s
(
"div"
,{
key
:
e
,
staticClass
:
"q-group"
,
attrs
:{
"data-index"
:
e
},
on
:{
click
:
a
.
radioClick
}},[
s
(
"div"
,{
staticClass
:
"q-num"
},[
a
.
_v
(
a
.
_s
(
e
+
1
)
+
"."
)]),
s
(
"div"
,{
staticClass
:
"q-title"
,
domProps
:{
innerHTML
:
a
.
_s
(
r
.
title
)}}),
s
(
"div"
,{
staticClass
:
"q-type"
},[
a
.
_v
(
"(单选题)"
)]),
a
.
_v
(
" "
),
s
(
"el-radio-group"
,{
staticClass
:
"radio-group"
,
on
:{
change
:
a
.
radioChange
},
model
:{
value
:
r
.
sel
,
callback
:
function
(
e
){
a
.
$set
(
r
,
"sel"
,
e
)},
expression
:
"item.sel"
}},[
a
.
_l
(
r
.
arr
,
function
(
e
,
t
){
return
[
s
(
"el-radio"
,{
key
:
t
,
class
:[
"radio"
,
r
.
cur
&&
e
.
checked
&&
"success"
,
r
.
cur
&&!
e
.
checked
&&
e
.
selected
&&
"error"
],
attrs
:{
label
:
t
,
disabled
:
!!
r
.
cur
}},[
a
.
_v
(
a
.
_s
(
0
==
t
?
"A"
:
1
==
t
?
"B"
:
2
==
t
?
"C"
:
3
==
t
?
"D"
:
4
==
t
?
"E"
:
5
==
t
?
"F"
:
6
==
t
?
"G"
:
7
==
t
?
"H"
:
8
==
t
?
"I"
:
9
==
t
?
"J"
:
"K"
)
+
". "
+
a
.
_s
(
e
.
option
))])]})],
2
),
a
.
_v
(
" "
),
r
.
cur
?[
s
(
"div"
,{
staticClass
:
"result"
},[
a
.
_v
(
"学生答案:"
),
s
(
"div"
,{
class
:[
"stu"
,
r
.
is_correct
?
"success"
:
"error"
]},[
a
.
_v
(
a
.
_s
(
r
.
stuAnswer
))]),
a
.
_v
(
" 正确答案:"
+
a
.
_s
(
r
.
cur
))])]:
a
.
_e
()],
2
)]:
a
.
_e
(),
a
.
_v
(
" "
),
2
==
r
.
type
?[
s
(
"div"
,{
key
:
e
,
staticClass
:
"q-group"
,
attrs
:{
"data-index"
:
e
},
on
:{
click
:
a
.
checkboxClick
}},[
s
(
"div"
,{
staticClass
:
"q-num"
},[
a
.
_v
(
a
.
_s
(
e
+
1
)
+
"."
)]),
s
(
"div"
,{
staticClass
:
"q-title"
,
domProps
:{
innerHTML
:
a
.
_s
(
r
.
title
)}}),
s
(
"div"
,{
staticClass
:
"q-type"
},[
a
.
_v
(
"(多选题)"
)]),
a
.
_v
(
" "
),
s
(
"el-checkbox-group"
,{
staticClass
:
"checkbox-group"
,
on
:{
change
:
a
.
checkboxChange
},
model
:{
value
:
r
.
arrSel
,
callback
:
function
(
e
){
a
.
$set
(
r
,
"arrSel"
,
e
)},
expression
:
"item.arrSel"
}},[
a
.
_l
(
r
.
arr
,
function
(
e
,
t
){
return
[
s
(
"el-checkbox"
,{
key
:
e
.
id
,
class
:[
"checkbox"
,
r
.
cur
&&
e
.
checked
&&
"success"
,
r
.
cur
&&!
e
.
checked
&&
e
.
selected
&&
"error"
],
attrs
:{
label
:
t
,
checked
:
!!
e
.
selected
,
disabled
:
!!
r
.
cur
}},[
a
.
_v
(
a
.
_s
(
0
==
t
?
"A"
:
1
==
t
?
"B"
:
2
==
t
?
"C"
:
3
==
t
?
"D"
:
4
==
t
?
"E"
:
5
==
t
?
"F"
:
6
==
t
?
"G"
:
7
==
t
?
"H"
:
8
==
t
?
"I"
:
9
==
t
?
"J"
:
"K"
)
+
". "
+
a
.
_s
(
e
.
option
))])]})],
2
),
a
.
_v
(
" "
),
r
.
cur
?[
s
(
"div"
,{
staticClass
:
"result"
},[
a
.
_v
(
"学生答案:"
),
s
(
"div"
,{
class
:[
"stu"
,
r
.
is_correct
?
"success"
:
"error"
]},[
a
.
_v
(
a
.
_s
(
r
.
stuAnswer
))]),
a
.
_v
(
" 正确答案:"
+
a
.
_s
(
r
.
cur
))])]:
a
.
_e
()],
2
)]:
a
.
_e
()]})],
2
),
a
.
_v
(
" "
),
s
(
"div"
,{
class
:[
"btn"
,
a
.
exam
.
work_contents
&&
"on"
],
attrs
:{
"data-submit"
:
!!
a
.
exam
.
work_contents
},
on
:{
click
:
a
.
submitExam
,
mousedown
:
function
(
e
){
return
a
.
_SubmitMouseLeftDown
()}}},[
a
.
_v
(
a
.
_s
(
a
.
exam
.
work_contents
?
"已提交"
:
"提交"
))]),
a
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"care"
},[
a
.
_v
(
"(注意:测试只有一次提交机会)"
)])])]:
a
.
_e
()],
2
)])])}
var
s
=
[];
r
.
d
(
t
,
"a"
,
function
(){
return
a
}),
r
.
d
(
t
,
"b"
,
function
(){
return
s
})}}]);
\ No newline at end of file
server/client-dist/resources/14.
96e432718f4
5.css
→
server/client-dist/resources/14.
2e113f3cf71
5.css
浏览文件 @
cc8387a2
.play
.exam
[
data-v-9cab85c2
]
{
padding
:
0
}
.play
.exam
.topic
[
data-v-9cab85c2
]
{
display
:
inline-block
;
margin-bottom
:
.1rem
}
.play
.exam
.topic
.tit
[
data-v-9cab85c2
]
{
margin
:
0
auto
;
padding
:
0
.2rem
;
text-align
:
center
;
font-size
:
.24rem
;
color
:
#313131
;
background
:
#fff
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.play
.exam
.topic
.cur
[
data-v-9cab85c2
]
{
text-align
:
center
;
font-size
:
.18rem
;
color
:
#313131
;
line-height
:
.4rem
}
.play
.exam
.q-group
[
data-v-9cab85c2
]
{
padding
:
.1rem
;
border-bottom
:
1px
solid
hsla
(
0
,
0%
,
78.8%
,
.48
);
overflow
:
hidden
}
.play
.exam
.q-group
.q-num
[
data-v-9cab85c2
]
{
float
:
left
;
margin-right
:
.1rem
;
font-size
:
.16rem
;
color
:
#676a6c
}
.play
.exam
.q-group
.q-title
[
data-v-9cab85c2
]
{
float
:
left
;
width
:
90%
;
font-size
:
.16rem
;
color
:
#676a6c
;
text-align
:
justify
}
.play
.exam
.q-group
.q-type
[
data-v-9cab85c2
]
{
float
:
right
;
font-size
:
.16rem
;
color
:
#676a6c
}
.play
.exam
.q-group
.radio-group
[
data-v-9cab85c2
]
{
float
:
left
;
margin-top
:
.1rem
;
width
:
100%
}
.play
.exam
.q-group
.radio-group
.radio
[
data-v-9cab85c2
]
{
display
:
block
;
font-size
:
.18rem
;
color
:
#3f3b3a
;
line-height
:
.3rem
;
margin-bottom
:
.1rem
}
.play
.exam
.q-group
.checkbox-group
[
data-v-9cab85c2
]
{
float
:
left
;
margin-top
:
.1rem
;
width
:
100%
}
.play
.exam
.q-group
.checkbox-group
.checkbox
[
data-v-9cab85c2
]
{
display
:
block
;
font-size
:
.18rem
;
color
:
#3f3b3a
;
line-height
:
.3rem
;
margin-bottom
:
.1rem
}
.play
.exam
.q-group
.checkbox-group
.checkbox.error
[
data-v-9cab85c2
],
.play
.exam
.q-group
.radio-group
.radio.error
[
data-v-9cab85c2
]
{
color
:
#d80000
}
.play
.exam
.q-group
.checkbox-group
.checkbox.success
[
data-v-9cab85c2
],
.play
.exam
.q-group
.radio-group
.radio.success
[
data-v-9cab85c2
]
{
color
:
#090
}
.play
.exam
.q-group
.result
[
data-v-9cab85c2
]
{
float
:
right
;
font-size
:
.18rem
;
color
:
#3f3b3a
;
margin-right
:
0
}
.play
.exam
.q-group
.result
.stu
[
data-v-9cab85c2
]
{
display
:
inline-block
}
.play
.exam
.q-group
.result
.stu.error
[
data-v-9cab85c2
]
{
color
:
#d80000
}
.play
.exam
.q-group
.result
.stu.success
[
data-v-9cab85c2
]
{
color
:
#090
}
.play
.exam
.q-group
[
data-v-9cab85c2
]
:last-child
{
border-bottom
:
none
}
.play
.exam
.btn
[
data-v-9cab85c2
]
{
margin
:
.2rem
auto
;
width
:
60%
;
height
:
.5rem
;
line-height
:
.5rem
;
font-size
:
.16rem
;
text-align
:
center
;
font-weight
:
300
;
color
:
#fff
;
-webkit-border-radius
:
.1rem
;
-moz-border-radius
:
.1rem
;
border-radius
:
.1rem
;
background
:
#b49441
;
cursor
:
pointer
}
.play
.exam
.btn.on
[
data-v-9cab85c2
]
{
opacity
:
.5
}
.play
.exam
.care
[
data-v-9cab85c2
]
{
font-size
:
.16rem
;
color
:
#d80000
;
text-align
:
center
}
\ No newline at end of file
.play
.exam
[
data-v-180250d6
]
{
padding
:
0
}
.play
.exam
.topic
[
data-v-180250d6
]
{
display
:
inline-block
;
margin-bottom
:
.1rem
}
.play
.exam
.topic
.tit
[
data-v-180250d6
]
{
margin
:
0
auto
;
padding
:
0
.2rem
;
text-align
:
center
;
font-size
:
.24rem
;
color
:
#313131
;
background
:
#fff
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.play
.exam
.topic
.cur
[
data-v-180250d6
]
{
text-align
:
center
;
font-size
:
.18rem
;
color
:
#313131
;
line-height
:
.4rem
}
.play
.exam
.q-group
[
data-v-180250d6
]
{
padding
:
.1rem
;
border-bottom
:
1px
solid
hsla
(
0
,
0%
,
78.8%
,
.48
);
overflow
:
hidden
}
.play
.exam
.q-group
.q-num
[
data-v-180250d6
]
{
float
:
left
;
margin-right
:
.1rem
;
font-size
:
.16rem
;
color
:
#676a6c
}
.play
.exam
.q-group
.q-title
[
data-v-180250d6
]
{
float
:
left
;
width
:
90%
;
font-size
:
.16rem
;
color
:
#676a6c
;
text-align
:
justify
}
.play
.exam
.q-group
.q-type
[
data-v-180250d6
]
{
float
:
right
;
font-size
:
.16rem
;
color
:
#676a6c
}
.play
.exam
.q-group
.radio-group
[
data-v-180250d6
]
{
float
:
left
;
margin-top
:
.1rem
;
width
:
100%
}
.play
.exam
.q-group
.radio-group
.radio
[
data-v-180250d6
]
{
display
:
block
;
font-size
:
.18rem
;
color
:
#3f3b3a
;
line-height
:
.3rem
;
margin-bottom
:
.1rem
}
.play
.exam
.q-group
.checkbox-group
[
data-v-180250d6
]
{
float
:
left
;
margin-top
:
.1rem
;
width
:
100%
}
.play
.exam
.q-group
.checkbox-group
.checkbox
[
data-v-180250d6
]
{
display
:
block
;
font-size
:
.18rem
;
color
:
#3f3b3a
;
line-height
:
.3rem
;
margin-bottom
:
.1rem
}
.play
.exam
.q-group
.checkbox-group
.checkbox.error
[
data-v-180250d6
],
.play
.exam
.q-group
.radio-group
.radio.error
[
data-v-180250d6
]
{
color
:
#d80000
}
.play
.exam
.q-group
.checkbox-group
.checkbox.success
[
data-v-180250d6
],
.play
.exam
.q-group
.radio-group
.radio.success
[
data-v-180250d6
]
{
color
:
#090
}
.play
.exam
.q-group
.result
[
data-v-180250d6
]
{
float
:
right
;
font-size
:
.18rem
;
color
:
#3f3b3a
;
margin-right
:
0
}
.play
.exam
.q-group
.result
.stu
[
data-v-180250d6
]
{
display
:
inline-block
}
.play
.exam
.q-group
.result
.stu.error
[
data-v-180250d6
]
{
color
:
#d80000
}
.play
.exam
.q-group
.result
.stu.success
[
data-v-180250d6
]
{
color
:
#090
}
.play
.exam
.q-group
[
data-v-180250d6
]
:last-child
{
border-bottom
:
none
}
.play
.exam
.btn
[
data-v-180250d6
]
{
margin
:
.2rem
auto
;
width
:
60%
;
height
:
.5rem
;
line-height
:
.5rem
;
font-size
:
.16rem
;
text-align
:
center
;
font-weight
:
300
;
color
:
#fff
;
-webkit-border-radius
:
.1rem
;
-moz-border-radius
:
.1rem
;
border-radius
:
.1rem
;
background
:
#b49441
;
cursor
:
pointer
}
.play
.exam
.btn.on
[
data-v-180250d6
]
{
opacity
:
.5
}
.play
.exam
.care
[
data-v-180250d6
]
{
font-size
:
.16rem
;
color
:
#d80000
;
text-align
:
center
}
\ No newline at end of file
server/client-dist/resources/14.71455ff6.js
deleted
100644 → 0
浏览文件 @
76067d6a
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
14
],{
281
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
r
(
t
);
var
a
=
r
(
449
),
s
=
r
(
381
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
e
){
r
.
d
(
t
,
e
,
function
(){
return
s
[
e
]})}(
i
);
r
(
437
);
var
c
=
r
(
1
),
o
=
Object
(
c
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"9cab85c2"
,
null
);
t
.
default
=
o
.
exports
},
381
:
function
(
e
,
t
,
r
){
"use strict"
;
r
.
r
(
t
);
var
a
=
r
(
382
),
s
=
r
.
n
(
a
);
for
(
var
i
in
a
)
"default"
!==
i
&&
function
(
e
){
r
.
d
(
t
,
e
,
function
(){
return
a
[
e
]})}(
i
);
t
.
default
=
s
.
a
},
382
:
function
(
e
,
t
,
r
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
,
s
=
r
(
45
),
h
=
(
a
=
s
)
&&
a
.
__esModule
?
a
:{
default
:
a
};
t
.
default
=
{
props
:{
chapterId
:{
type
:
String
,
require
:
!
1
},
chapterName
:{
type
:
String
,
require
:
!
1
},
chapterExam
:{
type
:
Object
,
require
:
!
1
},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
exam
:{},
param
:{
course_id
:
""
,
chapter_id
:
""
,
work_id
:
""
,
semester_id
:
""
,
work_contents
:
""
,
duration
:
0
,
score
:
0
},
startTime
:
""
,
recordAll
:[],
setTime
:
null
,
radioCur
:
""
,
checkCur
:
""
}},
mounted
:
function
(){
this
.
loadAjax
()},
methods
:{
arrRandomSort
:
function
(
e
){
var
t
=
null
;
t
=
e
.
shift
(),
e
.
push
(
t
),
t
=
e
.
shift
(),
e
.
push
(
t
),
t
=
e
.
shift
(),
e
.
push
(
t
)},
unArrRandomSort
:
function
(
e
){
var
t
=
null
;
t
=
e
.
pop
(),
e
.
unshift
(
t
),
t
=
e
.
pop
(),
e
.
unshift
(
t
),
t
=
e
.
pop
(),
e
.
unshift
(
t
)},
updateData
:
function
(
l
){
return
this
.
param
=
{
course_id
:
l
.
course_id
,
chapter_id
:
l
.
chapter_id
,
work_id
:
l
.
work_id
,
semester_id
:
l
.
semester_id
,
work_contents
:
""
,
duration
:
0
,
score
:
0
},
this
.
startTime
=
(
new
Date
).
getTime
(),
this
.
arrRandomSort
(
l
.
questions
),{
id
:
l
.
id
,
semester_id
:
l
.
semester_id
,
title
:
l
.
work_title
,
score
:
l
.
score
||
(
0
===
l
.
score
?
"0"
:
""
),
work_contents
:
l
.
work_contents
||
""
,
group
:
l
.
questions
.
map
(
function
(
e
,
t
){
var
r
=
""
,
a
=
""
,
s
=
0
,
i
=
JSON
.
parse
(
e
.
question_options
);
i
.
forEach
(
function
(
e
,
t
){
if
(
e
.
checked
)
switch
(
t
){
case
0
:
r
+=
"A,"
;
break
;
case
1
:
r
+=
"B,"
;
break
;
case
2
:
r
+=
"C,"
;
break
;
case
3
:
r
+=
"D,"
;
break
;
case
4
:
r
+=
"E,"
;
break
;
case
5
:
r
+=
"F,"
;
break
;
case
6
:
r
+=
"G,"
;
break
;
case
7
:
r
+=
"H,"
;
break
;
case
8
:
r
+=
"I,"
;
break
;
case
9
:
r
+=
"J,"
}});
var
c
=
""
;
if
(
l
.
work_contents
){
for
(
var
o
=
JSON
.
parse
(
l
.
work_contents
),
n
=
0
;
n
<
o
.
length
;
n
++
)
if
(
o
[
n
].
question_id
===
e
.
id
){
i
=
o
[
n
].
options
,
s
=
o
[
n
].
is_correct
;
break
}
if
(
1
===
e
.
question_type
)
for
(
var
u
=
0
;
u
<
i
.
length
;
u
++
)
if
(
i
[
u
].
selected
){
switch
(
c
=
u
){
case
0
:
a
=
"A,"
;
break
;
case
1
:
a
=
"B,"
;
break
;
case
2
:
a
=
"C,"
;
break
;
case
3
:
a
=
"D,"
;
break
;
case
4
:
a
=
"E,"
;
break
;
case
5
:
a
=
"F,"
;
break
;
case
6
:
a
=
"G,"
;
break
;
case
7
:
a
=
"H,"
;
break
;
case
8
:
a
=
"I,"
;
break
;
case
9
:
a
=
"J,"
}
break
}
if
(
2
===
e
.
question_type
)
for
(
var
d
=
0
;
d
<
i
.
length
;
d
++
)
if
(
i
[
d
].
selected
)
switch
(
d
){
case
0
:
a
+=
"A,"
;
break
;
case
1
:
a
+=
"B,"
;
break
;
case
2
:
a
+=
"C,"
;
break
;
case
3
:
a
+=
"D,"
;
break
;
case
4
:
a
+=
"E,"
;
break
;
case
5
:
a
+=
"F,"
;
break
;
case
6
:
a
+=
"G,"
;
break
;
case
7
:
a
+=
"H,"
;
break
;
case
8
:
a
+=
"I,"
;
break
;
case
9
:
a
+=
"J,"
}}
return
{
id
:
e
.
id
,
type
:
e
.
question_type
,
title
:
e
.
question_content
,
arr
:
i
,
cur
:
l
.
work_contents
&&
r
.
substr
(
0
,
r
.
length
-
1
)
||
""
,
arrSel
:[],
sel
:
c
,
stuAnswer
:
a
.
substr
(
0
,
a
.
length
-
1
),
is_correct
:
s
}})}},
updateData1
:
function
(
e
){
this
.
exam
.
id
=
e
.
id
,
this
.
exam
.
semester_id
=
e
.
semester_id
,
this
.
exam
.
title
=
e
.
work_title
,
this
.
exam
.
score
=
e
.
score
||
"0"
,
this
.
exam
.
work_contents
=
e
.
work_contents
||
""
,
this
.
arrRandomSort
(
e
.
questions
);
for
(
var
t
=
0
;
t
<
this
.
exam
.
group
.
length
;
t
++
){
var
r
=
""
,
a
=
""
,
s
=
0
,
i
=
e
.
questions
[
t
],
c
=
JSON
.
parse
(
i
.
question_options
);
c
.
forEach
(
function
(
e
,
t
){
if
(
e
.
checked
)
switch
(
t
){
case
0
:
r
+=
"A,"
;
break
;
case
1
:
r
+=
"B,"
;
break
;
case
2
:
r
+=
"C,"
;
break
;
case
3
:
r
+=
"D,"
;
break
;
case
4
:
r
+=
"E,"
;
break
;
case
5
:
r
+=
"F,"
;
break
;
case
6
:
r
+=
"G,"
;
break
;
case
7
:
r
+=
"H,"
;
break
;
case
8
:
r
+=
"I,"
;
break
;
case
9
:
r
+=
"J,"
}});
var
o
=
""
;
if
(
e
.
work_contents
){
for
(
var
n
=
JSON
.
parse
(
e
.
work_contents
),
u
=
0
;
u
<
n
.
length
;
u
++
)
if
(
n
[
u
].
question_id
===
i
.
id
){
c
=
n
[
u
].
options
,
s
=
n
[
u
].
is_correct
;
break
}
if
(
1
===
i
.
question_type
)
for
(
var
d
=
0
;
d
<
c
.
length
;
d
++
)
if
(
c
[
d
].
selected
){
switch
(
o
=
d
){
case
0
:
a
=
"A,"
;
break
;
case
1
:
a
=
"B,"
;
break
;
case
2
:
a
=
"C,"
;
break
;
case
3
:
a
=
"D,"
;
break
;
case
4
:
a
=
"E,"
;
break
;
case
5
:
a
=
"F,"
;
break
;
case
6
:
a
=
"G,"
;
break
;
case
7
:
a
=
"H,"
;
break
;
case
8
:
a
=
"I,"
;
break
;
case
9
:
a
=
"J,"
}
break
}
if
(
2
===
i
.
question_type
)
for
(
var
l
=
0
;
l
<
c
.
length
;
l
++
)
if
(
c
[
l
].
selected
)
switch
(
l
){
case
0
:
a
+=
"A,"
;
break
;
case
1
:
a
+=
"B,"
;
break
;
case
2
:
a
+=
"C,"
;
break
;
case
3
:
a
+=
"D,"
;
break
;
case
4
:
a
+=
"E,"
;
break
;
case
5
:
a
+=
"F,"
;
break
;
case
6
:
a
+=
"G,"
;
break
;
case
7
:
a
+=
"H,"
;
break
;
case
8
:
a
+=
"I,"
;
break
;
case
9
:
a
+=
"J,"
}}
this
.
exam
.
group
[
t
].
id
=
i
.
id
,
this
.
exam
.
group
[
t
].
type
=
i
.
question_type
,
this
.
exam
.
group
[
t
].
title
=
i
.
question_content
,
this
.
exam
.
group
[
t
].
cur
=
e
.
work_contents
&&
r
.
substr
(
0
,
r
.
length
-
1
)
||
""
,
this
.
exam
.
group
[
t
].
arrSel
=
[],
this
.
exam
.
group
[
t
].
sel
=
o
,
this
.
exam
.
group
[
t
].
stuAnswer
=
a
.
substr
(
0
,
a
.
length
-
1
),
this
.
exam
.
group
[
t
].
is_correct
=
s
;
for
(
var
h
=
this
.
exam
.
group
[
t
].
arr
,
p
=
0
;
p
<
h
.
length
;
p
++
)
h
[
p
].
selected
=
c
[
p
].
selected
,
h
[
p
].
id
=
h
[
p
].
id
+
"1"
}},
loadAjax
:
function
(){
var
r
=
this
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
h
.
default
.
chapterAction
.
getExamDetail
(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
function
(
e
){
var
t
=
e
.
homework
;
t
?(
t
.
score
=
e
.
score
,
t
.
work_contents
=
e
.
work_contents
,
r
.
exam
=
r
.
updateData
(
t
)):
r
.
exam
=
{}}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
r
.
setTime
=
setInterval
(
function
(){
r
.
chapterExam
.
work_id
&&
r
.
chapterExam
.
work_id
===
r
.
id
&&
(
r
.
exam
.
id
||
(
r
.
exam
=
r
.
updateData
(
r
.
chapterExam
),
document
.
querySelector
(
".play-paper"
).
scrollTop
=
0
),
clearInterval
(
r
.
setTime
))},
50
),
e
.
close
()})},
radioClick
:
function
(
e
){
this
.
radioCur
=
e
.
currentTarget
.
dataset
.
index
},
radioChange
:
function
(
e
){
for
(
var
t
=
this
.
radioCur
,
r
=
this
.
exam
.
group
[
t
].
arr
,
a
=
e
,
s
=
0
;
s
<
r
.
length
;
s
++
)
r
[
s
].
selected
=
0
;
r
[
a
].
selected
=
1
,
this
.
exam
.
group
[
t
].
arr
=
r
,
this
.
recordAll
.
push
(
t
)},
checkboxClick
:
function
(
e
){
this
.
checkboxCur
=
e
.
currentTarget
.
dataset
.
index
},
checkboxChange
:
function
(
e
){
for
(
var
r
=
this
.
checkboxCur
,
t
=
this
.
exam
.
group
[
r
].
arr
,
a
=
e
,
s
=
0
;
s
<
t
.
length
;
s
++
)
t
[
s
].
selected
=
0
;
for
(
var
i
=
0
;
i
<
a
.
length
;
i
++
)
t
[
a
[
i
]].
selected
=
1
;
this
.
exam
.
group
[
r
].
arr
=
t
,
a
.
length
?
this
.
recordAll
.
push
(
r
):
this
.
recordAll
=
this
.
recordAll
.
filter
(
function
(
e
,
t
){
return
e
!==
r
})},
submitExam
:
function
(
e
){
var
r
=
this
;
if
(
e
.
currentTarget
.
dataset
.
submit
)
this
.
$message
.
error
(
"已做过,不能再提交"
);
else
{
this
.
param
.
duration
=
Math
.
floor
(((
new
Date
).
getTime
()
-
this
.
startTime
)
/
1
e3
);
for
(
var
t
=
this
.
exam
.
group
,
a
=
t
.
length
,
s
=
[],
i
=
0
,
c
=
0
,
o
=
0
;
o
<
a
;
o
++
){
for
(
var
n
=
0
;
n
<
this
.
recordAll
.
length
&&
this
.
recordAll
[
n
]
!==
o
+
""
;
n
++
);
if
(
n
===
this
.
recordAll
.
length
)
return
void
this
.
$message
.
error
(
"还有题目未做,不能提交"
)}
for
(
var
u
=
0
;
u
<
t
.
length
;
u
++
){
if
(
c
=
0
,
1
===
t
[
u
].
type
&&
t
[
u
].
arr
.
forEach
(
function
(
e
,
t
){
e
.
checked
&&
e
.
selected
&&
(
i
+=
c
=
1
)}),
2
===
t
[
u
].
type
){
var
d
=!
0
;
t
[
u
].
arr
.
forEach
(
function
(
e
,
t
){
e
.
checked
!==!!
e
.
selected
&&
(
d
=!
1
)}),
d
&&
(
i
+=
c
=
1
)}
s
.
push
({
question_id
:
t
[
u
].
id
,
is_correct
:
c
,
options
:
t
[
u
].
arr
})}
this
.
unArrRandomSort
(
s
),
this
.
param
.
work_contents
=
JSON
.
stringify
(
s
),
this
.
param
.
score
=
(
i
/
a
*
100
).
toFixed
(
1
);
var
l
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
h
.
default
.
chapterAction
.
submitExamDetail
(
this
.
param
).
then
(
function
(
e
){
e
.
status
?
h
.
default
.
chapterAction
.
getExamDetail
(
r
.
sid
,
r
.
cid
,
r
.
id
).
then
(
function
(
e
){
var
t
=
e
.
homework
;
t
&&
(
t
.
score
=
e
.
score
,
t
.
work_contents
=
e
.
work_contents
,
r
.
updateData1
(
t
))}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)}):
r
.
$message
.
error
(
e
.
data
.
error
)}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
l
.
close
()})}},
_SubmitMouseLeftDown
:
function
(){
var
t
=
this
.
repeatExam
.
bind
(
this
,
!
1
);
document
.
addEventListener
(
"keydown"
,
t
,
!
1
);
document
.
addEventListener
(
"mouseup"
,
function
e
(){
document
.
removeEventListener
(
"keydown"
,
t
),
document
.
removeEventListener
(
"mouseup"
,
e
)},
!
1
)},
repeatExam
:
function
(
e
,
t
){
var
r
=
this
,
a
=
t
;
if
(
70
===
e
.
keyCode
&&
(
a
=!
0
),
a
){
var
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
h
.
default
.
chapterAction
.
getExamDetail
(
this
.
sid
,
this
.
cid
,
this
.
id
).
then
(
function
(
e
){
r
.
exam
=
{}}).
catch
(
function
(
e
){
r
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
r
.
setTime
=
setInterval
(
function
(){
r
.
chapterExam
.
work_id
&&
r
.
chapterExam
.
work_id
===
r
.
id
&&
(
r
.
exam
.
id
||
(
r
.
exam
=
r
.
updateData
(
r
.
chapterExam
),
document
.
querySelector
(
".play-paper"
).
scrollTop
=
0
),
clearInterval
(
r
.
setTime
))},
50
),
s
.
close
()})}}},
watch
:{
id
:{
handler
:
function
(){
this
.
loadAjax
()}}}}},
383
:
function
(
e
,
t
,
r
){},
437
:
function
(
e
,
t
,
r
){
"use strict"
;
var
a
=
r
(
383
);
r
.
n
(
a
).
a
},
449
:
function
(
e
,
t
,
r
){
"use strict"
;
function
a
(){
var
a
=
this
,
e
=
a
.
$createElement
,
s
=
a
.
_self
.
_c
||
e
;
return
s
(
"div"
,{
staticClass
:
"play-paper"
},[
s
(
"div"
,{
staticClass
:
"play-paper-body"
},[
s
(
"div"
,{
staticClass
:
"play-paper-title"
},[
s
(
"div"
,[
s
(
"h3"
,[
a
.
_v
(
a
.
_s
(
a
.
chapterName
))])])]),
a
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-paper-content play-chapter-exam"
},[
this
.
exam
.
id
?[
s
(
"div"
,{
staticClass
:
"exam"
},[
s
(
"div"
,{
staticStyle
:{
"text-align"
:
"center"
}},[
s
(
"div"
,{
staticClass
:
"topic"
},[
a
.
exam
.
score
?[
s
(
"div"
,{
staticClass
:
"cur"
},[
a
.
_v
(
"正确率:"
+
a
.
_s
(
a
.
exam
.
score
)
+
"%"
)])]:
a
.
_e
()],
2
)]),
a
.
_v
(
" "
),
s
(
"div"
,{},[
a
.
_l
(
a
.
exam
.
group
,
function
(
r
,
e
){
return
[
1
==
r
.
type
?[
s
(
"div"
,{
key
:
e
,
staticClass
:
"q-group"
,
attrs
:{
"data-index"
:
e
},
on
:{
click
:
a
.
radioClick
}},[
s
(
"div"
,{
staticClass
:
"q-num"
},[
a
.
_v
(
a
.
_s
(
e
+
1
)
+
"."
)]),
s
(
"div"
,{
staticClass
:
"q-title"
,
domProps
:{
innerHTML
:
a
.
_s
(
r
.
title
)}}),
s
(
"div"
,{
staticClass
:
"q-type"
},[
a
.
_v
(
"(单选题)"
)]),
a
.
_v
(
" "
),
s
(
"el-radio-group"
,{
staticClass
:
"radio-group"
,
on
:{
change
:
a
.
radioChange
},
model
:{
value
:
r
.
sel
,
callback
:
function
(
e
){
a
.
$set
(
r
,
"sel"
,
e
)},
expression
:
"item.sel"
}},[
a
.
_l
(
r
.
arr
,
function
(
e
,
t
){
return
[
s
(
"el-radio"
,{
key
:
t
,
class
:[
"radio"
,
r
.
cur
&&
e
.
checked
&&
"success"
,
r
.
cur
&&!
e
.
checked
&&
e
.
selected
&&
"error"
],
attrs
:{
label
:
t
,
disabled
:
!!
r
.
cur
}},[
a
.
_v
(
a
.
_s
(
0
==
t
?
"A"
:
1
==
t
?
"B"
:
2
==
t
?
"C"
:
3
==
t
?
"D"
:
4
==
t
?
"E"
:
5
==
t
?
"F"
:
6
==
t
?
"G"
:
7
==
t
?
"H"
:
8
==
t
?
"I"
:
9
==
t
?
"J"
:
"K"
)
+
". "
+
a
.
_s
(
e
.
option
))])]})],
2
),
a
.
_v
(
" "
),
r
.
cur
?[
s
(
"div"
,{
staticClass
:
"result"
},[
a
.
_v
(
"学生答案:"
),
s
(
"div"
,{
class
:[
"stu"
,
r
.
is_correct
?
"success"
:
"error"
]},[
a
.
_v
(
a
.
_s
(
r
.
stuAnswer
))]),
a
.
_v
(
" 正确答案:"
+
a
.
_s
(
r
.
cur
))])]:
a
.
_e
()],
2
)]:
a
.
_e
(),
a
.
_v
(
" "
),
2
==
r
.
type
?[
s
(
"div"
,{
key
:
e
,
staticClass
:
"q-group"
,
attrs
:{
"data-index"
:
e
},
on
:{
click
:
a
.
checkboxClick
}},[
s
(
"div"
,{
staticClass
:
"q-num"
},[
a
.
_v
(
a
.
_s
(
e
+
1
)
+
"."
)]),
s
(
"div"
,{
staticClass
:
"q-title"
,
domProps
:{
innerHTML
:
a
.
_s
(
r
.
title
)}}),
s
(
"div"
,{
staticClass
:
"q-type"
},[
a
.
_v
(
"(多选题)"
)]),
a
.
_v
(
" "
),
s
(
"el-checkbox-group"
,{
staticClass
:
"checkbox-group"
,
on
:{
change
:
a
.
checkboxChange
},
model
:{
value
:
r
.
arrSel
,
callback
:
function
(
e
){
a
.
$set
(
r
,
"arrSel"
,
e
)},
expression
:
"item.arrSel"
}},[
a
.
_l
(
r
.
arr
,
function
(
e
,
t
){
return
[
s
(
"el-checkbox"
,{
key
:
e
.
id
,
class
:[
"checkbox"
,
r
.
cur
&&
e
.
checked
&&
"success"
,
r
.
cur
&&!
e
.
checked
&&
e
.
selected
&&
"error"
],
attrs
:{
label
:
t
,
checked
:
!!
e
.
selected
,
disabled
:
!!
r
.
cur
}},[
a
.
_v
(
a
.
_s
(
0
==
t
?
"A"
:
1
==
t
?
"B"
:
2
==
t
?
"C"
:
3
==
t
?
"D"
:
4
==
t
?
"E"
:
5
==
t
?
"F"
:
6
==
t
?
"G"
:
7
==
t
?
"H"
:
8
==
t
?
"I"
:
9
==
t
?
"J"
:
"K"
)
+
". "
+
a
.
_s
(
e
.
option
))])]})],
2
),
a
.
_v
(
" "
),
r
.
cur
?[
s
(
"div"
,{
staticClass
:
"result"
},[
a
.
_v
(
"学生答案:"
),
s
(
"div"
,{
class
:[
"stu"
,
r
.
is_correct
?
"success"
:
"error"
]},[
a
.
_v
(
a
.
_s
(
r
.
stuAnswer
))]),
a
.
_v
(
" 正确答案:"
+
a
.
_s
(
r
.
cur
))])]:
a
.
_e
()],
2
)]:
a
.
_e
()]})],
2
),
a
.
_v
(
" "
),
s
(
"div"
,{
class
:[
"btn"
,
a
.
exam
.
work_contents
&&
"on"
],
attrs
:{
"data-submit"
:
!!
a
.
exam
.
work_contents
},
on
:{
click
:
a
.
submitExam
,
mousedown
:
function
(
e
){
return
a
.
_SubmitMouseLeftDown
()}}},[
a
.
_v
(
a
.
_s
(
a
.
exam
.
work_contents
?
"已提交"
:
"提交"
))]),
a
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"care"
},[
a
.
_v
(
"(注意:测试只有一次提交机会)"
)])])]:
a
.
_e
()],
2
)])])}
var
s
=
[];
r
.
d
(
t
,
"a"
,
function
(){
return
a
}),
r
.
d
(
t
,
"b"
,
function
(){
return
s
})}}]);
\ No newline at end of file
server/client-dist/resources/21.
186459ef
.js
→
server/client-dist/resources/21.
87fdb223
.js
浏览文件 @
cc8387a2
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
21
],{
260
:
function
(
t
,
s
,
e
){
"use strict"
;
e
.
r
(
s
);
var
i
=
e
(
470
),
a
=
e
(
316
);
for
(
var
r
in
a
)
"default"
!==
r
&&
function
(
t
){
e
.
d
(
s
,
t
,
function
(){
return
a
[
t
]})}(
r
);
e
(
414
);
var
c
=
e
(
1
),
o
=
Object
(
c
.
a
)(
a
.
default
,
i
.
a
,
i
.
b
,
!
1
,
null
,
"3309b347"
,
null
);
s
.
default
=
o
.
exports
},
316
:
function
(
t
,
s
,
e
){
"use strict"
;
e
.
r
(
s
);
var
i
=
e
(
317
),
a
=
e
.
n
(
i
);
for
(
var
r
in
i
)
"default"
!==
r
&&
function
(
t
){
e
.
d
(
s
,
t
,
function
(){
return
i
[
t
]})}(
r
);
s
.
default
=
a
.
a
},
317
:
function
(
t
,
s
,
e
){
"use strict"
;
Object
.
defineProperty
(
s
,
"__esModule"
,{
value
:
!
0
});
var
l
=
a
(
e
(
45
)),
o
=
a
(
e
(
82
)),
i
=
a
(
e
(
255
));
function
a
(
t
){
return
t
&&
t
.
__esModule
?
t
:{
default
:
t
}}
s
.
default
=
{
components
:{},
props
:{
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
ckeditor
:
null
,
activeName
:
"1"
,
activeName1
:
"1"
,
passCount
:
0
,
headerInfo
:{},
tabs
:[{
title
:
"课程简介"
,
isShow
:
!
0
,
content
:{
text
:
"<p><b>视频课程没有加载出来,请检查自己的网络环境,并重新刷新。</b>"
,
teachers
:[{
src
:
""
,
name
:
"讲师姓名"
,
edu
:
"学历"
,
job
:
"职称"
,
unit
:
"讲师所在单位"
}]}},{
title
:
"课程内容"
,
isShow
:
!
1
,
chapterList
:{
currentChapterId
:
"11"
,
course
:[{
title
:
"第一章:测试章节"
,
isUp
:
!
0
,
chapters
:[{
id
:
"12"
,
time
:
"19:09"
,
name
:
"1.2 测试课程"
}]},{
title
:
"第二章:证券估值"
,
isUp
:
!
0
,
chapters
:[]},{
title
:
"课程资料"
,
isUp
:
!
0
,
chapters
:[]}]}},{
title
:
"课程讨论"
,
isShow
:
!
1
},{
title
:
"课程考核"
,
isShow
:
!
1
,
richText
:
"<div class='h1'>一、最终成绩计算</div> <div class='p'>课程表现得分*30%+每章试题得分*30%+结业大作业得分*40%=该门课程总得分,满分100分,低于80分为不及格,需重修此门课程。84分以上方可申请学位。</div> <img class='b1' src='http://zws-imgs-pub.oss-cn-beijing.aliyuncs.com/static/build/www/course-check.png' mode='aspectFill' /> <div class='h1'>二、具体细则</div> <div class='h2'>课程表现:总分100分(占科目总成绩的30%)</div> <div class='p'>1、每个视频观看完成度50分:以后台数据统计为准,全部看完视频满分50分,其它酌情给分。</div> <div class='em'>注:视频观看考核的是实际播放时长,不是进度条的显示状态,进度条满格并不一定表示观看完这个视频。以下方每日学习时长为准。</div> <div class='p'>2、课程反馈建设性问题及课程完成情况50分:反馈问题以教务老师统计为准,课程完成情况以后台数据为准,是否按时完成视频观看、测试、作业提交,满分50分,酌情给分。</div> <div class='h2'>每章试题:总分100分(占科目总成绩的30%)</div> <div class='p'>本课程所有试题的平均正确率*100分*占总成绩30%=此项得分。(比如正确度为80%,则此项得分:80%*100*30%=24分)</div> <div class='h2'>结业大作业:总分100分(占科目总成绩的40%)</div> <div class='p'>结业大作业满分为100分,以助教老师给分为准。</div>"
,
assess
:{
score
:
"20"
,
duration
:
"00:01:20"
,
progress
:
"0/10"
,
video
:[{
title
:
"第一章 市场营销原理导论"
,
sid
:
""
,
cid
:
""
,
arr
:[{
name
:
"1.1 什么是市场营销什么是市场营销市场营销什么是市场营销什么是市场营销"
,
time
:
"12:08"
,
progress
:
"100%"
,
vid
:
""
}]}],
homewrok
:[{
title
:
"第一章 市场营销原理导论"
,
arr
:[{
name
:
"1.1 什么是市场营销什么是市场营销市场营销什么是市场营销什么是市场营销"
,
score
:
20
}]}],
essay
:{
created_time
:
""
,
status
:
"未提交"
,
score
:
"暂无"
}}}],
sort
:[{
isShow
:
!
1
,
str
:
""
},{
isShow
:
!
1
,
str
:
"tag"
}],
discussList
:[],
param
:{
limit
:
10
,
offset
:
0
,
sort
:
""
},
publish
:{
course_id
:
this
.
cid
,
semester_id
:
this
.
sid
,
title
:
""
,
contents
:
""
},
isPublicShow
:
!
1
,
publishRules
:{
title
:[{
required
:
!
0
,
message
:
"请输入标题"
,
trigger
:
"blur"
}]}}},
mounted
:
function
(){
var
n
=
this
,
d
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
if
(
"0"
===
this
.
cid
&&
"0"
===
this
.
sid
)
return
this
.
$message
({
message
:
"URL异常,请点击“返回首页”,重新选择课程学习!!"
,
type
:
"info"
,
duration
:
1
e4
}),
void
d
.
close
();
l
.
default
.
courseAction
.
getCourseDetail
(
this
.
cid
,
this
.
sid
).
then
(
function
(
o
){
n
.
headerInfo
=
o
.
headerInfo
,
n
.
tabs
[
0
].
content
=
o
.
tabs0Content
,
n
.
tabs
[
1
].
chapterList
=
o
.
tabs1ChapterList
,
o
.
tabs3richTest
&&
(
n
.
tabs
[
3
].
richText
=
o
.
tabs3richTest
),
l
.
default
.
courseAction
.
getCourseAssess
(
n
.
cid
,
n
.
sid
).
then
(
function
(
t
){
for
(
var
s
=
o
.
tabs1ChapterList
.
course
,
e
=
0
;
e
<
t
.
video
.
length
;
e
++
)
for
(
var
i
=
t
.
video
[
e
].
arr
,
a
=
s
[
e
].
chapters
,
r
=
0
;
r
<
i
.
length
;
r
++
)
for
(
var
c
=
r
;
c
<
a
.
length
;
c
++
)
if
(
i
[
r
].
id
===
a
[
c
].
id
){
i
[
r
].
vid
=
a
[
c
].
vid
,
i
[
r
].
duration
=
a
[
c
].
duration
;
break
}
n
.
tabs
[
3
].
assess
=
t
,
d
.
close
()}).
catch
(
function
(
t
){
n
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){}),
l
.
default
.
discussAction
.
getCourseDiscussList
(
n
.
cid
,
n
.
sid
,
n
.
param
).
then
(
function
(
t
){
n
.
discussList
=
t
}).
catch
(
function
(
t
){
n
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){})}).
catch
(
function
(
t
){
n
.
$message
.
error
(
t
.
message
),
d
.
close
()}).
finally
(
function
(){}),
window
.
addEventListener
(
"resize"
,
this
.
resizeRoot
.
bind
(
this
),
!
1
)},
destroyed
:
function
(){
window
.
removeEventListener
(
"resize"
,
this
.
resizeRoot
.
bind
(
this
),
!
1
),
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
},
updated
:
function
(){
this
.
resizeRoot
(),
this
.
isPublicShow
&&
this
.
initckeditor
()},
beforeUpdate
:
function
(){
this
.
isPublicShow
||
(
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
)},
methods
:{
handleClick
:
function
(
t
,
s
){},
initckeditor
:
function
(){
this
.
ckeditor
||
(
this
.
ckeditor
=
i
.
default
.
replace
(
"editor"
,{
height
:
300
,
uiColor
:
"#eeeeee"
,
filebrowserImageUploadUrl
:
"/api/ckeditor/img/upload"
,
toolbar
:[{
name
:
"styles"
,
items
:[
"Styles"
,
"Format"
,
"Font"
,
"FontSize"
]},{
name
:
"colors"
,
items
:[
"TextColor"
,
"BGColor"
]},{
name
:
"tools"
,
items
:[
"Maximize"
,
"ShowBlocks"
]},{
name
:
"editing"
,
items
:[
"Find"
,
"Replace"
]},
"/"
,{
name
:
"basicstyles"
,
items
:[
"Bold"
,
"Italic"
,
"Underline"
,
"Strike"
,
"Subscript"
,
"Superscript"
,
"-"
,
"RemoveFormat"
]},{
name
:
"paragraph"
,
items
:[
"NumberedList"
,
"BulletedList"
,
"-"
,
"Outdent"
,
"Indent"
,
"-"
,
"Blockquote"
,
"CreateDiv"
,
"-"
,
"JustifyLeft"
,
"JustifyCenter"
,
"JustifyRight"
,
"JustifyBlock"
,
"-"
,
"BidiLtr"
,
"BidiRtl"
]},{
name
:
"links"
,
items
:[
"Link"
,
"Unlink"
,
"Anchor"
]},{
name
:
"insert"
,
items
:[
"Image"
,
"Table"
,
"HorizontalRule"
]}]}))},
clickJumpOrStatus
:
function
(
t
){
var
s
=
t
.
currentTarget
.
dataset
;
if
(
s
.
status
){
var
e
=
s
.
index
,
i
=
this
.
tabs
[
1
].
chapterList
.
course
[
e
];
i
.
isUp
=!
i
.
isUp
}
else
{
window
.
localStorage
.
setItem
(
"headerInfo"
,
JSON
.
stringify
(
this
.
headerInfo
));
var
a
=
this
.
tabs
[
1
].
chapterList
.
course
[
s
.
index
],
r
=
s
.
cid
;
if
(
"course_info"
===
a
.
type
)
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/course-info/course_info"
});
else
if
(
"course_work"
===
a
.
type
){
if
(
!
this
.
headerInfo
.
survey
)
return
this
.
$message
(
"请先填写教学评估,然后完成大作业。"
),
!
1
;
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/course-work/course_work"
})}
else
"teach_evaluation"
===
a
.
type
&&
this
.
$router
.
push
({
path
:
"/survey/"
+
r
})}},
jumpToOtherVA
:
function
(
t
){
if
(
this
.
headerInfo
.
isStart
){
var
s
=
t
.
target
.
dataset
,
e
=
s
.
cid
,
i
=
s
.
vid
,
a
=
s
.
type
;
if
(
!
s
.
hasva
){
window
.
localStorage
.
setItem
(
"headerInfo"
,
JSON
.
stringify
(
this
.
headerInfo
));
var
r
=
s
.
index
,
c
=
s
.
count
,
o
=
this
.
tabs
[
1
].
chapterList
.
course
[
r
];
return
o
&&
o
.
chapters
[
c
]?
void
(
3
===
o
.
chapters
[
c
].
type
?
1
===
o
.
chapters
[
c
].
work_type
?
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-exam/"
+
i
}):
2
===
o
.
chapters
[
c
].
work_type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-work/"
+
i
}):
4
===
o
.
chapters
[
c
].
type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-read/"
+
i
})):
void
this
.
$message
.
error
(
"系统未知错误,003"
)}
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-video/"
+
i
+
"/"
+
a
})}
else
this
.
$message
.
error
(
"先选课,才能学习"
)},
startLearn
:
function
(
t
){
var
s
=
t
.
currentTarget
.
dataset
,
e
=
s
.
cid
,
i
=
s
.
vid
,
a
=
s
.
type
;
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-video/"
+
i
+
"/"
+
a
})},
noWantThisCourse
:
function
(){
var
s
=
this
;
if
(
this
.
passCountTimeout
&&
clearTimeout
(
this
.
passCountTimeout
),
this
.
passCountTimeout
=
setTimeout
(
function
(){
s
.
passCount
=
0
},
500
),
this
.
passCount
<
15
)
this
.
passCount
++
;
else
{
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
l
.
default
.
courseAction
.
outSelectCourse
(
this
.
cid
,
this
.
sid
).
then
(
function
(
t
){
s
.
headerInfo
.
isStart
=!
1
,
e
.
close
(),
s
.
$message
({
type
:
"success"
,
message
:
"退课成功"
}),
s
.
passCount
=
0
}).
catch
(
function
(
t
){
s
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
e
.
close
()})}},
jumpVAOrfinishVA
:
function
(
t
){
var
s
=
t
.
currentTarget
.
dataset
,
e
=
this
.
_keydownfn
.
bind
(
this
,
s
);
document
.
addEventListener
(
"keydown"
,
e
,
!
1
);
document
.
addEventListener
(
"mouseup"
,
function
t
(){
document
.
removeEventListener
(
"keydown"
,
e
),
document
.
removeEventListener
(
"mouseup"
,
t
)},
!
1
)},
_keydownfn
:
function
(
t
,
s
){
var
e
=
this
,
i
=
t
.
cid
,
a
=
t
.
vid
,
r
=
t
.
duration
,
c
=
t
.
type
;
79
===
s
.
keyCode
&&
this
.
$router
.
push
({
path
:
"/player/"
+
i
+
"/chapter-video/"
+
a
+
"/"
+
c
}),
70
===
s
.
keyCode
&&
l
.
default
.
chapterAction
.
updateProgress
({
d
:
o
.
default
.
other
.
getIdt
(),
i
:
o
.
default
.
other
.
getIdt
(),
c
:
i
,
v
:
a
,
_p
:
parseInt
(
r
)
+
11
,
_m
:
parseInt
(
r
),
_c
:
parseInt
(
r
),
ps
:
"0,0"
}).
then
(
function
(
t
){
t
.
success
&&
e
.
$message
.
success
(
"补课成功,刷新查看结果"
)}).
catch
(
function
(
t
){
e
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){})},
wantThisCourse
:
function
(){
var
s
=
this
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
l
.
default
.
courseAction
.
selectCourse
(
this
.
cid
,
this
.
sid
).
then
(
function
(
t
){
s
.
headerInfo
.
isStart
=!
0
,
e
.
close
(),
s
.
$message
({
type
:
"success"
,
message
:
"选课成功"
})}).
catch
(
function
(
t
){
s
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
e
.
close
()})},
resizeRoot
:
function
(){
var
a
=
this
,
t
=
document
.
querySelectorAll
(
".ellipsis"
),
r
=
getComputedStyle
(
window
.
document
.
documentElement
)[
"font-size"
].
replace
(
"px"
,
""
);
t
.
forEach
(
function
(
t
,
s
){
t
.
previousSibling
.
style
.
height
=
"auto"
;
var
e
=
t
.
previousSibling
.
offsetHeight
,
i
=
.
18
*
r
*
1.5
*
2
;
i
<
e
?(
a
.
discussList
[
s
]
&&
(
a
.
discussList
[
s
].
isShow
=!
0
),
t
.
previousSibling
.
style
.
height
=
i
+
"px"
):
a
.
discussList
[
s
]
&&
(
a
.
discussList
[
s
].
isShow
=!
1
)})},
publishDiscuss
:
function
(){
this
.
isPublicShow
=!
0
},
gobackDiscuss
:
function
(){
this
.
isPublicShow
=!
1
},
onSubmitPublish
:
function
(){
var
e
=
this
;
this
.
$refs
.
setPublishform
.
validate
(
function
(
t
){
if
(
!
t
)
return
e
.
$message
.
error
(
"请输入标题"
),
!
1
;
if
(
e
.
ckeditor
.
getData
()){
e
.
publish
.
contents
=
e
.
ckeditor
.
getData
();
var
s
=
e
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
l
.
default
.
discussAction
.
publishQues
(
e
.
publish
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"问题发布成功"
}),
e
.
isPublicShow
=!
1
,
l
.
default
.
discussAction
.
getCourseDiscussList
(
e
.
cid
,
e
.
sid
,
e
.
param
).
then
(
function
(
t
){
e
.
discussList
=
t
}).
catch
(
function
(
t
){
e
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){})}).
catch
(
function
(
t
){
e
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
s
.
close
()})}
else
e
.
$message
.
error
(
"请输入正文内容"
)})},
goDiscussDetail
:
function
(
t
){
var
s
=
t
.
currentTarget
.
dataset
.
id
;
this
.
$router
.
push
({
path
:
"/app/my-learn/discuss-detail/"
+
this
.
cid
+
"/"
+
s
})},
sortFn
:
function
(
t
){
var
s
=
this
,
e
=
t
.
currentTarget
.
dataset
.
index
,
i
=
t
.
currentTarget
.
dataset
.
str
;
this
.
sort
[
e
].
isShow
=!
this
.
sort
[
e
].
isShow
,
this
.
sort
[(
parseInt
(
e
)
+
1
)
%
2
].
isShow
=!
1
,
this
.
param
.
sort
=
this
.
sort
[
e
].
isShow
?
i
:
""
,
this
.
param
.
offset
=
0
;
var
a
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
l
.
default
.
discussAction
.
getCourseDiscussList
(
this
.
cid
,
this
.
sid
,
this
.
param
).
then
(
function
(
t
){
s
.
discussList
=
t
}).
catch
(
function
(
t
){
s
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
a
.
close
()})}}}},
318
:
function
(
t
,
s
,
e
){},
414
:
function
(
t
,
s
,
e
){
"use strict"
;
var
i
=
e
(
318
);
e
.
n
(
i
).
a
},
470
:
function
(
t
,
s
,
e
){
"use strict"
;
function
i
(){
var
i
=
this
,
t
=
i
.
$createElement
,
a
=
i
.
_self
.
_c
||
t
;
return
a
(
"div"
,[
a
(
"div"
,{
staticClass
:
"con-title"
},[
i
.
_v
(
"课程详情"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"detail-box"
},[
a
(
"div"
,{
staticClass
:
"box-thd"
},[
a
(
"div"
,{
staticClass
:
"title"
,
on
:{
click
:
i
.
noWantThisCourse
}},[
i
.
_v
(
i
.
_s
(
i
.
headerInfo
.
title
)
+
"
\
n "
),
i
.
headerInfo
.
isStart
&&
i
.
tabs
[
1
].
chapterList
.
currentChapterId
?[
a
(
"el-button"
,{
staticClass
:
"rbtn"
,
attrs
:{
type
:
"primary"
,
size
:
"mini"
,
"data-cid"
:
i
.
cid
,
"data-sid"
:
i
.
sid
,
"data-type"
:
i
.
tabs
[
1
].
chapterList
.
currentVideoProvider
,
"data-vid"
:
i
.
tabs
[
1
].
chapterList
.
currentChapterId
},
on
:{
click
:
i
.
startLearn
}},[
i
.
_v
(
"继续学习"
)])]:
i
.
headerInfo
.
isStart
?[
a
(
"el-button"
,{
staticClass
:
"rbtn"
,
attrs
:{
type
:
"primary"
,
size
:
"mini"
,
"data-cid"
:
i
.
cid
,
"data-sid"
:
i
.
sid
,
"data-type"
:
i
.
tabs
[
1
].
chapterList
.
course
[
0
].
chapters
[
0
].
video_provider
,
"data-vid"
:
i
.
tabs
[
1
].
chapterList
.
course
[
0
].
chapters
[
0
].
vid
},
on
:{
click
:
i
.
startLearn
}},[
i
.
_v
(
"开始学习"
)])]:[
a
(
"el-button"
,{
staticClass
:
"rbtn"
,
attrs
:{
type
:
"primary"
,
size
:
"mini"
},
on
:{
click
:
i
.
wantThisCourse
}},[
i
.
_v
(
"选课"
)])]],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"tags"
},[
i
.
_l
(
i
.
headerInfo
.
arrTab
,
function
(
t
,
s
){
return
[
a
(
"span"
,{
key
:
s
,
staticClass
:
"tabs-item"
},[
i
.
_v
(
i
.
_s
(
t
))])]})],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
i
.
_v
(
i
.
_s
(
i
.
headerInfo
.
time
)
+
" "
+
i
.
_s
(
i
.
headerInfo
.
status
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
float
:
"left"
,
width
:
"100%"
,
height
:
"1px"
}}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"progress"
},[
i
.
_v
(
"
\
n 视频观看进度 "
),
a
(
"el-progress"
,{
attrs
:{
percentage
:
i
.
headerInfo
.
progress
,
color
:
"#b49441"
}})],
1
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"box-tbd"
},[
a
(
"div"
,{
staticClass
:
"left-pic"
},[
i
.
headerInfo
.
bgSrc
?[
a
(
"img"
,{
attrs
:{
src
:
i
.
headerInfo
.
bgSrc
,
alt
:
""
}})]:[
i
.
_m
(
0
)]],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-content"
,
domProps
:{
innerHTML
:
i
.
_s
(
i
.
tabs
[
0
].
content
.
text
)}})]),
i
.
_v
(
" "
),
a
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
a
(
"el-col"
,{
attrs
:{
xs
:
24
,
sm
:
15
,
md
:
17
,
lg
:
18
,
xl
:
20
}},[
a
(
"el-tabs"
,{
on
:{
"tab-click"
:
i
.
handleClick
},
model
:{
value
:
i
.
activeName
,
callback
:
function
(
t
){
i
.
activeName
=
t
},
expression
:
"activeName"
}},[
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"课程内容"
,
name
:
"1"
}},[
a
(
"div"
,{
staticClass
:
"course-list"
},[
i
.
_l
(
i
.
tabs
[
1
].
chapterList
.
course
,
function
(
t
,
e
){
return
[
a
(
"div"
,{
key
:
e
,
class
:[
"content-group"
,
t
.
chapters
.
length
?
""
:
"no-child"
,
t
.
isUp
?
"up"
:
""
]},[
a
(
"div"
,{
staticClass
:
"title"
,
attrs
:{
"data-index"
:
e
,
"data-cid"
:
t
.
cid
,
"data-sid"
:
t
.
sid
,
"data-status"
:
!!
t
.
chapters
.
length
},
on
:{
click
:
function
(
t
){
return
i
.
clickJumpOrStatus
(
t
)}}},[
i
.
_v
(
i
.
_s
(
t
.
title
)
+
"
\
n "
),
a
(
"i"
,{
class
:[
"side"
,
t
.
chapters
.
length
?
""
:
"none"
,
t
.
isUp
?
"el-icon-arrow-down"
:
"el-icon-arrow-up"
]})]),
i
.
_v
(
" "
),
i
.
_l
(
t
.
chapters
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
class
:[
"body"
,
t
.
id
===
i
.
tabs
[
1
].
chapterList
.
currentChapterId
&&
"on"
]},[
a
(
"div"
,{
staticClass
:
"name"
,
attrs
:{
"data-vid"
:
t
.
vid
,
"data-cid"
:
t
.
cid
,
"data-sid"
:
t
.
sid
,
"data-hasVA"
:
t
.
time
,
"data-type"
:
t
.
video_provider
,
"data-name"
:
t
.
name
,
"data-index"
:
e
,
"data-count"
:
s
},
on
:{
click
:
i
.
jumpToOtherVA
}},[
i
.
_v
(
"
\
n "
+
i
.
_s
(
t
.
name
)
+
"
\
n "
),
a
(
"div"
,{
staticClass
:
"time"
},[
i
.
_v
(
i
.
_s
(
t
.
time
))])])])]})],
2
)]})],
2
)]),
i
.
_v
(
" "
),
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"课程讨论"
,
name
:
"2"
}},[
i
.
isPublicShow
?[
a
(
"div"
,{
staticClass
:
"publish"
},[
a
(
"div"
,{
staticStyle
:{
overflow
:
"hidden"
}},[
a
(
"div"
,{
staticClass
:
"right-goback-txt"
},[
i
.
_v
(
"发布问题"
)]),
i
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
i
.
gobackDiscuss
}},[
i
.
_v
(
"返回问题列表"
)])],
1
),
i
.
_v
(
" "
),
a
(
"el-form"
,{
ref
:
"setPublishform"
,
attrs
:{
model
:
i
.
publish
,
rules
:
i
.
publishRules
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"标题"
,
prop
:
"title"
}},[
a
(
"el-input"
,{
attrs
:{
type
:
"text"
,
placeholder
:
"请输入标题"
},
model
:{
value
:
i
.
publish
.
title
,
callback
:
function
(
t
){
i
.
$set
(
i
.
publish
,
"title"
,
t
)},
expression
:
"publish.title"
}})],
1
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
"line-height"
:
"1.5"
,
"font-size"
:
"0.16rem"
,
"margin-bottom"
:
"0.2rem"
}},[
i
.
_v
(
"正文内容"
)]),
i
.
_v
(
" "
),
a
(
"textarea"
,{
attrs
:{
id
:
"editor"
}}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
height
:
"0.2rem"
}}),
i
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
i
.
onSubmitPublish
}},[
i
.
_v
(
"发布问题"
)])],
1
)],
1
)],
1
)]:[
a
(
"div"
,{
staticClass
:
"pub-ques"
},[
a
(
"div"
,{
staticClass
:
"ask"
},[
a
(
"i"
,{
staticClass
:
"el-icon-edit img"
}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"txt"
,
on
:{
click
:
i
.
publishDiscuss
}},[
i
.
_v
(
"发布问题 ..."
)])]),
i
.
_v
(
" "
),
a
(
"div"
,{
class
:[
"item-order"
,
i
.
sort
[
0
].
isShow
?
"on"
:
""
],
attrs
:{
"data-index"
:
0
,
"data-str"
:
i
.
sort
[
0
].
str
},
on
:{
click
:
i
.
sortFn
}},[
i
.
_v
(
"按时间排序"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
class
:[
"item-order"
,
i
.
sort
[
1
].
isShow
?
"on"
:
""
],
attrs
:{
"data-index"
:
1
,
"data-str"
:
i
.
sort
[
1
].
str
},
on
:{
click
:
i
.
sortFn
}},[
i
.
_v
(
"按投票排序"
)])]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"discuss-scroll"
,
attrs
:{
bindscrolltolower
:
"loadmore"
,
bindscrolltoupper
:
"updatenew"
}},[
i
.
_l
(
i
.
discussList
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"item-list"
,
attrs
:{
"data-id"
:
t
.
id
,
"data-sid"
:
t
.
sid
,
"data-index"
:
s
},
on
:{
click
:
i
.
goDiscussDetail
}},[
a
(
"div"
,{
staticClass
:
"user"
},[
t
.
user
.
url
?[
a
(
"img"
,{
staticClass
:
"img"
,
attrs
:{
src
:
t
.
user
.
url
}})]:[
a
(
"img"
,{
staticClass
:
"img"
,
attrs
:{
src
:
e
(
121
)}})],
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
i
.
_v
(
i
.
_s
(
t
.
user
.
name
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
i
.
_v
(
i
.
_s
(
t
.
user
.
time
))])])],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"title"
},[
i
.
_v
(
i
.
_s
(
t
.
title
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
class
:[
"text"
],
domProps
:{
innerHTML
:
i
.
_s
(
t
.
text
)}}),
a
(
"div"
,{
class
:[
"ellipsis"
,
t
.
isShow
?
"on"
:
""
]},[
i
.
_v
(
"...."
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"result"
},[
i
.
_v
(
i
.
_s
(
t
.
askCnt
)
+
" 回答"
),
a
(
"div"
,{
staticStyle
:{
display
:
"inline-block"
,
width
:
"20px"
}}),
i
.
_v
(
i
.
_s
(
t
.
TouCnt
)
+
" 投票"
)])])]}),
i
.
_v
(
" "
),
i
.
discussList
.
length
?
i
.
_e
():[
a
(
"div"
,{
staticClass
:
"no-data"
},[
i
.
_v
(
"暂无相关讨论"
)])]],
2
)]],
2
),
i
.
_v
(
" "
),
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"课程考核"
,
name
:
"3"
}},[
a
(
"div"
,{
staticClass
:
"course-assess"
},[
a
(
"div"
,{
staticClass
:
"title"
},[
i
.
_v
(
"最终成绩:"
+
i
.
_s
(
i
.
tabs
[
3
].
assess
.
score
&&
i
.
tabs
[
3
].
assess
.
score
+
"分"
||
"暂无"
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"topic"
},[
a
(
"div"
,{
staticClass
:
"line"
}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"tit"
},[
i
.
_v
(
"课程考核标准"
)])]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"detail"
},[
a
(
"div"
,{
staticClass
:
"detail-rich"
,
domProps
:{
innerHTML
:
i
.
_s
(
i
.
tabs
[
3
].
richText
)}})]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"topic"
},[
a
(
"div"
,{
staticClass
:
"line"
}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"tit"
},[
i
.
_v
(
"学习进度及成绩"
)])]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table-title"
},[
i
.
_v
(
"课程“音视频”观看统计( 累计学习时长:"
+
i
.
_s
(
i
.
tabs
[
3
].
assess
.
duration
)
+
",完成率:"
+
i
.
_s
(
i
.
tabs
[
3
].
assess
.
progress
)
+
" )"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table"
},[
a
(
"div"
,{
staticClass
:
"th"
},[
a
(
"div"
,{
staticClass
:
"col3-td1"
},[
i
.
_v
(
"章节"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td2"
},[
i
.
_v
(
"学习时长"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td3"
},[
i
.
_v
(
"百分比"
)])]),
i
.
_v
(
" "
),
i
.
_l
(
i
.
tabs
[
3
].
assess
.
video
,
function
(
e
,
t
){
return
[
a
(
"div"
,{
key
:
t
,
staticClass
:
"tb"
},[
a
(
"div"
,{
staticClass
:
"tt"
},[
i
.
_v
(
i
.
_s
(
e
.
title
))]),
i
.
_v
(
" "
),
i
.
_l
(
e
.
arr
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"rd"
},[
a
(
"div"
,{
staticClass
:
"col3-td1"
,
attrs
:{
"data-sid"
:
e
.
sid
,
"data-cid"
:
e
.
cid
,
"data-vid"
:
t
.
vid
,
"data-type"
:
t
.
type
,
"data-duration"
:
t
.
duration
},
on
:{
mousedown
:
function
(
t
){
return
i
.
jumpVAOrfinishVA
(
t
)}}},[
i
.
_v
(
i
.
_s
(
t
.
name
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td2"
},[
i
.
_v
(
i
.
_s
(
t
.
time
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td3"
},[
i
.
_v
(
i
.
_s
(
t
.
progress
))])])]})],
2
)]}),
i
.
_v
(
" "
),
i
.
tabs
[
3
].
assess
.
video
.
length
?
i
.
_e
():[
a
(
"div"
,{
staticStyle
:{
width
:
"100%"
,
"font-size"
:
"30rpx"
,
margin
:
"40rpx auto 10rpx auto"
,
"text-align"
:
"center"
}},[
i
.
_v
(
"暂无数据"
)])]],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table-title"
},[
i
.
_v
(
"试题及主观题"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table"
},[
a
(
"div"
,{
staticClass
:
"th"
},[
a
(
"div"
,{
staticClass
:
"col3-td1"
},[
i
.
_v
(
"章节"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td2"
},[
i
.
_v
(
"提交时间"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td3"
},[
i
.
_v
(
"得分"
)])]),
i
.
_v
(
" "
),
i
.
_l
(
i
.
tabs
[
3
].
assess
.
homewrok
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"tb"
},[
a
(
"div"
,{
staticClass
:
"tt"
},[
i
.
_v
(
i
.
_s
(
t
.
title
))]),
i
.
_v
(
" "
),
i
.
_l
(
t
.
arr
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"rd"
},[
a
(
"div"
,{
staticClass
:
"col3-td1"
},[
i
.
_v
(
i
.
_s
(
t
.
name
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td2"
},[
i
.
_v
(
i
.
_s
(
t
.
created_time
||
"暂无提交"
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td3"
},[
i
.
_v
(
i
.
_s
(
t
.
score
))])])]})],
2
)]}),
i
.
_v
(
" "
),
i
.
tabs
[
3
].
assess
.
homewrok
.
length
?
i
.
_e
():[
a
(
"div"
,{
staticStyle
:{
width
:
"100%"
,
"font-size"
:
"30rpx"
,
margin
:
"40rpx auto 10rpx auto"
,
"text-align"
:
"center"
}},[
i
.
_v
(
"暂无数据"
)])]],
2
)])])],
1
)],
1
),
i
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
xs
:
24
,
sm
:
9
,
md
:
7
,
lg
:
6
,
xl
:
4
}},[
i
.
tabs
[
0
].
content
&&
i
.
tabs
[
0
].
content
.
teachers
&&
i
.
tabs
[
0
].
content
.
teachers
.
length
?[
a
(
"el-tabs"
,{
on
:{
"tab-click"
:
i
.
handleClick
},
model
:{
value
:
i
.
activeName1
,
callback
:
function
(
t
){
i
.
activeName1
=
t
},
expression
:
"activeName1"
}},[
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"课程讲师"
,
name
:
"1"
}},[
i
.
_l
(
i
.
tabs
[
0
].
content
.
teachers
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"list-teacher"
},[
a
(
"img"
,{
staticClass
:
"img"
,
attrs
:{
src
:
t
.
src
,
alt
:
""
}}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"ctx"
},[
a
(
"div"
,{
staticClass
:
"top-ctx"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
i
.
_v
(
i
.
_s
(
t
.
name
))])]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"bottom-ctx"
},[
a
(
"div"
,{
staticClass
:
"t1"
},[
i
.
_v
(
i
.
_s
(
t
.
edu
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"t2"
},[
i
.
_v
(
i
.
_s
(
t
.
job
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"t3"
},[
i
.
_v
(
i
.
_s
(
t
.
unit
))])])])])]})],
2
)],
1
)]:
i
.
_e
()],
2
)],
1
)],
1
)])}
var
a
=
[
function
(){
var
t
=
this
.
$createElement
,
s
=
this
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
staticClass
:
"no-img"
},[
s
(
"i"
,{
staticClass
:
"el-icon-self-13"
})])}];
e
.
d
(
s
,
"a"
,
function
(){
return
i
}),
e
.
d
(
s
,
"b"
,
function
(){
return
a
})}}]);
\ No newline at end of file
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
21
],{
260
:
function
(
t
,
s
,
e
){
"use strict"
;
e
.
r
(
s
);
var
i
=
e
(
470
),
a
=
e
(
316
);
for
(
var
r
in
a
)
"default"
!==
r
&&
function
(
t
){
e
.
d
(
s
,
t
,
function
(){
return
a
[
t
]})}(
r
);
e
(
414
);
var
c
=
e
(
1
),
o
=
Object
(
c
.
a
)(
a
.
default
,
i
.
a
,
i
.
b
,
!
1
,
null
,
"dac2ec40"
,
null
);
s
.
default
=
o
.
exports
},
316
:
function
(
t
,
s
,
e
){
"use strict"
;
e
.
r
(
s
);
var
i
=
e
(
317
),
a
=
e
.
n
(
i
);
for
(
var
r
in
i
)
"default"
!==
r
&&
function
(
t
){
e
.
d
(
s
,
t
,
function
(){
return
i
[
t
]})}(
r
);
s
.
default
=
a
.
a
},
317
:
function
(
t
,
s
,
e
){
"use strict"
;
Object
.
defineProperty
(
s
,
"__esModule"
,{
value
:
!
0
});
var
l
=
a
(
e
(
45
)),
o
=
a
(
e
(
82
)),
i
=
a
(
e
(
255
));
function
a
(
t
){
return
t
&&
t
.
__esModule
?
t
:{
default
:
t
}}
s
.
default
=
{
components
:{},
props
:{
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
ckeditor
:
null
,
activeName
:
"1"
,
activeName1
:
"1"
,
passCount
:
0
,
headerInfo
:{},
tabs
:[{
title
:
"课程简介"
,
isShow
:
!
0
,
content
:{
text
:
"<p><b>视频课程没有加载出来,请检查自己的网络环境,并重新刷新。</b>"
,
teachers
:[{
src
:
""
,
name
:
"讲师姓名"
,
edu
:
"学历"
,
job
:
"职称"
,
unit
:
"讲师所在单位"
}]}},{
title
:
"课程内容"
,
isShow
:
!
1
,
chapterList
:{
currentChapterId
:
"11"
,
course
:[{
title
:
"第一章:测试章节"
,
isUp
:
!
0
,
chapters
:[{
id
:
"12"
,
time
:
"19:09"
,
name
:
"1.2 测试课程"
}]},{
title
:
"第二章:证券估值"
,
isUp
:
!
0
,
chapters
:[]},{
title
:
"课程资料"
,
isUp
:
!
0
,
chapters
:[]}]}},{
title
:
"课程讨论"
,
isShow
:
!
1
},{
title
:
"课程考核"
,
isShow
:
!
1
,
richText
:
"<div class='h1'>一、最终成绩计算</div> <div class='p'>课程表现得分*30%+每章试题得分*30%+结业大作业得分*40%=该门课程总得分,满分100分,低于80分为不及格,需重修此门课程。84分以上方可申请学位。</div> <img class='b1' src='http://zws-imgs-pub.oss-cn-beijing.aliyuncs.com/static/build/www/course-check.png' mode='aspectFill' /> <div class='h1'>二、具体细则</div> <div class='h2'>课程表现:总分100分(占科目总成绩的30%)</div> <div class='p'>1、每个视频观看完成度50分:以后台数据统计为准,全部看完视频满分50分,其它酌情给分。</div> <div class='em'>注:视频观看考核的是实际播放时长,不是进度条的显示状态,进度条满格并不一定表示观看完这个视频。以下方每日学习时长为准。</div> <div class='p'>2、课程反馈建设性问题及课程完成情况50分:反馈问题以教务老师统计为准,课程完成情况以后台数据为准,是否按时完成视频观看、测试、作业提交,满分50分,酌情给分。</div> <div class='h2'>每章试题:总分100分(占科目总成绩的30%)</div> <div class='p'>本课程所有试题的平均正确率*100分*占总成绩30%=此项得分。(比如正确度为80%,则此项得分:80%*100*30%=24分)</div> <div class='h2'>结业大作业:总分100分(占科目总成绩的40%)</div> <div class='p'>结业大作业满分为100分,以助教老师给分为准。</div>"
,
assess
:{
score
:
"20"
,
duration
:
"00:01:20"
,
progress
:
"0/10"
,
video
:[{
title
:
"第一章 市场营销原理导论"
,
sid
:
""
,
cid
:
""
,
arr
:[{
name
:
"1.1 什么是市场营销什么是市场营销市场营销什么是市场营销什么是市场营销"
,
time
:
"12:08"
,
progress
:
"100%"
,
vid
:
""
}]}],
homewrok
:[{
title
:
"第一章 市场营销原理导论"
,
arr
:[{
name
:
"1.1 什么是市场营销什么是市场营销市场营销什么是市场营销什么是市场营销"
,
score
:
20
}]}],
essay
:{
created_time
:
""
,
status
:
"未提交"
,
score
:
"暂无"
}}}],
sort
:[{
isShow
:
!
1
,
str
:
""
},{
isShow
:
!
1
,
str
:
"tag"
}],
discussList
:[],
param
:{
limit
:
10
,
offset
:
0
,
sort
:
""
},
publish
:{
course_id
:
this
.
cid
,
semester_id
:
this
.
sid
,
title
:
""
,
contents
:
""
},
isPublicShow
:
!
1
,
publishRules
:{
title
:[{
required
:
!
0
,
message
:
"请输入标题"
,
trigger
:
"blur"
}]}}},
mounted
:
function
(){
var
n
=
this
,
d
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
if
(
"0"
===
this
.
cid
&&
"0"
===
this
.
sid
)
return
this
.
$message
({
message
:
"URL异常,请点击“返回首页”,重新选择课程学习!!"
,
type
:
"info"
,
duration
:
1
e4
}),
void
d
.
close
();
l
.
default
.
courseAction
.
getCourseDetail
(
this
.
cid
,
this
.
sid
).
then
(
function
(
o
){
n
.
headerInfo
=
o
.
headerInfo
,
n
.
tabs
[
0
].
content
=
o
.
tabs0Content
,
n
.
tabs
[
1
].
chapterList
=
o
.
tabs1ChapterList
,
o
.
tabs3richTest
&&
(
n
.
tabs
[
3
].
richText
=
o
.
tabs3richTest
),
l
.
default
.
courseAction
.
getCourseAssess
(
n
.
cid
,
n
.
sid
).
then
(
function
(
t
){
for
(
var
s
=
o
.
tabs1ChapterList
.
course
,
e
=
0
;
e
<
t
.
video
.
length
;
e
++
)
for
(
var
i
=
t
.
video
[
e
].
arr
,
a
=
s
[
e
].
chapters
,
r
=
0
;
r
<
i
.
length
;
r
++
)
for
(
var
c
=
r
;
c
<
a
.
length
;
c
++
)
if
(
i
[
r
].
id
===
a
[
c
].
id
){
i
[
r
].
vid
=
a
[
c
].
vid
,
i
[
r
].
duration
=
a
[
c
].
duration
;
break
}
n
.
tabs
[
3
].
assess
=
t
,
d
.
close
()}).
catch
(
function
(
t
){
n
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){}),
l
.
default
.
discussAction
.
getCourseDiscussList
(
n
.
cid
,
n
.
sid
,
n
.
param
).
then
(
function
(
t
){
n
.
discussList
=
t
}).
catch
(
function
(
t
){
n
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){})}).
catch
(
function
(
t
){
n
.
$message
.
error
(
t
.
message
),
d
.
close
()}).
finally
(
function
(){}),
window
.
addEventListener
(
"resize"
,
this
.
resizeRoot
.
bind
(
this
),
!
1
)},
destroyed
:
function
(){
window
.
removeEventListener
(
"resize"
,
this
.
resizeRoot
.
bind
(
this
),
!
1
),
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
},
updated
:
function
(){
this
.
resizeRoot
(),
this
.
isPublicShow
&&
this
.
initckeditor
()},
beforeUpdate
:
function
(){
this
.
isPublicShow
||
(
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
)},
methods
:{
handleClick
:
function
(
t
,
s
){},
initckeditor
:
function
(){
this
.
ckeditor
||
(
this
.
ckeditor
=
i
.
default
.
replace
(
"editor"
,{
height
:
300
,
uiColor
:
"#eeeeee"
,
filebrowserImageUploadUrl
:
"/api/ckeditor/img/upload"
,
toolbar
:[{
name
:
"styles"
,
items
:[
"Styles"
,
"Format"
,
"Font"
,
"FontSize"
]},{
name
:
"colors"
,
items
:[
"TextColor"
,
"BGColor"
]},{
name
:
"tools"
,
items
:[
"Maximize"
,
"ShowBlocks"
]},{
name
:
"editing"
,
items
:[
"Find"
,
"Replace"
]},
"/"
,{
name
:
"basicstyles"
,
items
:[
"Bold"
,
"Italic"
,
"Underline"
,
"Strike"
,
"Subscript"
,
"Superscript"
,
"-"
,
"RemoveFormat"
]},{
name
:
"paragraph"
,
items
:[
"NumberedList"
,
"BulletedList"
,
"-"
,
"Outdent"
,
"Indent"
,
"-"
,
"Blockquote"
,
"CreateDiv"
,
"-"
,
"JustifyLeft"
,
"JustifyCenter"
,
"JustifyRight"
,
"JustifyBlock"
,
"-"
,
"BidiLtr"
,
"BidiRtl"
]},{
name
:
"links"
,
items
:[
"Link"
,
"Unlink"
,
"Anchor"
]},{
name
:
"insert"
,
items
:[
"Image"
,
"Table"
,
"HorizontalRule"
]}]}))},
clickJumpOrStatus
:
function
(
t
){
var
s
=
t
.
currentTarget
.
dataset
;
if
(
s
.
status
){
var
e
=
s
.
index
,
i
=
this
.
tabs
[
1
].
chapterList
.
course
[
e
];
i
.
isUp
=!
i
.
isUp
}
else
{
window
.
localStorage
.
setItem
(
"headerInfo"
,
JSON
.
stringify
(
this
.
headerInfo
));
var
a
=
this
.
tabs
[
1
].
chapterList
.
course
[
s
.
index
],
r
=
s
.
cid
;
if
(
"course_info"
===
a
.
type
)
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/course-info/course_info"
});
else
if
(
"course_work"
===
a
.
type
){
if
(
!
this
.
headerInfo
.
survey
)
return
this
.
$message
(
"请先填写教学评估,然后完成大作业。"
),
!
1
;
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/course-work/course_work"
})}
else
if
(
"teach_evaluation"
===
a
.
type
)
this
.
$router
.
push
({
path
:
"/survey/"
+
r
});
else
if
(
"course_exam"
===
a
.
type
){
var
c
=
a
.
data
[
0
].
id
;
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-exam/"
+
c
})}}},
jumpToOtherVA
:
function
(
t
){
if
(
this
.
headerInfo
.
isStart
){
var
s
=
t
.
target
.
dataset
,
e
=
s
.
cid
,
i
=
s
.
vid
,
a
=
s
.
type
;
if
(
!
s
.
hasva
){
window
.
localStorage
.
setItem
(
"headerInfo"
,
JSON
.
stringify
(
this
.
headerInfo
));
var
r
=
s
.
index
,
c
=
s
.
count
,
o
=
this
.
tabs
[
1
].
chapterList
.
course
[
r
];
return
o
&&
o
.
chapters
[
c
]?
void
(
3
===
o
.
chapters
[
c
].
type
?
1
===
o
.
chapters
[
c
].
work_type
?
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-exam/"
+
i
}):
2
===
o
.
chapters
[
c
].
work_type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-work/"
+
i
}):
4
===
o
.
chapters
[
c
].
type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-read/"
+
i
})):
void
this
.
$message
.
error
(
"系统未知错误,003"
)}
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-video/"
+
i
+
"/"
+
a
})}
else
this
.
$message
.
error
(
"先选课,才能学习"
)},
startLearn
:
function
(
t
){
var
s
=
t
.
currentTarget
.
dataset
,
e
=
s
.
cid
,
i
=
s
.
vid
,
a
=
s
.
type
;
this
.
$router
.
push
({
path
:
"/player/"
+
e
+
"/chapter-video/"
+
i
+
"/"
+
a
})},
noWantThisCourse
:
function
(){
var
s
=
this
;
if
(
this
.
passCountTimeout
&&
clearTimeout
(
this
.
passCountTimeout
),
this
.
passCountTimeout
=
setTimeout
(
function
(){
s
.
passCount
=
0
},
500
),
this
.
passCount
<
15
)
this
.
passCount
++
;
else
{
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
l
.
default
.
courseAction
.
outSelectCourse
(
this
.
cid
,
this
.
sid
).
then
(
function
(
t
){
s
.
headerInfo
.
isStart
=!
1
,
e
.
close
(),
s
.
$message
({
type
:
"success"
,
message
:
"退课成功"
}),
s
.
passCount
=
0
}).
catch
(
function
(
t
){
s
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
e
.
close
()})}},
jumpVAOrfinishVA
:
function
(
t
){
var
s
=
t
.
currentTarget
.
dataset
,
e
=
this
.
_keydownfn
.
bind
(
this
,
s
);
document
.
addEventListener
(
"keydown"
,
e
,
!
1
);
document
.
addEventListener
(
"mouseup"
,
function
t
(){
document
.
removeEventListener
(
"keydown"
,
e
),
document
.
removeEventListener
(
"mouseup"
,
t
)},
!
1
)},
_keydownfn
:
function
(
t
,
s
){
var
e
=
this
,
i
=
t
.
cid
,
a
=
t
.
vid
,
r
=
t
.
duration
,
c
=
t
.
type
;
79
===
s
.
keyCode
&&
this
.
$router
.
push
({
path
:
"/player/"
+
i
+
"/chapter-video/"
+
a
+
"/"
+
c
}),
70
===
s
.
keyCode
&&
l
.
default
.
chapterAction
.
updateProgress
({
d
:
o
.
default
.
other
.
getIdt
(),
i
:
o
.
default
.
other
.
getIdt
(),
c
:
i
,
v
:
a
,
_p
:
parseInt
(
r
)
+
11
,
_m
:
parseInt
(
r
),
_c
:
parseInt
(
r
),
ps
:
"0,0"
}).
then
(
function
(
t
){
t
.
success
&&
e
.
$message
.
success
(
"补课成功,刷新查看结果"
)}).
catch
(
function
(
t
){
e
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){})},
wantThisCourse
:
function
(){
var
s
=
this
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
l
.
default
.
courseAction
.
selectCourse
(
this
.
cid
,
this
.
sid
).
then
(
function
(
t
){
s
.
headerInfo
.
isStart
=!
0
,
e
.
close
(),
s
.
$message
({
type
:
"success"
,
message
:
"选课成功"
})}).
catch
(
function
(
t
){
s
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
e
.
close
()})},
resizeRoot
:
function
(){
var
a
=
this
,
t
=
document
.
querySelectorAll
(
".ellipsis"
),
r
=
getComputedStyle
(
window
.
document
.
documentElement
)[
"font-size"
].
replace
(
"px"
,
""
);
t
.
forEach
(
function
(
t
,
s
){
t
.
previousSibling
.
style
.
height
=
"auto"
;
var
e
=
t
.
previousSibling
.
offsetHeight
,
i
=
.
18
*
r
*
1.5
*
2
;
i
<
e
?(
a
.
discussList
[
s
]
&&
(
a
.
discussList
[
s
].
isShow
=!
0
),
t
.
previousSibling
.
style
.
height
=
i
+
"px"
):
a
.
discussList
[
s
]
&&
(
a
.
discussList
[
s
].
isShow
=!
1
)})},
publishDiscuss
:
function
(){
this
.
isPublicShow
=!
0
},
gobackDiscuss
:
function
(){
this
.
isPublicShow
=!
1
},
onSubmitPublish
:
function
(){
var
e
=
this
;
this
.
$refs
.
setPublishform
.
validate
(
function
(
t
){
if
(
!
t
)
return
e
.
$message
.
error
(
"请输入标题"
),
!
1
;
if
(
e
.
ckeditor
.
getData
()){
e
.
publish
.
contents
=
e
.
ckeditor
.
getData
();
var
s
=
e
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
l
.
default
.
discussAction
.
publishQues
(
e
.
publish
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"问题发布成功"
}),
e
.
isPublicShow
=!
1
,
l
.
default
.
discussAction
.
getCourseDiscussList
(
e
.
cid
,
e
.
sid
,
e
.
param
).
then
(
function
(
t
){
e
.
discussList
=
t
}).
catch
(
function
(
t
){
e
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){})}).
catch
(
function
(
t
){
e
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
s
.
close
()})}
else
e
.
$message
.
error
(
"请输入正文内容"
)})},
goDiscussDetail
:
function
(
t
){
var
s
=
t
.
currentTarget
.
dataset
.
id
;
this
.
$router
.
push
({
path
:
"/app/my-learn/discuss-detail/"
+
this
.
cid
+
"/"
+
s
})},
sortFn
:
function
(
t
){
var
s
=
this
,
e
=
t
.
currentTarget
.
dataset
.
index
,
i
=
t
.
currentTarget
.
dataset
.
str
;
this
.
sort
[
e
].
isShow
=!
this
.
sort
[
e
].
isShow
,
this
.
sort
[(
parseInt
(
e
)
+
1
)
%
2
].
isShow
=!
1
,
this
.
param
.
sort
=
this
.
sort
[
e
].
isShow
?
i
:
""
,
this
.
param
.
offset
=
0
;
var
a
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
l
.
default
.
discussAction
.
getCourseDiscussList
(
this
.
cid
,
this
.
sid
,
this
.
param
).
then
(
function
(
t
){
s
.
discussList
=
t
}).
catch
(
function
(
t
){
s
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
a
.
close
()})}}}},
318
:
function
(
t
,
s
,
e
){},
414
:
function
(
t
,
s
,
e
){
"use strict"
;
var
i
=
e
(
318
);
e
.
n
(
i
).
a
},
470
:
function
(
t
,
s
,
e
){
"use strict"
;
function
i
(){
var
i
=
this
,
t
=
i
.
$createElement
,
a
=
i
.
_self
.
_c
||
t
;
return
a
(
"div"
,[
a
(
"div"
,{
staticClass
:
"con-title"
},[
i
.
_v
(
"课程详情"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"detail-box"
},[
a
(
"div"
,{
staticClass
:
"box-thd"
},[
a
(
"div"
,{
staticClass
:
"title"
,
on
:{
click
:
i
.
noWantThisCourse
}},[
i
.
_v
(
i
.
_s
(
i
.
headerInfo
.
title
)
+
"
\
n "
),
i
.
headerInfo
.
isStart
&&
i
.
tabs
[
1
].
chapterList
.
currentChapterId
?[
a
(
"el-button"
,{
staticClass
:
"rbtn"
,
attrs
:{
type
:
"primary"
,
size
:
"mini"
,
"data-cid"
:
i
.
cid
,
"data-sid"
:
i
.
sid
,
"data-type"
:
i
.
tabs
[
1
].
chapterList
.
currentVideoProvider
,
"data-vid"
:
i
.
tabs
[
1
].
chapterList
.
currentChapterId
},
on
:{
click
:
i
.
startLearn
}},[
i
.
_v
(
"继续学习"
)])]:
i
.
headerInfo
.
isStart
?[
a
(
"el-button"
,{
staticClass
:
"rbtn"
,
attrs
:{
type
:
"primary"
,
size
:
"mini"
,
"data-cid"
:
i
.
cid
,
"data-sid"
:
i
.
sid
,
"data-type"
:
i
.
tabs
[
1
].
chapterList
.
course
[
0
].
chapters
[
0
].
video_provider
,
"data-vid"
:
i
.
tabs
[
1
].
chapterList
.
course
[
0
].
chapters
[
0
].
vid
},
on
:{
click
:
i
.
startLearn
}},[
i
.
_v
(
"开始学习"
)])]:[
a
(
"el-button"
,{
staticClass
:
"rbtn"
,
attrs
:{
type
:
"primary"
,
size
:
"mini"
},
on
:{
click
:
i
.
wantThisCourse
}},[
i
.
_v
(
"选课"
)])]],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"tags"
},[
i
.
_l
(
i
.
headerInfo
.
arrTab
,
function
(
t
,
s
){
return
[
a
(
"span"
,{
key
:
s
,
staticClass
:
"tabs-item"
},[
i
.
_v
(
i
.
_s
(
t
))])]})],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
i
.
_v
(
i
.
_s
(
i
.
headerInfo
.
time
)
+
" "
+
i
.
_s
(
i
.
headerInfo
.
status
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
float
:
"left"
,
width
:
"100%"
,
height
:
"1px"
}}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"progress"
},[
i
.
_v
(
"
\
n 视频观看进度 "
),
a
(
"el-progress"
,{
attrs
:{
percentage
:
i
.
headerInfo
.
progress
,
color
:
"#b49441"
}})],
1
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"box-tbd"
},[
a
(
"div"
,{
staticClass
:
"left-pic"
},[
i
.
headerInfo
.
bgSrc
?[
a
(
"img"
,{
attrs
:{
src
:
i
.
headerInfo
.
bgSrc
,
alt
:
""
}})]:[
i
.
_m
(
0
)]],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-content"
,
domProps
:{
innerHTML
:
i
.
_s
(
i
.
tabs
[
0
].
content
.
text
)}})]),
i
.
_v
(
" "
),
a
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
a
(
"el-col"
,{
attrs
:{
xs
:
24
,
sm
:
15
,
md
:
17
,
lg
:
18
,
xl
:
20
}},[
a
(
"el-tabs"
,{
on
:{
"tab-click"
:
i
.
handleClick
},
model
:{
value
:
i
.
activeName
,
callback
:
function
(
t
){
i
.
activeName
=
t
},
expression
:
"activeName"
}},[
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"课程内容"
,
name
:
"1"
}},[
a
(
"div"
,{
staticClass
:
"course-list"
},[
i
.
_l
(
i
.
tabs
[
1
].
chapterList
.
course
,
function
(
t
,
e
){
return
[
a
(
"div"
,{
key
:
e
,
class
:[
"content-group"
,
t
.
chapters
.
length
?
""
:
"no-child"
,
t
.
isUp
?
"up"
:
""
]},[
a
(
"div"
,{
staticClass
:
"title"
,
attrs
:{
"data-index"
:
e
,
"data-cid"
:
t
.
cid
,
"data-sid"
:
t
.
sid
,
"data-status"
:
!!
t
.
chapters
.
length
},
on
:{
click
:
function
(
t
){
return
i
.
clickJumpOrStatus
(
t
)}}},[
i
.
_v
(
i
.
_s
(
t
.
title
)
+
"
\
n "
),
a
(
"i"
,{
class
:[
"side"
,
t
.
chapters
.
length
?
""
:
"none"
,
t
.
isUp
?
"el-icon-arrow-down"
:
"el-icon-arrow-up"
]})]),
i
.
_v
(
" "
),
i
.
_l
(
t
.
chapters
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
class
:[
"body"
,
t
.
id
===
i
.
tabs
[
1
].
chapterList
.
currentChapterId
&&
"on"
]},[
a
(
"div"
,{
staticClass
:
"name"
,
attrs
:{
"data-vid"
:
t
.
vid
,
"data-cid"
:
t
.
cid
,
"data-sid"
:
t
.
sid
,
"data-hasVA"
:
t
.
time
,
"data-type"
:
t
.
video_provider
,
"data-name"
:
t
.
name
,
"data-index"
:
e
,
"data-count"
:
s
},
on
:{
click
:
i
.
jumpToOtherVA
}},[
i
.
_v
(
"
\
n "
+
i
.
_s
(
t
.
name
)
+
"
\
n "
),
a
(
"div"
,{
staticClass
:
"time"
},[
i
.
_v
(
i
.
_s
(
t
.
time
))])])])]})],
2
)]})],
2
)]),
i
.
_v
(
" "
),
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"课程讨论"
,
name
:
"2"
}},[
i
.
isPublicShow
?[
a
(
"div"
,{
staticClass
:
"publish"
},[
a
(
"div"
,{
staticStyle
:{
overflow
:
"hidden"
}},[
a
(
"div"
,{
staticClass
:
"right-goback-txt"
},[
i
.
_v
(
"发布问题"
)]),
i
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
i
.
gobackDiscuss
}},[
i
.
_v
(
"返回问题列表"
)])],
1
),
i
.
_v
(
" "
),
a
(
"el-form"
,{
ref
:
"setPublishform"
,
attrs
:{
model
:
i
.
publish
,
rules
:
i
.
publishRules
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"标题"
,
prop
:
"title"
}},[
a
(
"el-input"
,{
attrs
:{
type
:
"text"
,
placeholder
:
"请输入标题"
},
model
:{
value
:
i
.
publish
.
title
,
callback
:
function
(
t
){
i
.
$set
(
i
.
publish
,
"title"
,
t
)},
expression
:
"publish.title"
}})],
1
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
"line-height"
:
"1.5"
,
"font-size"
:
"0.16rem"
,
"margin-bottom"
:
"0.2rem"
}},[
i
.
_v
(
"正文内容"
)]),
i
.
_v
(
" "
),
a
(
"textarea"
,{
attrs
:{
id
:
"editor"
}}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
height
:
"0.2rem"
}}),
i
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
i
.
onSubmitPublish
}},[
i
.
_v
(
"发布问题"
)])],
1
)],
1
)],
1
)]:[
a
(
"div"
,{
staticClass
:
"pub-ques"
},[
a
(
"div"
,{
staticClass
:
"ask"
},[
a
(
"i"
,{
staticClass
:
"el-icon-edit img"
}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"txt"
,
on
:{
click
:
i
.
publishDiscuss
}},[
i
.
_v
(
"发布问题 ..."
)])]),
i
.
_v
(
" "
),
a
(
"div"
,{
class
:[
"item-order"
,
i
.
sort
[
0
].
isShow
?
"on"
:
""
],
attrs
:{
"data-index"
:
0
,
"data-str"
:
i
.
sort
[
0
].
str
},
on
:{
click
:
i
.
sortFn
}},[
i
.
_v
(
"按时间排序"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
class
:[
"item-order"
,
i
.
sort
[
1
].
isShow
?
"on"
:
""
],
attrs
:{
"data-index"
:
1
,
"data-str"
:
i
.
sort
[
1
].
str
},
on
:{
click
:
i
.
sortFn
}},[
i
.
_v
(
"按投票排序"
)])]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"discuss-scroll"
,
attrs
:{
bindscrolltolower
:
"loadmore"
,
bindscrolltoupper
:
"updatenew"
}},[
i
.
_l
(
i
.
discussList
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"item-list"
,
attrs
:{
"data-id"
:
t
.
id
,
"data-sid"
:
t
.
sid
,
"data-index"
:
s
},
on
:{
click
:
i
.
goDiscussDetail
}},[
a
(
"div"
,{
staticClass
:
"user"
},[
t
.
user
.
url
?[
a
(
"img"
,{
staticClass
:
"img"
,
attrs
:{
src
:
t
.
user
.
url
}})]:[
a
(
"img"
,{
staticClass
:
"img"
,
attrs
:{
src
:
e
(
121
)}})],
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
i
.
_v
(
i
.
_s
(
t
.
user
.
name
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
i
.
_v
(
i
.
_s
(
t
.
user
.
time
))])])],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"title"
},[
i
.
_v
(
i
.
_s
(
t
.
title
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
class
:[
"text"
],
domProps
:{
innerHTML
:
i
.
_s
(
t
.
text
)}}),
a
(
"div"
,{
class
:[
"ellipsis"
,
t
.
isShow
?
"on"
:
""
]},[
i
.
_v
(
"...."
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"result"
},[
i
.
_v
(
i
.
_s
(
t
.
askCnt
)
+
" 回答"
),
a
(
"div"
,{
staticStyle
:{
display
:
"inline-block"
,
width
:
"20px"
}}),
i
.
_v
(
i
.
_s
(
t
.
TouCnt
)
+
" 投票"
)])])]}),
i
.
_v
(
" "
),
i
.
discussList
.
length
?
i
.
_e
():[
a
(
"div"
,{
staticClass
:
"no-data"
},[
i
.
_v
(
"暂无相关讨论"
)])]],
2
)]],
2
),
i
.
_v
(
" "
),
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"课程考核"
,
name
:
"3"
}},[
a
(
"div"
,{
staticClass
:
"course-assess"
},[
a
(
"div"
,{
staticClass
:
"title"
},[
i
.
_v
(
"最终成绩:"
+
i
.
_s
(
i
.
tabs
[
3
].
assess
.
score
&&
i
.
tabs
[
3
].
assess
.
score
+
"分"
||
"暂无"
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"topic"
},[
a
(
"div"
,{
staticClass
:
"line"
}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"tit"
},[
i
.
_v
(
"课程考核标准"
)])]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"detail"
},[
a
(
"div"
,{
staticClass
:
"detail-rich"
,
domProps
:{
innerHTML
:
i
.
_s
(
i
.
tabs
[
3
].
richText
)}})]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"topic"
},[
a
(
"div"
,{
staticClass
:
"line"
}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"tit"
},[
i
.
_v
(
"学习进度及成绩"
)])]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table-title"
},[
i
.
_v
(
"课程“音视频”观看统计( 累计学习时长:"
+
i
.
_s
(
i
.
tabs
[
3
].
assess
.
duration
)
+
",完成率:"
+
i
.
_s
(
i
.
tabs
[
3
].
assess
.
progress
)
+
" )"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table"
},[
a
(
"div"
,{
staticClass
:
"th"
},[
a
(
"div"
,{
staticClass
:
"col3-td1"
},[
i
.
_v
(
"章节"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td2"
},[
i
.
_v
(
"学习时长"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td3"
},[
i
.
_v
(
"百分比"
)])]),
i
.
_v
(
" "
),
i
.
_l
(
i
.
tabs
[
3
].
assess
.
video
,
function
(
e
,
t
){
return
[
a
(
"div"
,{
key
:
t
,
staticClass
:
"tb"
},[
a
(
"div"
,{
staticClass
:
"tt"
},[
i
.
_v
(
i
.
_s
(
e
.
title
))]),
i
.
_v
(
" "
),
i
.
_l
(
e
.
arr
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"rd"
},[
a
(
"div"
,{
staticClass
:
"col3-td1"
,
attrs
:{
"data-sid"
:
e
.
sid
,
"data-cid"
:
e
.
cid
,
"data-vid"
:
t
.
vid
,
"data-type"
:
t
.
type
,
"data-duration"
:
t
.
duration
},
on
:{
mousedown
:
function
(
t
){
return
i
.
jumpVAOrfinishVA
(
t
)}}},[
i
.
_v
(
i
.
_s
(
t
.
name
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td2"
},[
i
.
_v
(
i
.
_s
(
t
.
time
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td3"
},[
i
.
_v
(
i
.
_s
(
t
.
progress
))])])]})],
2
)]}),
i
.
_v
(
" "
),
i
.
tabs
[
3
].
assess
.
video
.
length
?
i
.
_e
():[
a
(
"div"
,{
staticStyle
:{
width
:
"100%"
,
"font-size"
:
"30rpx"
,
margin
:
"40rpx auto 10rpx auto"
,
"text-align"
:
"center"
}},[
i
.
_v
(
"暂无数据"
)])]],
2
),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table-title"
},[
i
.
_v
(
"试题及主观题"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"table"
},[
a
(
"div"
,{
staticClass
:
"th"
},[
a
(
"div"
,{
staticClass
:
"col3-td1"
},[
i
.
_v
(
"章节"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td2"
},[
i
.
_v
(
"提交时间"
)]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td3"
},[
i
.
_v
(
"得分"
)])]),
i
.
_v
(
" "
),
i
.
_l
(
i
.
tabs
[
3
].
assess
.
homewrok
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"tb"
},[
a
(
"div"
,{
staticClass
:
"tt"
},[
i
.
_v
(
i
.
_s
(
t
.
title
))]),
i
.
_v
(
" "
),
i
.
_l
(
t
.
arr
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"rd"
},[
a
(
"div"
,{
staticClass
:
"col3-td1"
},[
i
.
_v
(
i
.
_s
(
t
.
name
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td2"
},[
i
.
_v
(
i
.
_s
(
t
.
created_time
||
"暂无提交"
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"col3-td3"
},[
i
.
_v
(
i
.
_s
(
t
.
score
))])])]})],
2
)]}),
i
.
_v
(
" "
),
i
.
tabs
[
3
].
assess
.
homewrok
.
length
?
i
.
_e
():[
a
(
"div"
,{
staticStyle
:{
width
:
"100%"
,
"font-size"
:
"30rpx"
,
margin
:
"40rpx auto 10rpx auto"
,
"text-align"
:
"center"
}},[
i
.
_v
(
"暂无数据"
)])]],
2
)])])],
1
)],
1
),
i
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
xs
:
24
,
sm
:
9
,
md
:
7
,
lg
:
6
,
xl
:
4
}},[
i
.
tabs
[
0
].
content
&&
i
.
tabs
[
0
].
content
.
teachers
&&
i
.
tabs
[
0
].
content
.
teachers
.
length
?[
a
(
"el-tabs"
,{
on
:{
"tab-click"
:
i
.
handleClick
},
model
:{
value
:
i
.
activeName1
,
callback
:
function
(
t
){
i
.
activeName1
=
t
},
expression
:
"activeName1"
}},[
a
(
"el-tab-pane"
,{
attrs
:{
label
:
"课程讲师"
,
name
:
"1"
}},[
i
.
_l
(
i
.
tabs
[
0
].
content
.
teachers
,
function
(
t
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"list-teacher"
},[
a
(
"img"
,{
staticClass
:
"img"
,
attrs
:{
src
:
t
.
src
,
alt
:
""
}}),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"ctx"
},[
a
(
"div"
,{
staticClass
:
"top-ctx"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
i
.
_v
(
i
.
_s
(
t
.
name
))])]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"bottom-ctx"
},[
a
(
"div"
,{
staticClass
:
"t1"
},[
i
.
_v
(
i
.
_s
(
t
.
edu
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"t2"
},[
i
.
_v
(
i
.
_s
(
t
.
job
))]),
i
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"t3"
},[
i
.
_v
(
i
.
_s
(
t
.
unit
))])])])])]})],
2
)],
1
)]:
i
.
_e
()],
2
)],
1
)],
1
)])}
var
a
=
[
function
(){
var
t
=
this
.
$createElement
,
s
=
this
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
staticClass
:
"no-img"
},[
s
(
"i"
,{
staticClass
:
"el-icon-self-13"
})])}];
e
.
d
(
s
,
"a"
,
function
(){
return
i
}),
e
.
d
(
s
,
"b"
,
function
(){
return
a
})}}]);
\ No newline at end of file
server/client-dist/resources/21.
76db4080a681
.css
→
server/client-dist/resources/21.
cf5249c9d1f6
.css
浏览文件 @
cc8387a2
body
.el-tab-pane
[
data-v-3309b347
]
{
padding-top
:
0
}
.detail-box
[
data-v-3309b347
]
{
margin
:
.3rem
;
color
:
#313131
;
overflow
:
hidden
}
.detail-box
.box-thd
[
data-v-3309b347
]
{
margin-bottom
:
.1rem
;
overflow
:
hidden
}
.detail-box
.box-thd
.title
[
data-v-3309b347
]
{
font-size
:
.22rem
;
line-height
:
1.5
;
font-weight
:
700
}
.detail-box
.box-thd
.title
.rbtn
[
data-v-3309b347
]
{
float
:
right
}
.detail-box
.box-thd
.tags
[
data-v-3309b347
]
{
float
:
left
;
margin
:
.1rem
.2rem
.05rem
0
;
font-size
:
.14rem
}
.detail-box
.box-thd
.tags
span
[
data-v-3309b347
]
{
padding
:
0
.1rem
;
margin
:
0
;
border-right
:
1px
solid
#313131
}
.detail-box
.box-thd
.tags
span
[
data-v-3309b347
]
:first-child
{
padding-left
:
0
}
.detail-box
.box-thd
.tags
span
[
data-v-3309b347
]
:last-child
{
border
:
none
}
.detail-box
.box-thd
.time
[
data-v-3309b347
]
{
float
:
left
;
margin
:
.1rem
0
.05rem
;
font-size
:
.14rem
}
.detail-box
.box-thd
.progress
[
data-v-3309b347
]
{
float
:
left
;
width
:
100%
;
font-size
:
14px
}
.detail-box
.box-thd
.progress
.el-progress
[
data-v-3309b347
]
{
width
:
45%
;
display
:
inline-block
;
vertical-align
:
text-bottom
}
.detail-box
.box-tbd
[
data-v-3309b347
]
{
margin-bottom
:
.2rem
;
overflow
:
hidden
}
.detail-box
.box-tbd
.left-pic
[
data-v-3309b347
]
{
float
:
left
;
width
:
1.8rem
;
overflow
:
hidden
}
.detail-box
.box-tbd
.left-pic
.no-img
[
data-v-3309b347
]
{
width
:
100%
;
height
:
1rem
;
text-align
:
center
;
line-height
:
1.1rem
;
border
:
1px
solid
#c9c9c9
}
.detail-box
.box-tbd
.left-pic
.no-img
i
[
data-v-3309b347
]
{
font-size
:
.4rem
;
color
:
#c9c9c9
}
.detail-box
.box-tbd
.left-pic
img
[
data-v-3309b347
]
{
display
:
block
;
width
:
100%
}
.detail-box
.box-tbd
.right-content
[
data-v-3309b347
]
{
margin-left
:
2rem
;
line-height
:
1.5
;
font-size
:
14px
}
.detail-box
.course-list
[
data-v-3309b347
]
{
padding
:
.2rem
0
.1rem
;
background
:
#fff
}
.detail-box
.course-list
.none
[
data-v-3309b347
]
{
display
:
none
}
.detail-box
.course-list
.content-group
[
data-v-3309b347
]
{
padding
:
0
.2rem
}
.detail-box
.course-list
.content-group.no-child
[
data-v-3309b347
],
.detail-box
.course-list
.content-group.up
[
data-v-3309b347
]
{
margin-bottom
:
.1rem
}
.detail-box
.course-list
.content-group.up
.body
[
data-v-3309b347
]
{
display
:
none
}
.detail-box
.course-list
.content-group
.title
[
data-v-3309b347
]
{
position
:
relative
;
padding
:
.1rem
.54rem
.1rem
.2rem
;
color
:
#313131
;
font-size
:
.16rem
;
line-height
:
.24rem
;
background
:
#e5e5e5
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
cursor
:
pointer
}
.detail-box
.course-list
.content-group
.title
.side
[
data-v-3309b347
]
{
position
:
absolute
;
top
:
50%
;
right
:
.24rem
;
-webkit-transform
:
translateY
(
-50%
);
-moz-transform
:
translateY
(
-50%
);
-ms-transform
:
translateY
(
-50%
);
-o-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
)}
.detail-box
.course-list
.content-group
.body
[
data-v-3309b347
]
{
position
:
relative
;
padding
:
0
.2rem
;
font-size
:
.16rem
;
line-height
:
.24rem
;
color
:
#505050
;
cursor
:
pointer
}
.detail-box
.course-list
.content-group
.body
[
data-v-3309b347
]
:hover
{
background
:
#f3f3f3
}
.detail-box
.course-list
.content-group
.body.on
.name
[
data-v-3309b347
]
{
color
:
#b2183e
}
.detail-box
.course-list
.content-group
.body
.name
[
data-v-3309b347
]
{
padding
:
.1rem
.8rem
.1rem
.2rem
;
border-left
:
.02rem
solid
#c9c9c9
}
.detail-box
.course-list
.content-group
.body
.name
[
data-v-3309b347
]
:before
{
width
:
.2rem
;
height
:
.2rem
;
-webkit-border-radius
:
.32rem
;
-moz-border-radius
:
.32rem
;
border-radius
:
.32rem
;
border
:
.02rem
solid
#c9c9c9
;
background
:
#e5e5e5
;
position
:
absolute
;
left
:
.11rem
;
top
:
.12rem
;
content
:
""
;
display
:
block
;
z-index
:
10
}
.detail-box
.course-list
.content-group
.body
.name
.time
[
data-v-3309b347
]
{
position
:
absolute
;
right
:
.16rem
;
top
:
.1rem
}
.detail-box
.list-teacher
[
data-v-3309b347
]
{
margin-bottom
:
.2rem
;
overflow
:
hidden
}
.detail-box
.list-teacher
.img
[
data-v-3309b347
]
{
float
:
left
;
width
:
30%
;
min-height
:
.8rem
;
background
:
#c9c9c9
}
.detail-box
.list-teacher
.ctx
[
data-v-3309b347
]
{
position
:
relative
;
margin-left
:
32%
;
min-height
:
.5rem
}
.detail-box
.list-teacher
.ctx
.top-ctx
[
data-v-3309b347
]
{
position
:
absolute
;
top
:
0
;
width
:
100%
;
overflow
:
hidden
}
.detail-box
.list-teacher
.ctx
.top-ctx
.tit
[
data-v-3309b347
]
{
font-size
:
14px
;
color
:
#313131
;
line-height
:
1.5
;
overflow
:
hidden
;
word-break
:
break-all
}
.detail-box
.list-teacher
.ctx
.bottom-ctx
[
data-v-3309b347
]
{
display
:
block
;
padding-top
:
.2rem
;
width
:
100%
;
overflow
:
hidden
}
.detail-box
.list-teacher
.ctx
.bottom-ctx
.t1
[
data-v-3309b347
],
.detail-box
.list-teacher
.ctx
.bottom-ctx
.t2
[
data-v-3309b347
]
{
font-size
:
12px
;
line-height
:
1.5
;
color
:
#707070
;
overflow
:
hidden
;
word-break
:
break-all
}
.detail-box
.list-teacher
.ctx
.bottom-ctx
.t3
[
data-v-3309b347
]
{
font-size
:
12px
;
color
:
#707070
;
-o-text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-break
:
break-all
}
.detail-box
.pub-ques
[
data-v-3309b347
]
{
padding
:
0
.26rem
;
overflow
:
hidden
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.detail-box
.pub-ques
.ask
[
data-v-3309b347
]
{
position
:
relative
;
float
:
left
;
margin-top
:
.22rem
;
width
:
40%
;
min-width
:
1rem
;
height
:
.42rem
;
-webkit-border-radius
:
.28rem
;
-moz-border-radius
:
.28rem
;
border-radius
:
.28rem
;
border
:
1
rpx
solid
#dcdcdc
;
background
:
#fff
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
cursor
:
pointer
}
.detail-box
.pub-ques
.ask
.img
[
data-v-3309b347
]
{
position
:
absolute
;
left
:
.15rem
;
font-size
:
.24rem
;
line-height
:
.42rem
}
.detail-box
.pub-ques
.ask
.txt
[
data-v-3309b347
]
{
position
:
absolute
;
left
:
.45rem
;
top
:
.01rem
;
height
:
.4rem
;
width
:
80%
;
border
:
none
;
line-height
:
.4rem
;
font-size
:
.2rem
;
color
:
#313131
}
.detail-box
.pub-ques
.item-order
[
data-v-3309b347
]
{
float
:
right
;
margin-top
:
.22rem
;
padding
:
0
.3rem
;
margin-left
:
.2rem
;
font-size
:
.2rem
;
color
:
#313131
;
text-align
:
center
;
line-height
:
.42rem
;
-webkit-border-radius
:
.28rem
;
-moz-border-radius
:
.28rem
;
border-radius
:
.28rem
;
background
:
#fff
;
cursor
:
pointer
}
.detail-box
.pub-ques
.item-order.on
[
data-v-3309b347
]
{
background
:
#b49441
;
color
:
#fff
}
.detail-box
.discuss-scroll
.item-list
[
data-v-3309b347
]
:first-child
{
margin-top
:
.3rem
}
.detail-box
.discuss-scroll
.item-list
[
data-v-3309b347
]
{
position
:
relative
;
padding
:
.3rem
.26rem
;
margin-bottom
:
.2rem
;
background
:
#fff
;
-webkit-box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
-moz-box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
cursor
:
pointer
}
.detail-box
.discuss-scroll
.item-list
.user
[
data-v-3309b347
]
{
position
:
relative
;
overflow
:
hidden
}
.detail-box
.discuss-scroll
.item-list
.user
.img
[
data-v-3309b347
]
{
float
:
left
;
width
:
.6rem
;
height
:
.6rem
;
background
:
#e5e5e5
;
-webkit-border-radius
:
50%
;
-moz-border-radius
:
50%
;
border-radius
:
50%
}
.detail-box
.discuss-scroll
.item-list
.user
.right
[
data-v-3309b347
]
{
position
:
absolute
;
left
:
.72rem
;
top
:
50%
;
-webkit-transform
:
translateY
(
-50%
);
-moz-transform
:
translateY
(
-50%
);
-ms-transform
:
translateY
(
-50%
);
-o-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
)}
.detail-box
.discuss-scroll
.item-list
.user
.right
.name
[
data-v-3309b347
]
{
font-size
:
.18rem
;
color
:
#313131
;
-o-text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-break
:
break-all
}
.detail-box
.discuss-scroll
.item-list
.user
.right
.time
[
data-v-3309b347
]
{
margin-top
:
.05rem
;
font-size
:
.16rem
;
color
:
#a0a0a0
}
.detail-box
.discuss-scroll
.item-list
.title
[
data-v-3309b347
]
{
margin
:
.15rem
0
;
font-size
:
.22rem
;
color
:
#313131
;
font-weight
:
700
;
line-height
:
1.5
;
text-align
:
justify
}
.detail-box
.discuss-scroll
.item-list
.text
[
data-v-3309b347
]
{
font-size
:
.18rem
;
color
:
#535353
;
line-height
:
1.5
;
text-align
:
justify
;
word-break
:
break-all
;
overflow
:
hidden
}
.detail-box
.discuss-scroll
.item-list
.ellipsis
[
data-v-3309b347
]
{
display
:
none
;
position
:
absolute
;
right
:
.24rem
;
bottom
:
.68rem
;
padding
:
0
.15rem
0
.05rem
;
color
:
#535353
;
background
:
#fff
;
font-size
:
.18rem
}
.detail-box
.discuss-scroll
.item-list
.ellipsis.on
[
data-v-3309b347
]
{
display
:
block
}
.detail-box
.discuss-scroll
.item-list
.result
[
data-v-3309b347
]
{
margin-top
:
.15rem
;
font-size
:
.16rem
;
color
:
#313131
}
.detail-box
.discuss-scroll
.item-list
.course-name
[
data-v-3309b347
]
{
position
:
absolute
;
right
:
.32rem
;
bottom
:
.28rem
;
font-size
:
.16rem
;
color
:
#b49441
}
.detail-box
.discuss-scroll
.no-data
[
data-v-3309b347
]
{
margin
:
.2rem
0
;
font-size
:
.24rem
;
color
:
#112c42
;
line-height
:
2rem
;
text-align
:
center
;
background
:
#fff
}
.detail-box
.publish
[
data-v-3309b347
]
{
margin-bottom
:
.5rem
;
padding
:
.3rem
;
background
:
#f7f7f7
;
overflow
:
hidden
}
.detail-box
.publish
.right-goback-txt
[
data-v-3309b347
]
{
float
:
right
;
font-size
:
.2rem
;
color
:
#000
;
line-height
:
40px
}
.detail-box
.course-assess
[
data-v-3309b347
]
{
padding
:
.2rem
;
margin-bottom
:
1rem
;
background
:
#fff
;
overflow
:
hidden
}
.detail-box
.course-assess
.title
[
data-v-3309b347
]
{
color
:
#313131
;
font-size
:
.2rem
;
margin
:
.4rem
auto
.2rem
;
text-align
:
center
}
.detail-box
.course-assess
.topic
[
data-v-3309b347
]
{
position
:
relative
;
width
:
100%
;
height
:
.5rem
;
overflow
:
hidden
}
.detail-box
.course-assess
.topic
.line
[
data-v-3309b347
]
{
width
:
3rem
;
height
:
1px
;
margin
:
.25rem
auto
0
;
background
:
#313131
}
.detail-box
.course-assess
.topic
.tit
[
data-v-3309b347
]
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
padding
:
.1rem
.22rem
;
font-size
:
.14rem
;
font-weight
:
700
;
color
:
#313131
;
background
:
#fff
;
-webkit-transform
:
translate
(
-50%
,
-50%
);
-moz-transform
:
translate
(
-50%
,
-50%
);
-ms-transform
:
translate
(
-50%
,
-50%
);
-o-transform
:
translate
(
-50%
,
-50%
);
transform
:
translate
(
-50%
,
-50%
)}
.detail-box
.course-assess
.detail
[
data-v-3309b347
]
{
margin-bottom
:
.4rem
;
padding
:
0
.2rem
}
.detail-box
.course-assess
.table-title
[
data-v-3309b347
]
{
font-size
:
.16rem
;
font-weight
:
700
;
margin
:
.2rem
.26rem
;
text-align
:
justify
;
color
:
#b49441
}
.detail-box
.course-assess
.table
[
data-v-3309b347
]
{
color
:
#313131
;
padding
:
0
.2rem
.3rem
;
border-bottom
:
.02rem
solid
#c9c9c9
}
.detail-box
.course-assess
.table
.col3-td1
[
data-v-3309b347
]
{
float
:
left
;
padding-left
:
.15rem
;
width
:
65%
;
text-align
:
left
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.detail-box
.course-assess
.table
.col3-td2
[
data-v-3309b347
]
{
float
:
left
;
width
:
21%
;
text-align
:
center
}
.detail-box
.course-assess
.table
.col3-td3
[
data-v-3309b347
]
{
float
:
left
;
width
:
14%
;
text-align
:
right
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.detail-box
.course-assess
.table
.col2-td1
[
data-v-3309b347
]
{
float
:
left
;
padding-left
:
.15rem
;
width
:
86%
;
text-align
:
left
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.detail-box
.course-assess
.table
.col2-td2
[
data-v-3309b347
]
{
float
:
left
;
width
:
14%
;
text-align
:
right
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.detail-box
.course-assess
.table
.th
[
data-v-3309b347
]
{
padding
:
0
.2rem
;
font-size
:
.16rem
;
overflow
:
hidden
;
border-bottom
:
.02rem
solid
#e5e5e5
;
line-height
:
1.5
;
font-weight
:
700
}
.detail-box
.course-assess
.table
.tb
[
data-v-3309b347
]
{
padding
:
0
0
0
.2rem
;
font-size
:
.14rem
;
overflow
:
hidden
}
.detail-box
.course-assess
.table
.tb
.tt
[
data-v-3309b347
]
{
padding
:
.1rem
0
.02rem
;
line-height
:
.24rem
;
font-weight
:
700
}
.detail-box
.course-assess
.table
.tb
.rd
[
data-v-3309b347
]
{
padding-right
:
.2rem
;
overflow
:
hidden
;
line-height
:
.26rem
}
.detail-box
.course-assess
.table
.tb
.rd
[
data-v-3309b347
]
:hover
{
background
:
#efefef
}
.detail-box
.course-assess
.status-text
[
data-v-3309b347
]
{
padding-left
:
.3rem
;
font-size
:
.14rem
;
color
:
#000
;
line-height
:
1.5
}
@media
(
max-width
:
767px
){
.detail-box
[
data-v-3309b347
]
{
margin
:
.2rem
}
.detail-box
.box-thd
.progress
.el-progress
[
data-v-3309b347
]
{
width
:
80%
}
.detail-box
.box-tbd
.left-pic
[
data-v-3309b347
]
{
width
:
100%
;
margin-bottom
:
.2rem
}
.detail-box
.box-tbd
.right-content
[
data-v-3309b347
]
{
margin-left
:
0
;
display
:
block
}
.detail-box
.course-assess
.detail
[
data-v-3309b347
]
{
padding
:
0
}
.detail-box
.course-assess
.table
[
data-v-3309b347
]
{
padding
:
0
0
.3rem
}}
\ No newline at end of file
body
.el-tab-pane
[
data-v-dac2ec40
]
{
padding-top
:
0
}
.detail-box
[
data-v-dac2ec40
]
{
margin
:
.3rem
;
color
:
#313131
;
overflow
:
hidden
}
.detail-box
.box-thd
[
data-v-dac2ec40
]
{
margin-bottom
:
.1rem
;
overflow
:
hidden
}
.detail-box
.box-thd
.title
[
data-v-dac2ec40
]
{
font-size
:
.22rem
;
line-height
:
1.5
;
font-weight
:
700
}
.detail-box
.box-thd
.title
.rbtn
[
data-v-dac2ec40
]
{
float
:
right
}
.detail-box
.box-thd
.tags
[
data-v-dac2ec40
]
{
float
:
left
;
margin
:
.1rem
.2rem
.05rem
0
;
font-size
:
.14rem
}
.detail-box
.box-thd
.tags
span
[
data-v-dac2ec40
]
{
padding
:
0
.1rem
;
margin
:
0
;
border-right
:
1px
solid
#313131
}
.detail-box
.box-thd
.tags
span
[
data-v-dac2ec40
]
:first-child
{
padding-left
:
0
}
.detail-box
.box-thd
.tags
span
[
data-v-dac2ec40
]
:last-child
{
border
:
none
}
.detail-box
.box-thd
.time
[
data-v-dac2ec40
]
{
float
:
left
;
margin
:
.1rem
0
.05rem
;
font-size
:
.14rem
}
.detail-box
.box-thd
.progress
[
data-v-dac2ec40
]
{
float
:
left
;
width
:
100%
;
font-size
:
14px
}
.detail-box
.box-thd
.progress
.el-progress
[
data-v-dac2ec40
]
{
width
:
45%
;
display
:
inline-block
;
vertical-align
:
text-bottom
}
.detail-box
.box-tbd
[
data-v-dac2ec40
]
{
margin-bottom
:
.2rem
;
overflow
:
hidden
}
.detail-box
.box-tbd
.left-pic
[
data-v-dac2ec40
]
{
float
:
left
;
width
:
1.8rem
;
overflow
:
hidden
}
.detail-box
.box-tbd
.left-pic
.no-img
[
data-v-dac2ec40
]
{
width
:
100%
;
height
:
1rem
;
text-align
:
center
;
line-height
:
1.1rem
;
border
:
1px
solid
#c9c9c9
}
.detail-box
.box-tbd
.left-pic
.no-img
i
[
data-v-dac2ec40
]
{
font-size
:
.4rem
;
color
:
#c9c9c9
}
.detail-box
.box-tbd
.left-pic
img
[
data-v-dac2ec40
]
{
display
:
block
;
width
:
100%
}
.detail-box
.box-tbd
.right-content
[
data-v-dac2ec40
]
{
margin-left
:
2rem
;
line-height
:
1.5
;
font-size
:
14px
}
.detail-box
.course-list
[
data-v-dac2ec40
]
{
padding
:
.2rem
0
.1rem
;
background
:
#fff
}
.detail-box
.course-list
.none
[
data-v-dac2ec40
]
{
display
:
none
}
.detail-box
.course-list
.content-group
[
data-v-dac2ec40
]
{
padding
:
0
.2rem
}
.detail-box
.course-list
.content-group.no-child
[
data-v-dac2ec40
],
.detail-box
.course-list
.content-group.up
[
data-v-dac2ec40
]
{
margin-bottom
:
.1rem
}
.detail-box
.course-list
.content-group.up
.body
[
data-v-dac2ec40
]
{
display
:
none
}
.detail-box
.course-list
.content-group
.title
[
data-v-dac2ec40
]
{
position
:
relative
;
padding
:
.1rem
.54rem
.1rem
.2rem
;
color
:
#313131
;
font-size
:
.16rem
;
line-height
:
.24rem
;
background
:
#e5e5e5
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
;
cursor
:
pointer
}
.detail-box
.course-list
.content-group
.title
.side
[
data-v-dac2ec40
]
{
position
:
absolute
;
top
:
50%
;
right
:
.24rem
;
-webkit-transform
:
translateY
(
-50%
);
-moz-transform
:
translateY
(
-50%
);
-ms-transform
:
translateY
(
-50%
);
-o-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
)}
.detail-box
.course-list
.content-group
.body
[
data-v-dac2ec40
]
{
position
:
relative
;
padding
:
0
.2rem
;
font-size
:
.16rem
;
line-height
:
.24rem
;
color
:
#505050
;
cursor
:
pointer
}
.detail-box
.course-list
.content-group
.body
[
data-v-dac2ec40
]
:hover
{
background
:
#f3f3f3
}
.detail-box
.course-list
.content-group
.body.on
.name
[
data-v-dac2ec40
]
{
color
:
#b2183e
}
.detail-box
.course-list
.content-group
.body
.name
[
data-v-dac2ec40
]
{
padding
:
.1rem
.8rem
.1rem
.2rem
;
border-left
:
.02rem
solid
#c9c9c9
}
.detail-box
.course-list
.content-group
.body
.name
[
data-v-dac2ec40
]
:before
{
width
:
.2rem
;
height
:
.2rem
;
-webkit-border-radius
:
.32rem
;
-moz-border-radius
:
.32rem
;
border-radius
:
.32rem
;
border
:
.02rem
solid
#c9c9c9
;
background
:
#e5e5e5
;
position
:
absolute
;
left
:
.11rem
;
top
:
.12rem
;
content
:
""
;
display
:
block
;
z-index
:
10
}
.detail-box
.course-list
.content-group
.body
.name
.time
[
data-v-dac2ec40
]
{
position
:
absolute
;
right
:
.16rem
;
top
:
.1rem
}
.detail-box
.list-teacher
[
data-v-dac2ec40
]
{
margin-bottom
:
.2rem
;
overflow
:
hidden
}
.detail-box
.list-teacher
.img
[
data-v-dac2ec40
]
{
float
:
left
;
width
:
30%
;
min-height
:
.8rem
;
background
:
#c9c9c9
}
.detail-box
.list-teacher
.ctx
[
data-v-dac2ec40
]
{
position
:
relative
;
margin-left
:
32%
;
min-height
:
.5rem
}
.detail-box
.list-teacher
.ctx
.top-ctx
[
data-v-dac2ec40
]
{
position
:
absolute
;
top
:
0
;
width
:
100%
;
overflow
:
hidden
}
.detail-box
.list-teacher
.ctx
.top-ctx
.tit
[
data-v-dac2ec40
]
{
font-size
:
14px
;
color
:
#313131
;
line-height
:
1.5
;
overflow
:
hidden
;
word-break
:
break-all
}
.detail-box
.list-teacher
.ctx
.bottom-ctx
[
data-v-dac2ec40
]
{
display
:
block
;
padding-top
:
.2rem
;
width
:
100%
;
overflow
:
hidden
}
.detail-box
.list-teacher
.ctx
.bottom-ctx
.t1
[
data-v-dac2ec40
],
.detail-box
.list-teacher
.ctx
.bottom-ctx
.t2
[
data-v-dac2ec40
]
{
font-size
:
12px
;
line-height
:
1.5
;
color
:
#707070
;
overflow
:
hidden
;
word-break
:
break-all
}
.detail-box
.list-teacher
.ctx
.bottom-ctx
.t3
[
data-v-dac2ec40
]
{
font-size
:
12px
;
color
:
#707070
;
-o-text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-break
:
break-all
}
.detail-box
.pub-ques
[
data-v-dac2ec40
]
{
padding
:
0
.26rem
;
overflow
:
hidden
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.detail-box
.pub-ques
.ask
[
data-v-dac2ec40
]
{
position
:
relative
;
float
:
left
;
margin-top
:
.22rem
;
width
:
40%
;
min-width
:
1rem
;
height
:
.42rem
;
-webkit-border-radius
:
.28rem
;
-moz-border-radius
:
.28rem
;
border-radius
:
.28rem
;
border
:
1
rpx
solid
#dcdcdc
;
background
:
#fff
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
cursor
:
pointer
}
.detail-box
.pub-ques
.ask
.img
[
data-v-dac2ec40
]
{
position
:
absolute
;
left
:
.15rem
;
font-size
:
.24rem
;
line-height
:
.42rem
}
.detail-box
.pub-ques
.ask
.txt
[
data-v-dac2ec40
]
{
position
:
absolute
;
left
:
.45rem
;
top
:
.01rem
;
height
:
.4rem
;
width
:
80%
;
border
:
none
;
line-height
:
.4rem
;
font-size
:
.2rem
;
color
:
#313131
}
.detail-box
.pub-ques
.item-order
[
data-v-dac2ec40
]
{
float
:
right
;
margin-top
:
.22rem
;
padding
:
0
.3rem
;
margin-left
:
.2rem
;
font-size
:
.2rem
;
color
:
#313131
;
text-align
:
center
;
line-height
:
.42rem
;
-webkit-border-radius
:
.28rem
;
-moz-border-radius
:
.28rem
;
border-radius
:
.28rem
;
background
:
#fff
;
cursor
:
pointer
}
.detail-box
.pub-ques
.item-order.on
[
data-v-dac2ec40
]
{
background
:
#b49441
;
color
:
#fff
}
.detail-box
.discuss-scroll
.item-list
[
data-v-dac2ec40
]
:first-child
{
margin-top
:
.3rem
}
.detail-box
.discuss-scroll
.item-list
[
data-v-dac2ec40
]
{
position
:
relative
;
padding
:
.3rem
.26rem
;
margin-bottom
:
.2rem
;
background
:
#fff
;
-webkit-box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
-moz-box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
box-shadow
:
0
2px
4px
rgba
(
10
,
4
,
6
,
.1
);
cursor
:
pointer
}
.detail-box
.discuss-scroll
.item-list
.user
[
data-v-dac2ec40
]
{
position
:
relative
;
overflow
:
hidden
}
.detail-box
.discuss-scroll
.item-list
.user
.img
[
data-v-dac2ec40
]
{
float
:
left
;
width
:
.6rem
;
height
:
.6rem
;
background
:
#e5e5e5
;
-webkit-border-radius
:
50%
;
-moz-border-radius
:
50%
;
border-radius
:
50%
}
.detail-box
.discuss-scroll
.item-list
.user
.right
[
data-v-dac2ec40
]
{
position
:
absolute
;
left
:
.72rem
;
top
:
50%
;
-webkit-transform
:
translateY
(
-50%
);
-moz-transform
:
translateY
(
-50%
);
-ms-transform
:
translateY
(
-50%
);
-o-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
)}
.detail-box
.discuss-scroll
.item-list
.user
.right
.name
[
data-v-dac2ec40
]
{
font-size
:
.18rem
;
color
:
#313131
;
-o-text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-break
:
break-all
}
.detail-box
.discuss-scroll
.item-list
.user
.right
.time
[
data-v-dac2ec40
]
{
margin-top
:
.05rem
;
font-size
:
.16rem
;
color
:
#a0a0a0
}
.detail-box
.discuss-scroll
.item-list
.title
[
data-v-dac2ec40
]
{
margin
:
.15rem
0
;
font-size
:
.22rem
;
color
:
#313131
;
font-weight
:
700
;
line-height
:
1.5
;
text-align
:
justify
}
.detail-box
.discuss-scroll
.item-list
.text
[
data-v-dac2ec40
]
{
font-size
:
.18rem
;
color
:
#535353
;
line-height
:
1.5
;
text-align
:
justify
;
word-break
:
break-all
;
overflow
:
hidden
}
.detail-box
.discuss-scroll
.item-list
.ellipsis
[
data-v-dac2ec40
]
{
display
:
none
;
position
:
absolute
;
right
:
.24rem
;
bottom
:
.68rem
;
padding
:
0
.15rem
0
.05rem
;
color
:
#535353
;
background
:
#fff
;
font-size
:
.18rem
}
.detail-box
.discuss-scroll
.item-list
.ellipsis.on
[
data-v-dac2ec40
]
{
display
:
block
}
.detail-box
.discuss-scroll
.item-list
.result
[
data-v-dac2ec40
]
{
margin-top
:
.15rem
;
font-size
:
.16rem
;
color
:
#313131
}
.detail-box
.discuss-scroll
.item-list
.course-name
[
data-v-dac2ec40
]
{
position
:
absolute
;
right
:
.32rem
;
bottom
:
.28rem
;
font-size
:
.16rem
;
color
:
#b49441
}
.detail-box
.discuss-scroll
.no-data
[
data-v-dac2ec40
]
{
margin
:
.2rem
0
;
font-size
:
.24rem
;
color
:
#112c42
;
line-height
:
2rem
;
text-align
:
center
;
background
:
#fff
}
.detail-box
.publish
[
data-v-dac2ec40
]
{
margin-bottom
:
.5rem
;
padding
:
.3rem
;
background
:
#f7f7f7
;
overflow
:
hidden
}
.detail-box
.publish
.right-goback-txt
[
data-v-dac2ec40
]
{
float
:
right
;
font-size
:
.2rem
;
color
:
#000
;
line-height
:
40px
}
.detail-box
.course-assess
[
data-v-dac2ec40
]
{
padding
:
.2rem
;
margin-bottom
:
1rem
;
background
:
#fff
;
overflow
:
hidden
}
.detail-box
.course-assess
.title
[
data-v-dac2ec40
]
{
color
:
#313131
;
font-size
:
.2rem
;
margin
:
.4rem
auto
.2rem
;
text-align
:
center
}
.detail-box
.course-assess
.topic
[
data-v-dac2ec40
]
{
position
:
relative
;
width
:
100%
;
height
:
.5rem
;
overflow
:
hidden
}
.detail-box
.course-assess
.topic
.line
[
data-v-dac2ec40
]
{
width
:
3rem
;
height
:
1px
;
margin
:
.25rem
auto
0
;
background
:
#313131
}
.detail-box
.course-assess
.topic
.tit
[
data-v-dac2ec40
]
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
padding
:
.1rem
.22rem
;
font-size
:
.14rem
;
font-weight
:
700
;
color
:
#313131
;
background
:
#fff
;
-webkit-transform
:
translate
(
-50%
,
-50%
);
-moz-transform
:
translate
(
-50%
,
-50%
);
-ms-transform
:
translate
(
-50%
,
-50%
);
-o-transform
:
translate
(
-50%
,
-50%
);
transform
:
translate
(
-50%
,
-50%
)}
.detail-box
.course-assess
.detail
[
data-v-dac2ec40
]
{
margin-bottom
:
.4rem
;
padding
:
0
.2rem
}
.detail-box
.course-assess
.table-title
[
data-v-dac2ec40
]
{
font-size
:
.16rem
;
font-weight
:
700
;
margin
:
.2rem
.26rem
;
text-align
:
justify
;
color
:
#b49441
}
.detail-box
.course-assess
.table
[
data-v-dac2ec40
]
{
color
:
#313131
;
padding
:
0
.2rem
.3rem
;
border-bottom
:
.02rem
solid
#c9c9c9
}
.detail-box
.course-assess
.table
.col3-td1
[
data-v-dac2ec40
]
{
float
:
left
;
padding-left
:
.15rem
;
width
:
65%
;
text-align
:
left
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.detail-box
.course-assess
.table
.col3-td2
[
data-v-dac2ec40
]
{
float
:
left
;
width
:
21%
;
text-align
:
center
}
.detail-box
.course-assess
.table
.col3-td3
[
data-v-dac2ec40
]
{
float
:
left
;
width
:
14%
;
text-align
:
right
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.detail-box
.course-assess
.table
.col2-td1
[
data-v-dac2ec40
]
{
float
:
left
;
padding-left
:
.15rem
;
width
:
86%
;
text-align
:
left
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.detail-box
.course-assess
.table
.col2-td2
[
data-v-dac2ec40
]
{
float
:
left
;
width
:
14%
;
text-align
:
right
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.detail-box
.course-assess
.table
.th
[
data-v-dac2ec40
]
{
padding
:
0
.2rem
;
font-size
:
.16rem
;
overflow
:
hidden
;
border-bottom
:
.02rem
solid
#e5e5e5
;
line-height
:
1.5
;
font-weight
:
700
}
.detail-box
.course-assess
.table
.tb
[
data-v-dac2ec40
]
{
padding
:
0
0
0
.2rem
;
font-size
:
.14rem
;
overflow
:
hidden
}
.detail-box
.course-assess
.table
.tb
.tt
[
data-v-dac2ec40
]
{
padding
:
.1rem
0
.02rem
;
line-height
:
.24rem
;
font-weight
:
700
}
.detail-box
.course-assess
.table
.tb
.rd
[
data-v-dac2ec40
]
{
padding-right
:
.2rem
;
overflow
:
hidden
;
line-height
:
.26rem
}
.detail-box
.course-assess
.table
.tb
.rd
[
data-v-dac2ec40
]
:hover
{
background
:
#efefef
}
.detail-box
.course-assess
.status-text
[
data-v-dac2ec40
]
{
padding-left
:
.3rem
;
font-size
:
.14rem
;
color
:
#000
;
line-height
:
1.5
}
@media
(
max-width
:
767px
){
.detail-box
[
data-v-dac2ec40
]
{
margin
:
.2rem
}
.detail-box
.box-thd
.progress
.el-progress
[
data-v-dac2ec40
]
{
width
:
80%
}
.detail-box
.box-tbd
.left-pic
[
data-v-dac2ec40
]
{
width
:
100%
;
margin-bottom
:
.2rem
}
.detail-box
.box-tbd
.right-content
[
data-v-dac2ec40
]
{
margin-left
:
0
;
display
:
block
}
.detail-box
.course-assess
.detail
[
data-v-dac2ec40
]
{
padding
:
0
}
.detail-box
.course-assess
.table
[
data-v-dac2ec40
]
{
padding
:
0
0
.3rem
}}
\ No newline at end of file
server/client-dist/resources/6.
9bb7112
c.js
→
server/client-dist/resources/6.
492b006
c.js
浏览文件 @
cc8387a2
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
6
],{
276
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
452
),
s
=
r
(
363
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
432
);
var
n
=
r
(
1
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"ea9eda5c"
,
null
);
e
.
default
=
c
.
exports
},
363
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
364
),
s
=
r
.
n
(
a
);
for
(
var
i
in
a
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
a
[
t
]})}(
i
);
e
.
default
=
s
.
a
},
364
:
function
(
t
,
e
,
r
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
u
=
i
(
r
(
45
)),
p
=
i
(
r
(
82
)),
a
=
i
(
r
(
428
)),
s
=
i
(
r
(
430
));
function
i
(
t
){
return
t
&&
t
.
__esModule
?
t
:{
default
:
t
}}
e
.
default
=
{
components
:{
sideChapterList
:
a
.
default
,
sideChapterPpt
:
s
.
default
},
props
:{
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
},
videoType
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
SIDEBAR_CHAPTER
:
"sidebar_chapter"
,
SIDEBAR_PPT
:
"sidebar_ppt"
,
state
:{
sideBar
:
"sidebar_chapter"
,
isChapterVideo
:
!
1
},
chapterList
:{},
pptList
:{},
courseInfo
:[],
courseWork
:{},
curChapterName
:
""
,
chapterId
:
""
,
chapterRead
:{},
chapterWork
:{},
chapterExam
:{},
chapterVideo
:{},
chapterPpts
:[]}},
beforeRouteUpdate
:
function
(
t
,
e
,
r
){
var
a
=
this
;
if
(
"chapterVideo"
===
t
.
name
){
this
.
state
.
isChapterVideo
=!
0
;
var
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
}),
i
=
"3"
!==
t
.
params
.
videoType
?
"getCurrentChapterDetail"
:
"getCurrentChapterDetailAliyun"
;
u
.
default
.
chapterAction
[
i
](
t
.
params
.
id
).
then
(
function
(
t
){
a
.
pptList
=
t
.
image
,
a
.
chapterPpts
=
t
.
rData
.
ppts
}).
catch
(
function
(
t
){
a
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
s
.
close
()})}
else
this
.
state
.
isChapterVideo
=!
1
;
var
n
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
if
(
"0"
===
t
.
params
.
cid
&&
"0"
===
t
.
params
.
sid
)
return
this
.
$message
({
message
:
"URL异常,重新选择课程学习!!!"
,
type
:
"info"
,
duration
:
1
e4
}),
void
n
.
close
();
u
.
default
.
chapterAction
.
getChapterList
(
t
.
params
.
cid
,
t
.
params
.
sid
,
t
.
params
.
id
).
then
(
function
(
e
){
a
.
chapterList
=
e
.
json
,
a
.
courseInfo
=
e
.
courseInfo
,
a
.
courseWork
=
e
.
courseWork
,
a
.
curChapterName
=
e
.
curJson
.
name
,
a
.
chapterId
=
e
.
curJson
.
chapterId
,
2
===
e
.
curJson
.
type
&&
u
.
default
.
chapterAction
.
getProgress
(
a
.
id
,
p
.
default
.
other
.
getIdt
(),
a
.
sid
).
then
(
function
(
t
){
a
.
chapterVideo
=
2
===
e
.
curJson
.
type
&&
e
.
curJson
.
chapterVideo
||
{},
a
.
chapterVideo
.
progress
=
t
}).
catch
(
function
(
t
){
a
.
$message
.
error
(
t
.
message
)}),
a
.
chapterRead
=
4
===
e
.
curJson
.
type
&&
e
.
curJson
.
chapterRead
||
{},
a
.
chapterExam
=
3
===
e
.
curJson
.
type
&&
1
===
e
.
curJson
.
work_type
&&
e
.
curJson
.
homework
||
{},
a
.
chapterWork
=
3
===
e
.
curJson
.
type
&&
2
===
e
.
curJson
.
work_type
&&
e
.
curJson
.
chapterWork
||
{}}).
catch
(
function
(
t
){
a
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
n
.
close
()}),
r
()},
mounted
:
function
(){
var
r
=
this
;
if
(
"chapterVideo"
===
this
.
$route
.
name
){
this
.
state
.
isChapterVideo
=!
0
;
var
t
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
}),
e
=
"3"
!==
this
.
videoType
?
"getCurrentChapterDetail"
:
"getCurrentChapterDetailAliyun"
;
u
.
default
.
chapterAction
[
e
](
this
.
id
).
then
(
function
(
t
){
r
.
pptList
=
t
.
image
,
r
.
chapterPpts
=
t
.
rData
.
ppts
}).
catch
(
function
(
t
){
r
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
t
.
close
()})}
var
a
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
if
(
"0"
===
this
.
cid
&&
"0"
===
this
.
sid
)
return
this
.
$message
({
message
:
"URL异常,请点击“返回首页”,重新选择课程学习!"
,
type
:
"info"
,
duration
:
1
e4
}),
void
a
.
close
();
u
.
default
.
chapterAction
.
getChapterList
(
this
.
cid
,
this
.
sid
,
this
.
id
).
then
(
function
(
e
){
r
.
chapterList
=
e
.
json
,
r
.
courseInfo
=
e
.
courseInfo
,
r
.
courseWork
=
e
.
courseWork
,
r
.
curChapterName
=
e
.
curJson
.
name
,
r
.
chapterId
=
e
.
curJson
.
chapterId
,
2
===
e
.
curJson
.
type
&&
u
.
default
.
chapterAction
.
getProgress
(
r
.
id
,
p
.
default
.
other
.
getIdt
(),
r
.
sid
).
then
(
function
(
t
){
r
.
chapterVideo
=
2
===
e
.
curJson
.
type
&&
e
.
curJson
.
chapterVideo
||
{},
r
.
chapterVideo
.
progress
=
t
}).
catch
(
function
(
t
){
r
.
$message
.
error
(
t
.
message
)}),
r
.
chapterRead
=
4
===
e
.
curJson
.
type
&&
e
.
curJson
.
chapterRead
||
{},
r
.
chapterExam
=
3
===
e
.
curJson
.
type
&&
1
===
e
.
curJson
.
work_type
&&
e
.
curJson
.
homework
||
{},
r
.
chapterWork
=
3
===
e
.
curJson
.
type
&&
2
===
e
.
curJson
.
work_type
&&
e
.
curJson
.
chapterWork
||
{}}).
catch
(
function
(
t
){
r
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
a
.
close
()})},
methods
:{
changeSideBar
:
function
(
t
){
this
.
state
.
sideBar
=
t
},
handlePlayTime
:
function
(
t
){
this
.
$refs
.
sidePpt
&&
this
.
$refs
.
sidePpt
.
setIndexByPoint
(
t
)},
handleClickSidePpt
:
function
(
t
){
var
e
=
this
.
chapterPpts
||
[];
if
(
e
.
length
>
t
&&
this
.
$refs
.
comTotalChapter
){
var
r
=
e
[
t
];
this
.
$refs
.
comTotalChapter
.
setVideoTime
(
r
.
ppt_point
)}},
updateProgress
:
function
(
a
){
var
r
=
this
;
if
(
a
.
cpt
){
for
(
var
s
=
[],
t
=
0
,
e
=
0
;
e
<
a
.
ps
.
length
;
e
++
){
s
[
e
]
=
a
.
ps
[
e
];
var
i
=
Math
.
floor
(
a
.
ps
[
e
])
||
1
;
i
!==
t
&&
(
a
.
map
[
i
-
1
]
+=
1
,
t
=
i
)}
var
n
=
s
;
s
=
[];
for
(
var
c
=
t
=
0
;
c
<
n
.
length
;
c
++
)
Math
.
floor
(
n
[
c
])
!==
t
&&
(
s
.
push
(
Math
.
floor
(
n
[
c
])),
t
=
Math
.
floor
(
n
[
c
]));
var
o
=
window
.
G
.
UserInfo
;
u
.
default
.
chapterAction
.
updateProgress
({
sid
:
o
&&
o
.
student_info
&&
o
.
student_info
.
id
||
""
,
uid
:
o
&&
o
.
uid
||
""
,
d
:
p
.
default
.
other
.
getIdt
(),
i
:
p
.
default
.
other
.
getIdt
(),
c
:
this
.
cid
,
s
:
this
.
sid
,
v
:
a
.
vid
,
_p
:
parseInt
(
a
.
pt
),
_m
:
parseInt
(
a
.
mpt
),
_c
:
parseInt
(
a
.
cpt
),
ps
:
s
.
join
(
","
)}).
then
(
function
(
t
){
if
(
t
.
success
)
for
(
var
e
=
0
;
e
<
s
.
length
;
e
++
)
a
.
ps
.
shift
();
else
{
var
r
=
document
.
getElementById
(
"player"
);
!!
r
.
callAction
?
r
.
callAction
(
"pause"
):
r
.
children
[
0
].
pause
()}}).
catch
(
function
(
t
){
r
.
$message
.
error
(
t
.
message
);
var
e
=
document
.
getElementById
(
"player"
);
!!
e
.
callAction
?
e
.
callAction
(
"pause"
):
e
.
children
[
0
].
pause
()}).
finally
(
function
(){})}},
changeVideoArr
:
function
(
t
){
console
.
log
(
"已经实现"
),
t
.
callback
&&
t
.
callback
()}}}},
365
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
366
),
s
=
r
.
n
(
a
);
for
(
var
i
in
a
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
a
[
t
]})}(
i
);
e
.
default
=
s
.
a
},
366
:
function
(
t
,
e
,
r
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
}),
e
.
default
=
{
props
:{
list
:{
type
:
Object
,
require
:
!
1
},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
}},
methods
:{
jumpToOtherVA
:
function
(
t
){
var
e
=
t
.
target
.
dataset
,
r
=
this
.
cid
,
a
=
e
.
vid
,
s
=
e
.
type
;
if
(
e
.
hasva
)
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-video/"
+
a
+
"/"
+
s
});
else
{
var
i
=
e
.
index
,
n
=
e
.
count
,
c
=
this
.
list
.
course
[
i
];
if
(
c
&&
c
.
chapters
[
n
]){
if
(
"course_info"
===
c
.
chapters
[
n
].
id
)
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/course-info/course_info"
});
else
if
(
"course_work"
===
c
.
chapters
[
n
].
id
){
if
(
!
this
.
list
.
survey
)
return
void
this
.
$message
(
"请先填写教学评估,然后完成大作业。"
);
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/course-work/course_work"
})}
else
3
===
c
.
chapters
[
n
].
type
?
1
===
c
.
chapters
[
n
].
work_type
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-exam/"
+
a
}):
2
===
c
.
chapters
[
n
].
work_type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-work/"
+
a
}):
4
===
c
.
chapters
[
n
].
type
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-read/"
+
a
}):
"teach_evaluation"
===
c
.
chapters
[
n
].
id
&&
this
.
$router
.
push
({
path
:
"/survey/"
+
r
});
return
}
this
.
$message
.
error
(
"系统未知错误,002"
)}}}}},
367
:
function
(
t
,
e
,
r
){},
368
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
369
),
s
=
r
.
n
(
a
);
for
(
var
i
in
a
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
a
[
t
]})}(
i
);
e
.
default
=
s
.
a
},
369
:
function
(
t
,
e
,
r
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
}),
e
.
default
=
{
props
:{
ppt
:{
type
:
Object
,
require
:
!
1
}},
methods
:{
setIndexByPoint
:
function
(
t
){
for
(
var
e
=
(
this
.
ppt
.
imgUrls
||
[]).
length
,
r
=
0
;
r
<
e
&&!
(
t
<
this
.
ppt
.
timeArr
[
r
]);
r
++
);
this
.
ppt
.
selectIndex
!==
r
-
1
&&
(
this
.
ppt
.
selectIndex
=
r
-
1
)},
onClickPpt
:
function
(
t
){
var
e
=
t
.
currentTarget
.
dataset
.
index
-
0
;
this
.
ppt
.
selectIndex
!==
e
&&
(
this
.
ppt
.
selectIndex
=
e
,
this
.
$emit
(
"handleClickPpt"
,
e
))}}}},
370
:
function
(
t
,
e
,
r
){},
371
:
function
(
t
,
e
,
r
){},
428
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
482
),
s
=
r
(
365
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
429
);
var
n
=
r
(
1
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"2fba9490"
,
null
);
e
.
default
=
c
.
exports
},
429
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
367
);
r
.
n
(
a
).
a
},
430
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
481
),
s
=
r
(
368
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
431
);
var
n
=
r
(
1
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"8ec544e6"
,
null
);
e
.
default
=
c
.
exports
},
431
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
370
);
r
.
n
(
a
).
a
},
432
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
371
);
r
.
n
(
a
).
a
},
452
:
function
(
t
,
e
,
r
){
"use strict"
;
function
a
(){
var
e
=
this
,
t
=
e
.
$createElement
,
r
=
e
.
_self
.
_c
||
t
;
return
r
(
"div"
,{
class
:[
"play"
,
e
.
state
.
sideBar
?
""
:
"sidebar-hide"
]},[
r
(
"div"
,{
staticClass
:
"left-content"
},[
r
(
"div"
,{
staticClass
:
"play-top cl"
,
style
:
e
.
state
.
sideBar
?{}:{
marginRight
:
0
}},[
r
(
"router-link"
,{
staticClass
:
"router-link-class"
,
attrs
:{
to
:{
path
:
"/app/my-learn/course-detail/"
+
e
.
cid
}}},[
r
(
"i"
,{
staticClass
:
"play-back el-icon-arrow-left"
})]),
e
.
_v
(
" "
),
r
(
"p"
,[
e
.
_v
(
e
.
_s
(
e
.
chapterList
.
title
))])],
1
),
e
.
_v
(
" "
),
r
(
"div"
,{
staticClass
:
"play-content"
},[
r
(
"router-view"
,{
ref
:
"comTotalChapter"
,
attrs
:{
chapterName
:
e
.
curChapterName
,
chapterId
:
e
.
chapterId
,
courseInfo
:
e
.
courseInfo
,
courseWork
:
e
.
courseWork
,
chapterRead
:
e
.
chapterRead
,
chapterWork
:
e
.
chapterWork
,
chapterExam
:
e
.
chapterExam
,
chapterVideo
:
e
.
chapterVideo
,
ppts
:
e
.
chapterPpts
,
videoType
:
e
.
videoType
},
on
:{
changeVideoArr
:
e
.
changeVideoArr
,
handlePlayTime
:
e
.
handlePlayTime
,
updateProgress
:
e
.
updateProgress
}})],
1
)]),
e
.
_v
(
" "
),
r
(
"div"
,{
staticClass
:
"right-ctrl"
,
style
:{
right
:(
e
.
state
.
sideBar
?
0
:
-
388
)
+
"px"
}},[
r
(
"p"
,{
staticClass
:
"ctrl-arrow"
,
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
""
)}}},[
r
(
"span"
,[
e
.
_v
(
">"
)])]),
e
.
_v
(
" "
),
r
(
"div"
,{
staticClass
:
"ctrl-pl"
},[
r
(
"ul"
,{
staticClass
:
"pl-tab-hd"
},[
r
(
"li"
,{
class
:[
e
.
state
.
sideBar
===
e
.
SIDEBAR_CHAPTER
?
"on"
:
""
]},[
r
(
"a"
,{
attrs
:{
href
:
"#"
+
e
.
SIDEBAR_CHAPTER
},
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
e
.
SIDEBAR_CHAPTER
)}}},[
e
.
_v
(
"章节"
)])]),
e
.
_v
(
" "
),
e
.
state
.
isChapterVideo
?[
r
(
"li"
,{
class
:[
"br-l-line"
,
e
.
state
.
sideBar
===
e
.
SIDEBAR_PPT
?
"on"
:
""
]},[
r
(
"a"
,{
attrs
:{
href
:
"#"
+
e
.
SIDEBAR_PPT
},
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
e
.
SIDEBAR_PPT
)}}},[
e
.
_v
(
"讲义"
)])])]:
e
.
_e
()],
2
),
e
.
_v
(
" "
),
r
(
"div"
,{
staticClass
:
"pl-tab-bd"
},[
e
.
state
.
sideBar
===
e
.
SIDEBAR_CHAPTER
?[
r
(
"side-chapter-list"
,{
attrs
:{
list
:
e
.
chapterList
,
sid
:
e
.
sid
,
cid
:
e
.
cid
}})]:
e
.
_e
(),
e
.
_v
(
" "
),
e
.
state
.
sideBar
===
e
.
SIDEBAR_PPT
?[
r
(
"side-chapter-ppt"
,{
ref
:
"sidePpt"
,
attrs
:{
ppt
:
e
.
pptList
},
on
:{
handleClickPpt
:
e
.
handleClickSidePpt
}})]:
e
.
_e
()],
2
)])]),
e
.
_v
(
" "
),
e
.
state
.
sideBar
?
e
.
_e
():[
r
(
"div"
,{
staticClass
:
"switch"
},[
r
(
"a"
,{
staticClass
:
"switch-chapter"
,
attrs
:{
href
:
"#"
+
e
.
SIDEBAR_CHAPTER
},
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
e
.
SIDEBAR_CHAPTER
)}}},[
r
(
"i"
,{
staticClass
:
"el-icon-self-wenjian"
}),
e
.
_v
(
" "
),
r
(
"div"
,[
e
.
_v
(
"章节"
)])]),
e
.
_v
(
" "
),
e
.
state
.
isChapterVideo
?[
r
(
"a"
,{
staticClass
:
"switch-handout"
,
attrs
:{
href
:
"#"
+
e
.
SIDEBAR_PPT
},
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
e
.
SIDEBAR_PPT
)}}},[
r
(
"i"
,{
staticClass
:
"el-icon-self-PPT"
}),
e
.
_v
(
" "
),
r
(
"div"
,[
e
.
_v
(
"讲义"
)])])]:
e
.
_e
()],
2
)]],
2
)}
var
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})},
481
:
function
(
t
,
e
,
r
){
"use strict"
;
function
a
(){
var
r
=
this
,
t
=
r
.
$createElement
,
a
=
r
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"tab-pane"
},[
a
(
"ul"
,{
staticClass
:
"lecture-list"
},[
r
.
_l
(
r
.
ppt
.
imgUrls
,
function
(
t
,
e
){
return
[
a
(
"li"
,{
key
:
e
,
class
:[
e
===
r
.
ppt
.
selectIndex
?
"on"
:
""
],
attrs
:{
"data-index"
:
e
},
on
:{
click
:
r
.
onClickPpt
}},[
a
(
"img"
,{
attrs
:{
src
:
t
,
alt
:
""
}})])]})],
2
)])}
var
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})},
482
:
function
(
t
,
e
,
r
){
"use strict"
;
function
a
(){
var
a
=
this
,
t
=
a
.
$createElement
,
s
=
a
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
staticClass
:
"tab-pane"
},[
s
(
"ul"
,{
staticClass
:
"chapter-list"
},[
a
.
_l
(
a
.
list
.
course
,
function
(
t
,
r
){
return
[
s
(
"li"
,{
key
:
r
,
staticClass
:
"chapter-item"
},[
s
(
"h4"
,[
a
.
_v
(
a
.
_s
(
t
.
title
))]),
a
.
_v
(
" "
),
s
(
"ul"
,{
staticClass
:
"knot-list"
},[
a
.
_l
(
t
.
chapters
,
function
(
t
,
e
){
return
[
s
(
"li"
,{
key
:
e
,
class
:[
"knob-item"
,
t
.
id
===
a
.
list
.
currentChapterId
?
"on"
:
""
]},[
s
(
"a"
,{
staticClass
:
"knot-name"
,
attrs
:{
"data-vid"
:
t
.
id
,
"data-type"
:
t
.
video_provider
,
"data-hasVA"
:
t
.
time
,
"data-index"
:
r
,
"data-count"
:
e
},
on
:{
click
:
a
.
jumpToOtherVA
}},[
a
.
_v
(
a
.
_s
(
t
.
name
))]),
a
.
_v
(
" "
),
s
(
"i"
,{
class
:[
"el-icon"
,
t
.
time
?
"el-icon-self-iconset0481"
:
3
===
t
.
type
?
"el-icon-edit-outline"
:
"el-icon-self-cc-book"
]})])]})],
2
)])]})],
2
)])}
var
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})}}]);
\ No newline at end of file
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
6
],{
276
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
452
),
s
=
r
(
363
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
432
);
var
n
=
r
(
1
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"ea9eda5c"
,
null
);
e
.
default
=
c
.
exports
},
363
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
364
),
s
=
r
.
n
(
a
);
for
(
var
i
in
a
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
a
[
t
]})}(
i
);
e
.
default
=
s
.
a
},
364
:
function
(
t
,
e
,
r
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
u
=
i
(
r
(
45
)),
p
=
i
(
r
(
82
)),
a
=
i
(
r
(
428
)),
s
=
i
(
r
(
430
));
function
i
(
t
){
return
t
&&
t
.
__esModule
?
t
:{
default
:
t
}}
e
.
default
=
{
components
:{
sideChapterList
:
a
.
default
,
sideChapterPpt
:
s
.
default
},
props
:{
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
},
videoType
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
SIDEBAR_CHAPTER
:
"sidebar_chapter"
,
SIDEBAR_PPT
:
"sidebar_ppt"
,
state
:{
sideBar
:
"sidebar_chapter"
,
isChapterVideo
:
!
1
},
chapterList
:{},
pptList
:{},
courseInfo
:[],
courseWork
:{},
curChapterName
:
""
,
chapterId
:
""
,
chapterRead
:{},
chapterWork
:{},
chapterExam
:{},
chapterVideo
:{},
chapterPpts
:[]}},
beforeRouteUpdate
:
function
(
t
,
e
,
r
){
var
a
=
this
;
if
(
"chapterVideo"
===
t
.
name
){
this
.
state
.
isChapterVideo
=!
0
;
var
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
}),
i
=
"3"
!==
t
.
params
.
videoType
?
"getCurrentChapterDetail"
:
"getCurrentChapterDetailAliyun"
;
u
.
default
.
chapterAction
[
i
](
t
.
params
.
id
).
then
(
function
(
t
){
a
.
pptList
=
t
.
image
,
a
.
chapterPpts
=
t
.
rData
.
ppts
}).
catch
(
function
(
t
){
a
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
s
.
close
()})}
else
this
.
state
.
isChapterVideo
=!
1
;
var
n
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
if
(
"0"
===
t
.
params
.
cid
&&
"0"
===
t
.
params
.
sid
)
return
this
.
$message
({
message
:
"URL异常,重新选择课程学习!!!"
,
type
:
"info"
,
duration
:
1
e4
}),
void
n
.
close
();
u
.
default
.
chapterAction
.
getChapterList
(
t
.
params
.
cid
,
t
.
params
.
sid
,
t
.
params
.
id
).
then
(
function
(
e
){
a
.
chapterList
=
e
.
json
,
a
.
courseInfo
=
e
.
courseInfo
,
a
.
courseWork
=
e
.
courseWork
,
a
.
curChapterName
=
e
.
curJson
.
name
,
a
.
chapterId
=
e
.
curJson
.
chapterId
,
2
===
e
.
curJson
.
type
&&
u
.
default
.
chapterAction
.
getProgress
(
a
.
id
,
p
.
default
.
other
.
getIdt
(),
a
.
sid
).
then
(
function
(
t
){
a
.
chapterVideo
=
2
===
e
.
curJson
.
type
&&
e
.
curJson
.
chapterVideo
||
{},
a
.
chapterVideo
.
progress
=
t
}).
catch
(
function
(
t
){
a
.
$message
.
error
(
t
.
message
)}),
a
.
chapterRead
=
4
===
e
.
curJson
.
type
&&
e
.
curJson
.
chapterRead
||
{},
a
.
chapterExam
=
3
===
e
.
curJson
.
type
&&
1
===
e
.
curJson
.
work_type
&&
e
.
curJson
.
homework
||
{},
a
.
chapterWork
=
3
===
e
.
curJson
.
type
&&
2
===
e
.
curJson
.
work_type
&&
e
.
curJson
.
chapterWork
||
{}}).
catch
(
function
(
t
){
a
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
n
.
close
()}),
r
()},
mounted
:
function
(){
var
r
=
this
;
if
(
"chapterVideo"
===
this
.
$route
.
name
){
this
.
state
.
isChapterVideo
=!
0
;
var
t
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
}),
e
=
"3"
!==
this
.
videoType
?
"getCurrentChapterDetail"
:
"getCurrentChapterDetailAliyun"
;
u
.
default
.
chapterAction
[
e
](
this
.
id
).
then
(
function
(
t
){
r
.
pptList
=
t
.
image
,
r
.
chapterPpts
=
t
.
rData
.
ppts
}).
catch
(
function
(
t
){
r
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
t
.
close
()})}
var
a
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
if
(
"0"
===
this
.
cid
&&
"0"
===
this
.
sid
)
return
this
.
$message
({
message
:
"URL异常,请点击“返回首页”,重新选择课程学习!"
,
type
:
"info"
,
duration
:
1
e4
}),
void
a
.
close
();
u
.
default
.
chapterAction
.
getChapterList
(
this
.
cid
,
this
.
sid
,
this
.
id
).
then
(
function
(
e
){
r
.
chapterList
=
e
.
json
,
r
.
courseInfo
=
e
.
courseInfo
,
r
.
courseWork
=
e
.
courseWork
,
r
.
curChapterName
=
e
.
curJson
.
name
,
r
.
chapterId
=
e
.
curJson
.
chapterId
,
2
===
e
.
curJson
.
type
&&
u
.
default
.
chapterAction
.
getProgress
(
r
.
id
,
p
.
default
.
other
.
getIdt
(),
r
.
sid
).
then
(
function
(
t
){
r
.
chapterVideo
=
2
===
e
.
curJson
.
type
&&
e
.
curJson
.
chapterVideo
||
{},
r
.
chapterVideo
.
progress
=
t
}).
catch
(
function
(
t
){
r
.
$message
.
error
(
t
.
message
)}),
r
.
chapterRead
=
4
===
e
.
curJson
.
type
&&
e
.
curJson
.
chapterRead
||
{},
r
.
chapterExam
=
3
===
e
.
curJson
.
type
&&
1
===
e
.
curJson
.
work_type
&&
e
.
curJson
.
homework
||
{},
r
.
chapterWork
=
3
===
e
.
curJson
.
type
&&
2
===
e
.
curJson
.
work_type
&&
e
.
curJson
.
chapterWork
||
{}}).
catch
(
function
(
t
){
r
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){
a
.
close
()})},
methods
:{
changeSideBar
:
function
(
t
){
this
.
state
.
sideBar
=
t
},
handlePlayTime
:
function
(
t
){
this
.
$refs
.
sidePpt
&&
this
.
$refs
.
sidePpt
.
setIndexByPoint
(
t
)},
handleClickSidePpt
:
function
(
t
){
var
e
=
this
.
chapterPpts
||
[];
if
(
e
.
length
>
t
&&
this
.
$refs
.
comTotalChapter
){
var
r
=
e
[
t
];
this
.
$refs
.
comTotalChapter
.
setVideoTime
(
r
.
ppt_point
)}},
updateProgress
:
function
(
a
){
var
r
=
this
;
if
(
a
.
cpt
){
for
(
var
s
=
[],
t
=
0
,
e
=
0
;
e
<
a
.
ps
.
length
;
e
++
){
s
[
e
]
=
a
.
ps
[
e
];
var
i
=
Math
.
floor
(
a
.
ps
[
e
])
||
1
;
i
!==
t
&&
(
a
.
map
[
i
-
1
]
+=
1
,
t
=
i
)}
var
n
=
s
;
s
=
[];
for
(
var
c
=
t
=
0
;
c
<
n
.
length
;
c
++
)
Math
.
floor
(
n
[
c
])
!==
t
&&
(
s
.
push
(
Math
.
floor
(
n
[
c
])),
t
=
Math
.
floor
(
n
[
c
]));
var
o
=
window
.
G
.
UserInfo
;
u
.
default
.
chapterAction
.
updateProgress
({
sid
:
o
&&
o
.
student_info
&&
o
.
student_info
.
id
||
""
,
uid
:
o
&&
o
.
uid
||
""
,
d
:
p
.
default
.
other
.
getIdt
(),
i
:
p
.
default
.
other
.
getIdt
(),
c
:
this
.
cid
,
s
:
this
.
sid
,
v
:
a
.
vid
,
_p
:
parseInt
(
a
.
pt
),
_m
:
parseInt
(
a
.
mpt
),
_c
:
parseInt
(
a
.
cpt
),
ps
:
s
.
join
(
","
)}).
then
(
function
(
t
){
if
(
t
.
success
)
for
(
var
e
=
0
;
e
<
s
.
length
;
e
++
)
a
.
ps
.
shift
();
else
{
var
r
=
document
.
getElementById
(
"player"
);
!!
r
.
callAction
?
r
.
callAction
(
"pause"
):
r
.
children
[
0
].
pause
()}}).
catch
(
function
(
t
){
r
.
$message
.
error
(
t
.
message
);
var
e
=
document
.
getElementById
(
"player"
);
!!
e
.
callAction
?
e
.
callAction
(
"pause"
):
e
.
children
[
0
].
pause
()}).
finally
(
function
(){})}},
changeVideoArr
:
function
(
t
){
console
.
log
(
"已经实现"
),
t
.
callback
&&
t
.
callback
()}}}},
365
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
366
),
s
=
r
.
n
(
a
);
for
(
var
i
in
a
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
a
[
t
]})}(
i
);
e
.
default
=
s
.
a
},
366
:
function
(
t
,
e
,
r
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
}),
e
.
default
=
{
props
:{
list
:{
type
:
Object
,
require
:
!
1
},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
}},
methods
:{
jumpToOtherVA
:
function
(
t
){
var
e
=
t
.
target
.
dataset
,
r
=
this
.
cid
,
a
=
e
.
vid
,
s
=
e
.
type
;
if
(
e
.
hasva
)
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-video/"
+
a
+
"/"
+
s
});
else
{
var
i
=
e
.
index
,
n
=
e
.
count
,
c
=
this
.
list
.
course
[
i
];
if
(
c
&&
c
.
chapters
[
n
]){
if
(
"course_info"
===
c
.
chapters
[
n
].
id
)
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/course-info/course_info"
});
else
if
(
"course_work"
===
c
.
chapters
[
n
].
id
){
if
(
!
this
.
list
.
survey
)
return
void
this
.
$message
(
"请先填写教学评估,然后完成大作业。"
);
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/course-work/course_work"
})}
else
"course_exam"
===
c
.
chapters
[
n
].
id
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-exam/"
+
c
.
chapters
[
n
].
exam_id
}):
3
===
c
.
chapters
[
n
].
type
?
1
===
c
.
chapters
[
n
].
work_type
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-exam/"
+
a
}):
2
===
c
.
chapters
[
n
].
work_type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-work/"
+
a
}):
4
===
c
.
chapters
[
n
].
type
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/chapter-read/"
+
a
}):
"teach_evaluation"
===
c
.
chapters
[
n
].
id
&&
this
.
$router
.
push
({
path
:
"/survey/"
+
r
});
return
}
this
.
$message
.
error
(
"系统未知错误,002"
)}}}}},
367
:
function
(
t
,
e
,
r
){},
368
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
369
),
s
=
r
.
n
(
a
);
for
(
var
i
in
a
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
a
[
t
]})}(
i
);
e
.
default
=
s
.
a
},
369
:
function
(
t
,
e
,
r
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
}),
e
.
default
=
{
props
:{
ppt
:{
type
:
Object
,
require
:
!
1
}},
methods
:{
setIndexByPoint
:
function
(
t
){
for
(
var
e
=
(
this
.
ppt
.
imgUrls
||
[]).
length
,
r
=
0
;
r
<
e
&&!
(
t
<
this
.
ppt
.
timeArr
[
r
]);
r
++
);
this
.
ppt
.
selectIndex
!==
r
-
1
&&
(
this
.
ppt
.
selectIndex
=
r
-
1
)},
onClickPpt
:
function
(
t
){
var
e
=
t
.
currentTarget
.
dataset
.
index
-
0
;
this
.
ppt
.
selectIndex
!==
e
&&
(
this
.
ppt
.
selectIndex
=
e
,
this
.
$emit
(
"handleClickPpt"
,
e
))}}}},
370
:
function
(
t
,
e
,
r
){},
371
:
function
(
t
,
e
,
r
){},
428
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
482
),
s
=
r
(
365
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
429
);
var
n
=
r
(
1
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"b09df8e0"
,
null
);
e
.
default
=
c
.
exports
},
429
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
367
);
r
.
n
(
a
).
a
},
430
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
481
),
s
=
r
(
368
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
431
);
var
n
=
r
(
1
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"8ec544e6"
,
null
);
e
.
default
=
c
.
exports
},
431
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
370
);
r
.
n
(
a
).
a
},
432
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
371
);
r
.
n
(
a
).
a
},
452
:
function
(
t
,
e
,
r
){
"use strict"
;
function
a
(){
var
e
=
this
,
t
=
e
.
$createElement
,
r
=
e
.
_self
.
_c
||
t
;
return
r
(
"div"
,{
class
:[
"play"
,
e
.
state
.
sideBar
?
""
:
"sidebar-hide"
]},[
r
(
"div"
,{
staticClass
:
"left-content"
},[
r
(
"div"
,{
staticClass
:
"play-top cl"
,
style
:
e
.
state
.
sideBar
?{}:{
marginRight
:
0
}},[
r
(
"router-link"
,{
staticClass
:
"router-link-class"
,
attrs
:{
to
:{
path
:
"/app/my-learn/course-detail/"
+
e
.
cid
}}},[
r
(
"i"
,{
staticClass
:
"play-back el-icon-arrow-left"
})]),
e
.
_v
(
" "
),
r
(
"p"
,[
e
.
_v
(
e
.
_s
(
e
.
chapterList
.
title
))])],
1
),
e
.
_v
(
" "
),
r
(
"div"
,{
staticClass
:
"play-content"
},[
r
(
"router-view"
,{
ref
:
"comTotalChapter"
,
attrs
:{
chapterName
:
e
.
curChapterName
,
chapterId
:
e
.
chapterId
,
courseInfo
:
e
.
courseInfo
,
courseWork
:
e
.
courseWork
,
chapterRead
:
e
.
chapterRead
,
chapterWork
:
e
.
chapterWork
,
chapterExam
:
e
.
chapterExam
,
chapterVideo
:
e
.
chapterVideo
,
ppts
:
e
.
chapterPpts
,
videoType
:
e
.
videoType
},
on
:{
changeVideoArr
:
e
.
changeVideoArr
,
handlePlayTime
:
e
.
handlePlayTime
,
updateProgress
:
e
.
updateProgress
}})],
1
)]),
e
.
_v
(
" "
),
r
(
"div"
,{
staticClass
:
"right-ctrl"
,
style
:{
right
:(
e
.
state
.
sideBar
?
0
:
-
388
)
+
"px"
}},[
r
(
"p"
,{
staticClass
:
"ctrl-arrow"
,
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
""
)}}},[
r
(
"span"
,[
e
.
_v
(
">"
)])]),
e
.
_v
(
" "
),
r
(
"div"
,{
staticClass
:
"ctrl-pl"
},[
r
(
"ul"
,{
staticClass
:
"pl-tab-hd"
},[
r
(
"li"
,{
class
:[
e
.
state
.
sideBar
===
e
.
SIDEBAR_CHAPTER
?
"on"
:
""
]},[
r
(
"a"
,{
attrs
:{
href
:
"#"
+
e
.
SIDEBAR_CHAPTER
},
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
e
.
SIDEBAR_CHAPTER
)}}},[
e
.
_v
(
"章节"
)])]),
e
.
_v
(
" "
),
e
.
state
.
isChapterVideo
?[
r
(
"li"
,{
class
:[
"br-l-line"
,
e
.
state
.
sideBar
===
e
.
SIDEBAR_PPT
?
"on"
:
""
]},[
r
(
"a"
,{
attrs
:{
href
:
"#"
+
e
.
SIDEBAR_PPT
},
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
e
.
SIDEBAR_PPT
)}}},[
e
.
_v
(
"讲义"
)])])]:
e
.
_e
()],
2
),
e
.
_v
(
" "
),
r
(
"div"
,{
staticClass
:
"pl-tab-bd"
},[
e
.
state
.
sideBar
===
e
.
SIDEBAR_CHAPTER
?[
r
(
"side-chapter-list"
,{
attrs
:{
list
:
e
.
chapterList
,
sid
:
e
.
sid
,
cid
:
e
.
cid
}})]:
e
.
_e
(),
e
.
_v
(
" "
),
e
.
state
.
sideBar
===
e
.
SIDEBAR_PPT
?[
r
(
"side-chapter-ppt"
,{
ref
:
"sidePpt"
,
attrs
:{
ppt
:
e
.
pptList
},
on
:{
handleClickPpt
:
e
.
handleClickSidePpt
}})]:
e
.
_e
()],
2
)])]),
e
.
_v
(
" "
),
e
.
state
.
sideBar
?
e
.
_e
():[
r
(
"div"
,{
staticClass
:
"switch"
},[
r
(
"a"
,{
staticClass
:
"switch-chapter"
,
attrs
:{
href
:
"#"
+
e
.
SIDEBAR_CHAPTER
},
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
e
.
SIDEBAR_CHAPTER
)}}},[
r
(
"i"
,{
staticClass
:
"el-icon-self-wenjian"
}),
e
.
_v
(
" "
),
r
(
"div"
,[
e
.
_v
(
"章节"
)])]),
e
.
_v
(
" "
),
e
.
state
.
isChapterVideo
?[
r
(
"a"
,{
staticClass
:
"switch-handout"
,
attrs
:{
href
:
"#"
+
e
.
SIDEBAR_PPT
},
on
:{
click
:
function
(
t
){
return
e
.
changeSideBar
(
e
.
SIDEBAR_PPT
)}}},[
r
(
"i"
,{
staticClass
:
"el-icon-self-PPT"
}),
e
.
_v
(
" "
),
r
(
"div"
,[
e
.
_v
(
"讲义"
)])])]:
e
.
_e
()],
2
)]],
2
)}
var
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})},
481
:
function
(
t
,
e
,
r
){
"use strict"
;
function
a
(){
var
r
=
this
,
t
=
r
.
$createElement
,
a
=
r
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"tab-pane"
},[
a
(
"ul"
,{
staticClass
:
"lecture-list"
},[
r
.
_l
(
r
.
ppt
.
imgUrls
,
function
(
t
,
e
){
return
[
a
(
"li"
,{
key
:
e
,
class
:[
e
===
r
.
ppt
.
selectIndex
?
"on"
:
""
],
attrs
:{
"data-index"
:
e
},
on
:{
click
:
r
.
onClickPpt
}},[
a
(
"img"
,{
attrs
:{
src
:
t
,
alt
:
""
}})])]})],
2
)])}
var
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})},
482
:
function
(
t
,
e
,
r
){
"use strict"
;
function
a
(){
var
a
=
this
,
t
=
a
.
$createElement
,
s
=
a
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
staticClass
:
"tab-pane"
},[
s
(
"ul"
,{
staticClass
:
"chapter-list"
},[
a
.
_l
(
a
.
list
.
course
,
function
(
t
,
r
){
return
[
s
(
"li"
,{
key
:
r
,
staticClass
:
"chapter-item"
},[
s
(
"h4"
,[
a
.
_v
(
a
.
_s
(
t
.
title
))]),
a
.
_v
(
" "
),
s
(
"ul"
,{
staticClass
:
"knot-list"
},[
a
.
_l
(
t
.
chapters
,
function
(
t
,
e
){
return
[
s
(
"li"
,{
key
:
e
,
class
:[
"knob-item"
,
t
.
id
===
a
.
list
.
currentChapterId
?
"on"
:
""
]},[
s
(
"a"
,{
staticClass
:
"knot-name"
,
attrs
:{
"data-vid"
:
t
.
id
,
"data-type"
:
t
.
video_provider
,
"data-hasVA"
:
t
.
time
,
"data-index"
:
r
,
"data-count"
:
e
},
on
:{
click
:
a
.
jumpToOtherVA
}},[
a
.
_v
(
a
.
_s
(
t
.
name
))]),
a
.
_v
(
" "
),
s
(
"i"
,{
class
:[
"el-icon"
,
t
.
time
?
"el-icon-self-iconset0481"
:
3
===
t
.
type
?
"el-icon-edit-outline"
:
"el-icon-self-cc-book"
]})])]})],
2
)])]})],
2
)])}
var
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})}}]);
\ No newline at end of file
server/client-dist/resources/6.
7acaef322a03
.css
→
server/client-dist/resources/6.
adf556fa1464
.css
浏览文件 @
cc8387a2
.tab-pane
[
data-v-2fba9490
]
{
display
:
block
;
height
:
100%
;
overflow
:
auto
}
.tab-pane
.chapter-list
[
data-v-2fba9490
]
{
margin
:
0
;
padding
:
0
;
line-height
:
1.6
;
overflow
:
hidden
}
.tab-pane
.chapter-list
.chapter-item
h4
[
data-v-2fba9490
]
{
padding
:
10px
22px
;
margin
:
0
;
font-size
:
15px
;
color
:
#b0b0b0
;
background-color
:
#2f2f2f
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
[
data-v-2fba9490
]
{
margin
:
0
;
padding
:
0
;
line-height
:
1.6
;
overflow
:
hidden
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-2fba9490
]
{
position
:
relative
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
.on
[
data-v-2fba9490
]
{
background
:
#3c3c3c
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
.on
a
[
data-v-2fba9490
]
{
color
:
#b49441
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-2fba9490
]
:hover
{
background
:
#3c3c3c
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-2fba9490
]
:before
{
display
:
block
;
content
:
""
;
position
:
absolute
;
left
:
13px
;
top
:
16px
;
z-index
:
10
;
width
:
18px
;
height
:
18px
;
background
:
#5b5b5b
;
border
:
2px
solid
#5b5b5b
;
-webkit-border-radius
:
50%
;
-moz-border-radius
:
50%
;
border-radius
:
50%
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-2fba9490
]
:after
{
display
:
block
;
content
:
""
;
position
:
absolute
;
left
:
22px
;
top
:
0
;
z-index
:
5
;
width
:
1px
;
height
:
100px
;
background
:
#616161
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
.knot-name
[
data-v-2fba9490
]
{
display
:
block
;
padding
:
15px
35px
15px
40px
;
font-size
:
14px
;
color
:
#909090
;
text-decoration
:
none
;
cursor
:
pointer
}
.tab-pane
.chapter-list
.chapter-item
.el-icon
[
data-v-2fba9490
]
{
position
:
absolute
;
font-size
:
16px
;
right
:
10px
;
top
:
50%
;
-webkit-transform
:
translateY
(
-50%
);
-moz-transform
:
translateY
(
-50%
);
-ms-transform
:
translateY
(
-50%
);
-o-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
)}
.tab-pane
[
data-v-8ec544e6
]
{
display
:
block
;
height
:
100%
;
overflow
:
auto
}
.tab-pane
.lecture-list
[
data-v-8ec544e6
]
{
padding
:
8px
16px
}
.tab-pane
.lecture-list
li
[
data-v-8ec544e6
]
{
padding
:
8px
16px
;
cursor
:
pointer
;
list-style
:
none
}
.tab-pane
.lecture-list
li
.on
[
data-v-8ec544e6
]
{
background
:
#888
}
.tab-pane
.lecture-list
li
img
[
data-v-8ec544e6
]
{
width
:
100%
}
.play
{
overflow
:
hidden
;
position
:
fixed
;
top
:
0
;
z-index
:
800
;
width
:
100%
;
height
:
100%
;
background-color
:
#3f3f3f
;
color
:
#a0a0a0
}
.play
.left-content
{
position
:
absolute
;
right
:
350px
;
top
:
0
;
left
:
0
;
bottom
:
0
;
min-width
:
705px
;
height
:
100%
}
.play.sidebar-hide
.left-content
{
right
:
0
}
.play
.play-top
{
line-height
:
56px
}
.play
.play-top
p
{
font-size
:
1.5em
;
text-align
:
center
;
margin
:
0
}
.play
.play-back
{
position
:
absolute
;
top
:
6px
;
left
:
10px
;
width
:
40px
;
height
:
40px
;
overflow
:
hidden
;
color
:
#fff
;
font-size
:
24px
;
line-height
:
40px
;
text-align
:
center
}
.play
.play-content
{
position
:
absolute
;
top
:
56px
;
bottom
:
0
;
left
:
0
;
right
:
0
}
.play
.play-content-video
{
height
:
100%
}
.play
.play-center
.text-error
{
font-size
:
.875em
;
line-height
:
1.5em
}
.play
.play-video-hide
{
visibility
:
hidden
;
overflow
:
hidden
;
width
:
0
}
.play
.play-video-init-center
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
margin
:
-180px
0
0
-275px
}
.play
.play-ppt
{
position
:
relative
;
width
:
550px
;
height
:
363.375px
;
background-color
:
#000
}
.play
.play-ppt-img
{
width
:
100%
;
height
:
100%
}
.play
.play-controls
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
height
:
44px
;
line-height
:
42px
;
padding
:
0
14px
;
background-color
:
#000
}
.play
.play-controls
.fl
i
{
color
:
#8c8c8b
}
.play
.play-page
{
position
:
absolute
;
left
:
50%
;
margin-left
:
-75px
;
color
:
#fff
;
width
:
150px
;
text-align
:
center
;
font-size
:
.875em
}
.play
.play-page
.play-now
{
color
:
#d29f29
}
.play
.play-amazing
{
float
:
right
}
.play
.play-amazing
i
{
color
:
#fff
;
margin
:
0
10px
;
cursor
:
pointer
}
.play
.play-amazing
i
.active
,
.play
.play-amazing
i
:hover
{
color
:
#d29f29
}
.play
.play-amazing
.icon-rotate
{
font-size
:
1.125em
}
.play
.play-footer
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
z-index
:
200
;
padding
:
18px
20px
15px
}
.play
.play-footer
a
:hover
{
color
:
#a0a0a0
}
.play
.play-state
{
display
:
inline-block
;
color
:
#a0a0a0
;
padding-left
:
25px
;
font-size
:
14px
;
line-height
:
18px
;
margin
:
0
20px
;
background
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAGLCAMAAAFly2nyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMDA3NTdkYS1iNTY5LTQ5MGEtYTA4MS02YWNlYWZlMGM2YzMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg4NUE2RkFFMkVCMTFFN0FBREZBNkNDMUEwRTI3OTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg4NUE2RjlFMkVCMTFFN0FBREZBNkNDMUEwRTI3OTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YzU0NDA3MDYtMWE4Mi00MDk4LTg2NWYtMzYwMmY4NWY1NThkIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIwMDc1N2RhLWI1NjktNDkwYS1hMDgxLTZhY2VhZmUwYzZjMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pn/9WLEAAAGAUExURV9WQIWFhbGSQVVVVXR0dFNTU7SUQUBAQE5OTkFBQU9PT0JCQp6enpiYmFFMP6mMQUBAP5aWllFRUWpqaqqNQZGRkVhYWEpKSouLi5CQkJqBQYGBgXp6emVlZXJkQFJNP52dnUJBP5OTk6GGQYKCgpubm2hoaFlZWZWVlWFhYUtLS319fXl5eZ+fn4CAgFtTP0NDQ1xUP4ZyQE1NTUREREVFRUZGRpmZmVtbW2xsbIODg1paWlxcXFdXV3FjQGdnZ0hISHNzc1BQUF5eXmlpaYiIiIl1QHNlQKKHQZeXl2FYQF1dXWBXQFZWVl9fX0dHR0pHP1hRP6+QQYaGhnt7e0NCP6uOQYVyQFVPP6CFQWRkZHpqQHFxcZKSkqOIQV5VQH5tQG9iQI+Pj0VDP5d/QKSIQaSJQaCGQXBjQFJSUm9vb35+fmNjY2tra2hdQI14QEVEP4mJiWZbQFlSP6iLQV1VQHZ2dpycnIqKioRxQJR9QE5KP5SUlHx8fKCgoD8/P7j7iVMAAAVKSURBVHjabM3RCYAwDEXRR6GBQkEcoUMIDuFMuatrBW2DflwCB8KTg9wRjLZuRMu9HO3xYBVViiiTJZRoog3b3e+Ndfo9zGTXXfjuvPmvnwKIAUyhII16LIJwxIrMFQOREpIwbjyIlFKGcoEORdYIdCNWA+swzOeqBwgghjobaDhiJYHhjkeW1ZQVn6w4iPSvx22CBIN1vWR9Eg5ZKQafeuX6SGyuQiIxZdmQyHoCZB0kvrDKWkLZsvX1AAEEJE3BKsHqBeuIMBndFkg419WTqpcdRLKCw1mIlUS9kNQPzhccEL1Em6ATCyTVoCJZQJKdG8x24eIgqDc8DkjaQUWigaRAKJgtJ89HSG8dEFiA2XUYpCcBvWxA4ANms2GQ/CSHG2pogNKAngrYhZyQPM5OpF5RCFsBTGqASF2QCEAAgVOvKzQh54K8DRcVQkrY9VRi1rnWg5MhNIiFoUwnuChVbQOmsnpQggMxHVhZWVnhogas1LdNCERCrQACThiTHSZKVdvqbe2BFLs5kCkDFuGtFwbHsqCJTX09F1ABL1hYnYsqthkmAimBMCDTCCwiUi9Xz+ABTNAFXvX18kAFIhCF8lRJJTBWHWEm5baxwVhshJnUjUJimN4wZkidNIQZXGeFUFAHLgegaus0qWWxMy+SqFYdjKkqhqEWIIAQcQFiccGKjxpYQaKAKFI0kQoXCVRjBgkL6j4ORBmlhCitFGAsP6hYIWapNQhYrMgsbliR5wQr/DIRxaAZUoHINSjjA8IyQypX2RElrDGcBfOlOHJJyzpo/CEWy6MDZvECq4J6NVtgAxoip1bPIAyitYTqZRhA7Zp6xvp6HgaOemZ/JSBHiSGpvl4UKM5uzcAhBi3kGeo5JDkMXCQGwB+lcUzhYJaIAJCyMwS2/CFyGfUMciC6OqLeiEERxKqqr2di4KsPDEgDctIYIuvrPYBtLwEGBr54aPXBUM+nzJcsJ0V3fwjWQYAgUo6nhOULZTHT2R/8bBAAaVIiuhnksvShLP1BWgqQx/KGserqUGtMBkTVCWPUM1jVqcD0ZsOqW1DNqwczhWVgy/s6cbiYAitc1twZrk4U1lnk0IWKialC1UVpYJgHEKAd8+ppGIaisBlR0owOaCmFlkIZpZRd9i6jZYgtIQQ8gNgSAgkQ4wH7r2PHcbHjIt4Qorkvib5c+1i2ont86bWaxJ0lssG8CSFX2WG0w/lt+LxclcxwjLyYEiNeNVHGaiCPcSyUYb6W3z9onhgSI9EclVhVTswza0dc8x0hWcPb+/JMYWZqrE5kapRdJx3myyk0+DxDkxkbLGugbW/vf2AqexP2TzNkhmNxVGaKcrvgYnVjrrH6oKTh7f23TFuJ1euGodfHVjTKNCv9lZK2MAXpWOnkUOYEqbE0AimdEfWNuGAthUAnKcT5LWym1hbsSmIikLUtcr4520uzl7NYo9FuCdY4f+U8dcOz1rwjo3aNz5bWPB1Pma+R+HRlnIf/or2YbGtLFtsv/JT5w/x1PYwpANfBErk/RsFrgMBlkpFgU5FMdInAHjHzp48IPQV2yJfzagQKttU/fSi80+yWAtZouiGvu4cUnVFXPxQ+c2SCcwdDX63I4avqvdVhUAn1fJPVWue5GeJ6V+X6Wb/LJtagGKGJf30egQHWyXOeAwGuu1eu4/e7bJ1d6lg8r3t15m+yWggzIovj/6df5VmWeHQfP3YKkw6fMN8+RlM+t0a/O9HW+BAndNZChOW71cxGBZ9Roq9bk/MaOlkDmx+rd/clpPl6InBSZIrVuiWOXWodV0SNSRjpca3lE672gHeiUdU0AAAAAElFTkSuQmCC)
no-repeat
0
0
;
cursor
:
pointer
}
.play
.play-state
a
{
color
:
#a0a0a0
;
text-decoration
:
none
}
.play
.play-state-prev
{
background-position
:
0
2px
}
.play
.play-state-prev-disable
{
background-position
:
0
-78px
;
color
:
#666
}
.play
.play-state-next
{
background-position
:
0
-38px
}
.play
.play-state-next-disable
{
background-position
:
0
-118px
;
color
:
#666
}
.play
.play-state-check
{
background-position
:
0
-160px
}
.play
.play-state-check-active
{
background-position
:
0
-200px
;
color
:
#b19241
}
.play
.play-state-ppt
{
background-position
:
0
-240px
}
.play
.play-state-ppt-active
{
background-position
:
0
-280px
;
color
:
#b19241
}
.play
.play-state-next-disable
:hover
,
.play
.play-state-prev-disable
:hover
{
color
:
#666
!important
}
.play
.switch
{
display
:
block
;
width
:
36px
;
height
:
125px
;
position
:
absolute
;
right
:
0
;
top
:
50%
;
text-align
:
center
;
margin
:
-63px
0
0
;
z-index
:
998
;
cursor
:
pointer
}
.play
.switch
a
{
color
:
#a0a0a0
;
text-decoration
:
none
;
font-size
:
14px
;
line-height
:
2
;
margin-bottom
:
20px
}
.play
.switch
a
i
{
font-size
:
24px
;
padding
:
5px
;
background
:
#666
;
border-radius
:
4px
}
.play
.play-paper
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
left
:
0
;
right
:
0
;
overflow
:
auto
;
background-color
:
#e5e5e5
}
.play
.play-paper-body
{
min-height
:
500px
;
margin
:
25px
;
padding
:
15px
45px
25px
;
color
:
#313131
;
box-shadow
:
0
0
2px
rgba
(
0
,
0
,
0
,
.05
);
background-color
:
#f2f2f2
}
.play
.play-paper-title
{
margin
:
0
10px
;
text-align
:
center
}
.play
.play-paper-title
div
{
padding-bottom
:
3px
;
display
:
inline-block
;
border-bottom
:
1px
solid
#707070
}
.play
.play-paper-title
h3
{
padding
:
0
0
5px
;
margin
:
0
;
display
:
inline-block
;
font-size
:
20px
;
border-bottom
:
3px
solid
#707070
}
.play
.play-paper-body
.help
{
color
:
#999
;
font-size
:
12px
}
.play
.play-paper-body
.help-file
{
margin-top
:
-10px
}
.play
.play-paper-body
.area-btns
{
margin
:
20px
0
}
.play
.play-paper-body
.area-btns
.btn
{
padding
:
6px
25px
}
.play
.play-paper-body
.area-btns
.help
{
margin-top
:
10px
;
font-size
:
14px
}
.play
.play-paper-body
.area-btns
.help-info
{
display
:
inline-block
;
vertical-align
:
middle
}
.play
.play-paper-body
.webuploader-btn
.upbtn
{
color
:
#b49441
;
text-decoration
:
underline
;
padding
:
3px
15px
;
font-size
:
.9em
;
display
:
inline-block
}
.play
.play-paper-body
.webuploader-btn
.loading
.fa-spin
{
font-size
:
1.2em
!important
}
.play
.play-paper-body
label
{
font-weight
:
400
}
.play
.play-paper-body
input
{
vertical-align
:
middle
}
.play
.play-paper-check
{
margin-top
:
20px
;
padding
:
20px
;
border
:
1px
solid
#dedede
}
.play
.play-paper-check
h4
{
font-size
:
16px
;
margin
:
0
0
10px
}
.play
.play-paper-check-item
{
padding-left
:
3em
}
.play
.play-paper-check-item
b
{
margin-left
:
-3em
;
margin-top
:
1px
}
.play
.play-paper-check-item
.edit_html
,
.play
.play-paper-check-item
b
{
display
:
inline-block
;
vertical-align
:
top
}
.play
.play-read-files
{
padding
:
30px
;
margin
:
0
}
.play
.play-read-files
li
{
font-size
:
16px
;
padding
:
20px
30px
;
margin-bottom
:
10px
;
background-color
:
#fff
;
list-style
:
none
}
.play
.play-read-files
li
a
{
color
:
#333
;
text-decoration
:
none
}
.play
.play-read-files
li
a
:hover
{
color
:
#b49441
}
.play
.play-chapter-work
{
padding
:
25px
}
.play
.play-chapter-work
.work-number
{
margin-left
:
-25px
}
.play
.play-chapter-work
.work-title
{
margin-top
:
-20px
;
margin-bottom
:
10px
}
.play
.play-chapter-work
.area-btns
{
margin
:
20px
-25px
0
;
border-top
:
1px
solid
#eaeaea
;
padding-top
:
20px
}
.play
.play-chapter-exam
{
padding
:
25px
}
.play
.play-chapter-exam
li
{
position
:
relative
;
margin-top
:
15px
;
border-bottom
:
1px
solid
#b49441
}
.play
.play-chapter-exam
.exam-title
{
margin
:
-20px
0
10px
25px
}
.play
.play-chapter-exam
.wrong
{
color
:
#d80000
}
.play
.play-chapter-exam
.correct
{
color
:
#090
}
.play
.play-chapter-exam
.answer
{
position
:
absolute
;
right
:
25px
;
bottom
:
10px
}
.play
.play-chapter-exam
.result
{
float
:
right
;
margin-top
:
-20px
;
margin-right
:
-20px
;
font-size
:
16px
;
font-weight
:
700
}
.play
dd
,
.play
dl
,
.play
dt
,
.play
li
,
.play
ol
,
.play
ul
{
margin
:
0
;
padding
:
0
;
list-style
:
none
}
.play
.edit_html
p
{
padding
:
0
;
margin
:
0
0
15px
}
.play
.play-paper-step
{
font-weight
:
700
;
font-size
:
16px
;
margin
:
30px
-20px
15px
;
padding-bottom
:
10px
;
border-bottom
:
1px
dashed
#cecece
}
.play
.no-data
{
color
:
#c9c9c9
;
font-size
:
36px
;
padding
:
160px
0
;
text-align
:
center
}
.play
.hide
{
display
:
none
}
.play
.play-jiangyi
,
.play
.play-video
{
float
:
left
}
@media
(
max-width
:
768px
){
.play
.left-content
{
min-width
:
0
;
right
:
0
}
.play
.play-back
{
margin
:
0
}
.play
.play-chapter-work
{
padding
:
25px
0
;
margin-right
:
-20px
}
.play
.play-read-files
{
padding
:
30px
0
;
margin
:
0
-20px
}
.play
.switch
{
top
:
80%
}
.play
.play-paper-body
{
padding
:
15px
25px
25px
}
.play
.play-paper-step
{
margin
:
30px
0
15px
}}
.exam
.q-group
.q-title
p
{
padding
:
0
;
margin
:
0
}
.exam
.el-radio
+
.el-radio
{
margin-left
:
0
}
.exam
.el-radio__input.is-disabled
+
span
.el-radio__label
{
color
:
inherit
}
.exam
.el-checkbox
+
.el-checkbox
{
margin-left
:
0
}
.exam
.el-checkbox__input.is-disabled
+
span
.el-checkbox__label
{
color
:
inherit
}
.exam
.el-checkbox__label
,
.exam
.el-radio__label
{
white-space
:
normal
}
#player
.prism-cc-btn
,
#player
.prism-setting-btn
{
display
:
none
}
#player
.prism-player
.prism-progress
{
z-index
:
99
}
.right-ctrl
[
data-v-ea9eda5c
]
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
right
:
0
;
z-index
:
200
;
width
:
350px
;
background
:
#212121
;
border-left
:
19px
solid
#1b1b1b
}
.right-ctrl
.ctrl-arrow
[
data-v-ea9eda5c
]
{
position
:
absolute
;
top
:
0
;
left
:
-19px
;
bottom
:
0
;
width
:
19px
;
height
:
100%
;
font-size
:
14px
;
color
:
#969696
;
cursor
:
pointer
}
.right-ctrl
.ctrl-arrow
span
[
data-v-ea9eda5c
]
{
position
:
absolute
;
top
:
50%
;
left
:
0
;
width
:
19px
;
margin-top
:
-10px
;
text-align
:
center
;
color
:
#fff
}
.right-ctrl
.ctrl-pl
[
data-v-ea9eda5c
]
{
position
:
relative
;
height
:
100%
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
[
data-v-ea9eda5c
]
{
margin
:
0
;
padding
:
15px
0
;
line-height
:
1.6
;
background-color
:
#232323
;
overflow
:
hidden
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
[
data-v-ea9eda5c
]
{
float
:
left
;
position
:
relative
;
width
:
50%
;
padding
:
0
;
font-size
:
16px
;
color
:
#909090
;
text-align
:
center
;
list-style
:
none
;
cursor
:
pointer
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
a
[
data-v-ea9eda5c
]
{
color
:
#909090
;
text-decoration
:
none
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
.on
a
[
data-v-ea9eda5c
]
{
color
:
#b49441
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
.br-l-line
[
data-v-ea9eda5c
]
{
border-left
:
1px
solid
#3f3f3f
}
.right-ctrl
.ctrl-pl
.pl-tab-bd
[
data-v-ea9eda5c
]
{
height
:
94%
}
\ No newline at end of file
.tab-pane
[
data-v-b09df8e0
]
{
display
:
block
;
height
:
100%
;
overflow
:
auto
}
.tab-pane
.chapter-list
[
data-v-b09df8e0
]
{
margin
:
0
;
padding
:
0
;
line-height
:
1.6
;
overflow
:
hidden
}
.tab-pane
.chapter-list
.chapter-item
h4
[
data-v-b09df8e0
]
{
padding
:
10px
22px
;
margin
:
0
;
font-size
:
15px
;
color
:
#b0b0b0
;
background-color
:
#2f2f2f
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
[
data-v-b09df8e0
]
{
margin
:
0
;
padding
:
0
;
line-height
:
1.6
;
overflow
:
hidden
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-b09df8e0
]
{
position
:
relative
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
.on
[
data-v-b09df8e0
]
{
background
:
#3c3c3c
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
.on
a
[
data-v-b09df8e0
]
{
color
:
#b49441
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-b09df8e0
]
:hover
{
background
:
#3c3c3c
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-b09df8e0
]
:before
{
display
:
block
;
content
:
""
;
position
:
absolute
;
left
:
13px
;
top
:
16px
;
z-index
:
10
;
width
:
18px
;
height
:
18px
;
background
:
#5b5b5b
;
border
:
2px
solid
#5b5b5b
;
-webkit-border-radius
:
50%
;
-moz-border-radius
:
50%
;
border-radius
:
50%
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-b09df8e0
]
:after
{
display
:
block
;
content
:
""
;
position
:
absolute
;
left
:
22px
;
top
:
0
;
z-index
:
5
;
width
:
1px
;
height
:
100px
;
background
:
#616161
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
.knot-name
[
data-v-b09df8e0
]
{
display
:
block
;
padding
:
15px
35px
15px
40px
;
font-size
:
14px
;
color
:
#909090
;
text-decoration
:
none
;
cursor
:
pointer
}
.tab-pane
.chapter-list
.chapter-item
.el-icon
[
data-v-b09df8e0
]
{
position
:
absolute
;
font-size
:
16px
;
right
:
10px
;
top
:
50%
;
-webkit-transform
:
translateY
(
-50%
);
-moz-transform
:
translateY
(
-50%
);
-ms-transform
:
translateY
(
-50%
);
-o-transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
)}
.tab-pane
[
data-v-8ec544e6
]
{
display
:
block
;
height
:
100%
;
overflow
:
auto
}
.tab-pane
.lecture-list
[
data-v-8ec544e6
]
{
padding
:
8px
16px
}
.tab-pane
.lecture-list
li
[
data-v-8ec544e6
]
{
padding
:
8px
16px
;
cursor
:
pointer
;
list-style
:
none
}
.tab-pane
.lecture-list
li
.on
[
data-v-8ec544e6
]
{
background
:
#888
}
.tab-pane
.lecture-list
li
img
[
data-v-8ec544e6
]
{
width
:
100%
}
.play
{
overflow
:
hidden
;
position
:
fixed
;
top
:
0
;
z-index
:
800
;
width
:
100%
;
height
:
100%
;
background-color
:
#3f3f3f
;
color
:
#a0a0a0
}
.play
.left-content
{
position
:
absolute
;
right
:
350px
;
top
:
0
;
left
:
0
;
bottom
:
0
;
min-width
:
705px
;
height
:
100%
}
.play.sidebar-hide
.left-content
{
right
:
0
}
.play
.play-top
{
line-height
:
56px
}
.play
.play-top
p
{
font-size
:
1.5em
;
text-align
:
center
;
margin
:
0
}
.play
.play-back
{
position
:
absolute
;
top
:
6px
;
left
:
10px
;
width
:
40px
;
height
:
40px
;
overflow
:
hidden
;
color
:
#fff
;
font-size
:
24px
;
line-height
:
40px
;
text-align
:
center
}
.play
.play-content
{
position
:
absolute
;
top
:
56px
;
bottom
:
0
;
left
:
0
;
right
:
0
}
.play
.play-content-video
{
height
:
100%
}
.play
.play-center
.text-error
{
font-size
:
.875em
;
line-height
:
1.5em
}
.play
.play-video-hide
{
visibility
:
hidden
;
overflow
:
hidden
;
width
:
0
}
.play
.play-video-init-center
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
margin
:
-180px
0
0
-275px
}
.play
.play-ppt
{
position
:
relative
;
width
:
550px
;
height
:
363.375px
;
background-color
:
#000
}
.play
.play-ppt-img
{
width
:
100%
;
height
:
100%
}
.play
.play-controls
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
height
:
44px
;
line-height
:
42px
;
padding
:
0
14px
;
background-color
:
#000
}
.play
.play-controls
.fl
i
{
color
:
#8c8c8b
}
.play
.play-page
{
position
:
absolute
;
left
:
50%
;
margin-left
:
-75px
;
color
:
#fff
;
width
:
150px
;
text-align
:
center
;
font-size
:
.875em
}
.play
.play-page
.play-now
{
color
:
#d29f29
}
.play
.play-amazing
{
float
:
right
}
.play
.play-amazing
i
{
color
:
#fff
;
margin
:
0
10px
;
cursor
:
pointer
}
.play
.play-amazing
i
.active
,
.play
.play-amazing
i
:hover
{
color
:
#d29f29
}
.play
.play-amazing
.icon-rotate
{
font-size
:
1.125em
}
.play
.play-footer
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
right
:
0
;
z-index
:
200
;
padding
:
18px
20px
15px
}
.play
.play-footer
a
:hover
{
color
:
#a0a0a0
}
.play
.play-state
{
display
:
inline-block
;
color
:
#a0a0a0
;
padding-left
:
25px
;
font-size
:
14px
;
line-height
:
18px
;
margin
:
0
20px
;
background
:
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAGLCAMAAAFly2nyAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMDA3NTdkYS1iNTY5LTQ5MGEtYTA4MS02YWNlYWZlMGM2YzMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDg4NUE2RkFFMkVCMTFFN0FBREZBNkNDMUEwRTI3OTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDg4NUE2RjlFMkVCMTFFN0FBREZBNkNDMUEwRTI3OTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6YzU0NDA3MDYtMWE4Mi00MDk4LTg2NWYtMzYwMmY4NWY1NThkIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjIwMDc1N2RhLWI1NjktNDkwYS1hMDgxLTZhY2VhZmUwYzZjMyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pn/9WLEAAAGAUExURV9WQIWFhbGSQVVVVXR0dFNTU7SUQUBAQE5OTkFBQU9PT0JCQp6enpiYmFFMP6mMQUBAP5aWllFRUWpqaqqNQZGRkVhYWEpKSouLi5CQkJqBQYGBgXp6emVlZXJkQFJNP52dnUJBP5OTk6GGQYKCgpubm2hoaFlZWZWVlWFhYUtLS319fXl5eZ+fn4CAgFtTP0NDQ1xUP4ZyQE1NTUREREVFRUZGRpmZmVtbW2xsbIODg1paWlxcXFdXV3FjQGdnZ0hISHNzc1BQUF5eXmlpaYiIiIl1QHNlQKKHQZeXl2FYQF1dXWBXQFZWVl9fX0dHR0pHP1hRP6+QQYaGhnt7e0NCP6uOQYVyQFVPP6CFQWRkZHpqQHFxcZKSkqOIQV5VQH5tQG9iQI+Pj0VDP5d/QKSIQaSJQaCGQXBjQFJSUm9vb35+fmNjY2tra2hdQI14QEVEP4mJiWZbQFlSP6iLQV1VQHZ2dpycnIqKioRxQJR9QE5KP5SUlHx8fKCgoD8/P7j7iVMAAAVKSURBVHjabM3RCYAwDEXRR6GBQkEcoUMIDuFMuatrBW2DflwCB8KTg9wRjLZuRMu9HO3xYBVViiiTJZRoog3b3e+Ndfo9zGTXXfjuvPmvnwKIAUyhII16LIJwxIrMFQOREpIwbjyIlFKGcoEORdYIdCNWA+swzOeqBwgghjobaDhiJYHhjkeW1ZQVn6w4iPSvx22CBIN1vWR9Eg5ZKQafeuX6SGyuQiIxZdmQyHoCZB0kvrDKWkLZsvX1AAEEJE3BKsHqBeuIMBndFkg419WTqpcdRLKCw1mIlUS9kNQPzhccEL1Em6ATCyTVoCJZQJKdG8x24eIgqDc8DkjaQUWigaRAKJgtJ89HSG8dEFiA2XUYpCcBvWxA4ANms2GQ/CSHG2pogNKAngrYhZyQPM5OpF5RCFsBTGqASF2QCEAAgVOvKzQh54K8DRcVQkrY9VRi1rnWg5MhNIiFoUwnuChVbQOmsnpQggMxHVhZWVnhogas1LdNCERCrQACThiTHSZKVdvqbe2BFLs5kCkDFuGtFwbHsqCJTX09F1ABL1hYnYsqthkmAimBMCDTCCwiUi9Xz+ABTNAFXvX18kAFIhCF8lRJJTBWHWEm5baxwVhshJnUjUJimN4wZkidNIQZXGeFUFAHLgegaus0qWWxMy+SqFYdjKkqhqEWIIAQcQFiccGKjxpYQaKAKFI0kQoXCVRjBgkL6j4ORBmlhCitFGAsP6hYIWapNQhYrMgsbliR5wQr/DIRxaAZUoHINSjjA8IyQypX2RElrDGcBfOlOHJJyzpo/CEWy6MDZvECq4J6NVtgAxoip1bPIAyitYTqZRhA7Zp6xvp6HgaOemZ/JSBHiSGpvl4UKM5uzcAhBi3kGeo5JDkMXCQGwB+lcUzhYJaIAJCyMwS2/CFyGfUMciC6OqLeiEERxKqqr2di4KsPDEgDctIYIuvrPYBtLwEGBr54aPXBUM+nzJcsJ0V3fwjWQYAgUo6nhOULZTHT2R/8bBAAaVIiuhnksvShLP1BWgqQx/KGserqUGtMBkTVCWPUM1jVqcD0ZsOqW1DNqwczhWVgy/s6cbiYAitc1twZrk4U1lnk0IWKialC1UVpYJgHEKAd8+ppGIaisBlR0owOaCmFlkIZpZRd9i6jZYgtIQQ8gNgSAgkQ4wH7r2PHcbHjIt4Qorkvib5c+1i2ont86bWaxJ0lssG8CSFX2WG0w/lt+LxclcxwjLyYEiNeNVHGaiCPcSyUYb6W3z9onhgSI9EclVhVTswza0dc8x0hWcPb+/JMYWZqrE5kapRdJx3myyk0+DxDkxkbLGugbW/vf2AqexP2TzNkhmNxVGaKcrvgYnVjrrH6oKTh7f23TFuJ1euGodfHVjTKNCv9lZK2MAXpWOnkUOYEqbE0AimdEfWNuGAthUAnKcT5LWym1hbsSmIikLUtcr4520uzl7NYo9FuCdY4f+U8dcOz1rwjo3aNz5bWPB1Pma+R+HRlnIf/or2YbGtLFtsv/JT5w/x1PYwpANfBErk/RsFrgMBlkpFgU5FMdInAHjHzp48IPQV2yJfzagQKttU/fSi80+yWAtZouiGvu4cUnVFXPxQ+c2SCcwdDX63I4avqvdVhUAn1fJPVWue5GeJ6V+X6Wb/LJtagGKGJf30egQHWyXOeAwGuu1eu4/e7bJ1d6lg8r3t15m+yWggzIovj/6df5VmWeHQfP3YKkw6fMN8+RlM+t0a/O9HW+BAndNZChOW71cxGBZ9Roq9bk/MaOlkDmx+rd/clpPl6InBSZIrVuiWOXWodV0SNSRjpca3lE672gHeiUdU0AAAAAElFTkSuQmCC)
no-repeat
0
0
;
cursor
:
pointer
}
.play
.play-state
a
{
color
:
#a0a0a0
;
text-decoration
:
none
}
.play
.play-state-prev
{
background-position
:
0
2px
}
.play
.play-state-prev-disable
{
background-position
:
0
-78px
;
color
:
#666
}
.play
.play-state-next
{
background-position
:
0
-38px
}
.play
.play-state-next-disable
{
background-position
:
0
-118px
;
color
:
#666
}
.play
.play-state-check
{
background-position
:
0
-160px
}
.play
.play-state-check-active
{
background-position
:
0
-200px
;
color
:
#b19241
}
.play
.play-state-ppt
{
background-position
:
0
-240px
}
.play
.play-state-ppt-active
{
background-position
:
0
-280px
;
color
:
#b19241
}
.play
.play-state-next-disable
:hover
,
.play
.play-state-prev-disable
:hover
{
color
:
#666
!important
}
.play
.switch
{
display
:
block
;
width
:
36px
;
height
:
125px
;
position
:
absolute
;
right
:
0
;
top
:
50%
;
text-align
:
center
;
margin
:
-63px
0
0
;
z-index
:
998
;
cursor
:
pointer
}
.play
.switch
a
{
color
:
#a0a0a0
;
text-decoration
:
none
;
font-size
:
14px
;
line-height
:
2
;
margin-bottom
:
20px
}
.play
.switch
a
i
{
font-size
:
24px
;
padding
:
5px
;
background
:
#666
;
border-radius
:
4px
}
.play
.play-paper
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
left
:
0
;
right
:
0
;
overflow
:
auto
;
background-color
:
#e5e5e5
}
.play
.play-paper-body
{
min-height
:
500px
;
margin
:
25px
;
padding
:
15px
45px
25px
;
color
:
#313131
;
box-shadow
:
0
0
2px
rgba
(
0
,
0
,
0
,
.05
);
background-color
:
#f2f2f2
}
.play
.play-paper-title
{
margin
:
0
10px
;
text-align
:
center
}
.play
.play-paper-title
div
{
padding-bottom
:
3px
;
display
:
inline-block
;
border-bottom
:
1px
solid
#707070
}
.play
.play-paper-title
h3
{
padding
:
0
0
5px
;
margin
:
0
;
display
:
inline-block
;
font-size
:
20px
;
border-bottom
:
3px
solid
#707070
}
.play
.play-paper-body
.help
{
color
:
#999
;
font-size
:
12px
}
.play
.play-paper-body
.help-file
{
margin-top
:
-10px
}
.play
.play-paper-body
.area-btns
{
margin
:
20px
0
}
.play
.play-paper-body
.area-btns
.btn
{
padding
:
6px
25px
}
.play
.play-paper-body
.area-btns
.help
{
margin-top
:
10px
;
font-size
:
14px
}
.play
.play-paper-body
.area-btns
.help-info
{
display
:
inline-block
;
vertical-align
:
middle
}
.play
.play-paper-body
.webuploader-btn
.upbtn
{
color
:
#b49441
;
text-decoration
:
underline
;
padding
:
3px
15px
;
font-size
:
.9em
;
display
:
inline-block
}
.play
.play-paper-body
.webuploader-btn
.loading
.fa-spin
{
font-size
:
1.2em
!important
}
.play
.play-paper-body
label
{
font-weight
:
400
}
.play
.play-paper-body
input
{
vertical-align
:
middle
}
.play
.play-paper-check
{
margin-top
:
20px
;
padding
:
20px
;
border
:
1px
solid
#dedede
}
.play
.play-paper-check
h4
{
font-size
:
16px
;
margin
:
0
0
10px
}
.play
.play-paper-check-item
{
padding-left
:
3em
}
.play
.play-paper-check-item
b
{
margin-left
:
-3em
;
margin-top
:
1px
}
.play
.play-paper-check-item
.edit_html
,
.play
.play-paper-check-item
b
{
display
:
inline-block
;
vertical-align
:
top
}
.play
.play-read-files
{
padding
:
30px
;
margin
:
0
}
.play
.play-read-files
li
{
font-size
:
16px
;
padding
:
20px
30px
;
margin-bottom
:
10px
;
background-color
:
#fff
;
list-style
:
none
}
.play
.play-read-files
li
a
{
color
:
#333
;
text-decoration
:
none
}
.play
.play-read-files
li
a
:hover
{
color
:
#b49441
}
.play
.play-chapter-work
{
padding
:
25px
}
.play
.play-chapter-work
.work-number
{
margin-left
:
-25px
}
.play
.play-chapter-work
.work-title
{
margin-top
:
-20px
;
margin-bottom
:
10px
}
.play
.play-chapter-work
.area-btns
{
margin
:
20px
-25px
0
;
border-top
:
1px
solid
#eaeaea
;
padding-top
:
20px
}
.play
.play-chapter-exam
{
padding
:
25px
}
.play
.play-chapter-exam
li
{
position
:
relative
;
margin-top
:
15px
;
border-bottom
:
1px
solid
#b49441
}
.play
.play-chapter-exam
.exam-title
{
margin
:
-20px
0
10px
25px
}
.play
.play-chapter-exam
.wrong
{
color
:
#d80000
}
.play
.play-chapter-exam
.correct
{
color
:
#090
}
.play
.play-chapter-exam
.answer
{
position
:
absolute
;
right
:
25px
;
bottom
:
10px
}
.play
.play-chapter-exam
.result
{
float
:
right
;
margin-top
:
-20px
;
margin-right
:
-20px
;
font-size
:
16px
;
font-weight
:
700
}
.play
dd
,
.play
dl
,
.play
dt
,
.play
li
,
.play
ol
,
.play
ul
{
margin
:
0
;
padding
:
0
;
list-style
:
none
}
.play
.edit_html
p
{
padding
:
0
;
margin
:
0
0
15px
}
.play
.play-paper-step
{
font-weight
:
700
;
font-size
:
16px
;
margin
:
30px
-20px
15px
;
padding-bottom
:
10px
;
border-bottom
:
1px
dashed
#cecece
}
.play
.no-data
{
color
:
#c9c9c9
;
font-size
:
36px
;
padding
:
160px
0
;
text-align
:
center
}
.play
.hide
{
display
:
none
}
.play
.play-jiangyi
,
.play
.play-video
{
float
:
left
}
@media
(
max-width
:
768px
){
.play
.left-content
{
min-width
:
0
;
right
:
0
}
.play
.play-back
{
margin
:
0
}
.play
.play-chapter-work
{
padding
:
25px
0
;
margin-right
:
-20px
}
.play
.play-read-files
{
padding
:
30px
0
;
margin
:
0
-20px
}
.play
.switch
{
top
:
80%
}
.play
.play-paper-body
{
padding
:
15px
25px
25px
}
.play
.play-paper-step
{
margin
:
30px
0
15px
}}
.exam
.q-group
.q-title
p
{
padding
:
0
;
margin
:
0
}
.exam
.el-radio
+
.el-radio
{
margin-left
:
0
}
.exam
.el-radio__input.is-disabled
+
span
.el-radio__label
{
color
:
inherit
}
.exam
.el-checkbox
+
.el-checkbox
{
margin-left
:
0
}
.exam
.el-checkbox__input.is-disabled
+
span
.el-checkbox__label
{
color
:
inherit
}
.exam
.el-checkbox__label
,
.exam
.el-radio__label
{
white-space
:
normal
}
#player
.prism-cc-btn
,
#player
.prism-setting-btn
{
display
:
none
}
#player
.prism-player
.prism-progress
{
z-index
:
99
}
.right-ctrl
[
data-v-ea9eda5c
]
{
position
:
absolute
;
top
:
0
;
bottom
:
0
;
right
:
0
;
z-index
:
200
;
width
:
350px
;
background
:
#212121
;
border-left
:
19px
solid
#1b1b1b
}
.right-ctrl
.ctrl-arrow
[
data-v-ea9eda5c
]
{
position
:
absolute
;
top
:
0
;
left
:
-19px
;
bottom
:
0
;
width
:
19px
;
height
:
100%
;
font-size
:
14px
;
color
:
#969696
;
cursor
:
pointer
}
.right-ctrl
.ctrl-arrow
span
[
data-v-ea9eda5c
]
{
position
:
absolute
;
top
:
50%
;
left
:
0
;
width
:
19px
;
margin-top
:
-10px
;
text-align
:
center
;
color
:
#fff
}
.right-ctrl
.ctrl-pl
[
data-v-ea9eda5c
]
{
position
:
relative
;
height
:
100%
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
[
data-v-ea9eda5c
]
{
margin
:
0
;
padding
:
15px
0
;
line-height
:
1.6
;
background-color
:
#232323
;
overflow
:
hidden
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
[
data-v-ea9eda5c
]
{
float
:
left
;
position
:
relative
;
width
:
50%
;
padding
:
0
;
font-size
:
16px
;
color
:
#909090
;
text-align
:
center
;
list-style
:
none
;
cursor
:
pointer
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
a
[
data-v-ea9eda5c
]
{
color
:
#909090
;
text-decoration
:
none
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
.on
a
[
data-v-ea9eda5c
]
{
color
:
#b49441
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
.br-l-line
[
data-v-ea9eda5c
]
{
border-left
:
1px
solid
#3f3f3f
}
.right-ctrl
.ctrl-pl
.pl-tab-bd
[
data-v-ea9eda5c
]
{
height
:
94%
}
\ No newline at end of file
server/client-dist/resources/app.
3ae78adc
.js
→
server/client-dist/resources/app.
dd8dd6c2
.js
浏览文件 @
cc8387a2
This source diff could not be displayed because it is too large. You can
view the blob
instead.
server/client-dist/resources/manifest.
f8243a97
.js
→
server/client-dist/resources/manifest.
2efa785f
.js
浏览文件 @
cc8387a2
!
function
(
c
){
function
e
(
e
){
for
(
var
t
,
r
,
n
=
e
[
0
],
a
=
e
[
1
],
o
=
e
[
2
],
f
=
0
,
d
=
[];
f
<
n
.
length
;
f
++
)
r
=
n
[
f
],
Object
.
prototype
.
hasOwnProperty
.
call
(
s
,
r
)
&&
s
[
r
]
&&
d
.
push
(
s
[
r
][
0
]),
s
[
r
]
=
0
;
for
(
t
in
a
)
Object
.
prototype
.
hasOwnProperty
.
call
(
a
,
t
)
&&
(
c
[
t
]
=
a
[
t
]);
for
(
p
&&
p
(
e
);
d
.
length
;)
d
.
shift
()();
return
i
.
push
.
apply
(
i
,
o
||
[]),
u
()}
function
u
(){
for
(
var
e
,
t
=
0
;
t
<
i
.
length
;
t
++
){
for
(
var
r
=
i
[
t
],
n
=!
0
,
a
=
1
;
a
<
r
.
length
;
a
++
){
var
o
=
r
[
a
];
0
!==
s
[
o
]
&&
(
n
=!
1
)}
n
&&
(
i
.
splice
(
t
--
,
1
),
e
=
b
(
b
.
s
=
r
[
0
]))}
return
e
}
var
r
=
{},
l
=
{
3
:
0
},
s
=
{
3
:
0
},
i
=
[];
function
b
(
e
){
if
(
r
[
e
])
return
r
[
e
].
exports
;
var
t
=
r
[
e
]
=
{
i
:
e
,
l
:
!
1
,
exports
:{}};
return
c
[
e
].
call
(
t
.
exports
,
t
,
t
.
exports
,
b
),
t
.
l
=!
0
,
t
.
exports
}
b
.
e
=
function
(
i
){
var
e
=
[];
l
[
i
]?
e
.
push
(
l
[
i
]):
0
!==
l
[
i
]
&&
{
0
:
1
,
5
:
1
,
6
:
1
,
7
:
1
,
8
:
1
,
9
:
1
,
10
:
1
,
11
:
1
,
12
:
1
,
13
:
1
,
14
:
1
,
15
:
1
,
16
:
1
,
17
:
1
,
18
:
1
,
19
:
1
,
20
:
1
,
21
:
1
,
22
:
1
,
23
:
1
,
24
:
1
,
25
:
1
,
26
:
1
}[
i
]
&&
e
.
push
(
l
[
i
]
=
new
Promise
(
function
(
e
,
n
){
for
(
var
t
=
"resources/"
+
({}[
i
]
||
i
)
+
"."
+
{
0
:
"8c0fccc8dcdf"
,
1
:
"31d6cfe0d16a"
,
5
:
"930984a29124"
,
6
:
"7acaef322a03"
,
7
:
"5aff6cfc48d7"
,
8
:
"0f44f155a214"
,
9
:
"7acee47d5dff"
,
10
:
"7af67fe88b2d"
,
11
:
"5429a27bb7bb"
,
12
:
"1f6314bfe897"
,
13
:
"35e9fd271343"
,
14
:
"96e432718f45"
,
15
:
"ae04a260ff2d"
,
16
:
"66f6f1b2e2f8"
,
17
:
"e49666539688"
,
18
:
"0ba27a54f3b2"
,
19
:
"649d251c3201"
,
20
:
"77c545d728a7"
,
21
:
"76db4080a681"
,
22
:
"ea3ddb59c757"
,
23
:
"d0b0367588f8"
,
24
:
"d0a83561e812"
,
25
:
"074cd78c0ecf"
,
26
:
"f9edc40b7bd4"
,
27
:
"31d6cfe0d16a"
,
28
:
"31d6cfe0d16a"
,
29
:
"31d6cfe0d16a"
,
30
:
"31d6cfe0d16a"
,
31
:
"31d6cfe0d16a"
,
32
:
"31d6cfe0d16a"
,
33
:
"31d6cfe0d16a"
,
34
:
"31d6cfe0d16a"
,
35
:
"31d6cfe0d16a"
}[
i
]
+
".css"
,
a
=
b
.
p
+
t
,
r
=
document
.
getElementsByTagName
(
"link"
),
o
=
0
;
o
<
r
.
length
;
o
++
){
var
f
=
(
c
=
r
[
o
]).
getAttribute
(
"data-href"
)
||
c
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
c
.
rel
&&
(
f
===
t
||
f
===
a
))
return
e
()}
var
d
=
document
.
getElementsByTagName
(
"style"
);
for
(
o
=
0
;
o
<
d
.
length
;
o
++
){
var
c
;
if
((
f
=
(
c
=
d
[
o
]).
getAttribute
(
"data-href"
))
===
t
||
f
===
a
)
return
e
()}
var
u
=
document
.
createElement
(
"link"
);
u
.
rel
=
"stylesheet"
,
u
.
type
=
"text/css"
,
u
.
onload
=
e
,
u
.
onerror
=
function
(
e
){
var
t
=
e
&&
e
.
target
&&
e
.
target
.
src
||
a
,
r
=
new
Error
(
"Loading CSS chunk "
+
i
+
" failed.
\
n("
+
t
+
")"
);
r
.
request
=
t
,
delete
l
[
i
],
u
.
parentNode
.
removeChild
(
u
),
n
(
r
)},
u
.
href
=
a
,
document
.
getElementsByTagName
(
"head"
)[
0
].
appendChild
(
u
)}).
then
(
function
(){
l
[
i
]
=
0
}));
var
r
=
s
[
i
];
if
(
0
!==
r
)
if
(
r
)
e
.
push
(
r
[
2
]);
else
{
var
t
=
new
Promise
(
function
(
e
,
t
){
r
=
s
[
i
]
=
[
e
,
t
]});
e
.
push
(
r
[
2
]
=
t
);
var
n
,
a
=
document
.
createElement
(
"script"
);
a
.
charset
=
"utf-8"
,
a
.
timeout
=
120
,
b
.
nc
&&
a
.
setAttribute
(
"nonce"
,
b
.
nc
),
a
.
src
=
function
(
e
){
return
b
.
p
+
"resources/"
+
({}[
e
]
||
e
)
+
"."
+
{
0
:
"c28ab134"
,
1
:
"f1b282bf"
,
5
:
"b82cded8"
,
6
:
"9bb7112c"
,
7
:
"210f0f54"
,
8
:
"781e1e89"
,
9
:
"cda77657"
,
10
:
"749ebb9a"
,
11
:
"dbc8ed6d"
,
12
:
"3044a2f5"
,
13
:
"b80e2183"
,
14
:
"71455ff6"
,
15
:
"fa23ee4c"
,
16
:
"281206cf"
,
17
:
"a023a7b6"
,
18
:
"358ade5e"
,
19
:
"57ebdaa1"
,
20
:
"c3d396b8"
,
21
:
"186459ef"
,
22
:
"8ded5618"
,
23
:
"ae5610e2"
,
24
:
"168bd3f3"
,
25
:
"7daab159"
,
26
:
"dcb1b880"
,
27
:
"4f93b09f"
,
28
:
"06406c1e"
,
29
:
"472e302b"
,
30
:
"ab5826d0"
,
31
:
"73286291"
,
32
:
"a6981eaf"
,
33
:
"f5d7e6f7"
,
34
:
"d0f7ea55"
,
35
:
"1b5301d2"
}[
e
]
+
".js"
}(
i
);
var
o
=
new
Error
;
n
=
function
(
e
){
a
.
onerror
=
a
.
onload
=
null
,
clearTimeout
(
f
);
var
t
=
s
[
i
];
if
(
0
!==
t
){
if
(
t
){
var
r
=
e
&&
(
"load"
===
e
.
type
?
"missing"
:
e
.
type
),
n
=
e
&&
e
.
target
&&
e
.
target
.
src
;
o
.
message
=
"Loading chunk "
+
i
+
" failed.
\
n("
+
r
+
": "
+
n
+
")"
,
o
.
name
=
"ChunkLoadError"
,
o
.
type
=
r
,
o
.
request
=
n
,
t
[
1
](
o
)}
s
[
i
]
=
void
0
}};
var
f
=
setTimeout
(
function
(){
n
({
type
:
"timeout"
,
target
:
a
})},
12
e4
);
a
.
onerror
=
a
.
onload
=
n
,
document
.
head
.
appendChild
(
a
)}
return
Promise
.
all
(
e
)},
b
.
m
=
c
,
b
.
c
=
r
,
b
.
d
=
function
(
e
,
t
,
r
){
b
.
o
(
e
,
t
)
||
Object
.
defineProperty
(
e
,
t
,{
enumerable
:
!
0
,
get
:
r
})},
b
.
r
=
function
(
e
){
"undefined"
!=
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
e
,
Symbol
.
toStringTag
,{
value
:
"Module"
}),
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
})},
b
.
t
=
function
(
t
,
e
){
if
(
1
&
e
&&
(
t
=
b
(
t
)),
8
&
e
)
return
t
;
if
(
4
&
e
&&
"object"
==
typeof
t
&&
t
&&
t
.
__esModule
)
return
t
;
var
r
=
Object
.
create
(
null
);
if
(
b
.
r
(
r
),
Object
.
defineProperty
(
r
,
"default"
,{
enumerable
:
!
0
,
value
:
t
}),
2
&
e
&&
"string"
!=
typeof
t
)
for
(
var
n
in
t
)
b
.
d
(
r
,
n
,
function
(
e
){
return
t
[
e
]}.
bind
(
null
,
n
));
return
r
},
b
.
n
=
function
(
e
){
var
t
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
b
.
d
(
t
,
"a"
,
t
),
t
},
b
.
o
=
function
(
e
,
t
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
t
)},
b
.
p
=
"https://zws-imgs-pub.ezijing.com/static/build/learn-enterprise/"
,
b
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
};
var
t
=
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[],
n
=
t
.
push
.
bind
(
t
);
t
.
push
=
e
,
t
=
t
.
slice
();
for
(
var
a
=
0
;
a
<
t
.
length
;
a
++
)
e
(
t
[
a
]);
var
p
=
n
;
u
()}([]);
\ No newline at end of file
!
function
(
d
){
function
e
(
e
){
for
(
var
t
,
r
,
n
=
e
[
0
],
a
=
e
[
1
],
f
=
e
[
2
],
o
=
0
,
c
=
[];
o
<
n
.
length
;
o
++
)
r
=
n
[
o
],
Object
.
prototype
.
hasOwnProperty
.
call
(
s
,
r
)
&&
s
[
r
]
&&
c
.
push
(
s
[
r
][
0
]),
s
[
r
]
=
0
;
for
(
t
in
a
)
Object
.
prototype
.
hasOwnProperty
.
call
(
a
,
t
)
&&
(
d
[
t
]
=
a
[
t
]);
for
(
p
&&
p
(
e
);
c
.
length
;)
c
.
shift
()();
return
i
.
push
.
apply
(
i
,
f
||
[]),
u
()}
function
u
(){
for
(
var
e
,
t
=
0
;
t
<
i
.
length
;
t
++
){
for
(
var
r
=
i
[
t
],
n
=!
0
,
a
=
1
;
a
<
r
.
length
;
a
++
){
var
f
=
r
[
a
];
0
!==
s
[
f
]
&&
(
n
=!
1
)}
n
&&
(
i
.
splice
(
t
--
,
1
),
e
=
b
(
b
.
s
=
r
[
0
]))}
return
e
}
var
r
=
{},
l
=
{
3
:
0
},
s
=
{
3
:
0
},
i
=
[];
function
b
(
e
){
if
(
r
[
e
])
return
r
[
e
].
exports
;
var
t
=
r
[
e
]
=
{
i
:
e
,
l
:
!
1
,
exports
:{}};
return
d
[
e
].
call
(
t
.
exports
,
t
,
t
.
exports
,
b
),
t
.
l
=!
0
,
t
.
exports
}
b
.
e
=
function
(
i
){
var
e
=
[];
l
[
i
]?
e
.
push
(
l
[
i
]):
0
!==
l
[
i
]
&&
{
0
:
1
,
5
:
1
,
6
:
1
,
7
:
1
,
8
:
1
,
9
:
1
,
10
:
1
,
11
:
1
,
12
:
1
,
13
:
1
,
14
:
1
,
15
:
1
,
16
:
1
,
17
:
1
,
18
:
1
,
19
:
1
,
20
:
1
,
21
:
1
,
22
:
1
,
23
:
1
,
24
:
1
,
25
:
1
,
26
:
1
}[
i
]
&&
e
.
push
(
l
[
i
]
=
new
Promise
(
function
(
e
,
n
){
for
(
var
t
=
"resources/"
+
({}[
i
]
||
i
)
+
"."
+
{
0
:
"8c0fccc8dcdf"
,
1
:
"31d6cfe0d16a"
,
5
:
"930984a29124"
,
6
:
"adf556fa1464"
,
7
:
"5aff6cfc48d7"
,
8
:
"0f44f155a214"
,
9
:
"7acee47d5dff"
,
10
:
"7af67fe88b2d"
,
11
:
"5429a27bb7bb"
,
12
:
"1f6314bfe897"
,
13
:
"35e9fd271343"
,
14
:
"2e113f3cf715"
,
15
:
"ae04a260ff2d"
,
16
:
"66f6f1b2e2f8"
,
17
:
"e49666539688"
,
18
:
"0ba27a54f3b2"
,
19
:
"649d251c3201"
,
20
:
"77c545d728a7"
,
21
:
"cf5249c9d1f6"
,
22
:
"ea3ddb59c757"
,
23
:
"d0b0367588f8"
,
24
:
"d0a83561e812"
,
25
:
"074cd78c0ecf"
,
26
:
"f9edc40b7bd4"
,
27
:
"31d6cfe0d16a"
,
28
:
"31d6cfe0d16a"
,
29
:
"31d6cfe0d16a"
,
30
:
"31d6cfe0d16a"
,
31
:
"31d6cfe0d16a"
,
32
:
"31d6cfe0d16a"
,
33
:
"31d6cfe0d16a"
,
34
:
"31d6cfe0d16a"
,
35
:
"31d6cfe0d16a"
}[
i
]
+
".css"
,
a
=
b
.
p
+
t
,
r
=
document
.
getElementsByTagName
(
"link"
),
f
=
0
;
f
<
r
.
length
;
f
++
){
var
o
=
(
d
=
r
[
f
]).
getAttribute
(
"data-href"
)
||
d
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
d
.
rel
&&
(
o
===
t
||
o
===
a
))
return
e
()}
var
c
=
document
.
getElementsByTagName
(
"style"
);
for
(
f
=
0
;
f
<
c
.
length
;
f
++
){
var
d
;
if
((
o
=
(
d
=
c
[
f
]).
getAttribute
(
"data-href"
))
===
t
||
o
===
a
)
return
e
()}
var
u
=
document
.
createElement
(
"link"
);
u
.
rel
=
"stylesheet"
,
u
.
type
=
"text/css"
,
u
.
onload
=
e
,
u
.
onerror
=
function
(
e
){
var
t
=
e
&&
e
.
target
&&
e
.
target
.
src
||
a
,
r
=
new
Error
(
"Loading CSS chunk "
+
i
+
" failed.
\
n("
+
t
+
")"
);
r
.
request
=
t
,
delete
l
[
i
],
u
.
parentNode
.
removeChild
(
u
),
n
(
r
)},
u
.
href
=
a
,
document
.
getElementsByTagName
(
"head"
)[
0
].
appendChild
(
u
)}).
then
(
function
(){
l
[
i
]
=
0
}));
var
r
=
s
[
i
];
if
(
0
!==
r
)
if
(
r
)
e
.
push
(
r
[
2
]);
else
{
var
t
=
new
Promise
(
function
(
e
,
t
){
r
=
s
[
i
]
=
[
e
,
t
]});
e
.
push
(
r
[
2
]
=
t
);
var
n
,
a
=
document
.
createElement
(
"script"
);
a
.
charset
=
"utf-8"
,
a
.
timeout
=
120
,
b
.
nc
&&
a
.
setAttribute
(
"nonce"
,
b
.
nc
),
a
.
src
=
function
(
e
){
return
b
.
p
+
"resources/"
+
({}[
e
]
||
e
)
+
"."
+
{
0
:
"c28ab134"
,
1
:
"f1b282bf"
,
5
:
"b82cded8"
,
6
:
"492b006c"
,
7
:
"210f0f54"
,
8
:
"781e1e89"
,
9
:
"cda77657"
,
10
:
"749ebb9a"
,
11
:
"aeae3d41"
,
12
:
"3044a2f5"
,
13
:
"b80e2183"
,
14
:
"02a4bcce"
,
15
:
"fa23ee4c"
,
16
:
"281206cf"
,
17
:
"a023a7b6"
,
18
:
"358ade5e"
,
19
:
"57ebdaa1"
,
20
:
"c3d396b8"
,
21
:
"87fdb223"
,
22
:
"8ded5618"
,
23
:
"ae5610e2"
,
24
:
"168bd3f3"
,
25
:
"7daab159"
,
26
:
"dcb1b880"
,
27
:
"4f93b09f"
,
28
:
"06406c1e"
,
29
:
"472e302b"
,
30
:
"ab5826d0"
,
31
:
"73286291"
,
32
:
"a6981eaf"
,
33
:
"f5d7e6f7"
,
34
:
"d0f7ea55"
,
35
:
"1b5301d2"
}[
e
]
+
".js"
}(
i
);
var
f
=
new
Error
;
n
=
function
(
e
){
a
.
onerror
=
a
.
onload
=
null
,
clearTimeout
(
o
);
var
t
=
s
[
i
];
if
(
0
!==
t
){
if
(
t
){
var
r
=
e
&&
(
"load"
===
e
.
type
?
"missing"
:
e
.
type
),
n
=
e
&&
e
.
target
&&
e
.
target
.
src
;
f
.
message
=
"Loading chunk "
+
i
+
" failed.
\
n("
+
r
+
": "
+
n
+
")"
,
f
.
name
=
"ChunkLoadError"
,
f
.
type
=
r
,
f
.
request
=
n
,
t
[
1
](
f
)}
s
[
i
]
=
void
0
}};
var
o
=
setTimeout
(
function
(){
n
({
type
:
"timeout"
,
target
:
a
})},
12
e4
);
a
.
onerror
=
a
.
onload
=
n
,
document
.
head
.
appendChild
(
a
)}
return
Promise
.
all
(
e
)},
b
.
m
=
d
,
b
.
c
=
r
,
b
.
d
=
function
(
e
,
t
,
r
){
b
.
o
(
e
,
t
)
||
Object
.
defineProperty
(
e
,
t
,{
enumerable
:
!
0
,
get
:
r
})},
b
.
r
=
function
(
e
){
"undefined"
!=
typeof
Symbol
&&
Symbol
.
toStringTag
&&
Object
.
defineProperty
(
e
,
Symbol
.
toStringTag
,{
value
:
"Module"
}),
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
})},
b
.
t
=
function
(
t
,
e
){
if
(
1
&
e
&&
(
t
=
b
(
t
)),
8
&
e
)
return
t
;
if
(
4
&
e
&&
"object"
==
typeof
t
&&
t
&&
t
.
__esModule
)
return
t
;
var
r
=
Object
.
create
(
null
);
if
(
b
.
r
(
r
),
Object
.
defineProperty
(
r
,
"default"
,{
enumerable
:
!
0
,
value
:
t
}),
2
&
e
&&
"string"
!=
typeof
t
)
for
(
var
n
in
t
)
b
.
d
(
r
,
n
,
function
(
e
){
return
t
[
e
]}.
bind
(
null
,
n
));
return
r
},
b
.
n
=
function
(
e
){
var
t
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
b
.
d
(
t
,
"a"
,
t
),
t
},
b
.
o
=
function
(
e
,
t
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
t
)},
b
.
p
=
"https://zws-imgs-pub.ezijing.com/static/build/learn-enterprise/"
,
b
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
};
var
t
=
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[],
n
=
t
.
push
.
bind
(
t
);
t
.
push
=
e
,
t
=
t
.
slice
();
for
(
var
a
=
0
;
a
<
t
.
length
;
a
++
)
e
(
t
[
a
]);
var
p
=
n
;
u
()}([]);
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论