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
f784dd99
Commit
f784dd99
authored
Jul 12, 2019
by
chenyishuai@singsingenglish.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
712
parent
5aabf65c
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
20 additions
and
7 deletions
+20
-7
index.html
dev/index.html
+1
-1
64.db66ffa9f4d114872eda.js
dev/static/js/64.db66ffa9f4d114872eda.js
+1
-0
manifest.dbfaa9d4ea71731c5eda.js
dev/static/js/manifest.dbfaa9d4ea71731c5eda.js
+1
-0
index.html
dist/index.html
+1
-1
app.1c9952c6b6854e19d02bd2ed07cb426b.css
dist/static/css/app.1c9952c6b6854e19d02bd2ed07cb426b.css
+1
-0
44.8176a25163cf3b2953fe.js
dist/static/js/44.8176a25163cf3b2953fe.js
+1
-0
45.cbe937e95e437890c5a5.js
dist/static/js/45.cbe937e95e437890c5a5.js
+1
-0
46.32b1aff7c3b5b9879448.js
dist/static/js/46.32b1aff7c3b5b9879448.js
+1
-0
47.f4927b35418eeab625ae.js
dist/static/js/47.f4927b35418eeab625ae.js
+1
-0
48.4ac25814c0822aad955f.js
dist/static/js/48.4ac25814c0822aad955f.js
+1
-0
49.19bc08b4342a2401a914.js
dist/static/js/49.19bc08b4342a2401a914.js
+1
-0
50.f7f308ed5db1a92114ac.js
dist/static/js/50.f7f308ed5db1a92114ac.js
+1
-0
51.e78a0f65dcdcfe07b920.js
dist/static/js/51.e78a0f65dcdcfe07b920.js
+1
-0
app.79dd654a4ee2cd30d3cc.js
dist/static/js/app.79dd654a4ee2cd30d3cc.js
+1
-0
manifest.c6b8c007723646e4aa50.js
dist/static/js/manifest.c6b8c007723646e4aa50.js
+1
-0
marketEnrollmentConversionList.vue
...ponents/conversionList/marketEnrollmentConversionList.vue
+5
-5
No files found.
dev/index.html
View file @
f784dd99
<!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.
35d63c89049eac9fa0e6
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.a8f02460e99f2b68b806.js
></script><script
type=
text/javascript
src=
/static/js/app.4a27039b1cfb8d3f068f.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.
dbfaa9d4ea71731c5eda
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.a8f02460e99f2b68b806.js
></script><script
type=
text/javascript
src=
/static/js/app.4a27039b1cfb8d3f068f.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
...
...
dev/static/js/64.db66ffa9f4d114872eda.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
64
],{
"6f06"
:
function
(
e
,
t
,
a
){
var
r
=
a
(
"dBL8"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
a
(
"rjj0"
)(
"0a77a854"
,
r
,
!
1
,{})},
dBL8
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.searchFrom[data-v-1517799c] {
\n
position: absolute;
\n
top: 20px;
\n
}
\n
.el-table[data-v-1517799c] {
\n
margin-top: 130px;
\n
}
\n
[data-v-1517799c] .el-table--enable-row-hover .el-table__body tr:hover > td {
\n
background-color: #fff;
\n
}
\n
[data-v-1517799c] .el-table .warning-row {
\n
background: oldlace;
\n
}
\n
[data-v-1517799c] .el-progress-bar__inner {
\n
max-width: 100% !important;
\n
}
\n
.el-main .content .router-block .child-view[data-v-1517799c] {
\n
height: 100vh;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/marketEnrollmentConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,mBAAmB;EACnB,UAAU;CACX;AACD;EACE,kBAAkB;CACnB;AACD;EACE,uBAAuB;CACxB;AACD;EACE,oBAAoB;CACrB;AACD;EACE,2BAA2B;CAC5B;AACD;EACE,cAAc;CACf"
,
file
:
"marketEnrollmentConversionList.vue"
,
sourcesContent
:[
"
\n
.searchFrom[data-v-1517799c] {
\n
position: absolute;
\n
top: 20px;
\n
}
\n
.el-table[data-v-1517799c] {
\n
margin-top: 130px;
\n
}
\n
[data-v-1517799c] .el-table--enable-row-hover .el-table__body tr:hover > td {
\n
background-color: #fff;
\n
}
\n
[data-v-1517799c] .el-table .warning-row {
\n
background: oldlace;
\n
}
\n
[data-v-1517799c] .el-progress-bar__inner {
\n
max-width: 100% !important;
\n
}
\n
.el-main .content .router-block .child-view[data-v-1517799c] {
\n
height: 100vh;
\n
}
\n
"
],
sourceRoot
:
""
}])},
lWjU
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
);
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
}
var
i
=
{
name
:
"index"
,
data
:
function
(){
var
e
,
t
=
this
;
return
n
(
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"
,[]),
n
(
e
,
"total"
,
0
),
n
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
n
(
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"
]}}),
n
(
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"
]}}),
n
(
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"
]}}),
n
(
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
(
r
.
_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
(
r
.
_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
()}},
o
=
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
,
r
){
return
a
(
"el-table-column"
,{
key
:
r
,
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
[
r
].
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
[
r
].
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
[
r
].
friend_num_except_class_num
)
+
"%"
)]}}])})],
1
)})],
2
)],
1
)};
o
.
_withStripped
=!
0
;
var
s
=
{
render
:
o
,
staticRenderFns
:[]},
l
=
s
;
var
c
=!
1
;
var
m
=
a
(
"VU/8"
)(
i
,
l
,
!
1
,
function
(
e
){
c
||
a
(
"6f06"
)},
"data-v-1517799c"
,
null
);
m
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
marketEnrollmentConversionList.vue"
;
t
.
default
=
m
.
exports
}});
\ No newline at end of file
dev/static/js/manifest.dbfaa9d4ea71731c5eda.js
0 → 100644
View file @
f784dd99
!
function
(
e
){
var
a
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
f
,
b
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
f
.
length
;
i
++
)
t
=
f
[
i
],
c
[
t
]
&&
u
.
push
(
c
[
t
][
0
]),
c
[
t
]
=
0
;
for
(
r
in
b
)
Object
.
prototype
.
hasOwnProperty
.
call
(
b
,
r
)
&&
(
e
[
r
]
=
b
[
r
]);
for
(
a
&&
a
(
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
=
{},
c
=
{
69
:
0
};
function
d
(
a
){
if
(
f
[
a
])
return
f
[
a
].
exports
;
var
c
=
f
[
a
]
=
{
i
:
a
,
l
:
!
1
,
exports
:{}};
return
e
[
a
].
call
(
c
.
exports
,
c
,
c
.
exports
,
d
),
c
.
l
=!
0
,
c
.
exports
}
d
.
e
=
function
(
e
){
var
a
=
c
[
e
];
if
(
0
===
a
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
a
)
return
a
[
2
];
var
f
=
new
Promise
(
function
(
f
,
d
){
a
=
c
[
e
]
=
[
f
,
d
]});
a
[
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
:
"7a0639ad241bbb2ede33"
,
1
:
"bf063802f977067e6dcb"
,
2
:
"58515f7de13acb470595"
,
3
:
"8075cb21f900661084cf"
,
4
:
"46ba00a32ce2a96802af"
,
5
:
"f5df6b22487543b31cf2"
,
6
:
"55bd2621c6306ec809d3"
,
7
:
"7cd8f754a296b96aba40"
,
8
:
"1f86566f56e62280ad0e"
,
9
:
"82f98289b89aa27a7160"
,
10
:
"961ca4d0347850a084c8"
,
11
:
"30af493b1c6d275259c5"
,
12
:
"8f6b10c9c8cfaf2e8d97"
,
13
:
"50663e61b70f56cb4985"
,
14
:
"2c65e9b3613310e0f5bd"
,
15
:
"e011d1d5608b8d910bb5"
,
16
:
"a3d5b4cb2154e2e4836d"
,
17
:
"e00d1ac1a86f2c222b00"
,
18
:
"f09f84aeb4f418f912bf"
,
19
:
"da3a0283eafb4e04a716"
,
20
:
"1cc78c64bad5349650a8"
,
21
:
"f118885a967869b2b935"
,
22
:
"9252180f1a6a496ee274"
,
23
:
"32b5a7ae5b71f11bb86f"
,
24
:
"822524dcf38c127a1320"
,
25
:
"d9f5016f6cea4469d12a"
,
26
:
"ac16a5f3a08abe6020b6"
,
27
:
"90552a13645fe8abff17"
,
28
:
"0ba8646f3ee974df6f0e"
,
29
:
"006eb1ddf50f9ea166ed"
,
30
:
"3893509b6f1914b62688"
,
31
:
"3741b6fd7d9b2e4dca3c"
,
32
:
"961782ad3591c4391187"
,
33
:
"869cb4bb09a271b84d1d"
,
34
:
"a6b761044177d11dc207"
,
35
:
"419b27e83d767376dfbb"
,
36
:
"8e6c26316404d22cd185"
,
37
:
"cabfa2b10c40efd29f2f"
,
38
:
"163d4f1ab103efb9d425"
,
39
:
"8eefc4e60e084886a3e5"
,
40
:
"2a07db6c5afaa1547dfa"
,
41
:
"f5cbc80a06389832a034"
,
42
:
"6b54a7fc7c4b4dd9c205"
,
43
:
"6311911ee98f880190d8"
,
44
:
"e84d65050c9c698f3886"
,
45
:
"b421efb2f40501e85b86"
,
46
:
"b7e42a2cc12d2ff4b500"
,
47
:
"6f9ab1126a4fe3f259cd"
,
48
:
"86beb807e24422a8990d"
,
49
:
"0d7d1519f6dcfe76790c"
,
50
:
"dedd88db239da35e7e68"
,
51
:
"afc07ee28b9977a4e86c"
,
52
:
"58e3a3086ec9b6ec4630"
,
53
:
"7f1936bedff731843b72"
,
54
:
"f8cf388a9a5fb44c97d5"
,
55
:
"07a78bea0bfe42aad53d"
,
56
:
"2034e3a8ec33940647da"
,
57
:
"08afe6a1839060b15104"
,
58
:
"4016b753eaae61443c9d"
,
59
:
"7a704aedef6bf84cbe7e"
,
60
:
"1ec4d0f9d1946f2428ce"
,
61
:
"4d9ce79aed296aa868b8"
,
62
:
"c8d9edfff11188eb6802"
,
63
:
"03b46b1821a190c5e2bf"
,
64
:
"db66ffa9f4d114872eda"
,
65
:
"654549618ef286409099"
,
66
:
"3f40d2fdd36e80197a09"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
a
=
c
[
e
];
0
!==
a
&&
(
a
&&
a
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
c
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
b
.
appendChild
(
n
),
f
},
d
.
m
=
e
,
d
.
c
=
f
,
d
.
d
=
function
(
e
,
a
,
f
){
d
.
o
(
e
,
a
)
||
Object
.
defineProperty
(
e
,
a
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
f
})},
d
.
n
=
function
(
e
){
var
a
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
d
.
d
(
a
,
"a"
,
a
),
a
},
d
.
o
=
function
(
e
,
a
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
a
)},
d
.
p
=
"/"
,
d
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
dist/index.html
View file @
f784dd99
<!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.
4cd8300bb539b827828ce36e54d24cdf.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.04e1a1a9e1413f8ddd9e.js
></script><script
type=
text/javascript
src=
/static/js/vendor.c51fd44cbf7149072a68.js
></script><script
type=
text/javascript
src=
/static/js/app.e24a9e52fc149053a459
.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.
1c9952c6b6854e19d02bd2ed07cb426b.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.c6b8c007723646e4aa50.js
></script><script
type=
text/javascript
src=
/static/js/vendor.c51fd44cbf7149072a68.js
></script><script
type=
text/javascript
src=
/static/js/app.79dd654a4ee2cd30d3cc
.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
...
...
dist/static/css/app.1c9952c6b6854e19d02bd2ed07cb426b.css
0 → 100644
View file @
f784dd99
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/static/js/44.8176a25163cf3b2953fe.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
44
],{
"+jTk"
:
function
(
e
,
t
,
o
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
=
o
(
"CCn6"
),
i
=
o
(
"+TkF"
),
s
=
o
(
"kmJW"
),
l
=
o
(
"NC6I"
),
r
=
o
.
n
(
l
),
n
=
{
name
:
"admin"
,
components
:{
page
:
s
.
a
},
data
:
function
(){
var
e
=
this
;
return
{
nowPage
:
1
,
total
:
0
,
limit
:
10
,
adminList
:[],
searchFrom
:{
user_name
:
""
,
status
:
""
,
role_id
:
""
},
dialog
:{
dialogType
:
0
,
title
:
"新增账号"
,
show
:
!
1
,
select
:[{
code
:
0
,
value
:
i
.
a
[
0
]},{
code
:
1
,
value
:
i
.
a
[
1
]}],
rules
:{
username
:[{
validator
:
function
(
t
,
o
,
a
){
""
===
o
&&
0
===
e
.
dialog
.
dialogType
?
a
(
new
Error
(
"请输入账号"
)):
a
()},
trigger
:
"blur"
}],
password
:[{
validator
:
function
(
t
,
o
,
a
){
""
!==
o
||
0
!==
e
.
dialog
.
dialogType
&&
2
!==
e
.
dialog
.
dialogType
?(
""
===
e
.
dialog
.
form
.
surePassword
||
0
!==
e
.
dialog
.
dialogType
&&
2
!==
e
.
dialog
.
dialogType
||
e
.
$refs
.
form
.
validateField
(
"surePassword"
),
a
()):
a
(
new
Error
(
"请输入密码"
))},
trigger
:
"blur"
}],
surePassword
:[{
validator
:
function
(
t
,
o
,
a
){
0
===
e
.
dialog
.
dialogType
||
2
===
e
.
dialog
.
dialogType
?
""
===
o
?
a
(
new
Error
(
"请再次输入密码"
)):
o
!==
e
.
dialog
.
form
.
password
?
a
(
new
Error
(
"两次输入密码不一致!"
)):
a
():
a
()},
trigger
:
"blur"
}],
role_id
:[{
validator
:
function
(
t
,
o
,
a
){
0
===
e
.
dialog
.
dialogType
||
1
===
e
.
dialog
.
dialogType
?
""
===
o
&&
a
(
new
Error
(
"请输入角色"
)):
a
()},
trigger
:
"blur"
}],
desc
:[{
validator
:
function
(
t
,
o
,
a
){
0
===
e
.
dialog
.
dialogType
||
1
===
e
.
dialog
.
dialogType
?
""
===
o
&&
a
(
new
Error
(
"请输入简述"
)):
a
()},
trigger
:
"blur"
}]},
form
:{
id
:
""
,
username
:
""
,
password
:
""
,
surePassword
:
""
,
role_id
:
""
,
status
:
0
,
desc
:
""
}},
roleList
:[]}},
filters
:{
adminStatus
:
function
(
e
){
return
i
.
a
[
e
]}},
created
:
function
(){
this
.
$route
.
query
.
roleId
&&
(
this
.
searchFrom
.
role_id
=
parseInt
(
this
.
$route
.
query
.
roleId
)),
this
.
getList
(),
this
.
getRoleList
()},
methods
:{
getRoleList
:
function
(){
var
e
=
this
;
Object
(
a
.
_89
)({
page
:
1
,
limit
:
100
}).
then
(
function
(
t
){
t
&&
(
e
.
roleList
=
t
.
list
)})},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getList
()},
getList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
user_name
&&
(
t
.
user_name
=
this
.
searchFrom
.
user_name
),
""
!==
this
.
searchFrom
.
status
&&
(
t
.
status
=
this
.
searchFrom
.
status
),
""
!==
this
.
searchFrom
.
role_id
&&
(
t
.
role_id
=
this
.
searchFrom
.
role_id
),
Object
(
a
.
_30
)(
t
).
then
(
function
(
t
){
e
.
adminList
=
t
.
list
,
e
.
total
=
Number
(
t
.
total
),
e
.
$store
.
commit
(
"mainCanShow"
)})},
editPW
:
function
(
e
){
this
.
dialog
.
form
.
id
=
e
.
id
,
this
.
dialog
.
dialogType
=
2
,
this
.
dialog
.
title
=
"修改密码"
,
this
.
dialog
.
form
.
password
=
""
,
this
.
dialog
.
form
.
surePassword
=
""
,
this
.
dialog
.
show
=!
0
},
edit
:
function
(
e
){
this
.
dialog
.
show
=!
0
,
this
.
dialog
.
dialogType
=
1
,
this
.
dialog
.
form
.
id
=
e
.
id
,
this
.
dialog
.
title
=
"编辑"
,
this
.
dialog
.
form
.
username
=
e
.
user_name
,
this
.
dialog
.
form
.
password
=
""
,
this
.
dialog
.
form
.
status
=
e
.
status
,
this
.
dialog
.
form
.
role_id
=
e
.
role_id
,
this
.
dialog
.
form
.
desc
=
e
.
desc
},
add
:
function
(){
this
.
dialog
.
show
=!
0
,
this
.
dialog
.
dialogType
=
0
,
this
.
dialog
.
form
.
id
=
""
,
this
.
dialog
.
title
=
"新增"
,
this
.
dialog
.
form
.
username
=
""
,
this
.
dialog
.
form
.
status
=
0
,
this
.
dialog
.
form
.
password
=
""
,
this
.
dialog
.
form
.
role_id
=
""
,
this
.
dialog
.
form
.
desc
=
""
},
del
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将删除该账号?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
H
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
})}),
t
.
getList
()})},
onSub
:
function
(){
var
e
=
this
,
t
=
this
.
dialog
;
if
(
1
===
t
.
dialogType
){
var
o
=
{
role_id
:
t
.
form
.
role_id
,
desc
:
t
.
form
.
desc
,
status
:
t
.
form
.
status
};
this
.
$confirm
(
"此操作将编辑该账号?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
_5
)(
t
.
form
.
id
,
o
).
then
(
function
(){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
t
.
show
=!
1
,
e
.
getList
()})})}
else
if
(
0
===
t
.
dialogType
){
var
i
=
{
role_id
:
t
.
form
.
role_id
,
desc
:
t
.
form
.
desc
,
passwd
:
r
()(
t
.
form
.
password
),
username
:
t
.
form
.
username
};
this
.
$confirm
(
"此操作将添加新账号?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
b
)(
i
).
then
(
function
(){
e
.
$message
({
type
:
"success"
,
message
:
"添加成功!"
}),
t
.
show
=!
1
,
e
.
getList
()})})}
else
if
(
2
===
t
.
dialogType
){
var
s
=
{
passwd_new
:
r
()(
t
.
form
.
password
)};
this
.
$confirm
(
"此操作将修改此账号密码?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
a
.
_19
)(
t
.
form
.
id
,
s
).
then
(
function
(){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
t
.
show
=!
1
,
e
.
getList
()})})}}}},
d
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,{
staticClass
:
"admin"
},[
e
.
$store
.
state
.
readonly
?
e
.
_e
():
o
(
"el-button"
,{
staticStyle
:{
float
:
"right"
,
"margin-bottom"
:
"10px"
},
attrs
:{
plain
:
""
,
type
:
"success"
},
on
:{
click
:
e
.
add
}},[
e
.
_v
(
"新增角色"
)]),
e
.
_v
(
" "
),
o
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
inline
:
""
,
"label-width"
:
"80px"
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"用户名"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
user_name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"user_name"
,
t
)},
expression
:
"searchFrom.user_name"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"状态"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择用户状态"
},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"status"
,
t
)},
expression
:
"searchFrom.status"
}},[
o
(
"el-option"
,{
attrs
:{
label
:
"全部"
,
value
:
""
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"启用"
,
value
:
0
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"冻结"
,
value
:
1
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"角色"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择角色类型"
},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
role_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"role_id"
,
t
)},
expression
:
"searchFrom.role_id"
}},[
o
(
"el-option"
,{
attrs
:{
label
:
"全部"
,
value
:
""
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
roleList
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,[
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
getList
}},[
e
.
_v
(
"搜索"
)])],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
adminList
}},[
o
(
"el-table-column"
,{
attrs
:{
prop
:
"id"
,
label
:
"账号ID"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"user_name"
,
label
:
"用户名"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"role_name"
,
label
:
"角色"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"状态"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"adminStatus"
)(
t
.
row
.
status
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"desc"
,
label
:
"备注"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"last_login_at"
,
label
:
"最后登陆时间"
,
sortable
:
""
}}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
o
(
"el-table-column"
,{
attrs
:{
label
:
"操作"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"el-popover"
,{
attrs
:{
placement
:
"top"
,
width
:
"280"
}},[
o
(
"div"
,{
staticStyle
:{
"text-align"
:
"center"
}},[
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
edit
(
t
.
row
)}}},[
e
.
_v
(
"
\n
编辑
\n
"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"warning"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
editPW
(
t
.
row
)}}},[
e
.
_v
(
"
\n
修改密码
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
deletePermission
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
del
(
t
.
row
)}}},[
e
.
_v
(
"
\n
删除
\n
"
)]):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
size
:
"mini"
,
type
:
"text"
},
slot
:
"reference"
},[
e
.
_v
(
"操作"
)])],
1
)]}}])})],
1
),
e
.
_v
(
" "
),
o
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
o
(
"el-dialog"
,{
attrs
:{
title
:
e
.
dialog
.
title
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
e
.
dialog
.
show
,
width
:
"30%"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
dialog
,
"show"
,
t
)}}},[
o
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
rules
:
e
.
dialog
.
rules
,
model
:
e
.
dialog
.
form
,
"label-width"
:
"80px"
}},[
0
===
e
.
dialog
.
dialogType
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"账号"
,
prop
:
"username"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
dialog
.
form
.
username
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"username"
,
t
)},
expression
:
"dialog.form.username"
}})],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
===
e
.
dialog
.
dialogType
||
0
===
e
.
dialog
.
dialogType
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"密码"
,
prop
:
"password"
}},[
o
(
"el-input"
,{
attrs
:{
type
:
"password"
},
model
:{
value
:
e
.
dialog
.
form
.
password
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"password"
,
t
)},
expression
:
"dialog.form.password"
}})],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
===
e
.
dialog
.
dialogType
||
0
===
e
.
dialog
.
dialogType
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"确认密码"
,
prop
:
"surePassword"
}},[
o
(
"el-input"
,{
attrs
:{
type
:
"password"
},
model
:{
value
:
e
.
dialog
.
form
.
surePassword
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"surePassword"
,
t
)},
expression
:
"dialog.form.surePassword"
}})],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
!==
e
.
dialog
.
dialogType
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"角色"
,
prop
:
"role_id"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
dialog
.
form
.
role_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"role_id"
,
t
)},
expression
:
"dialog.form.role_id"
}},
e
.
_l
(
e
.
roleList
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})}))],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
2
!==
e
.
dialog
.
dialogType
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"简述"
,
prop
:
"desc"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
dialog
.
form
.
desc
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"desc"
,
t
)},
expression
:
"dialog.form.desc"
}})],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
e
.
dialog
.
dialogType
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"状态"
,
prop
:
"status"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
dialog
.
form
.
status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
dialog
.
form
,
"status"
,
t
)},
expression
:
"dialog.form.status"
}},
e
.
_l
(
e
.
dialog
.
select
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
code
,
attrs
:{
label
:
e
.
value
,
value
:
e
.
code
}})}))],
1
):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onSub
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
c
=
o
(
"VU/8"
)(
n
,
d
,
!
1
,
function
(
e
){
o
(
"qbdU"
)},
"data-v-7e29e74f"
,
null
);
t
.
default
=
c
.
exports
},
qbdU
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/45.cbe937e95e437890c5a5.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
45
],{
TtuZ
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
a
(
"CCn6"
),
i
=
a
(
"kmJW"
),
r
=
a
(
"+TkF"
);
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
}
var
o
=
{
name
:
"teacherPeriodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
n
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
n
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
n
(
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"
]}}),
n
(
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"
]}}),
n
(
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"
]}}),
n
(
e
,
"propertyList"
,[]),
n
(
e
,
"spanArr"
,[]),
n
(
e
,
"contentSpanArr"
,[]),
n
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
n
(
e
,
"propertyList"
,[]),
n
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
i
.
a
},
methods
:{
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
(
s
.
_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
s
=
e
.
getDate
();
return
s
<
10
&&
(
s
=
"0"
+
s
),
t
+
"-"
+
a
+
"-"
+
s
},
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
(
s
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
r
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
s
.
_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
(
s
.
_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
,
s
){
a
.
index
=
s
,
0
==
s
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
s
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
s
);
var
i
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
r
=
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
=
""
+
r
+
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
()}},
l
=
{
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
:
"到班数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
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
:
"到课数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
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
:
"转化人数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
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
:
"一年课购买人数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
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
c
=
a
(
"VU/8"
)(
o
,
l
,
!
1
,
function
(
e
){
a
(
"wFa9"
)},
null
,
null
);
t
.
default
=
c
.
exports
},
wFa9
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/46.32b1aff7c3b5b9879448.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
46
],{
K8NH
:
function
(
t
,
e
){},
h0PA
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
o
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
);
function
i
(
t
,
e
,
a
){
return
e
in
t
?
Object
.
defineProperty
(
t
,
e
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
t
[
e
]
=
a
,
t
}
var
r
=
{
name
:
"channelConversionList"
,
data
:
function
(){
var
t
,
e
=
this
;
return
i
(
t
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
i
(
t
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
e
.
searchFrom
.
payTime
=
[
e
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
t
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
t
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
e
.
searchFrom
.
payTime
=
[
t
+
" 00:00:00"
,
t
+
" 23:59:59"
]}}),
i
(
t
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
t
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
e
.
searchFrom
.
payTime
=
[
t
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
t
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
t
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
e
.
searchFrom
.
payTime
=
[
t
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
t
,
"propertyList"
,[]),
i
(
t
,
"spanArr"
,[]),
i
(
t
,
"contentSpanArr"
,[]),
i
(
t
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
i
(
t
,
"propertyList"
,[]),
i
(
t
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
i
(
t
,
"goodList"
,[]),
t
},
filters
:{
filterGoods
:
function
(
t
){
return
"["
+
t
.
id
+
"]["
+
s
.
h
[
t
.
goods_type
]
+
"]【"
+
t
.
current_price
/
100
+
"元】"
+
t
.
name
}},
components
:{
page
:
n
.
a
},
methods
:{
sortMethod
:
function
(
t
){
this
.
searchFrom
.
sort_key
=
t
.
prop
,
"ascending"
==
t
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getGoodsOption
:
function
(){
var
t
=
this
;
Object
(
o
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
e
){
t
.
goodList
=
e
.
list
,
console
.
log
(
t
.
goodList
,
176
)})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
t
){
var
e
=
""
;
e
=
t
.
length
>
1
?
t
.
join
(
","
):
t
[
0
],
this
.
periods_id
=
e
,
console
.
log
(
e
)},
objectSpanMethod
:
function
(
t
){},
handleItemChange
:
function
(
t
){
var
e
=
this
;
getPeriodsApi
({
goods_id
:
t
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
t
){
t
.
name
=
t
.
title
}),
e
.
goodsList
.
find
(
function
(
e
){
return
e
.
id
===
t
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
t
){
if
(
t
.
length
>
1
){
this
.
goods_id
=
t
[
0
];
var
e
=
this
.
goodsList
.
find
(
function
(
e
){
return
e
.
id
===
t
[
0
]});
this
.
periods
=
e
.
children
.
find
(
function
(
e
){
return
e
.
id
===
t
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
t
){
this
.
searchFrom
.
teacher_id
=
t
,
this
.
getChannelTransList
()},
selectChange
:
function
(
t
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
t
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
t
){
var
e
=
t
.
getFullYear
(),
a
=
t
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
o
=
t
.
getDate
();
return
o
<
10
&&
(
o
=
"0"
+
o
),
e
+
"-"
+
a
+
"-"
+
o
},
onPageChange
:
function
(
t
){
this
.
nowPage
=
t
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
t
){
this
.
nowPage
=
1
,
this
.
limit
=
t
,
this
.
getChannelTransList
()},
getPeriodsOtherList
:
function
(){
var
t
=
this
;
getPeriodsOtherListApi
({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
e
){
t
.
periodList
=
e
.
list
})},
getChannelTransList
:
function
(){
var
t
=
this
,
e
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
e
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
goods_id
&&
(
e
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
sort_value
&&
(
e
.
sort_value
=
this
.
searchFrom
.
sort_value
,
e
.
sort_key
=
this
.
searchFrom
.
sort_key
),
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
],
e
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
e
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
o
.
_42
)(
e
).
then
(
function
(
e
){
if
(
e
){
if
(
e
.
list
&&
e
.
list
.
length
>
0
){
for
(
var
a
in
t
.
total
=
e
.
total
,
t
.
list
=
e
.
list
.
map
(
function
(
a
,
o
){
a
.
index
=
o
,
0
==
o
?(
t
.
spanArr
.
push
(
1
),
t
.
pos
=
0
):
a
.
cur_date
==
e
.
list
[
o
-
1
].
cur_date
?(
t
.
spanArr
[
t
.
pos
]
+=
1
,
t
.
spanArr
.
push
(
0
)):(
t
.
spanArr
.
push
(
1
),
t
.
pos
=
o
);
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
}),
t
.
list
[
0
])
t
.
propertyList
.
push
(
a
);
t
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
e
.
list
&&
0
===
e
.
list
.
length
&&
(
t
.
list
=
[])}
else
t
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsOption
()}},
l
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
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
:[
t
.
today
,
t
.
yesterday
,
t
.
last7Day
,
t
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
t
.
getChannelTransList
},
model
:{
value
:
t
.
searchFrom
.
payTime
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"payTime"
,
e
)},
expression
:
"searchFrom.payTime"
}})],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
t
.
searchFrom
.
invite_type
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"invite_type"
,
e
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
t
.
getChannelTransList
},
model
:{
value
:
t
.
searchFrom
.
goods_id
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"goods_id"
,
e
)},
expression
:
"searchFrom.goods_id"
}},
t
.
_l
(
t
.
goodList
,
function
(
e
,
o
){
return
a
(
"el-option"
,{
key
:
o
,
attrs
:{
label
:
t
.
_f
(
"filterGoods"
)(
e
),
value
:
e
.
id
}})}))],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
t
.
seachData
}},[
t
.
_v
(
"搜索"
)])],
1
)])],
1
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
t
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
t
.
objectSpanMethod
,
data
:
t
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
t
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"is_other"
,
label
:
"渠道来源"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
0
==
e
.
row
.
is_other
?
"内部"
:
"外部"
)
+
"
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type_name"
,
label
:
"渠道类别"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_total_num"
,
label
:
"订单数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num_except_total_num"
,
label
:
"到班率"
,
sortable
:
"custom"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
class_num_except_total_num
)
+
"%
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_total_num"
,
label
:
"好友率"
,
sortable
:
"custom"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
friend_num_except_total_num
)
+
"%
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_total_num"
,
label
:
"到课率"
,
sortable
:
"custom"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
come_num_except_total_num
)
+
"%
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_total_num"
,
label
:
"转化率"
,
sortable
:
"custom"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
sum_buy_num_except_total_num
)
+
"%
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
sortable
:
"custom"
}})],
1
),
t
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
t
.
nowPage
,
total
:
t
.
total
,
limit
:
t
.
limit
},
on
:{
pageChange
:
t
.
onPageChange
,
sizeChange
:
t
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
c
=
a
(
"VU/8"
)(
r
,
l
,
!
1
,
function
(
t
){
a
(
"K8NH"
)},
null
,
null
);
e
.
default
=
c
.
exports
}});
\ No newline at end of file
dist/static/js/47.f4927b35418eeab625ae.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
47
],{
"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/48.4ac25814c0822aad955f.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
48
],{
"+Xua"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
a
(
"CCn6"
),
i
=
a
(
"kmJW"
),
r
=
a
(
"+TkF"
);
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
}
var
o
=
{
name
:
"periodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
n
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
n
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
n
(
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"
]}}),
n
(
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"
]}}),
n
(
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"
]}}),
n
(
e
,
"propertyList"
,[]),
n
(
e
,
"spanArr"
,[]),
n
(
e
,
"contentSpanArr"
,[]),
n
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
n
(
e
,
"propertyList"
,[]),
n
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
i
.
a
},
methods
:{
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
(
s
.
_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
s
=
e
.
getDate
();
return
s
<
10
&&
(
s
=
"0"
+
s
),
t
+
"-"
+
a
+
"-"
+
s
},
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
(
s
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
r
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
s
.
_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
(
s
.
_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
,
s
){
a
.
index
=
s
,
0
==
s
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
s
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
s
);
var
i
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
r
=
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
=
""
+
r
+
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
()}},
l
=
{
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
:
"到班数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
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
:
"到课数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
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
:
"转化人数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
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
:
"一年课购买人数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
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
c
=
a
(
"VU/8"
)(
o
,
l
,
!
1
,
function
(
e
){
a
(
"kDML"
)},
null
,
null
);
t
.
default
=
c
.
exports
},
kDML
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/49.19bc08b4342a2401a914.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
49
],{
M7X6
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
s
=
a
(
"CCn6"
),
i
=
a
(
"kmJW"
),
n
=
a
(
"+TkF"
);
function
r
(
t
,
e
,
a
){
return
e
in
t
?
Object
.
defineProperty
(
t
,
e
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
t
[
e
]
=
a
,
t
}
var
o
=
{
name
:
"squadConversionList"
,
data
:
function
(){
var
t
,
e
=
this
;
return
r
(
t
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
r
(
t
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
e
.
searchFrom
.
payTime
=
[
e
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
r
(
t
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
t
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
e
.
searchFrom
.
payTime
=
[
t
+
" 00:00:00"
,
t
+
" 23:59:59"
]}}),
r
(
t
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
t
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
e
.
searchFrom
.
payTime
=
[
t
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
r
(
t
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
t
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
e
.
searchFrom
.
payTime
=
[
t
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
r
(
t
,
"propertyList"
,[]),
r
(
t
,
"spanArr"
,[]),
r
(
t
,
"contentSpanArr"
,[]),
r
(
t
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
r
(
t
,
"propertyList"
,[]),
r
(
t
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
t
},
components
:{
page
:
i
.
a
},
methods
:{
sortMethod
:
function
(
t
){
this
.
searchFrom
.
sort_key
=
t
.
prop
,
"ascending"
==
t
.
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
(
t
){
var
e
=
""
;
e
=
t
.
length
>
1
?
t
.
join
(
","
):
t
[
0
],
this
.
periods_id
=
e
,
console
.
log
(
e
)},
objectSpanMethod
:
function
(
t
){},
handleItemChange
:
function
(
t
){
var
e
=
this
;
getPeriodsApi
({
goods_id
:
t
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
t
){
t
.
name
=
t
.
title
}),
e
.
goodsList
.
find
(
function
(
e
){
return
e
.
id
===
t
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
t
){
if
(
t
.
length
>
1
){
this
.
goods_id
=
t
[
0
];
var
e
=
this
.
goodsList
.
find
(
function
(
e
){
return
e
.
id
===
t
[
0
]});
this
.
periods
=
e
.
children
.
find
(
function
(
e
){
return
e
.
id
===
t
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
t
){
this
.
searchFrom
.
teacher_id
=
t
,
this
.
getChannelTransList
()},
selectChange
:
function
(
t
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
t
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
t
){
var
e
=
t
.
getFullYear
(),
a
=
t
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
s
=
t
.
getDate
();
return
s
<
10
&&
(
s
=
"0"
+
s
),
e
+
"-"
+
a
+
"-"
+
s
},
onPageChange
:
function
(
t
){
this
.
nowPage
=
t
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
t
){
this
.
nowPage
=
1
,
this
.
limit
=
t
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
t
=
this
;
Object
(
s
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
e
){
e
.
list
.
forEach
(
function
(
t
){
t
.
name
=
"["
+
t
.
id
+
"]["
+
n
.
h
[
t
.
goods_type
]
+
"]["
+
t
.
current_price
/
100
+
"元]"
+
t
.
name
,
t
.
children
=
[]}),
t
.
goodsList
=
e
.
list
})},
getPeriodsOtherList
:
function
(){
var
t
=
this
;
Object
(
s
.
_78
)({
limit
:
1
e3
,
page
:
1
}).
then
(
function
(
e
){
t
.
periodList
=
e
.
list
})},
getChannelTransList
:
function
(){
var
t
=
this
,
e
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
e
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
e
.
sort_value
=
this
.
searchFrom
.
sort_value
,
e
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
e
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
e
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
e
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
e
.
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
],
e
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
e
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
s
.
_94
)(
e
).
then
(
function
(
e
){
if
(
e
){
if
(
e
.
list
&&
e
.
list
.
length
>
0
){
for
(
var
a
in
t
.
total
=
e
.
total
,
t
.
list
=
e
.
list
.
map
(
function
(
a
,
s
){
a
.
index
=
s
,
0
==
s
?(
t
.
spanArr
.
push
(
1
),
t
.
pos
=
0
):
a
.
cur_date
==
e
.
list
[
s
-
1
].
cur_date
?(
t
.
spanArr
[
t
.
pos
]
+=
1
,
t
.
spanArr
.
push
(
0
)):(
t
.
spanArr
.
push
(
1
),
t
.
pos
=
s
),
a
.
squad
=
"T"
+
a
.
squad
;
var
i
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
n
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
r
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
i
,
a
.
goods_name
=
""
+
n
+
a
.
goods_name
+
r
,
a
}),
t
.
list
[
0
])
t
.
propertyList
.
push
(
a
);
t
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
e
.
list
&&
0
===
e
.
list
.
length
&&
(
t
.
list
=
[])}
else
t
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
()}},
l
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
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
:[
t
.
today
,
t
.
yesterday
,
t
.
last7Day
,
t
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
t
.
getChannelTransList
},
model
:{
value
:
t
.
searchFrom
.
payTime
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"payTime"
,
e
)},
expression
:
"searchFrom.payTime"
}})],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
t
.
searchFrom
.
invite_type
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"invite_type"
,
e
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
t
.
selectChange
},
model
:{
value
:
t
.
searchFrom
.
watch_num
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"watch_num"
,
e
)},
expression
:
"searchFrom.watch_num"
}},
t
.
_l
(
t
.
watchList
,
function
(
t
,
e
){
return
a
(
"el-option"
,{
key
:
e
,
attrs
:{
label
:
t
.
title
,
value
:
t
.
id
}})}))],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
t
.
onPeriodChange
},
model
:{
value
:
t
.
searchFrom
.
periods_id
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"periods_id"
,
e
)},
expression
:
"searchFrom.periods_id"
}},
t
.
_l
(
t
.
periodList
,
function
(
t
){
return
a
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
t
.
title
,
value
:
t
.
id
}})}))],
1
),
t
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
t
.
seachData
}},[
t
.
_v
(
"搜索"
)])],
1
)])],
1
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
t
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
t
.
objectSpanMethod
,
data
:
t
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
t
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
sortable
:
"custom"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
sortable
:
"custom"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
sortable
:
"custom"
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
sortable
:
"custom"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
sortable
:
"custom"
}})],
1
),
t
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
t
.
nowPage
,
total
:
t
.
total
,
limit
:
t
.
limit
},
on
:{
pageChange
:
t
.
onPageChange
,
sizeChange
:
t
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
c
=
a
(
"VU/8"
)(
o
,
l
,
!
1
,
function
(
t
){
a
(
"WBUV"
)},
null
,
null
);
e
.
default
=
c
.
exports
},
WBUV
:
function
(
t
,
e
){}});
\ No newline at end of file
dist/static/js/50.f7f308ed5db1a92114ac.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
50
],{
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/51.e78a0f65dcdcfe07b920.js
0 → 100644
View file @
f784dd99
webpackJsonp
([
51
],{
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/app.79dd654a4ee2cd30d3cc.js
0 → 100644
View file @
f784dd99
This diff is collapsed.
Click to expand it.
dist/static/js/manifest.c6b8c007723646e4aa50.js
0 → 100644
View file @
f784dd99
!
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
],
b
[
t
]
&&
u
.
push
(
b
[
t
][
0
]),
b
[
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
=
f
(
f
.
s
=
n
[
i
]);
return
o
};
var
c
=
{},
b
=
{
69
:
0
};
function
f
(
a
){
if
(
c
[
a
])
return
c
[
a
].
exports
;
var
b
=
c
[
a
]
=
{
i
:
a
,
l
:
!
1
,
exports
:{}};
return
e
[
a
].
call
(
b
.
exports
,
b
,
b
.
exports
,
f
),
b
.
l
=!
0
,
b
.
exports
}
f
.
e
=
function
(
e
){
var
a
=
b
[
e
];
if
(
0
===
a
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
a
)
return
a
[
2
];
var
c
=
new
Promise
(
function
(
c
,
f
){
a
=
b
[
e
]
=
[
c
,
f
]});
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
,
f
.
nc
&&
n
.
setAttribute
(
"nonce"
,
f
.
nc
),
n
.
src
=
f
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"6e81b76e3b5e35d021a4"
,
1
:
"2b2d22f57e370592b7d0"
,
2
:
"509861cbf3e1ba6f9ba7"
,
3
:
"2df505666cd9f609dd9b"
,
4
:
"c40ef697350fe33baa1e"
,
5
:
"2ece3f38c3aabafc4448"
,
6
:
"27eac8911eab5b4eaf1e"
,
7
:
"652b259041eb72a3ca39"
,
8
:
"ca5bdd46739ce3e1992b"
,
9
:
"be2cbbccf3a9beb533e9"
,
10
:
"6da16e98b9faa89607a4"
,
11
:
"80222f96c292d5d21b3b"
,
12
:
"0f51977c648c30d2867f"
,
13
:
"7e3d8ce44cead54d2526"
,
14
:
"12e7996d7daee58933e0"
,
15
:
"3e6ed1ad001d1da12830"
,
16
:
"3a27707ef3df2df92422"
,
17
:
"8af270d3ebf9257a2218"
,
18
:
"f1c3894b2bd66b59b1a5"
,
19
:
"b3c569cc9b217ff4bf83"
,
20
:
"8ded6fbd42a9a23e1224"
,
21
:
"9ea474f0fe8b197c3e2d"
,
22
:
"99fdec5875fc1264570a"
,
23
:
"066168e2f7f8c880b875"
,
24
:
"fa8a62caf50dbceaec20"
,
25
:
"4a5df1ebf3cc30ffa396"
,
26
:
"dea00d20d0d55b146b7a"
,
27
:
"3985202c1eb17f69d165"
,
28
:
"7b545a9f1e272acd417f"
,
29
:
"c4e751895136632672c1"
,
30
:
"b532258eb2680afe9baf"
,
31
:
"1c3f1b652018be655519"
,
32
:
"5953e2a73ba3ebb91720"
,
33
:
"28bd6c06831ab9daa720"
,
34
:
"a631bcbe4d50caa7a028"
,
35
:
"2ce30d0d28be13b8ce4d"
,
36
:
"6cf5f8e464cbadd9d5be"
,
37
:
"2914b1385a7d78dac83e"
,
38
:
"0824ce73121d17600e7c"
,
39
:
"43f9d73f161a3ccfe5df"
,
40
:
"0f4567c1b5d57e7c637b"
,
41
:
"727fa892816712c0d286"
,
42
:
"136e635ed9773be87e6d"
,
43
:
"5361b7e7b1791109a94f"
,
44
:
"8176a25163cf3b2953fe"
,
45
:
"cbe937e95e437890c5a5"
,
46
:
"32b1aff7c3b5b9879448"
,
47
:
"f4927b35418eeab625ae"
,
48
:
"4ac25814c0822aad955f"
,
49
:
"19bc08b4342a2401a914"
,
50
:
"f7f308ed5db1a92114ac"
,
51
:
"e78a0f65dcdcfe07b920"
,
52
:
"be022274092bb8a1093f"
,
53
:
"de60b53ea618e6666b82"
,
54
:
"652b1f8109be187cd430"
,
55
:
"87a9c0a8a93fd90ea317"
,
56
:
"65081ce05b7d922c9bca"
,
57
:
"b0e7a8fd71deb48b59f3"
,
58
:
"9c621c521c7f56ab2c9a"
,
59
:
"ab43c732510f515256ea"
,
60
:
"8b6ab62362de13ba6cde"
,
61
:
"2c98bef7cfd47e9dbc98"
,
62
:
"1c988a6de59003e72c2e"
,
63
:
"87246a4f21a233d17dd6"
,
64
:
"f46b983dec60da66986c"
,
65
:
"b2e8ec6afe51d08f1b46"
,
66
:
"3373c97981212d412981"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
a
=
b
[
e
];
0
!==
a
&&
(
a
&&
a
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
b
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
d
.
appendChild
(
n
),
c
},
f
.
m
=
e
,
f
.
c
=
c
,
f
.
d
=
function
(
e
,
a
,
c
){
f
.
o
(
e
,
a
)
||
Object
.
defineProperty
(
e
,
a
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
c
})},
f
.
n
=
function
(
e
){
var
a
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
f
.
d
(
a
,
"a"
,
a
),
a
},
f
.
o
=
function
(
e
,
a
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
a
)},
f
.
p
=
"/"
,
f
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/components/conversionList/marketEnrollmentConversionList.vue
View file @
f784dd99
...
...
@@ -76,15 +76,15 @@
<el-table-column prop="invite_name" align="center" min-width="60" label="渠道名称"></el-table-column>
<el-table-column prop="invite_type" align="center" min-width="60" label="渠道类型"></el-table-column> -->
<el-table-column
v-for=
"(data,index) in dateList"
align=
"center"
:key=
"index"
:label=
"data"
>
<el-table-column
align=
"center"
min-width=
"60px"
prop=
"wait_join_num"
label=
"系统招生量"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
[
index
].
friend_num_except_class_num
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
min-width=
"60px"
prop=
"wait_join_num"
label=
"外部订单招生量"
>
<el-table-column
align=
"center"
min-width=
"60px"
prop=
"wait_join_num"
label=
"班级人数"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
[
index
].
sum_class_num
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
min-width=
"60px"
label=
"
进班量
"
>
<el-table-column
align=
"center"
min-width=
"60px"
label=
"
好友数
"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
[
index
].
sum_friend_num
}}
</
template
>
</el-table-column>
<el-table-column
align=
"center"
min-width=
"60px"
prop=
"wait_join_num"
label=
"好友率"
>
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
date
[
index
].
friend_num_except_class_num
}}
%
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</div>
...
...
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