Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
A
admin-base
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
new-sing
admin-base
Commits
a27724a1
Commit
a27724a1
authored
Apr 12, 2019
by
chenyishuai@singsingenglish.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
4.11
parent
296de5de
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
18 additions
and
2 deletions
+18
-2
index.html
dev/index.html
+1
-1
22.abada0c9eb8dd4c00ea5.js
dev/static/js/22.abada0c9eb8dd4c00ea5.js
+1
-0
manifest.9747f670e7748b47934d.js
dev/static/js/manifest.9747f670e7748b47934d.js
+1
-0
index.html
dist/index.html
+1
-1
23.b98a8c7ba5c0ec2e12ce.js
dist/static/js/23.b98a8c7ba5c0ec2e12ce.js
+1
-0
manifest.05f7ec1aca832ab0289c.js
dist/static/js/manifest.05f7ec1aca832ab0289c.js
+1
-0
index.vue
src/components/periods/index.vue
+12
-0
No files found.
dev/index.html
View file @
a27724a1
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js
></script><script
src=
https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
f4158aa402d93545f0ec
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.520caa645c172051b099.js
></script><script
type=
text/javascript
src=
/static/js/app.812a35112b9b7b739747.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js
></script><script
src=
https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
9747f670e7748b47934d
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.520caa645c172051b099.js
></script><script
type=
text/javascript
src=
/static/js/app.812a35112b9b7b739747.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
};
...
...
dev/static/js/22.abada0c9eb8dd4c00ea5.js
0 → 100644
View file @
a27724a1
webpackJsonp
([
22
],{
"+IG6"
:
function
(
n
,
e
,
t
){
var
o
=
t
(
"No7R"
);
"string"
==
typeof
o
&&
(
o
=
[[
n
.
i
,
o
,
""
]]),
o
.
locals
&&
(
n
.
exports
=
o
.
locals
);
t
(
"rjj0"
)(
"5f19e884"
,
o
,
!
1
,{})},
DZd7
:
function
(
n
,
e
,
t
){
var
o
=
t
(
"eVNj"
);
"string"
==
typeof
o
&&
(
o
=
[[
n
.
i
,
o
,
""
]]),
o
.
locals
&&
(
n
.
exports
=
o
.
locals
);
t
(
"rjj0"
)(
"1bd46fb3"
,
o
,
!
1
,{})},
No7R
:
function
(
n
,
e
,
t
){(
n
.
exports
=
t
(
"FZ+f"
)(
!
0
)).
push
([
n
.
i
,
"
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
"
,
""
,{
version
:
3
,
sources
:[],
names
:[],
mappings
:
""
,
file
:
"dialog.vue"
,
sourceRoot
:
""
}])},
ayGs
:
function
(
n
,
e
,
t
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
o
=
t
(
"CCn6"
),
a
=
t
(
"+TkF"
),
r
=
t
(
"kmJW"
),
i
=
{
props
:[
"dialogObj"
],
data
:
function
(){
return
{
nowPage
:
1
,
total
:
0
,
goodList
:[],
currentRow
:
null
}},
components
:{
page
:
r
.
a
},
filters
:{
isOrNot
:
function
(
n
){
return
a
.
o
[
n
]},
goodsType
:
function
(
n
){
return
a
.
h
[
n
]},
lessonType
:
function
(
n
){
return
a
.
p
[
n
]},
goodsStatus
:
function
(
n
){
return
a
.
g
[
n
]}},
methods
:{
initPage
:
function
(){
var
n
=
this
;
Object
(
o
.
_41
)().
then
(
function
(
e
){
n
.
goodList
=
e
.
list
,
n
.
total
=
e
.
total
})},
handleCurrentChange
:
function
(
n
){
this
.
currentRow
=
n
},
onConfirm
:
function
(){
this
.
$emit
(
"reflash"
,
this
.
currentRow
)}},
mounted
:
function
(){
this
.
initPage
()}},
s
=
function
(){
var
n
=
this
,
e
=
n
.
$createElement
,
t
=
n
.
_self
.
_c
||
e
;
return
t
(
"div"
,[
t
(
"el-dialog"
,{
attrs
:{
title
:
n
.
dialogObj
.
title
,
visible
:
n
.
dialogObj
.
show
},
on
:{
"update:visible"
:
function
(
e
){
n
.
$set
(
n
.
dialogObj
,
"show"
,
e
)}}},[
t
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
n
.
goodList
,
"row-key"
:
"id"
,
"highlight-current-row"
:
""
},
on
:{
"current-change"
:
n
.
handleCurrentChange
}},[
t
(
"el-table-column"
,{
attrs
:{
prop
:
"id"
,
label
:
"商品ID"
}}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
}}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"商品类型"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
n
.
_f
(
"goodsType"
)(
e
.
row
.
goods_type
))
+
"
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"现价"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
e
.
row
.
current_price
/
100
)
+
"元
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"课程类别"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
n
.
_f
(
"lessonType"
)(
e
.
row
.
course_type
))
+
"
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"是否有实物"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
n
.
_f
(
"isOrNot"
)(
e
.
row
.
is_real
))
+
"
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
n
.
_f
(
"goodsStatus"
)(
e
.
row
.
status
))
+
"
\n
"
)]}}])})],
1
),
n
.
_v
(
" "
),
t
(
"page"
,{
attrs
:{
nowPage
:
n
.
nowPage
,
total
:
n
.
total
}}),
n
.
_v
(
" "
),
t
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
t
(
"el-button"
,{
on
:{
click
:
function
(
e
){
n
.
dialogObj
.
show
=!
1
}}},[
n
.
_v
(
"取 消"
)]),
n
.
_v
(
" "
),
t
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
n
.
onConfirm
}},[
n
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)};
s
.
_withStripped
=!
0
;
var
l
=
{
render
:
s
,
staticRenderFns
:[]},
c
=
l
;
var
d
=!
1
;
var
u
=
t
(
"VU/8"
)(
i
,
c
,
!
1
,
function
(
n
){
d
||
t
(
"+IG6"
)},
"data-v-221aa882"
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
periods
\\
dialog.vue"
;
var
_
=
u
.
exports
,
f
=
{
props
:[
"dialogObj"
],
data
:
function
(){
return
{
loading
:
!
1
,
form
:{
is_add_teacher_to_class
:
!
1
,
teacherList
:[],
viewTeacher
:
""
,
rest_week_day
:[],
title
:
""
,
goods_id
:
""
},
show
:
!
1
,
viewTeacher
:
""
,
pickerOptions1
:{
disabledDate
:
function
(
n
){
return
!
(
n
.
getTime
()
>
Date
.
now
())}},
options
:[{
value
:
0
,
label
:
"周日"
},{
value
:
1
,
label
:
"周一"
},{
value
:
2
,
label
:
"周二"
},{
value
:
3
,
label
:
"周三"
},{
value
:
4
,
label
:
"周四"
},{
value
:
5
,
label
:
"周五"
},{
value
:
6
,
label
:
"周六"
}],
teacherOptions
:[],
teacher1Options
:[],
teacher2Options
:[],
goodList
:[],
itemOptions
:[],
rules
:{
title
:[{
required
:
!
0
,
message
:
"请输入名称"
,
trigger
:
"change"
}],
startNum
:[{
required
:
!
0
,
message
:
"请输入开始主题"
,
trigger
:
"change"
}],
start_at
:[{
required
:
!
0
,
message
:
"请选择开始上课时间"
,
trigger
:
"change"
}],
rest_week_day
:[{
required
:
!
0
,
message
:
"请选择周几不上课"
,
trigger
:
"change"
}],
teacher_ids
:[{
required
:
!
0
,
message
:
"请选择老师ID"
,
trigger
:
"change"
}],
goods_id
:[{
required
:
!
0
,
message
:
"商品ID不能为空"
,
trigger
:
"change"
}],
teacherList
:[{
required
:
!
0
,
message
:
"带班老师不能为空"
,
trigger
:
"change"
}],
viewTeacher
:[{
required
:
!
0
,
message
:
"观摩老师不能为空"
,
trigger
:
"change"
}]},
periodsList
:[],
selectedGoods
:[]}},
components
:{
goodDialog
:
_
},
watch
:{
"dialogObj.show"
:
function
(
n
){
n
&&
(
this
.
getTeachers
(),
this
.
getGoodsOption
())},
show
:
function
(
n
){
this
.
$emit
(
"changeShow"
,
n
)}},
filters
:{
isOrNot
:
function
(
n
){
return
a
.
o
[
n
]},
goodsType
:
function
(
n
){
return
a
.
h
[
n
]},
lessonType
:
function
(
n
){
return
a
.
p
[
n
]},
goodsStatus
:
function
(
n
){
return
a
.
g
[
n
]},
filterGoods
:
function
(
n
){
return
"["
+
n
.
id
+
"]["
+
a
.
h
[
n
.
goods_type
]
+
"]【"
+
n
.
current_price
/
100
+
"元】"
+
n
.
name
}},
methods
:{
sub
:
function
(){
var
n
=
this
;
this
.
$refs
.
form
.
validate
(
function
(
e
){
if
(
e
){
var
t
=
n
.
form
.
goods_id
,
a
=
{
title
:
n
.
form
.
title
,
start_num
:
n
.
form
.
startNum
,
start_at
:
n
.
form
.
start_at
,
rest_week_day
:
n
.
form
.
rest_week_day
?
n
.
form
.
rest_week_day
.
join
(
","
):
""
};
a
.
is_add_teacher_to_class
=
n
.
form
.
is_add_teacher_to_class
?
1
:
0
,
n
.
form
.
id
?
Object
(
o
.
_37
)(
n
.
form
.
id
,
a
).
then
(
function
(
e
){
n
.
$message
({
type
:
"success"
,
message
:
"编辑成功!"
}),
n
.
$emit
(
"reflash"
)}):(
a
.
teacher_ids
=
n
.
form
.
teacherList
.
join
(
","
),
a
.
view_teacher_id
=
parseInt
(
n
.
form
.
viewTeacher
),
Object
(
o
.
_16
)(
t
,
a
).
then
(
function
(
e
){
n
.
$message
({
type
:
"success"
,
message
:
"添加成功!"
}),
n
.
$emit
(
"reflash"
)})),
n
.
show
=!
1
}})},
getTeachers
:
function
(){
var
n
=
this
;
Object
(
o
.
_74
)({
page
:
1
,
limit
:
100
,
status
:
0
}).
then
(
function
(
e
){
n
.
teacherOptions
=
e
.
list
,
n
.
teacher1Options
=
e
.
list
,
n
.
teacher2Options
=
e
.
list
})},
findDifferentArray
:
function
(
n
,
e
){
var
t
=
[];
return
n
.
forEach
(
function
(
e
){
-
1
===
n
.
findIndex
(
function
(
n
){
return
e
.
id
==
n
})
&&
t
.
push
(
e
)}),
t
},
onTeacher1Change
:
function
(
n
){
this
.
teacher2Options
=
n
?
this
.
findDifferentArray
(
this
.
teacherOptions
,
n
):
this
.
teacherOptions
},
onTeacher2Change
:
function
(
n
){
this
.
teacher1Options
=
n
?
this
.
findDifferentArray
(
this
.
teacherOptions
,[
n
]):
this
.
teacherOptions
},
onOptionChange
:
function
(
n
){
var
e
=
this
.
goodList
.
findIndex
(
function
(
e
){
return
e
.
id
===
n
});
e
>-
1
&&
this
.
getLessonDetail
(
this
.
goodList
[
e
].
course_id
),
delete
this
.
form
.
startNum
},
getLessonDetail
:
function
(
n
){
var
e
=
this
;
Object
(
o
.
_45
)(
n
,{}).
then
(
function
(
n
){
e
.
itemOptions
=
n
.
detail
[
n
.
type
]})},
getGoodsOption
:
function
(){
var
n
=
this
;
Object
(
o
.
_41
)({
page
:
1
,
goods_type
:
"1,2"
,
limit
:
100
}).
then
(
function
(
e
){
n
.
goodList
=
e
.
list
,
n
.
dialogObj
.
form
.
id
?
n
.
form
=
n
.
dialogObj
.
form
:
n
.
form
=
{
rest_week_day
:[],
is_add_teacher_to_class
:
!
1
,
teacherList
:[],
viewTeacher
:
""
,
title
:
""
,
goods_id
:
""
},
n
.
dialogObj
.
form
.
course_id
&&
n
.
getLessonDetail
(
n
.
dialogObj
.
form
.
course_id
),
n
.
show
=
n
.
dialogObj
.
show
})},
changePeriods
:
function
(
n
){
n
.
length
>
1
&&
(
this
.
form
.
title
=
String
(
n
[
1
]))},
handleItemChange
:
function
(
n
){
var
e
=
this
;
Object
(
o
.
_54
)({
goods_id
:
n
[
0
]}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
n
){
n
.
name
=
n
.
title
}),
e
.
periodsList
.
find
(
function
(
e
){
return
e
.
id
===
n
[
0
]}).
children
=
t
.
list
})}}},
p
=
function
(){
var
n
=
this
,
e
=
n
.
$createElement
,
t
=
n
.
_self
.
_c
||
e
;
return
t
(
"div"
,[
t
(
"el-dialog"
,{
attrs
:{
title
:
n
.
dialogObj
.
title
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
n
.
show
,
width
:
"800px"
},
on
:{
"update:visible"
:
function
(
e
){
n
.
show
=
e
}}},[
t
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
n
.
loading
,
expression
:
"loading"
}]},[
t
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
n
.
form
,
"label-width"
:
"120px"
,
rules
:
n
.
rules
}},[
t
(
"el-row"
,[
t
(
"el-col"
,{
attrs
:{
span
:
10
}},[
t
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
,
prop
:
"goods_id"
}},[
t
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
disabled
:
!!
n
.
form
.
id
},
on
:{
change
:
n
.
onOptionChange
},
model
:{
value
:
n
.
form
.
goods_id
,
callback
:
function
(
e
){
n
.
$set
(
n
.
form
,
"goods_id"
,
e
)},
expression
:
"form.goods_id"
}},
n
.
_l
(
n
.
goodList
,
function
(
e
,
o
){
return
t
(
"el-option"
,{
key
:
o
,
attrs
:{
label
:
n
.
_f
(
"filterGoods"
)(
e
),
value
:
e
.
id
}})}))],
1
)],
1
)],
1
),
n
.
_v
(
" "
),
t
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"title"
}},[
t
(
"el-input"
,{
model
:{
value
:
n
.
form
.
title
,
callback
:
function
(
e
){
n
.
$set
(
n
.
form
,
"title"
,
e
)},
expression
:
"form.title"
}})],
1
),
n
.
_v
(
" "
),
t
(
"el-form-item"
,{
attrs
:{
label
:
"开始主题"
,
prop
:
"startNum"
}},[
t
(
"el-select"
,{
attrs
:{
clearable
:
""
,
placeholder
:
"请选择"
},
model
:{
value
:
n
.
form
.
startNum
,
callback
:
function
(
e
){
n
.
$set
(
n
.
form
,
"startNum"
,
e
)},
expression
:
"form.startNum"
}},
n
.
_l
(
n
.
itemOptions
,
function
(
n
){
return
t
(
"el-option"
,{
key
:
n
.
id
,
attrs
:{
label
:
n
.
name
,
value
:
n
.
id
}})}))],
1
),
n
.
_v
(
" "
),
t
(
"el-form-item"
,{
attrs
:{
label
:
"开始上课时间"
,
prop
:
"start_at"
}},[
t
(
"el-date-picker"
,{
attrs
:{
format
:
"yyyy-MM-dd"
,
"value-format"
:
"yyyy-MM-dd"
,
type
:
"date"
,
"picker-options"
:
n
.
pickerOptions1
,
placeholder
:
"选择日期"
},
model
:{
value
:
n
.
form
.
start_at
,
callback
:
function
(
e
){
n
.
$set
(
n
.
form
,
"start_at"
,
e
)},
expression
:
"form.start_at"
}})],
1
),
n
.
_v
(
" "
),
n
.
form
.
id
?
n
.
_e
():
t
(
"el-form-item"
,{
attrs
:{
label
:
"带班老师"
,
prop
:
"teacherList"
}},[
t
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
,
multiple
:
""
},
on
:{
change
:
n
.
onTeacher1Change
},
model
:{
value
:
n
.
form
.
teacherList
,
callback
:
function
(
e
){
n
.
$set
(
n
.
form
,
"teacherList"
,
e
)},
expression
:
"form.teacherList"
}},
n
.
_l
(
n
.
teacher1Options
,
function
(
n
){
return
t
(
"el-option"
,{
key
:
n
.
id
,
attrs
:{
label
:
n
.
name
,
value
:
n
.
id
}})}))],
1
),
n
.
_v
(
" "
),
n
.
form
.
id
?
n
.
_e
():
t
(
"el-form-item"
,{
attrs
:{
label
:
"观摩老师"
,
prop
:
"viewTeacher"
}},[
t
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
},
on
:{
change
:
n
.
onTeacher2Change
},
model
:{
value
:
n
.
form
.
viewTeacher
,
callback
:
function
(
e
){
n
.
$set
(
n
.
form
,
"viewTeacher"
,
e
)},
expression
:
"form.viewTeacher"
}},
n
.
_l
(
n
.
teacher2Options
,
function
(
n
){
return
t
(
"el-option"
,{
key
:
n
.
id
,
attrs
:{
label
:
n
.
name
,
value
:
n
.
id
}})}))],
1
),
n
.
_v
(
" "
),
n
.
form
.
id
?
n
.
_e
():
t
(
"el-form-item"
,{
attrs
:{
label
:
"将带班老师加入观摩班"
,
"label-width"
:
"200"
}},[
t
(
"el-switch"
,{
attrs
:{
"active-color"
:
"#13ce66"
,
"inactive-color"
:
"#eee"
},
model
:{
value
:
n
.
form
.
is_add_teacher_to_class
,
callback
:
function
(
e
){
n
.
$set
(
n
.
form
,
"is_add_teacher_to_class"
,
e
)},
expression
:
"form.is_add_teacher_to_class"
}})],
1
),
n
.
_v
(
" "
),
t
(
"el-form-item"
,{
attrs
:{
label
:
"不上课日期"
}},[
t
(
"el-select"
,{
attrs
:{
multiple
:
""
,
placeholder
:
"请选择"
},
model
:{
value
:
n
.
form
.
rest_week_day
,
callback
:
function
(
e
){
n
.
$set
(
n
.
form
,
"rest_week_day"
,
e
)},
expression
:
"form.rest_week_day"
}},
n
.
_l
(
n
.
options
,
function
(
n
){
return
t
(
"el-option"
,{
key
:
n
.
value
,
attrs
:{
label
:
n
.
label
,
value
:
n
.
value
}})}))],
1
)],
1
),
n
.
_v
(
" "
),
t
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
t
(
"el-button"
,{
on
:{
click
:
function
(
e
){
n
.
show
=!
1
}}},[
n
.
_v
(
"取 消"
)]),
n
.
_v
(
" "
),
t
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
n
.
sub
}},[
n
.
_v
(
"确 定"
)])],
1
)],
1
)])],
1
)};
p
.
_withStripped
=!
0
;
var
h
=
{
render
:
p
,
staticRenderFns
:[]},
m
=
h
;
var
g
=!
1
;
var
b
=
t
(
"VU/8"
)(
f
,
m
,
!
1
,
function
(
n
){
g
||
t
(
"iYnt"
)},
"data-v-68d711be"
,
null
);
b
.
options
.
__file
=
"src
\\
components
\\
periods
\
\n
ewDialog.vue"
;
var
v
=
b
.
exports
,
w
=
t
(
"sf/l"
),
A
=
{
name
:
"index"
,
data
:
function
(){
return
{
nowPage
:
1
,
total
:
0
,
limit
:
10
,
course_type
:
"1"
,
title
:
""
,
goodsId
:
null
,
lessonId
:
null
,
startAt
:
""
,
periodList
:[],
startTime
:[],
newDialog
:{
form
:{},
show
:
!
1
,
title
:
""
},
goodList
:[],
lessonList
:[]}},
filters
:{
dayFilter
:
function
(
n
){
var
e
=
n
?
n
.
split
(
","
):[];
return
(
e
=
e
.
map
(
function
(
n
){
return
a
.
y
[
n
]})).
join
(
","
)},
filterGoods
:
function
(
n
){
return
"["
+
n
.
id
+
"]["
+
a
.
h
[
n
.
goods_type
]
+
"]【"
+
n
.
current_price
/
100
+
"元】"
+
n
.
name
},
percent
:
function
(
n
){
return
(
100
*
n
).
toFixed
(
2
)
+
"%"
}},
components
:{
goodDialog
:
_
,
newDialog
:
v
,
page
:
r
.
a
},
methods
:{
changeRow
:
function
(
n
,
e
){
e
.
indexOf
(
n
)
>-
1
&&
Object
(
o
.
_56
)(
n
.
id
).
then
(
function
(
e
){
n
.
arrive_course_rate
=
e
.
arrive_course_rate
,
n
.
watch_course_rate
=
e
.
watch_course_rate
,
n
.
over_course_rate
=
e
.
over_course_rate
,
n
.
work_rate
=
e
.
work_rate
,
n
.
over_work_rate
=
e
.
over_work_rate
,
n
.
clock_rate
=
e
.
clock_rate
,
n
.
over_clock_rate
=
e
.
over_clock_rate
,
n
.
transform_rate
=
e
.
transform_rate
})},
dateCompare
:
function
(
n
){
var
e
=
w
.
a
.
dateFmt
(
new
Date
,
"yyyy-MM-dd"
);
return
new
Date
(
e
.
replace
(
/-/g
,
"/"
))
>
new
Date
(
n
.
replace
(
/-/g
,
"/"
))},
onPageChange
:
function
(
n
){
this
.
nowPage
=
n
,
this
.
onSearch
()},
onSizeChange
:
function
(
n
){
this
.
limit
=
n
,
this
.
nowPage
=
1
,
this
.
onSearch
()},
onSearch
:
function
(){
var
n
=
this
,
e
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
"-1"
!==
this
.
course_type
&&
(
e
.
course_type
=
this
.
course_type
),
this
.
title
&&
(
e
.
title
=
this
.
title
),
this
.
goodsId
&&
(
e
.
goods_id
=
this
.
goodsId
),
this
.
lessonId
&&
(
e
.
course_id
=
this
.
lessonId
),
this
.
startTime
&&
this
.
startTime
.
length
>
0
&&
(
e
.
start_start_at
=
w
.
a
.
dateFmt
(
this
.
startTime
[
0
],
"yyyy-MM-dd"
),
e
.
start_end_at
=
w
.
a
.
dateFmt
(
this
.
startTime
[
1
],
"yyyy-MM-dd"
)),
this
.
startAt
&&
(
e
.
start_at
=
this
.
startAt
),
Object
(
o
.
_54
)(
e
).
then
(
function
(
e
){
e
.
list
.
forEach
(
function
(
n
){
n
.
arrive_course_rate
=
0
,
n
.
watch_course_rate
=
0
,
n
.
over_course_rate
=
0
,
n
.
work_rate
=
0
,
n
.
over_work_rate
=
0
,
n
.
clock_rate
=
0
,
n
.
over_clock_rate
=
0
,
n
.
transform_rate
=
0
}),
n
.
periodList
=
e
.
list
,
n
.
total
=
e
.
total
})},
changeShow
:
function
(
n
){
this
.
newDialog
.
show
=
n
},
onAdd
:
function
(){
this
.
newDialog
.
form
.
id
=
""
,
this
.
newDialog
.
form
.
startNum
=
""
,
this
.
newDialog
.
form
.
goods_id
=
""
,
this
.
newDialog
.
form
.
title
=
""
,
this
.
newDialog
.
form
.
start_at
=
""
,
this
.
newDialog
.
form
.
rest_week_day
=
[],
this
.
newDialog
.
form
.
teacher_ids
=
[],
this
.
newDialog
.
form
.
teacherList
=
[],
this
.
newDialog
.
form
.
viewTeacher
=
""
,
this
.
newDialog
.
title
=
"添加期数"
,
this
.
newDialog
.
show
=!
0
},
onEdit
:
function
(
n
){
if
(
this
.
dateCompare
(
n
.
start_at
))
this
.
$message
({
type
:
"error"
,
message
:
"期数已开始,不能编辑!"
});
else
{
var
e
=
[];
n
.
rest_week_day
&&
n
.
rest_week_day
.
split
(
","
).
forEach
(
function
(
n
){
e
.
push
(
parseInt
(
n
))});
var
t
=
[];
n
.
teacher_ids
&&
n
.
teacher_ids
.
split
(
","
).
forEach
(
function
(
n
){
t
.
push
(
parseInt
(
n
))}),
this
.
newDialog
.
form
=
{
id
:
n
.
id
,
startNum
:
n
.
start_num
,
start_at
:
n
.
start_at
,
title
:
n
.
title
,
goods_id
:
n
.
goods_id
,
rest_week_day
:
e
,
teacher_ids
:
t
,
course_id
:
n
.
course_id
},
this
.
newDialog
.
title
=
"编辑期数"
,
this
.
newDialog
.
show
=!
0
}},
onSave
:
function
(
n
){
this
.
newDialog
.
show
=!
1
,
this
.
onSearch
()},
del
:
function
(
n
){
var
e
=
this
;
this
.
$confirm
(
"此操作将删除该期数?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
o
.
M
)(
n
.
id
).
then
(
function
(
n
){
e
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
}),
e
.
onSearch
()})})},
getGoodsOption
:
function
(){
var
n
=
this
;
Object
(
o
.
_41
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
e
){
n
.
goodList
=
e
.
list
})},
getLessonOption
:
function
(){
var
n
=
this
;
Object
(
o
.
_44
)({
page
:
1
,
limit
:
100
}).
then
(
function
(
e
){
n
.
lessonList
=
e
.
list
})}},
mounted
:
function
(){
var
n
=
this
.
$route
.
query
;
n
&&
n
.
goods_id
?
this
.
goodsId
=
parseInt
(
n
.
goods_id
):
n
&&
n
.
id
&&
(
this
.
lessonId
=
parseInt
(
n
.
id
)),
this
.
onSearch
(),
this
.
getGoodsOption
(),
this
.
getLessonOption
()}},
y
=
function
(){
var
n
=
this
,
e
=
n
.
$createElement
,
t
=
n
.
_self
.
_c
||
e
;
return
t
(
"div"
,{
staticClass
:
"periods"
},[
t
(
"div"
,{
staticClass
:
"form-block"
},[
t
(
"el-form"
,{
attrs
:{
"label-width"
:
"85px"
,
inline
:
""
,
size
:
"small"
}},[
t
(
"el-form-item"
,{
attrs
:{
label
:
"期数标题"
}},[
t
(
"el-input"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请输入内容"
,
clearable
:
""
},
model
:{
value
:
n
.
title
,
callback
:
function
(
e
){
n
.
title
=
e
},
expression
:
"title"
}})],
1
),
n
.
_v
(
" "
),
t
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
t
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
n
.
onSearch
},
model
:{
value
:
n
.
goodsId
,
callback
:
function
(
e
){
n
.
goodsId
=
e
},
expression
:
"goodsId"
}},
n
.
_l
(
n
.
goodList
,
function
(
e
,
o
){
return
t
(
"el-option"
,{
key
:
o
,
attrs
:{
label
:
n
.
_f
(
"filterGoods"
)(
e
),
value
:
e
.
id
}})}))],
1
),
n
.
_v
(
" "
),
t
(
"el-form-item"
,{
attrs
:{
label
:
"课程名称"
}},[
t
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
n
.
onSearch
},
model
:{
value
:
n
.
lessonId
,
callback
:
function
(
e
){
n
.
lessonId
=
e
},
expression
:
"lessonId"
}},
n
.
_l
(
n
.
lessonList
,
function
(
n
,
e
){
return
t
(
"el-option"
,{
key
:
e
,
attrs
:{
label
:
n
.
title
,
value
:
n
.
id
}})}))],
1
),
n
.
_v
(
" "
),
t
(
"el-form-item"
,{
attrs
:{
label
:
"开始时间"
}},[
t
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
n
.
onSearch
},
model
:{
value
:
n
.
startTime
,
callback
:
function
(
e
){
n
.
startTime
=
e
},
expression
:
"startTime"
}})],
1
),
n
.
_v
(
" "
),
t
(
"el-form-item"
,[
t
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
n
.
onSearch
}},[
n
.
_v
(
"查询"
)]),
n
.
_v
(
" "
),
n
.
$store
.
state
.
readonly
?
n
.
_e
():
t
(
"el-button"
,{
attrs
:{
type
:
"success"
,
size
:
"small"
},
on
:{
click
:
n
.
onAdd
}},[
n
.
_v
(
"添加期数"
)])],
1
)],
1
)],
1
),
n
.
_v
(
" "
),
t
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
n
.
onSearch
},
model
:{
value
:
n
.
course_type
,
callback
:
function
(
e
){
n
.
course_type
=
e
},
expression
:
"course_type"
}},[
t
(
"el-tab-pane"
,{
attrs
:{
label
:
"日课"
,
name
:
"1"
}}),
n
.
_v
(
" "
),
t
(
"el-tab-pane"
,{
attrs
:{
label
:
"月课"
,
name
:
"0"
}}),
n
.
_v
(
" "
),
t
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}})],
1
),
n
.
_v
(
" "
),
t
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"mini"
,
data
:
n
.
periodList
,
fixed
:
""
},
on
:{
"expand-change"
:
n
.
changeRow
}},[
t
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:[
e
.
row
]}},[
t
(
"el-table-column"
,{
attrs
:{
label
:
"到课率"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"span"
,[
n
.
_v
(
n
.
_s
(
n
.
_f
(
"percent"
)(
e
.
row
.
arrive_course_rate
)))])]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"看课率"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"span"
,[
n
.
_v
(
n
.
_s
(
n
.
_f
(
"percent"
)(
e
.
row
.
watch_course_rate
)))])]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"完课率"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"span"
,[
n
.
_v
(
n
.
_s
(
n
.
_f
(
"percent"
)(
e
.
row
.
over_course_rate
)))])]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"打卡率"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"span"
,[
n
.
_v
(
n
.
_s
(
n
.
_f
(
"percent"
)(
e
.
row
.
clock_rate
)))])]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"全勤打卡率"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"span"
,[
n
.
_v
(
n
.
_s
(
n
.
_f
(
"percent"
)(
e
.
row
.
over_clock_rate
)))])]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"转化率"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"span"
,[
n
.
_v
(
n
.
_s
(
n
.
_f
(
"percent"
)(
e
.
row
.
transform_rate
)))])]}}])})],
1
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"期数标题"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"router-link"
,{
attrs
:{
to
:{
name
:
"class"
,
query
:{
goods_id
:
e
.
row
.
goods_id
,
periods_id
:
e
.
row
.
id
}}}},[
n
.
_v
(
"
\n
"
+
n
.
_s
(
e
.
row
.
title
)
+
"
\n
"
)])]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
}}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"商品价格"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
e
.
row
.
goods_price
/
100
)
+
"元
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"course_title"
,
label
:
"课程名称"
}}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"start_name"
,
label
:
"开始主题/歌"
}}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"current_category_name"
,
label
:
"当前歌曲"
}}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"看课情况"
,
"min-width"
:
"150"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
可看课包数: "
+
n
.
_s
(
e
.
row
.
watch_num
)),
t
(
"br"
),
n
.
_v
(
" 已看课包数:"
+
n
.
_s
(
e
.
row
.
has_watch_num
)
+
" "
),
t
(
"br"
),
n
.
_v
(
" "
),
9999
!==
e
.
row
.
duration_num
?
t
(
"span"
,[
n
.
_v
(
"续看课包数: "
+
n
.
_s
(
e
.
row
.
duration_num
)),
t
(
"br"
),
n
.
_v
(
" 已续看课包数:"
+
n
.
_s
(
e
.
row
.
has_duration_num
))]):
n
.
_e
(),
n
.
_v
(
" "
),
9999
===
e
.
row
.
duration_num
?
t
(
"span"
,{
staticStyle
:{
color
:
"#00af00"
}},[
n
.
_v
(
"永久观看"
)]):
n
.
_e
()]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"不上课日期"
,
"min-width"
:
"120"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
n
.
_f
(
"dayFilter"
)(
e
.
row
.
rest_week_day
))
+
"
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
label
:
"总学员数"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
e
.
row
.
total_user_num
?
e
.
row
.
total_user_num
:
""
)
+
"
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"watch_total_user_num"
,
label
:
"可看课学员数"
}}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"duration_over_at"
,
label
:
"开课看课时间"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
第一天开课:"
+
n
.
_s
(
e
.
row
.
start_at
)
+
"
\n
"
),
t
(
"br"
),
n
.
_v
(
"
\n
最后一天开课:"
+
n
.
_s
(
e
.
row
.
over_at
)
+
"
\n
"
),
t
(
"br"
),
n
.
_v
(
"
\n
最后一天上课:"
+
n
.
_s
(
e
.
row
.
duration_over_at
)
+
"
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"start_at"
,
label
:
"起止时间"
,
sortable
:
""
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
n
.
_v
(
"
\n
"
+
n
.
_s
(
e
.
row
.
start_at
)
+
"
\n
"
),
t
(
"br"
),
n
.
_v
(
"
\n
"
+
n
.
_s
(
e
.
row
.
over_at
?
e
.
row
.
over_at
:
""
)
+
"
\n
"
)]}}])}),
n
.
_v
(
" "
),
t
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"创建时间"
,
sortable
:
""
}}),
n
.
_v
(
" "
),
n
.
$store
.
state
.
readonly
?
n
.
_e
():
t
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"148"
,
fixed
:
"right"
},
scopedSlots
:
n
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
t
){
n
.
onEdit
(
e
.
row
)}}},[
n
.
_v
(
"
\n
编辑
\n
"
)]),
n
.
_v
(
" "
),
n
.
$store
.
state
.
deletePermission
?
t
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
n
.
del
(
e
.
row
)}}},[
n
.
_v
(
"
\n
删除
\n
"
)]):
n
.
_e
()]}}])})],
1
),
n
.
_v
(
" "
),
t
(
"page"
,{
attrs
:{
nowPage
:
n
.
nowPage
,
total
:
n
.
total
,
limit
:
n
.
limit
},
on
:{
pageChange
:
n
.
onPageChange
,
sizeChange
:
n
.
onSizeChange
}}),
n
.
_v
(
" "
),
t
(
"new-dialog"
,{
attrs
:{
dialogObj
:
n
.
newDialog
},
on
:{
reflash
:
n
.
onSave
,
changeShow
:
n
.
changeShow
}})],
1
)};
y
.
_withStripped
=!
0
;
var
k
=
{
render
:
y
,
staticRenderFns
:[]},
C
=
k
;
var
x
=!
1
;
var
E
=
t
(
"VU/8"
)(
A
,
C
,
!
1
,
function
(
n
){
x
||
t
(
"DZd7"
)},
null
,
null
);
E
.
options
.
__file
=
"src
\\
components
\\
periods
\\
index.vue"
;
e
.
default
=
E
.
exports
},
eVNj
:
function
(
n
,
e
,
t
){(
n
.
exports
=
t
(
"FZ+f"
)(
!
0
)).
push
([
n
.
i
,
'
\
n.search-btn-block {
\
n margin-left: 20px;
\
n}
\
n.search-form {
\
n background: white;
\
n padding: 10px;
\
n margin: 10px 0;
\
n}
\
n.new-block {
\
n margin: 10px;
\
n text-align: right;
\
n}
\
n.fl-r {
\
n float: right;
\
n}
\
n.text-c {
\
n text-align: center;
\
n}
\
n.text-b {
\
n font-weight: bold;
\
n}
\
n.color-b {
\
n color: #6ba8e6;
\
n}
\
n.text-r {
\
n text-align: right;
\
n}
\
n.main-block {
\
n margin: 5px;
\
n background: white;
\
n padding: 5px;
\
n}
\
nhtml {
\
n font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "
\\
5FAE
\\
8F6F
\\
96C5
\\
9ED1", Arial, sans-serif;
\
n}
\
n.clear-both:after {
\
n content:
\'\'
;
\
n display: block;
\
n clear: both;
\
n}
\
n::-webkit-scrollbar-track-piece {
\
n border-radius: 10px;
\
n}
\
n::-webkit-scrollbar {
\
n width: 5px;
\
n height: 5px;
\
n}
\
n::-webkit-scrollbar-thumb {
\
n background-color: #999;
\
n border-radius: 10px;
\
n height: 10px;
\
n min-height: 10px;
\
n}
\
n.demo-table-expand {
\
n font-size: 0;
\
n}
\
n.demo-table-expand label {
\
n width: 90px;
\
n color: #99a9bf;
\
n}
\
n.demo-table-expand .el-form-item {
\
n margin-right: 0;
\
n margin-bottom: 0;
\
n width: 50%;
\
n}
\
n.periods {
\
n padding: 20px 0;
\
n}
\
n'
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/periods/index.vue"
],
names
:[],
mappings
:
";AACA;EACE,kBAAkB;CACnB;AACD;EACE,kBAAkB;EAClB,cAAc;EACd,eAAe;CAChB;AACD;EACE,aAAa;EACb,kBAAkB;CACnB;AACD;EACE,aAAa;CACd;AACD;EACE,mBAAmB;CACpB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,eAAe;CAChB;AACD;EACE,kBAAkB;CACnB;AACD;EACE,YAAY;EACZ,kBAAkB;EAClB,aAAa;CACd;AACD;EACE,0IAA0H;CAC3H;AACD;EACE,YAAY;EACZ,eAAe;EACf,YAAY;CACb;AACD;EACE,oBAAoB;CACrB;AACD;EACE,WAAW;EACX,YAAY;CACb;AACD;EACE,uBAAuB;EACvB,oBAAoB;EACpB,aAAa;EACb,iBAAiB;CAClB;AACD;EACE,aAAa;CACd;AACD;EACE,YAAY;EACZ,eAAe;CAChB;AACD;EACE,gBAAgB;EAChB,iBAAiB;EACjB,WAAW;CACZ;AACD;EACE,gBAAgB;CACjB"
,
file
:
"index.vue"
,
sourcesContent
:[
'
\
n.search-btn-block {
\
n margin-left: 20px;
\
n}
\
n.search-form {
\
n background: white;
\
n padding: 10px;
\
n margin: 10px 0;
\
n}
\
n.new-block {
\
n margin: 10px;
\
n text-align: right;
\
n}
\
n.fl-r {
\
n float: right;
\
n}
\
n.text-c {
\
n text-align: center;
\
n}
\
n.text-b {
\
n font-weight: bold;
\
n}
\
n.color-b {
\
n color: #6ba8e6;
\
n}
\
n.text-r {
\
n text-align: right;
\
n}
\
n.main-block {
\
n margin: 5px;
\
n background: white;
\
n padding: 5px;
\
n}
\
nhtml {
\
n font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
\
n}
\
n.clear-both:after {
\
n content:
\'\'
;
\
n display: block;
\
n clear: both;
\
n}
\
n::-webkit-scrollbar-track-piece {
\
n border-radius: 10px;
\
n}
\
n::-webkit-scrollbar {
\
n width: 5px;
\
n height: 5px;
\
n}
\
n::-webkit-scrollbar-thumb {
\
n background-color: #999;
\
n border-radius: 10px;
\
n height: 10px;
\
n min-height: 10px;
\
n}
\
n.demo-table-expand {
\
n font-size: 0;
\
n}
\
n.demo-table-expand label {
\
n width: 90px;
\
n color: #99a9bf;
\
n}
\
n.demo-table-expand .el-form-item {
\
n margin-right: 0;
\
n margin-bottom: 0;
\
n width: 50%;
\
n}
\
n.periods {
\
n padding: 20px 0;
\
n}
\
n'
],
sourceRoot
:
""
}])},
iYnt
:
function
(
n
,
e
,
t
){
var
o
=
t
(
"l9ol"
);
"string"
==
typeof
o
&&
(
o
=
[[
n
.
i
,
o
,
""
]]),
o
.
locals
&&
(
n
.
exports
=
o
.
locals
);
t
(
"rjj0"
)(
"5ccef541"
,
o
,
!
1
,{})},
l9ol
:
function
(
n
,
e
,
t
){(
n
.
exports
=
t
(
"FZ+f"
)(
!
0
)).
push
([
n
.
i
,
"
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
"
,
""
,{
version
:
3
,
sources
:[],
names
:[],
mappings
:
""
,
file
:
"newDialog.vue"
,
sourceRoot
:
""
}])}});
\ No newline at end of file
dev/static/js/manifest.9747f670e7748b47934d.js
0 → 100644
View file @
a27724a1
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
a
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
a
.
length
;
i
++
)
t
=
a
[
i
],
d
[
t
]
&&
u
.
push
(
d
[
t
][
0
]),
d
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
c
&&
c
(
a
,
b
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
f
(
f
.
s
=
n
[
i
]);
return
o
};
var
a
=
{},
d
=
{
56
:
0
};
function
f
(
c
){
if
(
a
[
c
])
return
a
[
c
].
exports
;
var
d
=
a
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
d
.
exports
,
d
,
d
.
exports
,
f
),
d
.
l
=!
0
,
d
.
exports
}
f
.
e
=
function
(
e
){
var
c
=
d
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
a
=
new
Promise
(
function
(
a
,
f
){
c
=
d
[
e
]
=
[
a
,
f
]});
c
[
2
]
=
a
;
var
b
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
f
.
nc
&&
n
.
setAttribute
(
"nonce"
,
f
.
nc
),
n
.
src
=
f
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"30d1575fd5f1867077ab"
,
1
:
"b8e8179c3856fba7a47f"
,
2
:
"4eda407a20ef5bc85dc3"
,
3
:
"054c41a3bbc48814da81"
,
4
:
"8f1b09078a1897b924fa"
,
5
:
"16b75f02cc38e59dce0b"
,
6
:
"11bcb83ab5003fc176a0"
,
7
:
"6f7288a40d6ae27e52b6"
,
8
:
"e74c416e590c65226d61"
,
9
:
"0bf1f77873948dbbf325"
,
10
:
"013ceb721accde0d92e0"
,
11
:
"7e13dee827dd073a2d31"
,
12
:
"24230cd8cc0c3bde3296"
,
13
:
"f50e271d1470cb0dfa92"
,
14
:
"350e3cc1e814770915e3"
,
15
:
"ad2260950a27e9c4f73e"
,
16
:
"7713e9acff0d0affc6e5"
,
17
:
"563facb259aa65d74809"
,
18
:
"cdd8e4075640ad5f5c85"
,
19
:
"833fd6d0aa29618468c5"
,
20
:
"1d8b5dda0bc80e46394b"
,
21
:
"6d7f89fc0a8b5d7f9b4b"
,
22
:
"abada0c9eb8dd4c00ea5"
,
23
:
"692db527f34abf901b35"
,
24
:
"a16d7b7d0839a445dcca"
,
25
:
"c2edc2e1169a0f9ce455"
,
26
:
"928e2c49eba5a9d21cf5"
,
27
:
"c06b189cc1436bf4373e"
,
28
:
"c661ebb6917587959570"
,
29
:
"11a949172e20bd07be2e"
,
30
:
"7d20ad753a8f40d2e0e0"
,
31
:
"90c579f3240da6fc68ba"
,
32
:
"6127731062bfcb3de75c"
,
33
:
"832fa550dd85ffb04d94"
,
34
:
"8ae1df0bedda2578578f"
,
35
:
"7ad4a98c93abaf6eb2c6"
,
36
:
"7bfaf51717c86e65c120"
,
37
:
"01c7b4ed077e6ce1be36"
,
38
:
"ee86682eefcf3c19d5be"
,
39
:
"f0951057562b1a737e45"
,
40
:
"c203a97e2a3efa3c0d26"
,
41
:
"567e7c1d9cbd0d9ed72e"
,
42
:
"e455ead31de5076c54a4"
,
43
:
"790e9555b1ee2e9221d3"
,
44
:
"2a563b8a9904cc6c691c"
,
45
:
"de5778b0f29df0610ad1"
,
46
:
"2b6bd996d5e1d9b81baf"
,
47
:
"4787ff23f021c16defb9"
,
48
:
"ee634714fb9e4bc14d70"
,
49
:
"50bc67b3a14ef2fe4e89"
,
50
:
"9b7e075b4b2d4aff7d55"
,
51
:
"1e44d487abfa7b7651bc"
,
52
:
"5ad0885cabf077d56aa8"
,
53
:
"9b07e7af58cbe192873a"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
c
=
d
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
d
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
a
},
f
.
m
=
e
,
f
.
c
=
a
,
f
.
d
=
function
(
e
,
c
,
a
){
f
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
a
})},
f
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
f
.
d
(
c
,
"a"
,
c
),
c
},
f
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
f
.
p
=
"/"
,
f
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
dist/index.html
View file @
a27724a1
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.c2a7675e9649cd80ba4a1024e8fdadfb.css
rel=
stylesheet
></head><body><script
src=
https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js
></script><script
src=
https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
7ea351354fc3dc98f82e
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.1989ff930c83bbe25dc0.js
></script><script
type=
text/javascript
src=
/static/js/app.7ef55348aacbcf56cd7e.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.c2a7675e9649cd80ba4a1024e8fdadfb.css
rel=
stylesheet
></head><body><script
src=
https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js
></script><script
src=
https://cdn.jsdelivr.net/npm/vuex@3.0.1/dist/vuex.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js
></script><script
src=
https://cdn.jsdelivr.net/npm/element-ui@2.4.9/lib/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
05f7ec1aca832ab0289c
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.1989ff930c83bbe25dc0.js
></script><script
type=
text/javascript
src=
/static/js/app.7ef55348aacbcf56cd7e.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
};
...
...
dist/static/js/23.b98a8c7ba5c0ec2e12ce.js
0 → 100644
View file @
a27724a1
webpackJsonp
([
23
],{
GKQR
:
function
(
e
,
t
){},
P8XR
:
function
(
e
,
t
){},
XjFf
:
function
(
e
,
t
){},
ayGs
:
function
(
e
,
t
,
o
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
=
o
(
"CCn6"
),
r
=
o
(
"+TkF"
),
n
=
o
(
"kmJW"
),
s
=
{
props
:[
"dialogObj"
],
data
:
function
(){
return
{
nowPage
:
1
,
total
:
0
,
goodList
:[],
currentRow
:
null
}},
components
:{
page
:
n
.
a
},
filters
:{
isOrNot
:
function
(
e
){
return
r
.
o
[
e
]},
goodsType
:
function
(
e
){
return
r
.
h
[
e
]},
lessonType
:
function
(
e
){
return
r
.
p
[
e
]},
goodsStatus
:
function
(
e
){
return
r
.
g
[
e
]}},
methods
:{
initPage
:
function
(){
var
e
=
this
;
Object
(
a
.
_41
)().
then
(
function
(
t
){
e
.
goodList
=
t
.
list
,
e
.
total
=
t
.
total
})},
handleCurrentChange
:
function
(
e
){
this
.
currentRow
=
e
},
onConfirm
:
function
(){
this
.
$emit
(
"reflash"
,
this
.
currentRow
)}},
mounted
:
function
(){
this
.
initPage
()}},
i
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,[
o
(
"el-dialog"
,{
attrs
:{
title
:
e
.
dialogObj
.
title
,
visible
:
e
.
dialogObj
.
show
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
dialogObj
,
"show"
,
t
)}}},[
o
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
goodList
,
"row-key"
:
"id"
,
"highlight-current-row"
:
""
},
on
:{
"current-change"
:
e
.
handleCurrentChange
}},[
o
(
"el-table-column"
,{
attrs
:{
prop
:
"id"
,
label
:
"商品ID"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"商品类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsType"
)(
t
.
row
.
goods_type
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"现价"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
current_price
/
100
)
+
"元
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"课程类别"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"lessonType"
)(
t
.
row
.
course_type
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"是否有实物"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"isOrNot"
)(
t
.
row
.
is_real
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsStatus"
)(
t
.
row
.
status
))
+
"
\n
"
)]}}])})],
1
),
e
.
_v
(
" "
),
o
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
}}),
e
.
_v
(
" "
),
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialogObj
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onConfirm
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
l
=
o
(
"VU/8"
)(
s
,
i
,
!
1
,
function
(
e
){
o
(
"XjFf"
)},
"data-v-bf015d34"
,
null
).
exports
,
c
=
{
props
:[
"dialogObj"
],
data
:
function
(){
return
{
loading
:
!
1
,
form
:{
is_add_teacher_to_class
:
!
1
,
teacherList
:[],
viewTeacher
:
""
,
rest_week_day
:[],
title
:
""
,
goods_id
:
""
},
show
:
!
1
,
viewTeacher
:
""
,
pickerOptions1
:{
disabledDate
:
function
(
e
){
return
!
(
e
.
getTime
()
>
Date
.
now
())}},
options
:[{
value
:
0
,
label
:
"周日"
},{
value
:
1
,
label
:
"周一"
},{
value
:
2
,
label
:
"周二"
},{
value
:
3
,
label
:
"周三"
},{
value
:
4
,
label
:
"周四"
},{
value
:
5
,
label
:
"周五"
},{
value
:
6
,
label
:
"周六"
}],
teacherOptions
:[],
teacher1Options
:[],
teacher2Options
:[],
goodList
:[],
itemOptions
:[],
rules
:{
title
:[{
required
:
!
0
,
message
:
"请输入名称"
,
trigger
:
"change"
}],
startNum
:[{
required
:
!
0
,
message
:
"请输入开始主题"
,
trigger
:
"change"
}],
start_at
:[{
required
:
!
0
,
message
:
"请选择开始上课时间"
,
trigger
:
"change"
}],
rest_week_day
:[{
required
:
!
0
,
message
:
"请选择周几不上课"
,
trigger
:
"change"
}],
teacher_ids
:[{
required
:
!
0
,
message
:
"请选择老师ID"
,
trigger
:
"change"
}],
goods_id
:[{
required
:
!
0
,
message
:
"商品ID不能为空"
,
trigger
:
"change"
}],
teacherList
:[{
required
:
!
0
,
message
:
"带班老师不能为空"
,
trigger
:
"change"
}],
viewTeacher
:[{
required
:
!
0
,
message
:
"观摩老师不能为空"
,
trigger
:
"change"
}]},
periodsList
:[],
selectedGoods
:[]}},
components
:{
goodDialog
:
l
},
watch
:{
"dialogObj.show"
:
function
(
e
){
e
&&
(
this
.
getTeachers
(),
this
.
getGoodsOption
())},
show
:
function
(
e
){
this
.
$emit
(
"changeShow"
,
e
)}},
filters
:{
isOrNot
:
function
(
e
){
return
r
.
o
[
e
]},
goodsType
:
function
(
e
){
return
r
.
h
[
e
]},
lessonType
:
function
(
e
){
return
r
.
p
[
e
]},
goodsStatus
:
function
(
e
){
return
r
.
g
[
e
]},
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
r
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
}},
methods
:{
sub
:
function
(){
var
e
=
this
;
this
.
$refs
.
form
.
validate
(
function
(
t
){
if
(
t
){
var
o
=
e
.
form
.
goods_id
,
r
=
{
title
:
e
.
form
.
title
,
start_num
:
e
.
form
.
startNum
,
start_at
:
e
.
form
.
start_at
,
rest_week_day
:
e
.
form
.
rest_week_day
?
e
.
form
.
rest_week_day
.
join
(
","
):
""
};
r
.
is_add_teacher_to_class
=
e
.
form
.
is_add_teacher_to_class
?
1
:
0
,
e
.
form
.
id
?
Object
(
a
.
_37
)(
e
.
form
.
id
,
r
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"编辑成功!"
}),
e
.
$emit
(
"reflash"
)}):(
r
.
teacher_ids
=
e
.
form
.
teacherList
.
join
(
","
),
r
.
view_teacher_id
=
parseInt
(
e
.
form
.
viewTeacher
),
Object
(
a
.
_16
)(
o
,
r
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"添加成功!"
}),
e
.
$emit
(
"reflash"
)})),
e
.
show
=!
1
}})},
getTeachers
:
function
(){
var
e
=
this
;
Object
(
a
.
_74
)({
page
:
1
,
limit
:
100
,
status
:
0
}).
then
(
function
(
t
){
e
.
teacherOptions
=
t
.
list
,
e
.
teacher1Options
=
t
.
list
,
e
.
teacher2Options
=
t
.
list
})},
findDifferentArray
:
function
(
e
,
t
){
var
o
=
[];
return
e
.
forEach
(
function
(
t
){
-
1
===
e
.
findIndex
(
function
(
e
){
return
t
.
id
==
e
})
&&
o
.
push
(
t
)}),
o
},
onTeacher1Change
:
function
(
e
){
this
.
teacher2Options
=
e
?
this
.
findDifferentArray
(
this
.
teacherOptions
,
e
):
this
.
teacherOptions
},
onTeacher2Change
:
function
(
e
){
this
.
teacher1Options
=
e
?
this
.
findDifferentArray
(
this
.
teacherOptions
,[
e
]):
this
.
teacherOptions
},
onOptionChange
:
function
(
e
){
var
t
=
this
.
goodList
.
findIndex
(
function
(
t
){
return
t
.
id
===
e
});
t
>-
1
&&
this
.
getLessonDetail
(
this
.
goodList
[
t
].
course_id
),
delete
this
.
form
.
startNum
},
getLessonDetail
:
function
(
e
){
var
t
=
this
;
Object
(
a
.
_45
)(
e
,{}).
then
(
function
(
e
){
t
.
itemOptions
=
e
.
detail
[
e
.
type
]})},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
a
.
_41
)({
page
:
1
,
goods_type
:
"1,2"
,
limit
:
100
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
,
e
.
dialogObj
.
form
.
id
?
e
.
form
=
e
.
dialogObj
.
form
:
e
.
form
=
{
rest_week_day
:[],
is_add_teacher_to_class
:
!
1
,
teacherList
:[],
viewTeacher
:
""
,
title
:
""
,
goods_id
:
""
},
e
.
dialogObj
.
form
.
course_id
&&
e
.
getLessonDetail
(
e
.
dialogObj
.
form
.
course_id
),
e
.
show
=
e
.
dialogObj
.
show
})},
changePeriods
:
function
(
e
){
e
.
length
>
1
&&
(
this
.
form
.
title
=
String
(
e
[
1
]))},
handleItemChange
:
function
(
e
){
var
t
=
this
;
Object
(
a
.
_54
)({
goods_id
:
e
[
0
]}).
then
(
function
(
o
){
o
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
periodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
o
.
list
})}}},
u
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,[
o
(
"el-dialog"
,{
attrs
:{
title
:
e
.
dialogObj
.
title
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
e
.
show
,
width
:
"800px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
show
=
t
}}},[
o
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
e
.
loading
,
expression
:
"loading"
}]},[
o
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
e
.
form
,
"label-width"
:
"120px"
,
rules
:
e
.
rules
}},[
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
10
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
,
prop
:
"goods_id"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
disabled
:
!!
e
.
form
.
id
},
on
:{
change
:
e
.
onOptionChange
},
model
:{
value
:
e
.
form
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"goods_id"
,
t
)},
expression
:
"form.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
a
){
return
o
(
"el-option"
,{
key
:
a
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"title"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
title
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"title"
,
t
)},
expression
:
"form.title"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"开始主题"
,
prop
:
"startNum"
}},[
o
(
"el-select"
,{
attrs
:{
clearable
:
""
,
placeholder
:
"请选择"
},
model
:{
value
:
e
.
form
.
startNum
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"startNum"
,
t
)},
expression
:
"form.startNum"
}},
e
.
_l
(
e
.
itemOptions
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"开始上课时间"
,
prop
:
"start_at"
}},[
o
(
"el-date-picker"
,{
attrs
:{
format
:
"yyyy-MM-dd"
,
"value-format"
:
"yyyy-MM-dd"
,
type
:
"date"
,
"picker-options"
:
e
.
pickerOptions1
,
placeholder
:
"选择日期"
},
model
:{
value
:
e
.
form
.
start_at
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"start_at"
,
t
)},
expression
:
"form.start_at"
}})],
1
),
e
.
_v
(
" "
),
e
.
form
.
id
?
e
.
_e
():
o
(
"el-form-item"
,{
attrs
:{
label
:
"带班老师"
,
prop
:
"teacherList"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
,
multiple
:
""
},
on
:{
change
:
e
.
onTeacher1Change
},
model
:{
value
:
e
.
form
.
teacherList
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"teacherList"
,
t
)},
expression
:
"form.teacherList"
}},
e
.
_l
(
e
.
teacher1Options
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
e
.
form
.
id
?
e
.
_e
():
o
(
"el-form-item"
,{
attrs
:{
label
:
"观摩老师"
,
prop
:
"viewTeacher"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
},
on
:{
change
:
e
.
onTeacher2Change
},
model
:{
value
:
e
.
form
.
viewTeacher
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"viewTeacher"
,
t
)},
expression
:
"form.viewTeacher"
}},
e
.
_l
(
e
.
teacher2Options
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
e
.
form
.
id
?
e
.
_e
():
o
(
"el-form-item"
,{
attrs
:{
label
:
"将带班老师加入观摩班"
,
"label-width"
:
"200"
}},[
o
(
"el-switch"
,{
attrs
:{
"active-color"
:
"#13ce66"
,
"inactive-color"
:
"#eee"
},
model
:{
value
:
e
.
form
.
is_add_teacher_to_class
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_add_teacher_to_class"
,
t
)},
expression
:
"form.is_add_teacher_to_class"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"不上课日期"
}},[
o
(
"el-select"
,{
attrs
:{
multiple
:
""
,
placeholder
:
"请选择"
},
model
:{
value
:
e
.
form
.
rest_week_day
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"rest_week_day"
,
t
)},
expression
:
"form.rest_week_day"
}},
e
.
_l
(
e
.
options
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
value
,
attrs
:{
label
:
e
.
label
,
value
:
e
.
value
}})}))],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
sub
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)])],
1
)},
staticRenderFns
:[]};
var
d
=
o
(
"VU/8"
)(
c
,
u
,
!
1
,
function
(
e
){
o
(
"P8XR"
)},
"data-v-173cda45"
,
null
).
exports
,
_
=
o
(
"sf/l"
),
f
=
{
name
:
"index"
,
data
:
function
(){
return
{
nowPage
:
1
,
total
:
0
,
limit
:
10
,
course_type
:
"1"
,
title
:
""
,
goodsId
:
null
,
lessonId
:
null
,
startAt
:
""
,
periodList
:[],
startTime
:[],
newDialog
:{
form
:{},
show
:
!
1
,
title
:
""
},
goodList
:[],
lessonList
:[]}},
filters
:{
dayFilter
:
function
(
e
){
var
t
=
e
?
e
.
split
(
","
):[];
return
(
t
=
t
.
map
(
function
(
e
){
return
r
.
y
[
e
]})).
join
(
","
)},
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
r
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
},
percent
:
function
(
e
){
return
(
100
*
e
).
toFixed
(
2
)
+
"%"
}},
components
:{
goodDialog
:
l
,
newDialog
:
d
,
page
:
n
.
a
},
methods
:{
changeRow
:
function
(
e
,
t
){
t
.
indexOf
(
e
)
>-
1
&&
Object
(
a
.
_56
)(
e
.
id
).
then
(
function
(
t
){
e
.
arrive_course_rate
=
t
.
arrive_course_rate
,
e
.
watch_course_rate
=
t
.
watch_course_rate
,
e
.
over_course_rate
=
t
.
over_course_rate
,
e
.
work_rate
=
t
.
work_rate
,
e
.
over_work_rate
=
t
.
over_work_rate
,
e
.
clock_rate
=
t
.
clock_rate
,
e
.
over_clock_rate
=
t
.
over_clock_rate
,
e
.
transform_rate
=
t
.
transform_rate
})},
dateCompare
:
function
(
e
){
var
t
=
_
.
a
.
dateFmt
(
new
Date
,
"yyyy-MM-dd"
);
return
new
Date
(
t
.
replace
(
/-/g
,
"/"
))
>
new
Date
(
e
.
replace
(
/-/g
,
"/"
))},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
onSearch
()},
onSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
onSearch
()},
onSearch
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
"-1"
!==
this
.
course_type
&&
(
t
.
course_type
=
this
.
course_type
),
this
.
title
&&
(
t
.
title
=
this
.
title
),
this
.
goodsId
&&
(
t
.
goods_id
=
this
.
goodsId
),
this
.
lessonId
&&
(
t
.
course_id
=
this
.
lessonId
),
this
.
startTime
&&
this
.
startTime
.
length
>
0
&&
(
t
.
start_start_at
=
_
.
a
.
dateFmt
(
this
.
startTime
[
0
],
"yyyy-MM-dd"
),
t
.
start_end_at
=
_
.
a
.
dateFmt
(
this
.
startTime
[
1
],
"yyyy-MM-dd"
)),
this
.
startAt
&&
(
t
.
start_at
=
this
.
startAt
),
Object
(
a
.
_54
)(
t
).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
arrive_course_rate
=
0
,
e
.
watch_course_rate
=
0
,
e
.
over_course_rate
=
0
,
e
.
work_rate
=
0
,
e
.
over_work_rate
=
0
,
e
.
clock_rate
=
0
,
e
.
over_clock_rate
=
0
,
e
.
transform_rate
=
0
}),
e
.
periodList
=
t
.
list
,
e
.
total
=
t
.
total
})},
changeShow
:
function
(
e
){
this
.
newDialog
.
show
=
e
},
onAdd
:
function
(){
this
.
newDialog
.
form
.
id
=
""
,
this
.
newDialog
.
form
.
startNum
=
""
,
this
.
newDialog
.
form
.
goods_id
=
""
,
this
.
newDialog
.
form
.
title
=
""
,
this
.
newDialog
.
form
.
start_at
=
""
,
this
.
newDialog
.
form
.
rest_week_day
=
[],
this
.
newDialog
.
form
.
teacher_ids
=
[],
this
.
newDialog
.
form
.
teacherList
=
[],
this
.
newDialog
.
form
.
viewTeacher
=
""
,
this
.
newDialog
.
title
=
"添加期数"
,
this
.
newDialog
.
show
=!
0
},
onEdit
:
function
(
e
){
if
(
this
.
dateCompare
(
e
.
start_at
))
this
.
$message
({
type
:
"error"
,
message
:
"期数已开始,不能编辑!"
});
else
{
var
t
=
[];
e
.
rest_week_day
&&
e
.
rest_week_day
.
split
(
","
).
forEach
(
function
(
e
){
t
.
push
(
parseInt
(
e
))});
var
o
=
[];
e
.
teacher_ids
&&
e
.
teacher_ids
.
split
(
","
).
forEach
(
function
(
e
){
o
.
push
(
parseInt
(
e
))}),
this
.
newDialog
.
form
=
{
id
:
e
.
id
,
startNum
:
e
.
start_num
,
start_at
:
e
.
start_at
,
title
:
e
.
title
,
goods_id
:
e
.
goods_id
,
rest_week_day
:
t
,
teacher_ids
:
o
,
course_id
:
e
.
course_id
},
this
.
newDialog
.
title
=
"编辑期数"
,
this
.
newDialog
.
show
=!
0
}},
onSave
:
function
(
e
){
this
.
newDialog
.
show
=!
1
,
this
.
onSearch
()},
del
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将删除该期数?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
M
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
}),
t
.
onSearch
()})})},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
a
.
_41
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
})},
getLessonOption
:
function
(){
var
e
=
this
;
Object
(
a
.
_44
)({
page
:
1
,
limit
:
100
}).
then
(
function
(
t
){
e
.
lessonList
=
t
.
list
})}},
mounted
:
function
(){
var
e
=
this
.
$route
.
query
;
e
&&
e
.
goods_id
?
this
.
goodsId
=
parseInt
(
e
.
goods_id
):
e
&&
e
.
id
&&
(
this
.
lessonId
=
parseInt
(
e
.
id
)),
this
.
onSearch
(),
this
.
getGoodsOption
(),
this
.
getLessonOption
()}},
h
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,{
staticClass
:
"periods"
},[
o
(
"div"
,{
staticClass
:
"form-block"
},[
o
(
"el-form"
,{
attrs
:{
"label-width"
:
"85px"
,
inline
:
""
,
size
:
"small"
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"期数标题"
}},[
o
(
"el-input"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请输入内容"
,
clearable
:
""
},
model
:{
value
:
e
.
title
,
callback
:
function
(
t
){
e
.
title
=
t
},
expression
:
"title"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
o
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
onSearch
},
model
:{
value
:
e
.
goodsId
,
callback
:
function
(
t
){
e
.
goodsId
=
t
},
expression
:
"goodsId"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
a
){
return
o
(
"el-option"
,{
key
:
a
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程名称"
}},[
o
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
onSearch
},
model
:{
value
:
e
.
lessonId
,
callback
:
function
(
t
){
e
.
lessonId
=
t
},
expression
:
"lessonId"
}},
e
.
_l
(
e
.
lessonList
,
function
(
e
,
t
){
return
o
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"开始时间"
}},[
o
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
onSearch
},
model
:{
value
:
e
.
startTime
,
callback
:
function
(
t
){
e
.
startTime
=
t
},
expression
:
"startTime"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,[
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onSearch
}},[
e
.
_v
(
"查询"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
o
(
"el-button"
,{
attrs
:{
type
:
"success"
,
size
:
"small"
},
on
:{
click
:
e
.
onAdd
}},[
e
.
_v
(
"添加期数"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
onSearch
},
model
:{
value
:
e
.
course_type
,
callback
:
function
(
t
){
e
.
course_type
=
t
},
expression
:
"course_type"
}},[
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"日课"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"月课"
,
name
:
"0"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"mini"
,
data
:
e
.
periodList
,
fixed
:
""
},
on
:{
"expand-change"
:
e
.
changeRow
}},[
o
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:[
t
.
row
]}},[
o
(
"el-table-column"
,{
attrs
:{
label
:
"到课率"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
arrive_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"看课率"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
watch_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"完课率"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
over_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"打卡率"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
clock_rate
)))])]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"全勤打卡率"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
over_clock_rate
)))])]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"转化率"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
transform_rate
)))])]}}])})],
1
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"期数标题"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"router-link"
,{
attrs
:{
to
:{
name
:
"class"
,
query
:{
goods_id
:
t
.
row
.
goods_id
,
periods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
title
)
+
"
\n
"
)])]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"商品价格"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
goods_price
/
100
)
+
"元
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"course_title"
,
label
:
"课程名称"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"start_name"
,
label
:
"开始主题/歌"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"current_category_name"
,
label
:
"当前歌曲"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"看课情况"
,
"min-width"
:
"150"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
可看课包数: "
+
e
.
_s
(
t
.
row
.
watch_num
)),
o
(
"br"
),
e
.
_v
(
" 已看课包数:"
+
e
.
_s
(
t
.
row
.
has_watch_num
)
+
" "
),
o
(
"br"
),
e
.
_v
(
" "
),
9999
!==
t
.
row
.
duration_num
?
o
(
"span"
,[
e
.
_v
(
"续看课包数: "
+
e
.
_s
(
t
.
row
.
duration_num
)),
o
(
"br"
),
e
.
_v
(
" 已续看课包数:"
+
e
.
_s
(
t
.
row
.
has_duration_num
))]):
e
.
_e
(),
e
.
_v
(
" "
),
9999
===
t
.
row
.
duration_num
?
o
(
"span"
,{
staticStyle
:{
color
:
"#00af00"
}},[
e
.
_v
(
"永久观看"
)]):
e
.
_e
()]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"不上课日期"
,
"min-width"
:
"120"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"dayFilter"
)(
t
.
row
.
rest_week_day
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"总学员数"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
total_user_num
?
t
.
row
.
total_user_num
:
""
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"watch_total_user_num"
,
label
:
"可看课学员数"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"duration_over_at"
,
label
:
"开课看课时间"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
第一天开课:"
+
e
.
_s
(
t
.
row
.
start_at
)
+
"
\n
"
),
o
(
"br"
),
e
.
_v
(
"
\n
最后一天开课:"
+
e
.
_s
(
t
.
row
.
over_at
)
+
"
\n
"
),
o
(
"br"
),
e
.
_v
(
"
\n
最后一天上课:"
+
e
.
_s
(
t
.
row
.
duration_over_at
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"start_at"
,
label
:
"起止时间"
,
sortable
:
""
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
start_at
)
+
"
\n
"
),
o
(
"br"
),
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
over_at
?
t
.
row
.
over_at
:
""
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"创建时间"
,
sortable
:
""
}}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
o
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
,
width
:
"148"
,
fixed
:
"right"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
onEdit
(
t
.
row
)}}},[
e
.
_v
(
"
\n
编辑
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
deletePermission
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
del
(
t
.
row
)}}},[
e
.
_v
(
"
\n
删除
\n
"
)]):
e
.
_e
()]}}])})],
1
),
e
.
_v
(
" "
),
o
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
o
(
"new-dialog"
,{
attrs
:{
dialogObj
:
e
.
newDialog
},
on
:{
reflash
:
e
.
onSave
,
changeShow
:
e
.
changeShow
}})],
1
)},
staticRenderFns
:[]};
var
m
=
o
(
"VU/8"
)(
f
,
h
,
!
1
,
function
(
e
){
o
(
"GKQR"
)},
null
,
null
);
t
.
default
=
m
.
exports
}});
\ No newline at end of file
dist/static/js/manifest.05f7ec1aca832ab0289c.js
0 → 100644
View file @
a27724a1
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
a
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
a
.
length
;
i
++
)
t
=
a
[
i
],
d
[
t
]
&&
u
.
push
(
d
[
t
][
0
]),
d
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
c
&&
c
(
a
,
b
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
f
(
f
.
s
=
n
[
i
]);
return
o
};
var
a
=
{},
d
=
{
56
:
0
};
function
f
(
c
){
if
(
a
[
c
])
return
a
[
c
].
exports
;
var
d
=
a
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
d
.
exports
,
d
,
d
.
exports
,
f
),
d
.
l
=!
0
,
d
.
exports
}
f
.
e
=
function
(
e
){
var
c
=
d
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
a
=
new
Promise
(
function
(
a
,
f
){
c
=
d
[
e
]
=
[
a
,
f
]});
c
[
2
]
=
a
;
var
b
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
f
.
nc
&&
n
.
setAttribute
(
"nonce"
,
f
.
nc
),
n
.
src
=
f
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"5e68a78fd0f32efc3cfa"
,
1
:
"04f7a18d2118f415b2c2"
,
2
:
"8e269d9ef27759b24b4f"
,
3
:
"32266d6ca4e9d370e7df"
,
4
:
"99d84f433fd7ffee7616"
,
5
:
"0644a1e56354f81d97c9"
,
6
:
"6162cf04b3490b3b3c7d"
,
7
:
"22364fc1ff57b689dd83"
,
8
:
"0ad260cb39e071a7e196"
,
9
:
"eb7af95ba1cc45d9f961"
,
10
:
"7e5b32e8fff3ed732e38"
,
11
:
"b873b43823e842b29cc5"
,
12
:
"6b3c4021c112527009d8"
,
13
:
"29ace0e8488b7adce350"
,
14
:
"dae2eb114893d0442b83"
,
15
:
"494aeeb4bfc2f0928f47"
,
16
:
"0bd1729330a54f9aa776"
,
17
:
"d0073f252d431dd96c54"
,
18
:
"267101b8acb86776b942"
,
19
:
"ce59be62646b4f29bbd6"
,
20
:
"4d15a5a9ea5d18dd4392"
,
21
:
"3756047a6c83dc1d5bf1"
,
22
:
"c5b48b47880b8d0a1a17"
,
23
:
"b98a8c7ba5c0ec2e12ce"
,
24
:
"949d45883ca71d115941"
,
25
:
"081ccb24ef96f5c31db6"
,
26
:
"df7561440cda5b57dc0c"
,
27
:
"62bf1ecc550abfb4f3ef"
,
28
:
"c412778a77bac91c412e"
,
29
:
"12cd5dbdd56ac9ff8d9c"
,
30
:
"b5d508d2db8c8ead6ba2"
,
31
:
"af3df5496344fe283d51"
,
32
:
"66a0f6fb1c81146cc66a"
,
33
:
"1ad655fea39320797385"
,
34
:
"b3521767a9ef34c01dd2"
,
35
:
"ed2a0730646ada932475"
,
36
:
"81ea632ea9eda16746d1"
,
37
:
"da0e79090eac9663a951"
,
38
:
"f22ca177cbf43b4da6e5"
,
39
:
"ee96f35a78ac4da4b002"
,
40
:
"61ebeb81d472233d7c07"
,
41
:
"c68b38e419700f2360f2"
,
42
:
"763a06dd5a8f1c294ed8"
,
43
:
"d6ca3244eabb41bd433c"
,
44
:
"1f8cbc823545dc0ead73"
,
45
:
"72321842f166e7cb07d2"
,
46
:
"6160a0396be5fae604fd"
,
47
:
"5b61065fd15ec856d2ad"
,
48
:
"b163cd5e2750e3f00800"
,
49
:
"1e74e50f9ff025c63601"
,
50
:
"1848c1e06098fda64d9b"
,
51
:
"3ce59ce3d8e6a8bedda9"
,
52
:
"cca2d0f53a2a04ffbf90"
,
53
:
"3fbb9128e343b4c43134"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
c
=
d
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
d
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
a
},
f
.
m
=
e
,
f
.
c
=
a
,
f
.
d
=
function
(
e
,
c
,
a
){
f
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
a
})},
f
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
f
.
d
(
c
,
"a"
,
c
),
c
},
f
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
f
.
p
=
"/"
,
f
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/components/periods/index.vue
View file @
a27724a1
...
@@ -151,6 +151,18 @@
...
@@ -151,6 +151,18 @@
<el-table-column
<el-table-column
prop=
"watch_total_user_num"
prop=
"watch_total_user_num"
label=
"可看课学员数"
>
label=
"可看课学员数"
>
</el-table-column>
<el-table-column
prop=
"duration_over_at"
label=
"开课看课时间"
>
<
template
slot-scope=
"scope"
>
第一天开课:
{{
scope
.
row
.
start_at
}}
<br>
最后一天开课:
{{
scope
.
row
.
over_at
}}
<br>
最后一天上课:
{{
scope
.
row
.
duration_over_at
}}
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"start_at"
prop=
"start_at"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment