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
add37019
Commit
add37019
authored
Jul 15, 2019
by
chenyishuai@singsingenglish.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
715
parent
0e68b495
Changes
41
Hide whitespace changes
Inline
Side-by-side
Showing
41 changed files
with
69 additions
and
16 deletions
+69
-16
index.html
dev/index.html
+1
-1
17.01708e39956f921938aa.js
dev/static/js/17.01708e39956f921938aa.js
+1
-0
42.8a489469bb9f16a6f685.js
dev/static/js/42.8a489469bb9f16a6f685.js
+1
-0
43.4343a6034952567bba8c.js
dev/static/js/43.4343a6034952567bba8c.js
+1
-0
44.6fb04fae4bbaadddb191.js
dev/static/js/44.6fb04fae4bbaadddb191.js
+1
-0
46.d638a050f13f0c1c27df.js
dev/static/js/46.d638a050f13f0c1c27df.js
+1
-0
53.c0eb0e2c9c0e1a6457ef.js
dev/static/js/53.c0eb0e2c9c0e1a6457ef.js
+1
-0
54.36ef1333b807491ca4b8.js
dev/static/js/54.36ef1333b807491ca4b8.js
+1
-0
57.27d41f6ca34b33214ec6.js
dev/static/js/57.27d41f6ca34b33214ec6.js
+1
-0
65.63911b7c7ba57da3a4e2.js
dev/static/js/65.63911b7c7ba57da3a4e2.js
+1
-0
manifest.dcca4c23354c2dd35cd1.js
dev/static/js/manifest.dcca4c23354c2dd35cd1.js
+1
-0
index.html
dist/index.html
+1
-1
app.1c962ee81dfde77478d68d73d55dd7e7.css
dist/static/css/app.1c962ee81dfde77478d68d73d55dd7e7.css
+1
-0
13.17db775913681bdbc154.js
dist/static/js/13.17db775913681bdbc154.js
+1
-0
14.3992558942211f2fc0fe.js
dist/static/js/14.3992558942211f2fc0fe.js
+1
-0
15.85a81db8f6419820a428.js
dist/static/js/15.85a81db8f6419820a428.js
+1
-0
16.97ac779edc0504eb6fb2.js
dist/static/js/16.97ac779edc0504eb6fb2.js
+1
-0
42.6a42cfd3d4bd0370b2a6.js
dist/static/js/42.6a42cfd3d4bd0370b2a6.js
+1
-0
43.0e3b0fdeadd0b28ae3f3.js
dist/static/js/43.0e3b0fdeadd0b28ae3f3.js
+1
-0
44.693c7ea53bd903c67c2d.js
dist/static/js/44.693c7ea53bd903c67c2d.js
+1
-0
45.840f7455cd16a9240f98.js
dist/static/js/45.840f7455cd16a9240f98.js
+1
-0
46.16c019458f0dddf31b87.js
dist/static/js/46.16c019458f0dddf31b87.js
+1
-0
49.c625b30373d294eea57e.js
dist/static/js/49.c625b30373d294eea57e.js
+1
-0
52.9f462ec14b124b6c88b0.js
dist/static/js/52.9f462ec14b124b6c88b0.js
+1
-0
57.1085749382f7829b2dd7.js
dist/static/js/57.1085749382f7829b2dd7.js
+1
-0
58.17486c8f57622a61def1.js
dist/static/js/58.17486c8f57622a61def1.js
+1
-0
59.5eb48cd47e72f50753bf.js
dist/static/js/59.5eb48cd47e72f50753bf.js
+1
-0
63.6afc14a102a04334b255.js
dist/static/js/63.6afc14a102a04334b255.js
+1
-0
64.399f8679c64d6c518c88.js
dist/static/js/64.399f8679c64d6c518c88.js
+1
-0
65.6a74f4cbe19933a7a3cd.js
dist/static/js/65.6a74f4cbe19933a7a3cd.js
+1
-0
app.edb4749eb2f1706bf0b0.js
dist/static/js/app.edb4749eb2f1706bf0b0.js
+1
-0
manifest.2e53f1fa58f39d4d6ff2.js
dist/static/js/manifest.2e53f1fa58f39d4d6ff2.js
+1
-0
index.vue
src/components/class/index.vue
+29
-6
channelConversionList.vue
src/components/conversionList/channelConversionList.vue
+1
-1
channelGoodsConversionList.vue
src/components/conversionList/channelGoodsConversionList.vue
+1
-1
channelTransList.vue
src/components/conversionList/channelTransList.vue
+1
-1
marketEnrollmentConversionList.vue
...ponents/conversionList/marketEnrollmentConversionList.vue
+1
-1
periodsConversionList.vue
src/components/conversionList/periodsConversionList.vue
+1
-1
squadConversionList.vue
src/components/conversionList/squadConversionList.vue
+1
-1
teacherConversionList.vue
src/components/conversionList/teacherConversionList.vue
+1
-1
teacherPeriodsConversionList.vue
...omponents/conversionList/teacherPeriodsConversionList.vue
+1
-1
No files found.
dev/index.html
View file @
add37019
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.
79be670912f57febd686
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.a8f02460e99f2b68b806.js
></script><script
type=
text/javascript
src=
/static/js/app.34d8ca2dfad5ff779e72.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
<!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.
dcca4c23354c2dd35cd1
.js
></script><script
type=
text/javascript
src=
/static/js/vendor.a8f02460e99f2b68b806.js
></script><script
type=
text/javascript
src=
/static/js/app.34d8ca2dfad5ff779e72.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
};
...
...
dev/static/js/17.01708e39956f921938aa.js
0 → 100644
View file @
add37019
webpackJsonp
([
17
],{
"1/HN"
:
function
(
e
,
t
,
i
){(
e
.
exports
=
i
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.demo-table-expand {
\n
font-size: 0;
\n
}
\n
.demo-table-expand label {
\n
width: 90px;
\n
color: #99a9bf;
\n
}
\n
.demo-table-expand .el-form-item {
\n
margin-right: 0;
\n
margin-bottom: 0;
\n
width: 50%;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/class/index.vue"
],
names
:[],
mappings
:
";AACA;EACE,aAAa;CACd;AACD;EACE,YAAY;EACZ,eAAe;CAChB;AACD;EACE,gBAAgB;EAChB,iBAAiB;EACjB,WAAW;CACZ"
,
file
:
"index.vue"
,
sourcesContent
:[
"
\n
.demo-table-expand {
\n
font-size: 0;
\n
}
\n
.demo-table-expand label {
\n
width: 90px;
\n
color: #99a9bf;
\n
}
\n
.demo-table-expand .el-form-item {
\n
margin-right: 0;
\n
margin-bottom: 0;
\n
width: 50%;
\n
}
\n
"
],
sourceRoot
:
""
}])},
BenM
:
function
(
e
,
t
,
i
){(
e
.
exports
=
i
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.qr-img[data-v-e25797c8] {
\
r
\n
width: 148px !important;
\
r
\n
border: none !important;
\
r
\n
border-radius: 0 !important;
\n
}
\n
.disabled .el-upload--picture-card[data-v-e25797c8] {
\
r
\n
display: none !important;
\n
}
\
r
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/class/dialog.vue"
],
names
:[],
mappings
:
";AACA;IACI,wBAAwB;IACxB,wBAAwB;IACxB,4BAA4B;CAC/B;AACD;IACI,yBAAyB;CAC5B"
,
file
:
"dialog.vue"
,
sourcesContent
:[
"
\n
.qr-img[data-v-e25797c8] {
\
r
\n
width: 148px !important;
\
r
\n
border: none !important;
\
r
\n
border-radius: 0 !important;
\n
}
\n
.disabled .el-upload--picture-card[data-v-e25797c8] {
\
r
\n
display: none !important;
\n
}
\
r
\n
"
],
sourceRoot
:
""
}])},
JP4Q
:
function
(
e
,
t
,
i
){
var
o
=
i
(
"BenM"
);
"string"
==
typeof
o
&&
(
o
=
[[
e
.
i
,
o
,
""
]]),
o
.
locals
&&
(
e
.
exports
=
o
.
locals
);
i
(
"rjj0"
)(
"486a2a46"
,
o
,
!
1
,{})},
NzM9
:
function
(
e
,
t
,
i
){(
e
.
exports
=
i
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.class[data-v-426dc2ae] {
\n
padding: 20px 0;
\n
}
\n
.intro .el-form-item[data-v-426dc2ae] {
\n
margin-bottom: 0;
\n
}
\n
.avatar[data-v-426dc2ae] {
\n
width: 70px;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/class/index.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,iBAAiB;CAClB;AACD;EACE,YAAY;CACb"
,
file
:
"index.vue"
,
sourcesContent
:[
"
\n
.class[data-v-426dc2ae] {
\n
padding: 20px 0;
\n
}
\n
.intro .el-form-item[data-v-426dc2ae] {
\n
margin-bottom: 0;
\n
}
\n
.avatar[data-v-426dc2ae] {
\n
width: 70px;
\n
}
\n
"
],
sourceRoot
:
""
}])},
OX9A
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
o
=
i
(
"CCn6"
),
s
=
i
(
"g5CC"
),
n
=
i
(
"+TkF"
),
a
=
i
(
"0qGg"
),
r
=
i
(
"kmJW"
),
l
=
i
(
"Ix4X"
),
c
=
{
data
:
function
(){
return
{
noticeDialog
:
!
1
,
nowPage
:
1
,
total
:
0
,
limit
:
10
,
periodsId
:
null
,
goods_id
:
null
,
goodsList
:[],
teacher_id
:
""
,
classList
:[],
title
:
""
,
countObj
:
""
,
teacherList
:[],
userObj
:{
classId
:
""
,
title
:
""
,
show
:
!
1
,
goods_id
:
null
},
dialogObj
:{
show
:
!
1
,
title
:
"添加班级"
,
periodsId
:
""
,
type
:
0
,
id
:
0
},
selectedGoods
:[],
secGoods
:[]}},
components
:{
UserList
:
a
.
a
,
classDialog
:
s
.
a
,
page
:
r
.
a
},
filters
:{
classTypeFilter
:
function
(
e
){
var
t
=
parseInt
(
e
);
return
1
===
t
?
"带班班级"
:
2
===
t
?
"观摩班级"
:
""
},
classSourceFilter
:
function
(
e
){
return
n
.
f
[
e
]},
percent
:
function
(
e
){
return
(
100
*
e
).
toFixed
(
2
)
+
"%"
}},
mounted
:
function
(){
this
.
initPage
()},
methods
:{
rendertip
:
function
(
e
,
t
){
var
i
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
i
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
l
.
a
[
i
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sendMsg
:
function
(){
var
e
=
this
;
this
.
title
&&
this
.
title
.
title
?
this
.
$confirm
(
"你将发送给"
+
this
.
title
.
title
+
"用户"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
o
.
_132
)(
e
.
periods
.
id
).
then
(
function
(
t
){
e
.
noticeDialog
=!
1
,
e
.
$message
({
type
:
"success"
,
message
:
"发送成功"
+
t
.
num
+
"个"
})})}):
this
.
$message
({
message
:
"请选择期数"
})},
changeRow
:
function
(
e
,
t
){
t
.
indexOf
(
e
)
>-
1
&&
Object
(
o
.
_47
)(
e
.
periods_id
,
e
.
id
).
then
(
function
(
t
){
e
.
arrive_course_rate
=
t
.
arrive_course_rate
,
e
.
watch_course_rate
=
t
.
watch_course_rate
,
e
.
over_course_rate
=
t
.
over_course_rate
,
e
.
work_rate
=
t
.
work_rate
,
e
.
over_work_rate
=
t
.
over_work_rate
,
e
.
clock_rate
=
t
.
clock_rate
,
e
.
over_clock_rate
=
t
.
over_clock_rate
,
e
.
transform_rate
=
t
.
transform_rate
})},
initQuery
:
function
(){
var
e
=
this
,
t
=
this
.
$route
.
query
;
t
&&
t
.
goods_id
&&
t
.
periods_id
?(
this
.
goods_id
=
t
.
goods_id
,
this
.
selectedGoods
=
[
parseInt
(
t
.
goods_id
),
parseInt
(
t
.
periods_id
)],
Object
(
o
.
_75
)({
goods_id
:
this
.
selectedGoods
[
0
],
limit
:
100
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
e
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
0
]}).
children
=
t
.
list
;
var
i
=
e
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
0
]});
e
.
periods
=
i
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
1
]}),
console
.
log
(
e
.
periods
),
e
.
teacher_id
=
""
,
e
.
getClassList
()})):
Object
(
o
.
_52
)().
then
(
function
(
t
){
console
.
log
(
t
),
t
&&
(
e
.
goods_id
=
t
.
goods_id
,
e
.
selectedGoods
=
[
parseInt
(
t
.
goods_id
),
parseInt
(
t
.
id
)],
Object
(
o
.
_75
)({
goods_id
:
e
.
selectedGoods
[
0
],
limit
:
100
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
e
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
0
]}).
children
=
t
.
list
;
var
i
=
e
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
0
]});
e
.
periods
=
i
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
1
]}),
e
.
teacher_id
=
""
,
console
.
log
(
e
.
periods
),
e
.
getClassList
()}))}),
console
.
log
(
this
.
goodsList
)},
initPage
:
function
(){
var
e
=
this
;
Object
(
o
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
console
.
log
(
t
),
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
n
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
,
e
.
initQuery
()})},
showUser
:
function
(
e
){
var
t
=
1
==
e
.
type
?
"(带班班级)"
:
"(观摩班级)"
;
console
.
log
(
e
),
this
.
userObj
=
{
classId
:
e
.
id
,
periods_id
:
e
.
periods_id
,
show
:
!
0
,
goods_id
:
this
.
goods_id
,
title
:
e
.
teacher_name
+
"班级用户列表"
+
t
,
teacherId
:
e
.
teacher_id
,
class_name
:
e
.
class_name
,
type
:
e
.
type
,
watch_num
:
this
.
title
.
watch_num
},
console
.
log
(
this
.
userObj
)},
getTeacher
:
function
(){
var
e
=
this
;
this
.
periods
&&
Object
(
o
.
_80
)(
this
.
periods
.
id
).
then
(
function
(
t
){
var
i
=
{};
t
=
t
.
reduce
(
function
(
e
,
t
){
return
!
i
[
t
.
teacher_id
]
&&
(
i
[
t
.
teacher_id
]
=
e
.
push
(
t
)),
e
},[]),
e
.
teacherList
=
t
})},
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
]}),
console
.
log
(
this
.
goodsList
),
console
.
log
(
this
.
periods
),
this
.
teacher_id
=
""
,
this
.
getTeacher
(),
this
.
getClassList
()}},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getClassList
()},
onSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
getClassList
()},
onReflash
:
function
(
e
){
this
.
periods
=
e
,
this
.
selectedGoods
=
[
e
.
goods_id
,
e
.
id
],
this
.
getClassList
()},
getClassList
:
function
(){
var
e
=
this
;
if
(
this
.
periods
){
this
.
getTeacher
();
var
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
teacher_id
),
console
.
log
(
this
.
periods
),
Object
(
o
.
_46
)(
this
.
periods
.
id
,
t
).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
arrive_course_rate
=
0
,
e
.
watch_course_rate
=
0
,
e
.
over_course_rate
=
0
,
e
.
work_rate
=
0
,
e
.
over_work_rate
=
0
,
e
.
clock_rate
=
0
,
e
.
over_clock_rate
=
0
,
e
.
transform_rate
=
0
}),
e
.
title
=
t
.
periods
,
e
.
title
.
count_join_num
=
t
.
count
.
count_join_num
?
t
.
count
.
count_join_num
:
"暂无"
,
e
.
title
.
count_max_join_num
=
t
.
count
.
count_max_join_num
?
t
.
count
.
count_max_join_num
:
"暂无"
,
e
.
title
.
count_teacher_num
=
t
.
count
.
count_teacher_num
?
t
.
count
.
count_teacher_num
:
"暂无"
,
e
.
countObj
=
t
.
count
?
t
.
count
:
""
,
e
.
classList
=
t
.
list
,
e
.
total
=
t
.
total
})}},
handleItemChange
:
function
(
e
){
var
t
=
this
;
Object
(
o
.
_75
)({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
i
){
i
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
i
.
list
})},
delClass
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将删除该班级?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
o
.
L
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
}),
t
.
getClassList
()})})},
onAdd
:
function
(){
this
.
dialogObj
=
{
show
:
!
0
,
title
:
"添加班级"
,
type
:
0
,
teacherList
:
this
.
teacherList
?
this
.
teacherList
:[]},
this
.
periods
&&
(
this
.
dialogObj
.
periods
=
this
.
periods
,
this
.
dialogObj
.
periodsId
=
this
.
periods
.
id
)},
editClass
:
function
(
e
){
this
.
dialogObj
=
{
show
:
!
0
,
title
:
"编辑班级"
,
type
:
1
,
id
:
e
.
id
,
teacherList
:
this
.
teacherList
?
this
.
teacherList
:[]},
this
.
periods
&&
(
this
.
dialogObj
.
periods
=
this
.
periods
,
this
.
dialogObj
.
periodsId
=
this
.
periods
.
id
)}}},
d
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
staticClass
:
"class"
},[
i
(
"div"
,{
staticClass
:
"form-block"
},[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"90px"
,
inline
:
""
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"期数"
}},[
i
(
"el-cascader"
,{
attrs
:{
options
:
e
.
goodsList
,
props
:{
value
:
"id"
,
label
:
"name"
},
filterable
:
""
},
on
:{
"active-item-change"
:
e
.
handleItemChange
,
change
:
e
.
changePeriods
},
model
:{
value
:
e
.
selectedGoods
,
callback
:
function
(
t
){
e
.
selectedGoods
=
t
},
expression
:
"selectedGoods"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
i
(
"el-select"
,{
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getClassList
},
model
:{
value
:
e
.
teacher_id
,
callback
:
function
(
t
){
e
.
teacher_id
=
t
},
expression
:
"teacher_id"
}},
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
teacher_name
,
value
:
e
.
teacher_id
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
""
}},[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
getClassList
}},[
e
.
_v
(
"搜索"
)])],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
staticStyle
:{
float
:
"right"
}},[
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-button"
,{
attrs
:{
type
:
"success"
},
on
:{
click
:
e
.
onAdd
}},[
e
.
_v
(
"+添加班级"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"success"
},
on
:{
click
:
e
.
sendMsg
}},[
e
.
_v
(
"发送活动通知"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
e
.
title
&&
e
.
title
.
title
?
i
(
"div"
,{
staticClass
:
"intro"
},[
i
(
"el-table"
,{
staticStyle
:{
display
:
"block"
,
margin
:
"20px auto"
,
background
:
"transparent"
},
attrs
:{
border
:
""
,
size
:
"mini"
,
data
:[
e
.
title
]}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"title"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"可看课包数"
,
prop
:
"watch_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"已看课包数"
,
prop
:
"has_watch_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"开始时间"
,
prop
:
"start_at"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"老师数量"
,
prop
:
"count_teacher_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"预计学员总数"
,
prop
:
"count_max_join_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"学员总数"
,
prop
:
"count_join_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"结束时间"
,
prop
:
"over_at"
}})],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
e
.
title
&&
e
.
title
.
title
?
e
.
_e
():
i
(
"div"
,[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"300px"
,
inline
:
""
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"暂无期数信息,请先选择期数"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
classList
},
on
:{
"expand-change"
:
e
.
changeRow
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:[
t
.
row
]}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
arrive_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"看课率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
watch_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"完课率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
over_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"打卡率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
clock_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"全勤打卡率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
over_clock_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
transform_rate
)))])]}}])})],
1
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"班级名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
class_name
))]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"qr"
,
label
:
"班级二维码"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
qr
?
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
qr
,
target
:
"_blank"
}},[
i
(
"img"
,{
staticClass
:
"avatar"
,
attrs
:{
src
:
t
.
row
.
qr
,
alt
:
"二维码"
}})]):
e
.
_e
(),
e
.
_v
(
" "
),
t
.
row
.
qr
?
e
.
_e
():
i
(
"p"
,[
e
.
_v
(
"--"
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"班主任"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"老师状态"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
0
===
t
.
row
.
teacher_status
?
"带班"
:
"不带班"
))]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"班级类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"classTypeFilter"
)(
t
.
row
.
type
)))]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"max_join_num"
,
label
:
"最大人数"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"join_num"
,
label
:
"现有人数"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"source"
,
label
:
"招生来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"classSourceFilter"
)(
t
.
row
.
source
)))]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
width
:
"250"
,
label
:
"操作"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
},
on
:{
click
:
function
(
i
){
e
.
showUser
(
t
.
row
)}}},[
e
.
_v
(
"班级成员"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"warning"
},
on
:{
click
:
function
(
i
){
e
.
editClass
(
t
.
row
)}}},[
e
.
_v
(
"编辑"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
deletePermission
&&!
e
.
$store
.
state
.
readonly
?
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
},
on
:{
click
:
function
(
i
){
e
.
delClass
(
t
.
row
)}}},[
e
.
_v
(
"删除"
)]):
e
.
_e
()]}}])})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
i
(
"class-dialog"
,{
attrs
:{
dialogObj
:
e
.
dialogObj
},
on
:{
reflash
:
e
.
onReflash
}}),
e
.
_v
(
" "
),
i
(
"user-list"
,{
attrs
:{
userObj
:
e
.
userObj
},
on
:{
reflash
:
e
.
getClassList
}})],
1
)};
d
.
_withStripped
=!
0
;
var
u
=
{
render
:
d
,
staticRenderFns
:[]},
h
=
u
;
var
_
=!
1
;
var
f
=
i
(
"VU/8"
)(
c
,
h
,
!
1
,
function
(
e
){
_
||
(
i
(
"rKW7"
),
i
(
"a1h3"
))},
"data-v-426dc2ae"
,
null
);
f
.
options
.
__file
=
"src
\\
components
\\
class
\\
index.vue"
;
t
.
default
=
f
.
exports
},
a1h3
:
function
(
e
,
t
,
i
){
var
o
=
i
(
"1/HN"
);
"string"
==
typeof
o
&&
(
o
=
[[
e
.
i
,
o
,
""
]]),
o
.
locals
&&
(
e
.
exports
=
o
.
locals
);
i
(
"rjj0"
)(
"171dfdde"
,
o
,
!
1
,{})},
g5CC
:
function
(
e
,
t
,
i
){
"use strict"
;
var
o
=
i
(
"CCn6"
),
s
=
i
(
"+TkF"
),
n
=
{
props
:[
"dialogObj"
],
data
:
function
(){
var
e
=
[];
for
(
var
t
in
s
.
f
)
e
.
push
({
label
:
s
.
f
[
t
],
value
:
Number
(
t
)});
return
{
imageList
:[],
form
:{
teacher_id
:
""
,
max_join_num
:
""
,
class_name
:
""
,
source
:
""
,
qr
:
""
},
type
:
0
,
classSource
:
e
,
teacherList
:[],
exitTeacherList
:[],
goodsList
:[],
periods
:{},
uploadShow
:
!
0
}},
methods
:{
beforeAvatarUpload
:
function
(){
this
.
uploadShow
=!
1
},
handleRemove
:
function
(){
this
.
uploadShow
=!
0
},
handleAvatarSuccess
:
function
(
e
){
this
.
imageList
=
[{
name
:
e
.
data
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
data
.
url
}]},
uploadFile
:
function
(
e
){
var
t
=
this
;
this
.
loading
=!
0
,
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
o
.
_174
)({
file
:
e
.
file
,
type
:
"all"
}).
then
(
function
(
e
){
t
.
form
.
media_id
=
e
.
wechat_info
?
e
.
wechat_info
.
media_id
:
""
,
t
.
imageList
=
[{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
}],
t
.
uploadShow
=!
1
,
t
.
loading
=!
1
,
t
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
})}).
catch
(
function
(){
t
.
loading
=!
1
})},
findDifferentArray
:
function
(
e
,
t
){
var
i
=
[];
return
e
.
forEach
(
function
(
e
){
-
1
===
t
.
findIndex
(
function
(
t
){
return
t
.
teacher_id
===
e
.
id
})
&&
i
.
push
(
e
)}),
i
},
getTeacher
:
function
(){
var
e
=
this
;
Object
(
o
.
_105
)({
limit
:
100
,
status
:
0
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
getTeacherByPeriods
:
function
(){
var
e
=
this
;
Object
(
o
.
_105
)({
limit
:
100
,
status
:
0
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
initPage
:
function
(){
var
e
=
this
;
switch
(
this
.
periods
=
this
.
dialogObj
.
periods
,
this
.
dialogObj
.
type
){
case
0
:
this
.
dialogObj
.
periodsId
||
this
.
getPeriodList
(),
this
.
form
=
{
teacher_id
:
""
,
max_join_num
:
""
,
source
:
""
,
qr
:
""
},
this
.
type
=
0
,
this
.
uploadShow
=!
0
,
this
.
getTeacher
();
break
;
case
1
:
this
.
type
=
1
,
Object
(
o
.
_45
)(
this
.
dialogObj
.
id
).
then
(
function
(
t
){
e
.
form
=
{
teacher_id
:
parseInt
(
t
.
teacher_id
),
max_join_num
:
t
.
max_join_num
,
class_name
:
t
.
class_name
,
source
:
t
.
source
},
t
.
qr
&&
(
e
.
form
.
qr
=
t
.
qr
,
e
.
imageList
=
[{
name
:
t
.
qr
,
url
:
t
.
qr
}]),
e
.
form
.
media_id
=
t
.
media_id
?
t
.
media_id
:
""
,
e
.
uploadShow
=!
t
.
qr
,
console
.
log
(
e
.
uploadShow
),
e
.
getTeacher
()})}},
getPeriodList
:
function
(){
var
e
=
this
;
Object
(
o
.
_59
)().
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
,
e
.
periods
||
Object
(
o
.
_75
)({
goods_id
:
e
.
goodsList
[
0
].
id
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
e
.
goodsList
[
0
].
children
=
t
.
list
,
e
.
periods
=
t
.
list
[
0
]})})},
onSave
:
function
(){
var
e
=
this
;
this
.
imageList
.
length
>
0
&&
(
this
.
form
.
qr
=
this
.
imageList
[
0
].
url
);
var
t
=
{
max_join_num
:
String
(
this
.
form
.
max_join_num
),
teacher_id
:
String
(
this
.
form
.
teacher_id
),
source
:
this
.
form
.
source
,
class_name
:
this
.
form
.
class_name
,
media_id
:
this
.
form
.
media_id
};
switch
(
this
.
form
.
qr
&&
(
t
.
qr
=
this
.
form
.
qr
),
console
.
log
(
t
),
this
.
dialogObj
.
type
){
case
0
:
var
i
=
this
.
dialogObj
.
periodsId
?
this
.
dialogObj
.
periodsId
:
this
.
periods
.
id
;
Object
(
o
.
g
)(
i
,
t
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"添加成功!"
}),
e
.
$emit
(
"reflash"
,
e
.
periods
),
e
.
dialogObj
.
show
=!
1
});
break
;
case
1
:
Object
(
o
.
_9
)(
this
.
dialogObj
.
id
,
t
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
e
.
$emit
(
"reflash"
,
e
.
periods
),
e
.
dialogObj
.
show
=!
1
})}},
handleItemChange
:
function
(
e
){
var
t
=
this
;
Object
(
o
.
_75
)({
goods_id
:
e
[
0
]}).
then
(
function
(
i
){
i
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
i
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
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
.
getTeacherByPeriods
()}},
selectName
:
function
(
e
,
t
){
var
i
=
e
.
filter
(
function
(
e
,
i
){
return
e
.
id
==
t
});
this
.
form
.
class_name
=
i
[
0
].
name
+
"一班"
}},
watch
:{
"dialogObj.show"
:
function
(
e
){
e
&&
this
.
initPage
()}}},
a
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"el-dialog"
,{
attrs
:{
title
:
e
.
dialogObj
.
title
,
visible
:
e
.
dialogObj
.
show
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
dialogObj
,
"show"
,
t
)}}},[
i
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
e
.
form
,
"label-width"
:
"120px"
}},[
this
.
dialogObj
.
periodsId
?
e
.
_e
():
i
(
"el-form-item"
,{
attrs
:{
label
:
"期数"
}},[
i
(
"el-cascader"
,{
attrs
:{
options
:
e
.
goodsList
,
props
:{
value
:
"id"
,
label
:
"name"
}},
on
:{
"active-item-change"
:
e
.
handleItemChange
,
change
:
e
.
changePeriods
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
i
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
},
on
:{
change
:
function
(
t
){
e
.
selectName
(
e
.
teacherList
,
e
.
form
.
teacher_id
)}},
model
:{
value
:
e
.
form
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"teacher_id"
,
t
)},
expression
:
"form.teacher_id"
}},
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"班级名称"
}},[
i
(
"el-input"
,{
staticStyle
:{
width
:
"220px"
},
model
:{
value
:
e
.
form
.
class_name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"class_name"
,
t
)},
expression
:
"form.class_name"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"最大学员"
}},[
i
(
"el-input-number"
,{
model
:{
value
:
e
.
form
.
max_join_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"max_join_num"
,
t
)},
expression
:
"form.max_join_num"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"招生来源"
}},[
i
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
},
model
:{
value
:
e
.
form
.
source
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"source"
,
t
)},
expression
:
"form.source"
}},
e
.
_l
(
e
.
classSource
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
label
,
value
:
e
.
value
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"班级二维码"
}},[
i
(
"el-upload"
,{
class
:{
disabled
:
!
e
.
uploadShow
},
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
e
.
uploadFile
,
"before-upload"
:
e
.
beforeAvatarUpload
,
"list-type"
:
"picture-card"
,
"file-list"
:
e
.
imageList
,
"on-success"
:
e
.
handleAvatarSuccess
,
"on-remove"
:
e
.
handleRemove
}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialogObj
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onSave
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)};
a
.
_withStripped
=!
0
;
var
r
=
{
render
:
a
,
staticRenderFns
:[]},
l
=
r
;
var
c
=!
1
;
var
d
=
i
(
"VU/8"
)(
n
,
l
,
!
1
,
function
(
e
){
c
||
i
(
"JP4Q"
)},
"data-v-e25797c8"
,
null
);
d
.
options
.
__file
=
"src
\\
components
\\
class
\\
dialog.vue"
;
t
.
a
=
d
.
exports
},
rKW7
:
function
(
e
,
t
,
i
){
var
o
=
i
(
"NzM9"
);
"string"
==
typeof
o
&&
(
o
=
[[
e
.
i
,
o
,
""
]]),
o
.
locals
&&
(
e
.
exports
=
o
.
locals
);
i
(
"rjj0"
)(
"94e58b82"
,
o
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/42.8a489469bb9f16a6f685.js
0 → 100644
View file @
add37019
webpackJsonp
([
42
],{
"04By"
:
function
(
e
,
t
,
n
){
var
r
=
n
(
"PtE0"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
n
(
"rjj0"
)(
"4ba4820a"
,
r
,
!
1
,{})},
"21mC"
:
function
(
e
,
t
,
n
){
"use strict"
;
var
r
;
function
a
(
e
,
t
,
n
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
n
,
e
}
n
.
d
(
t
,
"a"
,
function
(){
return
o
});
var
o
=
(
a
(
r
=
{
"订单数"
:
"支付成功且未全额退款的订单数量(*月课、季课全勤返现完成的订单也会排除)"
,
"到班数"
:
"进入系统课程期数班级的学员数量"
,
"到班率"
:
"到班数/订单数"
,
"好友数"
:
"班主任在系统内标注用已成为微信好友的户数量,包含老师主动添加数和用户主动添加数"
,
"到课数"
:
"浏览过一次及以上课包的人数"
,
"好友率"
:
"好友数/订单数"
},
"到课数"
,
"浏览过一次及以上课包的人数"
),
a
(
r
,
"到课率"
,
"到课数/订单数"
),
a
(
r
,
"转化人数"
,
"购买一年课、两年课且未全额退款的人数(*个别退课但未全额退款的学员包含在内)"
),
a
(
r
,
"转化率"
,
"转化人数/订单数"
),
a
(
r
,
"一年课购买人数"
,
"购买一年课且未全额退款的人数"
),
a
(
r
,
"两年课购买人数"
,
"购买两年课且未全额退款的人数"
),
a
(
r
,
"转化金额"
,
"一年课和两年课的转化金额合计"
),
a
(
r
,
"一年课转化金额"
,
"购买一年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
a
(
r
,
"两年课转化金额"
,
"购买两年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
r
)},
PtE0
:
function
(
e
,
t
,
n
){(
e
.
exports
=
n
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/channelConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"channelConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
h0PA
:
function
(
e
,
t
,
n
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
n
(
"CCn6"
),
a
=
n
(
"+TkF"
),
o
=
n
(
"21mC"
);
n
(
"sf/l"
);
function
i
(
e
,
t
,
n
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
n
,
e
}
var
s
=
{
name
:
"channelConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
i
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
i
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
i
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"spanArr"
,[]),
i
(
e
,
"contentSpanArr"
,[]),
i
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
i
(
e
,
"goodList"
,[]),
e
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
a
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
}},
components
:{
page
:
n
(
"kmJW"
).
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
n
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
n
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
o
.
a
[
n
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
,
console
.
log
(
e
.
goodList
,
176
)})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
n
){
n
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
n
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
n
=
e
.
getMonth
()
+
1
;
n
<
10
&&
(
n
=
"0"
+
n
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
n
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
getPeriodsOtherListApi
({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
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
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
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
],
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
.
_42
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
n
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
n
,
r
){
n
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
n
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
a
=
n
.
invite_name
&&
n
.
invite_name
.
length
>
0
?
"("
+
n
.
invite_name
+
")"
:
""
,
o
=
n
.
goods_id
&&
n
.
goods_id
>
0
?
"【"
+
n
.
goods_id
+
"】"
:
""
,
i
=
n
.
watch_num
&&
n
.
watch_num
>
0
?
"【"
+
n
.
watch_num
+
"个课时】"
:
""
;
return
n
.
invite_type
=
""
+
n
.
invite_type
+
a
,
n
.
goods_name
=
""
+
o
+
n
.
goods_name
+
i
,
n
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
n
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsOption
()}},
l
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
n
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
n
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
n
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
n
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
n
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_id"
,
t
)},
expression
:
"searchFrom.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
r
){
return
n
(
"el-option"
,{
key
:
r
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,[
n
(
"div"
,{
staticClass
:
"flexRow"
},[
n
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
n
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
n
(
"el-table-column"
,{
attrs
:{
prop
:
"is_other"
,
label
:
"渠道来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
0
==
t
.
row
.
is_other
?
"内部"
:
"外部"
))]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type_name"
,
label
:
"渠道类别"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_total_num"
,
label
:
"订单数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num_except_total_num"
,
label
:
"到班率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
class_num_except_total_num
)
+
"%"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_total_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
friend_num_except_total_num
)
+
"%"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_total_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
come_num_except_total_num
)
+
"%"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_total_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
sum_buy_num_except_total_num
)
+
"%"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
width
:
"120"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
width
:
"120"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
n
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
l
.
_withStripped
=!
0
;
var
c
=
{
render
:
l
,
staticRenderFns
:[]},
m
=
c
;
var
h
=!
1
;
var
u
=
n
(
"VU/8"
)(
s
,
m
,
!
1
,
function
(
e
){
h
||
n
(
"04By"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
channelConversionList.vue"
;
t
.
default
=
u
.
exports
}});
\ No newline at end of file
dev/static/js/43.4343a6034952567bba8c.js
0 → 100644
View file @
add37019
webpackJsonp
([
43
],{
"21mC"
:
function
(
e
,
t
,
n
){
"use strict"
;
var
r
;
function
a
(
e
,
t
,
n
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
n
,
e
}
n
.
d
(
t
,
"a"
,
function
(){
return
o
});
var
o
=
(
a
(
r
=
{
"订单数"
:
"支付成功且未全额退款的订单数量(*月课、季课全勤返现完成的订单也会排除)"
,
"到班数"
:
"进入系统课程期数班级的学员数量"
,
"到班率"
:
"到班数/订单数"
,
"好友数"
:
"班主任在系统内标注用已成为微信好友的户数量,包含老师主动添加数和用户主动添加数"
,
"到课数"
:
"浏览过一次及以上课包的人数"
,
"好友率"
:
"好友数/订单数"
},
"到课数"
,
"浏览过一次及以上课包的人数"
),
a
(
r
,
"到课率"
,
"到课数/订单数"
),
a
(
r
,
"转化人数"
,
"购买一年课、两年课且未全额退款的人数(*个别退课但未全额退款的学员包含在内)"
),
a
(
r
,
"转化率"
,
"转化人数/订单数"
),
a
(
r
,
"一年课购买人数"
,
"购买一年课且未全额退款的人数"
),
a
(
r
,
"两年课购买人数"
,
"购买两年课且未全额退款的人数"
),
a
(
r
,
"转化金额"
,
"一年课和两年课的转化金额合计"
),
a
(
r
,
"一年课转化金额"
,
"购买一年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
a
(
r
,
"两年课转化金额"
,
"购买两年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
r
)},
"G/kT"
:
function
(
e
,
t
,
n
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
n
(
"CCn6"
),
a
=
n
(
"kmJW"
),
o
=
n
(
"+TkF"
),
s
=
n
(
"21mC"
);
function
i
(
e
,
t
,
n
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
n
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
n
,
e
}
var
l
=
{
name
:
"channelGoodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
i
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
periodList
:[]},
"total"
,
0
),
i
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
i
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"spanArr"
,[]),
i
(
e
,
"contentSpanArr"
,[]),
i
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
,
goods_id
:
""
}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
i
(
e
,
"goodList"
,[]),
e
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
o
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
}},
components
:{
page
:
a
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
n
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
n
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
s
.
a
[
n
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
,
console
.
log
(
e
.
goodList
,
176
)})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
n
){
n
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
n
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
n
=
e
.
getMonth
()
+
1
;
n
<
10
&&
(
n
=
"0"
+
n
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
n
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
getPeriodsOtherListApi
({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
searchFrom
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_43
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
n
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
n
,
r
){
n
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
n
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
a
=
n
.
invite_name
&&
n
.
invite_name
.
length
>
0
?
"("
+
n
.
invite_name
+
")"
:
""
,
o
=
n
.
goods_id
&&
n
.
goods_id
>
0
?
"【"
+
n
.
goods_id
+
"】"
:
""
,
s
=
n
.
watch_num
&&
n
.
watch_num
>
0
?
"【"
+
n
.
watch_num
+
"个课时】"
:
""
;
return
n
.
invite_type
=
""
+
n
.
invite_type
+
a
,
n
.
goods_name
=
""
+
o
+
n
.
goods_name
+
s
,
n
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
n
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsOption
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
n
=
e
.
_self
.
_c
||
t
;
return
n
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
n
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
n
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
n
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
n
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
n
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_id"
,
t
)},
expression
:
"searchFrom.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
r
){
return
n
(
"el-option"
,{
key
:
r
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
n
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},[
n
(
"el-option"
,{
attrs
:{
value
:
""
,
label
:
"请选择"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
n
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
n
(
"el-form-item"
,[
n
(
"div"
,{
staticClass
:
"flexRow"
},[
n
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
n
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
n
(
"el-table-column"
,{
attrs
:{
prop
:
"is_other"
,
label
:
"渠道来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
0
==
t
.
row
.
is_other
?
"内部"
:
"外部"
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type_name"
,
label
:
"渠道类别"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_total_num"
,
label
:
"订单数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num_except_total_num"
,
label
:
"到班率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
class_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_total_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_total_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_total_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_money"
,
label
:
"转化总额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
n
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
n
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
m
=
{
render
:
c
,
staticRenderFns
:[]},
h
=
m
;
var
u
=!
1
;
var
d
=
n
(
"VU/8"
)(
l
,
h
,
!
1
,
function
(
e
){
u
||
n
(
"q8ot"
)},
null
,
null
);
d
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
channelGoodsConversionList.vue"
;
t
.
default
=
d
.
exports
},
QXie
:
function
(
e
,
t
,
n
){(
e
.
exports
=
n
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/channelGoodsConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"channelGoodsConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
q8ot
:
function
(
e
,
t
,
n
){
var
r
=
n
(
"QXie"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
n
(
"rjj0"
)(
"51e43c94"
,
r
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/44.6fb04fae4bbaadddb191.js
0 → 100644
View file @
add37019
webpackJsonp
([
44
],{
"+Xua"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"periodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
n
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
,
console
.
log
(
320
)})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_77
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
n
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
i
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
n
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
(),
this
.
getTeacherList
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
changeTeacher
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
a
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
h
=
{
render
:
c
,
staticRenderFns
:[]},
m
=
h
;
var
d
=!
1
;
var
u
=
a
(
"VU/8"
)(
l
,
m
,
!
1
,
function
(
e
){
d
||
a
(
"gymE"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
periodsConversionList.vue"
;
t
.
default
=
u
.
exports
},
MPzq
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/periodsConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"periodsConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
gymE
:
function
(
e
,
t
,
a
){
var
r
=
a
(
"MPzq"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
a
(
"rjj0"
)(
"6179e8c0"
,
r
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/46.d638a050f13f0c1c27df.js
0 → 100644
View file @
add37019
webpackJsonp
([
46
],{
E2ij
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/squadConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"squadConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
M7X6
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
a
(
"CCn6"
),
r
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"squadConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
r
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
n
=
e
.
getDate
();
return
n
<
10
&&
(
n
=
"0"
+
n
),
t
+
"-"
+
a
+
"-"
+
n
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
n
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
n
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
n
.
_94
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
n
){
a
.
index
=
n
,
0
==
n
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
n
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
n
),
a
.
squad
=
"T"
+
a
.
squad
;
var
r
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
i
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
r
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
"render-header"
:
e
.
rendertip
,
label
:
"转化率"
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
h
=
{
render
:
c
,
staticRenderFns
:[]},
m
=
h
;
var
d
=!
1
;
var
u
=
a
(
"VU/8"
)(
l
,
m
,
!
1
,
function
(
e
){
d
||
a
(
"pgdF"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
squadConversionList.vue"
;
t
.
default
=
u
.
exports
},
pgdF
:
function
(
e
,
t
,
a
){
var
n
=
a
(
"E2ij"
);
"string"
==
typeof
n
&&
(
n
=
[[
e
.
i
,
n
,
""
]]),
n
.
locals
&&
(
e
.
exports
=
n
.
locals
);
a
(
"rjj0"
)(
"11184946"
,
n
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/53.c0eb0e2c9c0e1a6457ef.js
0 → 100644
View file @
add37019
webpackJsonp
([
53
],{
"B+FO"
:
function
(
e
,
t
,
a
){
var
r
=
a
(
"TiBO"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
a
(
"rjj0"
)(
"7df987af"
,
r
,
!
1
,{})},
TiBO
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/teacherPeriodsConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"teacherPeriodsConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
TtuZ
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"teacherPeriodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
n
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_106
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
n
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
i
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
n
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getPeriodsOtherList
(),
this
.
getGoodsList
(),
this
.
getTeacherList
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
changeTeacher
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
a
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
h
=
{
render
:
c
,
staticRenderFns
:[]},
m
=
h
;
var
d
=!
1
;
var
u
=
a
(
"VU/8"
)(
l
,
m
,
!
1
,
function
(
e
){
d
||
a
(
"B+FO"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
teacherPeriodsConversionList.vue"
;
t
.
default
=
u
.
exports
}});
\ No newline at end of file
dev/static/js/54.36ef1333b807491ca4b8.js
0 → 100644
View file @
add37019
webpackJsonp
([
54
],{
BXv1
:
function
(
e
,
t
,
a
){
var
i
=
a
(
"pex0"
);
"string"
==
typeof
i
&&
(
i
=
[[
e
.
i
,
i
,
""
]]),
i
.
locals
&&
(
e
.
exports
=
i
.
locals
);
a
(
"rjj0"
)(
"99d5fc9a"
,
i
,
!
1
,{})},
XXYb
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
i
=
a
(
"CCn6"
),
r
=
a
(
"kmJW"
),
s
=
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
:
"channelTransList"
,
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
:
r
.
a
},
methods
:{
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
)},
exportDataTable
:
function
(){
var
e
=
{};
this
.
searchFrom
.
sort_value
&&
(
e
.
sort_value
=
this
.
searchFrom
.
sort_value
,
e
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
start_at
.
length
>
0
&&
this
.
searchFrom
.
end_at
.
length
>
0
&&
(
e
.
start_at
=
this
.
searchFrom
.
start_at
,
e
.
end_at
=
this
.
searchFrom
.
end_at
),
this
.
searchFrom
.
teacher_id
&&
(
e
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
invite_type
.
length
>
0
&&
(
e
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
periods_id
&&
(
e
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
squad
&&
(
e
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
e
.
watch_num
=
this
.
searchFrom
.
watch_num
),
Object
(
i
.
_26
)(
"/api/admin/channel/class/list/export"
,
e
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
Object
(
i
.
_75
)({
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
i
=
e
.
getDate
();
return
i
<
10
&&
(
i
=
"0"
+
i
),
t
+
"-"
+
a
+
"-"
+
i
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
i
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
i
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
i
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
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
(
i
.
_121
)(
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
,
i
){
a
.
index
=
i
,
0
==
i
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
i
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
i
),
a
.
squad
=
"T"
+
a
.
squad
;
var
r
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
n
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
r
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
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
.
getTeacherList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
()}},
l
=
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
:
"商品课时数"
}},[
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"
,{
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
(
"搜索"
)]),
e
.
_v
(
" "
),
e
.
_e
()],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"cur_date"
,
label
:
"进量日期"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组ID"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"total_num"
,
label
:
"购买人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num"
,
label
:
"班级人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_friend_num"
,
label
:
"老师主动添加好友人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"user_friend_num"
,
label
:
"用户主动添加好友人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num"
,
label
:
"到课人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"one_buy_num"
,
label
:
"一年课购买人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"two_buy_num"
,
label
:
"两年课购买人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"one_buy_money"
,
label
:
"一年课转化金额"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"two_buy_money"
,
label
:
"两年课转化金额"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
l
.
_withStripped
=!
0
;
var
c
=
{
render
:
l
,
staticRenderFns
:[]},
h
=
c
;
var
m
=!
1
;
var
d
=
a
(
"VU/8"
)(
o
,
h
,
!
1
,
function
(
e
){
m
||
a
(
"BXv1"
)},
null
,
null
);
d
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
channelTransList.vue"
;
t
.
default
=
d
.
exports
},
pex0
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/channelTransList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"channelTransList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])}});
\ No newline at end of file
dev/static/js/57.27d41f6ca34b33214ec6.js
0 → 100644
View file @
add37019
webpackJsonp
([
57
],{
"6yV8"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"teacherConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
n
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_102
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
),
a
.
squad
=
"T"
+
a
.
squad
;
var
n
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
i
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
n
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getPeriodsOtherList
(),
this
.
getGoodsList
()}},
c
=
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)};
c
.
_withStripped
=!
0
;
var
h
=
{
render
:
c
,
staticRenderFns
:[]},
m
=
h
;
var
d
=!
1
;
var
u
=
a
(
"VU/8"
)(
l
,
m
,
!
1
,
function
(
e
){
d
||
a
(
"cZQw"
)},
null
,
null
);
u
.
options
.
__file
=
"src
\\
components
\\
conversionList
\\
teacherConversionList.vue"
;
t
.
default
=
u
.
exports
},
NNn0
:
function
(
e
,
t
,
a
){(
e
.
exports
=
a
(
"FZ+f"
)(
!
0
)).
push
([
e
.
i
,
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
,
""
,{
version
:
3
,
sources
:[
"C:/Users/Administrator/Desktop/后台/admin/src/components/conversionList/teacherConversionList.vue"
],
names
:[],
mappings
:
";AACA;EACE,gBAAgB;CACjB;AACD;EACE,8BAA8B;CAC/B"
,
file
:
"teacherConversionList.vue"
,
sourcesContent
:[
"
\n
.channel-trans-list {
\n
padding: 20px 0;
\n
}
\n
.el-table .cell {
\n
text-align: center !important;
\n
}
\n
"
],
sourceRoot
:
""
}])},
cZQw
:
function
(
e
,
t
,
a
){
var
r
=
a
(
"NNn0"
);
"string"
==
typeof
r
&&
(
r
=
[[
e
.
i
,
r
,
""
]]),
r
.
locals
&&
(
e
.
exports
=
r
.
locals
);
a
(
"rjj0"
)(
"4d51ee49"
,
r
,
!
1
,{})}});
\ No newline at end of file
dev/static/js/65.63911b7c7ba57da3a4e2.js
0 → 100644
View file @
add37019
webpackJsonp
([
65
],{
"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
,
max_watch_num
:
20
}).
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.dcca4c23354c2dd35cd1.js
0 → 100644
View file @
add37019
!
function
(
e
){
var
a
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
f
,
d
,
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
d
)
Object
.
prototype
.
hasOwnProperty
.
call
(
d
,
r
)
&&
(
e
[
r
]
=
d
[
r
]);
for
(
a
&&
a
(
f
,
d
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
b
(
b
.
s
=
n
[
i
]);
return
o
};
var
f
=
{},
c
=
{
69
:
0
};
function
b
(
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
,
b
),
c
.
l
=!
0
,
c
.
exports
}
b
.
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
,
b
){
a
=
c
[
e
]
=
[
f
,
b
]});
a
[
2
]
=
f
;
var
d
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
b
.
nc
&&
n
.
setAttribute
(
"nonce"
,
b
.
nc
),
n
.
src
=
b
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"3ade38c0aff2e24a655a"
,
1
:
"1315236348582fc8e5e8"
,
2
:
"b6893bfbe3576a294644"
,
3
:
"31bde1388de2eb7814ee"
,
4
:
"86f7fe9f691df70b93f2"
,
5
:
"1eba5068bcc603e52315"
,
6
:
"69b2a8d0d66777598a3c"
,
7
:
"e3e6701271ac1b30fec1"
,
8
:
"ba2c5eea4bae6edc6fe6"
,
9
:
"f0953e7fe4daf1cc8fe6"
,
10
:
"8117c105524d1651f917"
,
11
:
"e370493a193f31cda7b3"
,
12
:
"8b021688013e398ca3a5"
,
13
:
"d710c4b64be29ef4dd4d"
,
14
:
"1dca8d8838a11cee419e"
,
15
:
"12f4af77221b531640c4"
,
16
:
"1f657b60ba2423ae0e1e"
,
17
:
"01708e39956f921938aa"
,
18
:
"2d44f3008d84f45a496b"
,
19
:
"ac517c7ddf5acfea98ee"
,
20
:
"192ff0ce3b794223f8c7"
,
21
:
"1714423ee6a3922c7626"
,
22
:
"a593f774d6e7b59af71b"
,
23
:
"c1bc94beed54d1a529bf"
,
24
:
"625df4947d87d7baa720"
,
25
:
"d2e8e398b77de940bc75"
,
26
:
"247bd2a20100e4274032"
,
27
:
"ae37e657e804f4f39a65"
,
28
:
"ac5cd70d95dea5330e2a"
,
29
:
"5a0abeb6bc5ba700d9d4"
,
30
:
"2bbf2003e08e3c85b02e"
,
31
:
"cb73631f0fb35fc85b80"
,
32
:
"478de01c8671e9b736bb"
,
33
:
"89a886ca2edf08d1da99"
,
34
:
"bfae821267441bdfb843"
,
35
:
"1e266ee1931187505b81"
,
36
:
"4262dbd0f9927e1d6fad"
,
37
:
"2fe3ba985d82488115a2"
,
38
:
"f38f54b6e647b17b606f"
,
39
:
"25d541effc76fb664617"
,
40
:
"6ea54ea49958b17f2df7"
,
41
:
"f5cbc80a06389832a034"
,
42
:
"8a489469bb9f16a6f685"
,
43
:
"4343a6034952567bba8c"
,
44
:
"6fb04fae4bbaadddb191"
,
45
:
"2d962f4c25454cde2118"
,
46
:
"d638a050f13f0c1c27df"
,
47
:
"060f06dd35641d864baa"
,
48
:
"eb62245eade411969bc5"
,
49
:
"06dff50e19913af74396"
,
50
:
"b3552fcf9ef17524d077"
,
51
:
"ca887ceefef8a360c60b"
,
52
:
"02c211b7c1ac1588a572"
,
53
:
"c0eb0e2c9c0e1a6457ef"
,
54
:
"36ef1333b807491ca4b8"
,
55
:
"d7c4e1a31010c4beaabc"
,
56
:
"a9721b9a81ecdc4caeab"
,
57
:
"27d41f6ca34b33214ec6"
,
58
:
"2d598f68876b8c85c1f0"
,
59
:
"5e7f4d70dd4b8c88b266"
,
60
:
"c34f44f39d400fccd8c3"
,
61
:
"e4e45eb1f3339c498027"
,
62
:
"8629a0691fa9dbeaf441"
,
63
:
"02e62503ff40ec916f83"
,
64
:
"547953d6ffdf7688c754"
,
65
:
"63911b7c7ba57da3a4e2"
,
66
:
"1973d7e91c2414c33698"
}[
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
,
d
.
appendChild
(
n
),
f
},
b
.
m
=
e
,
b
.
c
=
f
,
b
.
d
=
function
(
e
,
a
,
f
){
b
.
o
(
e
,
a
)
||
Object
.
defineProperty
(
e
,
a
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
f
})},
b
.
n
=
function
(
e
){
var
a
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
b
.
d
(
a
,
"a"
,
a
),
a
},
b
.
o
=
function
(
e
,
a
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
a
)},
b
.
p
=
"/"
,
b
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
dist/index.html
View file @
add37019
<!DOCTYPE html>
<html><head><meta
charset=
utf-8
><meta
name=
viewport
content=
"width=device-width,initial-scale=1"
><meta
name=
referrer
content=
never
><link
rel=
stylesheet
href=
https:////at.alicdn.com/t/font_746649_x1rivf5f5.css
><link
rel=
stylesheet
href=
https://lib.baomitu.com/element-ui/2.7.2/theme-chalk/index.css
><title>
唱唱启蒙-后台
</title><link
href=
/static/css/app.
b2b3ab4e093858d73a0fe8428b47c730.css
rel=
stylesheet
></head><body><script
src=
https://cdn.bootcss.com/vue/2.5.17/vue.min.js
></script><script
src=
https://unpkg.com/vuex@3.0.1
></script><script
src=
https://cdn.bootcss.com/axios/0.18.0/axios.min.js
></script><script
src=
https://lib.baomitu.com/element-ui/2.7.2/index.js
></script><div
id=
app
></div><script
type=
text/javascript
src=
/static/js/manifest.a041dc5b33eae49fcb13.js
></script><script
type=
text/javascript
src=
/static/js/vendor.c51fd44cbf7149072a68.js
></script><script
type=
text/javascript
src=
/static/js/app.b93facc91c3bb85f773e
.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
<!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.
1c962ee81dfde77478d68d73d55dd7e7.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.2e53f1fa58f39d4d6ff2.js
></script><script
type=
text/javascript
src=
/static/js/vendor.c51fd44cbf7149072a68.js
></script><script
type=
text/javascript
src=
/static/js/app.edb4749eb2f1706bf0b0
.js
></script></body><script>
let
el
=
document
.
getElementsByTagName
(
"script"
);
el
.
onerror
=
function
(
a
,
b
,
c
){
el
.
onerror
=
function
(
a
,
b
,
c
){
console
.
log
(
'error:'
,
a
,
b
,
c
);
console
.
log
(
'error:'
,
a
,
b
,
c
);
};
};
...
...
dist/static/css/app.1c962ee81dfde77478d68d73d55dd7e7.css
0 → 100644
View file @
add37019
This source diff could not be displayed because it is too large. You can
view the blob
instead.
dist/static/js/13.17db775913681bdbc154.js
0 → 100644
View file @
add37019
webpackJsonp
([
13
],{
"8OEI"
:
function
(
e
,
t
){},
OX9A
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
o
=
i
(
"CCn6"
),
s
=
i
(
"g5CC"
),
n
=
i
(
"+TkF"
),
a
=
i
(
"0qGg"
),
r
=
i
(
"kmJW"
),
l
=
i
(
"Ix4X"
),
c
=
{
data
:
function
(){
return
{
noticeDialog
:
!
1
,
nowPage
:
1
,
total
:
0
,
limit
:
10
,
periodsId
:
null
,
goods_id
:
null
,
goodsList
:[],
teacher_id
:
""
,
classList
:[],
title
:
""
,
countObj
:
""
,
teacherList
:[],
userObj
:{
classId
:
""
,
title
:
""
,
show
:
!
1
,
goods_id
:
null
},
dialogObj
:{
show
:
!
1
,
title
:
"添加班级"
,
periodsId
:
""
,
type
:
0
,
id
:
0
},
selectedGoods
:[],
secGoods
:[]}},
components
:{
UserList
:
a
.
a
,
classDialog
:
s
.
a
,
page
:
r
.
a
},
filters
:{
classTypeFilter
:
function
(
e
){
var
t
=
parseInt
(
e
);
return
1
===
t
?
"带班班级"
:
2
===
t
?
"观摩班级"
:
""
},
classSourceFilter
:
function
(
e
){
return
n
.
f
[
e
]},
percent
:
function
(
e
){
return
(
100
*
e
).
toFixed
(
2
)
+
"%"
}},
mounted
:
function
(){
this
.
initPage
()},
methods
:{
rendertip
:
function
(
e
,
t
){
var
i
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
i
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
l
.
a
[
i
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sendMsg
:
function
(){
var
e
=
this
;
this
.
title
&&
this
.
title
.
title
?
this
.
$confirm
(
"你将发送给"
+
this
.
title
.
title
+
"用户"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
o
.
_132
)(
e
.
periods
.
id
).
then
(
function
(
t
){
e
.
noticeDialog
=!
1
,
e
.
$message
({
type
:
"success"
,
message
:
"发送成功"
+
t
.
num
+
"个"
})})}):
this
.
$message
({
message
:
"请选择期数"
})},
changeRow
:
function
(
e
,
t
){
t
.
indexOf
(
e
)
>-
1
&&
Object
(
o
.
_47
)(
e
.
periods_id
,
e
.
id
).
then
(
function
(
t
){
e
.
arrive_course_rate
=
t
.
arrive_course_rate
,
e
.
watch_course_rate
=
t
.
watch_course_rate
,
e
.
over_course_rate
=
t
.
over_course_rate
,
e
.
work_rate
=
t
.
work_rate
,
e
.
over_work_rate
=
t
.
over_work_rate
,
e
.
clock_rate
=
t
.
clock_rate
,
e
.
over_clock_rate
=
t
.
over_clock_rate
,
e
.
transform_rate
=
t
.
transform_rate
})},
initQuery
:
function
(){
var
e
=
this
,
t
=
this
.
$route
.
query
;
t
&&
t
.
goods_id
&&
t
.
periods_id
?(
this
.
goods_id
=
t
.
goods_id
,
this
.
selectedGoods
=
[
parseInt
(
t
.
goods_id
),
parseInt
(
t
.
periods_id
)],
Object
(
o
.
_75
)({
goods_id
:
this
.
selectedGoods
[
0
],
limit
:
100
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
e
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
0
]}).
children
=
t
.
list
;
var
i
=
e
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
0
]});
e
.
periods
=
i
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
1
]}),
console
.
log
(
e
.
periods
),
e
.
teacher_id
=
""
,
e
.
getClassList
()})):
Object
(
o
.
_52
)().
then
(
function
(
t
){
console
.
log
(
t
),
t
&&
(
e
.
goods_id
=
t
.
goods_id
,
e
.
selectedGoods
=
[
parseInt
(
t
.
goods_id
),
parseInt
(
t
.
id
)],
Object
(
o
.
_75
)({
goods_id
:
e
.
selectedGoods
[
0
],
limit
:
100
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
e
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
0
]}).
children
=
t
.
list
;
var
i
=
e
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
0
]});
e
.
periods
=
i
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
.
selectedGoods
[
1
]}),
e
.
teacher_id
=
""
,
console
.
log
(
e
.
periods
),
e
.
getClassList
()}))}),
console
.
log
(
this
.
goodsList
)},
initPage
:
function
(){
var
e
=
this
;
Object
(
o
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
console
.
log
(
t
),
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
n
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
,
e
.
initQuery
()})},
showUser
:
function
(
e
){
var
t
=
1
==
e
.
type
?
"(带班班级)"
:
"(观摩班级)"
;
console
.
log
(
e
),
this
.
userObj
=
{
classId
:
e
.
id
,
periods_id
:
e
.
periods_id
,
show
:
!
0
,
goods_id
:
this
.
goods_id
,
title
:
e
.
teacher_name
+
"班级用户列表"
+
t
,
teacherId
:
e
.
teacher_id
,
class_name
:
e
.
class_name
,
type
:
e
.
type
,
watch_num
:
this
.
title
.
watch_num
},
console
.
log
(
this
.
userObj
)},
getTeacher
:
function
(){
var
e
=
this
;
this
.
periods
&&
Object
(
o
.
_80
)(
this
.
periods
.
id
).
then
(
function
(
t
){
var
i
=
{};
t
=
t
.
reduce
(
function
(
e
,
t
){
return
!
i
[
t
.
teacher_id
]
&&
(
i
[
t
.
teacher_id
]
=
e
.
push
(
t
)),
e
},[]),
e
.
teacherList
=
t
})},
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
]}),
console
.
log
(
this
.
goodsList
),
console
.
log
(
this
.
periods
),
this
.
teacher_id
=
""
,
this
.
getTeacher
(),
this
.
getClassList
()}},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getClassList
()},
onSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
getClassList
()},
onReflash
:
function
(
e
){
this
.
periods
=
e
,
this
.
selectedGoods
=
[
e
.
goods_id
,
e
.
id
],
this
.
getClassList
()},
getClassList
:
function
(){
var
e
=
this
;
if
(
this
.
periods
){
this
.
getTeacher
();
var
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
teacher_id
),
console
.
log
(
this
.
periods
),
Object
(
o
.
_46
)(
this
.
periods
.
id
,
t
).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
arrive_course_rate
=
0
,
e
.
watch_course_rate
=
0
,
e
.
over_course_rate
=
0
,
e
.
work_rate
=
0
,
e
.
over_work_rate
=
0
,
e
.
clock_rate
=
0
,
e
.
over_clock_rate
=
0
,
e
.
transform_rate
=
0
}),
e
.
title
=
t
.
periods
,
e
.
title
.
count_join_num
=
t
.
count
.
count_join_num
?
t
.
count
.
count_join_num
:
"暂无"
,
e
.
title
.
count_max_join_num
=
t
.
count
.
count_max_join_num
?
t
.
count
.
count_max_join_num
:
"暂无"
,
e
.
title
.
count_teacher_num
=
t
.
count
.
count_teacher_num
?
t
.
count
.
count_teacher_num
:
"暂无"
,
e
.
countObj
=
t
.
count
?
t
.
count
:
""
,
e
.
classList
=
t
.
list
,
e
.
total
=
t
.
total
})}},
handleItemChange
:
function
(
e
){
var
t
=
this
;
Object
(
o
.
_75
)({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
i
){
i
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
i
.
list
})},
delClass
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将删除该班级?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
o
.
L
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
}),
t
.
getClassList
()})})},
onAdd
:
function
(){
this
.
dialogObj
=
{
show
:
!
0
,
title
:
"添加班级"
,
type
:
0
,
teacherList
:
this
.
teacherList
?
this
.
teacherList
:[]},
this
.
periods
&&
(
this
.
dialogObj
.
periods
=
this
.
periods
,
this
.
dialogObj
.
periodsId
=
this
.
periods
.
id
)},
editClass
:
function
(
e
){
this
.
dialogObj
=
{
show
:
!
0
,
title
:
"编辑班级"
,
type
:
1
,
id
:
e
.
id
,
teacherList
:
this
.
teacherList
?
this
.
teacherList
:[]},
this
.
periods
&&
(
this
.
dialogObj
.
periods
=
this
.
periods
,
this
.
dialogObj
.
periodsId
=
this
.
periods
.
id
)}}},
d
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
staticClass
:
"class"
},[
i
(
"div"
,{
staticClass
:
"form-block"
},[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"90px"
,
inline
:
""
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"期数"
}},[
i
(
"el-cascader"
,{
attrs
:{
options
:
e
.
goodsList
,
props
:{
value
:
"id"
,
label
:
"name"
},
filterable
:
""
},
on
:{
"active-item-change"
:
e
.
handleItemChange
,
change
:
e
.
changePeriods
},
model
:{
value
:
e
.
selectedGoods
,
callback
:
function
(
t
){
e
.
selectedGoods
=
t
},
expression
:
"selectedGoods"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
i
(
"el-select"
,{
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getClassList
},
model
:{
value
:
e
.
teacher_id
,
callback
:
function
(
t
){
e
.
teacher_id
=
t
},
expression
:
"teacher_id"
}},
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
teacher_name
,
value
:
e
.
teacher_id
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
""
}},[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
getClassList
}},[
e
.
_v
(
"搜索"
)])],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
staticStyle
:{
float
:
"right"
}},[
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-button"
,{
attrs
:{
type
:
"success"
},
on
:{
click
:
e
.
onAdd
}},[
e
.
_v
(
"+添加班级"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"success"
},
on
:{
click
:
e
.
sendMsg
}},[
e
.
_v
(
"发送活动通知"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
e
.
title
&&
e
.
title
.
title
?
i
(
"div"
,{
staticClass
:
"intro"
},[
i
(
"el-table"
,{
staticStyle
:{
display
:
"block"
,
margin
:
"20px auto"
,
background
:
"transparent"
},
attrs
:{
border
:
""
,
size
:
"mini"
,
data
:[
e
.
title
]}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"title"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"可看课包数"
,
prop
:
"watch_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"已看课包数"
,
prop
:
"has_watch_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"开始时间"
,
prop
:
"start_at"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"老师数量"
,
prop
:
"count_teacher_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"预计学员总数"
,
prop
:
"count_max_join_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"学员总数"
,
prop
:
"count_join_num"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"结束时间"
,
prop
:
"over_at"
}})],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
e
.
title
&&
e
.
title
.
title
?
e
.
_e
():
i
(
"div"
,[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"300px"
,
inline
:
""
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"暂无期数信息,请先选择期数"
}})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"div"
,[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
classList
},
on
:{
"expand-change"
:
e
.
changeRow
}},[
i
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:[
t
.
row
]}},[
i
(
"el-table-column"
,{
attrs
:{
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
arrive_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"看课率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
watch_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"完课率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
over_course_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"打卡率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
clock_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"全勤打卡率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
over_clock_rate
)))])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"span"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"percent"
)(
t
.
row
.
transform_rate
)))])]}}])})],
1
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"班级名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
class_name
))]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"qr"
,
label
:
"班级二维码"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
t
.
row
.
qr
?
i
(
"a"
,{
attrs
:{
href
:
t
.
row
.
qr
,
target
:
"_blank"
}},[
i
(
"img"
,{
staticClass
:
"avatar"
,
attrs
:{
src
:
t
.
row
.
qr
,
alt
:
"二维码"
}})]):
e
.
_e
(),
e
.
_v
(
" "
),
t
.
row
.
qr
?
e
.
_e
():
i
(
"p"
,[
e
.
_v
(
"--"
)])]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"班主任"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"老师状态"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
0
===
t
.
row
.
teacher_status
?
"带班"
:
"不带班"
))]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
label
:
"班级类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"classTypeFilter"
)(
t
.
row
.
type
)))]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"max_join_num"
,
label
:
"最大人数"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"join_num"
,
label
:
"现有人数"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"source"
,
label
:
"招生来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"classSourceFilter"
)(
t
.
row
.
source
)))]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
width
:
"250"
,
label
:
"操作"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"primary"
},
on
:{
click
:
function
(
i
){
e
.
showUser
(
t
.
row
)}}},[
e
.
_v
(
"班级成员"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"warning"
},
on
:{
click
:
function
(
i
){
e
.
editClass
(
t
.
row
)}}},[
e
.
_v
(
"编辑"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
deletePermission
&&!
e
.
$store
.
state
.
readonly
?
i
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
type
:
"danger"
},
on
:{
click
:
function
(
i
){
e
.
delClass
(
t
.
row
)}}},[
e
.
_v
(
"删除"
)]):
e
.
_e
()]}}])})],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
i
(
"class-dialog"
,{
attrs
:{
dialogObj
:
e
.
dialogObj
},
on
:{
reflash
:
e
.
onReflash
}}),
e
.
_v
(
" "
),
i
(
"user-list"
,{
attrs
:{
userObj
:
e
.
userObj
},
on
:{
reflash
:
e
.
getClassList
}})],
1
)},
staticRenderFns
:[]};
var
u
=
i
(
"VU/8"
)(
c
,
d
,
!
1
,
function
(
e
){
i
(
"TMHx"
),
i
(
"8OEI"
)},
"data-v-6f830958"
,
null
);
t
.
default
=
u
.
exports
},
TMHx
:
function
(
e
,
t
){},
g5CC
:
function
(
e
,
t
,
i
){
"use strict"
;
var
o
=
i
(
"CCn6"
),
s
=
i
(
"+TkF"
),
n
=
{
props
:[
"dialogObj"
],
data
:
function
(){
var
e
=
[];
for
(
var
t
in
s
.
f
)
e
.
push
({
label
:
s
.
f
[
t
],
value
:
Number
(
t
)});
return
{
imageList
:[],
form
:{
teacher_id
:
""
,
max_join_num
:
""
,
class_name
:
""
,
source
:
""
,
qr
:
""
},
type
:
0
,
classSource
:
e
,
teacherList
:[],
exitTeacherList
:[],
goodsList
:[],
periods
:{},
uploadShow
:
!
0
}},
methods
:{
beforeAvatarUpload
:
function
(){
this
.
uploadShow
=!
1
},
handleRemove
:
function
(){
this
.
uploadShow
=!
0
},
handleAvatarSuccess
:
function
(
e
){
this
.
imageList
=
[{
name
:
e
.
data
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
data
.
url
}]},
uploadFile
:
function
(
e
){
var
t
=
this
;
this
.
loading
=!
0
,
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
o
.
_174
)({
file
:
e
.
file
,
type
:
"all"
}).
then
(
function
(
e
){
t
.
form
.
media_id
=
e
.
wechat_info
?
e
.
wechat_info
.
media_id
:
""
,
t
.
imageList
=
[{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
}],
t
.
uploadShow
=!
1
,
t
.
loading
=!
1
,
t
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
})}).
catch
(
function
(){
t
.
loading
=!
1
})},
findDifferentArray
:
function
(
e
,
t
){
var
i
=
[];
return
e
.
forEach
(
function
(
e
){
-
1
===
t
.
findIndex
(
function
(
t
){
return
t
.
teacher_id
===
e
.
id
})
&&
i
.
push
(
e
)}),
i
},
getTeacher
:
function
(){
var
e
=
this
;
Object
(
o
.
_105
)({
limit
:
100
,
status
:
0
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
getTeacherByPeriods
:
function
(){
var
e
=
this
;
Object
(
o
.
_105
)({
limit
:
100
,
status
:
0
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
initPage
:
function
(){
var
e
=
this
;
switch
(
this
.
periods
=
this
.
dialogObj
.
periods
,
this
.
dialogObj
.
type
){
case
0
:
this
.
dialogObj
.
periodsId
||
this
.
getPeriodList
(),
this
.
form
=
{
teacher_id
:
""
,
max_join_num
:
""
,
source
:
""
,
qr
:
""
},
this
.
type
=
0
,
this
.
uploadShow
=!
0
,
this
.
getTeacher
();
break
;
case
1
:
this
.
type
=
1
,
Object
(
o
.
_45
)(
this
.
dialogObj
.
id
).
then
(
function
(
t
){
e
.
form
=
{
teacher_id
:
parseInt
(
t
.
teacher_id
),
max_join_num
:
t
.
max_join_num
,
class_name
:
t
.
class_name
,
source
:
t
.
source
},
t
.
qr
&&
(
e
.
form
.
qr
=
t
.
qr
,
e
.
imageList
=
[{
name
:
t
.
qr
,
url
:
t
.
qr
}]),
e
.
form
.
media_id
=
t
.
media_id
?
t
.
media_id
:
""
,
e
.
uploadShow
=!
t
.
qr
,
console
.
log
(
e
.
uploadShow
),
e
.
getTeacher
()})}},
getPeriodList
:
function
(){
var
e
=
this
;
Object
(
o
.
_59
)().
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
,
e
.
periods
||
Object
(
o
.
_75
)({
goods_id
:
e
.
goodsList
[
0
].
id
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
e
.
goodsList
[
0
].
children
=
t
.
list
,
e
.
periods
=
t
.
list
[
0
]})})},
onSave
:
function
(){
var
e
=
this
;
this
.
imageList
.
length
>
0
&&
(
this
.
form
.
qr
=
this
.
imageList
[
0
].
url
);
var
t
=
{
max_join_num
:
String
(
this
.
form
.
max_join_num
),
teacher_id
:
String
(
this
.
form
.
teacher_id
),
source
:
this
.
form
.
source
,
class_name
:
this
.
form
.
class_name
,
media_id
:
this
.
form
.
media_id
};
switch
(
this
.
form
.
qr
&&
(
t
.
qr
=
this
.
form
.
qr
),
console
.
log
(
t
),
this
.
dialogObj
.
type
){
case
0
:
var
i
=
this
.
dialogObj
.
periodsId
?
this
.
dialogObj
.
periodsId
:
this
.
periods
.
id
;
Object
(
o
.
g
)(
i
,
t
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"添加成功!"
}),
e
.
$emit
(
"reflash"
,
e
.
periods
),
e
.
dialogObj
.
show
=!
1
});
break
;
case
1
:
Object
(
o
.
_9
)(
this
.
dialogObj
.
id
,
t
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
e
.
$emit
(
"reflash"
,
e
.
periods
),
e
.
dialogObj
.
show
=!
1
})}},
handleItemChange
:
function
(
e
){
var
t
=
this
;
Object
(
o
.
_75
)({
goods_id
:
e
[
0
]}).
then
(
function
(
i
){
i
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
i
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
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
.
getTeacherByPeriods
()}},
selectName
:
function
(
e
,
t
){
var
i
=
e
.
filter
(
function
(
e
,
i
){
return
e
.
id
==
t
});
this
.
form
.
class_name
=
i
[
0
].
name
+
"一班"
}},
watch
:{
"dialogObj.show"
:
function
(
e
){
e
&&
this
.
initPage
()}}},
a
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"el-dialog"
,{
attrs
:{
title
:
e
.
dialogObj
.
title
,
visible
:
e
.
dialogObj
.
show
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
dialogObj
,
"show"
,
t
)}}},[
i
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
e
.
form
,
"label-width"
:
"120px"
}},[
this
.
dialogObj
.
periodsId
?
e
.
_e
():
i
(
"el-form-item"
,{
attrs
:{
label
:
"期数"
}},[
i
(
"el-cascader"
,{
attrs
:{
options
:
e
.
goodsList
,
props
:{
value
:
"id"
,
label
:
"name"
}},
on
:{
"active-item-change"
:
e
.
handleItemChange
,
change
:
e
.
changePeriods
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
i
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
},
on
:{
change
:
function
(
t
){
e
.
selectName
(
e
.
teacherList
,
e
.
form
.
teacher_id
)}},
model
:{
value
:
e
.
form
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"teacher_id"
,
t
)},
expression
:
"form.teacher_id"
}},
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"班级名称"
}},[
i
(
"el-input"
,{
staticStyle
:{
width
:
"220px"
},
model
:{
value
:
e
.
form
.
class_name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"class_name"
,
t
)},
expression
:
"form.class_name"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"最大学员"
}},[
i
(
"el-input-number"
,{
model
:{
value
:
e
.
form
.
max_join_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"max_join_num"
,
t
)},
expression
:
"form.max_join_num"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"招生来源"
}},[
i
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
},
model
:{
value
:
e
.
form
.
source
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"source"
,
t
)},
expression
:
"form.source"
}},
e
.
_l
(
e
.
classSource
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
label
,
value
:
e
.
value
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"班级二维码"
}},[
i
(
"el-upload"
,{
class
:{
disabled
:
!
e
.
uploadShow
},
attrs
:{
action
:
"/api/public/upload/zone"
,
"http-request"
:
e
.
uploadFile
,
"before-upload"
:
e
.
beforeAvatarUpload
,
"list-type"
:
"picture-card"
,
"file-list"
:
e
.
imageList
,
"on-success"
:
e
.
handleAvatarSuccess
,
"on-remove"
:
e
.
handleRemove
}},[
i
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialogObj
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onSave
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)},
staticRenderFns
:[]};
var
r
=
i
(
"VU/8"
)(
n
,
a
,
!
1
,
function
(
e
){
i
(
"gdey"
)},
"data-v-27bd0c65"
,
null
);
t
.
a
=
r
.
exports
},
gdey
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/14.3992558942211f2fc0fe.js
0 → 100644
View file @
add37019
webpackJsonp
([
14
],{
"9RoH"
:
function
(
e
,
t
){},
NDyu
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
i
(
"CCn6"
),
a
=
i
(
"+TkF"
),
n
=
i
(
"kmJW"
),
l
=
{
name
:
"newIntegral"
,
props
:[
"newIntegral"
],
data
:
function
(){
var
e
=
[];
for
(
var
t
in
a
.
j
)
e
.
push
({
id
:
t
,
value
:
a
.
j
[
t
]});
return
{
is_addOption
:
e
}},
methods
:{
onAdd
:
function
(){
this
.
newIntegral
.
user_id
&&
""
!==
this
.
newIntegral
.
user_id
?
this
.
newIntegral
.
is_add
&&
""
!==
this
.
newIntegral
.
is_add
?
this
.
newIntegral
.
value
&&
""
!==
this
.
newIntegral
.
value
?
this
.
newIntegral
.
desc
&&
""
!==
this
.
newIntegral
.
desc
?
this
.
$emit
(
"subAdd"
):
this
.
$message
(
"请填写描述"
):
this
.
$message
(
"请填写积分值"
):
this
.
$message
(
"请选择积分类型"
):
this
.
$message
(
"请填写用户ID"
)},
showUserList
:
function
(){
this
.
$emit
(
"showUserList"
)}}},
r
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
newIntegral
.
show
,
width
:
"800px"
,
center
:
""
,
title
:
"积分变更"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
newIntegral
,
"show"
,
t
)}}},[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"150px"
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"用户ID"
}},[
i
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
i
(
"el-col"
,{
attrs
:{
span
:
14
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
newIntegral
.
user_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
newIntegral
,
"user_id"
,
t
)},
expression
:
"newIntegral.user_id"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-col"
,{
attrs
:{
span
:
6
}},[
i
(
"el-button"
,{
on
:{
click
:
e
.
showUserList
}},[
e
.
_v
(
"查询"
)])],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"积分类型"
}},[
i
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
i
(
"el-col"
,{
attrs
:{
span
:
20
}},[
i
(
"el-select"
,{
model
:{
value
:
e
.
newIntegral
.
is_add
,
callback
:
function
(
t
){
e
.
$set
(
e
.
newIntegral
,
"is_add"
,
t
)},
expression
:
"newIntegral.is_add"
}},
e
.
_l
(
e
.
is_addOption
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
value
,
value
:
e
.
id
}})}))],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"积分值"
}},[
i
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
i
(
"el-col"
,{
attrs
:{
span
:
20
}},[
i
(
"el-input-number"
,{
model
:{
value
:
e
.
newIntegral
.
value
,
callback
:
function
(
t
){
e
.
$set
(
e
.
newIntegral
,
"value"
,
t
)},
expression
:
"newIntegral.value"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"描述【用户可见】"
}},[
i
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
i
(
"el-col"
,{
attrs
:{
span
:
20
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
newIntegral
.
desc
,
callback
:
function
(
t
){
e
.
$set
(
e
.
newIntegral
,
"desc"
,
t
)},
expression
:
"newIntegral.desc"
}})],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
newIntegral
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onAdd
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)},
staticRenderFns
:[]};
var
o
=
i
(
"VU/8"
)(
l
,
r
,
!
1
,
function
(
e
){
i
(
"c01J"
)},
"data-v-f5ee97e6"
,
null
).
exports
,
u
=
{
name
:
"userList"
,
props
:[
"show"
],
components
:{
page
:
n
.
a
},
data
:
function
(){
return
{
userList
:[],
form
:{
userId
:
""
,
nickName
:
""
,
mobile
:
""
},
nowPage
:
1
,
limit
:
5
,
total
:
0
,
multipleSelection
:
null
}},
methods
:{
handleCurrentChange
:
function
(
e
){
e
&&
(
this
.
multipleSelection
=
e
.
user_id
)},
onAdd
:
function
(){
this
.
multipleSelection
?
this
.
$emit
(
"addUser"
,
this
.
multipleSelection
):
this
.
$message
(
"请点击选择用户"
)},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getUserList
()},
onSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
getUserList
()},
getUserList
:
function
(){
var
e
=
this
,
t
=
{
page
:
this
.
nowPage
,
limit
:
this
.
limit
};
this
.
form
.
userId
&&
(
t
.
user_id
=
this
.
form
.
userId
),
this
.
form
.
nickName
&&
(
t
.
nickname
=
this
.
form
.
nickName
),
this
.
form
.
mobile
&&
(
t
.
mobile
=
this
.
form
.
mobile
),
Object
(
s
.
_112
)(
t
).
then
(
function
(
t
){
e
.
userList
=
t
.
list
,
e
.
total
=
t
.
total
})},
initPage
:
function
(){
this
.
multipleSelection
=
null
,
this
.
form
=
{
userId
:
""
,
nickName
:
""
,
mobile
:
""
},
this
.
getUserList
()}},
watch
:{
"show.show"
:
function
(
e
){
e
&&
this
.
initPage
()}}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"el-dialog"
,{
attrs
:{
visible
:
e
.
show
.
show
,
width
:
"700px"
,
center
:
""
,
title
:
"用户列表"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
show
,
"show"
,
t
)}}},[
i
(
"el-form"
,{
attrs
:{
"label-width"
:
"40px"
,
inline
:
""
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"ID"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
form
.
userId
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"userId"
,
t
)},
expression
:
"form.userId"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"昵称"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
form
.
nickName
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"nickName"
,
t
)},
expression
:
"form.nickName"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"电话"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
form
.
mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"mobile"
,
t
)},
expression
:
"form.mobile"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,[
i
(
"el-button"
,{
staticStyle
:{
float
:
"right"
},
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
getUserList
}},[
e
.
_v
(
"搜索"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-table"
,{
ref
:
"multipleTable"
,
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
userList
,
"highlight-current-row"
:
""
},
on
:{
"current-change"
:
e
.
handleCurrentChange
}},[
i
(
"el-table-column"
,{
attrs
:{
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"img"
,{
staticStyle
:{
"margin-right"
:
"5px"
,
width
:
"50px"
,
height
:
"50px"
,
"border-radius"
:
"50px"
},
attrs
:{
src
:
t
.
row
.
avatar
}}),
e
.
_v
(
e
.
_s
(
t
.
row
.
nickname
)
+
"(ID:"
+
e
.
_s
(
t
.
row
.
user_id
)
+
")
\n
"
)]}}])}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"mobile"
,
label
:
"手机号"
}})],
1
),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
i
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
i
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
show
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
onAdd
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)},
staticRenderFns
:[]};
var
d
=
i
(
"VU/8"
)(
u
,
c
,
!
1
,
function
(
e
){
i
(
"mJrq"
)},
"data-v-4fe5a55a"
,
null
).
exports
,
m
=
{
name
:
"index"
,
components
:{
page
:
n
.
a
,
newIntegral
:
o
,
userListPage
:
d
},
data
:
function
(){
var
e
=
[];
for
(
var
t
in
a
.
j
)
e
.
push
({
id
:
t
,
value
:
a
.
j
[
t
]});
var
i
=
[];
for
(
var
s
in
a
.
i
)
i
.
push
({
id
:
s
,
value
:
a
.
i
[
s
]});
return
{
width
:
0
,
list
:[],
total
:
0
,
newIntegral
:{
show
:
!
1
,
user_id
:
""
,
is_add
:
""
,
value
:
""
,
desc
:
""
},
is_addOption
:
e
,
sourceOption
:
i
,
limit
:
10
,
userListShow
:{
show
:
!
1
},
nowPage
:
1
,
form
:{
is_add
:
"-1"
,
source
:
""
,
user_id
:
""
,
mobile
:
""
,
nickname
:
""
}}},
mounted
:
function
(){
this
.
initPage
(),
this
.
width
=
window
.
innerWidth
-
200
},
filters
:{
INTEGRALTYPE
:
function
(
e
){
return
a
.
j
[
e
]},
INTEGRALFUN
:
function
(
e
){
return
a
.
i
[
e
]}},
methods
:{
subAdd
:
function
(){
var
e
=
this
,
t
=
{
user_id
:
this
.
newIntegral
.
user_id
,
is_add
:
this
.
newIntegral
.
is_add
,
value
:
this
.
newIntegral
.
value
,
desc
:
this
.
newIntegral
.
desc
};
Object
(
s
.
B
)(
t
).
then
(
function
(
t
){
e
.
getList
(),
e
.
newIntegral
.
show
=!
1
})},
showUserList
:
function
(){
this
.
userListShow
.
show
=!
0
},
addUser
:
function
(
e
){
this
.
userListShow
.
show
=!
1
,
this
.
newIntegral
.
user_id
=
e
},
changeUserList
:
function
(){},
addIntegral
:
function
(){
this
.
newIntegral
=
{
show
:
!
0
,
user_id
:
""
,
is_add
:
""
,
value
:
""
,
desc
:
""
}},
initPage
:
function
(){
this
.
form
=
{
is_add
:
"-1"
,
source
:
""
,
user_id
:
""
,
mobile
:
""
,
nickname
:
""
},
this
.
getList
()},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getList
()},
onSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
getList
()},
getList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
"-2"
===
this
.
form
.
is_add
?
Object
(
s
.
_124
)(
t
).
then
(
function
(
t
){
e
.
list
=
t
.
list
,
e
.
total
=
t
.
total
}):(
""
!==
this
.
form
.
is_add
&&
"-1"
!==
this
.
form
.
is_add
&&
(
t
.
is_add
=
this
.
form
.
is_add
),
""
!==
this
.
form
.
source
&&
(
t
.
source
=
this
.
form
.
source
),
""
!==
this
.
form
.
user_id
&&
(
t
.
user_id
=
this
.
form
.
user_id
),
""
!==
this
.
form
.
mobile
&&
(
t
.
mobile
=
this
.
form
.
mobile
),
""
!==
this
.
form
.
nickname
&&
(
t
.
nickname
=
this
.
form
.
nickname
),
Object
(
s
.
_60
)(
t
).
then
(
function
(
t
){
e
.
list
=
t
.
list
,
e
.
total
=
t
.
total
}))}}},
f
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,{
staticClass
:
"integral-page"
},[
i
(
"el-form"
,{
ref
:
"searchFrom"
,
staticStyle
:{
"padding-top"
:
"20px"
,
background
:
"white"
},
attrs
:{
model
:
e
.
form
,
"label-width"
:
"80px"
,
inline
:
""
,
size
:
"small"
}},[
i
(
"el-form-item"
,{
attrs
:{
label
:
"昵称"
}},[
i
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
form
.
nickname
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"nickname"
,
t
)},
expression
:
"form.nickname"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"用户ID"
}},[
i
(
"el-input"
,{
staticStyle
:{
width
:
"80px"
},
model
:{
value
:
e
.
form
.
user_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"user_id"
,
t
)},
expression
:
"form.user_id"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"手机号"
}},[
i
(
"el-input"
,{
model
:{
value
:
e
.
form
.
mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"mobile"
,
t
)},
expression
:
"form.mobile"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,{
attrs
:{
label
:
"获/抵方式"
}},[
i
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
clearable
:
""
},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
form
.
source
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"source"
,
t
)},
expression
:
"form.source"
}},
e
.
_l
(
e
.
sourceOption
,
function
(
e
,
t
){
return
i
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
value
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
i
(
"el-form-item"
,[
i
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
getList
}},[
e
.
_v
(
"搜索"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
i
(
"el-button"
,{
attrs
:{
type
:
"success"
,
plain
:
""
},
on
:{
click
:
e
.
addIntegral
}},[
e
.
_v
(
"变更用户积分"
)])],
1
)],
1
),
e
.
_v
(
" "
),
i
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
getList
},
model
:{
value
:
e
.
form
.
is_add
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_add"
,
t
)},
expression
:
"form.is_add"
}},[
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"添加积分"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"减少积分"
,
name
:
"0"
}}),
e
.
_v
(
" "
),
i
(
"el-tab-pane"
,{
attrs
:{
label
:
"积分排行"
,
name
:
"-2"
}})],
1
),
e
.
_v
(
" "
),
i
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
data
:
e
.
list
,
size
:
"mini"
}},[
i
(
"el-table-column"
,{
attrs
:{
width
:
"220"
,
className
:
"f-c"
,
label
:
"用户"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
i
(
"img"
,{
staticClass
:
"avatar"
,
attrs
:{
src
:
t
.
row
.
avatar
}}),
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
nickname
)
+
"(ID:"
+
e
.
_s
(
t
.
row
.
user_id
)
+
")
\n
"
),
i
(
"br"
),
e
.
_v
(
"
\n
手机:"
+
e
.
_s
(
t
.
row
.
mobile
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
"-2"
!==
e
.
form
.
is_add
?
i
(
"el-table-column"
,{
attrs
:{
label
:
"来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"INTEGRALFUN"
)(
t
.
row
.
source
)))]}}])}):
e
.
_e
(),
e
.
_v
(
" "
),
"-2"
!==
e
.
form
.
is_add
?
i
(
"el-table-column"
,{
attrs
:{
prop
:
"desc"
,
label
:
"积分变更描述"
}}):
e
.
_e
(),
e
.
_v
(
" "
),
"-2"
!==
e
.
form
.
is_add
?
i
(
"el-table-column"
,{
attrs
:{
label
:
"变更积分值"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
1
===
t
.
row
.
is_add
?
i
(
"span"
,{
staticStyle
:{
color
:
"green"
}},[
e
.
_v
(
"+"
+
e
.
_s
(
t
.
row
.
value
))]):
e
.
_e
(),
e
.
_v
(
" "
),
0
===
t
.
row
.
is_add
?
i
(
"span"
,{
staticStyle
:{
color
:
"red"
}},[
e
.
_v
(
"-"
+
e
.
_s
(
t
.
row
.
value
))]):
e
.
_e
()]}}])}):
e
.
_e
(),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"last_value"
,
label
:
"-2"
!==
e
.
form
.
is_add
?
"变更后积分值"
:
"最新积分"
}}),
e
.
_v
(
" "
),
i
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"-2"
!==
e
.
form
.
is_add
?
"创建时间"
:
"最新变更时间"
}})],
1
),
e
.
_v
(
" "
),
i
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
i
(
"new-integral"
,{
attrs
:{
newIntegral
:
e
.
newIntegral
},
on
:{
subAdd
:
e
.
subAdd
,
showUserList
:
e
.
showUserList
}}),
e
.
_v
(
" "
),
i
(
"user-list-page"
,{
attrs
:{
show
:
e
.
userListShow
},
on
:{
addUser
:
e
.
addUser
}})],
1
)},
staticRenderFns
:[]};
var
h
=
i
(
"VU/8"
)(
m
,
f
,
!
1
,
function
(
e
){
i
(
"kmZK"
),
i
(
"9RoH"
)},
"data-v-2400e64b"
,
null
);
t
.
default
=
h
.
exports
},
c01J
:
function
(
e
,
t
){},
kmZK
:
function
(
e
,
t
){},
mJrq
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/15.85a81db8f6419820a428.js
0 → 100644
View file @
add37019
webpackJsonp
([
15
],{
"1djJ"
:
function
(
e
,
t
,
o
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
s
=
o
(
"CCn6"
),
i
=
o
(
"+TkF"
),
l
=
o
(
"kmJW"
),
r
=
o
(
"5eDb"
),
a
=
o
.
n
(
r
),
n
=
(
o
(
"o5MN"
),
o
(
"q47d"
)),
c
=
(
o
(
"NBEC"
),
o
(
"gBhd"
),
o
(
"Q/P+"
),
o
(
"f85y"
),
o
(
"q/hF"
),
o
(
"yXOt"
),
o
(
"c/6r"
),
o
(
"Rv7z"
),
o
(
"S0tB"
),
o
(
"UWKq"
),
o
(
"gvu3"
),
o
(
"XUqK"
),{
name
:
"tinymce"
,
props
:[
"lookData"
],
data
:
function
(){
return
{
radio
:[],
imageType
:
!
1
,
form
:{
imgList
:[],
big
:
!
1
,
weight
:
""
,
center
:
!
0
},
show
:
""
,
dialogVisible
:
!
1
,
init
:{
toolbar
:
"bold italic underline strikethrough | fontselect | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | "
,
language_url
:
"/static/tinymce/zh_CN.js"
,
language
:
"zh_CN"
,
skin_url
:
"/static/tinymce/skins/lightgray"
,
height
:
500
,
plugins
:
"preview textpattern colorpicker lists code colorpicker fullpage textcolor wordcount contextmenu media"
,
branding
:
!
1
}}},
activated
:
function
(){
this
.
show
=!
0
},
deactivated
:
function
(){},
mounted
:
function
(){},
methods
:{
beforeAvatarUploadImg
:
function
(
e
){
var
t
=
"image/jpeg"
===
e
.
type
||
"image/png"
===
e
.
type
;
return
t
||
this
.
$message
.
error
(
"上传头像图片只能是 JPG 或 PNG 格式!"
),
t
},
imgInter
:
function
(){
if
(
this
.
form
.
imgList
.
length
<
1
)
return
this
.
$message
({
type
:
"error"
,
message
:
"请选择图片"
}),
!
1
;
var
e
=
""
;
this
.
form
.
big
?
e
+=
"width:100%;"
:
e
+=
"width:70%"
,
this
.
form
.
center
&&
(
e
=
"display:block;margin:auto"
);
var
t
=
'<img src="'
+
this
.
form
.
imgList
[
0
].
url
+
'" style="'
+
e
+
'"/>'
;
a
.
a
.
activeEditor
.
insertContent
(
t
),
this
.
dialogVisible
=!
1
},
uploadFile
:
function
(
e
){
var
t
=
this
;
Object
(
s
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
}),
t
.
form
.
imgList
=
[{
name
:
e
.
name
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
}]})},
showDialog
:
function
(){
this
.
dialogVisible
=!
0
,
this
.
form
=
{
imgList
:[],
big
:
!
1
,
weight
:
""
,
center
:
!
0
}},
insertContent
:
function
(
e
){
if
(
e
){
var
t
=
null
;
if
(
document
.
selection
)(
t
=
document
.
selection
).
createRange
().
pasteHTML
(
e
);
else
if
((
t
=
document
.
getElementById
(
"tinymce_ifr"
).
contentWindow
.
getSelection
()).
rangeCount
>
0
){
var
o
=
t
.
getRangeAt
(
0
);
o
.
deleteContents
();
var
s
=
document
.
createElement
(
"div"
);
s
.
innerHTML
=
e
;
var
i
=
document
.
createDocumentFragment
(),
l
=
s
.
firstChild
,
r
=
i
.
appendChild
(
l
);
o
.
insertNode
(
i
);
var
a
=
o
.
cloneRange
();
a
.
setStartAfter
(
r
),
a
.
collapse
(
!
0
),
t
.
removeAllRanges
(),
t
.
addRange
(
a
)}}},
removeFile
:
function
(){},
handleExceed
:
function
(){}},
created
:
function
(){
a
.
a
.
init
({})},
components
:{
Editor
:
n
.
a
}}),
d
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,{
staticClass
:
"tinymce"
},[
o
(
"editor"
,{
attrs
:{
id
:
"tinymce"
,
init
:
e
.
init
},
model
:{
value
:
e
.
lookData
.
detail
,
callback
:
function
(
t
){
e
.
$set
(
e
.
lookData
,
"detail"
,
t
)},
expression
:
"lookData.detail"
}}),
e
.
_v
(
" "
),
o
(
"div"
,[
o
(
"div"
,{
staticClass
:
"imgInter"
,
on
:{
click
:
function
(
t
){
e
.
showDialog
()}}},[
e
.
_v
(
"插入图片"
)])]),
e
.
_v
(
" "
),
o
(
"el-dialog"
,{
attrs
:{
title
:
"插入图片"
,
visible
:
e
.
dialogVisible
,
"modal-append-to-body"
:
!
1
,
"close-on-click-modal"
:
!
1
,
center
:
""
,
"append-to-body"
:
!
0
,
width
:
"550px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
dialogVisible
=
t
}}},[
o
(
"el-form"
,{
attrs
:{
"label-width"
:
"80px"
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"图片"
}},[
o
(
"el-upload"
,{
attrs
:{
action
:
"/api/public/upload"
,
"http-request"
:
e
.
uploadFile
,
"on-remove"
:
e
.
removeFile
,
"before-upload"
:
e
.
beforeAvatarUploadImg
,
drag
:
""
,
"on-exceed"
:
e
.
handleExceed
,
multiple
:
""
,
limit
:
1
,
"file-list"
:
e
.
form
.
imgList
}},[
o
(
"i"
,{
staticClass
:
"el-icon-upload"
}),
e
.
_v
(
" "
),
o
(
"div"
,{
staticClass
:
"el-upload__text"
},[
e
.
_v
(
"将文件拖到此处,或"
),
o
(
"em"
,[
e
.
_v
(
"点击上传"
)])]),
e
.
_v
(
" "
),
o
(
"div"
,{
staticClass
:
"el-upload__tip"
,
attrs
:{
slot
:
"tip"
},
slot
:
"tip"
},[
e
.
_v
(
"只能上传png或jpg文件"
)])])],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"铺满"
}},[
o
(
"el-switch"
,{
model
:{
value
:
e
.
form
.
big
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"big"
,
t
)},
expression
:
"form.big"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"居中"
}},[
o
(
"el-switch"
,{
model
:{
value
:
e
.
form
.
center
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"center"
,
t
)},
expression
:
"form.center"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialogVisible
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
imgInter
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
u
=
o
(
"VU/8"
)(
c
,
d
,
!
1
,
function
(
e
){
o
(
"WQzf"
)},
"data-v-1d092dba"
,
null
).
exports
,
m
=
{
name
:
"tinymce1"
,
props
:[
"lookData1"
],
data
:
function
(){
return
{
radio
:[],
imageType
:
!
1
,
form
:{
imgList1
:[],
big
:
!
1
,
weight
:
""
,
center
:
!
0
},
show
:
""
,
dialogVisible1
:
!
1
,
init
:{
toolbar
:
"bold italic underline strikethrough | fontselect | fontsizeselect | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist | outdent indent blockquote | undo redo | link unlink image code | "
,
language_url
:
"/static/tinymce/zh_CN.js"
,
language
:
"zh_CN"
,
skin_url
:
"/static/tinymce/skins/lightgray"
,
height
:
500
,
plugins
:
"preview textpattern colorpicker lists code colorpicker fullpage textcolor wordcount contextmenu media"
,
branding
:
!
1
}}},
activated
:
function
(){
this
.
show
=!
0
},
deactivated
:
function
(){},
mounted
:
function
(){},
methods
:{
beforeAvatarUploadImg
:
function
(
e
){
var
t
=
"image/jpeg"
===
e
.
type
||
"image/png"
===
e
.
type
;
return
t
||
this
.
$message
.
error
(
"上传头像图片只能是 JPG 或 PNG 格式!"
),
t
},
imgInter1
:
function
(){
if
(
this
.
form
.
imgList1
.
length
<
1
)
return
this
.
$message
({
type
:
"error"
,
message
:
"请选择图片"
}),
!
1
;
var
e
=
""
;
this
.
form
.
big
?
e
+=
"width:100%;"
:
e
+=
"width:70%"
,
this
.
form
.
center
&&
(
e
=
"display:block;margin:auto"
);
var
t
=
'<img src="'
+
this
.
form
.
imgList1
[
0
].
url
+
'" style="'
+
e
+
'"/>'
;
a
.
a
.
activeEditor
.
insertContent
(
t
),
this
.
dialogVisible1
=!
1
},
uploadFile
:
function
(
e
){
var
t
=
this
;
Object
(
s
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"上传成功!"
}),
t
.
form
.
imgList1
=
[{
name
:
e
.
name
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
}]})},
showDialog1
:
function
(){
this
.
dialogVisible1
=!
0
,
this
.
form
=
{
imgList1
:[],
big
:
!
1
,
weight
:
""
,
center
:
!
0
}},
insertContent
:
function
(
e
){
if
(
e
){
var
t
=
null
;
if
(
document
.
selection
)(
t
=
document
.
selection
).
createRange
().
pasteHTML
(
e
);
else
if
((
t
=
document
.
getElementById
(
"tinymce1_ifr"
).
contentWindow
.
getSelection
()).
rangeCount
>
0
){
var
o
=
t
.
getRangeAt
(
0
);
o
.
deleteContents
();
var
s
=
document
.
createElement
(
"div"
);
s
.
innerHTML
=
e
;
var
i
=
document
.
createDocumentFragment
(),
l
=
s
.
firstChild
,
r
=
i
.
appendChild
(
l
);
o
.
insertNode
(
i
);
var
a
=
o
.
cloneRange
();
a
.
setStartAfter
(
r
),
a
.
collapse
(
!
0
),
t
.
removeAllRanges
(),
t
.
addRange
(
a
)}}},
removeFile
:
function
(){},
handleExceed
:
function
(){}},
created
:
function
(){
a
.
a
.
init
({})},
components
:{
Editor
:
n
.
a
}},
_
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,{
staticClass
:
"tinymce"
},[
o
(
"editor"
,{
attrs
:{
id
:
"tinymce1"
,
init
:
e
.
init
},
model
:{
value
:
e
.
lookData1
.
qa
,
callback
:
function
(
t
){
e
.
$set
(
e
.
lookData1
,
"qa"
,
t
)},
expression
:
"lookData1.qa"
}}),
e
.
_v
(
" "
),
o
(
"div"
,[
o
(
"div"
,{
staticClass
:
"imgInter"
,
on
:{
click
:
function
(
t
){
e
.
showDialog1
()}}},[
e
.
_v
(
"插入图片"
)])]),
e
.
_v
(
" "
),
o
(
"el-dialog"
,{
attrs
:{
title
:
"插入图片"
,
visible
:
e
.
dialogVisible1
,
"modal-append-to-body"
:
!
1
,
"close-on-click-modal"
:
!
1
,
center
:
""
,
"append-to-body"
:
!
0
,
width
:
"550px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
dialogVisible1
=
t
}}},[
o
(
"el-form"
,{
attrs
:{
"label-width"
:
"80px"
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"图片"
}},[
o
(
"el-upload"
,{
attrs
:{
action
:
"/api/public/upload"
,
"http-request"
:
e
.
uploadFile
,
"on-remove"
:
e
.
removeFile
,
"before-upload"
:
e
.
beforeAvatarUploadImg
,
drag
:
""
,
"on-exceed"
:
e
.
handleExceed
,
multiple
:
""
,
limit
:
1
,
"file-list"
:
e
.
form
.
imgList1
}},[
o
(
"i"
,{
staticClass
:
"el-icon-upload"
}),
e
.
_v
(
" "
),
o
(
"div"
,{
staticClass
:
"el-upload__text"
},[
e
.
_v
(
"将文件拖到此处,或"
),
o
(
"em"
,[
e
.
_v
(
"点击上传"
)])]),
e
.
_v
(
" "
),
o
(
"div"
,{
staticClass
:
"el-upload__tip"
,
attrs
:{
slot
:
"tip"
},
slot
:
"tip"
},[
e
.
_v
(
"只能上传png或jpg文件"
)])])],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"铺满"
}},[
o
(
"el-switch"
,{
model
:{
value
:
e
.
form
.
big
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"big"
,
t
)},
expression
:
"form.big"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"居中"
}},[
o
(
"el-switch"
,{
model
:{
value
:
e
.
form
.
center
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"center"
,
t
)},
expression
:
"form.center"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialogVisible1
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
imgInter1
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
f
=
{
name
:
"dialogObj"
,
props
:[
"dialogObj"
],
components
:{
editorDetail
:
u
,
editorKnow
:
o
(
"VU/8"
)(
m
,
_
,
!
1
,
function
(
e
){
o
(
"1rvC"
)},
"data-v-49643bc6"
,
null
).
exports
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
i
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
}},
data
:
function
(){
return
{
tiny
:{
height
:
300
},
sendObj
:{
content
:
"nihao"
},
loading
:
!
0
,
goodsYou
:[],
goodsList
:[],
form
:{
name
:
""
,
goods_type
:
1
,
goods_desc
:{
desc
:
""
,
imgLesson
:[],
img
:[],
course_title
:
""
,
time_limit
:
0
},
course_id
:
""
,
course_type
:
0
,
watch_num
:
""
,
invite_earnings
:
0
,
original_price
:
""
,
current_price
:
""
,
is_real
:
0
,
is_auth_user
:
0
,
is_auth_teacher
:
0
,
share_desc
:{
title
:
""
,
content
:
""
,
img
:[],
refImg
:[]},
desc
:{
detail
:
""
,
qa
:
""
,
customer_service
:[],
after_goods_id
:
""
,
before_goods_id
:
""
},
is_into_periods
:
"0"
},
lessonList
:[],
goOn_goods_Id
:{
after_goods_id
:
""
,
before_goods_id
:
""
},
coupongoods
:[],
false
:
!
1
}},
methods
:{
goodsChange
:
function
(){
var
e
=
this
;
if
(
4
==
this
.
form
.
goods_type
||
3
==
this
.
form
.
goods_type
){
var
t
=
{
limit
:
"999"
,
page
:
"1"
,
goods_type
:
"1,2"
,
status
:
"1"
};
Object
(
s
.
_59
)(
t
).
then
(
function
(
o
){
console
.
log
(
t
),
e
.
goodsList
=
o
.
list
})}
else
if
(
1
==
this
.
form
.
goods_type
||
2
==
this
.
form
.
goods_type
){
Object
(
s
.
_59
)({
limit
:
"999"
,
page
:
"1"
,
goods_type
:
"4"
}).
then
(
function
(
t
){
console
.
log
(
t
);
e
.
coupongoods
=
t
.
list
,
e
.
coupongoods
.
unshift
({
name
:
"不赠送"
,
id
:
"0"
,
goods_type
:
4
,
course_type
:
0
,
current_price
:
0
})})}},
sub
:
function
(){
var
e
=
this
;
if
(
console
.
log
(
this
.
form
),
this
.
form
.
share_desc
.
img
||
2
!=
this
.
form
.
goods_type
){
var
t
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
form
)
+
""
);
switch
(
console
.
log
(
this
.
form
),
3
!==
t
.
goods_type
&&
4
!==
t
.
goods_type
&&
5
!==
t
.
goods_type
||
(
t
.
course_id
=
0
,
t
.
watch_num
=
0
),
5
===
t
.
goods_type
&&
(
t
.
is_real
=
1
),
t
.
desc
.
before_goods_id
=
this
.
goOn_goods_Id
.
before_goods_id
,
this
.
goodsYou
.
length
<
1
?
t
.
desc
.
use_goods_ids
=
""
:
t
.
desc
.
use_goods_ids
=
this
.
goodsYou
.
toString
(),
t
.
desc
.
after_goods_id
=
this
.
goOn_goods_Id
.
after_goods_id
,
t
.
original_price
=
(
100
*
t
.
original_price
).
toFixed
(
0
),
t
.
current_price
=
(
100
*
t
.
current_price
).
toFixed
(
0
),
t
.
invite_earnings
=
(
100
*
t
.
invite_earnings
).
toFixed
(
0
),
t
.
goods_desc
=
JSON
.
stringify
(
t
.
goods_desc
),
t
.
desc
=
JSON
.
stringify
(
t
.
desc
),
t
.
share_desc
=
JSON
.
stringify
(
t
.
share_desc
),
this
.
dialogObj
.
type
){
case
1
:
Object
(
s
.
_14
)(
this
.
dialogObj
.
id
,
t
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"修改成功!"
}),
e
.
$emit
(
"reflash"
),
e
.
dialogObj
.
show
=!
1
});
break
;
case
0
:
console
.
log
(
t
),
Object
(
s
.
k
)(
t
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"新增成功!"
}),
e
.
$emit
(
"reflash"
),
e
.
dialogObj
.
show
=!
1
})}}
else
this
.
$message
({
type
:
"success"
,
message
:
"请上传主图!"
})},
removeFileMain
:
function
(
e
){
var
t
=
this
.
form
.
goods_desc
.
img
.
findIndex
(
function
(
t
){
return
t
.
name
===
e
.
name
});
this
.
form
.
goods_desc
.
img
.
splice
(
t
,
1
)},
uploadFileLesson
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
form
.
goods_desc
.
imgLesson
=
[{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}],
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
})})},
removeFileLesson
:
function
(){
this
.
form
.
goods_desc
.
imgLesson
=
[]},
uploadFileMain
:
function
(
e
){
var
t
=
this
;
console
.
log
(
e
),
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
form
.
goods_desc
.
img
.
push
({
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}),
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
})})},
removeFileShareRef
:
function
(){
this
.
form
.
share_desc
.
refImg
=
[]},
uploadFileMainShareRef
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}),
t
.
form
.
share_desc
.
refImg
?
t
.
form
.
share_desc
.
refImg
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}:(
t
.
form
.
share_desc
.
refImg
=
[],
t
.
form
.
share_desc
.
refImg
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
})})},
uploadFileMainShare
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}),
t
.
form
.
share_desc
.
img
?
t
.
form
.
share_desc
.
img
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}:(
t
.
form
.
share_desc
.
img
=
[],
t
.
form
.
share_desc
.
img
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
})})},
removeFileService
:
function
(){
this
.
form
.
desc
.
customer_service
=
[]},
uploadFileMainService
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}),
t
.
form
.
desc
.
customer_service
?
t
.
form
.
desc
.
customer_service
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}:(
t
.
form
.
desc
.
customer_service
=
[],
t
.
form
.
desc
.
customer_service
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
})})},
uploadFileShare
:
function
(
e
){
var
t
=
this
;
this
.
$store
.
dispatch
(
"setProgress"
,{
type
:
"new"
,
id
:
e
.
file
.
uid
}),
this
.
fileUid
=
e
.
file
.
uid
,
Object
(
s
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
t
.
$message
({
message
:
"上传成功"
,
type
:
"success"
}),
t
.
form
.
share_desc
.
img
?
t
.
form
.
share_desc
.
img
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
}:(
t
.
form
.
share_desc
.
img
=
[],
t
.
form
.
share_desc
.
img
[
0
]
=
{
name
:
e
.
url
,
url
:
"https://cdn.singsingenglish.com/"
+
e
.
url
,
title
:
""
,
lable
:
""
})})},
initDialog
:
function
(){
var
e
=
this
;
switch
(
this
.
dialogObj
.
type
){
case
0
:
if
(
this
.
loading
=!
1
,
this
.
goOn_goods_Id
.
after_goods_id
=
""
,
this
.
goodsYou
=
[],
this
.
goOn_goods_Id
.
before_goods_id
=
""
,
this
.
form
=
{
name
:
""
,
goods_type
:
1
,
goods_desc
:{
desc
:
""
,
img
:[],
course_title
:
""
},
course_id
:
""
,
course_type
:
0
,
watch_num
:
""
,
duration_num
:
0
,
original_price
:
""
,
current_price
:
""
,
is_real
:
0
,
is_auth_user
:
0
,
is_auth_teacher
:
0
,
share_desc
:{
title
:
""
,
content
:
""
,
refImg
:[],
img
:[]},
desc
:{
detail
:
""
,
qa
:
""
,
customer_service
:[],
before_goods_id
:
0
,
after_goods_id
:
0
},
is_into_periods
:
"0"
},
this
.
getLessonList
(),
console
.
log
(
this
.
form
.
course_type
),
1
==
this
.
form
.
goods_type
||
2
==
this
.
form
.
goods_type
){
Object
(
s
.
_59
)({
limit
:
200
,
nowPage
:
1
,
goods_type
:
"4"
}).
then
(
function
(
t
){
e
.
coupongoods
=
t
.
list
,
e
.
coupongoods
.
unshift
({
name
:
"不赠送"
,
id
:
"0"
,
goods_type
:
4
,
course_type
:
0
,
current_price
:
0
})})}
break
;
case
1
:
case
2
:
this
.
goOn_goods_Id
.
after_goods_id
=
""
,
this
.
goOn_goods_Id
.
before_goods_id
=
""
,
this
.
goodsYou
=
[],
this
.
form
=
{
name
:
""
,
goods_type
:
1
,
goods_desc
:{
desc
:
""
,
img
:[],
course_title
:
""
},
course_id
:
""
,
course_type
:
0
,
watch_num
:
""
,
duration_num
:
0
,
original_price
:
""
,
current_price
:
""
,
is_real
:
0
,
is_auth_user
:
0
,
is_auth_teacher
:
0
,
share_desc
:{
title
:
""
,
content
:
""
,
refImg
:[],
img
:[]},
desc
:{
detail
:
""
,
qa
:
""
,
customer_service
:[],
before_goods_id
:
0
,
after_goods_id
:
0
},
is_into_periods
:
"0"
},
Object
(
s
.
_58
)(
this
.
dialogObj
.
id
).
then
(
function
(
t
){
e
.
loading
=!
1
;
var
o
=
JSON
.
parse
(
t
.
share_desc
);
if
(
o
.
refImg
||
(
o
.
refImg
=
[]),
e
.
form
=
{
name
:
t
.
name
,
goods_type
:
t
.
goods_type
,
goods_desc
:
JSON
.
parse
(
t
.
goods_desc
),
course_id
:
t
.
course_id
,
course_type
:
t
.
course_type
,
watch_num
:
t
.
watch_num
,
duration_num
:
t
.
duration_num
,
original_price
:
t
.
original_price
/
100
,
current_price
:
t
.
current_price
/
100
,
is_real
:
t
.
is_real
,
is_auth_user
:
t
.
is_auth_user
,
share_desc
:
JSON
.
parse
(
t
.
share_desc
),
desc
:
JSON
.
parse
(
t
.
desc
),
invite_earnings
:
t
.
invite_earnings
/
100
,
is_auth_teacher
:
t
.
is_auth_teacher
,
is_into_periods
:
t
.
is_into_periods
},
e
.
form
.
desc
.
before_goods_id
&&
(
e
.
goOn_goods_Id
.
before_goods_id
=
e
.
form
.
desc
.
before_goods_id
),
e
.
form
.
desc
.
after_goods_id
&&
(
e
.
goOn_goods_Id
.
after_goods_id
=
e
.
form
.
desc
.
after_goods_id
),
e
.
form
.
desc
.
use_goods_ids
&&
(
e
.
goodsYou
=
e
.
form
.
desc
.
use_goods_ids
.
split
(
","
),
e
.
goodsYou
=
e
.
goodsYou
.
map
(
function
(
e
){
return
+
e
})),
console
.
log
(
e
.
form
),
1
!=
e
.
form
.
course_type
&&
2
!=
e
.
form
.
course_type
&&
Object
(
s
.
_59
)({
limit
:
200
}).
then
(
function
(
t
){
e
.
goodsList
=
t
.
list
}),
console
.
log
(
e
.
form
.
course_type
),
4
==
e
.
form
.
goods_type
){
e
.
getLessonList
();
Object
(
s
.
_59
)({
limit
:
200
,
nowPage
:
1
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
e
.
goodsList
=
t
.
list
})}
if
(
1
==
e
.
form
.
goods_type
||
2
==
e
.
form
.
goods_type
){
Object
(
s
.
_59
)({
limit
:
200
,
nowPage
:
1
,
goods_type
:
"4"
}).
then
(
function
(
t
){
e
.
coupongoods
=
t
.
list
,
e
.
coupongoods
.
unshift
({
name
:
"不赠送"
,
id
:
"0"
,
goods_type
:
4
,
course_type
:
0
,
current_price
:
0
})})}});
break
;
case
3
:
if
(
this
.
title
=
"编辑"
,
this
.
show
=
this
.
dialogObj
.
show
,
this
.
id
=
this
.
dialogObj
.
id
,
this
.
type
=
2
,
1
==
this
.
form
.
goods_type
||
2
==
this
.
form
.
goods_type
){
this
.
getLessonList
();
Object
(
s
.
_59
)({
limit
:
200
,
nowPage
:
1
,
goods_type
:
"4"
}).
then
(
function
(
t
){
e
.
coupongoods
=
t
.
list
})}}},
changeLessonType
:
function
(){
this
.
getLessonList
()},
getLessonList
:
function
(){
var
e
=
this
;
Object
(
s
.
_62
)({
type
:
this
.
form
.
course_type
}).
then
(
function
(
t
){
e
.
lessonList
=
t
.
list
})}},
watch
:{
dialogObj
:{
handler
:
function
(){
this
.
dialogObj
.
show
&&
(
console
.
log
(
this
.
dialogObj
),
this
.
loading
=!
0
,
this
.
initDialog
())},
deep
:
!
0
},
"dialogObj.show"
:
function
(
e
){},
show
:
function
(
e
){
this
.
$emit
(
"changeShow"
,
e
)}}},
g
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"el-dialog"
,{
attrs
:{
title
:
e
.
dialogObj
.
title
,
center
:
""
,
visible
:
e
.
dialogObj
.
show
,
"close-on-click-modal"
:
!
1
,
width
:
"900px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
dialogObj
,
"show"
,
t
)}}},[
o
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
e
.
loading
,
expression
:
"loading"
}]},[
o
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
e
.
form
,
"label-width"
:
"120px"
,
disabled
:
2
===
e
.
dialogObj
.
type
}},[
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
,
required
:
""
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"name"
,
t
)},
expression
:
"form.name"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品描述"
,
required
:
""
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
goods_desc
.
desc
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
goods_desc
,
"desc"
,
t
)},
expression
:
"form.goods_desc.desc"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品类型"
,
required
:
""
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
on
:{
change
:
e
.
goodsChange
},
model
:{
value
:
e
.
form
.
goods_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"goods_type"
,
t
)},
expression
:
"form.goods_type"
}},[
o
(
"el-option"
,{
attrs
:{
label
:
"普通商品"
,
value
:
1
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"团购商品"
,
value
:
2
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"续课商品"
,
value
:
3
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"优惠券商品"
,
value
:
4
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"实物商品"
,
value
:
5
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"广告语"
,
required
:
""
}},[
o
(
"el-input"
,{
attrs
:{
placeholder
:
"不超过8个字"
},
model
:{
value
:
e
.
form
.
goods_desc
.
tips
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
goods_desc
,
"tips"
,
t
)},
expression
:
"form.goods_desc.tips"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-row"
,[
4
===
e
.
form
.
goods_type
?
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程类型"
,
required
:
""
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
form
.
course_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"course_type"
,
t
)},
expression
:
"form.course_type"
}},[
o
(
"el-option"
,{
attrs
:{
label
:
"日课"
,
value
:
1
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"月课"
,
value
:
0
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
4
===
e
.
form
.
goods_type
?
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"可用商品"
,
required
:
""
}},[
o
(
"el-select"
,{
attrs
:{
multiple
:
""
,
placeholder
:
"全部"
},
model
:{
value
:
e
.
goodsYou
,
callback
:
function
(
t
){
e
.
goodsYou
=
t
},
expression
:
"goodsYou"
}},
e
.
_l
(
e
.
goodsList
,
function
(
t
){
return
t
.
course_type
===
e
.
form
.
course_type
?
o
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}}):
e
.
_e
()}))],
1
)],
1
):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
3
===
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"续课已购商品"
,
required
:
""
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
goOn_goods_Id
.
before_goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
goOn_goods_Id
,
"before_goods_id"
,
t
)},
expression
:
"goOn_goods_Id.before_goods_id"
}},
e
.
_l
(
e
.
goodsList
,
function
(
t
){
return
o
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"续购商品"
,
required
:
""
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
goOn_goods_Id
.
after_goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
goOn_goods_Id
,
"after_goods_id"
,
t
)},
expression
:
"goOn_goods_Id.after_goods_id"
}},
e
.
_l
(
e
.
goodsList
,
function
(
t
){
return
o
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
&&
4
!==
e
.
form
.
goods_type
&&
5
!==
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程类型"
,
required
:
""
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
on
:{
change
:
function
(
t
){
e
.
changeLessonType
()}},
model
:{
value
:
e
.
form
.
course_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"course_type"
,
t
)},
expression
:
"form.course_type"
}},[
o
(
"el-option"
,{
attrs
:{
label
:
"日课"
,
value
:
1
}}),
e
.
_v
(
" "
),
o
(
"el-option"
,{
attrs
:{
label
:
"月课"
,
value
:
0
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程"
,
required
:
""
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
form
.
course_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"course_id"
,
t
)},
expression
:
"form.course_id"
}},
e
.
_l
(
e
.
lessonList
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
&&
4
!==
e
.
form
.
goods_type
&&
5
!==
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
"label-width"
:
"120"
,
label
:
"观看时长(节)"
,
required
:
""
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"课时数"
},
model
:{
value
:
e
.
form
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"watch_num"
,
t
)},
expression
:
"form.watch_num"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
"label-width"
:
"120"
,
label
:
"续看时长(天)"
,
required
:
""
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"看课天数"
},
model
:{
value
:
e
.
form
.
duration_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"duration_num"
,
t
)},
expression
:
"form.duration_num"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
==
e
.
form
.
goods_type
||
2
==
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
"label-width"
:
"120"
,
label
:
"课程标题(客户端展示)"
,
required
:
""
}},[
o
(
"el-input"
,{
staticStyle
:{
width
:
"200px"
},
model
:{
value
:
e
.
form
.
goods_desc
.
course_title
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
goods_desc
,
"course_title"
,
t
)},
expression
:
"form.goods_desc.course_title"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"是否进入期数"
,
"label-width"
:
"160"
,
required
:
""
}},[
o
(
"el-switch"
,{
attrs
:{
"active-value"
:
1
,
"inactive-value"
:
0
},
model
:{
value
:
e
.
form
.
is_into_periods
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_into_periods"
,
t
)},
expression
:
"form.is_into_periods"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
4
==
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"领取到期时间(小时)"
,
"label-width"
:
"160px"
}},[
o
(
"el-input-number"
,{
model
:{
value
:
e
.
form
.
goods_desc
.
time_limit
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
goods_desc
,
"time_limit"
,
t
)},
expression
:
"form.goods_desc.time_limit"
}})],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
==
e
.
form
.
goods_type
||
2
==
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"是否赠送优惠券"
,
"label-width"
:
"160px"
}},[
o
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
form
.
goods_desc
.
coupon_goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
goods_desc
,
"coupon_goods_id"
,
t
)},
expression
:
"form.goods_desc.coupon_goods_id"
}},
e
.
_l
(
e
.
coupongoods
,
function
(
t
){
return
o
(
"el-option"
,{
key
:
t
.
id
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
&&
4
!==
e
.
form
.
goods_type
&&
5
!==
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程封面(670*472)"
,
required
:
""
}},[
o
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
"http-request"
:
e
.
uploadFileLesson
,
"on-remove"
:
e
.
removeFileLesson
,
limit
:
1
,
"file-list"
:
e
.
form
.
goods_desc
.
imgLesson
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"主图(750*600)"
,
required
:
""
}},[
o
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
"http-request"
:
e
.
uploadFileMain
,
"on-remove"
:
e
.
removeFileMain
,
"file-list"
:
e
.
form
.
goods_desc
.
img
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"客服(200*200)"
}},[
o
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
class
:
e
.
form
.
desc
.
customer_service
&&
e
.
form
.
desc
.
customer_service
.
length
>
0
?
"uploadService"
:
""
,
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
limit
:
1
,
"http-request"
:
e
.
uploadFileMainService
,
"on-remove"
:
e
.
removeFileService
,
"file-list"
:
e
.
form
.
desc
.
customer_service
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
),
e
.
_v
(
" "
),
1
===
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"推荐奖金(元)"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"推荐奖金"
},
model
:{
value
:
e
.
form
.
invite_earnings
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"invite_earnings"
,
t
)},
expression
:
"form.invite_earnings"
}})],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
e
.
form
.
goods_type
||
2
===
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"是否配置实物"
}},[
o
(
"el-switch"
,{
attrs
:{
"active-value"
:
1
,
"inactive-value"
:
0
},
model
:{
value
:
e
.
form
.
is_real
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_real"
,
t
)},
expression
:
"form.is_real"
}}),
e
.
_v
(
" "
),
o
(
"span"
,{
staticStyle
:{
"font-size"
:
"12px"
}},[
e
.
_v
(
"打开后提示用户填写具体住址"
)])],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"是否允许用户推广"
,
"label-width"
:
"200"
}},[
o
(
"el-switch"
,{
attrs
:{
"active-value"
:
1
,
"inactive-value"
:
0
},
model
:{
value
:
e
.
form
.
is_auth_user
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_auth_user"
,
t
)},
expression
:
"form.is_auth_user"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"是否允许老师推广"
,
"label-width"
:
"200"
}},[
o
(
"el-switch"
,{
attrs
:{
"active-value"
:
1
,
"inactive-value"
:
0
},
model
:{
value
:
e
.
form
.
is_auth_teacher
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"is_auth_teacher"
,
t
)},
expression
:
"form.is_auth_teacher"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
1
===
e
.
form
.
goods_type
||
3
===
e
.
form
.
goods_type
||
5
===
e
.
form
.
goods_type
?
"原价(元)"
:
4
===
e
.
form
.
goods_type
?
"抵扣价格(元)"
:
"单买价格(元)"
,
required
:
""
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"原价"
},
model
:{
value
:
e
.
form
.
original_price
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"original_price"
,
t
)},
expression
:
"form.original_price"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
1
===
e
.
form
.
goods_type
||
3
===
e
.
form
.
goods_type
||
5
===
e
.
form
.
goods_type
?
"现价(元)"
:
4
===
e
.
form
.
goods_type
?
"购买价格(元)"
:
"拼团价格(元)"
,
required
:
""
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"现价"
},
model
:{
value
:
e
.
form
.
current_price
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"current_price"
,
t
)},
expression
:
"form.current_price"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
2
===
e
.
form
.
goods_type
?
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"成团人数(人)"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"成团人数"
},
model
:{
value
:
e
.
form
.
desc
.
group_number
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
desc
,
"group_number"
,
t
)},
expression
:
"form.desc.group_number"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"团购失效时间(小时)"
,
"label-width"
:
"136px"
}},[
o
(
"el-input-number"
,{
attrs
:{
label
:
"团购失效时间"
},
model
:{
value
:
e
.
form
.
desc
.
group_continue
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
desc
,
"group_continue"
,
t
)},
expression
:
"form.desc.group_continue"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
||
5
!==
e
.
form
.
goods_type
?
o
(
"el-row"
,{
attrs
:{
required
:
""
}},[
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"分享标题"
,
required
:
""
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
share_desc
.
title
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
share_desc
,
"title"
,
t
)},
expression
:
"form.share_desc.title"
}})],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-col"
,{
attrs
:{
span
:
12
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"分享内容"
,
required
:
""
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
form
.
share_desc
.
content
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
.
share_desc
,
"content"
,
t
)},
expression
:
"form.share_desc.content"
}})],
1
)],
1
)],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
||
5
!==
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"分享主图(300*300)"
,
required
:
""
}},[
o
(
"el-upload"
,{
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
limit
:
1
,
"file-list"
:
e
.
form
.
share_desc
.
img
,
"http-request"
:
e
.
uploadFileMainShare
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
3
!==
e
.
form
.
goods_type
||
5
!==
e
.
form
.
goods_type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"分享海报"
,
required
:
""
}},[
o
(
"el-upload"
,{
attrs
:{
"list-type"
:
"picture-card"
,
action
:
"/api/public/upload"
,
limit
:
1
,
"file-list"
:
e
.
form
.
share_desc
.
refImg
,
"http-request"
:
e
.
uploadFileMainShareRef
}},[
o
(
"i"
,{
staticClass
:
"el-icon-plus"
})])],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
24
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品详情"
,
required
:
""
}},[
o
(
"editor-detail"
,{
attrs
:{
lookData
:
e
.
form
.
desc
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
o
(
"el-row"
,[
o
(
"el-col"
,{
attrs
:{
span
:
24
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"购买须知"
,
required
:
""
}},[
o
(
"editor-know"
,{
attrs
:{
lookData1
:
e
.
form
.
desc
}})],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
2
!==
e
.
dialogObj
.
type
?
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
dialogObj
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
sub
}},[
e
.
_v
(
"确 定"
)])],
1
):
e
.
_e
()],
1
)])},
staticRenderFns
:[]};
var
p
=
o
(
"VU/8"
)(
f
,
g
,
!
1
,
function
(
e
){
o
(
"gq0Q"
)},
"data-v-4d79372a"
,
null
).
exports
,
h
=
{
name
:
"index"
,
data
:
function
(){
return
{
searchFrom
:{
name
:
""
,
goods_type
:
"-1"
,
status
:
"1"
,
course_id
:
""
,
course_type
:
""
,
goods_id
:
""
},
classType
:[{
course_type
:
0
,
value
:
"月课"
},{
course_type
:
1
,
value
:
"日课"
}],
goodList
:[],
total
:
0
,
nowPage
:
1
,
limit
:
10
,
chooseDialog
:{
show
:
!
1
,
title
:
""
,
id
:
""
,
form
:{
value
:
""
,
list
:[]},
type
:
0
},
dialogObj
:{
type
:
0
,
show
:
!
1
,
title
:
""
,
id
:
""
},
classList
:[]}},
components
:{
page
:
l
.
a
,
dialogCom
:
p
},
filters
:{
isOrNot
:
function
(
e
){
return
i
.
o
[
e
]},
goodsType
:
function
(
e
){
return
i
.
h
[
e
]},
lessonType
:
function
(
e
){
return
i
.
p
[
e
]},
goodsStatus
:
function
(
e
){
return
i
.
g
[
e
]},
goodsDesc
:
function
(
e
){
return
JSON
.
parse
(
e
).
desc
}},
mounted
:
function
(){
this
.
getGoods
(),
this
.
getClassList
()},
methods
:{
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getGoods
()},
onSizeChange
:
function
(
e
){
this
.
limit
=
e
,
this
.
nowPage
=
1
,
this
.
getGoods
()},
copyShop
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将复制该商品?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
F
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"复制成功!"
})}),
t
.
getGoods
()})},
copyUrl
:
function
(
e
){
var
t
=
"https://wechat.changchangenglish.com/#/buyDetail?shopId="
+
e
,
o
=
document
.
createElement
(
"input"
);
o
.
value
=
t
,
document
.
body
.
appendChild
(
o
),
o
.
select
(),
document
.
execCommand
(
"Copy"
),
this
.
$message
({
message
:
"已成功复制到剪切板"
,
type
:
"success"
}),
o
.
remove
()},
dialogSub
:
function
(){
var
e
=
this
;
switch
(
this
.
chooseDialog
.
type
){
case
0
:
Object
(
s
.
y
)(
this
.
chooseDialog
.
id
,
this
.
chooseDialog
.
form
.
value
).
then
(
function
(
t
){
e
.
$message
({
message
:
"绑定成功"
,
type
:
"success"
}),
e
.
chooseDialog
.
show
=!
1
}),
this
.
getGoods
();
break
;
case
1
:
var
t
=
{
conflict_goods_ids
:
this
.
chooseDialog
.
form
.
list
.
toString
()};
Object
(
s
.
E
)(
this
.
chooseDialog
.
id
,
t
).
then
(
function
(
t
){
e
.
$message
({
message
:
"设置成功"
,
type
:
"success"
}),
e
.
chooseDialog
.
show
=!
1
,
e
.
getGoods
()})}},
getGoods
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
name
&&
(
t
.
name
=
this
.
searchFrom
.
name
),
this
.
searchFrom
.
goods_type
&&
"-1"
!=
this
.
searchFrom
.
goods_type
&&
(
t
.
goods_type
=
this
.
searchFrom
.
goods_type
),
this
.
searchFrom
.
course_id
&&
(
t
.
course_id
=
this
.
searchFrom
.
course_id
),
this
.
searchFrom
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
status
&&
"-1"
!==
this
.
searchFrom
.
status
&&
(
t
.
status
=
this
.
searchFrom
.
status
),
this
.
searchFrom
.
current_price
&&
(
t
.
current_price
=
100
*
this
.
searchFrom
.
current_price
),
this
.
searchFrom
.
course_type
&&
(
t
.
course_type
=
this
.
searchFrom
.
course_type
),
Object
(
s
.
_59
)(
t
).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
""
===
e
.
conflict_goods_ids
?
e
.
conflict_goods_ids
=
[]:
e
.
conflict_goods_ids
=
e
.
conflict_goods_ids
.
split
(
","
)}),
e
.
goodList
=
t
.
list
,
e
.
total
=
t
.
total
})},
edit
:
function
(
e
){
this
.
dialogObj
=
{
type
:
1
,
title
:
"编辑商品"
,
show
:
!
0
,
id
:
e
.
id
}},
add
:
function
(){
this
.
dialogObj
=
{
type
:
0
,
title
:
"添加商品"
,
show
:
!
0
}},
detail
:
function
(
e
){
this
.
dialogObj
.
id
=
e
.
id
,
this
.
dialogObj
.
type
=
2
,
this
.
dialogObj
.
title
=
"查看商品"
,
this
.
dialogObj
.
show
=!
0
},
onDel
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将删除该商品?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
Z
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"删除成功!"
})}),
t
.
getGoods
()})},
onUp
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将上架该商品?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
_158
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"操作成功!"
}),
t
.
getGoods
()})})},
onDown
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"此操作将下架该商品?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
s
.
_2
)(
e
.
id
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"操作成功!"
}),
t
.
getGoods
()})})},
changeShow
:
function
(
e
){
this
.
dialogObj
.
show
=
e
},
bindOther
:
function
(
e
){
this
.
chooseDialog
=
{
show
:
!
0
,
title
:
"绑定商品"
,
id
:
e
.
id
,
form
:{
value
:
e
.
bind_goods_id
,
list
:[]},
type
:
0
}},
conflict
:
function
(
e
){
this
.
chooseDialog
=
{
show
:
!
0
,
title
:
"冲突商品"
,
id
:
e
.
id
,
form
:{
value
:
""
,
list
:
e
.
conflict_goods_ids
},
type
:
1
}},
getClassList
:
function
(){
var
e
=
this
;
Object
(
s
.
_62
)({
limit
:
200
,
page
:
1
}).
then
(
function
(
t
){
e
.
classList
=
t
.
list
})},
addComment
:
function
(
e
){
var
t
=
this
,
o
=
JSON
.
parse
(
e
.
desc
)
||
{};
this
.
$prompt
(
""
,
"编辑备注"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
inputType
:
"textarea"
,
inputValue
:
o
.
desc
||
""
}).
then
(
function
(
o
){
var
i
=
o
.
value
;
Object
(
s
.
_15
)(
e
.
id
,{
desc
:
i
}).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"编辑备注成功"
}),
t
.
getGoods
()})})},
updateGoodsNumber
:
function
(
e
){
var
t
=
this
;
this
.
$prompt
(
""
,
"修改商品购买数量"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
inputType
:
"number"
,
inputValue
:
e
.
buy_nums
||
0
}).
then
(
function
(
o
){
var
i
=
o
.
value
;
Object
(
s
.
_165
)(
e
.
id
,{
buy_nums
:
parseInt
(
i
)}).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"修改商品购买数量成功"
}),
t
.
getGoods
()})})}}},
b
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
o
=
e
.
_self
.
_c
||
t
;
return
o
(
"div"
,{
staticClass
:
"user"
},[
o
(
"el-form"
,{
ref
:
"searchFrom"
,
staticClass
:
"search-form"
,
attrs
:{
size
:
"small"
,
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"name"
,
t
)},
expression
:
"searchFrom.name"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品编号"
}},[
o
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_id"
,
t
)},
expression
:
"searchFrom.goods_id"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程"
}},[
o
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
getGoods
},
model
:{
value
:
e
.
searchFrom
.
course_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"course_id"
,
t
)},
expression
:
"searchFrom.course_id"
}},[
o
(
"el-option"
,{
attrs
:{
value
:
""
,
label
:
"请选择"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
classList
,
function
(
e
,
t
){
return
o
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"课程类别"
}},[
o
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getGoods
},
model
:{
value
:
e
.
searchFrom
.
course_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"course_type"
,
t
)},
expression
:
"searchFrom.course_type"
}},
e
.
_l
(
e
.
classType
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
course_type
,
attrs
:{
label
:
e
.
value
,
value
:
e
.
course_type
}})}))],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,{
attrs
:{
label
:
"商品现价/团购价"
,
"label-width"
:
"120px"
}},[
o
(
"el-input-number"
,{
model
:{
value
:
e
.
searchFrom
.
current_price
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"current_price"
,
t
)},
expression
:
"searchFrom.current_price"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-form-item"
,[
o
(
"div"
,{
staticClass
:
"search-btn-block"
},[
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
,
icon
:
"el-icon-search"
},
on
:{
click
:
e
.
getGoods
}},[
e
.
_v
(
"搜索"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
o
(
"el-button"
,{
attrs
:{
type
:
"success"
,
plain
:
""
},
on
:{
click
:
e
.
add
}},[
e
.
_v
(
"添加商品"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
o
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
getGoods
},
model
:{
value
:
e
.
searchFrom
.
goods_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_type"
,
t
)},
expression
:
"searchFrom.goods_type"
}},[
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"所有商品"
,
name
:
"-1"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"普通商品"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"团购商品"
,
name
:
"2"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"续课商品"
,
name
:
"3"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"优惠券商品"
,
name
:
"4"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"实物商品"
,
name
:
"5"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
getGoods
},
model
:{
value
:
e
.
searchFrom
.
status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"status"
,
t
)},
expression
:
"searchFrom.status"
}},[
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"上架"
,
name
:
"1"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"编辑中"
,
name
:
"0"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"下架"
,
name
:
"2"
}}),
e
.
_v
(
" "
),
o
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}})],
1
),
e
.
_v
(
" "
),
o
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
size
:
"small"
,
data
:
e
.
goodList
,
fixed
:
""
}},[
o
(
"el-table-column"
,{
attrs
:{
prop
:
"id"
,
label
:
"商品编号"
,
width
:
"80"
}}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"name"
,
label
:
"名称"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"router-link"
,{
attrs
:{
to
:{
name
:
"periods"
,
query
:{
goods_id
:
t
.
row
.
id
}}}},[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
name
)
+
"
\n
"
)])]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"商品类型"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsType"
)(
t
.
row
.
goods_type
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"商品原价/直购价"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
original_price
/
100
)
+
"元
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"商品现价/团购价"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
current_price
/
100
)
+
"元
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"course_title"
,
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
(
"lessonType"
)(
t
.
row
.
course_type
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"是否有实物"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"isOrNot"
)(
t
.
row
.
is_real
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
prop
:
"buy_nums"
,
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
(
"goodsStatus"
)(
t
.
row
.
status
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
label
:
"备注"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"goodsDesc"
)(
t
.
row
.
desc
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
o
(
"el-table-column"
,{
attrs
:{
fixed
:
"right"
,
width
:
"60"
,
label
:
"操作"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
o
(
"el-popover"
,{
attrs
:{
placement
:
"top"
,
width
:
"800"
}},[
o
(
"div"
,{
staticStyle
:{
"text-align"
:
"center"
}},[
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
detail
(
t
.
row
)}}},[
e
.
_v
(
"
\n
查看详情
\n
"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
copyUrl
(
t
.
row
.
id
)}}},[
e
.
_v
(
"
\n
复制链接
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():[
2
===
t
.
row
.
status
||
0
===
t
.
row
.
status
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
onUp
(
t
.
row
)}}},[
e
.
_v
(
"
\n
上架
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
t
.
row
.
status
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
onDown
(
t
.
row
)}}},[
e
.
_v
(
"
\n
下架
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"warning"
},
on
:{
click
:
function
(
o
){
e
.
edit
(
t
.
row
)}}},[
e
.
_v
(
"
\n
编辑
\n
"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"success"
},
on
:{
click
:
function
(
o
){
e
.
copyShop
(
t
.
row
)}}},[
e
.
_v
(
"
\n
复制商品
\n
"
)]),
e
.
_v
(
" "
),
2
===
t
.
row
.
status
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
bindOther
(
t
.
row
)}}},[
e
.
_v
(
"
\n
绑定商品
\n
"
)]):
e
.
_e
(),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
},
on
:{
click
:
function
(
o
){
e
.
conflict
(
t
.
row
)}}},[
e
.
_v
(
"
\n
冲突商品
\n
"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"success"
},
on
:{
click
:
function
(
o
){
e
.
addComment
(
t
.
row
)}}},[
e
.
_v
(
"
\n
编辑备注
\n
"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
o
){
e
.
updateGoodsNumber
(
t
.
row
)}}},[
e
.
_v
(
"
\n
修改购买数量
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
deletePermission
?
o
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"danger"
},
on
:{
click
:
function
(
o
){
e
.
onDel
(
t
.
row
)}}},[
e
.
_v
(
"
\n
删除
\n
"
)]):
e
.
_e
()]],
2
),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
slot
:
"reference"
,
size
:
"mini"
,
type
:
"text"
},
slot
:
"reference"
},[
e
.
_v
(
"操作"
)])],
1
)]}}])})],
1
),
e
.
_v
(
" "
),
o
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
o
(
"dialog-com"
,{
attrs
:{
dialogObj
:
e
.
dialogObj
},
on
:{
changeShow
:
e
.
changeShow
,
reflash
:
e
.
getGoods
}}),
e
.
_v
(
" "
),
o
(
"el-dialog"
,{
attrs
:{
title
:
e
.
chooseDialog
.
title
,
visible
:
e
.
chooseDialog
.
show
,
width
:
"30%"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
chooseDialog
,
"show"
,
t
)}}},[
o
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
"label-width"
:
"80px"
}},[
0
===
e
.
chooseDialog
.
type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"绑定商品"
}},[
o
(
"el-select"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
placeholder
:
"请选择"
},
model
:{
value
:
e
.
chooseDialog
.
form
.
value
,
callback
:
function
(
t
){
e
.
$set
(
e
.
chooseDialog
.
form
,
"value"
,
t
)},
expression
:
"chooseDialog.form.value"
}},
e
.
_l
(
e
.
goodList
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
"【"
+
e
.
id
+
"】"
+
e
.
name
,
value
:
e
.
id
}})}))],
1
):
e
.
_e
(),
e
.
_v
(
" "
),
1
===
e
.
chooseDialog
.
type
?
o
(
"el-form-item"
,{
attrs
:{
label
:
"冲突商品"
}},[
o
(
"el-select"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
},
model
:{
value
:
e
.
chooseDialog
.
form
.
list
,
callback
:
function
(
t
){
e
.
$set
(
e
.
chooseDialog
.
form
,
"list"
,
t
)},
expression
:
"chooseDialog.form.list"
}},
e
.
_l
(
e
.
goodList
,
function
(
e
){
return
o
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
"【"
+
e
.
id
+
"】"
+
e
.
name
,
value
:
e
.
id
.
toString
()}})}))],
1
):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
o
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
o
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
chooseDialog
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
o
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
function
(
t
){
e
.
dialogSub
()}}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
v
=
o
(
"VU/8"
)(
h
,
b
,
!
1
,
function
(
e
){
o
(
"7QMb"
)},
"data-v-30dbfe6e"
,
null
);
t
.
default
=
v
.
exports
},
"1rvC"
:
function
(
e
,
t
){},
"7QMb"
:
function
(
e
,
t
){},
WQzf
:
function
(
e
,
t
){},
gq0Q
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/16.97ac779edc0504eb6fb2.js
0 → 100644
View file @
add37019
webpackJsonp
([
16
],{
"5eSO"
:
function
(
e
,
t
){},
"69L+"
:
function
(
e
,
t
,
r
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
=
r
(
"kmJW"
),
s
=
r
(
"NC6I"
),
i
=
r
.
n
(
s
),
o
=
r
(
"zA5m"
),
l
=
r
(
"G2rA"
),
n
=
r
(
"CCn6"
),
c
=
r
(
"+TkF"
),
d
=
{
name
:
"smsRecord"
,
components
:{
page
:
a
.
a
,
refundDialog
:
o
.
a
,
refundDetail
:
l
.
a
},
data
:
function
(){
var
e
=
this
;
return
{
adressDialog
:
!
1
,
postOtherOrderDialog
:
!
1
,
postOtherOrderData
:{},
classSource
:[{
label
:
"系统订单随机"
,
value
:
2
},{
label
:
"渠道1订单随机"
,
value
:
3
},{
label
:
"渠道2订单随机"
,
value
:
4
}],
adressData
:{},
USERSTATUS
:
c
.
x
,
today
:{
text
:
"今天"
,
onClick
:
function
(
t
){
t
.
$emit
(
"pick"
,[
e
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
])}},
yesterday
:{
text
:
"昨天"
,
onClick
:
function
(
t
){
var
r
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
$emit
(
"pick"
,[
r
+
" 00:00:00"
,
r
+
" 23:59:59"
])}},
last30Day
:{
text
:
"过去30天"
,
onClick
:
function
(
t
){
var
r
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
$emit
(
"pick"
,[
r
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
])}},
last7Day
:{
text
:
"过去7天"
,
onClick
:
function
(
t
){
var
r
=
e
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
$emit
(
"pick"
,[
r
+
" 00:00:00"
,
e
.
formatTime
(
new
Date
)
+
" 23:59:59"
])}},
uploadHeader
:{
token
:
localStorage
.
getItem
(
"cc_token"
)},
param_token
:
i
()(
JSON
.
stringify
({
sing
:
"singsingenglish21000"
})),
nowPage
:
1
,
total
:
0
,
limit
:
10
,
useTypeList
:[{
user_buy
:
0
,
value
:
"未绑定"
},{
user_buy
:
1
,
value
:
"已绑定"
}],
searchFrom
:{
goods_id
:
""
,
mobile
:
""
,
active_at
:[],
invite_type
:
""
,
status
:[
1
],
createTime
:[],
course_type
:
"-1"
,
pullTime
:[],
order_id
:
""
,
teacher_id
:
""
,
user_id
:
""
,
nickname
:
""
,
user_status
:[],
sub_order_id
:
""
},
refundDialogObj
:{
show
:
!
1
,
id
:
""
,
order_type
:
" other"
,
money
:
0
},
orderStatusOption
:
c
.
s
,
list
:[],
teacherList
:[],
goodList
:[],
refundDetail
:{
show
:
!
1
,
out_trade_no
:
""
},
teacherId
:
null
,
classObj
:{
show
:
!
1
,
title
:
"当前同步进度"
,
order_id
:
0
,
teacher_id
:
0
},
multipleSelection
:[],
classList
:[],
last_pull_time
:
"无"
}},
filters
:{
filterStatus
:
function
(
e
){
return
0
===
e
?
"未绑定"
:
"已绑定"
},
status
:
function
(
e
){
return
c
.
r
[
e
]},
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
c
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
},
classType
:
function
(
e
){
return
c
.
f
[
e
]}},
mounted
:
function
(){
this
.
getList
(),
this
.
getGoodsOption
(),
this
.
getTeacherList
()},
methods
:{
initClearOtherOrder
:
function
(
e
){
var
t
=
this
;
this
.
$confirm
(
"确认清除?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
n
.
_133
)(
e
).
then
(
function
(
e
){
t
.
$message
({
type
:
"success"
,
message
:
"清除成功!"
})})}).
catch
(
function
(){
t
.
$message
({
type
:
"info"
,
message
:
"已取消"
})})},
postOtherOrderFn
:
function
(){
var
e
=
this
,
t
=
{};
this
.
postOtherOrderData
.
order_id
&&
(
t
.
order_id
=
this
.
postOtherOrderData
.
order_id
),
this
.
postOtherOrderData
.
goods_id
&&
(
t
.
goods_id
=
this
.
postOtherOrderData
.
goods_id
),
this
.
postOtherOrderData
.
receiver_name
&&
(
t
.
receiver_name
=
this
.
postOtherOrderData
.
receiver_name
),
this
.
postOtherOrderData
.
receiver_mobile
&&
(
t
.
receiver_mobile
=
this
.
postOtherOrderData
.
receiver_mobile
),
this
.
postOtherOrderData
.
receiver_province
&&
(
t
.
receiver_province
=
this
.
postOtherOrderData
.
receiver_province
),
this
.
postOtherOrderData
.
receiver_city
&&
(
t
.
receiver_city
=
this
.
postOtherOrderData
.
receiver_city
),
this
.
postOtherOrderData
.
receiver_area
&&
(
t
.
receiver_area
=
this
.
postOtherOrderData
.
receiver_area
),
this
.
postOtherOrderData
.
receiver_address
&&
(
t
.
receiver_address
=
this
.
postOtherOrderData
.
receiver_address
),
this
.
postOtherOrderData
.
class_source
&&
(
t
.
class_source
=
this
.
postOtherOrderData
.
class_source
),
this
.
postOtherOrderData
.
desc
&&
(
t
.
desc
=
this
.
postOtherOrderData
.
desc
),
console
.
log
(
this
.
postOtherOrderData
),
Object
(
n
.
_135
)(
t
).
then
(
function
(
t
){
e
.
$message
(
"发送成功"
),
e
.
postOtherOrderDialog
=!
1
,
e
.
getList
()})},
initOeder
:
function
(){
this
.
postOtherOrderDialog
=!
0
,
this
.
postOtherOrderData
=
{
order_id
:
""
,
goods_id
:
""
,
receiver_name
:
""
,
receiver_mobile
:
""
,
receiver_province
:
""
,
receiver_city
:
""
,
receiver_area
:
""
,
receiver_address
:
""
,
class_source
:
""
,
desc
:
""
}},
editAdress
:
function
(
e
){
this
.
adressDialog
=!
0
,
this
.
adressData
=
{
receiver_name
:
e
.
receiver_name
,
receiver_mobile
:
e
.
receiver_mobile
,
receiver_province
:
e
.
receiver_province
,
receiver_city
:
e
.
receiver_city
,
receiver_area
:
e
.
receiver_area
,
receiver_address
:
e
.
receiver_address
,
id
:
e
.
id
}},
editAdressCf
:
function
(){
var
e
=
this
;
Object
(
n
.
_17
)(
this
.
adressData
.
id
,
this
.
adressData
).
then
(
function
(
t
){
e
.
getList
(),
e
.
$message
(
"修改成功"
),
e
.
adressDialog
=!
1
})},
userStatusFormatter
:
function
(
e
){
return
c
.
y
[
e
.
user_status
]},
pullAll
:
function
(){
var
e
=
this
;
if
(
this
.
multipleSelection
.
length
<
1
)
return
this
.
$message
(
"请选择订单"
),
!
1
;
if
(
!
this
.
teacherId
)
return
this
.
$message
(
"请选择老师"
),
!
1
;
var
t
=
{
order_ids
:[]};
this
.
multipleSelection
.
forEach
(
function
(
e
){
t
.
order_ids
.
push
(
e
.
id
)}),
this
.
$confirm
(
"是否确定将这"
+
t
.
order_ids
.
length
+
"笔订单分配给该老师?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
n
.
_177
)(
e
.
teacherId
,{
order_ids
:
t
.
order_ids
.
join
(
","
)}).
then
(
function
(
t
){
e
.
multipleSelection
=
[],
e
.
$message
({
message
:
"提交成功"
,
type
:
"success"
}),
e
.
getList
()})}).
catch
(
function
(){})},
selectedFlag
:
function
(
e
){
return
0
===
e
.
user_id
},
handleSelectionChange
:
function
(
e
){
this
.
multipleSelection
=
e
},
onAfterRefund
:
function
(){
this
.
refundDialogObj
.
show
=!
1
,
this
.
getList
()},
showRef
:
function
(
e
){
this
.
refundDetail
.
show
=!
0
,
this
.
refundDetail
.
out_trade_no
=
e
.
order_id
},
changeShow
:
function
(
e
){
this
.
refundDialogObj
.
show
=
e
},
onRefund
:
function
(
e
,
t
){
this
.
refundDialogObj
.
id
=
e
,
this
.
refundDialogObj
.
money
=
t
,
this
.
refundDialogObj
.
show
=!
0
},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
r
=
e
.
getMonth
()
+
1
;
r
<
10
&&
(
r
=
"0"
+
r
);
var
a
=
e
.
getDate
();
return
a
<
10
&&
(
a
=
"0"
+
a
),
t
+
"-"
+
r
+
"-"
+
a
},
fileSuccess
:
function
(){
this
.
$message
({
message
:
"提交成功,请稍后刷新"
,
type
:
"success"
})},
downLoad
:
function
(){
window
.
open
(
"/static/外部订单模板.xlsx"
)},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
n
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
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
.
mobile
&&
(
t
.
mobile
=
this
.
searchFrom
.
mobile
),
this
.
searchFrom
.
status
&&
(
t
.
status
=
this
.
searchFrom
.
status
.
join
(
","
)),
"-1"
!==
this
.
searchFrom
.
course_type
&&
(
t
.
course_type
=
this
.
searchFrom
.
course_type
),
this
.
searchFrom
.
nickname
&&
(
t
.
nickname
=
this
.
searchFrom
.
nickname
),
this
.
searchFrom
.
user_id
&&
(
t
.
user_id
=
this
.
searchFrom
.
user_id
),
this
.
searchFrom
.
sub_order_id
&&
(
t
.
sub_order_id
=
this
.
searchFrom
.
sub_order_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
goods_name
&&
(
t
.
goods_name
=
this
.
searchFrom
.
goods_name
),(
this
.
searchFrom
.
user_buy
||
0
===
this
.
searchFrom
.
user_buy
)
&&
(
t
.
user_buy
=
this
.
searchFrom
.
user_buy
),
this
.
searchFrom
.
order_id
&&
(
t
.
order_id
=
this
.
searchFrom
.
order_id
),
this
.
searchFrom
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
user_status
.
length
&&
(
t
.
user_status
=
this
.
searchFrom
.
user_status
.
join
(
","
)),
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
createTime
&&
2
===
this
.
searchFrom
.
createTime
.
length
&&
(
t
.
start_at
=
this
.
searchFrom
.
createTime
[
0
],
t
.
end_at
=
this
.
searchFrom
.
createTime
[
1
]),
this
.
searchFrom
.
active_at
&&
2
===
this
.
searchFrom
.
active_at
.
length
&&
(
t
.
active_start_at
=
this
.
searchFrom
.
active_at
[
0
],
t
.
active_end_at
=
this
.
searchFrom
.
active_at
[
1
]),
this
.
searchFrom
.
pullTime
&&
2
===
this
.
searchFrom
.
pullTime
.
length
&&
(
t
.
pay_start_at
=
this
.
searchFrom
.
pullTime
[
0
],
t
.
pay_end_at
=
this
.
searchFrom
.
pullTime
[
1
]),
Object
(
n
.
_123
)(
t
).
then
(
function
(
t
){
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
?
t
.
list
:[]})},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
n
.
_59
)({
page
:
1
,
limit
:
100
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
})},
editNote
:
function
(
e
,
t
){
var
r
=
this
;
this
.
$prompt
(
""
,
"编辑备注"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
inputType
:
"textarea"
,
inputValue
:
t
||
""
}).
then
(
function
(
t
){
var
a
=
t
.
value
;
r
.
$confirm
(
"确定保存?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
Object
(
n
.
_130
)({
desc
:
a
},
e
).
then
(
function
(
e
){
r
.
$message
({
type
:
"success"
,
message
:
"编辑备注成功"
}),
r
.
getList
()})})})},
exportTable
:
function
(
e
){
if
(
e
.
length
>
0
){
var
t
=
{};
this
.
searchFrom
.
mobile
&&
(
t
.
mobile
=
this
.
searchFrom
.
mobile
),
this
.
searchFrom
.
status
&&
(
t
.
status
=
this
.
searchFrom
.
status
.
join
(
","
)),
"-1"
!==
this
.
searchFrom
.
course_type
&&
(
t
.
course_type
=
this
.
searchFrom
.
course_type
),
this
.
searchFrom
.
nickname
&&
(
t
.
nickname
=
this
.
searchFrom
.
nickname
),
this
.
searchFrom
.
user_id
&&
(
t
.
user_id
=
this
.
searchFrom
.
user_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
goods_name
&&
(
t
.
goods_name
=
this
.
searchFrom
.
goods_name
),(
this
.
searchFrom
.
user_buy
||
0
===
this
.
searchFrom
.
user_buy
)
&&
(
t
.
user_buy
=
this
.
searchFrom
.
user_buy
),
this
.
searchFrom
.
order_id
&&
(
t
.
order_id
=
this
.
searchFrom
.
order_id
),
this
.
searchFrom
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
createTime
&&
2
===
this
.
searchFrom
.
createTime
.
length
&&
(
t
.
start_at
=
this
.
searchFrom
.
createTime
[
0
],
t
.
end_at
=
this
.
searchFrom
.
createTime
[
1
]),
this
.
searchFrom
.
active_at
&&
2
===
this
.
searchFrom
.
active_at
.
length
&&
(
t
.
active_start_at
=
this
.
searchFrom
.
active_at
[
0
],
t
.
active_end_at
=
this
.
searchFrom
.
active_at
[
1
]),
this
.
searchFrom
.
pullTime
&&
2
===
this
.
searchFrom
.
pullTime
.
length
&&
(
t
.
pay_start_at
=
this
.
searchFrom
.
pullTime
[
0
],
t
.
pay_end_at
=
this
.
searchFrom
.
pullTime
[
1
]),
console
.
log
(
t
),
Object
(
n
.
_26
)(
"api/admin/yunji/order/export"
,
t
)}},
classListOption
:
function
(){
var
e
=
this
;
this
.
classObj
.
show
=!
0
,
Object
(
n
.
_123
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
classList
=
t
.
teacher
,
t
.
last_pull_time
&&
(
e
.
last_pull_time
=
t
.
last_pull_time
)})}}},
u
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
r
=
e
.
_self
.
_c
||
t
;
return
r
(
"div"
,{
staticClass
:
"sms"
},[
r
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
size
:
"small"
,
inline
:
""
,
model
:
e
.
searchFrom
,
"label-width"
:
"80px"
}},[
r
(
"el-form-item"
,{
attrs
:{
label
:
"用户ID"
}},[
r
(
"el-input"
,{
staticStyle
:{
width
:
"80px"
},
model
:{
value
:
e
.
searchFrom
.
user_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"user_id"
,
t
)},
expression
:
"searchFrom.user_id"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"用户昵称"
}},[
r
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
nickname
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"nickname"
,
t
)},
expression
:
"searchFrom.nickname"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"手机号"
}},[
r
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"mobile"
,
t
)},
expression
:
"searchFrom.mobile"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
r
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
,
clearable
:
""
},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_id"
,
t
)},
expression
:
"searchFrom.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
a
){
return
r
(
"el-option"
,{
key
:
a
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticClass
:
"test"
,
attrs
:{
label
:
"来源"
}},[
r
(
"el-input"
,{
staticStyle
:{
width
:
"180px"
},
attrs
:{
placeholder
:
"来源CODE"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type
\
t"
}},[
r
(
"template"
,{
slot
:
"prepend"
},[
e
.
_v
(
"CC -"
)])],
2
)],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"订单状态"
}},[
r
(
"el-select"
,{
staticStyle
:{
width
:
"230px"
},
attrs
:{
multiple
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"status"
,
t
)},
expression
:
"searchFrom.status"
}},
e
.
_l
(
e
.
orderStatusOption
,
function
(
e
){
return
r
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
value
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"沟通情况"
}},[
r
(
"el-select"
,{
staticStyle
:{
width
:
"230px"
},
attrs
:{
multiple
:
""
,
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
user_status
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"user_status"
,
t
)},
expression
:
"searchFrom.user_status"
}},
e
.
_l
(
e
.
USERSTATUS
,
function
(
e
){
return
r
(
"el-option"
,{
key
:
e
.
code
,
attrs
:{
label
:
e
.
lable
,
value
:
e
.
code
}})}))],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"绑定状态"
}},[
r
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
user_buy
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"user_buy"
,
t
)},
expression
:
"searchFrom.user_buy"
}},
e
.
_l
(
e
.
useTypeList
,
function
(
e
){
return
r
(
"el-option"
,{
key
:
e
.
user_buy
,
attrs
:{
label
:
e
.
value
,
value
:
e
.
user_buy
}})}))],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
r
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
r
(
"el-option"
,{
attrs
:{
label
:
"未指定"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
r
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"订单号"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
order_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"order_id"
,
t
)},
expression
:
"searchFrom.order_id"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"子订单号"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
sub_order_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"sub_order_id"
,
t
)},
expression
:
"searchFrom.sub_order_id"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"下单时间"
}},[
r
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"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
.
createTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"createTime"
,
t
)},
expression
:
"searchFrom.createTime"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"付款时间"
}},[
r
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"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
.
pullTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"pullTime"
,
t
)},
expression
:
"searchFrom.pullTime"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"激活时间"
}},[
r
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"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
.
active_at
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"active_at"
,
t
)},
expression
:
"searchFrom.active_at"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,[
r
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
getList
}},[
e
.
_v
(
"搜索"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
export
?
r
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
e
.
exportTable
(
e
.
list
)}}},[
e
.
_v
(
"导出"
)]):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,[
r
(
"el-upload"
,{
attrs
:{
"show-file-list"
:
!
1
,
onSuccess
:
e
.
fileSuccess
,
headers
:
e
.
uploadHeader
,
data
:{
param_token
:
e
.
param_token
},
action
:
"/api/admin/order/import"
}},[
r
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
}},[
e
.
_v
(
"导入"
)])],
1
)],
1
),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
r
(
"el-form-item"
,[
r
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
function
(
t
){
e
.
downLoad
()}}},[
e
.
_v
(
"excel模板下载"
)])],
1
)],
1
),
e
.
_v
(
" "
),
r
(
"div"
,{
staticStyle
:{
position
:
"relative"
}},[
r
(
"el-tabs"
,{
staticStyle
:{
background
:
"white"
,
"padding-top"
:
"10px"
},
attrs
:{
type
:
"card"
},
on
:{
"tab-click"
:
e
.
getList
},
model
:{
value
:
e
.
searchFrom
.
course_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"course_type"
,
t
)},
expression
:
"searchFrom.course_type"
}},[
r
(
"el-tab-pane"
,{
attrs
:{
label
:
"全部"
,
name
:
"-1"
}}),
e
.
_v
(
" "
),
r
(
"el-tab-pane"
,{
attrs
:{
label
:
"月课"
,
name
:
"0"
}}),
e
.
_v
(
" "
),
r
(
"el-tab-pane"
,{
attrs
:{
label
:
"日课"
,
name
:
"1"
}})],
1
),
e
.
_v
(
" "
),
e
.
$store
.
state
.
distribution
?
r
(
"div"
,{
staticStyle
:{
position
:
"absolute"
,
top
:
"10px"
,
right
:
"10px"
,
"font-size"
:
"14px"
}},[
e
.
_v
(
"
\n
老师:
\n
"
),
r
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
size
:
"small"
,
placeholder
:
"请选择"
,
clearable
:
""
,
filterable
:
""
},
model
:{
value
:
e
.
teacherId
,
callback
:
function
(
t
){
e
.
teacherId
=
t
},
expression
:
"teacherId"
}},[
r
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
r
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
),
e
.
_v
(
" "
),
r
(
"el-button"
,{
attrs
:{
size
:
"small"
,
type
:
"success"
},
on
:{
click
:
e
.
pullAll
}},[
e
.
_v
(
"批量分配"
)]),
e
.
_v
(
" "
),
r
(
"el-button"
,{
attrs
:{
size
:
"small"
,
type
:
"primary"
},
on
:{
click
:
e
.
initOeder
}},[
e
.
_v
(
"手动添加外部订单"
)])],
1
):
e
.
_e
()],
1
),
e
.
_v
(
" "
),
r
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
list
,
size
:
"mini"
},
on
:{
"selection-change"
:
e
.
handleSelectionChange
}},[
r
(
"el-table-column"
,{
attrs
:{
type
:
"selection"
,
selectable
:
e
.
selectedFlag
,
width
:
"55"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"order_id"
,
width
:
"80"
,
label
:
"订单号"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
r
(
"p"
,[
e
.
_v
(
"主订单号:"
+
e
.
_s
(
t
.
row
.
order_id
))]),
e
.
_v
(
" "
),
r
(
"p"
,[
e
.
_v
(
"子订单号:"
+
e
.
_s
(
t
.
row
.
sub_order_id
))])]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"nickname"
,
label
:
"购买人"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
0
!==
t
.
row
.
user_id
?
r
(
"div"
,[
r
(
"img"
,{
staticClass
:
"avatar"
,
attrs
:{
src
:
t
.
row
.
avatar
}}),
e
.
_v
(
" "
),
r
(
"div"
,[
e
.
_v
(
e
.
_s
(
t
.
row
.
nickname
)),
r
(
"br"
),
e
.
_v
(
"(ID:"
+
e
.
_s
(
t
.
row
.
user_id
)
+
")"
)])]):
e
.
_e
(),
e
.
_v
(
" "
),
0
===
t
.
row
.
user_id
?
r
(
"div"
,[
e
.
_v
(
"
\n
暂未绑定用户
\n
"
)]):
e
.
_e
()]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
invite_type
)
+
"("
+
e
.
_s
(
t
.
row
.
invite_name
)
+
")
\n
"
)]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"班级老师"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"class_source"
,
width
:
"80"
,
label
:
"招生来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
e
.
_f
(
"classType"
)(
t
.
row
.
class_source
))
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
label
:
"付款状态"
,
width
:
"80"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
5
===
t
.
row
.
status
||
3
===
t
.
row
.
status
?
r
(
"el-button"
,{
attrs
:{
type
:
"text"
},
on
:{
click
:
function
(
r
){
e
.
showRef
(
t
.
row
)}}},[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"status"
)(
t
.
row
.
status
)))]):
e
.
_e
(),
e
.
_v
(
" "
),
5
!==
t
.
row
.
status
&&
3
!==
t
.
row
.
status
?
r
(
"div"
,[
e
.
_v
(
e
.
_s
(
e
.
_f
(
"status"
)(
t
.
row
.
status
)))]):
e
.
_e
()]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"money"
,
label
:
"实付金额"
,
width
:
"70"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
money
/
100
)
+
"元
\n
"
)]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
label
:
"收货地址"
,
width
:
"150px"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
姓名:"
+
e
.
_s
(
t
.
row
.
receiver_name
)
+
"
\n
"
),
r
(
"br"
),
e
.
_v
(
"
\n
tel:"
+
e
.
_s
(
t
.
row
.
receiver_phone
)
+
"
\n
"
),
r
(
"br"
),
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
receiver_province
)
+
" "
+
e
.
_s
(
t
.
row
.
receiver_city
)
+
" "
+
e
.
_s
(
t
.
row
.
receiver_area
)
+
" "
+
e
.
_s
(
t
.
row
.
receiver_address
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"active_at"
,
label
:
"时间"
,
width
:
"190"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
r
(
"p"
,[
e
.
_v
(
"激活时间:"
+
e
.
_s
(
"0000-00-00 00:00:00"
===
t
.
row
.
active_at
?
"未激活"
:
t
.
row
.
active_at
))]),
e
.
_v
(
" "
),
r
(
"p"
,[
e
.
_v
(
"下单时间:"
+
e
.
_s
(
t
.
row
.
create_time
))]),
e
.
_v
(
" "
),
r
(
"p"
,[
e
.
_v
(
"付款时间:"
+
e
.
_s
(
t
.
row
.
pay_time
))]),
e
.
_v
(
" "
),
r
(
"p"
,[
e
.
_v
(
"导入时间:"
+
e
.
_s
(
t
.
row
.
created_at
))])]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"user_status"
,
formatter
:
e
.
userStatusFormatter
,
label
:
"沟通状态"
,
width
:
"90"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"desc"
,
label
:
"备注"
}}),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
r
(
"el-table-column"
,{
staticClass
:
"editBox"
,
attrs
:{
label
:
"操作"
,
fixed
:
"right"
,
width
:
"130"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
r
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
r
){
e
.
initClearOtherOrder
(
t
.
row
.
order_id
)}}},[
e
.
_v
(
"清除激活信息"
)]),
e
.
_v
(
" "
),
r
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"primary"
},
on
:{
click
:
function
(
r
){
e
.
editNote
(
t
.
row
.
id
,
t
.
row
.
desc
)}}},[
e
.
_v
(
"编辑备注"
)]),
e
.
_v
(
" "
),
1
!==
t
.
row
.
status
&&
4
!==
t
.
row
.
status
&&
5
!==
t
.
row
.
status
||!
e
.
$store
.
state
.
orderRefund
?
e
.
_e
():
r
(
"el-button"
,{
attrs
:{
type
:
"warning"
,
plain
:
""
,
size
:
"mini"
},
on
:{
click
:
function
(
r
){
e
.
onRefund
(
t
.
row
.
id
,
t
.
row
.
money
)}}},[
e
.
_v
(
"
\n
退款
\n
"
)]),
e
.
_v
(
" "
),
e
.
$store
.
state
.
readonly
?
e
.
_e
():
r
(
"el-button"
,{
attrs
:{
size
:
"mini"
,
plain
:
""
,
type
:
"success"
},
on
:{
click
:
function
(
r
){
e
.
editAdress
(
t
.
row
)}}},[
e
.
_v
(
"编辑地址"
)])]}}])})],
1
),
e
.
_v
(
" "
),
r
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}}),
e
.
_v
(
" "
),
r
(
"refund-dialog"
,{
attrs
:{
dialogObj
:
e
.
refundDialogObj
},
on
:{
reflash
:
e
.
onAfterRefund
,
changeShow
:
e
.
changeShow
}}),
e
.
_v
(
" "
),
r
(
"refund-detail"
,{
attrs
:{
dialogObj
:
e
.
refundDetail
}}),
e
.
_v
(
" "
),
r
(
"el-dialog"
,{
attrs
:{
title
:
e
.
classObj
.
title
,
visible
:
e
.
classObj
.
show
,
center
:
""
,
width
:
"800px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
$set
(
e
.
classObj
,
"show"
,
t
)}}},[
r
(
"div"
,{
staticStyle
:{
margin
:
"10px"
,
color
:
"#888888"
}},[
e
.
_v
(
"
\n
最新同步时间:"
+
e
.
_s
(
e
.
last_pull_time
)
+
"
\n
"
)]),
e
.
_v
(
" "
),
r
(
"el-table"
,{
attrs
:{
data
:
e
.
classList
}},[
r
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"班级老师"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"num"
,
label
:
"预计入班人数"
}})],
1
),
e
.
_v
(
" "
),
r
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
})],
1
),
e
.
_v
(
" "
),
r
(
"el-dialog"
,{
attrs
:{
title
:
"手动创建外部订单"
,
visible
:
e
.
postOtherOrderDialog
,
center
:
""
,
width
:
"800px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
postOtherOrderDialog
=
t
}}},[
r
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
size
:
"small"
,
model
:
e
.
postOtherOrderData
,
"label-width"
:
"125px"
}},[
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"订单ID"
,
required
:
""
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
postOtherOrderData
.
order_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"order_id"
,
t
)},
expression
:
"postOtherOrderData.order_id"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
,
required
:
""
}},[
r
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
,
clearable
:
""
},
model
:{
value
:
e
.
postOtherOrderData
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"goods_id"
,
t
)},
expression
:
"postOtherOrderData.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
a
){
return
r
(
"el-option"
,{
key
:
a
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"收件人姓名"
,
required
:
""
,
"label-width"
:
"125px"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
postOtherOrderData
.
receiver_name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"receiver_name"
,
t
)},
expression
:
"postOtherOrderData.receiver_name"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"收件人手机号"
,
required
:
""
,
"label-width"
:
"125px"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
postOtherOrderData
.
receiver_mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"receiver_mobile"
,
t
)},
expression
:
"postOtherOrderData.receiver_mobile"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"省名称"
,
required
:
""
,
"label-width"
:
"125px"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
postOtherOrderData
.
receiver_province
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"receiver_province"
,
t
)},
expression
:
"postOtherOrderData.receiver_province"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"市名称"
,
required
:
""
,
"label-width"
:
"125px"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
postOtherOrderData
.
receiver_city
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"receiver_city"
,
t
)},
expression
:
"postOtherOrderData.receiver_city"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"区名称"
,
required
:
""
,
"label-width"
:
"125px"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
postOtherOrderData
.
receiver_area
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"receiver_area"
,
t
)},
expression
:
"postOtherOrderData.receiver_area"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
"label-width"
:
"125px"
,
required
:
""
,
left
:
""
,
label
:
"详细地址"
}},[
r
(
"el-input"
,{
attrs
:{
type
:
"textarea"
},
model
:{
value
:
e
.
postOtherOrderData
.
receiver_address
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"receiver_address"
,
t
)},
expression
:
"postOtherOrderData.receiver_address"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"带班类型"
,
required
:
""
}},[
r
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
filterable
:
""
},
model
:{
value
:
e
.
postOtherOrderData
.
class_source
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"class_source"
,
t
)},
expression
:
"postOtherOrderData.class_source"
}},
e
.
_l
(
e
.
classSource
,
function
(
e
,
t
){
return
r
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
label
,
value
:
e
.
value
}})}))],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
"label-width"
:
"125px"
,
required
:
""
,
left
:
""
,
label
:
"备注"
}},[
r
(
"el-input"
,{
attrs
:{
type
:
"textarea"
},
model
:{
value
:
e
.
postOtherOrderData
.
desc
,
callback
:
function
(
t
){
e
.
$set
(
e
.
postOtherOrderData
,
"desc"
,
t
)},
expression
:
"postOtherOrderData.desc"
}})],
1
)],
1
),
e
.
_v
(
" "
),
r
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
r
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
postOtherOrderDialog
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
r
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
postOtherOrderFn
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
),
e
.
_v
(
" "
),
r
(
"el-dialog"
,{
attrs
:{
title
:
"编辑地址"
,
visible
:
e
.
adressDialog
,
left
:
""
,
width
:
"500px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
adressDialog
=
t
}}},[
r
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
size
:
"small"
,
model
:
e
.
adressData
,
"label-width"
:
"125px"
}},[
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"用户姓名"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
adressData
.
receiver_name
,
callback
:
function
(
t
){
e
.
$set
(
e
.
adressData
,
"receiver_name"
,
t
)},
expression
:
"adressData.receiver_name"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
"label-width"
:
"125px"
,
label
:
"收货人手机号"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
adressData
.
receiver_mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
adressData
,
"receiver_mobile"
,
t
)},
expression
:
"adressData.receiver_mobile"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"收货人省"
,
"label-width"
:
"125px"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
adressData
.
receiver_province
,
callback
:
function
(
t
){
e
.
$set
(
e
.
adressData
,
"receiver_province"
,
t
)},
expression
:
"adressData.receiver_province"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"收货人市"
,
"label-width"
:
"125px"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
adressData
.
receiver_city
,
callback
:
function
(
t
){
e
.
$set
(
e
.
adressData
,
"receiver_city"
,
t
)},
expression
:
"adressData.receiver_city"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
label
:
"收货人区"
,
"label-width"
:
"125px"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
adressData
.
receiver_area
,
callback
:
function
(
t
){
e
.
$set
(
e
.
adressData
,
"receiver_area"
,
t
)},
expression
:
"adressData.receiver_area"
}})],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,{
staticStyle
:{
width
:
"400px"
},
attrs
:{
"label-width"
:
"125px"
,
left
:
""
,
label
:
"收货人详细地址"
}},[
r
(
"el-input"
,{
attrs
:{
type
:
"textarea"
},
model
:{
value
:
e
.
adressData
.
receiver_address
,
callback
:
function
(
t
){
e
.
$set
(
e
.
adressData
,
"receiver_address"
,
t
)},
expression
:
"adressData.receiver_address"
}})],
1
)],
1
),
e
.
_v
(
" "
),
r
(
"span"
,{
staticClass
:
"dialog-footer"
,
staticStyle
:{
"text-align"
:
"center"
},
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
r
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
adressDialog
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
r
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
editAdressCf
}},[
e
.
_v
(
"确 定"
)])],
1
)],
1
)],
1
)},
staticRenderFns
:[]};
var
h
=
r
(
"VU/8"
)(
d
,
u
,
!
1
,
function
(
e
){
r
(
"dLD3"
),
r
(
"5eSO"
)},
"data-v-5ab73392"
,
null
);
t
.
default
=
h
.
exports
},
GB5s
:
function
(
e
,
t
){},
dLD3
:
function
(
e
,
t
){},
zA5m
:
function
(
e
,
t
,
r
){
"use strict"
;
var
a
=
r
(
"CCn6"
),
s
=
{
name
:
"dialogObj"
,
props
:[
"dialogObj"
],
data
:
function
(){
return
{
show
:
!
1
,
id
:
""
,
loading
:
!
0
,
form
:{
money
:
0
,
refund_type
:
1
,
desc
:
""
},
rules
:{
money
:[{
required
:
!
0
,
message
:
"请输入退款金额"
,
trigger
:
"change"
}],
desc
:[{
required
:
!
0
,
message
:
"请输入退款原因"
,
trigger
:
"change"
}]}}},
methods
:{
save
:
function
(){
var
e
=
this
;
this
.
$confirm
(
"确定保存?"
,
"提示"
,{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
}).
then
(
function
(){
e
.
dialogObj
.
id
&&
e
.
$refs
.
form
.
validate
(
function
(
t
){
if
(
t
){
var
r
=
{
refund_money
:
100
*
parseFloat
(
e
.
form
.
money
),
desc
:
e
.
form
.
desc
,
refund_type
:
e
.
form
.
refund_type
};
e
.
dialogObj
.
order_type
&&
(
r
.
order_type
=
e
.
dialogObj
.
order_type
),
Object
(
a
.
_139
)(
e
.
dialogObj
.
id
,
r
).
then
(
function
(
t
){
e
.
$message
({
type
:
"success"
,
message
:
"退款成功!"
}),
e
.
$emit
(
"reflash"
),
e
.
show
=!
1
})}})})},
initDialog
:
function
(){
this
.
show
=
this
.
dialogObj
.
show
,
this
.
dialogObj
.
id
&&
(
this
.
id
=
this
.
dialogObj
.
id
),
this
.
form
.
money
=
parseFloat
(
this
.
dialogObj
.
money
/
100
),
this
.
form
.
desc
=
this
.
dialogObj
.
desc
,
this
.
loading
=!
1
}},
watch
:{
dialogObj
:{
handler
:
function
(){
this
.
initDialog
()},
deep
:
!
0
},
show
:
function
(
e
){
this
.
$emit
(
"changeShow"
,
e
)}}},
i
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
r
=
e
.
_self
.
_c
||
t
;
return
r
(
"el-dialog"
,{
attrs
:{
title
:
"退款"
,
center
:
""
,
"append-to-body"
:
""
,
visible
:
e
.
show
,
width
:
"800px"
},
on
:{
"update:visible"
:
function
(
t
){
e
.
show
=
t
}}},[
r
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
e
.
loading
,
expression
:
"loading"
}]},[
r
(
"el-form"
,{
ref
:
"form"
,
attrs
:{
model
:
e
.
form
,
rules
:
e
.
rules
}},[
r
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
r
(
"el-col"
,{
attrs
:{
span
:
4
}},[
r
(
"label"
,[
e
.
_v
(
"退款金额"
)])]),
e
.
_v
(
" "
),
r
(
"el-col"
,{
attrs
:{
span
:
8
}},[
r
(
"el-form-item"
,{
attrs
:{
prop
:
"key"
}},[
r
(
"el-input"
,{
model
:{
value
:
e
.
form
.
money
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"money"
,
t
)},
expression
:
"form.money"
}})],
1
)],
1
),
e
.
_v
(
" "
),
r
(
"el-col"
,{
attrs
:{
span
:
6
}},[
r
(
"el-button"
,{
attrs
:{
type
:
"success"
,
round
:
""
,
size
:
"small"
},
on
:{
click
:
function
(
t
){
e
.
form
.
money
=
100
}}},[
e
.
_v
(
"¥100"
)]),
e
.
_v
(
" "
),
r
(
"el-button"
,{
attrs
:{
type
:
"success"
,
round
:
""
,
size
:
"mini"
},
on
:{
click
:
function
(
t
){
e
.
form
.
money
=
150
}}},[
e
.
_v
(
"¥150"
)])],
1
)],
1
),
e
.
_v
(
" "
),
r
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
r
(
"el-col"
,{
attrs
:{
span
:
4
}},[
r
(
"label"
,[
e
.
_v
(
"退课"
)])]),
e
.
_v
(
" "
),
r
(
"el-col"
,{
attrs
:{
span
:
8
}},[
r
(
"el-form-item"
,[
r
(
"el-switch"
,{
attrs
:{
"active-value"
:
2
,
"inactive-value"
:
1
},
model
:{
value
:
e
.
form
.
refund_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"refund_type"
,
t
)},
expression
:
"form.refund_type"
}})],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
r
(
"el-row"
,{
attrs
:{
gutter
:
20
}},[
r
(
"el-col"
,{
attrs
:{
span
:
4
}},[
r
(
"label"
,[
e
.
_v
(
"退款原因"
)])]),
e
.
_v
(
" "
),
r
(
"el-col"
,{
attrs
:{
span
:
12
}},[
r
(
"el-form-item"
,[
r
(
"el-input"
,{
attrs
:{
type
:
"textarea"
},
model
:{
value
:
e
.
form
.
desc
,
callback
:
function
(
t
){
e
.
$set
(
e
.
form
,
"desc"
,
t
)},
expression
:
"form.desc"
}})],
1
)],
1
)],
1
)],
1
)],
1
),
e
.
_v
(
" "
),
r
(
"span"
,{
staticClass
:
"dialog-footer"
,
attrs
:{
slot
:
"footer"
},
slot
:
"footer"
},[
r
(
"el-button"
,{
on
:{
click
:
function
(
t
){
e
.
show
=!
1
}}},[
e
.
_v
(
"取 消"
)]),
e
.
_v
(
" "
),
r
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
e
.
save
}},[
e
.
_v
(
"确 定"
)])],
1
)])},
staticRenderFns
:[]};
var
o
=
r
(
"VU/8"
)(
s
,
i
,
!
1
,
function
(
e
){
r
(
"GB5s"
)},
"data-v-189146f3"
,
null
);
t
.
a
=
o
.
exports
}});
\ No newline at end of file
dist/static/js/42.6a42cfd3d4bd0370b2a6.js
0 → 100644
View file @
add37019
webpackJsonp
([
42
],{
"21mC"
:
function
(
e
,
t
,
a
){
"use strict"
;
var
r
;
function
n
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
a
.
d
(
t
,
"a"
,
function
(){
return
o
});
var
o
=
(
n
(
r
=
{
"订单数"
:
"支付成功且未全额退款的订单数量(*月课、季课全勤返现完成的订单也会排除)"
,
"到班数"
:
"进入系统课程期数班级的学员数量"
,
"到班率"
:
"到班数/订单数"
,
"好友数"
:
"班主任在系统内标注用已成为微信好友的户数量,包含老师主动添加数和用户主动添加数"
,
"到课数"
:
"浏览过一次及以上课包的人数"
,
"好友率"
:
"好友数/订单数"
},
"到课数"
,
"浏览过一次及以上课包的人数"
),
n
(
r
,
"到课率"
,
"到课数/订单数"
),
n
(
r
,
"转化人数"
,
"购买一年课、两年课且未全额退款的人数(*个别退课但未全额退款的学员包含在内)"
),
n
(
r
,
"转化率"
,
"转化人数/订单数"
),
n
(
r
,
"一年课购买人数"
,
"购买一年课且未全额退款的人数"
),
n
(
r
,
"两年课购买人数"
,
"购买两年课且未全额退款的人数"
),
n
(
r
,
"转化金额"
,
"一年课和两年课的转化金额合计"
),
n
(
r
,
"一年课转化金额"
,
"购买一年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
n
(
r
,
"两年课转化金额"
,
"购买两年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
r
)},
"G/kT"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
n
=
a
(
"kmJW"
),
o
=
a
(
"+TkF"
),
s
=
a
(
"21mC"
);
function
i
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"channelGoodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
i
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
periodList
:[]},
"total"
,
0
),
i
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
i
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"spanArr"
,[]),
i
(
e
,
"contentSpanArr"
,[]),
i
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
,
goods_id
:
""
}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
i
(
e
,
"goodList"
,[]),
e
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
o
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
}},
components
:{
page
:
n
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
s
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
,
console
.
log
(
e
.
goodList
,
176
)})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
getPeriodsOtherListApi
({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
searchFrom
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_43
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
n
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
o
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
s
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
n
,
a
.
goods_name
=
""
+
o
+
a
.
goods_name
+
s
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsOption
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_id"
,
t
)},
expression
:
"searchFrom.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
r
){
return
a
(
"el-option"
,{
key
:
r
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},[
a
(
"el-option"
,{
attrs
:{
value
:
""
,
label
:
"请选择"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"is_other"
,
label
:
"渠道来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
0
==
t
.
row
.
is_other
?
"内部"
:
"外部"
)
+
"
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type_name"
,
label
:
"渠道类别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_total_num"
,
label
:
"订单数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num_except_total_num"
,
label
:
"到班率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
class_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_total_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_total_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_total_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_total_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_money"
,
label
:
"转化总额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
m
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"gkSO"
)},
null
,
null
);
t
.
default
=
m
.
exports
},
gkSO
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/43.0e3b0fdeadd0b28ae3f3.js
0 → 100644
View file @
add37019
webpackJsonp
([
43
],{
"21mC"
:
function
(
e
,
t
,
r
){
"use strict"
;
var
a
;
function
n
(
e
,
t
,
r
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
r
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
r
,
e
}
r
.
d
(
t
,
"a"
,
function
(){
return
o
});
var
o
=
(
n
(
a
=
{
"订单数"
:
"支付成功且未全额退款的订单数量(*月课、季课全勤返现完成的订单也会排除)"
,
"到班数"
:
"进入系统课程期数班级的学员数量"
,
"到班率"
:
"到班数/订单数"
,
"好友数"
:
"班主任在系统内标注用已成为微信好友的户数量,包含老师主动添加数和用户主动添加数"
,
"到课数"
:
"浏览过一次及以上课包的人数"
,
"好友率"
:
"好友数/订单数"
},
"到课数"
,
"浏览过一次及以上课包的人数"
),
n
(
a
,
"到课率"
,
"到课数/订单数"
),
n
(
a
,
"转化人数"
,
"购买一年课、两年课且未全额退款的人数(*个别退课但未全额退款的学员包含在内)"
),
n
(
a
,
"转化率"
,
"转化人数/订单数"
),
n
(
a
,
"一年课购买人数"
,
"购买一年课且未全额退款的人数"
),
n
(
a
,
"两年课购买人数"
,
"购买两年课且未全额退款的人数"
),
n
(
a
,
"转化金额"
,
"一年课和两年课的转化金额合计"
),
n
(
a
,
"一年课转化金额"
,
"购买一年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
n
(
a
,
"两年课转化金额"
,
"购买两年课且未全额退款的订单实付金额(云集订单为商品金额,不扣除优惠券、抵现)"
),
a
)},
"VSD/"
:
function
(
e
,
t
){},
h0PA
:
function
(
e
,
t
,
r
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
a
=
r
(
"CCn6"
),
n
=
r
(
"+TkF"
),
o
=
r
(
"21mC"
);
r
(
"sf/l"
);
function
i
(
e
,
t
,
r
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
r
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
r
,
e
}
var
s
=
{
name
:
"channelConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
i
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
i
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
i
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"spanArr"
,[]),
i
(
e
,
"contentSpanArr"
,[]),
i
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
i
(
e
,
"propertyList"
,[]),
i
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
i
(
e
,
"goodList"
,[]),
e
},
filters
:{
filterGoods
:
function
(
e
){
return
"["
+
e
.
id
+
"]["
+
n
.
h
[
e
.
goods_type
]
+
"]【"
+
e
.
current_price
/
100
+
"元】"
+
e
.
name
}},
components
:{
page
:
r
(
"kmJW"
).
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
r
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
r
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
o
.
a
[
r
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getGoodsOption
:
function
(){
var
e
=
this
;
Object
(
a
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
e
.
goodList
=
t
.
list
,
console
.
log
(
e
.
goodList
,
176
)})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
r
){
r
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
r
.
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
(),
r
=
e
.
getMonth
()
+
1
;
r
<
10
&&
(
r
=
"0"
+
r
);
var
a
=
e
.
getDate
();
return
a
<
10
&&
(
a
=
"0"
+
a
),
t
+
"-"
+
r
+
"-"
+
a
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
getPeriodsOtherListApi
({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
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
.
goods_id
&&
(
t
.
goods_id
=
this
.
searchFrom
.
goods_id
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
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
],
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
(
a
.
_42
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
r
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
r
,
a
){
r
.
index
=
a
,
0
==
a
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
r
.
cur_date
==
t
.
list
[
a
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
a
);
var
n
=
r
.
invite_name
&&
r
.
invite_name
.
length
>
0
?
"("
+
r
.
invite_name
+
")"
:
""
,
o
=
r
.
goods_id
&&
r
.
goods_id
>
0
?
"【"
+
r
.
goods_id
+
"】"
:
""
,
i
=
r
.
watch_num
&&
r
.
watch_num
>
0
?
"【"
+
r
.
watch_num
+
"个课时】"
:
""
;
return
r
.
invite_type
=
""
+
r
.
invite_type
+
n
,
r
.
goods_name
=
""
+
o
+
r
.
goods_name
+
i
,
r
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
r
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsOption
()}},
l
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
r
=
e
.
_self
.
_c
||
t
;
return
r
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
r
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
r
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
r
(
"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
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
r
(
"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
(
" "
),
r
(
"el-form-item"
,{
attrs
:{
label
:
"商品名称"
}},[
r
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
goods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"goods_id"
,
t
)},
expression
:
"searchFrom.goods_id"
}},
e
.
_l
(
e
.
goodList
,
function
(
t
,
a
){
return
r
(
"el-option"
,{
key
:
a
,
attrs
:{
label
:
e
.
_f
(
"filterGoods"
)(
t
),
value
:
t
.
id
}})}))],
1
),
e
.
_v
(
" "
),
r
(
"el-form-item"
,[
r
(
"div"
,{
staticClass
:
"flexRow"
},[
r
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
r
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
r
(
"el-table-column"
,{
attrs
:{
prop
:
"is_other"
,
label
:
"渠道来源"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
0
==
t
.
row
.
is_other
?
"内部"
:
"外部"
))]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type_name"
,
label
:
"渠道类别"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_total_num"
,
label
:
"订单数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num_except_total_num"
,
label
:
"到班率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
class_num_except_total_num
)
+
"%"
)]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_total_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
friend_num_except_total_num
)
+
"%"
)]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_total_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
come_num_except_total_num
)
+
"%"
)]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_total_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
e
.
_s
(
t
.
row
.
sum_buy_num_except_total_num
)
+
"%"
)]}}])}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
width
:
"120"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
width
:
"120"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
r
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
r
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
c
=
r
(
"VU/8"
)(
s
,
l
,
!
1
,
function
(
e
){
r
(
"VSD/"
)},
null
,
null
);
t
.
default
=
c
.
exports
}});
\ No newline at end of file
dist/static/js/44.693c7ea53bd903c67c2d.js
0 → 100644
View file @
add37019
webpackJsonp
([
44
],{
XXYb
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
i
=
a
(
"CCn6"
),
r
=
a
(
"kmJW"
),
s
=
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
:
"channelTransList"
,
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
:
r
.
a
},
methods
:{
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
)},
exportDataTable
:
function
(){
var
e
=
{};
this
.
searchFrom
.
sort_value
&&
(
e
.
sort_value
=
this
.
searchFrom
.
sort_value
,
e
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
start_at
.
length
>
0
&&
this
.
searchFrom
.
end_at
.
length
>
0
&&
(
e
.
start_at
=
this
.
searchFrom
.
start_at
,
e
.
end_at
=
this
.
searchFrom
.
end_at
),
this
.
searchFrom
.
teacher_id
&&
(
e
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
invite_type
.
length
>
0
&&
(
e
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
periods_id
&&
(
e
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
squad
&&
(
e
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
e
.
watch_num
=
this
.
searchFrom
.
watch_num
),
Object
(
i
.
_26
)(
"/api/admin/channel/class/list/export"
,
e
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
Object
(
i
.
_75
)({
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
i
=
e
.
getDate
();
return
i
<
10
&&
(
i
=
"0"
+
i
),
t
+
"-"
+
a
+
"-"
+
i
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
i
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
i
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
i
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
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
(
i
.
_121
)(
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
,
i
){
a
.
index
=
i
,
0
==
i
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
i
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
i
),
a
.
squad
=
"T"
+
a
.
squad
;
var
r
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
n
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
r
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
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
.
getTeacherList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
()}},
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
:
"商品课时数"
}},[
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"
,{
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
(
"搜索"
)]),
e
.
_v
(
" "
),
e
.
_e
()],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"cur_date"
,
label
:
"进量日期"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"invite_type"
,
label
:
"渠道类型"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"goods_name"
,
label
:
"商品名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组ID"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"total_num"
,
label
:
"购买人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"class_num"
,
label
:
"班级人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_friend_num"
,
label
:
"老师主动添加好友人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"user_friend_num"
,
label
:
"用户主动添加好友人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num"
,
label
:
"到课人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"one_buy_num"
,
label
:
"一年课购买人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"two_buy_num"
,
label
:
"两年课购买人数"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"one_buy_money"
,
label
:
"一年课转化金额"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"two_buy_money"
,
label
:
"两年课转化金额"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
o
,
l
,
!
1
,
function
(
e
){
a
(
"fcx4"
)},
null
,
null
);
t
.
default
=
h
.
exports
},
fcx4
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/45.840f7455cd16a9240f98.js
0 → 100644
View file @
add37019
webpackJsonp
([
45
],{
WZgi
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
l
=
a
(
"CCn6"
),
s
=
{
name
:
"sysConfig"
,
components
:{
page
:
a
(
"kmJW"
).
a
},
data
:
function
(){
return
{
list
:[],
total
:
0
,
nowPage
:
1
,
limit
:
10
,
searchFrom
:{
admin_id
:
""
,
url
:
""
,
desc
:
""
}}},
mounted
:
function
(){
this
.
getList
()},
methods
:{
getList
:
function
(){
var
e
=
this
;
this
.
searchFrom
.
page
=
this
.
nowPage
;
var
t
=
{
page
:
this
.
nowPage
,
limit
:
this
.
limit
};
this
.
searchFrom
.
admin_id
&&
(
t
.
admin_id
=
this
.
searchFrom
.
admin_id
),
this
.
searchFrom
.
url
&&
(
t
.
url
=
this
.
searchFrom
.
url
),
this
.
searchFrom
.
desc
&&
(
t
.
desc
=
this
.
searchFrom
.
desc
),
Object
(
l
.
_31
)(
t
).
then
(
function
(
t
){
e
.
list
=
t
.
list
,
e
.
total
=
t
.
total
})},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getList
()}}},
r
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"log"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"80px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"用户ID"
}},[
a
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
admin_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"admin_id"
,
t
)},
expression
:
"searchFrom.admin_id"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"地址"
}},[
a
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
url
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"url"
,
t
)},
expression
:
"searchFrom.url"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"功能名"
}},[
a
(
"el-input"
,{
model
:{
value
:
e
.
searchFrom
.
desc
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"desc"
,
t
)},
expression
:
"searchFrom.desc"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
getList
}},[
e
.
_v
(
"搜索"
)])],
1
)],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
e
.
list
}},[
a
(
"el-table-column"
,{
attrs
:{
type
:
"expand"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
a
(
"el-form"
,{
staticClass
:
"demo-table-expand"
,
attrs
:{
"label-position"
:
"left"
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"请求方法"
}},[
a
(
"span"
,[
e
.
_v
(
e
.
_s
(
t
.
row
.
method
))])]),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"请求链接"
}},[
a
(
"span"
,[
e
.
_v
(
e
.
_s
(
t
.
row
.
url
))])]),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"参数"
}},[
a
(
"span"
,[
e
.
_v
(
e
.
_s
(
t
.
row
.
params
))])])],
1
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"角色"
,
prop
:
"user_role"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"登陆名"
,
prop
:
"user_name"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"用户ID"
,
prop
:
"admin_id"
,
sortable
:
""
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"用户名"
,
prop
:
"user_desc"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
label
:
"功能名"
,
prop
:
"desc"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"创建时间"
,
sortable
:
""
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
i
=
a
(
"VU/8"
)(
s
,
r
,
!
1
,
function
(
e
){
a
(
"hy97"
)},
"data-v-e943b26a"
,
null
);
t
.
default
=
i
.
exports
},
hy97
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/46.16c019458f0dddf31b87.js
0 → 100644
View file @
add37019
webpackJsonp
([
46
],{
"90Fj"
:
function
(
e
,
t
,
s
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
i
=
s
(
"CCn6"
),
o
=
s
(
"NC6I"
),
n
=
s
.
n
(
o
),
l
=
{
data
:
function
(){
return
{
login
:{
username
:
""
,
password
:
""
},
loginRules
:{
username
:[{
required
:
!
0
,
message
:
"请输入您的用户名"
,
trigger
:
"blur"
}],
password
:[{
required
:
!
0
,
message
:
"请输入您的密码"
,
trigger
:
"blur"
}]},
texT
:
"获取验证码"
,
disable
:
!
1
}},
mounted
:
function
(){
var
e
=
this
;
document
.
onkeydown
=
function
(
t
){
var
s
=
t
||
window
.
event
;
if
(
13
===
(
s
.
keyCode
||
s
.
which
||
s
.
charCode
)
&&
"login"
===
e
.
$route
.
name
)
return
e
.
submitForm
(),
!
1
;
return
!
0
}},
methods
:{
getCode
:
function
(){
var
e
=
this
;
if
(
this
.
login
.
take_class_mobile
){
this
.
disable
=!
0
;
var
t
=
10
;
Object
(
i
.
_134
)({
mobile
:
this
.
login
.
take_class_mobile
}).
then
(
function
(
s
){
e
.
texT
=
"10s"
;
var
i
=
setInterval
(
function
(){
t
--
,
e
.
texT
=
t
+
"s"
},
1
e3
);
setTimeout
(
function
(){
e
.
disable
=!
1
,
clearInterval
(
i
),
e
.
texT
=
"获取验证码"
},
1
e4
)})}
else
this
.
$message
(
"请填写手机号"
)},
submitForm
:
function
(){
var
e
=
this
;
this
.
$refs
.
loginForm
.
validate
(
function
(
t
){
if
(
t
){
var
s
=
{
username
:
e
.
login
.
username
,
password
:
n
()(
e
.
login
.
password
),
take_class_mobile
:
e
.
login
.
take_class_mobile
,
id_number
:
e
.
login
.
id_number
,
verify_code
:
e
.
login
.
verify_code
};
Object
(
i
.
_137
)(
s
).
then
(
function
(
t
){
if
(
t
.
teacher_info
){
var
s
=
JSON
.
stringify
(
t
.
teacher_info
);
localStorage
.
setItem
(
"phoneNum"
,
s
)}
else
localStorage
.
setItem
(
"phoneNum"
,
""
);
e
.
$store
.
dispatch
(
"setToken"
,
t
.
token
),
e
.
$store
.
dispatch
(
"setUserName"
,
t
.
desc
),
e
.
$store
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
t
.
roles
.
menu_ids
)),
window
.
location
.
href
=
"/"
})}})}}},
r
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
s
=
e
.
_self
.
_c
||
t
;
return
s
(
"div"
,{
staticClass
:
"login"
},[
s
(
"div"
,{
staticClass
:
"wrap-main"
},[
s
(
"h1"
,{
staticClass
:
"title"
},[
e
.
_v
(
"注册"
)]),
e
.
_v
(
" "
),
s
(
"el-form"
,{
ref
:
"loginForm"
,
attrs
:{
model
:
e
.
login
,
rules
:
e
.
loginRules
}},[
s
(
"el-form-item"
,{
attrs
:{
prop
:
"take_class_mobile"
}},[
s
(
"el-input"
,{
attrs
:{
placeholder
:
"带班手机号"
},
model
:{
value
:
e
.
login
.
take_class_mobile
,
callback
:
function
(
t
){
e
.
$set
(
e
.
login
,
"take_class_mobile"
,
t
)},
expression
:
"login.take_class_mobile"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
prop
:
"username"
}},[
s
(
"el-input"
,{
attrs
:{
placeholder
:
"姓名"
},
model
:{
value
:
e
.
login
.
username
,
callback
:
function
(
t
){
e
.
$set
(
e
.
login
,
"username"
,
t
)},
expression
:
"login.username"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
prop
:
"password"
}},[
s
(
"el-input"
,{
attrs
:{
type
:
"password"
,
placeholder
:
"密码"
},
model
:{
value
:
e
.
login
.
password
,
callback
:
function
(
t
){
e
.
$set
(
e
.
login
,
"password"
,
t
)},
expression
:
"login.password"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
prop
:
"id_number"
}},[
s
(
"el-input"
,{
attrs
:{
placeholder
:
"身份证号"
},
model
:{
value
:
e
.
login
.
id_number
,
callback
:
function
(
t
){
e
.
$set
(
e
.
login
,
"id_number"
,
t
)},
expression
:
"login.id_number"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,{
attrs
:{
prop
:
"verify_code"
}},[
s
(
"el-input"
,{
attrs
:{
placeholder
:
"验证码"
},
model
:{
value
:
e
.
login
.
verify_code
,
callback
:
function
(
t
){
e
.
$set
(
e
.
login
,
"verify_code"
,
t
)},
expression
:
"login.verify_code"
}})],
1
),
e
.
_v
(
" "
),
s
(
"el-form-item"
,[
s
(
"el-button"
,{
staticClass
:
"btn"
,
attrs
:{
size
:
"medium"
,
type
:
"success"
},
on
:{
click
:
e
.
submitForm
}},[
e
.
_v
(
"注册"
)]),
e
.
_v
(
" "
),
s
(
"el-button"
,{
staticClass
:
"btn"
,
staticStyle
:{
"margin-top"
:
"20px"
},
attrs
:{
size
:
"medium"
,
type
:
"primary"
,
disabled
:
e
.
disable
,
plain
:
""
},
on
:{
click
:
e
.
getCode
}},[
e
.
_v
(
e
.
_s
(
e
.
texT
))])],
1
)],
1
)],
1
)])},
staticRenderFns
:[]};
var
a
=
s
(
"VU/8"
)(
l
,
r
,
!
1
,
function
(
e
){
s
(
"tm4/"
)},
"data-v-d27bcc60"
,
null
);
t
.
default
=
a
.
exports
},
"tm4/"
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/49.c625b30373d294eea57e.js
0 → 100644
View file @
add37019
webpackJsonp
([
49
],{
"6Ndm"
:
function
(
e
,
t
){},
M7X6
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
s
=
a
(
"kmJW"
),
n
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"squadConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
s
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
n
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_94
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
),
a
.
squad
=
"T"
+
a
.
squad
;
var
s
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
n
=
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
+
s
,
a
.
goods_name
=
""
+
n
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
"render-header"
:
e
.
rendertip
,
label
:
"转化率"
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"6Ndm"
)},
null
,
null
);
t
.
default
=
h
.
exports
}});
\ No newline at end of file
dist/static/js/52.9f462ec14b124b6c88b0.js
0 → 100644
View file @
add37019
webpackJsonp
([
52
],{
"+Xua"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
i
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
n
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"periodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
i
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
n
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
,
console
.
log
(
320
)})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_77
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
i
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
n
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
i
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
n
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getGoodsList
(),
this
.
getPeriodsOtherList
(),
this
.
getTeacherList
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
changeTeacher
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
a
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"PlAK"
)},
null
,
null
);
t
.
default
=
h
.
exports
},
PlAK
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/57.1085749382f7829b2dd7.js
0 → 100644
View file @
add37019
webpackJsonp
([
57
],{
geSx
:
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
,
max_watch_num
:
20
}).
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
(
"geSx"
)},
"data-v-423bf99e"
,
null
);
t
.
default
=
o
.
exports
}});
\ No newline at end of file
dist/static/js/58.17486c8f57622a61def1.js
0 → 100644
View file @
add37019
webpackJsonp
([
58
],{
"6yV8"
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
s
=
a
(
"kmJW"
),
n
=
a
(
"+TkF"
),
i
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"teacherConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
s
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
i
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
n
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_102
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
),
a
.
squad
=
"T"
+
a
.
squad
;
var
s
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
n
=
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
+
s
,
a
.
goods_name
=
""
+
n
+
a
.
goods_name
+
i
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getPeriodsOtherList
(),
this
.
getGoodsList
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"squad"
,
label
:
"组别"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"x2Cz"
)},
null
,
null
);
t
.
default
=
h
.
exports
},
x2Cz
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/59.5eb48cd47e72f50753bf.js
0 → 100644
View file @
add37019
webpackJsonp
([
59
],{
iPJD
:
function
(
e
,
t
,
i
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
n
=
i
(
"CCn6"
),
l
=
{
name
:
"upload"
,
data
:
function
(){
return
{
fileList
:[]}},
methods
:{
uploadFileVideo1Banner
:
function
(
e
){
var
t
=
this
;
Object
(
n
.
_174
)({
file
:
e
.
file
,
type
:
"local"
}).
then
(
function
(
e
){
e
.
url
=
"https://cdn.singsingenglish.com/"
+
e
.
url
,
t
.
fileList
.
push
(
e
)})}}},
a
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
i
=
e
.
_self
.
_c
||
t
;
return
i
(
"div"
,[
i
(
"el-upload"
,{
staticClass
:
"upload-demo"
,
attrs
:{
action
:
"/api/public/upload"
,
"http-request"
:
e
.
uploadFileVideo1Banner
,
"list-type"
:
"picture-card"
,
multiple
:
""
}}),
e
.
_v
(
" "
),
i
(
"pre"
,[
e
.
_v
(
" <p>
\n
"
)]),
e
.
_v
(
" "
),
e
.
_l
(
e
.
fileList
,
function
(
t
){
return
i
(
"pre"
,[
e
.
_v
(
' <img src="'
+
e
.
_s
(
t
.
url
)
+
'" style="display:block">
\
n '
)])}),
e
.
_v
(
" "
),
i
(
"pre"
,[
e
.
_v
(
" </p>
\n
"
)])],
2
)},
staticRenderFns
:[]};
var
r
=
i
(
"VU/8"
)(
l
,
a
,
!
1
,
function
(
e
){
i
(
"wi9J"
)},
"data-v-3a2ff3b1"
,
null
);
t
.
default
=
r
.
exports
},
wi9J
:
function
(
e
,
t
){}});
\ No newline at end of file
dist/static/js/63.6afc14a102a04334b255.js
0 → 100644
View file @
add37019
webpackJsonp
([
63
],{
C4Fs
:
function
(
e
,
t
){},
TtuZ
:
function
(
e
,
t
,
a
){
"use strict"
;
Object
.
defineProperty
(
t
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
i
=
a
(
"kmJW"
),
s
=
a
(
"+TkF"
),
n
=
a
(
"1lG9"
);
function
o
(
e
,
t
,
a
){
return
t
in
e
?
Object
.
defineProperty
(
e
,
t
,{
value
:
a
,
enumerable
:
!
0
,
configurable
:
!
0
,
writable
:
!
0
}):
e
[
t
]
=
a
,
e
}
var
l
=
{
name
:
"teacherPeriodsConversionList"
,
data
:
function
(){
var
e
,
t
=
this
;
return
o
(
e
=
{
width
:
0
,
nowPage
:
1
,
total
:
0
,
limit
:
20
,
list
:[],
goods_id
:
null
,
teacherList
:[],
goodsList
:[],
periodList
:[]},
"total"
,
0
),
o
(
e
,
"today"
,{
text
:
"今天"
,
onClick
:
function
(){
t
.
searchFrom
.
payTime
=
[
t
.
formatTime
(
new
Date
)
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"yesterday"
,{
text
:
"昨天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
864
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
e
+
" 23:59:59"
]}}),
o
(
e
,
"last30Day"
,{
text
:
"过去30天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
2592
e6
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"last7Day"
,{
text
:
"过去7天"
,
onClick
:
function
(){
var
e
=
t
.
formatTime
(
new
Date
((
new
Date
).
getTime
()
-
6048
e5
));
t
.
searchFrom
.
payTime
=
[
e
+
" 00:00:00"
,
t
.
formatTime
(
new
Date
)
+
" 23:59:59"
]}}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"spanArr"
,[]),
o
(
e
,
"contentSpanArr"
,[]),
o
(
e
,
"searchFrom"
,{
payTime
:[],
start_at
:
""
,
end_at
:
""
,
invite_type
:
""
,
invite_name
:
""
,
watch_num
:
""
,
periods_id
:
""
,
squad
:
""
,
teacher_id
:
""
,
periods_title
:
""
}),
o
(
e
,
"propertyList"
,[]),
o
(
e
,
"watchList"
,[{
id
:
0
,
title
:
5
},{
id
:
1
,
title
:
6
},{
id
:
2
,
title
:
10
},{
id
:
3
,
title
:
20
}]),
e
},
components
:{
page
:
i
.
a
},
methods
:{
rendertip
:
function
(
e
,
t
){
var
a
=
t
.
column
;
return
e
(
"span"
,[
e
(
"span"
,
a
.
label
),
e
(
"el-tooltip"
,{
props
:{
effect
:
"dark"
,
content
:
n
.
a
[
a
.
label
],
placement
:
"top"
}},[
e
(
"i"
,{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})])])},
sortMethod
:
function
(
e
){
this
.
searchFrom
.
sort_key
=
e
.
prop
,
"ascending"
==
e
.
order
?
this
.
searchFrom
.
sort_value
=
"asc"
:
this
.
searchFrom
.
sort_value
=
"dasc"
,
this
.
getChannelTransList
()},
getTeacherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_105
)({
page
:
1
,
limit
:
200
}).
then
(
function
(
t
){
e
.
teacherList
=
t
.
list
})},
seachData
:
function
(){
this
.
total
=
0
,
this
.
nowPage
=
1
,
this
.
getChannelTransList
()},
onPeriodChange
:
function
(
e
){
var
t
=
""
;
t
=
e
.
length
>
1
?
e
.
join
(
","
):
e
[
0
],
this
.
periods_id
=
t
,
console
.
log
(
t
)},
objectSpanMethod
:
function
(
e
){},
handleItemChange
:
function
(
e
){
var
t
=
this
;
getPeriodsApi
({
goods_id
:
e
[
0
],
limit
:
100
}).
then
(
function
(
a
){
a
.
list
.
forEach
(
function
(
e
){
e
.
name
=
e
.
title
}),
t
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]}).
children
=
a
.
list
})},
changePeriods
:
function
(
e
){
if
(
e
.
length
>
1
){
this
.
goods_id
=
e
[
0
];
var
t
=
this
.
goodsList
.
find
(
function
(
t
){
return
t
.
id
===
e
[
0
]});
this
.
periods
=
t
.
children
.
find
(
function
(
t
){
return
t
.
id
===
e
[
1
]}),
this
.
searchFrom
.
periods_id
=
this
.
periods
.
id
,
this
.
getChannelTransList
()}},
changeTeacher
:
function
(
e
){
this
.
searchFrom
.
teacher_id
=
e
,
this
.
getChannelTransList
()},
selectChange
:
function
(
e
){
this
.
searchFrom
.
watch_num
=
this
.
watchList
[
e
].
title
,
this
.
getChannelTransList
()},
formatTime
:
function
(
e
){
var
t
=
e
.
getFullYear
(),
a
=
e
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
e
.
getDate
();
return
r
<
10
&&
(
r
=
"0"
+
r
),
t
+
"-"
+
a
+
"-"
+
r
},
onPageChange
:
function
(
e
){
this
.
nowPage
=
e
,
this
.
getChannelTransList
()},
onSizeChange
:
function
(
e
){
this
.
nowPage
=
1
,
this
.
limit
=
e
,
this
.
getChannelTransList
()},
getGoodsList
:
function
(){
var
e
=
this
;
Object
(
r
.
_59
)({
page
:
1
,
limit
:
100
,
goods_type
:
"1,2"
}).
then
(
function
(
t
){
t
.
list
.
forEach
(
function
(
e
){
e
.
name
=
"["
+
e
.
id
+
"]["
+
s
.
h
[
e
.
goods_type
]
+
"]["
+
e
.
current_price
/
100
+
"元]"
+
e
.
name
,
e
.
children
=
[]}),
e
.
goodsList
=
t
.
list
})},
getPeriodsOtherList
:
function
(){
var
e
=
this
;
Object
(
r
.
_78
)({
limit
:
1
e3
,
page
:
1
,
max_watch_num
:
20
}).
then
(
function
(
t
){
e
.
periodList
=
t
.
list
})},
getChannelTransList
:
function
(){
var
e
=
this
,
t
=
{
limit
:
this
.
limit
,
page
:
this
.
nowPage
};
this
.
searchFrom
.
invite_type
&&
(
t
.
invite_type
=
this
.
searchFrom
.
invite_type
),
this
.
searchFrom
.
sort_value
&&
(
t
.
sort_value
=
this
.
searchFrom
.
sort_value
,
t
.
sort_key
=
this
.
searchFrom
.
sort_key
),
this
.
searchFrom
.
squad
&&
(
t
.
squad
=
this
.
searchFrom
.
squad
),
this
.
searchFrom
.
watch_num
&&
(
t
.
watch_num
=
this
.
searchFrom
.
watch_num
),
this
.
periods_id
&&
(
t
.
periods_ids
=
this
.
periods_id
),
this
.
searchFrom
.
teacher_id
&&
(
t
.
teacher_id
=
this
.
searchFrom
.
teacher_id
),
this
.
searchFrom
.
payTime
&&
this
.
searchFrom
.
payTime
.
length
>
0
&&
(
this
.
searchFrom
.
payTime
[
0
]
&&
this
.
searchFrom
.
payTime
[
0
].
length
>
0
&&
(
this
.
searchFrom
.
start_at
=
this
.
searchFrom
.
payTime
[
0
],
t
.
start_at
=
this
.
searchFrom
.
start_at
),
this
.
searchFrom
.
payTime
[
1
]
&&
this
.
searchFrom
.
payTime
[
1
].
length
>
0
&&
(
this
.
searchFrom
.
end_at
=
this
.
searchFrom
.
payTime
[
1
],
t
.
end_at
=
this
.
searchFrom
.
end_at
)),
Object
(
r
.
_106
)(
t
).
then
(
function
(
t
){
if
(
t
){
if
(
t
.
list
&&
t
.
list
.
length
>
0
){
for
(
var
a
in
e
.
total
=
t
.
total
,
e
.
list
=
t
.
list
.
map
(
function
(
a
,
r
){
a
.
index
=
r
,
0
==
r
?(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
0
):
a
.
cur_date
==
t
.
list
[
r
-
1
].
cur_date
?(
e
.
spanArr
[
e
.
pos
]
+=
1
,
e
.
spanArr
.
push
(
0
)):(
e
.
spanArr
.
push
(
1
),
e
.
pos
=
r
);
var
i
=
a
.
invite_name
&&
a
.
invite_name
.
length
>
0
?
"("
+
a
.
invite_name
+
")"
:
""
,
s
=
a
.
goods_id
&&
a
.
goods_id
>
0
?
"【"
+
a
.
goods_id
+
"】"
:
""
,
n
=
a
.
watch_num
&&
a
.
watch_num
>
0
?
"【"
+
a
.
watch_num
+
"个课时】"
:
""
;
return
a
.
invite_type
=
""
+
a
.
invite_type
+
i
,
a
.
goods_name
=
""
+
s
+
a
.
goods_name
+
n
,
a
}),
e
.
list
[
0
])
e
.
propertyList
.
push
(
a
);
e
.
width
=
document
.
documentElement
.
clientWidth
-
200
}
t
.
list
&&
0
===
t
.
list
.
length
&&
(
e
.
list
=
[])}
else
e
.
list
=
[]})}},
mounted
:
function
(){
this
.
getChannelTransList
(),
this
.
getPeriodsOtherList
(),
this
.
getGoodsList
(),
this
.
getTeacherList
()}},
c
=
{
render
:
function
(){
var
e
=
this
,
t
=
e
.
$createElement
,
a
=
e
.
_self
.
_c
||
t
;
return
a
(
"div"
,{
staticClass
:
"channel-trans-list"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
e
.
searchFrom
,
"label-width"
:
"100px"
,
inline
:
""
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"进量日期"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"datetimerange"
,
"range-separator"
:
"至"
,
"value-format"
:
"yyyy-MM-dd HH:mm:ss"
,
"start-placeholder"
:
"开始日期"
,
"end-placeholder"
:
"结束日期"
,
"picker-options"
:{
shortcuts
:[
e
.
today
,
e
.
yesterday
,
e
.
last7Day
,
e
.
last30Day
]},
"default-time"
:[
"00:00:00"
,
"23:59:59"
]},
on
:{
change
:
e
.
getChannelTransList
},
model
:{
value
:
e
.
searchFrom
.
payTime
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"payTime"
,
t
)},
expression
:
"searchFrom.payTime"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"渠道code"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"110px"
},
model
:{
value
:
e
.
searchFrom
.
invite_type
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"invite_type"
,
t
)},
expression
:
"searchFrom.invite_type"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"组ID"
}},[
a
(
"el-input"
,{
staticStyle
:{
width
:
"120px"
},
model
:{
value
:
e
.
searchFrom
.
squad
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"squad"
,
t
)},
expression
:
"searchFrom.squad"
}})],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"期数名称"
,
prop
:
"periods_title"
}},[
a
(
"el-select"
,{
attrs
:{
placeholder
:
"请选择"
,
multiple
:
""
,
filterable
:
""
},
on
:{
change
:
e
.
onPeriodChange
},
model
:{
value
:
e
.
searchFrom
.
periods_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"periods_id"
,
t
)},
expression
:
"searchFrom.periods_id"
}},
e
.
_l
(
e
.
periodList
,
function
(
e
){
return
a
(
"el-option"
,{
key
:
e
.
id
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"老师"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"100px"
},
attrs
:{
filterable
:
""
,
placeholder
:
"请选择"
,
clearable
:
""
},
on
:{
change
:
e
.
changeTeacher
},
model
:{
value
:
e
.
searchFrom
.
teacher_id
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"teacher_id"
,
t
)},
expression
:
"searchFrom.teacher_id"
}},[
a
(
"el-option"
,{
attrs
:{
label
:
"暂不分配"
,
value
:
"0"
}}),
e
.
_v
(
" "
),
e
.
_l
(
e
.
teacherList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
name
,
value
:
e
.
id
}})})],
2
)],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,{
attrs
:{
label
:
"商品课时数"
}},[
a
(
"el-select"
,{
staticStyle
:{
width
:
"150px"
},
attrs
:{
filterable
:
""
,
clearable
:
""
,
placeholder
:
"请选择"
},
on
:{
change
:
e
.
selectChange
},
model
:{
value
:
e
.
searchFrom
.
watch_num
,
callback
:
function
(
t
){
e
.
$set
(
e
.
searchFrom
,
"watch_num"
,
t
)},
expression
:
"searchFrom.watch_num"
}},
e
.
_l
(
e
.
watchList
,
function
(
e
,
t
){
return
a
(
"el-option"
,{
key
:
t
,
attrs
:{
label
:
e
.
title
,
value
:
e
.
id
}})}))],
1
),
e
.
_v
(
" "
),
a
(
"el-form-item"
,[
a
(
"div"
,{
staticClass
:
"flexRow"
},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
,
plain
:
""
},
on
:{
click
:
e
.
seachData
}},[
e
.
_v
(
"搜索"
)])],
1
)])],
1
),
e
.
_v
(
" "
),
a
(
"el-table"
,{
style
:{
width
:
e
.
width
+
"px"
},
attrs
:{
border
:
""
,
"span-method"
:
e
.
objectSpanMethod
,
data
:
e
.
list
,
fixed
:
""
},
on
:{
"sort-change"
:
e
.
sortMethod
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"periods_title"
,
label
:
"期数名称"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"teacher_name"
,
label
:
"老师名称"
,
width
:
"180"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_class_num"
,
label
:
"到班数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_friend_num"
,
label
:
"好友数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"friend_num_except_class_num"
,
label
:
"好友率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
friend_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_come_num"
,
label
:
"到课数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"come_num_except_class_num"
,
label
:
"到课率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
come_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num"
,
label
:
"转化人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_buy_num_except_class_num"
,
label
:
"转化率"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
},
scopedSlots
:
e
.
_u
([{
key
:
"default"
,
fn
:
function
(
t
){
return
[
e
.
_v
(
"
\n
"
+
e
.
_s
(
t
.
row
.
sum_buy_num_except_class_num
)
+
"%
\n
"
)]}}])}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_num"
,
label
:
"一年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_num"
,
label
:
"两年课购买人数"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_one_buy_money"
,
label
:
"一年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}}),
e
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"sum_two_buy_money"
,
label
:
"两年课转化金额"
,
"render-header"
:
e
.
rendertip
,
sortable
:
"custom"
}})],
1
),
e
.
_v
(
" "
),
a
(
"page"
,{
attrs
:{
nowPage
:
e
.
nowPage
,
total
:
e
.
total
,
limit
:
e
.
limit
},
on
:{
pageChange
:
e
.
onPageChange
,
sizeChange
:
e
.
onSizeChange
}})],
1
)},
staticRenderFns
:[]};
var
h
=
a
(
"VU/8"
)(
l
,
c
,
!
1
,
function
(
e
){
a
(
"C4Fs"
)},
null
,
null
);
t
.
default
=
h
.
exports
}});
\ No newline at end of file
dist/static/js/64.399f8679c64d6c518c88.js
0 → 100644
View file @
add37019
webpackJsonp
([
64
],{
D6So
:
function
(
t
,
e
){},
Dq6T
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
l
=
a
(
"CCn6"
),
s
=
{
name
:
"index"
,
data
:
function
(){
return
{
searchFrom
:{
watchTime
:[]},
dialogLoading
:
!
1
,
dialogVisible
:
!
1
,
tableData
:[],
dialog
:{
list
:[],
total
:
0
,
register
:
0
,
coursesList
:[],
course
:
0
,
time
:
""
,
name
:
""
,
codeList
:[],
inNum
:
0
},
tableHead
:{}}},
methods
:{
defaultTime
:
function
(){
var
t
=
new
Date
,
e
=
t
.
getFullYear
(),
a
=
t
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
l
=
t
.
getDate
();
l
<
10
&&
(
l
=
"0"
+
l
);
var
s
=
e
+
"-"
+
a
+
"-01"
,
i
=
e
+
"-"
+
a
+
"-"
+
l
;
this
.
searchFrom
.
watchTime
=
[
s
,
i
]},
toDetail
:
function
(
t
,
e
,
a
){
var
s
=
this
;
this
.
dialogLoading
=!
0
,
this
.
dialogVisible
=!
0
;
var
i
=
{
cur_date
:
t
,
code
:
e
};
Object
(
l
.
_97
)(
i
).
then
(
function
(
l
){
s
.
dialog
.
name
=
s
.
tableHead
[
e
],
s
.
dialog
.
time
=
t
,
s
.
dialog
.
inNum
=
l
.
total
,
s
.
dialog
.
list
=
l
.
list
,
s
.
dialog
.
register
=
l
.
register
,
s
.
dialog
.
course
=
l
.
course
,
s
.
dialog
.
code
=
l
.
source
,
s
.
dialog
.
total
=
a
,
s
.
dialog
.
coursesList
=
l
.
courses
,
s
.
dialogLoading
=!
1
})},
getList
:
function
(){
var
t
=
this
,
e
=
{};
this
.
searchFrom
.
watchTime
&&
this
.
searchFrom
.
watchTime
.
length
>
0
&&
(
e
.
start_at
=
this
.
searchFrom
.
watchTime
[
0
],
e
.
end_at
=
this
.
searchFrom
.
watchTime
[
1
]),
Object
(
l
.
_115
)(
e
).
then
(
function
(
e
){
t
.
tableHead
=
e
[
0
],
t
.
tableData
=
e
.
slice
(
1
)})}},
mounted
:
function
(){
this
.
defaultTime
(),
this
.
getList
()}},
i
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"index"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
searchFrom
,
"label-width"
:
"100px"
}},[
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
span
:
12
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"时间"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"daterange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"value-format"
:
"yyyy-MM-dd"
,
"end-placeholder"
:
"结束日期"
},
model
:{
value
:
t
.
searchFrom
.
watchTime
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"watchTime"
,
e
)},
expression
:
"searchFrom.watchTime"
}})],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
6
,
offset
:
6
}},[
a
(
"el-form-item"
,{
staticStyle
:{
float
:
"right"
}},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
getList
}},[
t
.
_v
(
"搜索"
)])],
1
)],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
tableData
,
border
:
""
}},
t
.
_l
(
t
.
tableHead
,
function
(
e
,
l
){
return
a
(
"el-table-column"
,{
key
:
e
,
attrs
:{
label
:
e
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
"cur_date"
!==
l
?
a
(
"div"
,{
staticClass
:
"link"
,
on
:{
click
:
function
(
a
){
t
.
toDetail
(
e
.
row
.
cur_date
,
l
,
e
.
row
[
l
])}}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
row
[
l
])
+
"
\n
"
)]):
t
.
_e
(),
t
.
_v
(
" "
),
"cur_date"
===
l
?
a
(
"span"
,[
t
.
_v
(
" "
+
t
.
_s
(
e
.
row
[
l
]))]):
t
.
_e
()]}}])})})),
t
.
_v
(
" "
),
a
(
"el-dialog"
,{
attrs
:{
title
:
"详情"
,
visible
:
t
.
dialogVisible
,
width
:
"80%"
},
on
:{
"update:visible"
:
function
(
e
){
t
.
dialogVisible
=
e
}}},[
a
(
"div"
,{
directives
:[{
name
:
"loading"
,
rawName
:
"v-loading"
,
value
:
t
.
dialogLoading
,
expression
:
"dialogLoading"
}]},[
a
(
"el-row"
,{
staticClass
:
"dialog-tips"
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
时间:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
time
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
time
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
状态:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
name
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
总数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
total
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
total
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
进系统人数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
inNum
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
inNum
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
注册数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
register
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
register
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
t
.
_v
(
"
\n
有课人数:
\n
"
)]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
a
(
"div"
,{
attrs
:{
title
:
t
.
dialog
.
course
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
t
.
dialog
.
course
)
+
"
\n
"
)])]),
t
.
_v
(
" "
),
t
.
_l
(
t
.
dialog
.
code
,
function
(
e
,
l
){
return
a
(
"div"
,{
key
:
e
.
source_name
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
a
(
"div"
,{
attrs
:{
title
:
e
.
source_name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
source_name
)
+
":
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
source_num
)
+
"
\n
"
)])],
1
)}),
t
.
_v
(
" "
),
t
.
_l
(
t
.
dialog
.
coursesList
,
function
(
e
,
l
){
return
a
(
"div"
,{
key
:
e
.
courses_name
},[
a
(
"el-col"
,{
staticClass
:
"text-r"
,
attrs
:{
span
:
5
}},[
a
(
"div"
,{
attrs
:{
title
:
e
.
courses_name
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
courses_name
)
+
":
\n
"
)])]),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
3
}},[
t
.
_v
(
"
\n
"
+
t
.
_s
(
e
.
courses_num
)
+
"
\n
"
)])],
1
)})],
2
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
dialog
.
list
}},[
a
(
"el-table-column"
,{
attrs
:{
prop
:
"nickname"
,
label
:
"昵称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"user_id"
,
label
:
"老系统用户ID"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"title"
,
label
:
"课程名称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"instructor"
,
label
:
"开课日期"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"source_title"
,
label
:
"来源名称"
}}),
t
.
_v
(
" "
),
a
(
"el-table-column"
,{
attrs
:{
prop
:
"created_at"
,
label
:
"注册时间"
}})],
1
)],
1
)])],
1
)},
staticRenderFns
:[]};
var
r
=
a
(
"VU/8"
)(
s
,
i
,
!
1
,
function
(
t
){
a
(
"D6So"
)},
"data-v-1af5a426"
,
null
);
e
.
default
=
r
.
exports
}});
\ No newline at end of file
dist/static/js/65.6a74f4cbe19933a7a3cd.js
0 → 100644
View file @
add37019
webpackJsonp
([
65
],{
"5t3x"
:
function
(
t
,
e
,
a
){
"use strict"
;
Object
.
defineProperty
(
e
,
"__esModule"
,{
value
:
!
0
});
var
r
=
a
(
"CCn6"
),
s
=
{
name
:
"index"
,
data
:
function
(){
return
{
searchFrom
:{
watchTime
:[]},
tableData
:[],
tableHead
:[]}},
methods
:{
defaultTime
:
function
(){
var
t
=
new
Date
,
e
=
t
.
getFullYear
(),
a
=
t
.
getMonth
()
+
1
;
a
<
10
&&
(
a
=
"0"
+
a
);
var
r
=
t
.
getDate
();
r
<
10
&&
(
r
=
"0"
+
r
);
var
s
=
e
+
"-"
+
a
+
"-01"
,
l
=
e
+
"-"
+
a
+
"-"
+
r
;
this
.
searchFrom
.
watchTime
=
[
s
,
l
]},
getList
:
function
(){
var
t
=
this
,
e
=
{};
this
.
searchFrom
.
watchTime
&&
this
.
searchFrom
.
watchTime
.
length
>
0
&&
(
e
.
start_at
=
this
.
searchFrom
.
watchTime
[
0
],
e
.
end_at
=
this
.
searchFrom
.
watchTime
[
1
]),
Object
(
r
.
_118
)(
e
).
then
(
function
(
e
){
t
.
tableHead
=
e
[
0
],
t
.
tableData
=
e
.
slice
(
1
)})}},
mounted
:
function
(){
this
.
defaultTime
(),
this
.
getList
()}},
l
=
{
render
:
function
(){
var
t
=
this
,
e
=
t
.
$createElement
,
a
=
t
.
_self
.
_c
||
e
;
return
a
(
"div"
,{
staticClass
:
"index"
},[
a
(
"el-form"
,{
ref
:
"searchFrom"
,
attrs
:{
model
:
t
.
searchFrom
,
"label-width"
:
"100px"
}},[
a
(
"el-row"
,[
a
(
"el-col"
,{
attrs
:{
span
:
12
}},[
a
(
"el-form-item"
,{
attrs
:{
label
:
"时间"
}},[
a
(
"el-date-picker"
,{
attrs
:{
type
:
"daterange"
,
"range-separator"
:
"至"
,
"start-placeholder"
:
"开始日期"
,
"value-format"
:
"yyyy-MM-dd"
,
"end-placeholder"
:
"结束日期"
},
model
:{
value
:
t
.
searchFrom
.
watchTime
,
callback
:
function
(
e
){
t
.
$set
(
t
.
searchFrom
,
"watchTime"
,
e
)},
expression
:
"searchFrom.watchTime"
}})],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-col"
,{
attrs
:{
span
:
6
,
offset
:
6
}},[
a
(
"el-form-item"
,{
staticStyle
:{
float
:
"right"
}},[
a
(
"el-button"
,{
attrs
:{
type
:
"primary"
},
on
:{
click
:
t
.
getList
}},[
t
.
_v
(
"搜索"
)])],
1
)],
1
)],
1
)],
1
),
t
.
_v
(
" "
),
a
(
"el-table"
,{
staticStyle
:{
width
:
"100%"
},
attrs
:{
data
:
t
.
tableData
,
border
:
""
}},
t
.
_l
(
t
.
tableHead
,
function
(
e
,
r
){
return
a
(
"el-table-column"
,{
key
:
e
,
attrs
:{
label
:
e
},
scopedSlots
:
t
.
_u
([{
key
:
"default"
,
fn
:
function
(
e
){
return
[
a
(
"span"
,{
domProps
:{
innerHTML
:
t
.
_s
(
e
.
row
[
r
])}})]}}])})}))],
1
)},
staticRenderFns
:[]};
var
n
=
a
(
"VU/8"
)(
s
,
l
,
!
1
,
function
(
t
){
a
(
"rRcd"
)},
"data-v-162158ea"
,
null
);
e
.
default
=
n
.
exports
},
rRcd
:
function
(
t
,
e
){}});
\ No newline at end of file
dist/static/js/app.edb4749eb2f1706bf0b0.js
0 → 100644
View file @
add37019
webpackJsonp
([
68
],{
"/Bbx"
:
function
(
e
,
n
){},
IcnI
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"NYxO"
),
a
=
t
(
"lRwf"
),
r
=
t
.
n
(
a
),
i
=
t
(
"zSLJ"
),
u
=
{
setToken
:
function
(
e
,
n
){
e
.
token
=
n
,
i
.
a
.
set
(
"cc_token"
,
n
)},
setUserName
:
function
(
e
,
n
){
e
.
userName
=
n
,
i
.
a
.
set
(
"cc_user_name"
,
n
)},
setPermission
:
function
(
e
,
n
){
e
.
progressList
=
n
,
localStorage
.
setItem
(
"permission"
,
JSON
.
stringify
(
n
))},
setMenu
:
function
(
e
,
n
){
e
.
menuList
=
n
},
readonly
:
function
(
e
,
n
){
e
.
readonly
=
n
},
deletePermission
:
function
(
e
,
n
){
e
.
deletePermission
=
n
},
distribution
:
function
(
e
,
n
){
e
.
distribution
=
n
},
classManage
:
function
(
e
,
n
){
e
.
classManage
=
n
},
classManageUnlimited
:
function
(
e
,
n
){
e
.
classManageUnlimited
=
n
},
classTakeUnlimited
:
function
(
e
,
n
){
e
.
classTakeUnlimited
=
n
},
promoter
:
function
(
e
,
n
){
e
.
promoter
=
n
},
mainCanShow
:
function
(
e
){
e
.
mainLoad
=!
1
},
mainUnShow
:
function
(
e
){
e
.
mainLoad
=!
0
},
changeParentRouter
:
function
(
e
,
n
){
e
.
menuList
.
find
(
function
(
e
){
return
e
.
name
===
n
.
name
}).
routerName
=
n
.
to
.
name
},
progress
:
function
(
e
,
n
){
switch
(
n
.
type
){
case
"new"
:
e
.
progressList
.
push
({
num
:
0
,
id
:
n
.
id
});
break
;
case
"change"
:
e
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
n
.
id
}).
num
=
n
.
num
;
break
;
case
"delete"
:
e
.
progressList
.
find
(
function
(
e
){
return
e
.
id
===
n
.
id
})}}};
r
.
a
.
use
(
o
.
a
);
n
.
a
=
new
o
.
a
.
Store
({
state
:{
show
:
!
1
,
userName
:
""
,
token
:
""
,
export
:
!
1
,
orderRefund
:
!
1
,
permission
:
!
1
,
readonly
:
!
0
,
deletePermission
:
!
1
,
distribution
:
!
1
,
classManage
:
!
1
,
classManageUnlimited
:
!
1
,
classTakeUnlimited
:
!
1
,
promoter
:
!
1
,
mainLoad
:
!
0
,
menuList
:[],
menuType
:
!
1
,
nowTab
:
"first"
,
progressList
:[],
openedTab
:[{
value
:
"首页"
,
routerName
:
"first"
,
name
:
"first"
,
delNo
:
!
0
,
path
:
"/index"
}]},
mutations
:
u
,
actions
:{
setToken
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setToken"
,
n
)},
setUserName
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setUserName"
,
n
)},
setProgress
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"progress"
,
n
)},
setPermission
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setPermission"
,
n
)},
setMenu
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"setMenu"
,
n
)},
readonly
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"readonly"
,
n
)},
deletePermission
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"deletePermission"
,
n
)},
distribution
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"distribution"
,
n
)},
classManage
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"classManage"
,
n
)},
classManageUnlimited
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"classManageUnlimited"
,
n
)},
classTakeUnlimited
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"classTakeUnlimited"
,
n
)},
promoter
:
function
(
e
,
n
){(
0
,
e
.
commit
)(
"promoter"
,
n
)}}})},
NHnr
:
function
(
e
,
n
,
t
){
"use strict"
;
Object
.
defineProperty
(
n
,
"__esModule"
,{
value
:
!
0
});
var
o
=
[{
name
:
""
,
value
:
"教研管理"
,
icon
:
"icon-material"
,
list
:[{
value
:
"教材列表"
,
routerName
:
"resources"
,
path
:
"/resources"
,
cover
:
"1-1"
,
router
:{
path
:
"/resources"
,
name
:
"resources"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
1
)]).
then
(
function
(){
var
n
=
[
t
(
"z5EG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"商品课程"
,
icon
:
"icon-shangpin1"
,
list
:[{
value
:
"课程列表"
,
routerName
:
"lesson"
,
path
:
"/lesson"
,
cover
:
"2-1"
,
router
:{
path
:
"/lesson"
,
name
:
"lesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
9
)]).
then
(
function
(){
var
n
=
[
t
(
"AbSL"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"商品列表"
,
routerName
:
"shop"
,
path
:
"/shop"
,
cover
:
"4-1"
,
router
:{
path
:
"/shop"
,
name
:
"shop"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
15
)]).
then
(
function
(){
var
n
=
[
t
(
"1djJ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"期数管理"
,
icon
:
"icon-kecheng"
,
list
:[{
value
:
"期数列表"
,
routerName
:
"periods"
,
path
:
"/periods"
,
cover
:
"2-2"
,
router
:{
path
:
"/periods"
,
name
:
"periods"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
26
)]).
then
(
function
(){
var
n
=
[
t
(
"ayGs"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"班级列表"
,
routerName
:
"class"
,
path
:
"/class"
,
cover
:
"2-3"
,
router
:{
path
:
"/class"
,
name
:
"class"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
13
)]).
then
(
function
(){
var
n
=
[
t
(
"OX9A"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"市场招生统计"
,
routerName
:
"marketStatistics"
,
path
:
"/marketStatistics"
,
cover
:
"2-5"
,
router
:{
path
:
"/marketStatistics"
,
name
:
"marketStatistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
50
)]).
then
(
function
(){
var
n
=
[
t
(
"SKyX"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"不上课日期"
,
routerName
:
"noLesson"
,
path
:
"/noLesson"
,
cover
:
"2-4"
,
router
:{
path
:
"/noLesson"
,
name
:
"noLesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
34
)]).
then
(
function
(){
var
n
=
[
t
(
"sg/1"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"自化课列表"
,
routerName
:
"autoClass"
,
path
:
"/autoClass"
,
cover
:
"2-6"
,
router
:{
path
:
"/autoClass"
,
name
:
"autoClass"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
29
)]).
then
(
function
(){
var
n
=
[
t
(
"f9Sx"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"销售管理"
,
icon
:
"icon-laoshi"
,
list
:[{
value
:
"教师列表"
,
routerName
:
"teacher"
,
path
:
"/teacher"
,
cover
:
"3-1"
,
router
:{
path
:
"/teacher"
,
name
:
"teacher"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
2
)]).
then
(
function
(){
var
n
=
[
t
(
"Y0Vi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"月课订单列表"
,
routerName
:
"monthOrder"
,
path
:
"/monthOrder"
,
cover
:
"5-10"
,
router
:{
path
:
"/monthOrder"
,
name
:
"monthOrder"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
5
)]).
then
(
function
(){
var
n
=
[
t
(
"xdzM"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"月课订单统计"
,
routerName
:
"monthOrderCount"
,
path
:
"/monthOrderCount"
,
cover
:
"5-12"
,
router
:{
path
:
"/monthOrderCount"
,
name
:
"monthOrderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
53
)]).
then
(
function
(){
var
n
=
[
t
(
"v/LD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"退款列表"
,
routerName
:
"refund"
,
path
:
"/refund"
,
cover
:
"5-2"
,
router
:{
path
:
"/refund"
,
name
:
"refund"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
40
)]).
then
(
function
(){
var
n
=
[
t
(
"89rD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"业绩排行"
,
routerName
:
"achievement"
,
path
:
"/achievement"
,
cover
:
"5-7"
,
router
:{
path
:
"/achievement"
,
name
:
"achievement"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
25
)]).
then
(
function
(){
var
n
=
[
t
(
"Fmgy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"话术列表"
,
routerName
:
"talkingSkill"
,
path
:
"/talkingSkill"
,
cover
:
"11-6"
,
router
:{
path
:
"/talkingSkill"
,
name
:
"talkingSkill"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
24
)]).
then
(
function
(){
var
n
=
[
t
(
"CUAv"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"用户管理"
,
icon
:
"icon-laoshi"
,
list
:[{
value
:
"用户列表"
,
routerName
:
"user"
,
path
:
"/user"
,
cover
:
"3-2"
,
router
:{
path
:
"/user"
,
name
:
"user"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
4
)]).
then
(
function
(){
var
n
=
[
t
(
"jFLA"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"老系统用户列表"
,
routerName
:
"oldUser"
,
path
:
"/oldUser"
,
cover
:
"3-3"
,
router
:{
path
:
"/oldUser"
,
name
:
"oldUser"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
39
)]).
then
(
function
(){
var
n
=
[
t
(
"K2yr"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"用户积分列表"
,
routerName
:
"integral"
,
path
:
"/integral"
,
cover
:
"3-4"
,
router
:{
path
:
"/integral"
,
name
:
"integral"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
14
)]).
then
(
function
(){
var
n
=
[
t
(
"NDyu"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"绑定子账号列表"
,
routerName
:
"subList"
,
path
:
"/subList"
,
cover
:
"3-5"
,
router
:{
path
:
"/subList"
,
name
:
"subList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
35
)]).
then
(
function
(){
var
n
=
[
t
(
"L5jB"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"订单管理"
,
icon
:
"icon-dingdan"
,
list
:[{
value
:
"日课订单列表"
,
routerName
:
"order"
,
path
:
"/order"
,
cover
:
"5-1"
,
router
:{
path
:
"/order"
,
name
:
"order"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
8
)]).
then
(
function
(){
var
n
=
[
t
(
"2qmY"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"提现列表"
,
routerName
:
"putForward"
,
path
:
"/putForward"
,
cover
:
"5-3"
,
router
:{
path
:
"/putForward"
,
name
:
"putForward"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
41
)]).
then
(
function
(){
var
n
=
[
t
(
"F5pf"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"发货管理"
,
routerName
:
"consignment"
,
path
:
"/consignment"
,
cover
:
"5-4"
,
router
:{
path
:
"/consignment"
,
name
:
"consignment"
,
component
:
function
(
e
){
return
t
.
e
(
61
).
then
(
function
(){
var
n
=
[
t
(
"usUK"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"订单统计"
,
routerName
:
"orderCount"
,
path
:
"/orderCount"
,
cover
:
"5-5"
,
router
:{
path
:
"/orderCount"
,
name
:
"orderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
60
)]).
then
(
function
(){
var
n
=
[
t
(
"s7i+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"日课订单统计"
,
routerName
:
"dayOrderCount"
,
path
:
"/dayOrderCount"
,
cover
:
"5-11"
,
router
:{
path
:
"/dayOrderCount"
,
name
:
"dayOrderCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
51
)]).
then
(
function
(){
var
n
=
[
t
(
"mjLz"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"优惠券列表"
,
routerName
:
"coupon"
,
path
:
"/coupon"
,
cover
:
"5-6"
,
router
:{
path
:
"/coupon"
,
name
:
"coupon"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
37
)]).
then
(
function
(){
var
n
=
[
t
(
"WvRy"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"扫码入课列表"
,
routerName
:
"notBuyClass"
,
path
:
"/notBuyClass"
,
cover
:
"5-8"
,
router
:{
path
:
"/notBuyClass"
,
name
:
"notBuyClass"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
22
)]).
then
(
function
(){
var
n
=
[
t
(
"E6Zo"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"外部订单列表"
,
routerName
:
"yunji"
,
path
:
"/yunji"
,
cover
:
"5-9"
,
router
:{
path
:
"/yunji"
,
name
:
"yunji"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
16
)]).
then
(
function
(){
var
n
=
[
t
(
"69L+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"兑换码管理"
,
routerName
:
"exchange"
,
path
:
"/exchange"
,
cover
:
"5-13"
,
router
:{
path
:
"/exchange"
,
name
:
"exchange"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
12
)]).
then
(
function
(){
var
n
=
[
t
(
"CvLZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"数据管理"
,
icon
:
"icon-shezhi"
,
list
:[{
value
:
"市场招生列表"
,
routerName
:
"marketEnrollmentConversionList"
,
path
:
"/marketEnrollmentConversionList"
,
cover
:
"9-8"
,
router
:{
path
:
"/marketEnrollmentConversionList"
,
name
:
"marketEnrollmentConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
57
)]).
then
(
function
(){
var
n
=
[
t
(
"lWjU"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"渠道转化数据"
,
routerName
:
"channelConversionList"
,
path
:
"/channelConversionList"
,
cover
:
"9-3"
,
router
:{
path
:
"/channelConversionList"
,
name
:
"channelConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
43
)]).
then
(
function
(){
var
n
=
[
t
(
"h0PA"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"渠道分商品转化数据"
,
routerName
:
"channelGoodsConversionList"
,
path
:
"/channelGoodsConversionList"
,
cover
:
"9-2"
,
router
:{
path
:
"/channelGoodsConversionList"
,
name
:
"channelGoodsConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
42
)]).
then
(
function
(){
var
n
=
[
t
(
"G/kT"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"期数转化数据"
,
routerName
:
"periodsConversionList"
,
path
:
"/periodsConversionList"
,
cover
:
"9-4"
,
router
:{
path
:
"/periodsConversionList"
,
name
:
"periodsConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
52
)]).
then
(
function
(){
var
n
=
[
t
(
"+Xua"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"销售小组数据"
,
routerName
:
"squadConversionList"
,
path
:
"/squadConversionList"
,
cover
:
"9-5"
,
router
:{
path
:
"/squadConversionList"
,
name
:
"squadConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
49
)]).
then
(
function
(){
var
n
=
[
t
(
"M7X6"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"班主任转化数据"
,
routerName
:
"teacherConversionList"
,
path
:
"/teacherConversionList"
,
cover
:
"9-6"
,
router
:{
path
:
"/teacherConversionList"
,
name
:
"teacherConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
58
)]).
then
(
function
(){
var
n
=
[
t
(
"6yV8"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"各期数班主任转化数据"
,
routerName
:
"teacherPeriodsConversionList"
,
path
:
"/teacherPeriodsConversionList"
,
cover
:
"9-7"
,
router
:{
path
:
"/teacherPeriodsConversionList"
,
name
:
"teacherPeriodsConversionList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
63
)]).
then
(
function
(){
var
n
=
[
t
(
"TtuZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"明细数据列表"
,
routerName
:
"channelTransList"
,
path
:
"/channelTransList"
,
cover
:
"9-1"
,
router
:{
path
:
"/channelTransList"
,
name
:
"channelTransList"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
44
)]).
then
(
function
(){
var
n
=
[
t
(
"XXYb"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"实物管理"
,
icon
:
"icon-shu"
,
list
:[{
value
:
"单品列表"
,
routerName
:
"single"
,
path
:
"/single"
,
cover
:
"6-1"
,
router
:{
path
:
"/single"
,
name
:
"single"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
21
)]).
then
(
function
(){
var
n
=
[
t
(
"B31M"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"盒子列表"
,
routerName
:
"box"
,
path
:
"/box"
,
cover
:
"6-2"
,
router
:{
path
:
"/box"
,
name
:
"box"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
18
)]).
then
(
function
(){
var
n
=
[
t
(
"+vCD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"待发货列表"
,
routerName
:
"logistics"
,
path
:
"/logistics"
,
cover
:
"6-3"
,
router
:{
path
:
"/logistics"
,
name
:
"logistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
23
)]).
then
(
function
(){
var
n
=
[
t
(
"eYh/"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"公众号"
,
icon
:
"icon-ai-weixin"
,
list
:[{
value
:
"自动回复"
,
routerName
:
"focusReply"
,
path
:
"/focusReply"
,
cover
:
"7-1"
,
router
:{
path
:
"/focusReply"
,
name
:
"focusReply"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
19
)]).
then
(
function
(){
var
n
=
[
t
(
"CK6D"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"关键词回复"
,
routerName
:
"autoReply"
,
path
:
"/autoReply"
,
cover
:
"7-2"
,
router
:{
path
:
"/autoReply"
,
name
:
"autoReply"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
20
)]).
then
(
function
(){
var
n
=
[
t
(
"65NY"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"公众号菜单"
,
routerName
:
"weChat"
,
path
:
"/weChat"
,
cover
:
"7-3"
,
router
:{
path
:
"/weChat"
,
name
:
"weChat"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
27
)]).
then
(
function
(){
var
n
=
[
t
(
"q5av"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"素材管理"
,
routerName
:
"weChatResource"
,
path
:
"/weChatResource"
,
cover
:
"7-4"
,
router
:{
path
:
"/weChatResource"
,
name
:
"weChatResource"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
28
)]).
then
(
function
(){
var
n
=
[
t
(
"Xhqp"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"二维码管理"
,
routerName
:
"qrcode"
,
path
:
"/qrcode"
,
cover
:
"7-6"
,
router
:{
path
:
"/qrcode"
,
name
:
"qrcode"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
17
)]).
then
(
function
(){
var
n
=
[
t
(
"lNiQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"群发助手"
,
routerName
:
"groupSend"
,
path
:
"/groupSend"
,
cover
:
"7-7"
,
router
:{
path
:
"/groupSend"
,
name
:
"groupSend"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
10
)]).
then
(
function
(){
var
n
=
[
t
(
"oerw"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"关注取关统计"
,
routerName
:
"watchCount"
,
path
:
"/watchCount"
,
cover
:
"7-8"
,
router
:{
path
:
"/watchCount"
,
name
:
"watchCount"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
64
)]).
then
(
function
(){
var
n
=
[
t
(
"Dq6T"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"微信统计"
,
routerName
:
"weChatStatistics"
,
path
:
"/weChatStatistics"
,
cover
:
"7-10"
,
router
:{
path
:
"/weChatStatistics"
,
name
:
"weChatStatistics"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
65
)]).
then
(
function
(){
var
n
=
[
t
(
"5t3x"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"测试"
,
routerName
:
"test"
,
path
:
"/test"
,
cover
:
"7-11"
,
router
:{
path
:
"/test"
,
name
:
"test"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
32
)]).
then
(
function
(){
var
n
=
[
t
(
"9ZSL"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"系统管理"
,
icon
:
"icon-xitongquanxian"
,
list
:[{
value
:
"首页管理"
,
routerName
:
"banner"
,
path
:
"/banner"
,
cover
:
"7-5"
,
router
:{
path
:
"/banner"
,
name
:
"banner"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
36
)]).
then
(
function
(){
var
n
=
[
t
(
"CGL6"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"外部投放管理"
,
routerName
:
"externalLaunch"
,
path
:
"/externalLaunch"
,
cover
:
"7-9"
,
router
:{
path
:
"/externalLaunch"
,
name
:
"externalLaunch"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
55
)]).
then
(
function
(){
var
n
=
[
t
(
"NrkQ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"来源码管理"
,
routerName
:
"sourceManage"
,
path
:
"/sourceManage"
,
cover
:
"10-1"
,
router
:{
path
:
"/sourceManage"
,
name
:
"sourceManage"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
38
)]).
then
(
function
(){
var
n
=
[
t
(
"/ubI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"短信发送记录"
,
routerName
:
"smsRecord"
,
path
:
"/smsRecord"
,
cover
:
"10-2"
,
router
:{
path
:
"/smsRecord"
,
name
:
"smsRecord"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
30
)]).
then
(
function
(){
var
n
=
[
t
(
"qjS+"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"系统配置"
,
routerName
:
"config"
,
path
:
"/config"
,
cover
:
"10-3"
,
router
:{
path
:
"/config"
,
name
:
"config"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
54
)]).
then
(
function
(){
var
n
=
[
t
(
"TPCG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]},{
name
:
""
,
value
:
"后台管理"
,
icon
:
"icon-shezhi"
,
list
:[{
value
:
"账号管理"
,
routerName
:
"admin"
,
path
:
"/admin"
,
cover
:
"8-1"
,
router
:{
path
:
"/admin"
,
name
:
"admin"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
48
)]).
then
(
function
(){
var
n
=
[
t
(
"+jTk"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"角色管理"
,
routerName
:
"role"
,
path
:
"/role"
,
cover
:
"8-2"
,
router
:{
path
:
"/role"
,
name
:
"role"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
47
)]).
then
(
function
(){
var
n
=
[
t
(
"Vt1u"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"菜单管理"
,
routerName
:
"menu"
,
path
:
"/menu"
,
cover
:
"8-3"
,
router
:{
path
:
"/menu"
,
name
:
"menu"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
66
)]).
then
(
function
(){
var
n
=
[
t
(
"aTXs"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"系统配置"
,
routerName
:
"sysConfig"
,
path
:
"/sysConfig"
,
cover
:
"8-4"
,
router
:{
path
:
"/sysConfig"
,
name
:
"sysConfig"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
33
)]).
then
(
function
(){
var
n
=
[
t
(
"gaNG"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}},{
value
:
"操作日志"
,
routerName
:
"adminLog"
,
path
:
"/adminLog"
,
cover
:
"8-5"
,
router
:{
path
:
"/adminLog"
,
name
:
"adminLog"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
45
)]).
then
(
function
(){
var
n
=
[
t
(
"WZgi"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}}]}],
a
=
{
name
:
"App"
,
data
:
function
(){
return
{}},
mounted
:
function
(){
var
e
=
this
;
if
(
window
.
location
.
href
.
indexOf
(
"login"
)
<
0
){
var
n
=
this
.
$store
.
state
.
progressList
;
console
.
log
(
this
.
$store
.
state
);
var
a
=
[];
this
.
$router
.
options
.
routes
[
0
].
children
=
[];
var
r
=
{
path
:
"/userDetail/:id"
,
name
:
"userDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
11
)]).
then
(
function
(){
var
n
=
[
t
(
"9PRC"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}},
i
=
{
path
:
"/teacher/:id"
,
name
:
"teacherDetail"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
6
)]).
then
(
function
(){
var
n
=
[
t
(
"hFUZ"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}};
o
.
forEach
(
function
(
t
){
var
o
=!
1
,
u
=
[];
t
.
list
.
forEach
(
function
(
t
){
var
a
=
n
.
find
(
function
(
e
){
return
e
.
cover
===
t
.
cover
});
a
&&
(
t
.
router
.
meta
=
{},
t
.
router
.
meta
.
readonly
=!!
a
.
readonly
,
t
.
router
.
meta
.
delete
=!!
a
.
delete
,
t
.
router
.
meta
.
export
=!!
a
.
export
,
t
.
router
.
meta
.
refund
=!!
a
.
refund
,
t
.
router
.
meta
.
distribution
=!!
a
.
distribution
,
t
.
router
.
meta
.
classManage
=!!
a
.
classManage
,
t
.
router
.
meta
.
classManageUnlimited
=!!
a
.
classManageUnlimited
,
t
.
router
.
meta
.
classTakeUnlimited
=!!
a
.
classTakeUnlimited
,
t
.
router
.
meta
.
promoter
=!!
a
.
promoter
,
u
.
push
(
t
),
"3-1"
===
a
.
cover
&&
(
i
.
meta
=
{},
i
.
meta
.
readonly
=
a
.
readonly
,
i
.
meta
.
delete
=!!
a
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
i
)),
"3-2"
===
a
.
cover
&&
(
r
.
meta
=
{},
r
.
meta
.
readonly
=
a
.
readonly
,
r
.
meta
.
delete
=!!
a
.
delete
,
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
r
)),
e
.
$router
.
options
.
routes
[
0
].
children
.
push
(
t
.
router
),
o
=!
0
)}),
o
&&
(
t
.
list
=
u
,
a
.
push
(
t
))}),
this
.
$router
.
addRoutes
([
this
.
$router
.
options
.
routes
[
0
]]),
this
.
$store
.
dispatch
(
"setMenu"
,
a
)}}},
r
=
{
render
:
function
(){
var
e
=
this
.
$createElement
,
n
=
this
.
_self
.
_c
||
e
;
return
n
(
"div"
,{
attrs
:{
id
:
"app"
}},[
n
(
"router-view"
)],
1
)},
staticRenderFns
:[]};
var
i
=
t
(
"VU/8"
)(
a
,
r
,
!
1
,
function
(
e
){
t
(
"/Bbx"
)},
null
,
null
).
exports
,
u
=
t
(
"lRwf"
),
c
=
t
.
n
(
u
),
s
=
t
(
"YaEn"
),
l
=
t
(
"IcnI"
),
h
=
t
(
"zL8q"
),
m
=
t
.
n
(
h
);
c
.
a
.
use
(
m
.
a
),
c
.
a
.
config
.
productionTip
=!
1
,
new
c
.
a
({
el
:
"#app"
,
store
:
l
.
a
,
router
:
s
.
a
,
components
:{
App
:
i
},
template
:
"<App/>"
})},
OMN4
:
function
(
e
,
n
){
e
.
exports
=
axios
},
YaEn
:
function
(
e
,
n
,
t
){
"use strict"
;
var
o
=
t
(
"IcnI"
),
a
=
t
(
"/ocq"
),
r
=
t
(
"zSLJ"
),
i
=
new
a
.
a
({
routes
:[{
path
:
"/"
,
name
:
"index"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
7
)]).
then
(
function
(){
var
n
=
[
t
(
"jHcp"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
redirect
:{
name
:
"first"
},
children
:[{
path
:
""
,
name
:
"first"
,
component
:
function
(
e
){
return
t
.
e
(
31
).
then
(
function
(){
var
n
=
[
t
(
"sJm1"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)}}]},{
path
:
"/login"
,
name
:
"login"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
56
)]).
then
(
function
(){
var
n
=
[
t
(
"0HId"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/register"
,
name
:
"register"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
46
)]).
then
(
function
(){
var
n
=
[
t
(
"90Fj"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/outManager"
,
name
:
"outManager"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
62
)]).
then
(
function
(){
var
n
=
[
t
(
"hLMI"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/upload"
,
name
:
"upload"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
59
)]).
then
(
function
(){
var
n
=
[
t
(
"iPJD"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}},{
path
:
"/newLesson"
,
name
:
"newLesson"
,
component
:
function
(
e
){
return
Promise
.
all
([
t
.
e
(
0
),
t
.
e
(
3
)]).
then
(
function
(){
var
n
=
[
t
(
"4t0V"
)];
e
.
apply
(
null
,
n
)}.
bind
(
this
)).
catch
(
t
.
oe
)},
meta
:{
skip_auth
:
!
0
}}]});
i
.
beforeEach
(
function
(
e
,
n
,
t
){
if
(
o
.
a
.
commit
(
"mainCanShow"
),
r
.
a
.
get
(
"cc_token"
)
&&
(
o
.
a
.
dispatch
(
"setToken"
,
r
.
a
.
get
(
"cc_token"
)),
o
.
a
.
dispatch
(
"setPermission"
,
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
))),
null
!==
r
.
a
.
get
(
"cc_user_name"
)
&&
o
.
a
.
dispatch
(
"setUserName"
,
r
.
a
.
get
(
"cc_user_name"
))),
o
.
a
.
state
.
nowTab
=
e
.
name
,
e
.
matched
.
length
>
1
&&
"first"
!==
e
.
name
){
for
(
var
a
=
void
0
,
i
=
0
;
i
<
o
.
a
.
state
.
menuList
.
length
;
i
++
)
for
(
var
u
=
o
.
a
.
state
.
menuList
[
i
],
c
=
0
;
c
<
u
.
list
.
length
;
c
++
){
var
s
=
u
.
list
[
c
];
s
.
path
===
e
.
path
&&
(
a
=
s
)}
o
.
a
.
state
.
openedTab
.
indexOf
(
a
)
<
0
&&
o
.
a
.
state
.
openedTab
.
push
(
a
)}
if
(
e
.
meta
.
readonly
?
o
.
a
.
dispatch
(
"readonly"
,
!
0
):
o
.
a
.
dispatch
(
"readonly"
,
!
1
),
o
.
a
.
state
.
orderRefund
=
e
.
meta
.
refund
,
o
.
a
.
state
.
export
=
e
.
meta
.
export
,
o
.
a
.
state
.
distribution
=
e
.
meta
.
distribution
,
o
.
a
.
state
.
classManage
=
e
.
meta
.
classManage
,
o
.
a
.
dispatch
(
"promoter"
,
e
.
meta
.
promoter
),
o
.
a
.
dispatch
(
"classManageUnlimited"
,
e
.
meta
.
classManageUnlimited
),
o
.
a
.
dispatch
(
"classTakeUnlimited"
,
e
.
meta
.
classTakeUnlimited
),
console
.
log
(
e
.
meta
),
"userDetail"
===
e
.
name
){
var
l
=
JSON
.
parse
(
localStorage
.
getItem
(
"permission"
)).
find
(
function
(
e
){
return
"3-2"
===
e
.
cover
}).
readonly
;
o
.
a
.
dispatch
(
"readonly"
,
l
)}
e
.
meta
.
delete
?
o
.
a
.
dispatch
(
"deletePermission"
,
!
0
):
o
.
a
.
dispatch
(
"deletePermission"
,
!
1
),
e
.
matched
.
some
(
function
(
e
){
return
!
0
!==
e
.
meta
.
skip_auth
})
&&!
o
.
a
.
state
.
token
?
t
({
path
:
"/login"
}):
t
()}),
i
.
onError
(
function
(
e
){
var
n
=
e
.
message
.
match
(
/Loading chunk
(\d)
+ failed/g
),
t
=
i
.
history
.
pending
.
fullPath
;
n
&&
i
.
replace
(
t
)}),
n
.
a
=
i
},
lRwf
:
function
(
e
,
n
){
e
.
exports
=
Vue
},
zSLJ
:
function
(
e
,
n
,
t
){
"use strict"
;
n
.
a
=
{
set
:
function
(
e
,
n
,
t
){
var
o
=
new
Date
;
o
.
setTime
(
o
.
getTime
()
+
864
e5
*
t
),
window
.
document
.
cookie
=
e
+
"="
+
n
+
";path=/;expires="
+
o
.
toGMTString
()},
get
:
function
(
e
){
var
n
=
window
.
document
.
cookie
.
match
(
"(^|;) ?"
+
e
+
"=([^;]*)(;|$)"
);
return
n
?
n
[
2
]:
null
},
delete
:
function
(
e
){
this
.
set
(
e
,
""
,
-
1
)}}}},[
"NHnr"
]);
\ No newline at end of file
dist/static/js/manifest.2e53f1fa58f39d4d6ff2.js
0 → 100644
View file @
add37019
!
function
(
e
){
var
c
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
a
,
d
,
n
){
for
(
var
r
,
t
,
o
,
i
=
0
,
u
=
[];
i
<
a
.
length
;
i
++
)
t
=
a
[
i
],
f
[
t
]
&&
u
.
push
(
f
[
t
][
0
]),
f
[
t
]
=
0
;
for
(
r
in
d
)
Object
.
prototype
.
hasOwnProperty
.
call
(
d
,
r
)
&&
(
e
[
r
]
=
d
[
r
]);
for
(
c
&&
c
(
a
,
d
,
n
);
u
.
length
;)
u
.
shift
()();
if
(
n
)
for
(
i
=
0
;
i
<
n
.
length
;
i
++
)
o
=
b
(
b
.
s
=
n
[
i
]);
return
o
};
var
a
=
{},
f
=
{
69
:
0
};
function
b
(
c
){
if
(
a
[
c
])
return
a
[
c
].
exports
;
var
f
=
a
[
c
]
=
{
i
:
c
,
l
:
!
1
,
exports
:{}};
return
e
[
c
].
call
(
f
.
exports
,
f
,
f
.
exports
,
b
),
f
.
l
=!
0
,
f
.
exports
}
b
.
e
=
function
(
e
){
var
c
=
f
[
e
];
if
(
0
===
c
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
c
)
return
c
[
2
];
var
a
=
new
Promise
(
function
(
a
,
b
){
c
=
f
[
e
]
=
[
a
,
b
]});
c
[
2
]
=
a
;
var
d
=
document
.
getElementsByTagName
(
"head"
)[
0
],
n
=
document
.
createElement
(
"script"
);
n
.
type
=
"text/javascript"
,
n
.
charset
=
"utf-8"
,
n
.
async
=!
0
,
n
.
timeout
=
12
e4
,
b
.
nc
&&
n
.
setAttribute
(
"nonce"
,
b
.
nc
),
n
.
src
=
b
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"e873fe1445eecfdd8b41"
,
1
:
"9ca15b2cd835acbf3996"
,
2
:
"6e1cb6232134de4052f1"
,
3
:
"af3d62cd45bd72d7307d"
,
4
:
"238867bab3a2bdc17f6c"
,
5
:
"852cb46fc629c79ddc4a"
,
6
:
"87cc5d3d74bf551e2118"
,
7
:
"e9ef802a955a636f31cf"
,
8
:
"48f38322a9460d5f8278"
,
9
:
"42e8ba54f322dc10e413"
,
10
:
"a238853b1fa6c77378ca"
,
11
:
"1b4817c499e9fa7de24c"
,
12
:
"d6f5911bee9929689e3b"
,
13
:
"17db775913681bdbc154"
,
14
:
"3992558942211f2fc0fe"
,
15
:
"85a81db8f6419820a428"
,
16
:
"97ac779edc0504eb6fb2"
,
17
:
"ba1377397ade15fe0eba"
,
18
:
"5d9ad60beaf0433331d4"
,
19
:
"a6518c4c60ba6dd4975f"
,
20
:
"e0e156cc76047c7ae7c4"
,
21
:
"3a86be592c00eba7e0a4"
,
22
:
"f0759a003a4ce170bba3"
,
23
:
"ef1b27caebc2df254db1"
,
24
:
"a54ed0d812d1b4a94fb0"
,
25
:
"14c2592d91ff7403723d"
,
26
:
"aeef8c99b6902baafa89"
,
27
:
"570fad63025264f72f4e"
,
28
:
"03b295eef2aaf7105561"
,
29
:
"b99b833ddc9b9402bb10"
,
30
:
"15037abbbdbc5b686059"
,
31
:
"1c3f1b652018be655519"
,
32
:
"41e8421af8fa0a679b5f"
,
33
:
"6fbbde3c7f739071c7b8"
,
34
:
"aa76273377d065618bbb"
,
35
:
"d39edd09c62a75409b8d"
,
36
:
"b7d01ad3dd58ba9ecb57"
,
37
:
"9416f3204220b4455acc"
,
38
:
"e36a5d7a23ebf978dc59"
,
39
:
"efd14ef621ca6c12f712"
,
40
:
"672bfec1ef4b9cf6d2d7"
,
41
:
"c13e1ce397130139919a"
,
42
:
"6a42cfd3d4bd0370b2a6"
,
43
:
"0e3b0fdeadd0b28ae3f3"
,
44
:
"693c7ea53bd903c67c2d"
,
45
:
"840f7455cd16a9240f98"
,
46
:
"16c019458f0dddf31b87"
,
47
:
"db37df37e9f27c7ea39d"
,
48
:
"a853b1b9a91fcc73f287"
,
49
:
"c625b30373d294eea57e"
,
50
:
"9baf5814b410298452db"
,
51
:
"8dabef03a7b89a2ee527"
,
52
:
"9f462ec14b124b6c88b0"
,
53
:
"7b6da8726b816b191f5f"
,
54
:
"e8a3ee47f6e07b633352"
,
55
:
"66f703c8472dc70e4cbc"
,
56
:
"94fbfdb5ec67a7f8e0d3"
,
57
:
"1085749382f7829b2dd7"
,
58
:
"17486c8f57622a61def1"
,
59
:
"5eb48cd47e72f50753bf"
,
60
:
"ec57c2df8d83599ebec2"
,
61
:
"a90df80c2107d86bccd1"
,
62
:
"b4bc78e1a33061fec48b"
,
63
:
"6afc14a102a04334b255"
,
64
:
"399f8679c64d6c518c88"
,
65
:
"6a74f4cbe19933a7a3cd"
,
66
:
"0e0d2f0d4fd4916a2f91"
}[
e
]
+
".js"
;
var
r
=
setTimeout
(
t
,
12
e4
);
function
t
(){
n
.
onerror
=
n
.
onload
=
null
,
clearTimeout
(
r
);
var
c
=
f
[
e
];
0
!==
c
&&
(
c
&&
c
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
f
[
e
]
=
void
0
)}
return
n
.
onerror
=
n
.
onload
=
t
,
d
.
appendChild
(
n
),
a
},
b
.
m
=
e
,
b
.
c
=
a
,
b
.
d
=
function
(
e
,
c
,
a
){
b
.
o
(
e
,
c
)
||
Object
.
defineProperty
(
e
,
c
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
a
})},
b
.
n
=
function
(
e
){
var
c
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
b
.
d
(
c
,
"a"
,
c
),
c
},
b
.
o
=
function
(
e
,
c
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
c
)},
b
.
p
=
"/"
,
b
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/components/class/index.vue
View file @
add37019
...
@@ -64,33 +64,33 @@
...
@@ -64,33 +64,33 @@
<el-table-column
type=
"expand"
>
<el-table-column
type=
"expand"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-table
:data=
"[scope.row]"
style=
"width: 100%"
>
<el-table
:data=
"[scope.row]"
style=
"width: 100%"
>
<el-table-column
label=
"到课率"
>
<el-table-column
label=
"到课率"
:render-header=
"rendertip"
>
<template
slot-scope=
"scope2"
>
<template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
arrive_course_rate
|
percent
}}
</span>
<span>
{{
scope2
.
row
.
arrive_course_rate
|
percent
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"看课率"
>
<el-table-column
label=
"看课率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
watch_course_rate
|
percent
}}
</span>
<span>
{{
scope2
.
row
.
watch_course_rate
|
percent
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"完课率"
>
<el-table-column
label=
"完课率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
over_course_rate
|
percent
}}
</span>
<span>
{{
scope2
.
row
.
over_course_rate
|
percent
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"打卡率"
>
<el-table-column
label=
"打卡率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
clock_rate
|
percent
}}
</span>
<span>
{{
scope2
.
row
.
clock_rate
|
percent
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"全勤打卡率"
>
<el-table-column
label=
"全勤打卡率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
over_clock_rate
|
percent
}}
</span>
<span>
{{
scope2
.
row
.
over_clock_rate
|
percent
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"转化率"
>
<el-table-column
label=
"转化率"
:render-header=
"rendertip"
>
<
template
slot-scope=
"scope2"
>
<
template
slot-scope=
"scope2"
>
<span>
{{
scope2
.
row
.
transform_rate
|
percent
}}
</span>
<span>
{{
scope2
.
row
.
transform_rate
|
percent
}}
</span>
</
template
>
</
template
>
...
@@ -166,6 +166,7 @@ import classDialog from "./dialog";
...
@@ -166,6 +166,7 @@ import classDialog from "./dialog";
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
{
GOODSTYPE
,
CLASSSOURCE
}
from
"../../util/wordbook"
;
import
UserList
from
"./userList"
;
import
UserList
from
"./userList"
;
import
page
from
"../framework/page"
;
import
page
from
"../framework/page"
;
import
{
tipArr
}
from
"../../util/tipArr"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -225,6 +226,28 @@ export default {
...
@@ -225,6 +226,28 @@ export default {
this
.
initPage
();
this
.
initPage
();
},
},
methods
:
{
methods
:
{
rendertip
(
h
,
{
column
})
{
// common.tipFilter(h,column,tipArr2)
return
h
(
"span"
,
[
h
(
"span"
,
column
.
label
),
h
(
"el-tooltip"
,
{
props
:
{
effect
:
"dark"
,
content
:
tipArr
[
column
.
label
],
placement
:
"top"
}
},
[
h
(
"i"
,
{
class
:
"el-icon-question"
,
style
:
"color:#409eff;display:block;"
})
]
)
]);
},
sendMsg
()
{
sendMsg
()
{
if
(
this
.
title
&&
this
.
title
.
title
)
{
if
(
this
.
title
&&
this
.
title
.
title
)
{
this
.
$confirm
(
"你将发送给"
+
this
.
title
.
title
+
"用户"
,
"提示"
,
{
this
.
$confirm
(
"你将发送给"
+
this
.
title
.
title
+
"用户"
,
"提示"
,
{
...
...
src/components/conversionList/channelConversionList.vue
View file @
add37019
...
@@ -361,7 +361,7 @@ export default {
...
@@ -361,7 +361,7 @@ export default {
this
.
getChannelTransList
();
this
.
getChannelTransList
();
},
},
getPeriodsOtherList
()
{
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
this
.
periodList
=
res
.
list
;
this
.
periodList
=
res
.
list
;
});
});
...
...
src/components/conversionList/channelGoodsConversionList.vue
View file @
add37019
...
@@ -370,7 +370,7 @@ export default {
...
@@ -370,7 +370,7 @@ export default {
this
.
getChannelTransList
();
this
.
getChannelTransList
();
},
},
getPeriodsOtherList
()
{
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
this
.
periodList
=
res
.
list
;
this
.
periodList
=
res
.
list
;
});
});
...
...
src/components/conversionList/channelTransList.vue
View file @
add37019
...
@@ -353,7 +353,7 @@ export default {
...
@@ -353,7 +353,7 @@ export default {
});
});
},
},
getPeriodsOtherList
()
{
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
this
.
periodList
=
res
.
list
;
this
.
periodList
=
res
.
list
;
});
});
...
...
src/components/conversionList/marketEnrollmentConversionList.vue
View file @
add37019
...
@@ -194,7 +194,7 @@ export default {
...
@@ -194,7 +194,7 @@ export default {
console
.
log
(
str
);
console
.
log
(
str
);
},
},
getPeriodsOtherList
()
{
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
this
.
periodList
=
res
.
list
;
this
.
periodList
=
res
.
list
;
});
});
...
...
src/components/conversionList/periodsConversionList.vue
View file @
add37019
...
@@ -384,7 +384,7 @@ export default {
...
@@ -384,7 +384,7 @@ export default {
});
});
},
},
getPeriodsOtherList
()
{
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
this
.
periodList
=
res
.
list
;
this
.
periodList
=
res
.
list
;
console
.
log
(
320
)
console
.
log
(
320
)
...
...
src/components/conversionList/squadConversionList.vue
View file @
add37019
...
@@ -353,7 +353,7 @@ export default {
...
@@ -353,7 +353,7 @@ export default {
});
});
},
},
getPeriodsOtherList
()
{
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
this
.
periodList
=
res
.
list
;
this
.
periodList
=
res
.
list
;
});
});
...
...
src/components/conversionList/teacherConversionList.vue
View file @
add37019
...
@@ -356,7 +356,7 @@ export default {
...
@@ -356,7 +356,7 @@ export default {
});
});
},
},
getPeriodsOtherList
()
{
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
this
.
periodList
=
res
.
list
;
this
.
periodList
=
res
.
list
;
});
});
...
...
src/components/conversionList/teacherPeriodsConversionList.vue
View file @
add37019
...
@@ -384,7 +384,7 @@ export default {
...
@@ -384,7 +384,7 @@ export default {
});
});
},
},
getPeriodsOtherList
()
{
getPeriodsOtherList
()
{
let
json
=
{
limit
:
1000
,
page
:
1
};
let
json
=
{
limit
:
1000
,
page
:
1
,
max_watch_num
:
20
};
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
getPeriodsOtherListApi
(
json
).
then
(
res
=>
{
this
.
periodList
=
res
.
list
;
this
.
periodList
=
res
.
list
;
});
});
...
...
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