Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
L
learn-online-pc
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
learn-online-pc
Commits
4e156b69
提交
4e156b69
authored
1月 09, 2019
作者:
GOD_ZYX
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复 视频记录 统计 缺少时长问题
上级
2173f62e
隐藏空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
106 行增加
和
47 行删除
+106
-47
build.zip
build.zip
+0
-0
index.html
client-dist/index.html
+2
-2
10.2354c82f.js
client-dist/resources/10.2354c82f.js
+2
-0
10.236b8345.js
client-dist/resources/10.236b8345.js
+0
-2
17.6f7a3ac1.js
client-dist/resources/17.6f7a3ac1.js
+2
-2
17.d0e004ae2be4.css
client-dist/resources/17.d0e004ae2be4.css
+2
-2
26.ca22e961.js
client-dist/resources/26.ca22e961.js
+2
-2
28.870b4f34.js
client-dist/resources/28.870b4f34.js
+2
-2
6.9c478d8110d6.css
client-dist/resources/6.9c478d8110d6.css
+2
-2
6.d322d54c.js
client-dist/resources/6.d322d54c.js
+2
-2
manifest.fdf6df91.js
client-dist/resources/manifest.fdf6df91.js
+2
-2
chapterVideo.vue
client/components/player/chapterVideo/chapterVideo.vue
+1
-1
chapterWork.vue
client/components/player/chapterWork/chapterWork.vue
+1
-1
courseWork.vue
client/components/player/courseWork/courseWork.vue
+1
-1
index.vue
client/components/player/index.vue
+0
-13
discussDetail.vue
...nt/project/elearning-node/pages/myLearn/discussDetail.vue
+1
-1
index.js
server/elearning-node/routes/index.js
+84
-12
没有找到文件。
build.zip
浏览文件 @
4e156b69
No preview for this file type
client-dist/index.html
浏览文件 @
4e156b69
...
...
@@ -2,4 +2,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-mba/resources/manifest.2bf0819b.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/vendor.c34ded55.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/app.5b490b42.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-mba/resources/manifest.fdf6df91.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/vendor.c34ded55.js"
></script><script
type=
"text/javascript"
src=
"https://zws-imgs-pub.ezijing.com/static/build/learn-mba/resources/app.5b490b42.js"
></script></body></html>
\ No newline at end of file
client-dist/resources/10.2354c82f.js
0 → 100644
浏览文件 @
4e156b69
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
10
],{
268
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
424
),
n
=
i
(
347
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
n
[
t
]})}(
a
);
var
r
=
i
(
3
),
o
=
Object
(
r
.
a
)(
n
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
null
,
null
);
o
.
options
.
__file
=
"chapterVideo.vue"
,
e
.
default
=
o
.
exports
},
347
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
348
),
n
=
i
.
n
(
s
);
for
(
var
a
in
s
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
a
);
e
.
default
=
n
.
a
},
348
:
function
(
t
,
e
,
i
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
s
=
r
(
i
(
397
)),
n
=
r
(
i
(
399
)),
a
=
r
(
i
(
69
));
function
r
(
t
){
return
t
&&
t
.
__esModule
?
t
:{
default
:
t
}}
e
.
default
=
{
components
:{
eVideo
:
s
.
default
,
ePpt
:
n
.
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
}},
data
:
function
(){
return
{
state
:{
pptIndex
:
0
,
pptBoxOnly
:
!
1
,
pptBoxShow
:
!
1
,
skipBegin
:
/skip=1/
.
test
(
document
.
cookie
),
calculatedSize
:
!
1
},
videoFlash
:{
lastTime
:
null
,
videoWidth
:
550
,
videoHeight
:
360
,
username
:
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
username
||
""
},
resizeVideo
:
null
,
hearBeat
:
null
,
_rProgress
:{}}},
mounted
:
function
(){
var
i
=
this
,
t
=
this
.
getCalculateSize
();
t
.
video
.
w
&&
(
this
.
videoFlash
.
videoWidth
=
t
.
video
.
w
,
this
.
videoFlash
.
videoHeight
=
t
.
video
.
h
),
this
.
resizeVideo
||
(
this
.
resizeVideo
=
a
.
default
.
debounce
(
this
.
jdugeSize
.
bind
(
this
),
200
)),
setTimeout
(
this
.
jdugeSize
,
300
),
window
.
addEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
hearBeat
=
setInterval
(
function
(){
if
(
i
.
chapterVideo
)
if
(
i
.
_rProgress
&&
i
.
_rProgress
.
id
){
var
t
=
i
.
_rProgress
,
e
=
i
.
videoFlash
.
lastTime
;
t
.
pt
=
t
.
pt
+
(
0
<
e
-
t
.
cpt
&&
e
-
t
.
cpt
<
8
?
e
-
t
.
cpt
:
0
),
t
.
cpt
=
e
,
t
.
mpt
=
e
>
t
.
mpt
?
e
:
t
.
mpt
,
i
.
$emit
(
"updateProgress"
,
i
.
_rProgress
)}
else
i
.
_rProgress
=
a
.
default
.
assignIn
({},
i
.
chapterVideo
.
progress
)},
5
e3
)},
destroyed
:
function
(){
window
.
removeEventListener
(
"resize"
,
this
.
resizeVideo
),
clearInterval
(
this
.
hearBeat
)},
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
t
=!
this
.
state
.
skipBegin
,
e
=
new
Date
;
e
.
setMonth
(
e
.
getMonth
()
+
1
),
document
.
cookie
=
"skip="
+
+
t
+
";path=/;domain=.ezijing.com;expires="
+
e
.
toGMTString
(),
t
&&
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
skipBegin
(),
this
.
state
.
skipBegin
=
t
},
onVideoTimeChange
:
function
(
t
){
var
e
=
t
.
time
;
this
.
videoFlash
.
lastTime
!==
e
&&
(
this
.
videoFlash
.
lastTime
=
e
,
this
.
setPptIndexByTime
(
e
),
this
.
$emit
(
"handlePlayTime"
,
e
))},
setPptIndexByTime
:
function
(
t
){
for
(
var
e
=
this
.
ppts
||
[],
i
=
0
;
i
<
e
.
length
&&!
(
t
<
e
[
i
].
ppt_point
);
i
++
);
this
.
state
.
pptIndex
!==
i
-
1
&&
(
this
.
state
.
pptIndex
=
i
-
1
)},
setVideoTime
:
function
(
t
){
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setTimeTo
(
t
)},
jdugeSize
:
function
(){
var
t
=
this
.
$refs
.
box
,
e
=
this
.
getCalculateSize
(),
i
=
0
,
s
=
0
;
this
.
state
.
pptBoxOnly
?(
s
=
e
.
ppt
.
w
,
i
=
e
.
ppt
.
h
,
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
s
,
i
)):
this
.
state
.
pptBoxShow
?(
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
e
.
ppt
.
w
,
e
.
ppt
.
h
),
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
e
.
video
.
w
,
e
.
video
.
h
),
s
=
e
.
ppt
.
w
+
e
.
video
.
w
,
i
=
e
.
video
.
h
):(
s
=
e
.
video
.
w
,
i
=
e
.
video
.
h
,
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
s
,
i
)),
this
.
state
.
calculatedSize
=!
0
,
t
.
style
.
paddingLeft
=
(
e
.
space
.
w
-
s
)
/
2
+
15
+
"px"
,
t
.
style
.
paddingTop
=
(
e
.
space
.
h
-
i
)
/
2
+
10
+
"px"
},
getCalculateSize
:
function
(){
var
t
=
this
.
$refs
.
container
,
e
=
t
.
offsetWidth
-
30
,
i
=
t
.
offsetHeight
-
53
-
20
,
s
=
550
/
363
,
n
=
336
/
236
,
a
=
{
space
:{
w
:
e
,
h
:
i
},
video
:{
w
:
0
,
h
:
0
},
ppt
:{
w
:
0
,
h
:
0
}};
if
(
this
.
state
.
pptBoxOnly
)
a
.
ppt
.
w
=
e
<
i
*
n
?
e
:
i
*
n
,
a
.
ppt
.
h
=
i
<
e
/
n
?
i
:
e
/
n
;
else
if
(
this
.
state
.
pptBoxShow
){
var
r
=
e
/
2
,
o
=
r
<
i
*
s
?
r
:
i
*
s
,
l
=
i
<
r
/
s
?
i
:
r
/
s
,
p
=
l
,
c
=
p
*
n
;
a
.
video
.
w
=
o
,
a
.
video
.
h
=
l
,
a
.
ppt
.
w
=
c
,
a
.
ppt
.
h
=
p
}
else
a
.
video
.
w
=
e
<
i
*
s
?
e
:
i
*
s
,
a
.
video
.
h
=
i
<
e
/
s
?
i
:
e
/
s
;
return
a
}}}},
349
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
350
),
n
=
i
.
n
(
s
);
for
(
var
a
in
s
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
a
);
e
.
default
=
n
.
a
},
350
:
function
(
t
,
a
,
r
){
"use strict"
;(
function
(
s
){
Object
.
defineProperty
(
a
,
"__esModule"
,{
value
:
!
0
});
var
t
,
e
=
r
(
269
),
p
=
(
t
=
e
)
&&
t
.
__esModule
?
t
:{
default
:
t
};
var
n
=
"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
e
=
this
;
window
.
_playerStart
=
function
(){
/
skip
=
1
/
.
test
(
document
.
cookie
)?
e
.
getPlayer
().
callAction
(
"setCurrentTime"
,
Math
.
max
(
i
,
7
)):
i
&&
e
.
getPlayer
().
callAction
(
"setCurrentTime"
,
i
)},
window
.
_playerIng
=
function
(
t
){
s
(
"#"
+
n
).
trigger
(
"player.time"
,{
time
:
t
})},
window
.
_playerSeek
=
function
(){
s
(
"#"
+
n
).
trigger
(
"player.seek"
,{
time
:
e
.
getPlayer
().
callAction
(
"getCurrentTime"
)})},
window
.
_playerCallback
=
function
(){
var
t
=
e
.
getPlayer
();
t
&&
(
t
.
callAction
(
"register"
,
"onCanplay"
,
"_playerStart"
),
t
.
callAction
(
"register"
,
"onPlaying"
,
"_playerIng"
),
t
.
callAction
(
"register"
,
"onSeekComplete"
,
"_playerSeek"
))}},
renderPlayer
:
function
(
t
,
e
,
i
,
s
,
n
,
a
,
r
){
var
o
=
{
autoStart
:
i
=
void
0
===
i
?
1
:
i
-
0
,
vid
:
e
,
isShowSpeeder
:
1
,
videoType
:
1
,
callback
:
"_playerCallback"
};
s
&&
(
o
.
srtUrl
=
s
),
n
&&
(
o
.
username
=
n
);
var
l
=
{
id
:
t
,
name
:
t
,
align
:
"middle"
,
wmode
:
"opaque"
};
p
.
default
.
embedSWF
(
"/static/videoJs/swf/Player1705192.swf"
,
t
,
parseInt
(
a
),
parseInt
(
r
),
"11.1.0"
,
"playerProductInstall.swf"
,
o
,{
quality
:
"high"
,
bgcolor
:
"#000000"
,
allowscriptaccess
:
"always"
,
allowfullscreen
:
"true"
},
l
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
s
(
"#"
+
n
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
t
,
e
){
i
.
$emit
(
"handlePlayTime"
,
e
)})},
getPlayer
:
function
(){
return
document
.
getElementById
(
"player"
)},
getTime
:
function
(){
var
t
=
this
.
getPlayer
();
return
t
?
t
.
callAction
(
"getCurrentTime"
):
0
},
setTimeTo
:
function
(
t
){
var
e
=
this
.
getPlayer
();
e
&&
e
.
callAction
(
"setCurrentTime"
,
t
+
2
)},
skipBegin
:
function
(){
var
t
=
this
.
getPlayer
();
t
&&
t
.
callAction
(
"getCurrentTime"
)
<
7
&&
t
.
callAction
(
"setCurrentTime"
,
7
)},
setSize
:
function
(
t
,
e
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
width
=
t
,
i
.
height
=
e
)}}}}).
call
(
this
,
r
(
374
))},
351
:
function
(
t
,
e
,
i
){},
352
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
353
),
n
=
i
.
n
(
s
);
for
(
var
a
in
s
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
a
);
e
.
default
=
n
.
a
},
353
:
function
(
t
,
e
,
i
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
}),
e
.
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
(
t
){
this
.
state
.
index
=
t
},
getIndex
:
function
(
t
){
return
Math
.
min
(
this
.
ppts
.
length
-
1
,
Math
.
max
(
0
,
t
))},
prev
:
function
(
t
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
-
1
),
this
.
state
.
sync
=!
1
},
next
:
function
(
t
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
+
1
),
this
.
state
.
sync
=!
1
},
onToggleSync
:
function
(
t
){
this
.
state
.
sync
=!
this
.
state
.
sync
,
this
.
state
.
index
=
this
.
state
.
sync
?
this
.
currentIndex
:
this
.
state
.
index
},
onSetVideoTime
:
function
(
t
){
this
.
$emit
(
"onVideoSyncTime"
,
this
.
ppts
[
this
.
state
.
index
].
ppt_point
)},
setSize
:
function
(
t
,
e
){
this
.
$refs
.
wrap
.
style
.
width
=
t
+
"px"
,
this
.
$refs
.
wrap
.
style
.
height
=
e
+
"px"
,
this
.
$refs
.
preview
.
style
.
lineHeight
=
e
-
44
+
"px"
}}}},
397
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
437
),
n
=
i
(
349
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
n
[
t
]})}(
a
);
i
(
398
);
var
r
=
i
(
3
),
o
=
Object
(
r
.
a
)(
n
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
"7ec35a74"
,
null
);
o
.
options
.
__file
=
"video.vue"
,
e
.
default
=
o
.
exports
},
398
:
function
(
t
,
e
,
i
){
"use strict"
;
var
s
=
i
(
351
);
i
.
n
(
s
).
a
},
399
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
434
),
n
=
i
(
352
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
n
[
t
]})}(
a
);
var
r
=
i
(
3
),
o
=
Object
(
r
.
a
)(
n
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
null
,
null
);
o
.
options
.
__file
=
"ppt.vue"
,
e
.
default
=
o
.
exports
},
424
:
function
(
t
,
e
,
i
){
"use strict"
;
var
s
=
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
i
=
t
.
_self
.
_c
||
e
;
return
i
(
"div"
,{
ref
:
"container"
,
staticClass
:
"play-content-video"
},[
i
(
"div"
,{
ref
:
"box"
,
staticClass
:
"play-center"
},[
t
.
chapterVideo
?[
i
(
"div"
,{
class
:[
"play-video"
,
t
.
state
.
pptBoxOnly
?
"play-video-hide"
:
""
,
t
.
state
.
calculatedSize
?
""
:
"play-video-init-center"
]},[
i
(
"e-video"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
t
.
chapterVideo
.
progress
&&
t
.
chapterVideo
.
progress
.
cpt
||
0
),
width
:
t
.
videoFlash
.
videoWidth
,
height
:
t
.
videoFlash
.
videoHeight
,
username
:
t
.
videoFlash
.
username
,
videoId
:
t
.
chapterVideo
.
video_origionalID
,
videoSrt
:
t
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
t
.
chapterVideo
},
on
:{
handlePlayTime
:
t
.
onVideoTimeChange
}})],
1
),
t
.
_v
(
" "
),
i
(
"div"
,{
class
:[
"play-jiangyi"
,
t
.
state
.
pptBoxShow
?
""
:
"hide"
]},[
t
.
ppts
.
length
?[
i
(
"e-ppt"
,{
ref
:
"ppt"
,
attrs
:{
ppts
:
t
.
ppts
,
currentIndex
:
t
.
state
.
pptIndex
},
on
:{
onVideoSyncTime
:
t
.
setVideoTime
,
onPptOnly
:
t
.
togglePptBoxOnly
,
onClose
:
t
.
togglePptBox
}})]:
t
.
_e
()],
2
)]:[
i
(
"p"
,[
t
.
_v
(
"课程视频数据不存在"
)])]],
2
),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-footer"
},[
i
(
"div"
,{
staticClass
:
"fl"
}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"fr"
},[
t
.
chapterVideo
.
pdf
?[
i
(
"em"
,{
staticClass
:
"play-state play-state-ppt"
},[
i
(
"a"
,{
attrs
:{
href
:
t
.
chapterVideo
.
pdf
,
target
:
"_blank"
}},[
t
.
_v
(
"下载PPT"
)])])]:
t
.
_e
(),
t
.
_v
(
" "
),
t
.
ppts
.
length
?[
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-ppt"
+
(
t
.
state
.
pptBoxShow
?
"-active"
:
""
)],
on
:{
click
:
t
.
togglePptBox
}},[
t
.
_v
(
"同步显示PPT"
)])]:
t
.
_e
(),
t
.
_v
(
" "
),
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-check"
+
(
t
.
state
.
skipBegin
?
"-active"
:
""
)],
on
:{
click
:
t
.
toggleSkipBegin
}},[
t
.
_v
(
"始终跳过片头"
)])],
2
)])])},
n
=
[];
i
.
d
(
e
,
"a"
,
function
(){
return
s
}),
i
.
d
(
e
,
"b"
,
function
(){
return
n
})},
434
:
function
(
t
,
e
,
i
){
"use strict"
;
var
s
=
function
(){
var
t
=
this
,
e
=
this
,
i
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
i
;
return
s
(
"div"
,{
ref
:
"wrap"
,
staticClass
:
"play-ppt"
},[
e
.
ppts
.
length
?[
s
(
"div"
,{
ref
:
"preview"
,
staticClass
:
"play-preview"
},[
e
.
ppts
[
e
.
state
.
index
]
&&
e
.
ppts
[
e
.
state
.
index
].
ppt_url
?[
s
(
"img"
,{
staticClass
:
"play-ppt-img"
,
staticStyle
:{
"vertical-align"
:
"middle"
},
attrs
:{
src
:
e
.
ppts
[
e
.
state
.
index
].
ppt_url
}})]:
e
.
_e
()],
2
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-controls cl"
},[
s
(
"div"
,{
staticStyle
:{
float
:
"left"
}},[
0
<=
e
.
state
.
index
?[
s
(
"a"
,{
staticStyle
:{
margin
:
"0 20px 0 0"
,
color
:
"#fff"
},
attrs
:{
href
:
"#"
},
on
:{
click
:
e
.
prev
}},[
s
(
"i"
,{
staticClass
:
"el-icon-arrow-left"
})])]:
e
.
_e
(),
e
.
_v
(
" "
),
e
.
state
.
index
+
1
<
e
.
ppts
.
length
?[
s
(
"a"
,{
attrs
:{
href
:
"#"
},
on
:{
click
:
e
.
next
}},[
s
(
"i"
,{
staticClass
:
"el-icon-arrow-right"
,
staticStyle
:{
color
:
"#fff"
}})])]:
e
.
_e
()],
2
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-page"
},[
s
(
"span"
,{
staticClass
:
"play-now"
},[
e
.
_v
(
e
.
_s
(
e
.
state
.
index
+
1
))]),
e
.
_v
(
"
\
n /
\
n "
),
s
(
"span"
,{
staticClass
:
"play-total"
},[
e
.
_v
(
e
.
_s
(
e
.
ppts
.
length
))]),
e
.
_v
(
"页
\
n "
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-amazing"
},[
s
(
"i"
,{
class
:[
"el-icon-self-xuexiao"
,
e
.
state
.
sync
?
"active"
:
""
],
on
:{
click
:
e
.
onToggleSync
}}),
e
.
_v
(
" "
),
s
(
"i"
,{
staticClass
:
"el-icon-self-quanping"
,
on
:{
click
:
function
(){
t
.
$emit
(
"onPptOnly"
)}}}),
e
.
_v
(
" "
),
s
(
"i"
,{
staticClass
:
"el-icon-self-shipin"
,
on
:{
click
:
e
.
onSetVideoTime
}}),
e
.
_v
(
" "
),
s
(
"i"
,{
staticClass
:
"el-icon-self-guanbi"
,
on
:{
click
:
function
(){
t
.
$emit
(
"onClose"
)}}})])])]:
e
.
_e
()],
2
)},
n
=
[];
i
.
d
(
e
,
"a"
,
function
(){
return
s
}),
i
.
d
(
e
,
"b"
,
function
(){
return
n
})},
437
:
function
(
t
,
e
,
i
){
"use strict"
;
var
s
=
function
(){
var
t
=
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
n
=
[
function
(){
var
t
=
this
.
$createElement
,
e
=
this
.
_self
.
_c
||
t
;
return
e
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
e
(
"div"
,{
attrs
:{
id
:
"player"
}},[
e
(
"p"
,[
this
.
_v
(
"您还没有安装flash播放器,请 "
),
e
(
"a"
,{
attrs
:{
href
:
"http://www.adobe.com/go/getflash"
,
target
:
"_blank"
}},[
this
.
_v
(
"点击这里安装"
)])])])])}];
i
.
d
(
e
,
"a"
,
function
(){
return
s
}),
i
.
d
(
e
,
"b"
,
function
(){
return
n
})}}]);
\ No newline at end of file
client-dist/resources/10.236b8345.js
deleted
100644 → 0
浏览文件 @
2173f62e
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
10
],{
268
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
424
),
n
=
i
(
347
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
n
[
t
]})}(
a
);
var
r
=
i
(
3
),
o
=
Object
(
r
.
a
)(
n
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
null
,
null
);
o
.
options
.
__file
=
"chapterVideo.vue"
,
e
.
default
=
o
.
exports
},
347
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
348
),
n
=
i
.
n
(
s
);
for
(
var
a
in
s
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
a
);
e
.
default
=
n
.
a
},
348
:
function
(
t
,
e
,
i
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
s
=
r
(
i
(
397
)),
n
=
r
(
i
(
399
)),
a
=
r
(
i
(
69
));
function
r
(
t
){
return
t
&&
t
.
__esModule
?
t
:{
default
:
t
}}
e
.
default
=
{
components
:{
eVideo
:
s
.
default
,
ePpt
:
n
.
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
}},
data
:
function
(){
return
{
state
:{
pptIndex
:
0
,
pptBoxOnly
:
!
1
,
pptBoxShow
:
!
1
,
skipBegin
:
/skip=1/
.
test
(
document
.
cookie
),
calculatedSize
:
!
1
},
videoFlash
:{
lastTime
:
null
,
videoWidth
:
550
,
videoHeight
:
360
,
username
:
window
.
G
.
UserInfo
&&
window
.
G
.
UserInfo
.
username
||
""
},
resizeVideo
:
null
,
hearBeat
:
null
,
_rProgress
:{}}},
mounted
:
function
(){
var
i
=
this
,
t
=
this
.
getCalculateSize
();
t
.
video
.
w
&&
(
this
.
videoFlash
.
videoWidth
=
t
.
video
.
w
,
this
.
videoFlash
.
videoHeight
=
t
.
video
.
h
),
this
.
resizeVideo
||
(
this
.
resizeVideo
=
a
.
default
.
debounce
(
this
.
jdugeSize
.
bind
(
this
),
200
)),
setTimeout
(
this
.
jdugeSize
,
300
),
window
.
addEventListener
(
"resize"
,
this
.
resizeVideo
),
this
.
hearBeat
=
setInterval
(
function
(){
if
(
i
.
chapterVideo
)
if
(
i
.
_rProgress
&&
i
.
_rProgress
.
id
){
var
t
=
i
.
_rProgress
,
e
=
i
.
videoFlash
.
lastTime
;
t
.
pt
=
parseInt
(
t
.
pt
)
+
parseInt
(
0
<
e
-
t
.
cpt
&&
e
-
t
.
cpt
<
8
?
e
-
t
.
cpt
:
0
),
t
.
cpt
=
e
,
t
.
mpt
=
e
>
t
.
mpt
?
e
:
t
.
mpt
,
i
.
$emit
(
"updateProgress"
,
i
.
_rProgress
)}
else
i
.
_rProgress
=
a
.
default
.
assignIn
({},
i
.
chapterVideo
.
progress
)},
5
e3
)},
destroyed
:
function
(){
window
.
removeEventListener
(
"resize"
,
this
.
resizeVideo
),
clearInterval
(
this
.
hearBeat
)},
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
t
=!
this
.
state
.
skipBegin
,
e
=
new
Date
;
e
.
setMonth
(
e
.
getMonth
()
+
1
),
document
.
cookie
=
"skip="
+
+
t
+
";path=/;domain=.ezijing.com;expires="
+
e
.
toGMTString
(),
t
&&
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
skipBegin
(),
this
.
state
.
skipBegin
=
t
},
onVideoTimeChange
:
function
(
t
){
var
e
=
t
.
time
;
this
.
videoFlash
.
lastTime
!==
e
&&
(
this
.
videoFlash
.
lastTime
=
e
,
this
.
setPptIndexByTime
(
e
),
this
.
$emit
(
"handlePlayTime"
,
e
))},
setPptIndexByTime
:
function
(
t
){
for
(
var
e
=
this
.
ppts
||
[],
i
=
0
;
i
<
e
.
length
&&!
(
t
<
e
[
i
].
ppt_point
);
i
++
);
this
.
state
.
pptIndex
!==
i
-
1
&&
(
this
.
state
.
pptIndex
=
i
-
1
)},
setVideoTime
:
function
(
t
){
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setTimeTo
(
t
)},
jdugeSize
:
function
(){
var
t
=
this
.
$refs
.
box
,
e
=
this
.
getCalculateSize
(),
i
=
0
,
s
=
0
;
this
.
state
.
pptBoxOnly
?(
s
=
e
.
ppt
.
w
,
i
=
e
.
ppt
.
h
,
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
s
,
i
)):
this
.
state
.
pptBoxShow
?(
this
.
$refs
.
ppt
&&
this
.
$refs
.
ppt
.
setSize
(
e
.
ppt
.
w
,
e
.
ppt
.
h
),
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
e
.
video
.
w
,
e
.
video
.
h
),
s
=
e
.
ppt
.
w
+
e
.
video
.
w
,
i
=
e
.
video
.
h
):(
s
=
e
.
video
.
w
,
i
=
e
.
video
.
h
,
this
.
$refs
.
video
&&
this
.
$refs
.
video
.
setSize
(
s
,
i
)),
this
.
state
.
calculatedSize
=!
0
,
t
.
style
.
paddingLeft
=
(
e
.
space
.
w
-
s
)
/
2
+
15
+
"px"
,
t
.
style
.
paddingTop
=
(
e
.
space
.
h
-
i
)
/
2
+
10
+
"px"
},
getCalculateSize
:
function
(){
var
t
=
this
.
$refs
.
container
,
e
=
t
.
offsetWidth
-
30
,
i
=
t
.
offsetHeight
-
53
-
20
,
s
=
550
/
363
,
n
=
336
/
236
,
a
=
{
space
:{
w
:
e
,
h
:
i
},
video
:{
w
:
0
,
h
:
0
},
ppt
:{
w
:
0
,
h
:
0
}};
if
(
this
.
state
.
pptBoxOnly
)
a
.
ppt
.
w
=
e
<
i
*
n
?
e
:
i
*
n
,
a
.
ppt
.
h
=
i
<
e
/
n
?
i
:
e
/
n
;
else
if
(
this
.
state
.
pptBoxShow
){
var
r
=
e
/
2
,
o
=
r
<
i
*
s
?
r
:
i
*
s
,
l
=
i
<
r
/
s
?
i
:
r
/
s
,
p
=
l
,
c
=
p
*
n
;
a
.
video
.
w
=
o
,
a
.
video
.
h
=
l
,
a
.
ppt
.
w
=
c
,
a
.
ppt
.
h
=
p
}
else
a
.
video
.
w
=
e
<
i
*
s
?
e
:
i
*
s
,
a
.
video
.
h
=
i
<
e
/
s
?
i
:
e
/
s
;
return
a
}}}},
349
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
350
),
n
=
i
.
n
(
s
);
for
(
var
a
in
s
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
a
);
e
.
default
=
n
.
a
},
350
:
function
(
t
,
a
,
r
){
"use strict"
;(
function
(
s
){
Object
.
defineProperty
(
a
,
"__esModule"
,{
value
:
!
0
});
var
t
,
e
=
r
(
269
),
p
=
(
t
=
e
)
&&
t
.
__esModule
?
t
:{
default
:
t
};
var
n
=
"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
e
=
this
;
window
.
_playerStart
=
function
(){
/
skip
=
1
/
.
test
(
document
.
cookie
)?
e
.
getPlayer
().
callAction
(
"setCurrentTime"
,
Math
.
max
(
i
,
7
)):
i
&&
e
.
getPlayer
().
callAction
(
"setCurrentTime"
,
i
)},
window
.
_playerIng
=
function
(
t
){
s
(
"#"
+
n
).
trigger
(
"player.time"
,{
time
:
t
})},
window
.
_playerSeek
=
function
(){
s
(
"#"
+
n
).
trigger
(
"player.seek"
,{
time
:
e
.
getPlayer
().
callAction
(
"getCurrentTime"
)})},
window
.
_playerCallback
=
function
(){
var
t
=
e
.
getPlayer
();
t
&&
(
t
.
callAction
(
"register"
,
"onCanplay"
,
"_playerStart"
),
t
.
callAction
(
"register"
,
"onPlaying"
,
"_playerIng"
),
t
.
callAction
(
"register"
,
"onSeekComplete"
,
"_playerSeek"
))}},
renderPlayer
:
function
(
t
,
e
,
i
,
s
,
n
,
a
,
r
){
var
o
=
{
autoStart
:
i
=
void
0
===
i
?
1
:
i
-
0
,
vid
:
e
,
isShowSpeeder
:
1
,
videoType
:
1
,
callback
:
"_playerCallback"
};
s
&&
(
o
.
srtUrl
=
s
),
n
&&
(
o
.
username
=
n
);
var
l
=
{
id
:
t
,
name
:
t
,
align
:
"middle"
,
wmode
:
"opaque"
};
p
.
default
.
embedSWF
(
"/static/videoJs/swf/Player1705192.swf"
,
t
,
parseInt
(
a
),
parseInt
(
r
),
"11.1.0"
,
"playerProductInstall.swf"
,
o
,{
quality
:
"high"
,
bgcolor
:
"#000000"
,
allowscriptaccess
:
"always"
,
allowfullscreen
:
"true"
},
l
),
this
.
listenPlayerEvents
()},
listenPlayerEvents
:
function
(){
var
i
=
this
;
s
(
"#"
+
n
).
off
(
"player.time player.seek"
).
on
(
"player.time player.seek"
,
function
(
t
,
e
){
i
.
$emit
(
"handlePlayTime"
,
e
)})},
getPlayer
:
function
(){
return
document
.
getElementById
(
"player"
)},
getTime
:
function
(){
var
t
=
this
.
getPlayer
();
return
t
?
t
.
callAction
(
"getCurrentTime"
):
0
},
setTimeTo
:
function
(
t
){
var
e
=
this
.
getPlayer
();
e
&&
e
.
callAction
(
"setCurrentTime"
,
t
+
2
)},
skipBegin
:
function
(){
var
t
=
this
.
getPlayer
();
t
&&
t
.
callAction
(
"getCurrentTime"
)
<
7
&&
t
.
callAction
(
"setCurrentTime"
,
7
)},
setSize
:
function
(
t
,
e
){
var
i
=
this
.
getPlayer
();
i
&&
(
i
.
width
=
t
,
i
.
height
=
e
)}}}}).
call
(
this
,
r
(
374
))},
351
:
function
(
t
,
e
,
i
){},
352
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
353
),
n
=
i
.
n
(
s
);
for
(
var
a
in
s
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
a
);
e
.
default
=
n
.
a
},
353
:
function
(
t
,
e
,
i
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
}),
e
.
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
(
t
){
this
.
state
.
index
=
t
},
getIndex
:
function
(
t
){
return
Math
.
min
(
this
.
ppts
.
length
-
1
,
Math
.
max
(
0
,
t
))},
prev
:
function
(
t
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
-
1
),
this
.
state
.
sync
=!
1
},
next
:
function
(
t
){
this
.
state
.
index
=
this
.
getIndex
(
this
.
state
.
index
+
1
),
this
.
state
.
sync
=!
1
},
onToggleSync
:
function
(
t
){
this
.
state
.
sync
=!
this
.
state
.
sync
,
this
.
state
.
index
=
this
.
state
.
sync
?
this
.
currentIndex
:
this
.
state
.
index
},
onSetVideoTime
:
function
(
t
){
this
.
$emit
(
"onVideoSyncTime"
,
this
.
ppts
[
this
.
state
.
index
].
ppt_point
)},
setSize
:
function
(
t
,
e
){
this
.
$refs
.
wrap
.
style
.
width
=
t
+
"px"
,
this
.
$refs
.
wrap
.
style
.
height
=
e
+
"px"
,
this
.
$refs
.
preview
.
style
.
lineHeight
=
e
-
44
+
"px"
}}}},
397
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
437
),
n
=
i
(
349
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
n
[
t
]})}(
a
);
i
(
398
);
var
r
=
i
(
3
),
o
=
Object
(
r
.
a
)(
n
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
"7ec35a74"
,
null
);
o
.
options
.
__file
=
"video.vue"
,
e
.
default
=
o
.
exports
},
398
:
function
(
t
,
e
,
i
){
"use strict"
;
var
s
=
i
(
351
);
i
.
n
(
s
).
a
},
399
:
function
(
t
,
e
,
i
){
"use strict"
;
i
.
r
(
e
);
var
s
=
i
(
434
),
n
=
i
(
352
);
for
(
var
a
in
n
)
"default"
!==
a
&&
function
(
t
){
i
.
d
(
e
,
t
,
function
(){
return
n
[
t
]})}(
a
);
var
r
=
i
(
3
),
o
=
Object
(
r
.
a
)(
n
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
null
,
null
);
o
.
options
.
__file
=
"ppt.vue"
,
e
.
default
=
o
.
exports
},
424
:
function
(
t
,
e
,
i
){
"use strict"
;
var
s
=
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
i
=
t
.
_self
.
_c
||
e
;
return
i
(
"div"
,{
ref
:
"container"
,
staticClass
:
"play-content-video"
},[
i
(
"div"
,{
ref
:
"box"
,
staticClass
:
"play-center"
},[
t
.
chapterVideo
?[
i
(
"div"
,{
class
:[
"play-video"
,
t
.
state
.
pptBoxOnly
?
"play-video-hide"
:
""
,
t
.
state
.
calculatedSize
?
""
:
"play-video-init-center"
]},[
i
(
"e-video"
,{
ref
:
"video"
,
attrs
:{
lastTime
:
parseFloat
(
t
.
chapterVideo
.
progress
&&
t
.
chapterVideo
.
progress
.
cpt
||
0
),
width
:
t
.
videoFlash
.
videoWidth
,
height
:
t
.
videoFlash
.
videoHeight
,
username
:
t
.
videoFlash
.
username
,
videoId
:
t
.
chapterVideo
.
video_origionalID
,
videoSrt
:
t
.
chapterVideo
.
video_subtitle
||
""
,
chapterVideo
:
t
.
chapterVideo
},
on
:{
handlePlayTime
:
t
.
onVideoTimeChange
}})],
1
),
t
.
_v
(
" "
),
i
(
"div"
,{
class
:[
"play-jiangyi"
,
t
.
state
.
pptBoxShow
?
""
:
"hide"
]},[
t
.
ppts
.
length
?[
i
(
"e-ppt"
,{
ref
:
"ppt"
,
attrs
:{
ppts
:
t
.
ppts
,
currentIndex
:
t
.
state
.
pptIndex
},
on
:{
onVideoSyncTime
:
t
.
setVideoTime
,
onPptOnly
:
t
.
togglePptBoxOnly
,
onClose
:
t
.
togglePptBox
}})]:
t
.
_e
()],
2
)]:[
i
(
"p"
,[
t
.
_v
(
"课程视频数据不存在"
)])]],
2
),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-footer"
},[
i
(
"div"
,{
staticClass
:
"fl"
}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"fr"
},[
t
.
chapterVideo
.
pdf
?[
i
(
"em"
,{
staticClass
:
"play-state play-state-ppt"
},[
i
(
"a"
,{
attrs
:{
href
:
t
.
chapterVideo
.
pdf
,
target
:
"_blank"
}},[
t
.
_v
(
"下载PPT"
)])])]:
t
.
_e
(),
t
.
_v
(
" "
),
t
.
ppts
.
length
?[
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-ppt"
+
(
t
.
state
.
pptBoxShow
?
"-active"
:
""
)],
on
:{
click
:
t
.
togglePptBox
}},[
t
.
_v
(
"同步显示PPT"
)])]:
t
.
_e
(),
t
.
_v
(
" "
),
i
(
"em"
,{
class
:[
"play-state"
,
"play-state-check"
+
(
t
.
state
.
skipBegin
?
"-active"
:
""
)],
on
:{
click
:
t
.
toggleSkipBegin
}},[
t
.
_v
(
"始终跳过片头"
)])],
2
)])])},
n
=
[];
i
.
d
(
e
,
"a"
,
function
(){
return
s
}),
i
.
d
(
e
,
"b"
,
function
(){
return
n
})},
434
:
function
(
t
,
e
,
i
){
"use strict"
;
var
s
=
function
(){
var
t
=
this
,
e
=
this
,
i
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
i
;
return
s
(
"div"
,{
ref
:
"wrap"
,
staticClass
:
"play-ppt"
},[
e
.
ppts
.
length
?[
s
(
"div"
,{
ref
:
"preview"
,
staticClass
:
"play-preview"
},[
e
.
ppts
[
e
.
state
.
index
]
&&
e
.
ppts
[
e
.
state
.
index
].
ppt_url
?[
s
(
"img"
,{
staticClass
:
"play-ppt-img"
,
staticStyle
:{
"vertical-align"
:
"middle"
},
attrs
:{
src
:
e
.
ppts
[
e
.
state
.
index
].
ppt_url
}})]:
e
.
_e
()],
2
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-controls cl"
},[
s
(
"div"
,{
staticStyle
:{
float
:
"left"
}},[
0
<=
e
.
state
.
index
?[
s
(
"a"
,{
staticStyle
:{
margin
:
"0 20px 0 0"
,
color
:
"#fff"
},
attrs
:{
href
:
"#"
},
on
:{
click
:
e
.
prev
}},[
s
(
"i"
,{
staticClass
:
"el-icon-arrow-left"
})])]:
e
.
_e
(),
e
.
_v
(
" "
),
e
.
state
.
index
+
1
<
e
.
ppts
.
length
?[
s
(
"a"
,{
attrs
:{
href
:
"#"
},
on
:{
click
:
e
.
next
}},[
s
(
"i"
,{
staticClass
:
"el-icon-arrow-right"
,
staticStyle
:{
color
:
"#fff"
}})])]:
e
.
_e
()],
2
),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-page"
},[
s
(
"span"
,{
staticClass
:
"play-now"
},[
e
.
_v
(
e
.
_s
(
e
.
state
.
index
+
1
))]),
e
.
_v
(
"
\
n /
\
n "
),
s
(
"span"
,{
staticClass
:
"play-total"
},[
e
.
_v
(
e
.
_s
(
e
.
ppts
.
length
))]),
e
.
_v
(
"页
\
n "
)]),
e
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-amazing"
},[
s
(
"i"
,{
class
:[
"el-icon-self-xuexiao"
,
e
.
state
.
sync
?
"active"
:
""
],
on
:{
click
:
e
.
onToggleSync
}}),
e
.
_v
(
" "
),
s
(
"i"
,{
staticClass
:
"el-icon-self-quanping"
,
on
:{
click
:
function
(){
t
.
$emit
(
"onPptOnly"
)}}}),
e
.
_v
(
" "
),
s
(
"i"
,{
staticClass
:
"el-icon-self-shipin"
,
on
:{
click
:
e
.
onSetVideoTime
}}),
e
.
_v
(
" "
),
s
(
"i"
,{
staticClass
:
"el-icon-self-guanbi"
,
on
:{
click
:
function
(){
t
.
$emit
(
"onClose"
)}}})])])]:
e
.
_e
()],
2
)},
n
=
[];
i
.
d
(
e
,
"a"
,
function
(){
return
s
}),
i
.
d
(
e
,
"b"
,
function
(){
return
n
})},
437
:
function
(
t
,
e
,
i
){
"use strict"
;
var
s
=
function
(){
var
t
=
this
.
$createElement
;
this
.
_self
.
_c
;
return
this
.
_m
(
0
)},
n
=
[
function
(){
var
t
=
this
.
$createElement
,
e
=
this
.
_self
.
_c
||
t
;
return
e
(
"div"
,{
attrs
:{
id
:
"playerWrap"
}},[
e
(
"div"
,{
attrs
:{
id
:
"player"
}},[
e
(
"p"
,[
this
.
_v
(
"您还没有安装flash播放器,请 "
),
e
(
"a"
,{
attrs
:{
href
:
"http://www.adobe.com/go/getflash"
,
target
:
"_blank"
}},[
this
.
_v
(
"点击这里安装"
)])])])])}];
i
.
d
(
e
,
"a"
,
function
(){
return
s
}),
i
.
d
(
e
,
"b"
,
function
(){
return
n
})}}]);
\ No newline at end of file
client-dist/resources/17.
71afe09f
.js
→
client-dist/resources/17.
6f7a3ac1
.js
浏览文件 @
4e156b69
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
17
],{
256
:
function
(
s
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
e
=
i
(
420
),
a
=
i
(
306
);
for
(
var
n
in
a
)
"default"
!==
n
&&
function
(
s
){
i
.
d
(
t
,
s
,
function
(){
return
a
[
s
]})}(
n
);
i
(
382
);
var
c
=
i
(
3
),
d
=
Object
(
c
.
a
)(
a
.
default
,
e
.
a
,
e
.
b
,
!
1
,
null
,
"effbd298"
,
null
);
d
.
options
.
__file
=
"discussDetail.vue"
,
t
.
default
=
d
.
exports
},
306
:
function
(
s
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
e
=
i
(
307
),
a
=
i
.
n
(
e
);
for
(
var
n
in
e
)
"default"
!==
n
&&
function
(
s
){
i
.
d
(
t
,
s
,
function
(){
return
e
[
s
]})}(
n
);
t
.
default
=
a
.
a
},
307
:
function
(
s
,
i
,
e
){
"use strict"
;(
function
(
r
){
Object
.
defineProperty
(
i
,
"__esModule"
,{
value
:
!
0
});
var
o
=
t
(
e
(
68
)),
s
=
t
(
e
(
250
));
function
t
(
s
){
return
s
&&
s
.
__esModule
?
s
:{
default
:
s
}}
i
.
default
=
{
props
:{
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
ckeditor
:
null
,
courseTitle
:
"课程问题"
,
discussQues
:{
qid
:
""
,
user
:{
url
:
"./icons/default.jpg"
,
name
:
"用户名000"
,
time
:
"2018-2-12 15:28:47"
},
title
:
"这是一个一句话问题这是一个一句话问题这是一个一句话问题标题这是一个一句话问题"
,
text
:
"<p>王家有三兄弟甲、乙、丙,丙幼年时送给胡某作养子,丙结婚时,胡某为其盖了新房,后因失火致使该房屋被烧毁。丙的生父母就将自己<p>"
,
askCnt
:
20
,
TouCnt
:
100
,
likeCnt
:
100
,
comCnt
:
100
,
mine
:
!
0
,
isShowComment
:
!
1
,
has_tag
:
!
1
,
tag_id
:
null
,
comments
:[{
cid
:
""
,
user
:{
url
:
""
,
name
:
"用户名000"
,
time
:
"2018-2-12 15:28:47"
},
text
:
"在线学习课程"
,
mine
:
!
0
},{
cid
:
""
,
user
:{
url
:
""
,
name
:
"用户名000"
,
time
:
"2018-2-12 15:28:47"
},
text
:
"在线学习课程"
,
mine
:
!
1
}]},
answersList
:[],
disQus
:{
isShowComment
:
!
1
},
answers
:[{
aid
:
""
,
isShowComment
:
!
1
}],
inputStatus
:{
canFocus
:
!
1
,
placeholder
:
"回答问题 ..."
,
input
:
""
},
qid
:
"6447416971762860032"
,
call
:{}}},
mounted
:
function
(){
var
e
=
this
;
this
.
call
=
{
questionId
:
this
.
id
,
semester_id
:
""
,
contents
:
""
,
question_id
:
this
.
id
,
answer
:
!
0
};
var
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
getDiscussDetail
(
this
.
id
).
then
(
function
(
s
){
e
.
discussQues
=
s
.
ques
,
e
.
call
.
semester_id
=
e
.
discussQues
.
sid
,
e
.
disQus
.
isShowComment
=
s
.
ques
.
isShowComment
;
for
(
var
t
=
[],
i
=
0
;
i
<
s
.
answer
.
length
;
i
++
)
t
.
push
({
aid
:
s
.
answer
[
i
].
aid
,
isShowComment
:
s
.
answer
[
i
].
isShowComment
});
e
.
answersList
=
s
.
answer
,
e
.
answers
=
t
}).
catch
(
function
(
s
){
e
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
s
.
close
()}),
r
(
"#editor"
).
on
(
"blur"
,
function
(){
e
.
blurInput
()})},
destroyed
:
function
(){
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
,
r
(
"#editor"
).
off
(
"blur"
)},
methods
:{
openOrcloseDis
:
function
(
s
){
if
(
"disQus"
===
s
.
currentTarget
.
dataset
.
key
)
this
.
disQus
.
isShowComment
=!
this
.
disQus
.
isShowComment
;
else
{
var
t
=
s
.
currentTarget
.
dataset
.
index
;
this
.
answers
[
t
].
isShowComment
=!
this
.
answers
[
t
].
isShowComment
}},
deleteComment
:
function
(
s
){
var
t
=
this
,
i
=
s
.
currentTarget
.
dataset
.
cid
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
deleteComment
(
i
).
then
(
function
(
s
){
t
.
updateList
(),
t
.
$message
({
type
:
"success"
,
message
:
"删除成功"
})}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
e
.
close
()})},
deleteAnswer
:
function
(
s
){
var
t
=
this
,
i
=
s
.
currentTarget
.
dataset
.
aid
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
deleteAnswer
(
i
).
then
(
function
(
s
){
t
.
updateList
(),
t
.
$message
({
type
:
"success"
,
message
:
"删除成功"
})}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
e
.
close
()})},
btnlike
:
function
(
s
){
var
t
=
this
,
i
=
s
.
currentTarget
.
dataset
,
e
=
i
.
quesid
,
a
=
i
.
ansid
,
n
=
i
.
tagid
,
c
=
i
.
sid
;
if
(
n
){
var
d
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
unlike
(
n
).
then
(
function
(
s
){
t
.
updateList
()}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
d
.
close
()})}
else
{
var
r
=
{};
e
&&
(
r
.
question_id
=
e
),
a
&&
(
r
.
answer_id
=
a
),
c
&&
(
r
.
semester_id
=
c
);
var
u
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
like
(
r
).
then
(
function
(
s
){
t
.
updateList
()}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
u
.
close
()})}},
deleteDiscuss
:
function
(){
var
t
=
this
,
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
deleteDiscuss
(
this
.
id
).
then
(
function
(
s
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功"
}),
setTimeout
(
function
(){
t
.
$router
.
go
(
-
1
)},
1
e3
)}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
s
.
close
()})},
callbackComment
:
function
(
s
){
this
.
inputStatus
.
input
=
""
;
var
t
=
s
.
currentTarget
.
dataset
,
i
=
t
.
qid
,
e
=
t
.
quesid
,
a
=
t
.
ansid
,
n
=
t
.
to
,
c
=
t
.
sid
,
d
=
{};
i
&&
(
d
.
questionId
=
i
),
n
&&
(
d
.
to
=
n
),
e
&&
(
d
.
question_id
=
e
),
a
&&
(
d
.
answer_id
=
a
),
c
&&
(
d
.
semester_id
=
c
),
this
.
call
=
d
,
this
.
inputStatus
.
placeholder
=
n
?
"回复"
+
n
+
":"
:
"回复:"
,
this
.
inputStatus
.
canFocus
=!
0
,
r
(
"#editor"
).
focus
()},
blurInput
:
function
(
s
){
this
.
inputStatus
.
canFocus
=!
1
,
r
(
"#editor"
).
val
()
||
(
this
.
inputStatus
.
placeholder
=
"回答问题 ..."
,
this
.
inputStatus
.
input
=
""
,
this
.
call
=
{
questionId
:
this
.
discussQues
.
qid
,
semester_id
:
this
.
discussQues
.
sid
,
contents
:
""
,
question_id
:
this
.
discussQues
.
qid
,
answer
:
!
0
})},
publishContent
:
function
(
s
){
var
t
=
this
,
i
=
r
(
"#editor"
).
val
();
if
(
this
.
call
.
to
?
this
.
call
.
comments
=
"回复"
+
this
.
call
.
to
+
":"
+
i
:
this
.
call
.
comments
=
i
,
this
.
call
.
answer
){
this
.
call
.
contents
=
this
.
call
.
comments
;
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
answerQues
(
this
.
call
).
then
(
function
(
s
){
t
.
updateList
(),
r
(
"#editor"
).
val
(
""
)}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
e
.
close
()})}
else
{
var
a
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
callbackComment
(
this
.
call
).
then
(
function
(
s
){
t
.
updateList
(),
r
(
"#editor"
).
val
(
""
)}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
a
.
close
()})}},
updateList
:
function
(){
var
c
=
this
,
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
getDiscussDetail
(
this
.
id
).
then
(
function
(
s
){
c
.
discussQues
=
s
.
ques
;
for
(
var
t
=
c
.
answers
,
i
=
0
;
i
<
t
.
length
;
i
++
)
for
(
var
e
=
0
;
e
<
s
.
answer
.
length
;
e
++
)
if
(
t
[
i
].
aid
===
s
.
answer
[
e
].
aid
){
s
.
answer
[
e
].
isShowComment
=
t
[
i
].
isShowComment
;
break
}
for
(
var
a
=
[],
n
=
0
;
n
<
s
.
answer
.
length
;
n
++
)
a
.
push
({
aid
:
s
.
answer
[
n
].
aid
,
isShowComment
:
s
.
answer
[
n
].
isShowComment
});
c
.
answersList
=
s
.
answer
,
c
.
answers
=
a
}).
catch
(
function
(
s
){
c
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
s
.
close
()})},
initckeditor
:
function
(){
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
s
.
default
.
replace
(
"editor"
,{
height
:
100
,
uiColor
:
"#eeeeee"
,
filebrowserImageUploadUrl
:
"/api/editor/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"
]}]}))}}}}).
call
(
this
,
e
(
374
))},
308
:
function
(
s
,
t
,
i
){},
382
:
function
(
s
,
t
,
i
){
"use strict"
;
var
e
=
i
(
308
);
i
.
n
(
e
).
a
},
420
:
function
(
s
,
t
,
n
){
"use strict"
;
var
i
=
function
(){
var
e
=
this
,
s
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
s
;
return
a
(
"div"
,[
a
(
"div"
,{
staticClass
:
"con-title"
},[
e
.
_v
(
"问题详情"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"con-box"
},[
a
(
"div"
,{
staticClass
:
"discuss-detail-scroll"
},[
a
(
"div"
,{
staticClass
:
"ques"
},[
a
(
"div"
,{
staticClass
:
"title"
},[
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
title
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"text"
,
domProps
:{
innerHTML
:
e
.
_s
(
e
.
discussQues
.
text
)}}),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"user"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
user
.
name
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
user
.
time
))]),
e
.
_v
(
" "
),
e
.
discussQues
.
mine
?[
a
(
"div"
,{
staticClass
:
"right-txt"
,
on
:{
click
:
e
.
deleteDiscuss
}},[
e
.
_v
(
"删除"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-qid"
:
e
.
discussQues
.
qid
,
"data-quesid"
:
e
.
discussQues
.
qid
},
on
:{
click
:
e
.
callbackComment
}},[
e
.
_v
(
"回复"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-key"
:
"disQus"
},
on
:{
click
:
e
.
openOrcloseDis
}},[
e
.
_v
(
"讨论("
+
e
.
_s
(
e
.
discussQues
.
comCnt
)
+
")"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-quesid"
:
e
.
discussQues
.
qid
,
"data-sid"
:
e
.
discussQues
.
sid
,
"data-tagid"
:
e
.
discussQues
.
tag_id
},
on
:{
click
:
e
.
btnlike
}},[
e
.
_v
(
"
\
n 点赞("
+
e
.
_s
(
e
.
discussQues
.
likeCnt
)
+
")"
)])],
2
),
e
.
_v
(
" "
),
e
.
disQus
.
isShowComment
?[
a
(
"div"
,{
staticClass
:
"ask"
},[
e
.
_l
(
e
.
discussQues
.
comments
,
function
(
s
,
t
){
return
[
a
(
"div"
,{
key
:
t
,
staticClass
:
"item-list"
,
attrs
:{
"data-id"
:
s
.
id
}},[
a
(
"div"
,{
staticClass
:
"user"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
e
.
_v
(
e
.
_s
(
s
.
user
.
name
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
e
.
_v
(
e
.
_s
(
s
.
user
.
time
))]),
e
.
_v
(
" "
),
s
.
mine
?[
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-cid"
:
s
.
cid
},
on
:{
click
:
e
.
deleteComment
}},[
e
.
_v
(
"删除"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-qid"
:
e
.
discussQues
.
qid
,
"data-quesid"
:
e
.
discussQues
.
qid
,
"data-to"
:
s
.
user
.
name
},
on
:{
click
:
e
.
callbackComment
}},[
e
.
_v
(
"回复"
)])],
2
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"text"
},[
e
.
_v
(
e
.
_s
(
s
.
text
))])])]})],
2
)]:
e
.
_e
()],
2
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"result"
},[
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
askCnt
)
+
" 回答"
),
a
(
"div"
,{
staticStyle
:{
display
:
"inline-block"
,
width
:
"0.2rem"
}}),
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
TouCnt
)
+
" 投票"
)]),
e
.
_v
(
" "
),
e
.
_l
(
e
.
answersList
,
function
(
i
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"ask"
},[
a
(
"div"
,{
staticClass
:
"user-1"
},[
i
.
user
.
url
?[
a
(
"img"
,{
staticClass
:
"img-1"
,
attrs
:{
src
:
i
.
user
.
url
}})]:[
a
(
"img"
,{
staticClass
:
"img-1"
,
attrs
:{
src
:
n
(
107
)}})],
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-1"
},[
a
(
"div"
,{
staticClass
:
"name-1"
},[
e
.
_v
(
e
.
_s
(
i
.
user
.
name
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time-1"
},[
e
.
_v
(
e
.
_s
(
i
.
user
.
time
))])])],
2
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"text"
,
domProps
:{
innerHTML
:
e
.
_s
(
i
.
text
)}}),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"user"
},[
i
.
mine
?[
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-aid"
:
i
.
aid
},
on
:{
click
:
e
.
deleteAnswer
}},[
e
.
_v
(
"删除"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-qid"
:
e
.
discussQues
.
qid
,
"data-ansid"
:
i
.
aid
},
on
:{
click
:
e
.
callbackComment
}},[
e
.
_v
(
"回复"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-key"
:
e
.
answers
,
"data-index"
:
s
},
on
:{
click
:
e
.
openOrcloseDis
}},[
e
.
_v
(
"讨论("
+
e
.
_s
(
i
.
comCnt
)
+
")"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-quesid"
:
e
.
discussQues
.
qid
,
"data-ansid"
:
i
.
aid
,
"data-tagid"
:
i
.
tag_id
},
on
:{
click
:
e
.
btnlike
}},[
e
.
_v
(
"
\
n 点赞("
+
e
.
_s
(
i
.
likeCnt
)
+
")"
)])],
2
),
e
.
_v
(
" "
),
e
.
answers
[
s
].
isShowComment
?[
e
.
_l
(
i
.
comments
,
function
(
s
,
t
){
return
[
a
(
"div"
,{
key
:
t
,
staticClass
:
"item-list"
,
attrs
:{
"data-id"
:
s
.
id
}},[
a
(
"div"
,{
staticClass
:
"user"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
e
.
_v
(
e
.
_s
(
s
.
user
.
name
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
e
.
_v
(
e
.
_s
(
s
.
user
.
time
))]),
e
.
_v
(
" "
),
s
.
mine
?[
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-cid"
:
s
.
cid
},
on
:{
click
:
e
.
deleteComment
}},[
e
.
_v
(
"删除"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-qid"
:
e
.
discussQues
.
qid
,
"data-ansid"
:
i
.
aid
,
"data-to"
:
i
.
user
.
name
},
on
:{
click
:
e
.
callbackComment
}},[
e
.
_v
(
"回复"
)])],
2
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"text"
,
domProps
:{
innerHTML
:
e
.
_s
(
s
.
text
)}})])]})]:
e
.
_e
(),
e
.
_v
(
" "
),
i
.
comments
.
length
&&
e
.
answers
[
s
].
isShowComment
?
e
.
_e
():[
a
(
"div"
,{
staticStyle
:{
width
:
"100%"
,
height
:
"0.2rem"
}})]],
2
)]}),
e
.
_v
(
" "
),
e
.
answersList
.
length
?
e
.
_e
():[
a
(
"div"
,{
staticClass
:
"no-data"
},[
e
.
_v
(
"暂无回答"
)])],
e
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
width
:
"750rpx"
,
height
:
"200rpx"
}})],
2
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
width
:
"100%"
,
height
:
"1.7rem"
}}),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"input-publish"
},[
a
(
"textarea"
,{
attrs
:{
id
:
"editor"
}}),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
publishContent
}},[
e
.
_v
(
"发送"
)]),
a
(
"em"
,{
staticClass
:
"send"
},[
e
.
_v
(
"("
+
e
.
_s
(
e
.
inputStatus
.
placeholder
)
+
")"
)])],
1
)])},
e
=
[];
n
.
d
(
t
,
"a"
,
function
(){
return
i
}),
n
.
d
(
t
,
"b"
,
function
(){
return
e
})}}]);
\ No newline at end of file
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
17
],{
256
:
function
(
s
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
e
=
i
(
420
),
a
=
i
(
306
);
for
(
var
n
in
a
)
"default"
!==
n
&&
function
(
s
){
i
.
d
(
t
,
s
,
function
(){
return
a
[
s
]})}(
n
);
i
(
382
);
var
c
=
i
(
3
),
d
=
Object
(
c
.
a
)(
a
.
default
,
e
.
a
,
e
.
b
,
!
1
,
null
,
"0019a818"
,
null
);
d
.
options
.
__file
=
"discussDetail.vue"
,
t
.
default
=
d
.
exports
},
306
:
function
(
s
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
e
=
i
(
307
),
a
=
i
.
n
(
e
);
for
(
var
n
in
e
)
"default"
!==
n
&&
function
(
s
){
i
.
d
(
t
,
s
,
function
(){
return
e
[
s
]})}(
n
);
t
.
default
=
a
.
a
},
307
:
function
(
s
,
i
,
e
){
"use strict"
;(
function
(
r
){
Object
.
defineProperty
(
i
,
"__esModule"
,{
value
:
!
0
});
var
o
=
t
(
e
(
68
)),
s
=
t
(
e
(
250
));
function
t
(
s
){
return
s
&&
s
.
__esModule
?
s
:{
default
:
s
}}
i
.
default
=
{
props
:{
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
ckeditor
:
null
,
courseTitle
:
"课程问题"
,
discussQues
:{
qid
:
""
,
user
:{
url
:
"./icons/default.jpg"
,
name
:
"用户名000"
,
time
:
"2018-2-12 15:28:47"
},
title
:
"这是一个一句话问题这是一个一句话问题这是一个一句话问题标题这是一个一句话问题"
,
text
:
"<p>王家有三兄弟甲、乙、丙,丙幼年时送给胡某作养子,丙结婚时,胡某为其盖了新房,后因失火致使该房屋被烧毁。丙的生父母就将自己<p>"
,
askCnt
:
20
,
TouCnt
:
100
,
likeCnt
:
100
,
comCnt
:
100
,
mine
:
!
0
,
isShowComment
:
!
1
,
has_tag
:
!
1
,
tag_id
:
null
,
comments
:[{
cid
:
""
,
user
:{
url
:
""
,
name
:
"用户名000"
,
time
:
"2018-2-12 15:28:47"
},
text
:
"在线学习课程"
,
mine
:
!
0
},{
cid
:
""
,
user
:{
url
:
""
,
name
:
"用户名000"
,
time
:
"2018-2-12 15:28:47"
},
text
:
"在线学习课程"
,
mine
:
!
1
}]},
answersList
:[],
disQus
:{
isShowComment
:
!
1
},
answers
:[{
aid
:
""
,
isShowComment
:
!
1
}],
inputStatus
:{
canFocus
:
!
1
,
placeholder
:
"回答问题 ..."
,
input
:
""
},
qid
:
"6447416971762860032"
,
call
:{}}},
mounted
:
function
(){
var
e
=
this
;
this
.
call
=
{
questionId
:
this
.
id
,
semester_id
:
""
,
contents
:
""
,
question_id
:
this
.
id
,
answer
:
!
0
};
var
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
getDiscussDetail
(
this
.
id
).
then
(
function
(
s
){
e
.
discussQues
=
s
.
ques
,
e
.
call
.
semester_id
=
e
.
discussQues
.
sid
,
e
.
disQus
.
isShowComment
=
s
.
ques
.
isShowComment
;
for
(
var
t
=
[],
i
=
0
;
i
<
s
.
answer
.
length
;
i
++
)
t
.
push
({
aid
:
s
.
answer
[
i
].
aid
,
isShowComment
:
s
.
answer
[
i
].
isShowComment
});
e
.
answersList
=
s
.
answer
,
e
.
answers
=
t
}).
catch
(
function
(
s
){
e
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
s
.
close
()}),
r
(
"#editor"
).
on
(
"blur"
,
function
(){
e
.
blurInput
()})},
destroyed
:
function
(){
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
,
r
(
"#editor"
).
off
(
"blur"
)},
methods
:{
openOrcloseDis
:
function
(
s
){
if
(
"disQus"
===
s
.
currentTarget
.
dataset
.
key
)
this
.
disQus
.
isShowComment
=!
this
.
disQus
.
isShowComment
;
else
{
var
t
=
s
.
currentTarget
.
dataset
.
index
;
this
.
answers
[
t
].
isShowComment
=!
this
.
answers
[
t
].
isShowComment
}},
deleteComment
:
function
(
s
){
var
t
=
this
,
i
=
s
.
currentTarget
.
dataset
.
cid
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
deleteComment
(
i
).
then
(
function
(
s
){
t
.
updateList
(),
t
.
$message
({
type
:
"success"
,
message
:
"删除成功"
})}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
e
.
close
()})},
deleteAnswer
:
function
(
s
){
var
t
=
this
,
i
=
s
.
currentTarget
.
dataset
.
aid
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
deleteAnswer
(
i
).
then
(
function
(
s
){
t
.
updateList
(),
t
.
$message
({
type
:
"success"
,
message
:
"删除成功"
})}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
e
.
close
()})},
btnlike
:
function
(
s
){
var
t
=
this
,
i
=
s
.
currentTarget
.
dataset
,
e
=
i
.
quesid
,
a
=
i
.
ansid
,
n
=
i
.
tagid
,
c
=
i
.
sid
;
if
(
n
){
var
d
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
unlike
(
n
).
then
(
function
(
s
){
t
.
updateList
()}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
d
.
close
()})}
else
{
var
r
=
{};
e
&&
(
r
.
question_id
=
e
),
a
&&
(
r
.
answer_id
=
a
),
c
&&
(
r
.
semester_id
=
c
);
var
u
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
like
(
r
).
then
(
function
(
s
){
t
.
updateList
()}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
u
.
close
()})}},
deleteDiscuss
:
function
(){
var
t
=
this
,
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
deleteDiscuss
(
this
.
id
).
then
(
function
(
s
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功"
}),
setTimeout
(
function
(){
t
.
$router
.
go
(
-
1
)},
1
e3
)}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
s
.
close
()})},
callbackComment
:
function
(
s
){
this
.
inputStatus
.
input
=
""
;
var
t
=
s
.
currentTarget
.
dataset
,
i
=
t
.
qid
,
e
=
t
.
quesid
,
a
=
t
.
ansid
,
n
=
t
.
to
,
c
=
t
.
sid
,
d
=
{};
i
&&
(
d
.
questionId
=
i
),
n
&&
(
d
.
to
=
n
),
e
&&
(
d
.
question_id
=
e
),
a
&&
(
d
.
answer_id
=
a
),
c
&&
(
d
.
semester_id
=
c
),
this
.
call
=
d
,
this
.
inputStatus
.
placeholder
=
n
?
"回复"
+
n
+
":"
:
"回复:"
,
this
.
inputStatus
.
canFocus
=!
0
,
r
(
"#editor"
).
focus
()},
blurInput
:
function
(
s
){
this
.
inputStatus
.
canFocus
=!
1
,
r
(
"#editor"
).
val
()
||
(
this
.
inputStatus
.
placeholder
=
"回答问题 ..."
,
this
.
inputStatus
.
input
=
""
,
this
.
call
=
{
questionId
:
this
.
discussQues
.
qid
,
semester_id
:
this
.
discussQues
.
sid
,
contents
:
""
,
question_id
:
this
.
discussQues
.
qid
,
answer
:
!
0
})},
publishContent
:
function
(
s
){
var
t
=
this
,
i
=
r
(
"#editor"
).
val
();
if
(
this
.
call
.
to
?
this
.
call
.
comments
=
"回复"
+
this
.
call
.
to
+
":"
+
i
:
this
.
call
.
comments
=
i
,
this
.
call
.
answer
){
this
.
call
.
contents
=
this
.
call
.
comments
;
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
answerQues
(
this
.
call
).
then
(
function
(
s
){
t
.
updateList
(),
r
(
"#editor"
).
val
(
""
)}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
e
.
close
()})}
else
{
var
a
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
callbackComment
(
this
.
call
).
then
(
function
(
s
){
t
.
updateList
(),
r
(
"#editor"
).
val
(
""
)}).
catch
(
function
(
s
){
t
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
a
.
close
()})}},
updateList
:
function
(){
var
c
=
this
,
s
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
o
.
default
.
discussAction
.
getDiscussDetail
(
this
.
id
).
then
(
function
(
s
){
c
.
discussQues
=
s
.
ques
;
for
(
var
t
=
c
.
answers
,
i
=
0
;
i
<
t
.
length
;
i
++
)
for
(
var
e
=
0
;
e
<
s
.
answer
.
length
;
e
++
)
if
(
t
[
i
].
aid
===
s
.
answer
[
e
].
aid
){
s
.
answer
[
e
].
isShowComment
=
t
[
i
].
isShowComment
;
break
}
for
(
var
a
=
[],
n
=
0
;
n
<
s
.
answer
.
length
;
n
++
)
a
.
push
({
aid
:
s
.
answer
[
n
].
aid
,
isShowComment
:
s
.
answer
[
n
].
isShowComment
});
c
.
answersList
=
s
.
answer
,
c
.
answers
=
a
}).
catch
(
function
(
s
){
c
.
$message
.
error
(
s
.
message
)}).
finally
(
function
(){
s
.
close
()})},
initckeditor
:
function
(){
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
s
.
default
.
replace
(
"editor"
,{
height
:
100
,
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"
]}]}))}}}}).
call
(
this
,
e
(
374
))},
308
:
function
(
s
,
t
,
i
){},
382
:
function
(
s
,
t
,
i
){
"use strict"
;
var
e
=
i
(
308
);
i
.
n
(
e
).
a
},
420
:
function
(
s
,
t
,
n
){
"use strict"
;
var
i
=
function
(){
var
e
=
this
,
s
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
s
;
return
a
(
"div"
,[
a
(
"div"
,{
staticClass
:
"con-title"
},[
e
.
_v
(
"问题详情"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"con-box"
},[
a
(
"div"
,{
staticClass
:
"discuss-detail-scroll"
},[
a
(
"div"
,{
staticClass
:
"ques"
},[
a
(
"div"
,{
staticClass
:
"title"
},[
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
title
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"text"
,
domProps
:{
innerHTML
:
e
.
_s
(
e
.
discussQues
.
text
)}}),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"user"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
user
.
name
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
user
.
time
))]),
e
.
_v
(
" "
),
e
.
discussQues
.
mine
?[
a
(
"div"
,{
staticClass
:
"right-txt"
,
on
:{
click
:
e
.
deleteDiscuss
}},[
e
.
_v
(
"删除"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-qid"
:
e
.
discussQues
.
qid
,
"data-quesid"
:
e
.
discussQues
.
qid
},
on
:{
click
:
e
.
callbackComment
}},[
e
.
_v
(
"回复"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-key"
:
"disQus"
},
on
:{
click
:
e
.
openOrcloseDis
}},[
e
.
_v
(
"讨论("
+
e
.
_s
(
e
.
discussQues
.
comCnt
)
+
")"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-quesid"
:
e
.
discussQues
.
qid
,
"data-sid"
:
e
.
discussQues
.
sid
,
"data-tagid"
:
e
.
discussQues
.
tag_id
},
on
:{
click
:
e
.
btnlike
}},[
e
.
_v
(
"
\
n 点赞("
+
e
.
_s
(
e
.
discussQues
.
likeCnt
)
+
")"
)])],
2
),
e
.
_v
(
" "
),
e
.
disQus
.
isShowComment
?[
a
(
"div"
,{
staticClass
:
"ask"
},[
e
.
_l
(
e
.
discussQues
.
comments
,
function
(
s
,
t
){
return
[
a
(
"div"
,{
key
:
t
,
staticClass
:
"item-list"
,
attrs
:{
"data-id"
:
s
.
id
}},[
a
(
"div"
,{
staticClass
:
"user"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
e
.
_v
(
e
.
_s
(
s
.
user
.
name
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
e
.
_v
(
e
.
_s
(
s
.
user
.
time
))]),
e
.
_v
(
" "
),
s
.
mine
?[
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-cid"
:
s
.
cid
},
on
:{
click
:
e
.
deleteComment
}},[
e
.
_v
(
"删除"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-qid"
:
e
.
discussQues
.
qid
,
"data-quesid"
:
e
.
discussQues
.
qid
,
"data-to"
:
s
.
user
.
name
},
on
:{
click
:
e
.
callbackComment
}},[
e
.
_v
(
"回复"
)])],
2
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"text"
},[
e
.
_v
(
e
.
_s
(
s
.
text
))])])]})],
2
)]:
e
.
_e
()],
2
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"result"
},[
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
askCnt
)
+
" 回答"
),
a
(
"div"
,{
staticStyle
:{
display
:
"inline-block"
,
width
:
"0.2rem"
}}),
e
.
_v
(
e
.
_s
(
e
.
discussQues
.
TouCnt
)
+
" 投票"
)]),
e
.
_v
(
" "
),
e
.
_l
(
e
.
answersList
,
function
(
i
,
s
){
return
[
a
(
"div"
,{
key
:
s
,
staticClass
:
"ask"
},[
a
(
"div"
,{
staticClass
:
"user-1"
},[
i
.
user
.
url
?[
a
(
"img"
,{
staticClass
:
"img-1"
,
attrs
:{
src
:
i
.
user
.
url
}})]:[
a
(
"img"
,{
staticClass
:
"img-1"
,
attrs
:{
src
:
n
(
107
)}})],
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-1"
},[
a
(
"div"
,{
staticClass
:
"name-1"
},[
e
.
_v
(
e
.
_s
(
i
.
user
.
name
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time-1"
},[
e
.
_v
(
e
.
_s
(
i
.
user
.
time
))])])],
2
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"text"
,
domProps
:{
innerHTML
:
e
.
_s
(
i
.
text
)}}),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"user"
},[
i
.
mine
?[
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-aid"
:
i
.
aid
},
on
:{
click
:
e
.
deleteAnswer
}},[
e
.
_v
(
"删除"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-qid"
:
e
.
discussQues
.
qid
,
"data-ansid"
:
i
.
aid
},
on
:{
click
:
e
.
callbackComment
}},[
e
.
_v
(
"回复"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-key"
:
e
.
answers
,
"data-index"
:
s
},
on
:{
click
:
e
.
openOrcloseDis
}},[
e
.
_v
(
"讨论("
+
e
.
_s
(
i
.
comCnt
)
+
")"
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-quesid"
:
e
.
discussQues
.
qid
,
"data-ansid"
:
i
.
aid
,
"data-tagid"
:
i
.
tag_id
},
on
:{
click
:
e
.
btnlike
}},[
e
.
_v
(
"
\
n 点赞("
+
e
.
_s
(
i
.
likeCnt
)
+
")"
)])],
2
),
e
.
_v
(
" "
),
e
.
answers
[
s
].
isShowComment
?[
e
.
_l
(
i
.
comments
,
function
(
s
,
t
){
return
[
a
(
"div"
,{
key
:
t
,
staticClass
:
"item-list"
,
attrs
:{
"data-id"
:
s
.
id
}},[
a
(
"div"
,{
staticClass
:
"user"
},[
a
(
"div"
,{
staticClass
:
"name"
},[
e
.
_v
(
e
.
_s
(
s
.
user
.
name
))]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"time"
},[
e
.
_v
(
e
.
_s
(
s
.
user
.
time
))]),
e
.
_v
(
" "
),
s
.
mine
?[
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-cid"
:
s
.
cid
},
on
:{
click
:
e
.
deleteComment
}},[
e
.
_v
(
"删除"
)])]:
e
.
_e
(),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"right-txt"
,
attrs
:{
"data-sid"
:
e
.
discussQues
.
sid
,
"data-qid"
:
e
.
discussQues
.
qid
,
"data-ansid"
:
i
.
aid
,
"data-to"
:
i
.
user
.
name
},
on
:{
click
:
e
.
callbackComment
}},[
e
.
_v
(
"回复"
)])],
2
),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"text"
,
domProps
:{
innerHTML
:
e
.
_s
(
s
.
text
)}})])]})]:
e
.
_e
(),
e
.
_v
(
" "
),
i
.
comments
.
length
&&
e
.
answers
[
s
].
isShowComment
?
e
.
_e
():[
a
(
"div"
,{
staticStyle
:{
width
:
"100%"
,
height
:
"0.2rem"
}})]],
2
)]}),
e
.
_v
(
" "
),
e
.
answersList
.
length
?
e
.
_e
():[
a
(
"div"
,{
staticClass
:
"no-data"
},[
e
.
_v
(
"暂无回答"
)])],
e
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
width
:
"750rpx"
,
height
:
"200rpx"
}})],
2
)]),
e
.
_v
(
" "
),
a
(
"div"
,{
staticStyle
:{
width
:
"100%"
,
height
:
"1.7rem"
}}),
e
.
_v
(
" "
),
a
(
"div"
,{
staticClass
:
"input-publish"
},[
a
(
"textarea"
,{
attrs
:{
id
:
"editor"
}}),
e
.
_v
(
" "
),
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
publishContent
}},[
e
.
_v
(
"发送"
)]),
a
(
"em"
,{
staticClass
:
"send"
},[
e
.
_v
(
"("
+
e
.
_s
(
e
.
inputStatus
.
placeholder
)
+
")"
)])],
1
)])},
e
=
[];
n
.
d
(
t
,
"a"
,
function
(){
return
i
}),
n
.
d
(
t
,
"b"
,
function
(){
return
e
})}}]);
\ No newline at end of file
client-dist/resources/17.
43d7a69049a6
.css
→
client-dist/resources/17.
d0e004ae2be4
.css
浏览文件 @
4e156b69
.discuss-detail-scroll
.ques
[
data-v-effbd298
]
{
padding
:
0
.26rem
.3rem
;
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
);
overflow
:
hidden
}
.discuss-detail-scroll
.user
[
data-v-effbd298
]
{
margin-top
:
.15rem
;
overflow
:
hidden
}
.discuss-detail-scroll
.user
.name
[
data-v-effbd298
]
{
float
:
left
;
font-size
:
.16rem
;
color
:
#313131
;
line-height
:
.2rem
}
.discuss-detail-scroll
.user
.time
[
data-v-effbd298
]
{
float
:
left
;
margin-left
:
.4rem
;
font-size
:
.14rem
;
color
:
#a0a0a0
;
line-height
:
.2rem
}
.discuss-detail-scroll
.user
.right-txt
[
data-v-effbd298
]
{
float
:
right
;
margin-left
:
.2rem
;
font-size
:
.14rem
;
color
:
#a27c1b
;
cursor
:
pointer
}
.discuss-detail-scroll
.user
.right-txt
.img
[
data-v-effbd298
]
{
display
:
inline-block
;
margin-top
:
1px
;
width
:
.22rem
;
height
:
.2rem
}
.discuss-detail-scroll
.title
[
data-v-effbd298
]
{
margin
:
.15rem
0
;
font-size
:
.24rem
;
color
:
#313131
;
line-height
:
1.5
;
text-align
:
justify
}
.discuss-detail-scroll
.text
[
data-v-effbd298
]
{
font-size
:
.18rem
;
color
:
#535353
;
line-height
:
1.5
;
text-align
:
justify
}
.discuss-detail-scroll
.result
[
data-v-effbd298
]
{
margin-left
:
.26rem
;
margin-top
:
.15rem
;
font-size
:
.14rem
;
color
:
#313131
}
.discuss-detail-scroll
.ask
[
data-v-effbd298
]
{
position
:
relative
;
margin-top
:
.2rem
;
padding
:
0
.26rem
;
background
:
#fff
;
overflow
:
hidden
}
.discuss-detail-scroll
.ask
.user-1
[
data-v-effbd298
]
{
position
:
relative
;
overflow
:
hidden
;
margin-top
:
.25rem
;
margin-bottom
:
.15rem
}
.discuss-detail-scroll
.ask
.user-1
.img-1
[
data-v-effbd298
]
{
float
:
left
;
width
:
.6rem
;
height
:
.6rem
;
-webkit-border-radius
:
50%
;
-moz-border-radius
:
50%
;
border-radius
:
50%
}
.discuss-detail-scroll
.ask
.user-1
.right-1
[
data-v-effbd298
]
{
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%
)}
.discuss-detail-scroll
.ask
.user-1
.right-1
.name-1
[
data-v-effbd298
]
{
font-size
:
.14rem
;
color
:
#313131
;
-o-text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-break
:
break-all
}
.discuss-detail-scroll
.ask
.user-1
.right-1
.time-1
[
data-v-effbd298
]
{
margin-top
:
5px
;
font-size
:
.14rem
;
color
:
#a0a0a0
}
.discuss-detail-scroll
.item-list
[
data-v-effbd298
]
{
position
:
relative
;
padding
:
.3rem
0
;
border-bottom
:
1px
solid
#c9c9c9
}
.discuss-detail-scroll
.item-list
[
data-v-effbd298
]
:last-child
{
border-bottom
:
none
}
.discuss-detail-scroll
.item-list
.user
[
data-v-effbd298
]
{
margin-top
:
0
;
overflow
:
hidden
}
.discuss-detail-scroll
.item-list
.user
.name
[
data-v-effbd298
]
{
float
:
left
;
font-size
:
.16rem
;
color
:
#313131
;
line-height
:
.2rem
}
.discuss-detail-scroll
.item-list
.user
.time
[
data-v-effbd298
]
{
float
:
left
;
margin-left
:
.4rem
;
font-size
:
.14rem
;
color
:
#a0a0a0
;
line-height
:
.2rem
}
.discuss-detail-scroll
.item-list
.user
.right-txt
[
data-v-effbd298
]
{
float
:
right
;
margin-left
:
.2rem
;
font-size
:
.14rem
;
color
:
#a27c1b
}
.discuss-detail-scroll
.item-list
.text
[
data-v-effbd298
]
{
margin-top
:
.15rem
;
font-size
:
.16rem
;
color
:
#535353
}
.discuss-detail-scroll
.item-list
.text.on
[
data-v-effbd298
]
{
color
:
#2263d9
}
.discuss-detail-scroll
.no-data
[
data-v-effbd298
]
{
padding
:
1rem
0
;
font-size
:
.24rem
;
color
:
#c9c9c9
;
text-align
:
center
}
.input-publish
[
data-v-effbd298
]
{
position
:
fixed
;
z-index
:
2
;
height
:
1.5rem
;
left
:
200px
;
right
:
15px
;
bottom
:
0
;
padding
:
.2rem
;
background
:
#fff
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.input-publish
#editor
[
data-v-effbd298
]
{
width
:
100%
;
height
:
.7rem
;
font-size
:
18px
;
line-height
:
1.5
;
outline
:
none
}
.input-publish
.send
[
data-v-effbd298
]
{
font-size
:
14px
;
color
:
#ddd
;
margin-left
:
10px
}
.input-publish
.ask
[
data-v-effbd298
]
{
position
:
relative
;
margin
:
12px
auto
;
width
:
90%
;
height
:
56px
;
border
:
1px
solid
#dcdcdc
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.input-publish
.ask
.img
[
data-v-effbd298
]
{
position
:
absolute
;
left
:
24px
;
top
:
13px
;
width
:
28px
;
height
:
.26rem
}
.input-publish
.ask
.txt
[
data-v-effbd298
]
{
position
:
absolute
;
left
:
63px
;
top
:
0
;
height
:
54px
;
width
:
100%
;
border
:
none
;
line-height
:
2
;
font-size
:
.18rem
;
color
:
#313131
}
\ No newline at end of file
.discuss-detail-scroll
.ques
[
data-v-0019a818
]
{
padding
:
0
.26rem
.3rem
;
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
);
overflow
:
hidden
}
.discuss-detail-scroll
.user
[
data-v-0019a818
]
{
margin-top
:
.15rem
;
overflow
:
hidden
}
.discuss-detail-scroll
.user
.name
[
data-v-0019a818
]
{
float
:
left
;
font-size
:
.16rem
;
color
:
#313131
;
line-height
:
.2rem
}
.discuss-detail-scroll
.user
.time
[
data-v-0019a818
]
{
float
:
left
;
margin-left
:
.4rem
;
font-size
:
.14rem
;
color
:
#a0a0a0
;
line-height
:
.2rem
}
.discuss-detail-scroll
.user
.right-txt
[
data-v-0019a818
]
{
float
:
right
;
margin-left
:
.2rem
;
font-size
:
.14rem
;
color
:
#a27c1b
;
cursor
:
pointer
}
.discuss-detail-scroll
.user
.right-txt
.img
[
data-v-0019a818
]
{
display
:
inline-block
;
margin-top
:
1px
;
width
:
.22rem
;
height
:
.2rem
}
.discuss-detail-scroll
.title
[
data-v-0019a818
]
{
margin
:
.15rem
0
;
font-size
:
.24rem
;
color
:
#313131
;
line-height
:
1.5
;
text-align
:
justify
}
.discuss-detail-scroll
.text
[
data-v-0019a818
]
{
font-size
:
.18rem
;
color
:
#535353
;
line-height
:
1.5
;
text-align
:
justify
}
.discuss-detail-scroll
.result
[
data-v-0019a818
]
{
margin-left
:
.26rem
;
margin-top
:
.15rem
;
font-size
:
.14rem
;
color
:
#313131
}
.discuss-detail-scroll
.ask
[
data-v-0019a818
]
{
position
:
relative
;
margin-top
:
.2rem
;
padding
:
0
.26rem
;
background
:
#fff
;
overflow
:
hidden
}
.discuss-detail-scroll
.ask
.user-1
[
data-v-0019a818
]
{
position
:
relative
;
overflow
:
hidden
;
margin-top
:
.25rem
;
margin-bottom
:
.15rem
}
.discuss-detail-scroll
.ask
.user-1
.img-1
[
data-v-0019a818
]
{
float
:
left
;
width
:
.6rem
;
height
:
.6rem
;
-webkit-border-radius
:
50%
;
-moz-border-radius
:
50%
;
border-radius
:
50%
}
.discuss-detail-scroll
.ask
.user-1
.right-1
[
data-v-0019a818
]
{
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%
)}
.discuss-detail-scroll
.ask
.user-1
.right-1
.name-1
[
data-v-0019a818
]
{
font-size
:
.14rem
;
color
:
#313131
;
-o-text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-break
:
break-all
}
.discuss-detail-scroll
.ask
.user-1
.right-1
.time-1
[
data-v-0019a818
]
{
margin-top
:
5px
;
font-size
:
.14rem
;
color
:
#a0a0a0
}
.discuss-detail-scroll
.item-list
[
data-v-0019a818
]
{
position
:
relative
;
padding
:
.3rem
0
;
border-bottom
:
1px
solid
#c9c9c9
}
.discuss-detail-scroll
.item-list
[
data-v-0019a818
]
:last-child
{
border-bottom
:
none
}
.discuss-detail-scroll
.item-list
.user
[
data-v-0019a818
]
{
margin-top
:
0
;
overflow
:
hidden
}
.discuss-detail-scroll
.item-list
.user
.name
[
data-v-0019a818
]
{
float
:
left
;
font-size
:
.16rem
;
color
:
#313131
;
line-height
:
.2rem
}
.discuss-detail-scroll
.item-list
.user
.time
[
data-v-0019a818
]
{
float
:
left
;
margin-left
:
.4rem
;
font-size
:
.14rem
;
color
:
#a0a0a0
;
line-height
:
.2rem
}
.discuss-detail-scroll
.item-list
.user
.right-txt
[
data-v-0019a818
]
{
float
:
right
;
margin-left
:
.2rem
;
font-size
:
.14rem
;
color
:
#a27c1b
}
.discuss-detail-scroll
.item-list
.text
[
data-v-0019a818
]
{
margin-top
:
.15rem
;
font-size
:
.16rem
;
color
:
#535353
}
.discuss-detail-scroll
.item-list
.text.on
[
data-v-0019a818
]
{
color
:
#2263d9
}
.discuss-detail-scroll
.no-data
[
data-v-0019a818
]
{
padding
:
1rem
0
;
font-size
:
.24rem
;
color
:
#c9c9c9
;
text-align
:
center
}
.input-publish
[
data-v-0019a818
]
{
position
:
fixed
;
z-index
:
2
;
height
:
1.5rem
;
left
:
200px
;
right
:
15px
;
bottom
:
0
;
padding
:
.2rem
;
background
:
#fff
;
-webkit-box-sizing
:
border-box
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
}
.input-publish
#editor
[
data-v-0019a818
]
{
width
:
100%
;
height
:
.7rem
;
font-size
:
18px
;
line-height
:
1.5
;
outline
:
none
}
.input-publish
.send
[
data-v-0019a818
]
{
font-size
:
14px
;
color
:
#ddd
;
margin-left
:
10px
}
.input-publish
.ask
[
data-v-0019a818
]
{
position
:
relative
;
margin
:
12px
auto
;
width
:
90%
;
height
:
56px
;
border
:
1px
solid
#dcdcdc
;
-moz-box-sizing
:
border-box
;
box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
}
.input-publish
.ask
.img
[
data-v-0019a818
]
{
position
:
absolute
;
left
:
24px
;
top
:
13px
;
width
:
28px
;
height
:
.26rem
}
.input-publish
.ask
.txt
[
data-v-0019a818
]
{
position
:
absolute
;
left
:
63px
;
top
:
0
;
height
:
54px
;
width
:
100%
;
border
:
none
;
line-height
:
2
;
font-size
:
.18rem
;
color
:
#313131
}
\ No newline at end of file
client-dist/resources/26.
47711baa
.js
→
client-dist/resources/26.
ca22e961
.js
浏览文件 @
4e156b69
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
26
],{
272
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
s
=
i
(
438
),
r
=
i
(
359
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
o
=
i
(
3
),
n
=
Object
(
o
.
a
)(
r
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
null
,
null
);
n
.
options
.
__file
=
"chapterWork.vue"
,
t
.
default
=
n
.
exports
},
359
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
s
=
i
(
360
),
r
=
i
.
n
(
s
);
for
(
var
a
in
s
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
s
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
360
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
a
(
i
(
68
)),
r
=
a
(
i
(
250
));
function
a
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
t
.
default
=
{
props
:{
chapterId
:{
type
:
String
,
require
:
!
1
},
chapterWork
:{
type
:
Object
,
require
:
!
1
},
chapterName
:{
type
:
String
,
require
:
!
1
},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
ckeditor
:
null
,
successFileUrl
:
""
,
filesArr
:[],
file
:{
id
:
"WU_FILE_0"
,
name
:
""
,
type
:
""
,
lastModifiedDate
:
""
,
size
:
""
,
file
:
""
},
homeData
:{},
setTime
:
null
,
isInit
:
!
1
}},
mounted
:
function
(){
this
.
loadAjax
()},
updated
:
function
(){},
destroyed
:
function
(){
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
},
methods
:{
handleChange
:
function
(
e
,
t
){
this
.
file
.
name
=
e
.
raw
.
name
,
this
.
file
.
type
=
e
.
raw
.
type
,
this
.
file
.
lastModifiedDate
=
e
.
raw
.
lastModifiedDate
,
this
.
file
.
size
=
e
.
raw
.
size
,
this
.
file
.
file
=
e
.
raw
},
loadAjax
:
function
(){
var
t
=
this
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
getHomework
(
this
.
sid
,
this
.
id
).
then
(
function
(
e
){
t
.
homeData
=
e
}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
t
.
setTime
=
setInterval
(
function
(){
if
(
document
.
querySelector
(
"#editor-chapterWork"
)){
if
(
t
.
initckeditor
(),
t
.
homeData
.
work_contents
){
var
e
=
JSON
.
parse
(
t
.
homeData
.
work_contents
);
t
.
successFileUrl
=
e
[
0
].
file_url
,
t
.
ckeditor
.
setData
(
e
[
0
].
descreption
)}
else
t
.
successFileUrl
=
""
,
t
.
ckeditor
.
setData
(
""
);
document
.
querySelector
(
".play-paper"
).
scrollTop
=
0
,
clearInterval
(
t
.
setTime
)}},
50
),
e
.
close
()})},
submitWork
:
function
(){
var
t
=
this
;
if
(
this
.
successFileUrl
)
if
(
this
.
ckeditor
.
getData
()){
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
}),
i
=
JSON
.
stringify
([{
question_id
:
this
.
chapterWork
.
questions
[
0
].
id
,
descreption
:
this
.
ckeditor
.
getData
(),
file_url
:
this
.
successFileUrl
}]);
s
.
default
.
chapterAction
.
updateHomework
({
semester_id
:
this
.
sid
,
course_id
:
this
.
cid
,
chapter_id
:
this
.
chapterId
,
work_id
:
this
.
id
,
work_contents
:
i
,
duration
:
30
+
Math
.
floor
(
1
e3
*
Math
.
random
())}).
then
(
function
(
e
){
e
.
status
&&
(
t
.
$message
({
type
:
"success"
,
message
:
"提交成功,等待批改"
}),
t
.
loadAjax
())}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
e
.
close
()})}
else
this
.
$message
.
error
(
"请填写内容"
);
else
this
.
$message
.
error
(
"请上传附件"
)},
uploadFile
:
function
(){
var
t
=
this
;
if
(
!
/
\.(
docx
)
$/gi
.
test
(
this
.
file
.
name
))
return
this
.
$message
.
error
(
"文件格式不对,请重新上传"
),
void
this
.
filesArr
.
pop
();
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
uploadFile
(
this
.
file
).
then
(
function
(
e
){
t
.
successFileUrl
=
e
.
url
,
t
.
filesArr
.
pop
()}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
e
.
close
()})},
initckeditor
:
function
(){
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
r
.
default
.
replace
(
"editor-chapterWork"
,{
height
:
300
,
uiColor
:
"#eeeeee"
,
filebrowserImageUploadUrl
:
"/api/editor/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"
]}]}))}},
watch
:{
id
:{
handler
:
function
(){
this
.
loadAjax
()}}}}},
438
:
function
(
e
,
t
,
i
){
"use strict"
;
var
s
=
function
(){
var
i
=
this
,
e
=
i
.
$createElement
,
s
=
i
.
_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"
,[
i
.
_v
(
i
.
_s
(
i
.
chapterName
))])])]),
i
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-paper-content play-chapter-work"
},[
i
.
chapterWork
.
questions
&&
i
.
chapterWork
.
questions
.
length
?[
s
(
"ul"
,[
i
.
_l
(
i
.
chapterWork
.
questions
,
function
(
e
,
t
){
return
[
s
(
"li"
,{
key
:
t
},[
s
(
"div"
,{
staticClass
:
"work-number"
},[
i
.
_v
(
i
.
_s
(
t
+
1
)
+
"."
)]),
i
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"work-title"
},[
s
(
"div"
,{
staticClass
:
"edit_html"
,
domProps
:{
innerHTML
:
i
.
_s
(
e
.
question_content
)}})]),
i
.
_v
(
" "
),
s
(
"textarea"
,{
attrs
:{
id
:
"editor-chapterWork"
}}),
i
.
_v
(
" "
),
s
(
"div"
,{
staticStyle
:{
height
:
"20px"
}}),
i
.
_v
(
" "
),
s
(
"el-upload"
,{
ref
:
"upFile"
,
refInFor
:
!
0
,
staticClass
:
"upload-demo"
,
attrs
:{
action
:
""
,
multiple
:
!
1
,
limit
:
1
,
"show-file-list"
:
!
1
,
"on-change"
:
i
.
handleChange
,
"http-request"
:
i
.
uploadFile
,
"file-list"
:
i
.
filesArr
}},[
i
.
_v
(
"
\
n 请上传对应的文件附件:"
),
s
(
"el-button"
,{
attrs
:{
type
:
"text"
}},[
i
.
_v
(
"点击上传"
)]),
i
.
_v
(
" "
),
i
.
successFileUrl
?[
i
.
_v
(
"
\
n "
+
i
.
_s
(
i
.
successFileUrl
.
replace
(
/.*
\/([^\/]
*
\.
docx
)
$/gi
,
"$1"
))
+
"
\
n "
)]:
i
.
_e
()],
2
),
i
.
_v
(
" "
),
i
.
successFileUrl
?[
s
(
"a"
,{
attrs
:{
href
:
i
.
successFileUrl
}},[
i
.
_v
(
"下载已上传文件"
)])]:
i
.
_e
(),
i
.
_v
(
" "
),
s
(
"div"
,{
staticStyle
:{
height
:
"20px"
}}),
i
.
_v
(
" "
),
s
(
"p"
,{
staticClass
:
"help help-file"
},[
i
.
_v
(
"只支持docx格式的文件,文件小于10M"
)])],
2
)]})],
2
)]:
void
0
,
i
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"area-btns"
},[
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
disabled
:
i
.
homeData
.
checker_time
},
on
:{
click
:
i
.
submitWork
}},[
i
.
_v
(
i
.
_s
(
i
.
homeData
.
checker_time
?
"已批改"
:
"提交"
))]),
i
.
_v
(
" "
),
s
(
"span"
,{
staticClass
:
"help-info"
},[
i
.
_v
(
" 在获老师批改之前,可以多次提交,将以最后一次提交为准"
)]),
i
.
_v
(
" "
),
i
.
homeData
.
checker_time
?[
s
(
"div"
,{
staticClass
:
"play-paper-check"
},[
s
(
"h4"
,[
i
.
_v
(
"已获批改 "
),
s
(
"small"
,[
i
.
_v
(
"批改于"
+
i
.
_s
(
i
.
homeData
.
checker_time
))])]),
i
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-paper-check-item"
},[
s
(
"b"
,[
i
.
_v
(
"评分:"
)]),
i
.
_v
(
i
.
_s
(
i
.
homeData
.
score
))])])]:
i
.
homeData
.
created_time
?[
s
(
"p"
,{
staticClass
:
"help"
},[
i
.
_v
(
"已于 "
+
i
.
_s
(
i
.
homeData
.
created_time
)
+
" 提交,等待批改中"
)])]:
i
.
_e
()],
2
)],
2
)])])},
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
s
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})}}]);
\ No newline at end of file
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
26
],{
272
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
s
=
i
(
438
),
r
=
i
(
359
);
for
(
var
a
in
r
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
r
[
e
]})}(
a
);
var
o
=
i
(
3
),
n
=
Object
(
o
.
a
)(
r
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
null
,
null
);
n
.
options
.
__file
=
"chapterWork.vue"
,
t
.
default
=
n
.
exports
},
359
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
s
=
i
(
360
),
r
=
i
.
n
(
s
);
for
(
var
a
in
s
)
"default"
!==
a
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
s
[
e
]})}(
a
);
t
.
default
=
r
.
a
},
360
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
a
(
i
(
68
)),
r
=
a
(
i
(
250
));
function
a
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
t
.
default
=
{
props
:{
chapterId
:{
type
:
String
,
require
:
!
1
},
chapterWork
:{
type
:
Object
,
require
:
!
1
},
chapterName
:{
type
:
String
,
require
:
!
1
},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
ckeditor
:
null
,
successFileUrl
:
""
,
filesArr
:[],
file
:{
id
:
"WU_FILE_0"
,
name
:
""
,
type
:
""
,
lastModifiedDate
:
""
,
size
:
""
,
file
:
""
},
homeData
:{},
setTime
:
null
,
isInit
:
!
1
}},
mounted
:
function
(){
this
.
loadAjax
()},
updated
:
function
(){},
destroyed
:
function
(){
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
},
methods
:{
handleChange
:
function
(
e
,
t
){
this
.
file
.
name
=
e
.
raw
.
name
,
this
.
file
.
type
=
e
.
raw
.
type
,
this
.
file
.
lastModifiedDate
=
e
.
raw
.
lastModifiedDate
,
this
.
file
.
size
=
e
.
raw
.
size
,
this
.
file
.
file
=
e
.
raw
},
loadAjax
:
function
(){
var
t
=
this
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
getHomework
(
this
.
sid
,
this
.
id
).
then
(
function
(
e
){
t
.
homeData
=
e
}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
t
.
setTime
=
setInterval
(
function
(){
if
(
document
.
querySelector
(
"#editor-chapterWork"
)){
if
(
t
.
initckeditor
(),
t
.
homeData
.
work_contents
){
var
e
=
JSON
.
parse
(
t
.
homeData
.
work_contents
);
t
.
successFileUrl
=
e
[
0
].
file_url
,
t
.
ckeditor
.
setData
(
e
[
0
].
descreption
)}
else
t
.
successFileUrl
=
""
,
t
.
ckeditor
.
setData
(
""
);
document
.
querySelector
(
".play-paper"
).
scrollTop
=
0
,
clearInterval
(
t
.
setTime
)}},
50
),
e
.
close
()})},
submitWork
:
function
(){
var
t
=
this
;
if
(
this
.
successFileUrl
)
if
(
this
.
ckeditor
.
getData
()){
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
}),
i
=
JSON
.
stringify
([{
question_id
:
this
.
chapterWork
.
questions
[
0
].
id
,
descreption
:
this
.
ckeditor
.
getData
(),
file_url
:
this
.
successFileUrl
}]);
s
.
default
.
chapterAction
.
updateHomework
({
semester_id
:
this
.
sid
,
course_id
:
this
.
cid
,
chapter_id
:
this
.
chapterId
,
work_id
:
this
.
id
,
work_contents
:
i
,
duration
:
30
+
Math
.
floor
(
1
e3
*
Math
.
random
())}).
then
(
function
(
e
){
e
.
status
&&
(
t
.
$message
({
type
:
"success"
,
message
:
"提交成功,等待批改"
}),
t
.
loadAjax
())}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
e
.
close
()})}
else
this
.
$message
.
error
(
"请填写内容"
);
else
this
.
$message
.
error
(
"请上传附件"
)},
uploadFile
:
function
(){
var
t
=
this
;
if
(
!
/
\.(
docx
)
$/gi
.
test
(
this
.
file
.
name
))
return
this
.
$message
.
error
(
"文件格式不对,请重新上传"
),
void
this
.
filesArr
.
pop
();
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
uploadFile
(
this
.
file
).
then
(
function
(
e
){
t
.
successFileUrl
=
e
.
url
,
t
.
filesArr
.
pop
()}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
e
.
close
()})},
initckeditor
:
function
(){
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
r
.
default
.
replace
(
"editor-chapterWork"
,{
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"
]}]}))}},
watch
:{
id
:{
handler
:
function
(){
this
.
loadAjax
()}}}}},
438
:
function
(
e
,
t
,
i
){
"use strict"
;
var
s
=
function
(){
var
i
=
this
,
e
=
i
.
$createElement
,
s
=
i
.
_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"
,[
i
.
_v
(
i
.
_s
(
i
.
chapterName
))])])]),
i
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-paper-content play-chapter-work"
},[
i
.
chapterWork
.
questions
&&
i
.
chapterWork
.
questions
.
length
?[
s
(
"ul"
,[
i
.
_l
(
i
.
chapterWork
.
questions
,
function
(
e
,
t
){
return
[
s
(
"li"
,{
key
:
t
},[
s
(
"div"
,{
staticClass
:
"work-number"
},[
i
.
_v
(
i
.
_s
(
t
+
1
)
+
"."
)]),
i
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"work-title"
},[
s
(
"div"
,{
staticClass
:
"edit_html"
,
domProps
:{
innerHTML
:
i
.
_s
(
e
.
question_content
)}})]),
i
.
_v
(
" "
),
s
(
"textarea"
,{
attrs
:{
id
:
"editor-chapterWork"
}}),
i
.
_v
(
" "
),
s
(
"div"
,{
staticStyle
:{
height
:
"20px"
}}),
i
.
_v
(
" "
),
s
(
"el-upload"
,{
ref
:
"upFile"
,
refInFor
:
!
0
,
staticClass
:
"upload-demo"
,
attrs
:{
action
:
""
,
multiple
:
!
1
,
limit
:
1
,
"show-file-list"
:
!
1
,
"on-change"
:
i
.
handleChange
,
"http-request"
:
i
.
uploadFile
,
"file-list"
:
i
.
filesArr
}},[
i
.
_v
(
"
\
n 请上传对应的文件附件:"
),
s
(
"el-button"
,{
attrs
:{
type
:
"text"
}},[
i
.
_v
(
"点击上传"
)]),
i
.
_v
(
" "
),
i
.
successFileUrl
?[
i
.
_v
(
"
\
n "
+
i
.
_s
(
i
.
successFileUrl
.
replace
(
/.*
\/([^\/]
*
\.
docx
)
$/gi
,
"$1"
))
+
"
\
n "
)]:
i
.
_e
()],
2
),
i
.
_v
(
" "
),
i
.
successFileUrl
?[
s
(
"a"
,{
attrs
:{
href
:
i
.
successFileUrl
}},[
i
.
_v
(
"下载已上传文件"
)])]:
i
.
_e
(),
i
.
_v
(
" "
),
s
(
"div"
,{
staticStyle
:{
height
:
"20px"
}}),
i
.
_v
(
" "
),
s
(
"p"
,{
staticClass
:
"help help-file"
},[
i
.
_v
(
"只支持docx格式的文件,文件小于10M"
)])],
2
)]})],
2
)]:
void
0
,
i
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"area-btns"
},[
s
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
disabled
:
i
.
homeData
.
checker_time
},
on
:{
click
:
i
.
submitWork
}},[
i
.
_v
(
i
.
_s
(
i
.
homeData
.
checker_time
?
"已批改"
:
"提交"
))]),
i
.
_v
(
" "
),
s
(
"span"
,{
staticClass
:
"help-info"
},[
i
.
_v
(
" 在获老师批改之前,可以多次提交,将以最后一次提交为准"
)]),
i
.
_v
(
" "
),
i
.
homeData
.
checker_time
?[
s
(
"div"
,{
staticClass
:
"play-paper-check"
},[
s
(
"h4"
,[
i
.
_v
(
"已获批改 "
),
s
(
"small"
,[
i
.
_v
(
"批改于"
+
i
.
_s
(
i
.
homeData
.
checker_time
))])]),
i
.
_v
(
" "
),
s
(
"div"
,{
staticClass
:
"play-paper-check-item"
},[
s
(
"b"
,[
i
.
_v
(
"评分:"
)]),
i
.
_v
(
i
.
_s
(
i
.
homeData
.
score
))])])]:
i
.
homeData
.
created_time
?[
s
(
"p"
,{
staticClass
:
"help"
},[
i
.
_v
(
"已于 "
+
i
.
_s
(
i
.
homeData
.
created_time
)
+
" 提交,等待批改中"
)])]:
i
.
_e
()],
2
)],
2
)])])},
r
=
[];
i
.
d
(
t
,
"a"
,
function
(){
return
s
}),
i
.
d
(
t
,
"b"
,
function
(){
return
r
})}}]);
\ No newline at end of file
client-dist/resources/28.
f7d39fd0
.js
→
client-dist/resources/28.
870b4f34
.js
浏览文件 @
4e156b69
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
28
],{
274
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
s
=
i
(
412
),
a
=
i
(
363
);
for
(
var
r
in
a
)
"default"
!==
r
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
a
[
e
]})}(
r
);
var
l
=
i
(
3
),
o
=
Object
(
l
.
a
)(
a
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
null
,
null
);
o
.
options
.
__file
=
"courseWork.vue"
,
t
.
default
=
o
.
exports
},
363
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
s
=
i
(
364
),
a
=
i
.
n
(
s
);
for
(
var
r
in
s
)
"default"
!==
r
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
s
[
e
]})}(
r
);
t
.
default
=
a
.
a
},
364
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
r
(
i
(
68
)),
a
=
r
(
i
(
250
));
function
r
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
t
.
default
=
{
props
:{
courseWork
:{
type
:
Object
,
require
:
!
1
},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
ckeditor
:
null
,
successFileUrl
:
""
,
title
:
""
,
filesArr
:[],
file
:{
id
:
"WU_FILE_0"
,
name
:
""
,
type
:
""
,
lastModifiedDate
:
""
,
size
:
""
,
file
:
""
},
homeData
:{},
setTime
:
null
,
isInit
:
!
1
}},
mounted
:
function
(){
this
.
loadAjax
()},
updated
:
function
(){},
destroyed
:
function
(){
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
},
methods
:{
handleChange
:
function
(
e
,
t
){
this
.
file
.
name
=
e
.
raw
.
name
,
this
.
file
.
type
=
e
.
raw
.
type
,
this
.
file
.
lastModifiedDate
=
e
.
raw
.
lastModifiedDate
,
this
.
file
.
size
=
e
.
raw
.
size
,
this
.
file
.
file
=
e
.
raw
},
loadAjax
:
function
(){
var
t
=
this
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
getCourseHomework
(
this
.
sid
,
this
.
cid
).
then
(
function
(
e
){
t
.
homeData
=
e
}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
t
.
setTime
=
setInterval
(
function
(){
if
(
document
.
querySelector
(
"#editor-courseWork"
)){
if
(
t
.
initckeditor
(),
t
.
homeData
.
course_id
){
var
e
=
t
.
homeData
;
t
.
successFileUrl
=
e
.
file_url
,
t
.
ckeditor
.
setData
(
e
.
essay_description
),
t
.
title
=
e
.
essay_name
}
clearInterval
(
t
.
setTime
)}},
50
),
e
.
close
()})},
submitWork
:
function
(){
var
t
=
this
;
if
(
this
.
title
)
if
(
this
.
successFileUrl
)
if
(
this
.
ckeditor
.
getData
()){
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
updateCourseHomework
(
this
.
sid
,
this
.
cid
,{
essay_name
:
this
.
title
,
essay_description
:
this
.
ckeditor
.
getData
(),
url
:
this
.
successFileUrl
,
course_id
:
this
.
cid
,
semester_id
:
this
.
sid
}).
then
(
function
(
e
){
e
.
status
&&
(
t
.
$message
({
type
:
"success"
,
message
:
"提交成功,等待批改"
}),
t
.
loadAjax
())}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
e
.
close
()})}
else
this
.
$message
.
error
(
"请填写内容"
);
else
this
.
$message
.
error
(
"请上传附件"
);
else
this
.
$message
.
error
(
"请输入主题"
)},
uploadFile
:
function
(){
var
t
=
this
;
if
(
!
/
\.(
docx
)
$/gi
.
test
(
this
.
file
.
name
))
return
this
.
$message
.
error
(
"文件格式不对,请重新上传"
),
void
this
.
filesArr
.
pop
();
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
uploadFile
(
this
.
file
).
then
(
function
(
e
){
t
.
successFileUrl
=
e
.
url
,
t
.
filesArr
.
pop
()}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
e
.
close
()})},
initckeditor
:
function
(){
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
a
.
default
.
replace
(
"editor-courseWork"
,{
height
:
300
,
uiColor
:
"#eeeeee"
,
filebrowserImageUploadUrl
:
"/api/editor/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"
]}]}))}}}},
412
:
function
(
e
,
t
,
i
){
"use strict"
;
var
s
=
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
i
=
t
.
_self
.
_c
||
e
;
return
i
(
"div"
,{
staticClass
:
"play-paper"
},[
i
(
"div"
,{
staticClass
:
"play-paper-body"
},[
t
.
_m
(
0
),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-paper-content"
},[
i
(
"div"
,{
staticClass
:
"play-paper-step"
},[
t
.
_v
(
"① 阅读大作业要求"
)]),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"edit_html"
,
domProps
:{
innerHTML
:
t
.
_s
(
t
.
courseWork
.
curriculum_essay
||
""
)}}),
t
.
_v
(
" "
),
i
(
"p"
,[
t
.
_v
(
"截止日期:"
+
t
.
_s
(
t
.
courseWork
.
essay_date
||
""
))]),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-paper-step"
},[
t
.
_v
(
"② 填写作业主题、摘要,上传附件(点击“提交”保存)"
)]),
t
.
_v
(
" "
),
t
.
courseWork
.
curriculum_name
?[
i
(
"el-input"
,{
attrs
:{
type
:
"text"
,
placeholder
:
"主题"
},
model
:{
value
:
t
.
title
,
callback
:
function
(
e
){
t
.
title
=
e
},
expression
:
"title"
}}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
"font-size"
:
"20px"
}},[
t
.
_v
(
"摘要"
)]),
t
.
_v
(
" "
),
i
(
"textarea"
,{
attrs
:{
id
:
"editor-courseWork"
}}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
height
:
"20px"
}}),
t
.
_v
(
" "
),
i
(
"el-upload"
,{
ref
:
"upFile"
,
staticClass
:
"upload-demo"
,
attrs
:{
action
:
""
,
multiple
:
!
1
,
limit
:
1
,
"show-file-list"
:
!
1
,
"on-change"
:
t
.
handleChange
,
"http-request"
:
t
.
uploadFile
,
"file-list"
:
t
.
filesArr
}},[
t
.
_v
(
"
\
n 请上传对应的文件附件:"
),
i
(
"el-button"
,{
attrs
:{
type
:
"text"
}},[
t
.
_v
(
"点击上传"
)]),
t
.
_v
(
" "
),
t
.
successFileUrl
?[
t
.
_v
(
"
\
n "
+
t
.
_s
(
t
.
successFileUrl
.
replace
(
/.*
\/([^\/]
*
\.
docx
)
$/gi
,
"$1"
))
+
"
\
n "
)]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
t
.
successFileUrl
?[
i
(
"a"
,{
attrs
:{
href
:
t
.
successFileUrl
}},[
t
.
_v
(
"下载已上传文件"
)])]:
t
.
_e
(),
t
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
height
:
"20px"
}}),
t
.
_v
(
" "
),
i
(
"p"
,{
staticClass
:
"help help-file"
},[
t
.
_v
(
"只支持docx格式的文件,文件小于10M"
)])]:
void
0
,
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"area-btns"
},[
i
(
"div"
,{
staticClass
:
"play-paper-step"
},[
t
.
_v
(
"③ 截止日期前提交"
)]),
t
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
disabled
:
t
.
homeData
.
check_date
},
on
:{
click
:
t
.
submitWork
}},[
t
.
_v
(
t
.
_s
(
t
.
homeData
.
check_date
?
"已批改"
:
"提交"
))]),
t
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"help-info"
},[
t
.
_v
(
" 在获老师批改之前,可以多次提交,将以最后一次提交为准"
)]),
t
.
_v
(
" "
),
t
.
homeData
.
check_date
?[
i
(
"div"
,{
staticClass
:
"play-paper-check"
},[
i
(
"h4"
,[
t
.
_v
(
"已获批改 "
),
i
(
"small"
,[
t
.
_v
(
"批改于"
+
t
.
_s
(
t
.
homeData
.
check_date
))])]),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-paper-check-item"
},[
i
(
"b"
,[
t
.
_v
(
"评分:"
)]),
t
.
_v
(
t
.
_s
(
t
.
homeData
.
score
))])])]:
t
.
homeData
.
created_time
?[
i
(
"p"
,{
staticClass
:
"help"
},[
t
.
_v
(
"已于 "
+
t
.
_s
(
t
.
homeData
.
created_time
)
+
" 提交,等待批改中"
)]),
t
.
_v
(
" "
),
t
.
homeData
.
updated_time
!==
t
.
homeData
.
created_time
?[
i
(
"p"
,{
staticClass
:
"help"
},[
t
.
_v
(
"(最后一次提交时间: "
+
t
.
_s
(
t
.
homeData
.
updated_time
)
+
")"
)])]:
t
.
_e
()]:
t
.
_e
()],
2
)],
2
)])])},
a
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
staticClass
:
"play-paper-title"
},[
t
(
"div"
,[
t
(
"h3"
,[
this
.
_v
(
"课程大作业"
)])])])}];
i
.
d
(
t
,
"a"
,
function
(){
return
s
}),
i
.
d
(
t
,
"b"
,
function
(){
return
a
})}}]);
\ No newline at end of file
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
28
],{
274
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
s
=
i
(
412
),
a
=
i
(
363
);
for
(
var
r
in
a
)
"default"
!==
r
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
a
[
e
]})}(
r
);
var
l
=
i
(
3
),
o
=
Object
(
l
.
a
)(
a
.
default
,
s
.
a
,
s
.
b
,
!
1
,
null
,
null
,
null
);
o
.
options
.
__file
=
"courseWork.vue"
,
t
.
default
=
o
.
exports
},
363
:
function
(
e
,
t
,
i
){
"use strict"
;
i
.
r
(
t
);
var
s
=
i
(
364
),
a
=
i
.
n
(
s
);
for
(
var
r
in
s
)
"default"
!==
r
&&
function
(
e
){
i
.
d
(
t
,
e
,
function
(){
return
s
[
e
]})}(
r
);
t
.
default
=
a
.
a
},
364
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
r
(
i
(
68
)),
a
=
r
(
i
(
250
));
function
r
(
e
){
return
e
&&
e
.
__esModule
?
e
:{
default
:
e
}}
t
.
default
=
{
props
:{
courseWork
:{
type
:
Object
,
require
:
!
1
},
sid
:{
type
:
String
,
require
:
!
1
},
cid
:{
type
:
String
,
require
:
!
1
},
id
:{
type
:
String
,
require
:
!
1
}},
data
:
function
(){
return
{
ckeditor
:
null
,
successFileUrl
:
""
,
title
:
""
,
filesArr
:[],
file
:{
id
:
"WU_FILE_0"
,
name
:
""
,
type
:
""
,
lastModifiedDate
:
""
,
size
:
""
,
file
:
""
},
homeData
:{},
setTime
:
null
,
isInit
:
!
1
}},
mounted
:
function
(){
this
.
loadAjax
()},
updated
:
function
(){},
destroyed
:
function
(){
this
.
ckeditor
&&
this
.
ckeditor
.
destroy
(
!
0
),
this
.
ckeditor
=
null
},
methods
:{
handleChange
:
function
(
e
,
t
){
this
.
file
.
name
=
e
.
raw
.
name
,
this
.
file
.
type
=
e
.
raw
.
type
,
this
.
file
.
lastModifiedDate
=
e
.
raw
.
lastModifiedDate
,
this
.
file
.
size
=
e
.
raw
.
size
,
this
.
file
.
file
=
e
.
raw
},
loadAjax
:
function
(){
var
t
=
this
,
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
getCourseHomework
(
this
.
sid
,
this
.
cid
).
then
(
function
(
e
){
t
.
homeData
=
e
}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
t
.
setTime
=
setInterval
(
function
(){
if
(
document
.
querySelector
(
"#editor-courseWork"
)){
if
(
t
.
initckeditor
(),
t
.
homeData
.
course_id
){
var
e
=
t
.
homeData
;
t
.
successFileUrl
=
e
.
file_url
,
t
.
ckeditor
.
setData
(
e
.
essay_description
),
t
.
title
=
e
.
essay_name
}
clearInterval
(
t
.
setTime
)}},
50
),
e
.
close
()})},
submitWork
:
function
(){
var
t
=
this
;
if
(
this
.
title
)
if
(
this
.
successFileUrl
)
if
(
this
.
ckeditor
.
getData
()){
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
updateCourseHomework
(
this
.
sid
,
this
.
cid
,{
essay_name
:
this
.
title
,
essay_description
:
this
.
ckeditor
.
getData
(),
url
:
this
.
successFileUrl
,
course_id
:
this
.
cid
,
semester_id
:
this
.
sid
}).
then
(
function
(
e
){
e
.
status
&&
(
t
.
$message
({
type
:
"success"
,
message
:
"提交成功,等待批改"
}),
t
.
loadAjax
())}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
e
.
close
()})}
else
this
.
$message
.
error
(
"请填写内容"
);
else
this
.
$message
.
error
(
"请上传附件"
);
else
this
.
$message
.
error
(
"请输入主题"
)},
uploadFile
:
function
(){
var
t
=
this
;
if
(
!
/
\.(
docx
)
$/gi
.
test
(
this
.
file
.
name
))
return
this
.
$message
.
error
(
"文件格式不对,请重新上传"
),
void
this
.
filesArr
.
pop
();
var
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
s
.
default
.
chapterAction
.
uploadFile
(
this
.
file
).
then
(
function
(
e
){
t
.
successFileUrl
=
e
.
url
,
t
.
filesArr
.
pop
()}).
catch
(
function
(
e
){
t
.
filesArr
.
pop
(),
t
.
$message
.
error
(
e
.
message
)}).
finally
(
function
(){
e
.
close
()})},
initckeditor
:
function
(){
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
a
.
default
.
replace
(
"editor-courseWork"
,{
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"
]}]}))}}}},
412
:
function
(
e
,
t
,
i
){
"use strict"
;
var
s
=
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
i
=
t
.
_self
.
_c
||
e
;
return
i
(
"div"
,{
staticClass
:
"play-paper"
},[
i
(
"div"
,{
staticClass
:
"play-paper-body"
},[
t
.
_m
(
0
),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-paper-content"
},[
i
(
"div"
,{
staticClass
:
"play-paper-step"
},[
t
.
_v
(
"① 阅读大作业要求"
)]),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"edit_html"
,
domProps
:{
innerHTML
:
t
.
_s
(
t
.
courseWork
.
curriculum_essay
||
""
)}}),
t
.
_v
(
" "
),
i
(
"p"
,[
t
.
_v
(
"截止日期:"
+
t
.
_s
(
t
.
courseWork
.
essay_date
||
""
))]),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-paper-step"
},[
t
.
_v
(
"② 填写作业主题、摘要,上传附件(点击“提交”保存)"
)]),
t
.
_v
(
" "
),
t
.
courseWork
.
curriculum_name
?[
i
(
"el-input"
,{
attrs
:{
type
:
"text"
,
placeholder
:
"主题"
},
model
:{
value
:
t
.
title
,
callback
:
function
(
e
){
t
.
title
=
e
},
expression
:
"title"
}}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
"font-size"
:
"20px"
}},[
t
.
_v
(
"摘要"
)]),
t
.
_v
(
" "
),
i
(
"textarea"
,{
attrs
:{
id
:
"editor-courseWork"
}}),
t
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
height
:
"20px"
}}),
t
.
_v
(
" "
),
i
(
"el-upload"
,{
ref
:
"upFile"
,
staticClass
:
"upload-demo"
,
attrs
:{
action
:
""
,
multiple
:
!
1
,
limit
:
1
,
"show-file-list"
:
!
1
,
"on-change"
:
t
.
handleChange
,
"http-request"
:
t
.
uploadFile
,
"file-list"
:
t
.
filesArr
}},[
t
.
_v
(
"
\
n 请上传对应的文件附件:"
),
i
(
"el-button"
,{
attrs
:{
type
:
"text"
}},[
t
.
_v
(
"点击上传"
)]),
t
.
_v
(
" "
),
t
.
successFileUrl
?[
t
.
_v
(
"
\
n "
+
t
.
_s
(
t
.
successFileUrl
.
replace
(
/.*
\/([^\/]
*
\.
docx
)
$/gi
,
"$1"
))
+
"
\
n "
)]:
t
.
_e
()],
2
),
t
.
_v
(
" "
),
t
.
successFileUrl
?[
i
(
"a"
,{
attrs
:{
href
:
t
.
successFileUrl
}},[
t
.
_v
(
"下载已上传文件"
)])]:
t
.
_e
(),
t
.
_v
(
" "
),
i
(
"div"
,{
staticStyle
:{
height
:
"20px"
}}),
t
.
_v
(
" "
),
i
(
"p"
,{
staticClass
:
"help help-file"
},[
t
.
_v
(
"只支持docx格式的文件,文件小于10M"
)])]:
void
0
,
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"area-btns"
},[
i
(
"div"
,{
staticClass
:
"play-paper-step"
},[
t
.
_v
(
"③ 截止日期前提交"
)]),
t
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
disabled
:
t
.
homeData
.
check_date
},
on
:{
click
:
t
.
submitWork
}},[
t
.
_v
(
t
.
_s
(
t
.
homeData
.
check_date
?
"已批改"
:
"提交"
))]),
t
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"help-info"
},[
t
.
_v
(
" 在获老师批改之前,可以多次提交,将以最后一次提交为准"
)]),
t
.
_v
(
" "
),
t
.
homeData
.
check_date
?[
i
(
"div"
,{
staticClass
:
"play-paper-check"
},[
i
(
"h4"
,[
t
.
_v
(
"已获批改 "
),
i
(
"small"
,[
t
.
_v
(
"批改于"
+
t
.
_s
(
t
.
homeData
.
check_date
))])]),
t
.
_v
(
" "
),
i
(
"div"
,{
staticClass
:
"play-paper-check-item"
},[
i
(
"b"
,[
t
.
_v
(
"评分:"
)]),
t
.
_v
(
t
.
_s
(
t
.
homeData
.
score
))])])]:
t
.
homeData
.
created_time
?[
i
(
"p"
,{
staticClass
:
"help"
},[
t
.
_v
(
"已于 "
+
t
.
_s
(
t
.
homeData
.
created_time
)
+
" 提交,等待批改中"
)]),
t
.
_v
(
" "
),
t
.
homeData
.
updated_time
!==
t
.
homeData
.
created_time
?[
i
(
"p"
,{
staticClass
:
"help"
},[
t
.
_v
(
"(最后一次提交时间: "
+
t
.
_s
(
t
.
homeData
.
updated_time
)
+
")"
)])]:
t
.
_e
()]:
t
.
_e
()],
2
)],
2
)])])},
a
=
[
function
(){
var
e
=
this
.
$createElement
,
t
=
this
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
staticClass
:
"play-paper-title"
},[
t
(
"div"
,[
t
(
"h3"
,[
this
.
_v
(
"课程大作业"
)])])])}];
i
.
d
(
t
,
"a"
,
function
(){
return
s
}),
i
.
d
(
t
,
"b"
,
function
(){
return
a
})}}]);
\ No newline at end of file
client-dist/resources/6.9
9a37f54610a
.css
→
client-dist/resources/6.9
c478d8110d6
.css
浏览文件 @
4e156b69
.tab-pane
[
data-v-1d8953da
]
{
display
:
block
;
height
:
100%
;
overflow
:
auto
}
.tab-pane
.chapter-list
[
data-v-1d8953da
]
{
margin
:
0
;
padding
:
0
;
line-height
:
1.6
;
overflow
:
hidden
}
.tab-pane
.chapter-list
.chapter-item
h4
[
data-v-1d8953da
]
{
padding
:
10px
22px
;
margin
:
0
;
font-size
:
15px
;
color
:
#b0b0b0
;
background-color
:
#2f2f2f
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
[
data-v-1d8953da
]
{
margin
:
0
;
padding
:
0
;
line-height
:
1.6
;
overflow
:
hidden
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-1d8953da
]
{
position
:
relative
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
.on
[
data-v-1d8953da
]
{
background
:
#3c3c3c
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
.on
a
[
data-v-1d8953da
]
{
color
:
#b49441
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-1d8953da
]
:hover
{
background
:
#3c3c3c
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-1d8953da
]
: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-1d8953da
]
: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-1d8953da
]
{
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-1d8953da
]
{
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
{
visible
:
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
}
.right-ctrl
[
data-v-567f3172
]
{
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-567f3172
]
{
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-567f3172
]
{
position
:
absolute
;
top
:
50%
;
left
:
0
;
width
:
19px
;
margin-top
:
-10px
;
text-align
:
center
;
color
:
#fff
}
.right-ctrl
.ctrl-pl
[
data-v-567f3172
]
{
position
:
relative
;
height
:
100%
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
[
data-v-567f3172
]
{
margin
:
0
;
padding
:
15px
0
;
line-height
:
1.6
;
background-color
:
#232323
;
overflow
:
hidden
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
[
data-v-567f3172
]
{
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-567f3172
]
{
color
:
#909090
;
text-decoration
:
none
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
.on
a
[
data-v-567f3172
]
{
color
:
#b49441
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
.br-l-line
[
data-v-567f3172
]
{
border-left
:
1px
solid
#3f3f3f
}
.right-ctrl
.ctrl-pl
.pl-tab-bd
[
data-v-567f3172
]
{
height
:
94%
}
\ No newline at end of file
.tab-pane
[
data-v-1d8953da
]
{
display
:
block
;
height
:
100%
;
overflow
:
auto
}
.tab-pane
.chapter-list
[
data-v-1d8953da
]
{
margin
:
0
;
padding
:
0
;
line-height
:
1.6
;
overflow
:
hidden
}
.tab-pane
.chapter-list
.chapter-item
h4
[
data-v-1d8953da
]
{
padding
:
10px
22px
;
margin
:
0
;
font-size
:
15px
;
color
:
#b0b0b0
;
background-color
:
#2f2f2f
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
[
data-v-1d8953da
]
{
margin
:
0
;
padding
:
0
;
line-height
:
1.6
;
overflow
:
hidden
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-1d8953da
]
{
position
:
relative
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
.on
[
data-v-1d8953da
]
{
background
:
#3c3c3c
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
.on
a
[
data-v-1d8953da
]
{
color
:
#b49441
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-1d8953da
]
:hover
{
background
:
#3c3c3c
}
.tab-pane
.chapter-list
.chapter-item
.knot-list
li
[
data-v-1d8953da
]
: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-1d8953da
]
: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-1d8953da
]
{
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-1d8953da
]
{
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
{
visible
:
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
}
.right-ctrl
[
data-v-7fd0de21
]
{
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-7fd0de21
]
{
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-7fd0de21
]
{
position
:
absolute
;
top
:
50%
;
left
:
0
;
width
:
19px
;
margin-top
:
-10px
;
text-align
:
center
;
color
:
#fff
}
.right-ctrl
.ctrl-pl
[
data-v-7fd0de21
]
{
position
:
relative
;
height
:
100%
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
[
data-v-7fd0de21
]
{
margin
:
0
;
padding
:
15px
0
;
line-height
:
1.6
;
background-color
:
#232323
;
overflow
:
hidden
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
[
data-v-7fd0de21
]
{
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-7fd0de21
]
{
color
:
#909090
;
text-decoration
:
none
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
li
.on
a
[
data-v-7fd0de21
]
{
color
:
#b49441
}
.right-ctrl
.ctrl-pl
.pl-tab-hd
.br-l-line
[
data-v-7fd0de21
]
{
border-left
:
1px
solid
#3f3f3f
}
.right-ctrl
.ctrl-pl
.pl-tab-bd
[
data-v-7fd0de21
]
{
height
:
94%
}
\ No newline at end of file
client-dist/resources/6.
c31d0af8
.js
→
client-dist/resources/6.
d322d54c
.js
浏览文件 @
4e156b69
(
window
.
webpackJsonp
=
window
.
webpackJsonp
||
[]).
push
([[
6
],{
267
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
432
),
s
=
r
(
338
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
396
);
var
n
=
r
(
3
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"567f3172"
,
null
);
c
.
options
.
__file
=
"index.vue"
,
e
.
default
=
c
.
exports
},
338
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
339
),
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
},
339
:
function
(
t
,
e
,
r
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
n
=
i
(
r
(
68
)),
c
=
i
(
r
(
12
)),
a
=
i
(
r
(
392
)),
s
=
i
(
r
(
394
));
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
}},
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)"
});
n
.
default
.
chapterAction
.
getCurrentChapterDetail
(
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
i
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
n
.
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
&&
n
.
default
.
chapterAction
.
getProgress
(
a
.
id
,
c
.
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
(){
i
.
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)"
});
n
.
default
.
chapterAction
.
getCurrentChapterDetail
(
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
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
n
.
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
&&
n
.
default
.
chapterAction
.
getProgress
(
r
.
id
,
c
.
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
(){
e
.
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
(
t
){
var
e
=
this
;
t
.
cpt
&&
n
.
default
.
chapterAction
.
updateProgress
({
d
:
c
.
default
.
other
.
getIdt
(),
i
:
c
.
default
.
other
.
getIdt
(),
c
:
this
.
cid
,
s
:
this
.
sid
,
v
:
this
.
id
,
_p
:
parseInt
(
t
.
pt
),
_m
:
parseInt
(
t
.
mpt
),
_c
:
parseInt
(
t
.
cpt
)}).
then
(
function
(
t
){}).
catch
(
function
(
t
){
e
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){})}}}},
340
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
341
),
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
},
341
:
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
.
sid
,
a
=
this
.
cid
,
s
=
e
.
vid
;
if
(
!
e
.
hasva
){
var
i
=
e
.
index
,
n
=
e
.
index1
,
c
=
this
.
list
.
course
[
i
];
return
c
&&
c
.
chapters
[
n
]?
void
(
"course_info"
===
c
.
chapters
[
n
].
id
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/course-info/course_info"
}):
"course_work"
===
c
.
chapters
[
n
].
id
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/course-work/course_work"
}):
3
===
c
.
chapters
[
n
].
type
?
1
===
c
.
chapters
[
n
].
work_type
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/chapter-exam/"
+
s
}):
2
===
c
.
chapters
[
n
].
work_type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/chapter-work/"
+
s
}):
4
===
c
.
chapters
[
n
].
type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/chapter-read/"
+
s
})):
void
this
.
$message
.
error
(
"系统未知错误,001"
)}
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/chapter-video/"
+
s
})}}}},
342
:
function
(
t
,
e
,
r
){},
343
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
344
),
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
},
344
:
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
))}}}},
345
:
function
(
t
,
e
,
r
){},
346
:
function
(
t
,
e
,
r
){},
392
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
435
),
s
=
r
(
340
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
393
);
var
n
=
r
(
3
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"1d8953da"
,
null
);
c
.
options
.
__file
=
"sideChapterList.vue"
,
e
.
default
=
c
.
exports
},
393
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
342
);
r
.
n
(
a
).
a
},
394
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
433
),
s
=
r
(
343
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
395
);
var
n
=
r
(
3
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"8ec544e6"
,
null
);
c
.
options
.
__file
=
"sideChapterPpt.vue"
,
e
.
default
=
c
.
exports
},
395
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
345
);
r
.
n
(
a
).
a
},
396
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
346
);
r
.
n
(
a
).
a
},
432
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
function
(){
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
.
sid
+
"/"
+
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
},
on
:{
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
){
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
){
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
){
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
){
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
){
e
.
changeSideBar
(
e
.
SIDEBAR_PPT
)}}},[
r
(
"i"
,{
staticClass
:
"el-icon-self-PPT"
}),
e
.
_v
(
" "
),
r
(
"div"
,[
e
.
_v
(
"讲义"
)])])]:
e
.
_e
()],
2
)]],
2
)},
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})},
433
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
function
(){
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
)])},
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})},
435
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
function
(){
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-hasVA"
:
t
.
time
,
"data-index"
:
r
,
"data-index1"
:
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
)])},
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
],{
267
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
432
),
s
=
r
(
338
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
396
);
var
n
=
r
(
3
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"7fd0de21"
,
null
);
c
.
options
.
__file
=
"index.vue"
,
e
.
default
=
c
.
exports
},
338
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
339
),
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
},
339
:
function
(
t
,
e
,
r
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
n
=
i
(
r
(
68
)),
c
=
i
(
r
(
12
)),
a
=
i
(
r
(
392
)),
s
=
i
(
r
(
394
));
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
}},
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)"
});
n
.
default
.
chapterAction
.
getCurrentChapterDetail
(
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
i
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
n
.
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
&&
n
.
default
.
chapterAction
.
getProgress
(
a
.
id
,
c
.
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
(){
i
.
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)"
});
n
.
default
.
chapterAction
.
getCurrentChapterDetail
(
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
e
=
this
.
$loading
({
lock
:
!
0
,
text
:
""
,
spinner
:
""
,
background
:
"rgba(255, 255, 255, 0.9)"
});
n
.
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
&&
n
.
default
.
chapterAction
.
getProgress
(
r
.
id
,
c
.
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
(){
e
.
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
(
t
){
var
e
=
this
;
t
.
cpt
&&
n
.
default
.
chapterAction
.
updateProgress
({
d
:
c
.
default
.
other
.
getIdt
(),
i
:
c
.
default
.
other
.
getIdt
(),
c
:
this
.
cid
,
s
:
this
.
sid
,
v
:
this
.
id
,
_p
:
parseInt
(
t
.
pt
),
_m
:
parseInt
(
t
.
mpt
),
_c
:
parseInt
(
t
.
cpt
)}).
then
(
function
(
t
){}).
catch
(
function
(
t
){
e
.
$message
.
error
(
t
.
message
)}).
finally
(
function
(){})}}}},
340
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
341
),
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
},
341
:
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
.
sid
,
a
=
this
.
cid
,
s
=
e
.
vid
;
if
(
!
e
.
hasva
){
var
i
=
e
.
index
,
n
=
e
.
index1
,
c
=
this
.
list
.
course
[
i
];
return
c
&&
c
.
chapters
[
n
]?
void
(
"course_info"
===
c
.
chapters
[
n
].
id
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/course-info/course_info"
}):
"course_work"
===
c
.
chapters
[
n
].
id
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/course-work/course_work"
}):
3
===
c
.
chapters
[
n
].
type
?
1
===
c
.
chapters
[
n
].
work_type
?
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/chapter-exam/"
+
s
}):
2
===
c
.
chapters
[
n
].
work_type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/chapter-work/"
+
s
}):
4
===
c
.
chapters
[
n
].
type
&&
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/chapter-read/"
+
s
})):
void
this
.
$message
.
error
(
"系统未知错误,001"
)}
this
.
$router
.
push
({
path
:
"/player/"
+
r
+
"/"
+
a
+
"/chapter-video/"
+
s
})}}}},
342
:
function
(
t
,
e
,
r
){},
343
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
344
),
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
},
344
:
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
))}}}},
345
:
function
(
t
,
e
,
r
){},
346
:
function
(
t
,
e
,
r
){},
392
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
435
),
s
=
r
(
340
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
393
);
var
n
=
r
(
3
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"1d8953da"
,
null
);
c
.
options
.
__file
=
"sideChapterList.vue"
,
e
.
default
=
c
.
exports
},
393
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
342
);
r
.
n
(
a
).
a
},
394
:
function
(
t
,
e
,
r
){
"use strict"
;
r
.
r
(
e
);
var
a
=
r
(
433
),
s
=
r
(
343
);
for
(
var
i
in
s
)
"default"
!==
i
&&
function
(
t
){
r
.
d
(
e
,
t
,
function
(){
return
s
[
t
]})}(
i
);
r
(
395
);
var
n
=
r
(
3
),
c
=
Object
(
n
.
a
)(
s
.
default
,
a
.
a
,
a
.
b
,
!
1
,
null
,
"8ec544e6"
,
null
);
c
.
options
.
__file
=
"sideChapterPpt.vue"
,
e
.
default
=
c
.
exports
},
395
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
345
);
r
.
n
(
a
).
a
},
396
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
r
(
346
);
r
.
n
(
a
).
a
},
432
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
function
(){
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
.
sid
+
"/"
+
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
},
on
:{
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
){
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
){
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
){
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
){
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
){
e
.
changeSideBar
(
e
.
SIDEBAR_PPT
)}}},[
r
(
"i"
,{
staticClass
:
"el-icon-self-PPT"
}),
e
.
_v
(
" "
),
r
(
"div"
,[
e
.
_v
(
"讲义"
)])])]:
e
.
_e
()],
2
)]],
2
)},
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})},
433
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
function
(){
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
)])},
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})},
435
:
function
(
t
,
e
,
r
){
"use strict"
;
var
a
=
function
(){
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-hasVA"
:
t
.
time
,
"data-index"
:
r
,
"data-index1"
:
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
)])},
s
=
[];
r
.
d
(
e
,
"a"
,
function
(){
return
a
}),
r
.
d
(
e
,
"b"
,
function
(){
return
s
})}}]);
\ No newline at end of file
client-dist/resources/manifest.
2bf0819b
.js
→
client-dist/resources/manifest.
fdf6df91
.js
浏览文件 @
4e156b69
!
function
(
d
){
function
e
(
e
){
for
(
var
t
,
r
,
n
=
e
[
0
],
a
=
e
[
1
],
o
=
e
[
2
],
f
=
0
,
c
=
[];
f
<
n
.
length
;
f
++
)
r
=
n
[
f
],
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
,
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
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
}[
i
]
&&
e
.
push
(
l
[
i
]
=
new
Promise
(
function
(
e
,
n
){
for
(
var
t
=
"resources/"
+
({}[
i
]
||
i
)
+
"."
+
{
0
:
"b2e9413b6daa"
,
1
:
"31d6cfe0d16a"
,
5
:
"a95593c8fdac"
,
6
:
"99a37f54610a"
,
7
:
"5fb66d23f2f0"
,
8
:
"c7ab83b7700d"
,
9
:
"3722d9bda5f5"
,
10
:
"eb5caf8d2af7"
,
11
:
"970f20fae48e"
,
12
:
"ecdbc84c1af7"
,
13
:
"cbf94943e0a6"
,
14
:
"27ece10619a6"
,
15
:
"bea3197f71de"
,
16
:
"30dff0c0c0cb"
,
17
:
"43d7a69049a6"
,
18
:
"6585580b0bed"
,
19
:
"81c5f8820ff9"
,
20
:
"3181e4596df6"
,
21
:
"12c536f6abaf"
,
22
:
"31d6cfe0d16a"
,
23
:
"31d6cfe0d16a"
,
24
:
"31d6cfe0d16a"
,
25
:
"31d6cfe0d16a"
,
26
:
"31d6cfe0d16a"
,
27
:
"31d6cfe0d16a"
,
28
:
"31d6cfe0d16a"
,
29
:
"31d6cfe0d16a"
}[
i
]
+
".css"
,
a
=
b
.
p
+
t
,
r
=
document
.
getElementsByTagName
(
"link"
),
o
=
0
;
o
<
r
.
length
;
o
++
){
var
f
=
(
d
=
r
[
o
]).
getAttribute
(
"data-href"
)
||
d
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
d
.
rel
&&
(
f
===
t
||
f
===
a
))
return
e
()}
var
c
=
document
.
getElementsByTagName
(
"style"
);
for
(
o
=
0
;
o
<
c
.
length
;
o
++
){
var
d
;
if
((
f
=
(
d
=
c
[
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
t
,
r
=
s
[
i
];
if
(
0
!==
r
)
if
(
r
)
e
.
push
(
r
[
2
]);
else
{
var
n
=
new
Promise
(
function
(
e
,
t
){
r
=
s
[
i
]
=
[
e
,
t
]});
e
.
push
(
r
[
2
]
=
n
);
var
a
,
o
=
document
.
getElementsByTagName
(
"head"
)[
0
],
f
=
document
.
createElement
(
"script"
);
f
.
charset
=
"utf-8"
,
f
.
timeout
=
120
,
b
.
nc
&&
f
.
setAttribute
(
"nonce"
,
b
.
nc
),
f
.
src
=
b
.
p
+
"resources/"
+
({}[
t
=
i
]
||
t
)
+
"."
+
{
0
:
"03237134"
,
1
:
"cce9dd13"
,
5
:
"2ecf20b1"
,
6
:
"c31d0af8"
,
7
:
"339ccf47"
,
8
:
"d5cdd163"
,
9
:
"109add9c"
,
10
:
"236b8345"
,
11
:
"7b12fe3f"
,
12
:
"792709ec"
,
13
:
"e92b9d23"
,
14
:
"f019d021"
,
15
:
"a46ce51b"
,
16
:
"6ba9727d"
,
17
:
"71afe09f"
,
18
:
"fa0bd151"
,
19
:
"b26b8ae8"
,
20
:
"b1a3305e"
,
21
:
"d705dc78"
,
22
:
"37fe44a3"
,
23
:
"e833bd21"
,
24
:
"90451017"
,
25
:
"ae4480e0"
,
26
:
"47711baa"
,
27
:
"8ac385cf"
,
28
:
"f7d39fd0"
,
29
:
"4322baee"
}[
t
]
+
".js"
,
a
=
function
(
e
){
f
.
onerror
=
f
.
onload
=
null
,
clearTimeout
(
c
);
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
,
a
=
new
Error
(
"Loading chunk "
+
i
+
" failed.
\
n("
+
r
+
": "
+
n
+
")"
);
a
.
type
=
r
,
a
.
request
=
n
,
t
[
1
](
a
)}
s
[
i
]
=
void
0
}};
var
c
=
setTimeout
(
function
(){
a
({
type
:
"timeout"
,
target
:
f
})},
12
e4
);
f
.
onerror
=
f
.
onload
=
a
,
o
.
appendChild
(
f
)}
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-mba/"
,
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
],
o
=
e
[
2
],
c
=
0
,
f
=
[];
c
<
n
.
length
;
c
++
)
r
=
n
[
c
],
s
[
r
]
&&
f
.
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
);
f
.
length
;)
f
.
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
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
}[
i
]
&&
e
.
push
(
l
[
i
]
=
new
Promise
(
function
(
e
,
n
){
for
(
var
t
=
"resources/"
+
({}[
i
]
||
i
)
+
"."
+
{
0
:
"b2e9413b6daa"
,
1
:
"31d6cfe0d16a"
,
5
:
"a95593c8fdac"
,
6
:
"9c478d8110d6"
,
7
:
"5fb66d23f2f0"
,
8
:
"c7ab83b7700d"
,
9
:
"3722d9bda5f5"
,
10
:
"eb5caf8d2af7"
,
11
:
"970f20fae48e"
,
12
:
"ecdbc84c1af7"
,
13
:
"cbf94943e0a6"
,
14
:
"27ece10619a6"
,
15
:
"bea3197f71de"
,
16
:
"30dff0c0c0cb"
,
17
:
"d0e004ae2be4"
,
18
:
"6585580b0bed"
,
19
:
"81c5f8820ff9"
,
20
:
"3181e4596df6"
,
21
:
"12c536f6abaf"
,
22
:
"31d6cfe0d16a"
,
23
:
"31d6cfe0d16a"
,
24
:
"31d6cfe0d16a"
,
25
:
"31d6cfe0d16a"
,
26
:
"31d6cfe0d16a"
,
27
:
"31d6cfe0d16a"
,
28
:
"31d6cfe0d16a"
,
29
:
"31d6cfe0d16a"
}[
i
]
+
".css"
,
a
=
b
.
p
+
t
,
r
=
document
.
getElementsByTagName
(
"link"
),
o
=
0
;
o
<
r
.
length
;
o
++
){
var
c
=
(
d
=
r
[
o
]).
getAttribute
(
"data-href"
)
||
d
.
getAttribute
(
"href"
);
if
(
"stylesheet"
===
d
.
rel
&&
(
c
===
t
||
c
===
a
))
return
e
()}
var
f
=
document
.
getElementsByTagName
(
"style"
);
for
(
o
=
0
;
o
<
f
.
length
;
o
++
){
var
d
;
if
((
c
=
(
d
=
f
[
o
]).
getAttribute
(
"data-href"
))
===
t
||
c
===
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
t
,
r
=
s
[
i
];
if
(
0
!==
r
)
if
(
r
)
e
.
push
(
r
[
2
]);
else
{
var
n
=
new
Promise
(
function
(
e
,
t
){
r
=
s
[
i
]
=
[
e
,
t
]});
e
.
push
(
r
[
2
]
=
n
);
var
a
,
o
=
document
.
getElementsByTagName
(
"head"
)[
0
],
c
=
document
.
createElement
(
"script"
);
c
.
charset
=
"utf-8"
,
c
.
timeout
=
120
,
b
.
nc
&&
c
.
setAttribute
(
"nonce"
,
b
.
nc
),
c
.
src
=
b
.
p
+
"resources/"
+
({}[
t
=
i
]
||
t
)
+
"."
+
{
0
:
"03237134"
,
1
:
"cce9dd13"
,
5
:
"2ecf20b1"
,
6
:
"d322d54c"
,
7
:
"339ccf47"
,
8
:
"d5cdd163"
,
9
:
"109add9c"
,
10
:
"2354c82f"
,
11
:
"7b12fe3f"
,
12
:
"792709ec"
,
13
:
"e92b9d23"
,
14
:
"f019d021"
,
15
:
"a46ce51b"
,
16
:
"6ba9727d"
,
17
:
"6f7a3ac1"
,
18
:
"fa0bd151"
,
19
:
"b26b8ae8"
,
20
:
"b1a3305e"
,
21
:
"d705dc78"
,
22
:
"37fe44a3"
,
23
:
"e833bd21"
,
24
:
"90451017"
,
25
:
"ae4480e0"
,
26
:
"ca22e961"
,
27
:
"8ac385cf"
,
28
:
"870b4f34"
,
29
:
"4322baee"
}[
t
]
+
".js"
,
a
=
function
(
e
){
c
.
onerror
=
c
.
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
,
a
=
new
Error
(
"Loading chunk "
+
i
+
" failed.
\
n("
+
r
+
": "
+
n
+
")"
);
a
.
type
=
r
,
a
.
request
=
n
,
t
[
1
](
a
)}
s
[
i
]
=
void
0
}};
var
f
=
setTimeout
(
function
(){
a
({
type
:
"timeout"
,
target
:
c
})},
12
e4
);
c
.
onerror
=
c
.
onload
=
a
,
o
.
appendChild
(
c
)}
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-mba/"
,
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
client/components/player/chapterVideo/chapterVideo.vue
浏览文件 @
4e156b69
...
...
@@ -118,7 +118,7 @@ export default {
if
(
this
.
_rProgress
&&
this
.
_rProgress
.
id
)
{
let
_rProgress
=
this
.
_rProgress
let
tempTime
=
this
.
videoFlash
.
lastTime
_rProgress
.
pt
=
parseInt
(
_rProgress
.
pt
)
+
parseInt
((
tempTime
-
_rProgress
.
cpt
>
0
)
&&
(
tempTime
-
_rProgress
.
cpt
<
8
)
?
(
tempTime
-
_rProgress
.
cpt
)
:
0
)
_rProgress
.
pt
=
_rProgress
.
pt
+
((
tempTime
-
_rProgress
.
cpt
>
0
)
&&
(
tempTime
-
_rProgress
.
cpt
<
8
)
?
(
tempTime
-
_rProgress
.
cpt
)
:
0
)
_rProgress
.
cpt
=
tempTime
_rProgress
.
mpt
=
tempTime
>
_rProgress
.
mpt
?
tempTime
:
_rProgress
.
mpt
this
.
$emit
(
'updateProgress'
,
this
.
_rProgress
)
...
...
client/components/player/chapterWork/chapterWork.vue
浏览文件 @
4e156b69
...
...
@@ -186,7 +186,7 @@ export default {
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
CKEDITOR
.
replace
(
'editor-chapterWork'
,
{
height
:
300
,
uiColor
:
'#eeeeee'
,
filebrowserImageUploadUrl
:
'/api/
editor
/upload'
,
filebrowserImageUploadUrl
:
'/api/
ckeditor/img
/upload'
,
// resize_enabled: typeof this.props.resizable === 'boolean' ? this.props.resizable : true,
toolbar
:
[
// { name: 'document', items: [ 'Source', '-', 'Save', 'NewPage', 'Preview' ] },
...
...
client/components/player/courseWork/courseWork.vue
浏览文件 @
4e156b69
...
...
@@ -179,7 +179,7 @@ export default {
!
this
.
ckeditor
&&
(
this
.
ckeditor
=
CKEDITOR
.
replace
(
'editor-courseWork'
,
{
height
:
300
,
uiColor
:
'#eeeeee'
,
filebrowserImageUploadUrl
:
'/api/
editor
/upload'
,
filebrowserImageUploadUrl
:
'/api/
ckeditor/img
/upload'
,
// resize_enabled: typeof this.props.resizable === 'boolean' ? this.props.resizable : true,
toolbar
:
[
// { name: 'document', items: [ 'Source', '-', 'Save', 'NewPage', 'Preview' ] },
...
...
client/components/player/index.vue
浏览文件 @
4e156b69
...
...
@@ -20,19 +20,6 @@
@
handlePlayTime=
"handlePlayTime"
@
updateProgress=
"updateProgress"
></router-view>
<!--
{params.chapterId === 'work' ?
: chapter.type === chapterType.VIDEO ?
<ChapterVideo
ref=
"chapterVideo"
prevChapterId=
{prevChapterId}
nextChapterId={nextChapterId}
curProgress={curProgress}
handlePlayTime={this.handlePlayTime}
handleOver={this.handleOver}
lastTime={cpt}
/>
} -->
</div>
</div>
...
...
client/project/elearning-node/pages/myLearn/discussDetail.vue
浏览文件 @
4e156b69
...
...
@@ -354,7 +354,7 @@ export default {
!this.ckeditor && (this.ckeditor = CKEDITOR.replace('
editor
', {
height: 100,
uiColor: '
#
eeeeee
',
filebrowserImageUploadUrl: '
/
api
/
editor
/
upload
',
filebrowserImageUploadUrl: '
/
api
/
ckeditor
/
img
/
upload
',
// resize_enabled: typeof this.props.resizable === '
boolean
' ? this.props.resizable : true,
toolbar: [
// { name: '
document
', items: [ '
Source
', '
-
', '
Save
', '
NewPage
', '
Preview
' ] },
...
...
server/elearning-node/routes/index.js
浏览文件 @
4e156b69
...
...
@@ -229,24 +229,96 @@ const _rmdir = (dir, callback) => {
}
const
ckeditorUpload
=
(
req
,
res
)
=>
{
/* 文件上传 */
/* 文件上传
ckeditor4.5以上返回格式
*/
function
sendHtml
(
url
,
msg
)
{
// req.query.CKEditorFuncNum 我这里用 ckeditor 没有传 这个值 直接默认
res
.
send
(
`<script>window.parent.CKEDITOR.tools.callFunction(
${
0
}
, "
${
url
||
''
}
", "
${
msg
||
''
}
");</script>`
)
res
.
json
({
'uploaded'
:
url
?
1
:
0
,
'fileName'
:
'image'
,
'url'
:
url
,
'error'
:
{
'message'
:
msg
}
})
}
if
(
req
.
files
.
length
)
{
if
(
!
req
.
files
[
0
].
mimetype
.
startsWith
(
'image'
))
{
sendHtml
(
''
,
'文件类型错误,请上传图片'
);
return
}
if
(
req
.
files
[
0
].
size
>
10
*
1024
*
1024
)
{
sendHtml
(
''
,
'图片大小超限'
);
return
}
req
.
files
.
forEach
((
elem
,
i
)
=>
{
/* 缓存文件中 名称替换,上传名称一致 会被覆盖 */
fs
.
renameSync
(
elem
.
path
,
elem
.
destination
+
elem
.
originalname
)
// response.successArr.push({
// fileParam: elem.fieldname,
// fileName: elem.originalname
// })
let
headers
=
_
.
assignIn
({},
req
.
headers
)
let
options
=
{}
options
=
{
timeout
:
30
*
1000
,
url
:
'tenant/util/upload-image'
,
baseURL
:
conf
.
agentApiUrl
,
method
:
req
.
method
,
data
:
req
.
body
,
params
:
req
.
query
}
headers
[
'accept'
]
=
'*/*'
delete
headers
[
'accept-language'
]
if
(
/multipart
\/
form-data/gi
.
test
(
headers
[
'content-type'
]))
{
let
_obj
=
_
.
assignIn
({},
req
.
body
)
req
.
files
.
forEach
((
elem
,
i
)
=>
{
/* 缓存文件中 名称替换,上传名称一致 会被覆盖 */
fs
.
renameSync
(
elem
.
path
,
elem
.
destination
+
elem
.
originalname
)
/* 增加 日期目录 */
let
dateDir
=
'ckeditor '
+
cTool
.
convertTime
.
durationToDateString
(
new
Date
().
getTime
())
/* 异步 处理文件 */
fs
.
stat
(
elem
.
destination
+
dateDir
,
(
error
,
stats
)
=>
{
if
(
error
)
{
fs
.
mkdir
(
elem
.
destination
+
dateDir
,
(
error
)
=>
{
if
(
error
)
{
console
.
log
(
error
);
return
false
}
fs
.
renameSync
(
elem
.
destination
+
elem
.
originalname
,
elem
.
destination
+
dateDir
+
'/'
+
elem
.
originalname
)
})
}
else
{
fs
.
renameSync
(
elem
.
destination
+
elem
.
originalname
,
elem
.
destination
+
dateDir
+
'/'
+
elem
.
originalname
)
}
})
_obj
[
'image'
]
=
fs
.
createReadStream
(
elem
.
destination
+
elem
.
originalname
)
})
let
fro
=
new
FormData
()
for
(
let
key
in
_obj
)
{
fro
.
append
(
key
,
_obj
[
key
])
}
options
.
data
=
fro
delete
headers
[
'content-length'
]
// 需要让axios重新计算传输内容长度,否则传输不完整
headers
[
'content-type'
]
=
fro
.
getHeaders
()[
'content-type'
]
}
let
s
=
''
let
arr
=
headers
.
cookie
.
split
(
'; '
)
for
(
let
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
/^_SUP/g
.
test
(
arr
[
i
]))
{
s
=
arr
[
i
].
split
(
'='
)[
1
]
break
}
}
s
=
decodeURIComponent
(
s
||
''
)
let
ticket
=
''
s
=
s
.
match
(
/"
([\d\w
=
]
+
)
";
\}
$/
)
if
(
s
&&
s
.
length
===
2
)
{
s
=
new
Buffer
(
s
[
1
],
'base64'
).
toString
()
// eslint-disable-line
s
=
s
.
slice
(
12
,
s
.
search
(
'-TGT'
)
+
4
)
ticket
=
s
.
split
(
''
).
reverse
().
join
(
''
)
}
headers
[
'token'
]
=
ticket
headers
[
'tenant'
]
=
'sofia'
axios
.
defaults
.
headers
=
headers
/* 重新转发请求 */
axios
(
options
).
then
((
data
)
=>
{
if
(
data
.
data
.
success
)
{
sendHtml
(
data
.
data
.
url
,
''
)
}
else
{
sendHtml
(
''
,
'上传错误,请重试'
)
}
req
.
files
.
forEach
((
elem
,
i
)
=>
{
fs
.
stat
(
elem
.
destination
+
elem
.
originalname
,
(
error
,
stats
)
=>
{
if
(
error
)
{
return
}
fs
.
unlink
(
elem
.
destination
+
elem
.
originalname
,
(
error
)
=>
{
if
(
error
)
console
.
log
(
error
)
})
})
})
}).
catch
((
e
)
=>
{
sendHtml
(
''
,
'上传错误,请重试1'
)
})
res
.
status
(
200
)
res
.
end
(
'1'
)
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论