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
0e68b495
Commit
0e68b495
authored
Jul 15, 2019
by
chenyishuai@singsingenglish.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
715
parent
7a8f24e1
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
27 additions
and
7 deletions
+27
-7
index.html
dev/index.html
+1
-1
43.f718297d5cbc2399ce97.js
dev/static/js/43.f718297d5cbc2399ce97.js
+1
-0
44.7ec44f018baad95c0271.js
dev/static/js/44.7ec44f018baad95c0271.js
+1
-0
46.63fd71f872ccf15087f0.js
dev/static/js/46.63fd71f872ccf15087f0.js
+1
-0
53.f4e4f621dcb40995c8e1.js
dev/static/js/53.f4e4f621dcb40995c8e1.js
+1
-0
57.3499d1537575c2bbeae3.js
dev/static/js/57.3499d1537575c2bbeae3.js
+1
-0
manifest.79be670912f57febd686.js
dev/static/js/manifest.79be670912f57febd686.js
+1
-0
index.html
dist/index.html
+1
-1
43.3f0c57bd71428fb4d2ac.js
dist/static/js/43.3f0c57bd71428fb4d2ac.js
+1
-0
46.ed6ea196fd550901db2f.js
dist/static/js/46.ed6ea196fd550901db2f.js
+1
-0
49.94f4417a5dabe7a020df.js
dist/static/js/49.94f4417a5dabe7a020df.js
+1
-0
50.9baf5814b410298452db.js
dist/static/js/50.9baf5814b410298452db.js
+1
-0
51.8dabef03a7b89a2ee527.js
dist/static/js/51.8dabef03a7b89a2ee527.js
+1
-0
52.0f0f0a30077678a868b1.js
dist/static/js/52.0f0f0a30077678a868b1.js
+1
-0
59.b3cda17a6cb794226e14.js
dist/static/js/59.b3cda17a6cb794226e14.js
+1
-0
60.ec57c2df8d83599ebec2.js
dist/static/js/60.ec57c2df8d83599ebec2.js
+1
-0
61.a90df80c2107d86bccd1.js
dist/static/js/61.a90df80c2107d86bccd1.js
+1
-0
62.b4bc78e1a33061fec48b.js
dist/static/js/62.b4bc78e1a33061fec48b.js
+1
-0
63.2d7f60dd5de482e2a964.js
dist/static/js/63.2d7f60dd5de482e2a964.js
+1
-0
65.3c5fea6383d069b08871.js
dist/static/js/65.3c5fea6383d069b08871.js
+1
-0
app.b93facc91c3bb85f773e.js
dist/static/js/app.b93facc91c3bb85f773e.js
+1
-0
manifest.a041dc5b33eae49fcb13.js
dist/static/js/manifest.a041dc5b33eae49fcb13.js
+1
-0
channelGoodsConversionList.vue
src/components/conversionList/channelGoodsConversionList.vue
+1
-1
periodsConversionList.vue
src/components/conversionList/periodsConversionList.vue
+1
-1
squadConversionList.vue
src/components/conversionList/squadConversionList.vue
+1
-1
teacherConversionList.vue
src/components/conversionList/teacherConversionList.vue
+1
-1
teacherPeriodsConversionList.vue
...omponents/conversionList/teacherPeriodsConversionList.vue
+1
-1
No files found.
dev/index.html
View file @
0e68b495
<!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://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
91f44943a88ba7ed1dcb
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.a8f02460e99f2b68b806.js
></script><script
type=
text/javascript
src=
/static/js/app.34d8ca2dfad5ff779e72.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://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
79be670912f57febd686
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.a8f02460e99f2b68b806.js
></script><script
type=
text/javascript
src=
/static/js/app.34d8ca2dfad5ff779e72.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
...
...
dev/static/js/43.f718297d5cbc2399ce97.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
43
],{
"21mC"
:
function
(
e
,
t
,
n
){
"use strict"
;
var
r
;
function
a
(
e
,
t
,
n
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
n
,
e
}
n
.
d
(
t
,
"a"
,
function
(){
return
o
});
var
o
=
(
a
(
r
=
{
"订单数"
:
"支付成功且未全额退款的订单数量(*月课、季课全勤返现完成的订单也会排除)"
,
"到班数"
:
"进入系统课程期数班级的学员数量"
,
"到班率"
:
"到班数/订单数"
,
"好友数"
:
"班主任在系统内标注用已成为微信好友的户数量,包含老师主动添加数和用户主动添加数"
,
"到课数"
:
"浏览过一次及以上课包的人数"
,
"好友率"
:
"好友数/订单数"
},
"到课数"
,
"浏览过一次及以上课包的人数"
),
a
(
r
,
"到课率"
,
"到课数/订单数"
),
a
(
r
,
"转化人数"
,
"购买一年课、两年课且未全额退款的人数(*个别退课但未全额退款的学员包含在内)"
),
a
(
r
,
"转化率"
,
"转化人数/订单数"
),
a
(
r
,
"一年课购买人数"
,
"购买一年课且未全额退款的人数"
),
a
(
r
,
"两年课购买人数"
,
"购买两年课且未全额退款的人数"
),
a
(
r
,
"转化金额"
,
"一年课和两年课的转化金额合计"
),
a
(
r
,
"一年课转化金额"
,
"购买一年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
a
(
r
,
"两年课转化金额"
,
"购买两年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
r
)},
"G/kT"
:
function
(
e
,
t
,
n
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
n
(
"CCn6"
),
a
=
n
(
"kmJW"
),
o
=
n
(
"+TkF"
),
s
=
n
(
"21mC"
);
function
i
(
e
,
t
,
n
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
n
,
e
}
var
l
=
{
name
:
"channelGoodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
i
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
periodList
:[]},
"total"
,
0
),
i
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
i
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"spanArr"
,[]),
i
(
e
,
"contentSpanArr"
,[]),
i
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
,
goods_id
:
""
}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
i
(
e
,
"goodList"
,[]),
e
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
o
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
}},
components
:{
page
:
a
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
n
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
n
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
s
.
a
[
n
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
,
console
.
log
(
e
.
goodList
,
176
)})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
n
){
n
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
n
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
n
=
e
.
getMonth
()
+
1
;
n
<
10
&&
(
n
=
"0"
+
n
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
n
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
getPeriodsOtherListApi
({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
searchFrom
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_43
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
n
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
n
,
r
){
n
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
n
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
a
=
n
.
invite_name
&&
n
.
invite_name
.
length
>
0
?
"("
+
n
.
invite_name
+
")"
:
""
,
o
=
n
.
goods_id
&&
n
.
goods_id
>
0
?
"【"
+
n
.
goods_id
+
"】"
:
""
,
s
=
n
.
watch_num
&&
n
.
watch_num
>
0
?
"【"
+
n
.
watch_num
+
"个课时】"
:
""
;
return
n
.
invite_type
=
""
+
n
.
invite_type
+
a
,
n
.
goods_name
=
""
+
o
+
n
.
goods_name
+
s
,
n
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
n
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsOption
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
n
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
n
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
n
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
n
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
n
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_id"
,
t
)},
expression
:
"searchFrom.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
r
){
return
n
(
"el-option"
,{
key
:
r
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
n
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},[
n
(
"el-option"
,{
attrs
:{
value
:
""
,
label
:
"请选择"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
n
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,[
n
(
"div"
,{
staticClass
:
"flexRow"
},[
n
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
n
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
n
(
"el-table-column"
,{
attrs
:{
prop
:
"is_other"
,
label
:
"渠道来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
0
==
t
.
row
.
is_other
?
"内部"
:
"外部"
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type_name"
,
label
:
"渠道类别"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_total_num"
,
label
:
"订单数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num_except_total_num"
,
label
:
"到班率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
class_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_total_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_total_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_total_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_money"
,
label
:
"转化总额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
n
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
m
=
{
render
:
c
,
staticRenderFns
:[]},
h
=
m
;
var
u
=!
1
;
var
d
=
n
(
"VU/8"
)(
l
,
h
,
!
1
,
function
(
e
){
u
||
n
(
"q8ot"
)},
null
,
null
);
d
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
channelGoodsConversionList.vue"
;
t
.
default
=
d
.
exports
},
QXie
:
function
(
e
,
t
,
n
){(
e
.
exports
=
n
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/channelGoodsConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"channelGoodsConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
q8ot
:
function
(
e
,
t
,
n
){
var
r
=
n
(
"QXie"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
n
(
"rjj0"
)(
"51e43c94"
,
r
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/44.7ec44f018baad95c0271.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
44
],{
"+Xua"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"periodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
n
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
,
console
.
log
(
320
)})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_77
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
n
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
i
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
n
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
(),
this
.
getTeacherList
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
changeTeacher
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
a
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
h
=
{
render
:
c
,
staticRenderFns
:[]},
m
=
h
;
var
d
=!
1
;
var
u
=
a
(
"VU/8"
)(
l
,
m
,
!
1
,
function
(
e
){
d
||
a
(
"gymE"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
periodsConversionList.vue"
;
t
.
default
=
u
.
exports
},
MPzq
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/periodsConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"periodsConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
gymE
:
function
(
e
,
t
,
a
){
var
r
=
a
(
"MPzq"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
a
(
"rjj0"
)(
"6179e8c0"
,
r
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/46.63fd71f872ccf15087f0.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
46
],{
E2ij
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/squadConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"squadConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
M7X6
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
a
(
"CCn6"
),
r
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"squadConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
r
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
n
=
e
.
getDate
();
return
n
<
10
&&
(
n
=
"0"
+
n
),
t
+
"-"
+
a
+
"-"
+
n
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
n
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
n
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
n
.
_94
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
n
){
a
.
index
=
n
,
0
==
n
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
n
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
n
),
a
.
squad
=
"T"
+
a
.
squad
;
var
r
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
i
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
r
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
"render-header"
:
e
.
rendertip
,
label
:
"转化率"
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
h
=
{
render
:
c
,
staticRenderFns
:[]},
m
=
h
;
var
d
=!
1
;
var
u
=
a
(
"VU/8"
)(
l
,
m
,
!
1
,
function
(
e
){
d
||
a
(
"pgdF"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
squadConversionList.vue"
;
t
.
default
=
u
.
exports
},
pgdF
:
function
(
e
,
t
,
a
){
var
n
=
a
(
"E2ij"
);
"string"
==
typeof
n
&&
(
n
=
[[
e
.
i
,
n
,
""
]]),
n
.
locals
&&
(
e
.
exports
=
n
.
locals
);
a
(
"rjj0"
)(
"11184946"
,
n
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/53.f4e4f621dcb40995c8e1.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
53
],{
"B+FO"
:
function
(
e
,
t
,
a
){
var
r
=
a
(
"TiBO"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
a
(
"rjj0"
)(
"7df987af"
,
r
,
!
1
,{})},
TiBO
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/teacherPeriodsConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"teacherPeriodsConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
TtuZ
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"teacherPeriodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
n
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_106
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
n
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
i
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
n
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getPeriodsOtherList
(),
this
.
getGoodsList
(),
this
.
getTeacherList
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
changeTeacher
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
a
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
h
=
{
render
:
c
,
staticRenderFns
:[]},
m
=
h
;
var
d
=!
1
;
var
u
=
a
(
"VU/8"
)(
l
,
m
,
!
1
,
function
(
e
){
d
||
a
(
"B+FO"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
teacherPeriodsConversionList.vue"
;
t
.
default
=
u
.
exports
}});
\ No newline at end of file
dev/static/js/57.3499d1537575c2bbeae3.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
57
],{
"6yV8"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"teacherConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
n
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_102
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
),
a
.
squad
=
"T"
+
a
.
squad
;
var
n
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
i
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
n
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getPeriodsOtherList
(),
this
.
getGoodsList
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
h
=
{
render
:
c
,
staticRenderFns
:[]},
m
=
h
;
var
d
=!
1
;
var
u
=
a
(
"VU/8"
)(
l
,
m
,
!
1
,
function
(
e
){
d
||
a
(
"cZQw"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
teacherConversionList.vue"
;
t
.
default
=
u
.
exports
},
NNn0
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/teacherConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"teacherConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
cZQw
:
function
(
e
,
t
,
a
){
var
r
=
a
(
"NNn0"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
a
(
"rjj0"
)(
"4d51ee49"
,
r
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/manifest.79be670912f57febd686.js
0 → 100644
View file @
0e68b495
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
f
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
f
.
length
;
i
++
)
t
=
f
[
i
],
a
[
t
]
&&
u
.
push
(
a
[
t
][
0
]),
a
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
c
&&
c
(
f
,
b
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
d
(
d
.
s
=
n
[
i
]);
return
o
};
var
f
=
{},
a
=
{
69
:
0
};
function
d
(
c
){
if
(
f
[
c
])
return
f
[
c
].
exports
;
var
a
=
f
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
a
.
exports
,
a
,
a
.
exports
,
d
),
a
.
l
=!
0
,
a
.
exports
}
d
.
e
=
function
(
e
){
var
c
=
a
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
f
=
new
Promise
(
function
(
f
,
d
){
c
=
a
[
e
]
=
[
f
,
d
]});
c
[
2
]
=
f
;
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
,
d
.
nc
&&
n
.
setAttribute
(
"nonce"
,
d
.
nc
),
n
.
src
=
d
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"3ade38c0aff2e24a655a"
,
1
:
"1315236348582fc8e5e8"
,
2
:
"b6893bfbe3576a294644"
,
3
:
"31bde1388de2eb7814ee"
,
4
:
"86f7fe9f691df70b93f2"
,
5
:
"1eba5068bcc603e52315"
,
6
:
"69b2a8d0d66777598a3c"
,
7
:
"e3e6701271ac1b30fec1"
,
8
:
"ba2c5eea4bae6edc6fe6"
,
9
:
"f0953e7fe4daf1cc8fe6"
,
10
:
"8117c105524d1651f917"
,
11
:
"e370493a193f31cda7b3"
,
12
:
"8b021688013e398ca3a5"
,
13
:
"d710c4b64be29ef4dd4d"
,
14
:
"1dca8d8838a11cee419e"
,
15
:
"12f4af77221b531640c4"
,
16
:
"1f657b60ba2423ae0e1e"
,
17
:
"86ac7d9d71489d770f88"
,
18
:
"2d44f3008d84f45a496b"
,
19
:
"ac517c7ddf5acfea98ee"
,
20
:
"192ff0ce3b794223f8c7"
,
21
:
"1714423ee6a3922c7626"
,
22
:
"a593f774d6e7b59af71b"
,
23
:
"c1bc94beed54d1a529bf"
,
24
:
"625df4947d87d7baa720"
,
25
:
"d2e8e398b77de940bc75"
,
26
:
"247bd2a20100e4274032"
,
27
:
"ae37e657e804f4f39a65"
,
28
:
"ac5cd70d95dea5330e2a"
,
29
:
"5a0abeb6bc5ba700d9d4"
,
30
:
"2bbf2003e08e3c85b02e"
,
31
:
"cb73631f0fb35fc85b80"
,
32
:
"478de01c8671e9b736bb"
,
33
:
"89a886ca2edf08d1da99"
,
34
:
"bfae821267441bdfb843"
,
35
:
"1e266ee1931187505b81"
,
36
:
"4262dbd0f9927e1d6fad"
,
37
:
"2fe3ba985d82488115a2"
,
38
:
"f38f54b6e647b17b606f"
,
39
:
"25d541effc76fb664617"
,
40
:
"6ea54ea49958b17f2df7"
,
41
:
"f5cbc80a06389832a034"
,
42
:
"b45e6bcdbd680fea26d2"
,
43
:
"f718297d5cbc2399ce97"
,
44
:
"7ec44f018baad95c0271"
,
45
:
"2d962f4c25454cde2118"
,
46
:
"63fd71f872ccf15087f0"
,
47
:
"060f06dd35641d864baa"
,
48
:
"eb62245eade411969bc5"
,
49
:
"06dff50e19913af74396"
,
50
:
"b3552fcf9ef17524d077"
,
51
:
"ca887ceefef8a360c60b"
,
52
:
"02c211b7c1ac1588a572"
,
53
:
"f4e4f621dcb40995c8e1"
,
54
:
"b8b88844266550a40aeb"
,
55
:
"d7c4e1a31010c4beaabc"
,
56
:
"a9721b9a81ecdc4caeab"
,
57
:
"3499d1537575c2bbeae3"
,
58
:
"2d598f68876b8c85c1f0"
,
59
:
"5e7f4d70dd4b8c88b266"
,
60
:
"c34f44f39d400fccd8c3"
,
61
:
"e4e45eb1f3339c498027"
,
62
:
"8629a0691fa9dbeaf441"
,
63
:
"02e62503ff40ec916f83"
,
64
:
"547953d6ffdf7688c754"
,
65
:
"4d36871fccd4eb596359"
,
66
:
"1973d7e91c2414c33698"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
c
=
a
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
a
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
f
},
d
.
m
=
e
,
d
.
c
=
f
,
d
.
d
=
function
(
e
,
c
,
f
){
d
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
f
})},
d
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
d
.
d
(
c
,
"a"
,
c
),
c
},
d
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
d
.
p
=
"/"
,
d
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
dist/index.html
View file @
0e68b495
<!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://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.b2b3ab4e093858d73a0fe8428b47c730.css
rel=
stylesheet
></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
3ebc610af4cd6fc192b6.js
></script><script
type=
text/javascript
src=
/static/js/vendor.c51fd44cbf7149072a68.js
></script><script
type=
text/javascript
src=
/static/js/app.c2bfabe4efca5f74a02c
.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://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.b2b3ab4e093858d73a0fe8428b47c730.css
rel=
stylesheet
></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
a041dc5b33eae49fcb13.js
></script><script
type=
text/javascript
src=
/static/js/vendor.c51fd44cbf7149072a68.js
></script><script
type=
text/javascript
src=
/static/js/app.b93facc91c3bb85f773e
.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
...
...
dist/static/js/43.3f0c57bd71428fb4d2ac.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
43
],{
"21mC"
:
function
(
e
,
t
,
a
){
"use strict"
;
var
r
;
function
n
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
a
.
d
(
t
,
"a"
,
function
(){
return
o
});
var
o
=
(
n
(
r
=
{
"订单数"
:
"支付成功且未全额退款的订单数量(*月课、季课全勤返现完成的订单也会排除)"
,
"到班数"
:
"进入系统课程期数班级的学员数量"
,
"到班率"
:
"到班数/订单数"
,
"好友数"
:
"班主任在系统内标注用已成为微信好友的户数量,包含老师主动添加数和用户主动添加数"
,
"到课数"
:
"浏览过一次及以上课包的人数"
,
"好友率"
:
"好友数/订单数"
},
"到课数"
,
"浏览过一次及以上课包的人数"
),
n
(
r
,
"到课率"
,
"到课数/订单数"
),
n
(
r
,
"转化人数"
,
"购买一年课、两年课且未全额退款的人数(*个别退课但未全额退款的学员包含在内)"
),
n
(
r
,
"转化率"
,
"转化人数/订单数"
),
n
(
r
,
"一年课购买人数"
,
"购买一年课且未全额退款的人数"
),
n
(
r
,
"两年课购买人数"
,
"购买两年课且未全额退款的人数"
),
n
(
r
,
"转化金额"
,
"一年课和两年课的转化金额合计"
),
n
(
r
,
"一年课转化金额"
,
"购买一年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
n
(
r
,
"两年课转化金额"
,
"购买两年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
r
)},
"G/kT"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
o
=
a
(
"+TkF"
),
s
=
a
(
"21mC"
);
function
i
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"channelGoodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
i
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
periodList
:[]},
"total"
,
0
),
i
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
i
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"spanArr"
,[]),
i
(
e
,
"contentSpanArr"
,[]),
i
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
,
goods_id
:
""
}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
i
(
e
,
"goodList"
,[]),
e
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
o
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
}},
components
:{
page
:
n
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
s
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
,
console
.
log
(
e
.
goodList
,
176
)})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
getPeriodsOtherListApi
({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
searchFrom
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_43
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
n
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
o
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
s
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
n
,
a
.
goods_name
=
""
+
o
+
a
.
goods_name
+
s
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsOption
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_id"
,
t
)},
expression
:
"searchFrom.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
r
){
return
a
(
"el-option"
,{
key
:
r
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},[
a
(
"el-option"
,{
attrs
:{
value
:
""
,
label
:
"请选择"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"is_other"
,
label
:
"渠道来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
0
==
t
.
row
.
is_other
?
"内部"
:
"外部"
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type_name"
,
label
:
"渠道类别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_total_num"
,
label
:
"订单数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num_except_total_num"
,
label
:
"到班率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
class_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_total_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_total_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_total_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_money"
,
label
:
"转化总额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
m
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"Tdmz"
)},
null
,
null
);
t
.
default
=
m
.
exports
},
Tdmz
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/46.ed6ea196fd550901db2f.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
46
],{
"6yV8"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
s
=
a
(
"kmJW"
),
i
=
a
(
"+TkF"
),
n
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"teacherConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
s
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
n
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
i
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_102
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
),
a
.
squad
=
"T"
+
a
.
squad
;
var
s
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
i
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
n
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
s
,
a
.
goods_name
=
""
+
i
+
a
.
goods_name
+
n
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getPeriodsOtherList
(),
this
.
getGoodsList
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"ShQ+"
)},
null
,
null
);
t
.
default
=
h
.
exports
},
"ShQ+"
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/49.94f4417a5dabe7a020df.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
49
],{
TtuZ
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
i
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
n
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"teacherPeriodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
i
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
n
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_106
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
i
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
n
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
i
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
n
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getPeriodsOtherList
(),
this
.
getGoodsList
(),
this
.
getTeacherList
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
changeTeacher
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
a
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"dtD5"
)},
null
,
null
);
t
.
default
=
h
.
exports
},
dtD5
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/50.9baf5814b410298452db.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
50
],{
"8MDz"
:
function
(
t
,
e
){},
SKyX
:
function
(
t
,
e
,
n
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
a
=
n
(
"CCn6"
),
r
=
{
name
:
"index"
,
data
:
function
(){
return
{
list
:[],
dateList
:[],
propertyList
:[
"title"
,
"start_at"
,
"total_join_num"
,
"total_max_join_num"
,
"total_target_join_num"
,
"complete_rate"
,
"target_diff"
,
"wait_join_num"
,
"other_wait_join_num"
]}},
methods
:{
initPage
:
function
(){
var
t
=
this
;
Object
(
a
.
_76
)().
then
(
function
(
e
){
t
.
list
=
e
,
e
[
0
].
date
&&
e
[
0
].
date
.
forEach
(
function
(
e
){
t
.
dateList
.
push
(
e
.
pay_date
)})})},
tableRowClassName
:
function
(
t
){
t
.
row
;
return
0
===
t
.
rowIndex
?
"warning-row"
:
""
},
arraySpanMethod
:
function
(
t
){
if
(
this
.
propertyList
.
indexOf
(
t
.
column
.
property
)
>-
1
){
if
(
0
===
t
.
rowIndex
||
t
.
row
.
id
!==
this
.
list
[
t
.
rowIndex
-
1
].
id
){
for
(
var
e
=
1
,
n
=
t
.
rowIndex
+
1
;
n
<
this
.
list
.
length
&&
t
.
row
.
id
===
this
.
list
[
n
].
id
;
n
++
)
e
++
;
return
{
rowspan
:
e
,
colspan
:
1
}}
return
{
rowspan
:
0
,
colspan
:
0
}}
return
{
rowspan
:
1
,
colspan
:
1
}}},
created
:
function
(){
this
.
initPage
()}},
o
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
n
=
t
.
_self
.
_c
||
e
;
return
n
(
"div"
,[
n
(
"el-table"
,{
attrs
:{
border
:
""
,
align
:
"center"
,
"header-cell-style"
:{
background
:
"#5f5f5f"
,
color
:
"#fff"
},
data
:
t
.
list
,
height
:
"calc(100vh - 60px)"
,
size
:
"mini"
,
"row-class-name"
:
t
.
tableRowClassName
,
"span-method"
:
t
.
arraySpanMethod
}},[
n
(
"el-table-column"
,{
attrs
:{
"min-width"
:
"180"
,
prop
:
"wait_join_num"
,
align
:
"left"
,
fixed
:
"left"
,
label
:
"期数总状况"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
期数名称:"
+
t
.
_s
(
e
.
row
.
title
)
+
"
\n
"
),
n
(
"br"
),
t
.
_v
(
"
\n
开始时间:"
+
t
.
_s
(
e
.
row
.
start_at
)
+
"
\n
"
),
n
(
"br"
),
t
.
_v
(
"
\n
团购待进班人数:"
+
t
.
_s
(
e
.
row
.
wait_join_num
)
+
"
\n
"
),
n
(
"br"
),
t
.
_v
(
"
\n
外部订单待进班人数:"
+
t
.
_s
(
e
.
row
.
other_wait_join_num
)
+
"
\n
"
),
n
(
"br"
),
t
.
_v
(
"
\n
总进班人数:"
+
t
.
_s
(
e
.
row
.
total_join_num
)
+
"
\n
"
),
n
(
"br"
),
t
.
_v
(
"
\n
需求供量:"
+
t
.
_s
(
e
.
row
.
total_max_join_num
)
+
"
\n
"
),
n
(
"br"
),
t
.
_v
(
"
\n
目标差距:"
+
t
.
_s
(
e
.
row
.
target_diff
<
0
?
"超标"
+-
1
*
e
.
row
.
target_diff
:
e
.
row
.
target_diff
)
+
"个
\n
"
),
n
(
"br"
),
t
.
_v
(
"完成率:
\n
"
),
n
(
"el-progress"
,{
staticStyle
:{
display
:
"inline-block"
,
width
:
"calc(90% - 50px)"
},
attrs
:{
"text-inside"
:
!
0
,
"stroke-width"
:
16
,
status
:
e
.
row
.
complete_rate
>=
1
?
"exception"
:
"success"
,
percentage
:
1
e3
*
e
.
row
.
complete_rate
/
10
}})]}}])}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"class_name"
,
align
:
"center"
,
"min-width"
:
"80"
,
fixed
:
"left"
,
label
:
"班级名称"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
t
.
_s
(
"合计"
===
e
.
row
.
title
?
"合计"
:
e
.
row
.
class_name
))]}}])}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"max_join_num"
,
"min-width"
:
"60"
,
align
:
"center"
,
label
:
"预计加入人数"
}}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"join_num"
,
"min-width"
:
"60"
,
align
:
"center"
,
label
:
"已进班人数"
}}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"other_allot_num"
,
align
:
"center"
,
"min-width"
:
"60"
,
label
:
"外部订单已分配人数"
}}),
t
.
_v
(
" "
),
t
.
_l
(
t
.
dateList
,
function
(
e
,
a
){
return
n
(
"el-table-column"
,{
key
:
a
,
attrs
:{
align
:
"center"
,
label
:
e
}},[
n
(
"el-table-column"
,{
attrs
:{
align
:
"center"
,
"min-width"
:
"60px"
,
prop
:
"wait_join_num"
,
label
:
"系统招生量"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
t
.
_s
(
e
.
row
.
date
[
a
].
total_buy_num
))]}}])}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
align
:
"center"
,
"min-width"
:
"60px"
,
prop
:
"wait_join_num"
,
label
:
"外部订单招生量"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
t
.
_s
(
e
.
row
.
date
[
a
].
total_other_buy_num
))]}}])}),
t
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
align
:
"center"
,
"min-width"
:
"60px"
,
label
:
"进班量"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
t
.
_s
(
e
.
row
.
date
[
a
].
total_into_num
))]}}])})],
1
)})],
2
)],
1
)},
staticRenderFns
:[]};
var
l
=
n
(
"VU/8"
)(
r
,
o
,
!
1
,
function
(
t
){
n
(
"8MDz"
)},
"data-v-6cb54dd1"
,
null
);
e
.
default
=
l
.
exports
}});
\ No newline at end of file
dist/static/js/51.8dabef03a7b89a2ee527.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
51
],{
TZwE
:
function
(
e
,
t
){},
mjLz
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"+TkF"
),
i
=
{
name
:
"dayOrderCount"
,
data
:
function
(){
var
e
=
this
;
return
{
goodsList
:[],
headList
:[],
tableData
:[],
today
:{
text
:
"今天"
,
onClick
:
function
(
t
){
t
.
$emit
(
"pick"
,[
e
.
formatTime
(
new
Date
),
e
.
formatTime
(
new
Date
)])}},
yesterday
:{
text
:
"昨天"
,
onClick
:
function
(
t
){
var
a
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
$emit
(
"pick"
,[
a
,
a
])}},
last7Day
:{
text
:
"过去7天"
,
onClick
:
function
(
t
){
var
a
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
$emit
(
"pick"
,[
a
,
e
.
formatTime
(
new
Date
)])}},
last30Day
:{
text
:
"过去30天"
,
onClick
:
function
(
t
){
var
a
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
$emit
(
"pick"
,[
a
,
e
.
formatTime
(
new
Date
)])}},
searchFrom
:{
priceList
:[],
dateValue
:[]}}},
mounted
:
function
(){
this
.
defaultTime
(),
this
.
initPage
()},
filters
:{
toFixed2
:
function
(
e
){
if
(
"number"
==
typeof
e
){
var
t
=
e
.
toString
().
split
(
"."
);
return
t
.
length
>
1
&&
t
[
1
].
length
>
2
?
Number
(
e
).
toFixed
(
2
):
e
}
return
e
},
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
n
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
}},
methods
:{
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
initPage
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
limit
:
99999
,
course_type
:
1
,
status
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
t
){
e
.
searchFrom
.
priceList
.
push
(
t
.
id
)}),
e
.
goodsList
=
t
.
list
,
e
.
searchPage
()})},
searchPage
:
function
(){
var
e
=
this
;
if
(
this
.
searchFrom
.
dateValue
.
length
<
2
)
this
.
$message
.
error
(
"请先选择起止日期"
);
else
{
var
t
=
{
start_at
:
this
.
searchFrom
.
dateValue
[
0
],
end_at
:
this
.
searchFrom
.
dateValue
[
1
],
goods_ids
:
this
.
searchFrom
.
priceList
.
toString
(),
course_type
:
1
};
Object
(
r
.
_129
)(
t
).
then
(
function
(
t
){
if
(
t
.
length
>
0
){
var
a
=
t
[
0
];
for
(
var
r
in
e
.
tableData
=
t
,
e
.
headList
=
[],
a
)
"cur_date"
===
r
?
e
.
headList
.
push
(
"时间"
):
"register_num"
===
r
?
e
.
headList
.
push
(
"注册数"
):
"total_money"
===
r
?
e
.
headList
.
push
(
"总金额"
):
e
.
headList
.
push
(
r
)}})}},
defaultTime
:
function
(){
var
e
=
new
Date
,
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
r
<
10
&&
(
r
=
"0"
+
r
);
var
n
=
t
+
"-"
+
a
+
"-01"
,
i
=
t
+
"-"
+
a
+
"-"
+
r
;
this
.
searchFrom
.
dateValue
=
[
n
,
i
]}}},
s
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"orderCount"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
inline
:
""
,
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"600px"
},
attrs
:{
"collapse-tags"
:
""
,
multiple
:
""
,
filterable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
searchPage
},
model
:{
value
:
e
.
searchFrom
.
priceList
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"priceList"
,
t
)},
expression
:
"searchFrom.priceList"
}},
e
.
_l
(
e
.
goodsList
,
function
(
t
){
return
a
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"起止日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
"unlink-panels"
:
""
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
type
:
"daterange"
,
"value-format"
:
"yyyy-MM-dd"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
},
on
:{
change
:
e
.
searchPage
},
model
:{
value
:
e
.
searchFrom
.
dateValue
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"dateValue"
,
t
)},
expression
:
"searchFrom.dateValue"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
""
}},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
searchPage
()}}},[
e
.
_v
(
"
\n
搜索
\n
"
)])],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},
e
.
_l
(
e
.
headList
,
function
(
t
){
return
a
(
"el-table-column"
,{
key
:
t
,
attrs
:{
label
:
t
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
r
){
return
[
"时间"
===
t
?
a
(
"span"
,[
e
.
_v
(
"
\n
"
+
e
.
_s
(
r
.
row
.
cur_date
)
+
"
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
"注册数"
===
t
?
a
(
"span"
,[
e
.
_v
(
"
\n
"
+
e
.
_s
(
r
.
row
.
register_num
)
+
"
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
"总金额"
===
t
?
a
(
"span"
,[
e
.
_v
(
"
\n
"
+
e
.
_s
(
r
.
row
.
total_money
)
+
"
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
"时间"
!==
t
&&
"注册数"
!==
t
&&
"总金额"
!==
t
?
a
(
"span"
,[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"toFixed2"
)(
r
.
row
[
t
]))
+
"
\n
"
)]):
e
.
_e
()]}}])})}))],
1
)},
staticRenderFns
:[]};
var
o
=
a
(
"VU/8"
)(
i
,
s
,
!
1
,
function
(
e
){
a
(
"TZwE"
)},
"data-v-5cc01ba2"
,
null
);
t
.
default
=
o
.
exports
}});
\ No newline at end of file
dist/static/js/52.0f0f0a30077678a868b1.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
52
],{
Gi2r
:
function
(
e
,
t
){},
lWjU
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
i
=
a
(
"CCn6"
);
function
r
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
s
=
{
name
:
"index"
,
data
:
function
(){
var
e
,
t
=
this
;
return
r
(
e
=
{
list
:[],
dateList
:[],
propertyList
:[
"title"
,
"start_at"
,
"total_join_num"
,
"total_max_join_num"
,
"total_target_join_num"
,
"complete_rate"
,
"target_diff"
,
"wait_join_num"
,
"other_wait_join_num"
],
periodList
:[],
searchFrom
:{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
},
periods_id
:
""
},
"periodList"
,[]),
r
(
e
,
"total"
,
0
),
r
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
r
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
r
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
r
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
r
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
methods
:{
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
i
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getList
:
function
(){
var
e
=
this
;
this
.
list
=
[],
this
.
dateList
=
[];
var
t
=
{};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
i
.
_66
)(
t
).
then
(
function
(
t
){
e
.
list
=
t
,
t
[
0
].
date
&&
t
[
0
].
date
.
forEach
(
function
(
t
){
e
.
dateList
.
push
(
t
.
cur_date
)})})},
tableRowClassName
:
function
(
e
){
e
.
row
;
return
0
===
e
.
rowIndex
?
"warning-row"
:
""
},
arraySpanMethod
:
function
(
e
){}},
created
:
function
(){
this
.
getList
(),
this
.
getPeriodsOtherList
()}},
n
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
staticClass
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
clearable
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
getList
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
attrs
:{
border
:
""
,
align
:
"center"
,
"header-cell-style"
:{
background
:
"#5f5f5f"
,
color
:
"#fff"
},
data
:
e
.
list
,
size
:
"mini"
,
height
:
"calc(100vh - 210px)"
,
"row-class-name"
:
e
.
tableRowClassName
,
"span-method"
:
e
.
arraySpanMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
align
:
"center"
,
"min-width"
:
"80"
,
fixed
:
""
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"is_other"
,
"min-width"
:
"160"
,
align
:
"left"
,
fixed
:
""
,
label
:
"渠道信息"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
来源:"
+
e
.
_s
(
0
==
t
.
row
.
is_other
?
"内部"
:
"外部"
)),
a
(
"br"
),
e
.
_v
(
"
\n
类别:"
+
e
.
_s
(
t
.
row
.
invite_type_name
)),
a
(
"br"
),
e
.
_v
(
"
\n
名称:"
+
e
.
_s
(
t
.
row
.
invite_name
)),
a
(
"br"
),
e
.
_v
(
"
\n
类型:"
+
e
.
_s
(
t
.
row
.
invite_type
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
dateList
,
function
(
t
,
i
){
return
a
(
"el-table-column"
,{
key
:
i
,
attrs
:{
align
:
"center"
,
label
:
t
}},[
a
(
"el-table-column"
,{
attrs
:{
align
:
"center"
,
"min-width"
:
"60px"
,
prop
:
"wait_join_num"
,
label
:
"班级人数"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
date
[
i
].
sum_class_num
))]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
align
:
"center"
,
"min-width"
:
"60px"
,
label
:
"好友数"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
date
[
i
].
sum_friend_num
))]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
align
:
"center"
,
"min-width"
:
"60px"
,
prop
:
"wait_join_num"
,
label
:
"好友率"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
date
[
i
].
friend_num_except_class_num
)
+
"%"
)]}}])})],
1
)})],
2
)],
1
)},
staticRenderFns
:[]};
var
o
=
a
(
"VU/8"
)(
s
,
n
,
!
1
,
function
(
e
){
a
(
"Gi2r"
)},
"data-v-53a85ef2"
,
null
);
t
.
default
=
o
.
exports
}});
\ No newline at end of file
dist/static/js/59.b3cda17a6cb794226e14.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
59
],{
"+Xua"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
i
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
n
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"periodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
i
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
n
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
,
console
.
log
(
320
)})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_77
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
i
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
n
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
i
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
n
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
(),
this
.
getTeacherList
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
changeTeacher
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
a
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"Wf0t"
)},
null
,
null
);
t
.
default
=
h
.
exports
},
Wf0t
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/60.ec57c2df8d83599ebec2.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
60
],{
jxzv
:
function
(
e
,
t
){},
"s7i+"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
s
=
a
(
"+TkF"
),
n
=
{
name
:
"index"
,
data
:
function
(){
return
{
goodsList
:[],
headList
:[],
tableData
:[],
searchFrom
:{
priceList
:[],
dateValue
:[]}}},
mounted
:
function
(){
this
.
defaultTime
(),
this
.
initPage
()},
filters
:{
toFixed2
:
function
(
e
){
if
(
"number"
==
typeof
e
){
var
t
=
e
.
toString
().
split
(
"."
);
return
t
.
length
>
1
&&
t
[
1
].
length
>
2
?
Number
(
e
).
toFixed
(
2
):
e
}
return
e
},
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
}},
methods
:{
initPage
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
limit
:
99999
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
t
){
e
.
searchFrom
.
priceList
.
push
(
t
.
id
)}),
e
.
goodsList
=
t
.
list
,
e
.
searchPage
()})},
searchPage
:
function
(){
var
e
=
this
;
if
(
this
.
searchFrom
.
dateValue
.
length
<
2
)
this
.
$message
.
error
(
"请先选择起止日期"
);
else
{
var
t
=
{
start_at
:
this
.
searchFrom
.
dateValue
[
0
],
end_at
:
this
.
searchFrom
.
dateValue
[
1
],
goods_ids
:
this
.
searchFrom
.
priceList
.
toString
()};
Object
(
r
.
_129
)(
t
).
then
(
function
(
t
){
if
(
t
.
length
>
0
){
var
a
=
t
[
0
];
for
(
var
r
in
e
.
tableData
=
t
,
e
.
headList
=
[],
a
)
"cur_date"
===
r
?
e
.
headList
.
push
(
"时间"
):
"register_num"
===
r
?
e
.
headList
.
push
(
"注册数"
):
"total_money"
===
r
?
e
.
headList
.
push
(
"总金额"
):
e
.
headList
.
push
(
r
)}})}},
defaultTime
:
function
(){
var
e
=
new
Date
,
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
r
<
10
&&
(
r
=
"0"
+
r
);
var
s
=
t
+
"-"
+
a
+
"-01"
,
n
=
t
+
"-"
+
a
+
"-"
+
r
;
this
.
searchFrom
.
dateValue
=
[
s
,
n
]}}},
i
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"orderCount"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
inline
:
""
,
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"600px"
},
attrs
:{
"collapse-tags"
:
""
,
multiple
:
""
,
filterable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
searchPage
},
model
:{
value
:
e
.
searchFrom
.
priceList
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"priceList"
,
t
)},
expression
:
"searchFrom.priceList"
}},
e
.
_l
(
e
.
goodsList
,
function
(
t
){
return
a
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"起止日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
"unlink-panels"
:
""
,
type
:
"daterange"
,
"value-format"
:
"yyyy-MM-dd"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
},
on
:{
change
:
e
.
searchPage
},
model
:{
value
:
e
.
searchFrom
.
searchFrom
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"searchFrom"
,
t
)},
expression
:
"searchFrom.searchFrom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
""
}},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
searchPage
()}}},[
e
.
_v
(
"
\n
搜索
\n
"
)])],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},
e
.
_l
(
e
.
headList
,
function
(
t
){
return
a
(
"el-table-column"
,{
key
:
t
,
attrs
:{
label
:
t
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
r
){
return
[
"时间"
===
t
?
a
(
"span"
,[
e
.
_v
(
"
\n
"
+
e
.
_s
(
r
.
row
.
cur_date
)
+
"
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
"注册数"
===
t
?
a
(
"span"
,[
e
.
_v
(
"
\n
"
+
e
.
_s
(
r
.
row
.
register_num
)
+
"
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
"总金额"
===
t
?
a
(
"span"
,[
e
.
_v
(
"
\n
"
+
e
.
_s
(
r
.
row
.
total_money
)
+
"
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
"时间"
!==
t
&&
"注册数"
!==
t
&&
"总金额"
!==
t
?
a
(
"span"
,[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"toFixed2"
)(
r
.
row
[
t
]))
+
"
\n
"
)]):
e
.
_e
()]}}])})}))],
1
)},
staticRenderFns
:[]};
var
o
=
a
(
"VU/8"
)(
n
,
i
,
!
1
,
function
(
e
){
a
(
"jxzv"
)},
"data-v-2b84d96c"
,
null
);
t
.
default
=
o
.
exports
}});
\ No newline at end of file
dist/static/js/61.a90df80c2107d86bccd1.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
61
],{
iXaR
:
function
(
e
,
n
){},
usUK
:
function
(
e
,
n
,
t
){
"use strict"
;
Object
.
defineProperty
(
n
,
"__esModule"
,{
value
:
!
0
});
var
i
=
{
render
:
function
(){
var
e
=
this
.
$createElement
;
return
(
this
.
_self
.
_c
||
e
)(
"div"
,[
this
.
_v
(
"
\n
发货列表
\n
"
)])},
staticRenderFns
:[]};
var
a
=
t
(
"VU/8"
)({
name
:
"index"
},
i
,
!
1
,
function
(
e
){
t
(
"iXaR"
)},
"data-v-25f084f7"
,
null
);
n
.
default
=
a
.
exports
}});
\ No newline at end of file
dist/static/js/62.b4bc78e1a33061fec48b.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
62
],{
"1Mg7"
:
function
(
e
,
t
){},
hLMI
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"kmJW"
),
s
=
a
(
"sf/l"
),
i
=
a
(
"CCn6"
),
o
=
{
name
:
"index"
,
components
:{
page
:
r
.
a
},
data
:
function
(){
return
{
total
:
0
,
nowPage
:
1
,
limit
:
10
,
searchFrom
:{
source
:
""
},
tableData
:[]}},
created
:
function
(){
this
.
initPage
()},
methods
:{
initPage
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
time
&&
(
t
.
time
=
this
.
searchFrom
.
time
),
this
.
searchFrom
.
source
&&
(
t
.
source
=
this
.
searchFrom
.
source
),
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
>
0
&&
(
t
.
date_start
=
s
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
0
],
"yyyy-MM-dd hh:mm:ss"
),
t
.
date_end
=
s
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
1
],
"yyyy-MM-dd hh:mm:ss"
)),
Object
(
i
.
_33
)(
t
).
then
(
function
(
t
){
e
.
tableData
=
t
.
list
,
e
.
total
=
t
.
total
})},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
initPage
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
initPage
()},
doExport
:
function
(){
var
e
=
"?type=export"
;
this
.
searchFrom
.
source
&&
(
e
=
e
+
"&source="
+
this
.
searchFrom
.
source
),
this
.
searchFrom
.
time
&&
this
.
searchFrom
.
time
.
length
>
0
&&
(
e
=
(
e
=
e
+
"&date_start="
+
s
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
0
],
"yyyy-MM-dd hh:mm:ss"
))
+
"&date_end="
+
s
.
a
.
dateFmt
(
this
.
searchFrom
.
time
[
1
],
"yyyy-MM-dd hh:mm:ss"
)),
window
.
open
(
"/api/public/ads/export/all"
+
e
)}}},
l
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"index"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"80px"
}},[
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
lg
:
10
,
sm
:
24
,
md
:
24
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"购买时间"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
model
:{
value
:
e
.
searchFrom
.
time
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"time"
,
t
)},
expression
:
"searchFrom.time"
}})],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
lg
:
4
,
sm
:
24
,
md
:
12
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"来源"
}},[
a
(
"el-input"
,{
attrs
:{
placeholder
:
"名称"
,
size
:
"small"
},
model
:{
value
:
e
.
searchFrom
.
source
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"source"
,
t
)},
expression
:
"searchFrom.source"
}})],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
lg
:
4
,
sm
:
24
,
md
:
12
}},[
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
,
size
:
"small"
},
on
:{
click
:
e
.
initPage
}},[
e
.
_v
(
"
\n
搜索
\n
"
)])],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
lg
:
4
,
sm
:
24
,
md
:
12
}},[
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
,
size
:
"small"
},
on
:{
click
:
e
.
doExport
}},[
e
.
_v
(
"
\n
导出
\n
"
)])],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
tableData
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"宝贝名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"create_at"
,
label
:
"添加时间"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"source"
,
label
:
"来源"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
m
=
a
(
"VU/8"
)(
o
,
l
,
!
1
,
function
(
e
){
a
(
"1Mg7"
)},
"data-v-258bae78"
,
null
);
t
.
default
=
m
.
exports
}});
\ No newline at end of file
dist/static/js/63.2d7f60dd5de482e2a964.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
63
],{
D6So
:
function
(
t
,
e
){},
Dq6T
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
l
=
a
(
"CCn6"
),
s
=
{
name
:
"index"
,
data
:
function
(){
return
{
searchFrom
:{
watchTime
:[]},
dialogLoading
:
!
1
,
dialogVisible
:
!
1
,
tableData
:[],
dialog
:{
list
:[],
total
:
0
,
register
:
0
,
coursesList
:[],
course
:
0
,
time
:
""
,
name
:
""
,
codeList
:[],
inNum
:
0
},
tableHead
:{}}},
methods
:{
defaultTime
:
function
(){
var
t
=
new
Date
,
e
=
t
.
getFullYear
(),
a
=
t
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
l
=
t
.
getDate
();
l
<
10
&&
(
l
=
"0"
+
l
);
var
s
=
e
+
"-"
+
a
+
"-01"
,
i
=
e
+
"-"
+
a
+
"-"
+
l
;
this
.
searchFrom
.
watchTime
=
[
s
,
i
]},
toDetail
:
function
(
t
,
e
,
a
){
var
s
=
this
;
this
.
dialogLoading
=!
0
,
this
.
dialogVisible
=!
0
;
var
i
=
{
cur_date
:
t
,
code
:
e
};
Object
(
l
.
_97
)(
i
).
then
(
function
(
l
){
s
.
dialog
.
name
=
s
.
tableHead
[
e
],
s
.
dialog
.
time
=
t
,
s
.
dialog
.
inNum
=
l
.
total
,
s
.
dialog
.
list
=
l
.
list
,
s
.
dialog
.
register
=
l
.
register
,
s
.
dialog
.
course
=
l
.
course
,
s
.
dialog
.
code
=
l
.
source
,
s
.
dialog
.
total
=
a
,
s
.
dialog
.
coursesList
=
l
.
courses
,
s
.
dialogLoading
=!
1
})},
getList
:
function
(){
var
t
=
this
,
e
=
{};
this
.
searchFrom
.
watchTime
&&
this
.
searchFrom
.
watchTime
.
length
>
0
&&
(
e
.
start_at
=
this
.
searchFrom
.
watchTime
[
0
],
e
.
end_at
=
this
.
searchFrom
.
watchTime
[
1
]),
Object
(
l
.
_115
)(
e
).
then
(
function
(
e
){
t
.
tableHead
=
e
[
0
],
t
.
tableData
=
e
.
slice
(
1
)})}},
mounted
:
function
(){
this
.
defaultTime
(),
this
.
getList
()}},
i
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"index"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
searchFrom
,
"label-width"
:
"100px"
}},[
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
span
:
12
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"时间"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"daterange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"value-format"
:
"yyyy-MM-dd"
,
"end-placeholder"
:
"结束日期"
},
model
:{
value
:
t
.
searchFrom
.
watchTime
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"watchTime"
,
e
)},
expression
:
"searchFrom.watchTime"
}})],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
6
,
offset
:
6
}},[
a
(
"el-form-item"
,{
staticStyle
:{
float
:
"right"
}},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
getList
}},[
t
.
_v
(
"搜索"
)])],
1
)],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
tableData
,
border
:
""
}},
t
.
_l
(
t
.
tableHead
,
function
(
e
,
l
){
return
a
(
"el-table-column"
,{
key
:
e
,
attrs
:{
label
:
e
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
"cur_date"
!==
l
?
a
(
"div"
,{
staticClass
:
"link"
,
on
:{
click
:
function
(
a
){
t
.
toDetail
(
e
.
row
.
cur_date
,
l
,
e
.
row
[
l
])}}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
[
l
])
+
"
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
"cur_date"
===
l
?
a
(
"span"
,[
t
.
_v
(
" "
+
t
.
_s
(
e
.
row
[
l
]))]):
t
.
_e
()]}}])})})),
t
.
_v
(
" "
),
a
(
"el-dialog"
,{
attrs
:{
title
:
"详情"
,
visible
:
t
.
dialogVisible
,
width
:
"80%"
},
on
:{
"update:visible"
:
function
(
e
){
t
.
dialogVisible
=
e
}}},[
a
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
t
.
dialogLoading
,
expression
:
"dialogLoading"
}]},[
a
(
"el-row"
,{
staticClass
:
"dialog-tips"
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
时间:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
time
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
time
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
状态:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
name
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
总数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
total
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
total
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
进系统人数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
inNum
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
inNum
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
注册数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
register
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
register
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
有课人数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
course
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
course
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
t
.
_l
(
t
.
dialog
.
code
,
function
(
e
,
l
){
return
a
(
"div"
,{
key
:
e
.
source_name
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
a
(
"div"
,{
attrs
:{
title
:
e
.
source_name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
source_name
)
+
":
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
source_num
)
+
"
\n
"
)])],
1
)}),
t
.
_v
(
" "
),
t
.
_l
(
t
.
dialog
.
coursesList
,
function
(
e
,
l
){
return
a
(
"div"
,{
key
:
e
.
courses_name
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
a
(
"div"
,{
attrs
:{
title
:
e
.
courses_name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
courses_name
)
+
":
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
courses_num
)
+
"
\n
"
)])],
1
)})],
2
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
dialog
.
list
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"nickname"
,
label
:
"昵称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"user_id"
,
label
:
"老系统用户ID"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"title"
,
label
:
"课程名称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"instructor"
,
label
:
"开课日期"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"source_title"
,
label
:
"来源名称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"注册时间"
}})],
1
)],
1
)])],
1
)},
staticRenderFns
:[]};
var
r
=
a
(
"VU/8"
)(
s
,
i
,
!
1
,
function
(
t
){
a
(
"D6So"
)},
"data-v-1af5a426"
,
null
);
e
.
default
=
r
.
exports
}});
\ No newline at end of file
dist/static/js/65.3c5fea6383d069b08871.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
65
],{
B43R
:
function
(
e
,
t
){},
M7X6
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
s
=
a
(
"kmJW"
),
i
=
a
(
"+TkF"
),
n
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"squadConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
s
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
n
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
i
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_94
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
),
a
.
squad
=
"T"
+
a
.
squad
;
var
s
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
i
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
n
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
s
,
a
.
goods_name
=
""
+
i
+
a
.
goods_name
+
n
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
"render-header"
:
e
.
rendertip
,
label
:
"转化率"
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"B43R"
)},
null
,
null
);
t
.
default
=
h
.
exports
}});
\ No newline at end of file
dist/static/js/app.b93facc91c3bb85f773e.js
0 → 100644
View file @
0e68b495
webpackJsonp
([
68
],{
"/Bbx"
:
function
(
e
,
n
){},
IcnI
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"NYxO"
),
a
=
t
(
"lRwf"
),
r
=
t
.
n
(
a
),
i
=
t
(
"zSLJ"
),
u
=
{
setToken
:
function
(
e
,
n
){
e
.
token
=
n
,
i
.
a
.
set
(
"cc_token"
,
n
)},
setUserName
:
function
(
e
,
n
){
e
.
userName
=
n
,
i
.
a
.
set
(
"cc_user_name"
,
n
)},
setPermission
:
function
(
e
,
n
){
e
.
progressList
=
n
,
localStorage
.
setItem
(
"permission"
,
JSON
.
stringify
(
n
))},
setMenu
:
function
(
e
,
n
){
e
.
menuList
=
n
},
readonly
:
function
(
e
,
n
){
e
.
readonly
=
n
},
deletePermission
:
function
(
e
,
n
){
e
.
deletePermission
=
n
},
distribution
:
function
(
e
,
n
){
e
.
distribution
=
n
},
classManage
:
function
(
e
,
n
){
e
.
classManage
=
n
},
classManageUnlimited
:
function
(
e
,
n
){
e
.
classManageUnlimited
=
n
},
classTakeUnlimited
:
function
(
e
,
n
){
e
.
classTakeUnlimited
=
n
},
promoter
:
function
(
e
,
n
){
e
.
promoter
=
n
},
mainCanShow
:
function
(
e
){
e
.
mainLoad
=!
1
},
mainUnShow
:
function
(
e
){
e
.
mainLoad
=!
0
},
changeParentRouter
:
function
(
e
,
n
){
e
.
menuList
.
find
(
function
(
e
){
return
e
.
name
===
n
.
name
}).
routerName
=
n
.
to
.
name
},
progress
:
function
(
e
,
n
){
switch
(
n
.
type
){
case
"new"
:
e
.
progressList
.
push
({
num
:
0
,
id
:
n
.
id
});
break
;
case
"change"
:
e
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
n
.
id
}).
num
=
n
.
num
;
break
;
case
"delete"
:
e
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
n
.
id
})}}};
r
.
a
.
use
(
o
.
a
);
n
.
a
=
new
o
.
a
.
Store
({
state
:{
show
:
!
1
,
userName
:
""
,
token
:
""
,
export
:
!
1
,
orderRefund
:
!
1
,
permission
:
!
1
,
readonly
:
!
0
,
deletePermission
:
!
1
,
distribution
:
!
1
,
classManage
:
!
1
,
classManageUnlimited
:
!
1
,
classTakeUnlimited
:
!
1
,
promoter
:
!
1
,
mainLoad
:
!
0
,
menuList
:[],
menuType
:
!
1
,
nowTab
:
"first"
,
progressList
:[],
openedTab
:[{
value
:
"首页"
,
routerName
:
"first"
,
name
:
"first"
,
delNo
:
!
0
,
path
:
"/index"
}]},
mutations
:
u
,
actions
:{
setToken
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setToken"
,
n
)},
setUserName
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setUserName"
,
n
)},
setProgress
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"progress"
,
n
)},
setPermission
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setPermission"
,
n
)},
setMenu
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setMenu"
,
n
)},
readonly
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"readonly"
,
n
)},
deletePermission
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"deletePermission"
,
n
)},
distribution
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"distribution"
,
n
)},
classManage
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"classManage"
,
n
)},
classManageUnlimited
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"classManageUnlimited"
,
n
)},
classTakeUnlimited
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"classTakeUnlimited"
,
n
)},
promoter
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"promoter"
,
n
)}}})},
NHnr
:
function
(
e
,
n
,
t
){
"use strict"
;
Object
.
defineProperty
(
n
,
"__esModule"
,{
value
:
!
0
});
var
o
=
[{
name
:
""
,
value
:
"教研管理"
,
icon
:
"icon-material"
,
list
:[{
value
:
"教材列表"
,
routerName
:
"resources"
,
path
:
"/resources"
,
cover
:
"1-1"
,
router
:{
path
:
"/resources"
,
name
:
"resources"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
1
)]).
then
(
function
(){
var
n
=
[
t
(
"z5EG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"商品课程"
,
icon
:
"icon-shangpin1"
,
list
:[{
value
:
"课程列表"
,
routerName
:
"lesson"
,
path
:
"/lesson"
,
cover
:
"2-1"
,
router
:{
path
:
"/lesson"
,
name
:
"lesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
9
)]).
then
(
function
(){
var
n
=
[
t
(
"AbSL"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"商品列表"
,
routerName
:
"shop"
,
path
:
"/shop"
,
cover
:
"4-1"
,
router
:{
path
:
"/shop"
,
name
:
"shop"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
14
)]).
then
(
function
(){
var
n
=
[
t
(
"1djJ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"期数管理"
,
icon
:
"icon-kecheng"
,
list
:[{
value
:
"期数列表"
,
routerName
:
"periods"
,
path
:
"/periods"
,
cover
:
"2-2"
,
router
:{
path
:
"/periods"
,
name
:
"periods"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
26
)]).
then
(
function
(){
var
n
=
[
t
(
"ayGs"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"班级列表"
,
routerName
:
"class"
,
path
:
"/class"
,
cover
:
"2-3"
,
router
:{
path
:
"/class"
,
name
:
"class"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
16
)]).
then
(
function
(){
var
n
=
[
t
(
"OX9A"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"市场招生统计"
,
routerName
:
"marketStatistics"
,
path
:
"/marketStatistics"
,
cover
:
"2-5"
,
router
:{
path
:
"/marketStatistics"
,
name
:
"marketStatistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
50
)]).
then
(
function
(){
var
n
=
[
t
(
"SKyX"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"不上课日期"
,
routerName
:
"noLesson"
,
path
:
"/noLesson"
,
cover
:
"2-4"
,
router
:{
path
:
"/noLesson"
,
name
:
"noLesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
34
)]).
then
(
function
(){
var
n
=
[
t
(
"sg/1"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"自化课列表"
,
routerName
:
"autoClass"
,
path
:
"/autoClass"
,
cover
:
"2-6"
,
router
:{
path
:
"/autoClass"
,
name
:
"autoClass"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
29
)]).
then
(
function
(){
var
n
=
[
t
(
"f9Sx"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"销售管理"
,
icon
:
"icon-laoshi"
,
list
:[{
value
:
"教师列表"
,
routerName
:
"teacher"
,
path
:
"/teacher"
,
cover
:
"3-1"
,
router
:{
path
:
"/teacher"
,
name
:
"teacher"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
2
)]).
then
(
function
(){
var
n
=
[
t
(
"Y0Vi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"月课订单列表"
,
routerName
:
"monthOrder"
,
path
:
"/monthOrder"
,
cover
:
"5-10"
,
router
:{
path
:
"/monthOrder"
,
name
:
"monthOrder"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
5
)]).
then
(
function
(){
var
n
=
[
t
(
"xdzM"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"月课订单统计"
,
routerName
:
"monthOrderCount"
,
path
:
"/monthOrderCount"
,
cover
:
"5-12"
,
router
:{
path
:
"/monthOrderCount"
,
name
:
"monthOrderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
53
)]).
then
(
function
(){
var
n
=
[
t
(
"v/LD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"退款列表"
,
routerName
:
"refund"
,
path
:
"/refund"
,
cover
:
"5-2"
,
router
:{
path
:
"/refund"
,
name
:
"refund"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
40
)]).
then
(
function
(){
var
n
=
[
t
(
"89rD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"业绩排行"
,
routerName
:
"achievement"
,
path
:
"/achievement"
,
cover
:
"5-7"
,
router
:{
path
:
"/achievement"
,
name
:
"achievement"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
25
)]).
then
(
function
(){
var
n
=
[
t
(
"Fmgy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"话术列表"
,
routerName
:
"talkingSkill"
,
path
:
"/talkingSkill"
,
cover
:
"11-6"
,
router
:{
path
:
"/talkingSkill"
,
name
:
"talkingSkill"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
24
)]).
then
(
function
(){
var
n
=
[
t
(
"CUAv"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"用户管理"
,
icon
:
"icon-laoshi"
,
list
:[{
value
:
"用户列表"
,
routerName
:
"user"
,
path
:
"/user"
,
cover
:
"3-2"
,
router
:{
path
:
"/user"
,
name
:
"user"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
4
)]).
then
(
function
(){
var
n
=
[
t
(
"jFLA"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"老系统用户列表"
,
routerName
:
"oldUser"
,
path
:
"/oldUser"
,
cover
:
"3-3"
,
router
:{
path
:
"/oldUser"
,
name
:
"oldUser"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
39
)]).
then
(
function
(){
var
n
=
[
t
(
"K2yr"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"用户积分列表"
,
routerName
:
"integral"
,
path
:
"/integral"
,
cover
:
"3-4"
,
router
:{
path
:
"/integral"
,
name
:
"integral"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
13
)]).
then
(
function
(){
var
n
=
[
t
(
"NDyu"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"绑定子账号列表"
,
routerName
:
"subList"
,
path
:
"/subList"
,
cover
:
"3-5"
,
router
:{
path
:
"/subList"
,
name
:
"subList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
35
)]).
then
(
function
(){
var
n
=
[
t
(
"L5jB"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"订单管理"
,
icon
:
"icon-dingdan"
,
list
:[{
value
:
"日课订单列表"
,
routerName
:
"order"
,
path
:
"/order"
,
cover
:
"5-1"
,
router
:{
path
:
"/order"
,
name
:
"order"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
8
)]).
then
(
function
(){
var
n
=
[
t
(
"2qmY"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"提现列表"
,
routerName
:
"putForward"
,
path
:
"/putForward"
,
cover
:
"5-3"
,
router
:{
path
:
"/putForward"
,
name
:
"putForward"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
41
)]).
then
(
function
(){
var
n
=
[
t
(
"F5pf"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"发货管理"
,
routerName
:
"consignment"
,
path
:
"/consignment"
,
cover
:
"5-4"
,
router
:{
path
:
"/consignment"
,
name
:
"consignment"
,
component
:
function
(
e
){
return
t
.
e
(
61
).
then
(
function
(){
var
n
=
[
t
(
"usUK"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"订单统计"
,
routerName
:
"orderCount"
,
path
:
"/orderCount"
,
cover
:
"5-5"
,
router
:{
path
:
"/orderCount"
,
name
:
"orderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
60
)]).
then
(
function
(){
var
n
=
[
t
(
"s7i+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"日课订单统计"
,
routerName
:
"dayOrderCount"
,
path
:
"/dayOrderCount"
,
cover
:
"5-11"
,
router
:{
path
:
"/dayOrderCount"
,
name
:
"dayOrderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
51
)]).
then
(
function
(){
var
n
=
[
t
(
"mjLz"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"优惠券列表"
,
routerName
:
"coupon"
,
path
:
"/coupon"
,
cover
:
"5-6"
,
router
:{
path
:
"/coupon"
,
name
:
"coupon"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
37
)]).
then
(
function
(){
var
n
=
[
t
(
"WvRy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"扫码入课列表"
,
routerName
:
"notBuyClass"
,
path
:
"/notBuyClass"
,
cover
:
"5-8"
,
router
:{
path
:
"/notBuyClass"
,
name
:
"notBuyClass"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
22
)]).
then
(
function
(){
var
n
=
[
t
(
"E6Zo"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"外部订单列表"
,
routerName
:
"yunji"
,
path
:
"/yunji"
,
cover
:
"5-9"
,
router
:{
path
:
"/yunji"
,
name
:
"yunji"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
15
)]).
then
(
function
(){
var
n
=
[
t
(
"69L+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"兑换码管理"
,
routerName
:
"exchange"
,
path
:
"/exchange"
,
cover
:
"5-13"
,
router
:{
path
:
"/exchange"
,
name
:
"exchange"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
12
)]).
then
(
function
(){
var
n
=
[
t
(
"CvLZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"数据管理"
,
icon
:
"icon-shezhi"
,
list
:[{
value
:
"市场招生列表"
,
routerName
:
"marketEnrollmentConversionList"
,
path
:
"/marketEnrollmentConversionList"
,
cover
:
"9-8"
,
router
:{
path
:
"/marketEnrollmentConversionList"
,
name
:
"marketEnrollmentConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
52
)]).
then
(
function
(){
var
n
=
[
t
(
"lWjU"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"渠道转化数据"
,
routerName
:
"channelConversionList"
,
path
:
"/channelConversionList"
,
cover
:
"9-3"
,
router
:{
path
:
"/channelConversionList"
,
name
:
"channelConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
42
)]).
then
(
function
(){
var
n
=
[
t
(
"h0PA"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"渠道分商品转化数据"
,
routerName
:
"channelGoodsConversionList"
,
path
:
"/channelGoodsConversionList"
,
cover
:
"9-2"
,
router
:{
path
:
"/channelGoodsConversionList"
,
name
:
"channelGoodsConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
43
)]).
then
(
function
(){
var
n
=
[
t
(
"G/kT"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"期数转化数据"
,
routerName
:
"periodsConversionList"
,
path
:
"/periodsConversionList"
,
cover
:
"9-4"
,
router
:{
path
:
"/periodsConversionList"
,
name
:
"periodsConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
59
)]).
then
(
function
(){
var
n
=
[
t
(
"+Xua"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"销售小组数据"
,
routerName
:
"squadConversionList"
,
path
:
"/squadConversionList"
,
cover
:
"9-5"
,
router
:{
path
:
"/squadConversionList"
,
name
:
"squadConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
65
)]).
then
(
function
(){
var
n
=
[
t
(
"M7X6"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"班主任转化数据"
,
routerName
:
"teacherConversionList"
,
path
:
"/teacherConversionList"
,
cover
:
"9-6"
,
router
:{
path
:
"/teacherConversionList"
,
name
:
"teacherConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
46
)]).
then
(
function
(){
var
n
=
[
t
(
"6yV8"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"各期数班主任转化数据"
,
routerName
:
"teacherPeriodsConversionList"
,
path
:
"/teacherPeriodsConversionList"
,
cover
:
"9-7"
,
router
:{
path
:
"/teacherPeriodsConversionList"
,
name
:
"teacherPeriodsConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
49
)]).
then
(
function
(){
var
n
=
[
t
(
"TtuZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"明细数据列表"
,
routerName
:
"channelTransList"
,
path
:
"/channelTransList"
,
cover
:
"9-1"
,
router
:{
path
:
"/channelTransList"
,
name
:
"channelTransList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
58
)]).
then
(
function
(){
var
n
=
[
t
(
"XXYb"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"实物管理"
,
icon
:
"icon-shu"
,
list
:[{
value
:
"单品列表"
,
routerName
:
"single"
,
path
:
"/single"
,
cover
:
"6-1"
,
router
:{
path
:
"/single"
,
name
:
"single"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
21
)]).
then
(
function
(){
var
n
=
[
t
(
"B31M"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"盒子列表"
,
routerName
:
"box"
,
path
:
"/box"
,
cover
:
"6-2"
,
router
:{
path
:
"/box"
,
name
:
"box"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
18
)]).
then
(
function
(){
var
n
=
[
t
(
"+vCD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"待发货列表"
,
routerName
:
"logistics"
,
path
:
"/logistics"
,
cover
:
"6-3"
,
router
:{
path
:
"/logistics"
,
name
:
"logistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
23
)]).
then
(
function
(){
var
n
=
[
t
(
"eYh/"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"公众号"
,
icon
:
"icon-ai-weixin"
,
list
:[{
value
:
"自动回复"
,
routerName
:
"focusReply"
,
path
:
"/focusReply"
,
cover
:
"7-1"
,
router
:{
path
:
"/focusReply"
,
name
:
"focusReply"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
19
)]).
then
(
function
(){
var
n
=
[
t
(
"CK6D"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"关键词回复"
,
routerName
:
"autoReply"
,
path
:
"/autoReply"
,
cover
:
"7-2"
,
router
:{
path
:
"/autoReply"
,
name
:
"autoReply"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
20
)]).
then
(
function
(){
var
n
=
[
t
(
"65NY"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"公众号菜单"
,
routerName
:
"weChat"
,
path
:
"/weChat"
,
cover
:
"7-3"
,
router
:{
path
:
"/weChat"
,
name
:
"weChat"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
27
)]).
then
(
function
(){
var
n
=
[
t
(
"q5av"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"素材管理"
,
routerName
:
"weChatResource"
,
path
:
"/weChatResource"
,
cover
:
"7-4"
,
router
:{
path
:
"/weChatResource"
,
name
:
"weChatResource"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
28
)]).
then
(
function
(){
var
n
=
[
t
(
"Xhqp"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"二维码管理"
,
routerName
:
"qrcode"
,
path
:
"/qrcode"
,
cover
:
"7-6"
,
router
:{
path
:
"/qrcode"
,
name
:
"qrcode"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
17
)]).
then
(
function
(){
var
n
=
[
t
(
"lNiQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"群发助手"
,
routerName
:
"groupSend"
,
path
:
"/groupSend"
,
cover
:
"7-7"
,
router
:{
path
:
"/groupSend"
,
name
:
"groupSend"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
10
)]).
then
(
function
(){
var
n
=
[
t
(
"oerw"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"关注取关统计"
,
routerName
:
"watchCount"
,
path
:
"/watchCount"
,
cover
:
"7-8"
,
router
:{
path
:
"/watchCount"
,
name
:
"watchCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
63
)]).
then
(
function
(){
var
n
=
[
t
(
"Dq6T"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"微信统计"
,
routerName
:
"weChatStatistics"
,
path
:
"/weChatStatistics"
,
cover
:
"7-10"
,
router
:{
path
:
"/weChatStatistics"
,
name
:
"weChatStatistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
64
)]).
then
(
function
(){
var
n
=
[
t
(
"5t3x"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"测试"
,
routerName
:
"test"
,
path
:
"/test"
,
cover
:
"7-11"
,
router
:{
path
:
"/test"
,
name
:
"test"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
32
)]).
then
(
function
(){
var
n
=
[
t
(
"9ZSL"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"系统管理"
,
icon
:
"icon-xitongquanxian"
,
list
:[{
value
:
"首页管理"
,
routerName
:
"banner"
,
path
:
"/banner"
,
cover
:
"7-5"
,
router
:{
path
:
"/banner"
,
name
:
"banner"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
36
)]).
then
(
function
(){
var
n
=
[
t
(
"CGL6"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"外部投放管理"
,
routerName
:
"externalLaunch"
,
path
:
"/externalLaunch"
,
cover
:
"7-9"
,
router
:{
path
:
"/externalLaunch"
,
name
:
"externalLaunch"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
55
)]).
then
(
function
(){
var
n
=
[
t
(
"NrkQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"来源码管理"
,
routerName
:
"sourceManage"
,
path
:
"/sourceManage"
,
cover
:
"10-1"
,
router
:{
path
:
"/sourceManage"
,
name
:
"sourceManage"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
38
)]).
then
(
function
(){
var
n
=
[
t
(
"/ubI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"短信发送记录"
,
routerName
:
"smsRecord"
,
path
:
"/smsRecord"
,
cover
:
"10-2"
,
router
:{
path
:
"/smsRecord"
,
name
:
"smsRecord"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
30
)]).
then
(
function
(){
var
n
=
[
t
(
"qjS+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"系统配置"
,
routerName
:
"config"
,
path
:
"/config"
,
cover
:
"10-3"
,
router
:{
path
:
"/config"
,
name
:
"config"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
54
)]).
then
(
function
(){
var
n
=
[
t
(
"TPCG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"后台管理"
,
icon
:
"icon-shezhi"
,
list
:[{
value
:
"账号管理"
,
routerName
:
"admin"
,
path
:
"/admin"
,
cover
:
"8-1"
,
router
:{
path
:
"/admin"
,
name
:
"admin"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
48
)]).
then
(
function
(){
var
n
=
[
t
(
"+jTk"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"角色管理"
,
routerName
:
"role"
,
path
:
"/role"
,
cover
:
"8-2"
,
router
:{
path
:
"/role"
,
name
:
"role"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
47
)]).
then
(
function
(){
var
n
=
[
t
(
"Vt1u"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"菜单管理"
,
routerName
:
"menu"
,
path
:
"/menu"
,
cover
:
"8-3"
,
router
:{
path
:
"/menu"
,
name
:
"menu"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
66
)]).
then
(
function
(){
var
n
=
[
t
(
"aTXs"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"系统配置"
,
routerName
:
"sysConfig"
,
path
:
"/sysConfig"
,
cover
:
"8-4"
,
router
:{
path
:
"/sysConfig"
,
name
:
"sysConfig"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
33
)]).
then
(
function
(){
var
n
=
[
t
(
"gaNG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"操作日志"
,
routerName
:
"adminLog"
,
path
:
"/adminLog"
,
cover
:
"8-5"
,
router
:{
path
:
"/adminLog"
,
name
:
"adminLog"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
44
)]).
then
(
function
(){
var
n
=
[
t
(
"WZgi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]}],
a
=
{
name
:
"App"
,
data
:
function
(){
return
{}},
mounted
:
function
(){
var
e
=
this
;
if
(
window
.
location
.
href
.
indexOf
(
"login"
)
<
0
){
var
n
=
this
.
$store
.
state
.
progressList
;
console
.
log
(
this
.
$store
.
state
);
var
a
=
[];
this
.
$router
.
options
.
routes
[
0
].
children
=
[];
var
r
=
{
path
:
"/userDetail/:id"
,
name
:
"userDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
11
)]).
then
(
function
(){
var
n
=
[
t
(
"9PRC"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}},
i
=
{
path
:
"/teacher/:id"
,
name
:
"teacherDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
6
)]).
then
(
function
(){
var
n
=
[
t
(
"hFUZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}};
o
.
forEach
(
function
(
t
){
var
o
=!
1
,
u
=
[];
t
.
list
.
forEach
(
function
(
t
){
var
a
=
n
.
find
(
function
(
e
){
return
e
.
cover
===
t
.
cover
});
a
&&
(
t
.
router
.
meta
=
{},
t
.
router
.
meta
.
readonly
=!!
a
.
readonly
,
t
.
router
.
meta
.
delete
=!!
a
.
delete
,
t
.
router
.
meta
.
export
=!!
a
.
export
,
t
.
router
.
meta
.
refund
=!!
a
.
refund
,
t
.
router
.
meta
.
distribution
=!!
a
.
distribution
,
t
.
router
.
meta
.
classManage
=!!
a
.
classManage
,
t
.
router
.
meta
.
classManageUnlimited
=!!
a
.
classManageUnlimited
,
t
.
router
.
meta
.
classTakeUnlimited
=!!
a
.
classTakeUnlimited
,
t
.
router
.
meta
.
promoter
=!!
a
.
promoter
,
u
.
push
(
t
),
"3-1"
===
a
.
cover
&&
(
i
.
meta
=
{},
i
.
meta
.
readonly
=
a
.
readonly
,
i
.
meta
.
delete
=!!
a
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
i
)),
"3-2"
===
a
.
cover
&&
(
r
.
meta
=
{},
r
.
meta
.
readonly
=
a
.
readonly
,
r
.
meta
.
delete
=!!
a
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
r
)),
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
t
.
router
),
o
=!
0
)}),
o
&&
(
t
.
list
=
u
,
a
.
push
(
t
))}),
this
.
$router
.
addRoutes
([
this
.
$router
.
options
.
routes
[
0
]]),
this
.
$store
.
dispatch
(
"setMenu"
,
a
)}}},
r
=
{
render
:
function
(){
var
e
=
this
.
$createElement
,
n
=
this
.
_self
.
_c
||
e
;
return
n
(
"div"
,{
attrs
:{
id
:
"app"
}},[
n
(
"router-view"
)],
1
)},
staticRenderFns
:[]};
var
i
=
t
(
"VU/8"
)(
a
,
r
,
!
1
,
function
(
e
){
t
(
"/Bbx"
)},
null
,
null
).
exports
,
u
=
t
(
"lRwf"
),
c
=
t
.
n
(
u
),
s
=
t
(
"YaEn"
),
l
=
t
(
"IcnI"
),
h
=
t
(
"zL8q"
),
m
=
t
.
n
(
h
);
c
.
a
.
use
(
m
.
a
),
c
.
a
.
config
.
productionTip
=!
1
,
new
c
.
a
({
el
:
"#app"
,
store
:
l
.
a
,
router
:
s
.
a
,
components
:{
App
:
i
},
template
:
"<App/>"
})},
OMN4
:
function
(
e
,
n
){
e
.
exports
=
axios
},
YaEn
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"IcnI"
),
a
=
t
(
"/ocq"
),
r
=
t
(
"zSLJ"
),
i
=
new
a
.
a
({
routes
:[{
path
:
"/"
,
name
:
"index"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
7
)]).
then
(
function
(){
var
n
=
[
t
(
"jHcp"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
redirect
:{
name
:
"first"
},
children
:[{
path
:
""
,
name
:
"first"
,
component
:
function
(
e
){
return
t
.
e
(
31
).
then
(
function
(){
var
n
=
[
t
(
"sJm1"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}]},{
path
:
"/login"
,
name
:
"login"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
56
)]).
then
(
function
(){
var
n
=
[
t
(
"0HId"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/register"
,
name
:
"register"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
45
)]).
then
(
function
(){
var
n
=
[
t
(
"90Fj"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/outManager"
,
name
:
"outManager"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
62
)]).
then
(
function
(){
var
n
=
[
t
(
"hLMI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/upload"
,
name
:
"upload"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
57
)]).
then
(
function
(){
var
n
=
[
t
(
"iPJD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/newLesson"
,
name
:
"newLesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
3
)]).
then
(
function
(){
var
n
=
[
t
(
"4t0V"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}}]});
i
.
beforeEach
(
function
(
e
,
n
,
t
){
if
(
o
.
a
.
commit
(
"mainCanShow"
),
r
.
a
.
get
(
"cc_token"
)
&&
(
o
.
a
.
dispatch
(
"setToken"
,
r
.
a
.
get
(
"cc_token"
)),
o
.
a
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
))),
null
!==
r
.
a
.
get
(
"cc_user_name"
)
&&
o
.
a
.
dispatch
(
"setUserName"
,
r
.
a
.
get
(
"cc_user_name"
))),
o
.
a
.
state
.
nowTab
=
e
.
name
,
e
.
matched
.
length
>
1
&&
"first"
!==
e
.
name
){
for
(
var
a
=
void
0
,
i
=
0
;
i
<
o
.
a
.
state
.
menuList
.
length
;
i
++
)
for
(
var
u
=
o
.
a
.
state
.
menuList
[
i
],
c
=
0
;
c
<
u
.
list
.
length
;
c
++
){
var
s
=
u
.
list
[
c
];
s
.
path
===
e
.
path
&&
(
a
=
s
)}
o
.
a
.
state
.
openedTab
.
indexOf
(
a
)
<
0
&&
o
.
a
.
state
.
openedTab
.
push
(
a
)}
if
(
e
.
meta
.
readonly
?
o
.
a
.
dispatch
(
"readonly"
,
!
0
):
o
.
a
.
dispatch
(
"readonly"
,
!
1
),
o
.
a
.
state
.
orderRefund
=
e
.
meta
.
refund
,
o
.
a
.
state
.
export
=
e
.
meta
.
export
,
o
.
a
.
state
.
distribution
=
e
.
meta
.
distribution
,
o
.
a
.
state
.
classManage
=
e
.
meta
.
classManage
,
o
.
a
.
dispatch
(
"promoter"
,
e
.
meta
.
promoter
),
o
.
a
.
dispatch
(
"classManageUnlimited"
,
e
.
meta
.
classManageUnlimited
),
o
.
a
.
dispatch
(
"classTakeUnlimited"
,
e
.
meta
.
classTakeUnlimited
),
console
.
log
(
e
.
meta
),
"userDetail"
===
e
.
name
){
var
l
=
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
)).
find
(
function
(
e
){
return
"3-2"
===
e
.
cover
}).
readonly
;
o
.
a
.
dispatch
(
"readonly"
,
l
)}
e
.
meta
.
delete
?
o
.
a
.
dispatch
(
"deletePermission"
,
!
0
):
o
.
a
.
dispatch
(
"deletePermission"
,
!
1
),
e
.
matched
.
some
(
function
(
e
){
return
!
0
!==
e
.
meta
.
skip_auth
})
&&!
o
.
a
.
state
.
token
?
t
({
path
:
"/login"
}):
t
()}),
i
.
onError
(
function
(
e
){
var
n
=
e
.
message
.
match
(
/Loading chunk
(\d)
+ failed/g
),
t
=
i
.
history
.
pending
.
fullPath
;
n
&&
i
.
replace
(
t
)}),
n
.
a
=
i
},
lRwf
:
function
(
e
,
n
){
e
.
exports
=
Vue
},
zSLJ
:
function
(
e
,
n
,
t
){
"use strict"
;
n
.
a
=
{
set
:
function
(
e
,
n
,
t
){
var
o
=
new
Date
;
o
.
setTime
(
o
.
getTime
()
+
864
e5
*
t
),
window
.
document
.
cookie
=
e
+
"="
+
n
+
";path=/;expires="
+
o
.
toGMTString
()},
get
:
function
(
e
){
var
n
=
window
.
document
.
cookie
.
match
(
"(^|;) ?"
+
e
+
"=([^;]*)(;|$)"
);
return
n
?
n
[
2
]:
null
},
delete
:
function
(
e
){
this
.
set
(
e
,
""
,
-
1
)}}}},[
"NHnr"
]);
\ No newline at end of file
dist/static/js/manifest.a041dc5b33eae49fcb13.js
0 → 100644
View file @
0e68b495
!
function
(
e
){
var
a
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
c
,
d
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
c
.
length
;
i
++
)
t
=
c
[
i
],
f
[
t
]
&&
u
.
push
(
f
[
t
][
0
]),
f
[
t
]
=
0
;
for
(
r
in
d
)
Object
.
prototype
.
hasOwnProperty
.
call
(
d
,
r
)
&&
(
e
[
r
]
=
d
[
r
]);
for
(
a
&&
a
(
c
,
d
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
b
(
b
.
s
=
n
[
i
]);
return
o
};
var
c
=
{},
f
=
{
69
:
0
};
function
b
(
a
){
if
(
c
[
a
])
return
c
[
a
].
exports
;
var
f
=
c
[
a
]
=
{
i
:
a
,
l
:
!
1
,
exports
:{}};
return
e
[
a
].
call
(
f
.
exports
,
f
,
f
.
exports
,
b
),
f
.
l
=!
0
,
f
.
exports
}
b
.
e
=
function
(
e
){
var
a
=
f
[
e
];
if
(
0
===
a
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
a
)
return
a
[
2
];
var
c
=
new
Promise
(
function
(
c
,
b
){
a
=
f
[
e
]
=
[
c
,
b
]});
a
[
2
]
=
c
;
var
d
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
b
.
nc
&&
n
.
setAttribute
(
"nonce"
,
b
.
nc
),
n
.
src
=
b
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"e873fe1445eecfdd8b41"
,
1
:
"9ca15b2cd835acbf3996"
,
2
:
"6e1cb6232134de4052f1"
,
3
:
"af3d62cd45bd72d7307d"
,
4
:
"238867bab3a2bdc17f6c"
,
5
:
"852cb46fc629c79ddc4a"
,
6
:
"87cc5d3d74bf551e2118"
,
7
:
"e9ef802a955a636f31cf"
,
8
:
"48f38322a9460d5f8278"
,
9
:
"42e8ba54f322dc10e413"
,
10
:
"a238853b1fa6c77378ca"
,
11
:
"1b4817c499e9fa7de24c"
,
12
:
"d6f5911bee9929689e3b"
,
13
:
"3ff662a659ba536a3b4e"
,
14
:
"10b880fbbb8c7033de6e"
,
15
:
"4595f3ca331d3a0045cc"
,
16
:
"a8802401734a284be130"
,
17
:
"ba1377397ade15fe0eba"
,
18
:
"5d9ad60beaf0433331d4"
,
19
:
"a6518c4c60ba6dd4975f"
,
20
:
"e0e156cc76047c7ae7c4"
,
21
:
"3a86be592c00eba7e0a4"
,
22
:
"f0759a003a4ce170bba3"
,
23
:
"ef1b27caebc2df254db1"
,
24
:
"a54ed0d812d1b4a94fb0"
,
25
:
"14c2592d91ff7403723d"
,
26
:
"aeef8c99b6902baafa89"
,
27
:
"570fad63025264f72f4e"
,
28
:
"03b295eef2aaf7105561"
,
29
:
"b99b833ddc9b9402bb10"
,
30
:
"15037abbbdbc5b686059"
,
31
:
"1c3f1b652018be655519"
,
32
:
"41e8421af8fa0a679b5f"
,
33
:
"6fbbde3c7f739071c7b8"
,
34
:
"aa76273377d065618bbb"
,
35
:
"d39edd09c62a75409b8d"
,
36
:
"b7d01ad3dd58ba9ecb57"
,
37
:
"9416f3204220b4455acc"
,
38
:
"e36a5d7a23ebf978dc59"
,
39
:
"efd14ef621ca6c12f712"
,
40
:
"672bfec1ef4b9cf6d2d7"
,
41
:
"c13e1ce397130139919a"
,
42
:
"54ea9334b353a865b62a"
,
43
:
"3f0c57bd71428fb4d2ac"
,
44
:
"1fab58fe1b508fb270d4"
,
45
:
"ca5d11a97409b92ad250"
,
46
:
"ed6ea196fd550901db2f"
,
47
:
"db37df37e9f27c7ea39d"
,
48
:
"a853b1b9a91fcc73f287"
,
49
:
"94f4417a5dabe7a020df"
,
50
:
"9baf5814b410298452db"
,
51
:
"8dabef03a7b89a2ee527"
,
52
:
"0f0f0a30077678a868b1"
,
53
:
"7b6da8726b816b191f5f"
,
54
:
"e8a3ee47f6e07b633352"
,
55
:
"66f703c8472dc70e4cbc"
,
56
:
"94fbfdb5ec67a7f8e0d3"
,
57
:
"1adc23bc408c97d8ce9e"
,
58
:
"c2d9cf37c62df8474734"
,
59
:
"b3cda17a6cb794226e14"
,
60
:
"ec57c2df8d83599ebec2"
,
61
:
"a90df80c2107d86bccd1"
,
62
:
"b4bc78e1a33061fec48b"
,
63
:
"2d7f60dd5de482e2a964"
,
64
:
"013ddb2b4051813ba640"
,
65
:
"3c5fea6383d069b08871"
,
66
:
"0e0d2f0d4fd4916a2f91"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
a
=
f
[
e
];
0
!==
a
&&
(
a
&&
a
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
f
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
d
.
appendChild
(
n
),
c
},
b
.
m
=
e
,
b
.
c
=
c
,
b
.
d
=
function
(
e
,
a
,
c
){
b
.
o
(
e
,
a
)
||
Object
.
defineProperty
(
e
,
a
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
c
})},
b
.
n
=
function
(
e
){
var
a
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
b
.
d
(
a
,
"a"
,
a
),
a
},
b
.
o
=
function
(
e
,
a
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
a
)},
b
.
p
=
"/"
,
b
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/components/conversionList/channelGoodsConversionList.vue
View file @
0e68b495
...
...
@@ -220,7 +220,7 @@ export default {
components
:
{
page
},
methods
:
{
rendertip
(
h
,
{
column
})
{
console
.
log
(
h
)
//
console.log(h)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
h
(
...
...
src/components/conversionList/periodsConversionList.vue
View file @
0e68b495
...
...
@@ -212,7 +212,7 @@ export default {
components
:
{
page
},
methods
:
{
rendertip
(
h
,
{
column
})
{
console
.
log
(
h
)
//
console.log(h)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
h
(
...
...
src/components/conversionList/squadConversionList.vue
View file @
0e68b495
...
...
@@ -190,7 +190,7 @@ export default {
components
:
{
page
},
methods
:
{
rendertip
(
h
,
{
column
})
{
console
.
log
(
h
)
//
console.log(h)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
h
(
...
...
src/components/conversionList/teacherConversionList.vue
View file @
0e68b495
...
...
@@ -193,7 +193,7 @@ export default {
components
:
{
page
},
methods
:
{
rendertip
(
h
,
{
column
})
{
console
.
log
(
h
)
//
console.log(h)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
h
(
...
...
src/components/conversionList/teacherPeriodsConversionList.vue
View file @
0e68b495
...
...
@@ -212,7 +212,7 @@ export default {
components
:
{
page
},
methods
:
{
rendertip
(
h
,
{
column
})
{
console
.
log
(
h
)
//
console.log(h)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
h
(
...
...
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