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
f34c5511
Commit
f34c5511
authored
Aug 29, 2019
by
IvyXia123
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
http://git.singsingenglish.com/new-sing/admin
into dev
parents
abf93254
5d117cda
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
733 additions
and
772 deletions
+733
-772
index.vue
src/components/callBack/index.vue
+42
-35
marketEnrollmentConversionList.vue
...ponents/conversionList/marketEnrollmentConversionList.vue
+0
-10
index.vue
src/components/framework/index.vue
+1
-1
teacherDesc.vue
src/components/framework/teacherDesc.vue
+1
-1
index.vue
src/components/teacherDetail/index.vue
+5
-5
index.vue
src/components/userDetail/index.vue
+4
-4
menuList.js
src/util/menuList.js
+680
-716
No files found.
src/components/callBack/index.vue
View file @
f34c5511
...
@@ -5,10 +5,10 @@
...
@@ -5,10 +5,10 @@
<el-card
shadow=
"never"
class=
"callback-info callback-item"
style=
"margin-bottom: 15px;"
>
<el-card
shadow=
"never"
class=
"callback-info callback-item"
style=
"margin-bottom: 15px;"
>
ID:
{{
user
.
user_id
}}
 
ID:
{{
user
.
user_id
}}
 
用户昵称:
{{
user
.
nickname
}}
 
用户昵称:
{{
user
.
info
.
nickname
||
'-'
}}
 
宝宝名称:
{{
user
.
baby_name
||
'-'
}}
 
宝宝名称:
{{
user
.
info
.
baby_name
||
'-'
}}
 
宝宝生日:
{{
(
user
.
birthday
==
'0000-00-00'
)
?
'-'
:
user
.
birthday
}}
 
宝宝生日:
{{
(
user
.
info
.
birthday
==
'0000-00-00'
)
?
'-'
:
user
.
info
.
birthday
}}
 
手机号:
{{
user
.
mobile
||
'-'
}}
 
手机号:
{{
user
.
info
.
mobile
||
'-'
}}
 
<div
style=
"display: inline-block; white-space: nowrap"
>
<div
style=
"display: inline-block; white-space: nowrap"
>
关联手机号:
关联手机号:
<span
class=
"callback-edit"
>
<span
class=
"callback-edit"
>
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
:disabled=
"(callbackEdit.wechat.value == callbackEdit.wechat.origin) && (callbackEdit.mobile.value == callbackEdit.mobile.origin)"
:disabled=
"(callbackEdit.wechat.value == callbackEdit.wechat.origin) && (callbackEdit.mobile.value == callbackEdit.mobile.origin)"
type=
"primary"
plain
size=
"small"
>
更新用户信息
type=
"primary"
plain
size=
"small"
>
更新用户信息
</el-button>
 
</el-button>
 
<span
style=
"font-size: 12px; color: #999999; white-space: nowrap"
>
最后更新:{{user.updated_at || '-'}}
</span>
<span
style=
"font-size: 12px; color: #999999; white-space: nowrap"
>
最后更新:{{user.
info.
updated_at || '-'}}
</span>
</el-card>
</el-card>
<el-card
shadow=
"never"
class=
"callback-item"
style=
"display: flex; align-items: flex-start; margin-bottom: 15px; line-height: 32px;"
>
<el-card
shadow=
"never"
class=
"callback-item"
style=
"display: flex; align-items: flex-start; margin-bottom: 15px; line-height: 32px;"
>
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
</el-card>
</el-card>
<!--添加回访信息-->
<!--添加回访信息-->
<el-card
shadow=
"never"
v-if=
"callbackObj.teacher_id &&
callbackAdd &&
!$store.state.readonly"
class=
"callback-item callback-input"
>
<el-card
shadow=
"never"
v-if=
"callbackObj.teacher_id && !$store.state.readonly"
class=
"callback-item callback-input"
>
<el-form
size=
"small"
inline
>
<el-form
size=
"small"
inline
>
<el-form-item
required
>
<el-form-item
required
>
<el-select
v-model=
"add.method"
placeholder=
"回访方式"
style=
"width: 140px;"
>
<el-select
v-model=
"add.method"
placeholder=
"回访方式"
style=
"width: 140px;"
>
...
@@ -184,25 +184,21 @@
...
@@ -184,25 +184,21 @@
name
:
"CallBack"
,
name
:
"CallBack"
,
components
:
{
page
},
components
:
{
page
},
props
:
{
props
:
{
callbackObj
:
{
callbackObj
:
{
// user_id、teacher_id、timestamp
type
:
Object
,
type
:
Object
,
default
:
()
=>
{}
default
:
()
=>
{}
},
},
callbackAdd
:
{
hasUserInfo
:
{
// 是否传过来用户信息,传来用户信息就不调接口请求用户新,否则请求(防止同时请求用户信息接口报错)
type
:
Boolean
,
type
:
Boolean
,
default
:
false
default
:
false
}
}
,
},
},
data
()
{
data
()
{
return
{
return
{
loading
:
true
,
loading
:
true
,
user
:
{
user
:
{
user_id
:
''
,
user_id
:
''
,
nickname
:
''
,
info
:
{}
baby_name
:
''
,
birthday
:
''
,
mobile
:
''
,
updated_at
:
''
},
},
CALLBACK_METHOD
:
CALLBACK_METHOD
,
CALLBACK_METHOD
:
CALLBACK_METHOD
,
CALLBACK_TYPE
:
CALLBACK_TYPE
,
CALLBACK_TYPE
:
CALLBACK_TYPE
,
...
@@ -262,11 +258,14 @@
...
@@ -262,11 +258,14 @@
created
()
{
created
()
{
},
},
watch
:
{
watch
:
{
'user'
()
{
'callbackObj.info'
()
{
this
.
callbackEdit
.
mobile
.
value
=
this
.
user
.
relation_mobile
;
this
.
user
.
info
=
this
.
callbackObj
.
info
||
{};
this
.
callbackEdit
.
mobile
.
origin
=
this
.
user
.
relation_mobile
;
},
this
.
callbackEdit
.
wechat
.
value
=
this
.
user
.
wx_number
;
'user.info'
()
{
this
.
callbackEdit
.
wechat
.
origin
=
this
.
user
.
wx_number
;
this
.
callbackEdit
.
mobile
.
value
=
this
.
user
.
info
.
relation_mobile
;
this
.
callbackEdit
.
mobile
.
origin
=
this
.
user
.
info
.
relation_mobile
;
this
.
callbackEdit
.
wechat
.
value
=
this
.
user
.
info
.
wx_number
;
this
.
callbackEdit
.
wechat
.
origin
=
this
.
user
.
info
.
wx_number
;
},
},
'callbackObj.timestamp'
()
{
'callbackObj.timestamp'
()
{
this
.
user
.
user_id
=
this
.
callbackObj
.
user_id
;
this
.
user
.
user_id
=
this
.
callbackObj
.
user_id
;
...
@@ -276,8 +275,26 @@
...
@@ -276,8 +275,26 @@
},
},
mounted
()
{
mounted
()
{
this
.
user
.
user_id
=
this
.
callbackObj
.
user_id
;
this
.
user
.
user_id
=
this
.
callbackObj
.
user_id
;
this
.
getUser
();
if
(
!
this
.
hasUserInfo
)
{
this
.
getUser
();
}
else
{
this
.
user
.
info
=
this
.
callbackObj
.
info
;
}
this
.
getTag
();
this
.
getTag
();
this
.
getData
();
if
(
this
.
callbackObj
.
teacher_id
)
{
let
json
=
{
user_id
:
this
.
callbackObj
.
user_id
}
getCallBackPrevApi
(
json
).
then
(
res
=>
{
if
(
res
&&
res
[
0
]
&&
res
[
0
].
next_visit_at
&&
res
[
0
].
intention
)
{
this
.
add
.
intention
=
res
[
0
].
intention
;
this
.
add
.
next_visit_at
=
res
[
0
].
next_visit_at
;
}
})
}
},
},
methods
:
{
methods
:
{
filterName
(
string
,
type
)
{
filterName
(
string
,
type
)
{
...
@@ -300,7 +317,9 @@
...
@@ -300,7 +317,9 @@
putUserInfoApi
(
this
.
user
.
user_id
,
json
).
then
(
res
=>
{
putUserInfoApi
(
this
.
user
.
user_id
,
json
).
then
(
res
=>
{
this
.
$message
({
type
:
'success'
,
message
:
'用户信息更新成功'
});
this
.
$message
({
type
:
'success'
,
message
:
'用户信息更新成功'
});
this
.
getUser
();
this
.
getUser
();
// this.$emit('updateUser');
if
(
this
.
hasUserInfo
)
{
this
.
$emit
(
'updateUser'
);
}
})
})
},
},
...
@@ -388,20 +407,7 @@
...
@@ -388,20 +407,7 @@
getUser
()
{
getUser
()
{
getUserDetailApi
(
this
.
user
.
user_id
).
then
(
res
=>
{
getUserDetailApi
(
this
.
user
.
user_id
).
then
(
res
=>
{
// console.log(res, 999)
// console.log(res, 999)
this
.
user
=
res
;
this
.
user
.
info
=
res
;
this
.
getData
();
if
(
this
.
callbackObj
.
teacher_id
)
{
let
json
=
{
user_id
:
this
.
callbackObj
.
user_id
}
getCallBackPrevApi
(
json
).
then
(
res
=>
{
if
(
res
&&
res
[
0
]
&&
res
[
0
].
next_visit_at
&&
res
[
0
].
intention
)
{
this
.
add
.
intention
=
res
[
0
].
intention
;
this
.
add
.
next_visit_at
=
res
[
0
].
next_visit_at
;
}
})
}
this
.
loading
=
false
;
})
})
},
},
getTag
()
{
getTag
()
{
...
@@ -420,6 +426,7 @@
...
@@ -420,6 +426,7 @@
this
.
list
=
res
.
page_data
;
this
.
list
=
res
.
page_data
;
this
.
total
=
res
.
total
this
.
total
=
res
.
total
// this.total = res.total_page
// this.total = res.total_page
this
.
loading
=
false
;
})
})
},
},
callbackReset
()
{
callbackReset
()
{
...
...
src/components/conversionList/marketEnrollmentConversionList.vue
View file @
f34c5511
...
@@ -331,13 +331,6 @@ export default {
...
@@ -331,13 +331,6 @@ export default {
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
.searchFrom{
/*position: absolute;
top: 20px;*/
}
.el-table{
/*margin-top: 130px;*/
}
/deep/.el-table--enable-row-hover .el-table__body tr:hover > td {
/deep/.el-table--enable-row-hover .el-table__body tr:hover > td {
background-color: #fff;
background-color: #fff;
}
}
...
@@ -347,7 +340,4 @@ export default {
...
@@ -347,7 +340,4 @@ export default {
/deep/.el-progress-bar__inner {
/deep/.el-progress-bar__inner {
max-width: 100% !important;
max-width: 100% !important;
}
}
.el-main .content .router-block .child-view {
/*height: 100vh;*/
}
</
style
>
</
style
>
src/components/framework/index.vue
View file @
f34c5511
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
}
}
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
lang=
"less"
>
@import "../../util/public";
@import "../../util/public";
.el-header{
.el-header{
background: #333333;
background: #333333;
...
...
src/components/framework/teacherDesc.vue
View file @
f34c5511
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
<el-dialog
append-to-body
:visible
.
sync=
"descDialog.show"
title=
"沟通情况列表"
width=
"75%"
>
<el-dialog
append-to-body
:visible
.
sync=
"descDialog.show"
title=
"沟通情况列表"
width=
"75%"
>
<!--TODO @updateUser-->
<!--TODO @updateUser-->
<call-back
:callback
Add=
"true"
:callback
Obj=
"callbackObj"
></call-back>
<call-back
:callbackObj=
"callbackObj"
></call-back>
<!--
<el-form
label-width=
"90px"
>
<!--
<el-form
label-width=
"90px"
>
<el-form-item>
<el-form-item>
...
...
src/components/teacherDetail/index.vue
View file @
f34c5511
...
@@ -471,7 +471,7 @@
...
@@ -471,7 +471,7 @@
</el-table-column>
</el-table-column>
<el-table-column
prop=
"mobile"
label=
"手机号"
></el-table-column>
<el-table-column
prop=
"mobile"
label=
"手机号"
></el-table-column>
</el-table>
</el-table>
<page
:total=
"userObj.total"
:limit=
"userObj.limit"
:small=
"true"
@
pageChange=
"onPageChange
3"
@
sizeChange=
"onSizeChange3
"
/>
<page
:total=
"userObj.total"
:limit=
"userObj.limit"
:small=
"true"
@
pageChange=
"onPageChange
4"
@
sizeChange=
"onSizeChange4
"
/>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"addShow = false"
>
取 消
</el-button>
<el-button
@
click=
"addShow = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"onAdd"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"onAdd"
>
确 定
</el-button>
...
@@ -821,15 +821,15 @@
...
@@ -821,15 +821,15 @@
type
:
data
.
type
type
:
data
.
type
}
}
},
},
/*onPageChange3
(val) {
onPageChange4
(
val
)
{
this
.
userObj
.
nowPage
=
val
;
this
.
userObj
.
nowPage
=
val
;
this
.
getUser
()
this
.
getUser
()
},
*/
},
/*onSizeChange3
(val) {
onSizeChange4
(
val
)
{
this
.
userObj
.
limit
=
val
;
this
.
userObj
.
limit
=
val
;
this
.
userObj
.
nowPage
=
1
;
this
.
userObj
.
nowPage
=
1
;
this
.
getUser
();
this
.
getUser
();
},
*/
},
onPageChange
(
val
)
{
onPageChange
(
val
)
{
this
.
nowPage
=
val
;
this
.
nowPage
=
val
;
this
.
getTeacherDetail
();
this
.
getTeacherDetail
();
...
...
src/components/userDetail/index.vue
View file @
f34c5511
...
@@ -58,7 +58,7 @@
...
@@ -58,7 +58,7 @@
<!--
<el-tabs
type=
"border-card"
v-model=
"tabs"
>
-->
<!--
<el-tabs
type=
"border-card"
v-model=
"tabs"
>
-->
<el-tabs
type=
"border-card"
v-model=
"tabs"
>
<el-tabs
type=
"border-card"
v-model=
"tabs"
>
<el-tab-pane
label=
"回访信息"
name=
"callback"
>
<el-tab-pane
label=
"回访信息"
name=
"callback"
>
<call-back
:
callbackObj=
"callbackObj"
:callbackAdd=
"true
"
@
updateUser=
"getDetail"
></call-back>
<call-back
:
hasUserInfo=
"true"
:callbackObj=
"callbackObj
"
@
updateUser=
"getDetail"
></call-back>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
label=
"期数列表"
name=
"periods"
>
<el-tab-pane
label=
"期数列表"
name=
"periods"
>
<el-table
@
expand-change=
"changeRow"
:data=
"periodList"
>
<el-table
@
expand-change=
"changeRow"
:data=
"periodList"
>
...
@@ -550,7 +550,8 @@
...
@@ -550,7 +550,8 @@
callbackObj
:
{
callbackObj
:
{
user_id
:
''
,
user_id
:
''
,
teacher_id
:
''
,
teacher_id
:
''
,
timestamp
:
''
timestamp
:
''
,
info
:
{
}
}
,
}
,
userList
:
[],
userList
:
[],
yunjiList
:
[],
yunjiList
:
[],
...
@@ -875,11 +876,10 @@
...
@@ -875,11 +876,10 @@
if
(
!
this
.
id
)
return
;
if
(
!
this
.
id
)
return
;
getUserDetailApi
(
this
.
id
).
then
(
res
=>
{
getUserDetailApi
(
this
.
id
).
then
(
res
=>
{
this
.
detail
=
res
;
this
.
detail
=
res
;
// this.callbackObj.detail = res; // 用户的所有数据
if
(
res
.
periods_list
)
{
if
(
res
.
periods_list
)
{
this
.
periodList
=
res
.
periods_list
this
.
periodList
=
res
.
periods_list
}
}
// console.log(res)
this
.
callbackObj
.
info
=
res
;
// 用户的所有数据
}
)
}
)
getSubAccountInfoApi
(
this
.
id
).
then
(
res
=>
{
getSubAccountInfoApi
(
this
.
id
).
then
(
res
=>
{
if
(
res
.
family_user
==
1
)
{
if
(
res
.
family_user
==
1
)
{
...
...
src/util/menuList.js
View file @
f34c5511
export
default
[{
export
default
[
name
:
''
,
value
:
'教研管理'
,
icon
:
'icon-material'
,
list
:
[{
value
:
'教材列表'
,
routerName
:
'resources'
,
path
:
'/resources'
,
cover
:
'1-1'
,
router
:
{
path
:
'/resources'
,
name
:
'resources'
,
component
:
e
=>
require
([
'@/components/resources'
],
e
),
}
}]
},
{
name
:
''
,
value
:
'商品课程'
,
icon
:
'icon-shangpin1'
,
list
:
[{
value
:
'课程列表'
,
routerName
:
'lesson'
,
path
:
'/lesson'
,
cover
:
'2-1'
,
router
:
{
path
:
'/lesson'
,
name
:
'lesson'
,
component
:
e
=>
require
([
'@/components/lesson'
],
e
),
}
},
{
value
:
'商品列表'
,
routerName
:
'shop'
,
path
:
'/shop'
,
cover
:
'4-1'
,
router
:
{
path
:
'/shop'
,
name
:
'shop'
,
component
:
e
=>
require
([
'@/components/shop'
],
e
),
},
},]
},
{
name
:
''
,
value
:
'期数管理'
,
icon
:
'icon-kecheng'
,
list
:
[{
value
:
'期数列表'
,
routerName
:
'periods'
,
path
:
'/periods'
,
cover
:
'2-2'
,
router
:
{
path
:
'/periods'
,
name
:
'periods'
,
component
:
e
=>
require
([
'@/components/periods'
],
e
),
}
},
{
value
:
'班级列表'
,
routerName
:
'class'
,
path
:
'/class'
,
cover
:
'2-3'
,
router
:
{
path
:
'/class'
,
name
:
'class'
,
component
:
e
=>
require
([
'@/components/class'
],
e
),
}
},
{
value
:
'市场招生统计'
,
routerName
:
'marketStatistics'
,
path
:
'/marketStatistics'
,
cover
:
'2-5'
,
router
:
{
path
:
'/marketStatistics'
,
name
:
'marketStatistics'
,
component
:
e
=>
require
([
'@/components/marketStatistics'
],
e
),
}
},
{
value
:
'不上课日期'
,
routerName
:
'noLesson'
,
path
:
'/noLesson'
,
cover
:
'2-4'
,
router
:
{
path
:
'/noLesson'
,
name
:
'noLesson'
,
component
:
e
=>
require
([
'@/components/noLesson'
],
e
),
}
},
{
{
value
:
'自化课列表'
,
name
:
''
,
routerName
:
'autoClass'
,
value
:
'教研管理'
,
path
:
'/autoClass'
,
icon
:
'icon-material'
,
cover
:
'2-6'
,
list
:
[
router
:
{
{
path
:
'/autoClass'
,
value
:
'教材列表'
,
name
:
'autoClass'
,
routerName
:
'resources'
,
component
:
e
=>
require
([
'@/components/autoClass'
],
e
),
path
:
'/resources'
,
}
cover
:
'1-1'
,
},
router
:
{
]
path
:
'/resources'
,
},
{
name
:
'resources'
,
name
:
''
,
component
:
e
=>
require
([
'@/components/resources'
],
e
),
value
:
'销售管理'
,
}
icon
:
'icon-laoshi'
,
}
list
:
[{
]
value
:
'教师列表'
,
routerName
:
'teacher'
,
path
:
'/teacher'
,
cover
:
'3-1'
,
router
:
{
path
:
'/teacher'
,
name
:
'teacher'
,
component
:
e
=>
require
([
'@/components/teacher'
],
e
),
}
},
{
value
:
'月课订单列表'
,
routerName
:
'monthOrder'
,
path
:
'/monthOrder'
,
cover
:
'5-10'
,
router
:
{
path
:
'/monthOrder'
,
name
:
'monthOrder'
,
component
:
e
=>
require
([
'@/components/monthOrder'
],
e
),
}
},
{
value
:
'月课订单统计'
,
routerName
:
'monthOrderCount'
,
path
:
'/monthOrderCount'
,
cover
:
'5-12'
,
router
:
{
path
:
'/monthOrderCount'
,
name
:
'monthOrderCount'
,
component
:
e
=>
require
([
'@/components/orderCount/monthOrderCount'
],
e
),
}
},
{
},
{
value
:
'退款列表'
,
name
:
''
,
routerName
:
'refund'
,
value
:
'商品课程'
,
path
:
'/refund'
,
icon
:
'icon-shangpin1'
,
cover
:
'5-2'
,
list
:
[
router
:
{
{
path
:
'/refund'
,
value
:
'课程列表'
,
name
:
'refund'
,
routerName
:
'lesson'
,
component
:
e
=>
require
([
'@/components/refund'
],
e
),
path
:
'/lesson'
,
}
cover
:
'2-1'
,
router
:
{
path
:
'/lesson'
,
name
:
'lesson'
,
component
:
e
=>
require
([
'@/components/lesson'
],
e
),
}
},
{
value
:
'商品列表'
,
routerName
:
'shop'
,
path
:
'/shop'
,
cover
:
'4-1'
,
router
:
{
path
:
'/shop'
,
name
:
'shop'
,
component
:
e
=>
require
([
'@/components/shop'
],
e
),
},
},
]
},
{
},
{
value
:
'业绩排行'
,
name
:
''
,
routerName
:
'achievement'
,
value
:
'期数管理'
,
path
:
'/achievement'
,
icon
:
'icon-kecheng'
,
cover
:
'5-7'
,
list
:
[
router
:
{
{
path
:
'/achievement'
,
value
:
'期数列表'
,
name
:
'achievement'
,
routerName
:
'periods'
,
component
:
e
=>
require
([
'@/components/achievement'
],
e
),
path
:
'/periods'
,
}
cover
:
'2-2'
,
router
:
{
path
:
'/periods'
,
name
:
'periods'
,
component
:
e
=>
require
([
'@/components/periods'
],
e
),
}
},
{
value
:
'班级列表'
,
routerName
:
'class'
,
path
:
'/class'
,
cover
:
'2-3'
,
router
:
{
path
:
'/class'
,
name
:
'class'
,
component
:
e
=>
require
([
'@/components/class'
],
e
),
}
},
{
value
:
'市场招生统计'
,
routerName
:
'marketStatistics'
,
path
:
'/marketStatistics'
,
cover
:
'2-5'
,
router
:
{
path
:
'/marketStatistics'
,
name
:
'marketStatistics'
,
component
:
e
=>
require
([
'@/components/marketStatistics'
],
e
),
}
},
{
value
:
'不上课日期'
,
routerName
:
'noLesson'
,
path
:
'/noLesson'
,
cover
:
'2-4'
,
router
:
{
path
:
'/noLesson'
,
name
:
'noLesson'
,
component
:
e
=>
require
([
'@/components/noLesson'
],
e
),
}
},
{
value
:
'自化课列表'
,
routerName
:
'autoClass'
,
path
:
'/autoClass'
,
cover
:
'2-6'
,
router
:
{
path
:
'/autoClass'
,
name
:
'autoClass'
,
component
:
e
=>
require
([
'@/components/autoClass'
],
e
),
}
},
]
},
{
},
{
value
:
'话术列表'
,
name
:
''
,
routerName
:
'talkingSkill'
,
value
:
'销售管理'
,
path
:
'/talkingSkill'
,
icon
:
'icon-laoshi'
,
cover
:
'11-6'
,
list
:
[
router
:
{
{
path
:
'/talkingSkill'
,
value
:
'教师列表'
,
name
:
'talkingSkill'
,
routerName
:
'teacher'
,
component
:
e
=>
require
([
'@/components/talkingSkill'
],
e
),
path
:
'/teacher'
,
}
cover
:
'3-1'
,
},{
router
:
{
value
:
'销售级别配置'
,
path
:
'/teacher'
,
routerName
:
'salesLevel'
,
name
:
'teacher'
,
path
:
'/salesLevel'
,
component
:
e
=>
require
([
'@/components/teacher'
],
e
),
cover
:
'11-7'
,
}
router
:
{
},
{
value
:
'月课订单列表'
,
routerName
:
'monthOrder'
,
path
:
'/monthOrder'
,
cover
:
'5-10'
,
router
:
{
path
:
'/monthOrder'
,
name
:
'monthOrder'
,
component
:
e
=>
require
([
'@/components/monthOrder'
],
e
),
}
},
{
value
:
'月课订单统计'
,
routerName
:
'monthOrderCount'
,
path
:
'/monthOrderCount'
,
cover
:
'5-12'
,
router
:
{
path
:
'/monthOrderCount'
,
name
:
'monthOrderCount'
,
component
:
e
=>
require
([
'@/components/orderCount/monthOrderCount'
],
e
),
}
},
{
value
:
'退款列表'
,
routerName
:
'refund'
,
path
:
'/refund'
,
cover
:
'5-2'
,
router
:
{
path
:
'/refund'
,
name
:
'refund'
,
component
:
e
=>
require
([
'@/components/refund'
],
e
),
}
},
{
value
:
'业绩排行'
,
routerName
:
'achievement'
,
path
:
'/achievement'
,
cover
:
'5-7'
,
router
:
{
path
:
'/achievement'
,
name
:
'achievement'
,
component
:
e
=>
require
([
'@/components/achievement'
],
e
),
}
},
{
value
:
'话术列表'
,
routerName
:
'talkingSkill'
,
path
:
'/talkingSkill'
,
cover
:
'11-6'
,
router
:
{
path
:
'/talkingSkill'
,
name
:
'talkingSkill'
,
component
:
e
=>
require
([
'@/components/talkingSkill'
],
e
),
}
},
{
value
:
'销售级别配置'
,
routerName
:
'salesLevel'
,
path
:
'/salesLevel'
,
path
:
'/salesLevel'
,
name
:
'salesLevel
'
,
cover
:
'11-7
'
,
component
:
e
=>
require
([
'@/components/salesLevel'
],
e
),
router
:
{
}
path
:
'/salesLevel'
,
},
{
name
:
'salesLevel'
,
value
:
'佣金配置'
,
component
:
e
=>
require
([
'@/components/salesLevel'
],
e
)
,
routerName
:
'brokerage'
,
}
path
:
'/brokerage'
,
},
{
cover
:
'11-8
'
,
value
:
'佣金配置
'
,
router
:
{
routerName
:
'brokerage'
,
path
:
'/brokerage'
,
path
:
'/brokerage'
,
name
:
'brokerage
'
,
cover
:
'11-8
'
,
component
:
e
=>
require
([
'@/components/brokerage'
],
e
),
router
:
{
}
path
:
'/brokerage'
,
},]
name
:
'brokerage'
,
}
,
component
:
e
=>
require
([
'@/components/brokerage'
],
e
)
,
{
}
name
:
''
,
}
,
value
:
'用户管理'
,
]
icon
:
'icon-yonghu'
,
},
{
list
:
[
name
:
''
,
{
value
:
'用户管理'
,
value
:
'用户列表
'
,
icon
:
'icon-yonghu
'
,
routerName
:
'user'
,
list
:
[
path
:
'/user'
,
{
cover
:
'3-2
'
,
value
:
'用户列表
'
,
router
:
{
routerName
:
'user'
,
path
:
'/user'
,
path
:
'/user'
,
name
:
'user'
,
cover
:
'3-2'
,
component
:
e
=>
require
([
'@/components/user'
],
e
),
router
:
{
}
path
:
'/user'
,
},
name
:
'user'
,
{
component
:
e
=>
require
([
'@/components/user'
],
e
),
value
:
'用户详情'
,
}
routerName
:
'userDetail'
,
},
{
path
:
'/userDetail'
,
value
:
'用户详情'
,
cover
:
'3-2'
,
routerName
:
'userDetail'
,
hidden
:
true
,
router
:
{
path
:
'/userDetail'
,
path
:
'/userDetail'
,
name
:
'userDetail
'
,
cover
:
'3-2
'
,
component
:
e
=>
require
([
'@/components/userDetail/index'
],
e
)
,
hidden
:
true
,
}
router
:
{
}
,
path
:
'/userDetail'
,
{
name
:
'userDetail'
,
value
:
'老系统用户列表'
,
component
:
e
=>
require
([
'@/components/userDetail/index'
],
e
)
,
routerName
:
'oldUser'
,
}
path
:
'/oldUser'
,
},
{
cover
:
'3-3
'
,
value
:
'老系统用户列表
'
,
router
:
{
routerName
:
'oldUser'
,
path
:
'/oldUser'
,
path
:
'/oldUser'
,
name
:
'oldUser'
,
cover
:
'3-3'
,
component
:
e
=>
require
([
'@/components/oldUser/'
],
e
),
router
:
{
}
path
:
'/oldUser'
,
},
name
:
'oldUser'
,
{
component
:
e
=>
require
([
'@/components/oldUser/'
],
e
),
value
:
'用户积分列表'
,
}
routerName
:
'integral'
,
},
{
path
:
'/integral'
,
value
:
'用户积分列表'
,
cover
:
'3-4'
,
routerName
:
'integral'
,
router
:
{
path
:
'/integral'
,
path
:
'/integral'
,
name
:
'integral'
,
cover
:
'3-4'
,
component
:
e
=>
require
([
'@/components/integral/'
],
e
),
router
:
{
}
path
:
'/integral'
,
},
name
:
'integral'
,
{
component
:
e
=>
require
([
'@/components/integral/'
],
e
),
value
:
'绑定子账号列表'
,
}
routerName
:
'subList'
,
},
{
path
:
'/subList'
,
value
:
'绑定子账号列表'
,
cover
:
'3-5'
,
routerName
:
'subList'
,
router
:
{
path
:
'/subList'
,
path
:
'/subList'
,
name
:
'subList'
,
cover
:
'3-5'
,
component
:
e
=>
require
([
'@/components/subList/'
],
e
),
router
:
{
}
path
:
'/subList'
,
},
name
:
'subList'
,
]
component
:
e
=>
require
([
'@/components/subList/'
],
e
),
},
}
{
},
name
:
''
,
]
value
:
'订单管理'
,
},
{
icon
:
'icon-dingdan'
,
name
:
''
,
list
:
[
value
:
'订单管理'
,
{
icon
:
'icon-dingdan'
,
value
:
'日课订单列表'
,
list
:
[
routerName
:
'order'
,
{
path
:
'/order'
,
value
:
'日课订单列表'
,
cover
:
'5-1'
,
routerName
:
'order'
,
router
:
{
path
:
'/order'
,
path
:
'/order'
,
name
:
'order'
,
cover
:
'5-1'
,
component
:
e
=>
require
([
'@/components/order'
],
e
),
router
:
{
}
path
:
'/order'
,
},
name
:
'order'
,
{
component
:
e
=>
require
([
'@/components/order'
],
e
),
value
:
'提现列表'
,
}
routerName
:
'putForward'
,
},
{
path
:
'/putForward'
,
value
:
'提现列表'
,
cover
:
'5-3'
,
routerName
:
'putForward'
,
router
:
{
path
:
'/putForward'
,
path
:
'/putForward'
,
name
:
'putForward'
,
cover
:
'5-3'
,
component
:
e
=>
require
([
'@/components/putForward'
],
e
),
router
:
{
}
path
:
'/putForward'
,
},
name
:
'putForward'
,
{
component
:
e
=>
require
([
'@/components/putForward'
],
e
),
value
:
'发货管理'
,
}
routerName
:
'consignment'
,
},
{
path
:
'/consignment'
,
value
:
'发货管理'
,
cover
:
'5-4'
,
routerName
:
'consignment'
,
router
:
{
path
:
'/consignment'
,
path
:
'/consignment'
,
name
:
'consignment'
,
cover
:
'5-4'
,
component
:
e
=>
require
([
'@/components/consignment'
],
e
),
router
:
{
}
path
:
'/consignment'
,
},
name
:
'consignment'
,
{
component
:
e
=>
require
([
'@/components/consignment'
],
e
),
value
:
'订单统计'
,
}
routerName
:
'orderCount'
,
},
{
path
:
'/orderCount'
,
value
:
'订单统计'
,
cover
:
'5-5'
,
routerName
:
'orderCount'
,
router
:
{
path
:
'/orderCount'
,
path
:
'/orderCount'
,
name
:
'orderCount'
,
cover
:
'5-5'
,
component
:
e
=>
require
([
'@/components/orderCount/index'
],
e
),
router
:
{
}
path
:
'/orderCount'
,
},
name
:
'orderCount'
,
{
component
:
e
=>
require
([
'@/components/orderCount/index'
],
e
),
value
:
'日课订单统计'
,
}
routerName
:
'dayOrderCount'
,
},
{
path
:
'/dayOrderCount'
,
value
:
'日课订单统计'
,
cover
:
'5-11'
,
routerName
:
'dayOrderCount'
,
router
:
{
path
:
'/dayOrderCount'
,
path
:
'/dayOrderCount'
,
name
:
'dayOrderCount'
,
cover
:
'5-11'
,
component
:
e
=>
require
([
'@/components/orderCount/dayOrderCount'
],
e
),
router
:
{
}
path
:
'/dayOrderCount'
,
},
name
:
'dayOrderCount'
,
{
component
:
e
=>
require
([
'@/components/orderCount/dayOrderCount'
],
e
),
value
:
'优惠券列表'
,
}
routerName
:
'coupon'
,
},
{
path
:
'/coupon'
,
value
:
'优惠券列表'
,
cover
:
'5-6'
,
routerName
:
'coupon'
,
router
:
{
path
:
'/coupon'
,
path
:
'/coupon'
,
name
:
'coupon'
,
cover
:
'5-6'
,
component
:
e
=>
require
([
'@/components/coupon'
],
e
),
router
:
{
}
path
:
'/coupon'
,
},
name
:
'coupon'
,
{
component
:
e
=>
require
([
'@/components/coupon'
],
e
),
value
:
'扫码入课列表'
,
}
routerName
:
'notBuyClass'
,
},
{
path
:
'/notBuyClass'
,
value
:
'扫码入课列表'
,
cover
:
'5-8'
,
routerName
:
'notBuyClass'
,
router
:
{
path
:
'/notBuyClass'
,
path
:
'/notBuyClass'
,
name
:
'notBuyClass'
,
cover
:
'5-8'
,
component
:
e
=>
require
([
'@/components/notBuyClass'
],
e
),
router
:
{
}
path
:
'/notBuyClass'
,
},
name
:
'notBuyClass'
,
{
component
:
e
=>
require
([
'@/components/notBuyClass'
],
e
),
value
:
'外部订单列表'
,
}
routerName
:
'yunji'
,
},
{
path
:
'/yunji'
,
value
:
'外部订单列表'
,
cover
:
'5-9'
,
routerName
:
'yunji'
,
router
:
{
path
:
'/yunji'
,
path
:
'/yunji'
,
name
:
'yunji'
,
cover
:
'5-9'
,
component
:
e
=>
require
([
'@/components/yunji'
],
e
),
router
:
{
}
path
:
'/yunji'
,
},
name
:
'yunji'
,
{
component
:
e
=>
require
([
'@/components/yunji'
],
e
),
value
:
'兑换码管理'
,
}
routerName
:
'exchange'
,
},
{
path
:
'/exchange'
,
value
:
'兑换码管理'
,
cover
:
'5-13'
,
routerName
:
'exchange'
,
router
:
{
path
:
'/exchange'
,
path
:
'/exchange'
,
name
:
'exchange'
,
cover
:
'5-13'
,
component
:
e
=>
require
([
'@/components/exchange'
],
e
),
router
:
{
path
:
'/exchange'
,
name
:
'exchange'
,
component
:
e
=>
require
([
'@/components/exchange'
],
e
),
}
}
}
}
]
]
},
{
},
name
:
''
,
{
value
:
'数据管理'
,
name
:
''
,
icon
:
'icon-shezhi'
,
value
:
'数据管理'
,
list
:
[
icon
:
'icon-shezhi'
,
{
list
:
[
value
:
'年课转化来源'
,
{
routerName
:
'sourceConversionList'
,
value
:
'年课转化来源'
,
path
:
'/sourceConversionList'
,
routerName
:
'sourceConversionList'
,
cover
:
'9-9'
,
path
:
'/sourceConversionList'
,
router
:
{
cover
:
'9-9'
,
router
:
{
path
:
'/sourceConversionList'
,
path
:
'/sourceConversionList'
,
name
:
'sourceConversionList'
,
name
:
'sourceConversionList'
,
component
:
e
=>
require
([
'@/components/conversionList/sourceConversionList'
],
e
),
component
:
e
=>
require
([
'@/components/conversionList/sourceConversionList'
],
e
),
}
}
},
},
{
{
value
:
'市场招生列表'
,
value
:
'市场招生列表'
,
routerName
:
'marketEnrollmentConversionList'
,
routerName
:
'marketEnrollmentConversionList'
,
path
:
'/marketEnrollmentConversionList'
,
path
:
'/marketEnrollmentConversionList'
,
cover
:
'9-8'
,
cover
:
'9-8'
,
router
:
{
router
:
{
path
:
'/marketEnrollmentConversionList'
,
path
:
'/marketEnrollmentConversionList'
,
name
:
'marketEnrollmentConversionList'
,
name
:
'marketEnrollmentConversionList'
,
component
:
e
=>
require
([
'@/components/conversionList/marketEnrollmentConversionList'
],
e
),
component
:
e
=>
require
([
'@/components/conversionList/marketEnrollmentConversionList'
],
e
),
}
}
},
},
{
{
value
:
'渠道转化数据'
,
value
:
'渠道转化数据'
,
routerName
:
'channelConversionList'
,
routerName
:
'channelConversionList'
,
path
:
'/channelConversionList'
,
cover
:
'9-3'
,
router
:
{
path
:
'/channelConversionList'
,
path
:
'/channelConversionList'
,
cover
:
'9-3'
,
name
:
'channelConversionList'
,
router
:
{
component
:
e
=>
require
([
'@/components/conversionList/channelConversionList'
],
e
),
path
:
'/channelConversionList'
,
}
name
:
'channelConversionList'
,
},
{
component
:
e
=>
require
([
'@/components/conversionList/channelConversionList'
],
e
),
}
},
{
value
:
'渠道分商品转化数据'
,
value
:
'渠道分商品转化数据'
,
routerName
:
'channelGoodsConversionList'
,
routerName
:
'channelGoodsConversionList'
,
path
:
'/channelGoodsConversionList'
,
path
:
'/channelGoodsConversionList'
,
cover
:
'9-2'
,
cover
:
'9-2'
,
router
:
{
router
:
{
path
:
'/channelGoodsConversionList'
,
path
:
'/channelGoodsConversionList'
,
name
:
'channelGoodsConversionList'
,
name
:
'channelGoodsConversionList'
,
component
:
e
=>
require
([
'@/components/conversionList/channelGoodsConversionList'
],
e
),
component
:
e
=>
require
([
'@/components/conversionList/channelGoodsConversionList'
],
e
),
}
}
},
},
{
{
value
:
'期数转化数据'
,
value
:
'期数转化数据'
,
routerName
:
'periodsConversionList'
,
routerName
:
'periodsConversionList'
,
path
:
'/periodsConversionList'
,
cover
:
'9-4'
,
router
:
{
path
:
'/periodsConversionList'
,
path
:
'/periodsConversionList'
,
cover
:
'9-4'
,
name
:
'periodsConversionList'
,
router
:
{
component
:
e
=>
require
([
'@/components/conversionList/periodsConversionList'
],
e
),
path
:
'/periodsConversionList'
,
}
name
:
'periodsConversionList'
,
},
{
component
:
e
=>
require
([
'@/components/conversionList/periodsConversionList'
],
e
),
value
:
'销售小组数据'
,
}
routerName
:
'squadConversionList'
,
},
path
:
'/squadConversionList'
,
{
cover
:
'9-5'
,
value
:
'销售小组数据'
,
router
:
{
routerName
:
'squadConversionList'
,
path
:
'/squadConversionList'
,
path
:
'/squadConversionList'
,
cover
:
'9-5'
,
name
:
'squadConversionList'
,
router
:
{
component
:
e
=>
require
([
'@/components/conversionList/squadConversionList'
],
e
),
path
:
'/squadConversionList'
,
}
name
:
'squadConversionList'
,
},
{
component
:
e
=>
require
([
'@/components/conversionList/squadConversionList'
],
e
),
value
:
'班主任转化数据'
,
}
routerName
:
'teacherConversionList'
,
},
path
:
'/teacherConversionList'
,
{
cover
:
'9-6'
,
value
:
'班主任转化数据'
,
router
:
{
routerName
:
'teacherConversionList'
,
path
:
'/teacherConversionList'
,
path
:
'/teacherConversionList'
,
cover
:
'9-6'
,
name
:
'teacherConversionList'
,
router
:
{
component
:
e
=>
require
([
'@/components/conversionList/teacherConversionList'
],
e
),
path
:
'/teacherConversionList'
,
}
name
:
'teacherConversionList'
,
},
{
component
:
e
=>
require
([
'@/components/conversionList/teacherConversionList'
],
e
),
value
:
'各期数班主任转化数据'
,
}
routerName
:
'teacherPeriodsConversionList'
,
},
path
:
'/teacherPeriodsConversionList'
,
{
cover
:
'9-7'
,
value
:
'各期数班主任转化数据'
,
router
:
{
routerName
:
'teacherPeriodsConversionList'
,
path
:
'/teacherPeriodsConversionList'
,
path
:
'/teacherPeriodsConversionList'
,
cover
:
'9-7'
,
name
:
'teacherPeriodsConversionList'
,
router
:
{
component
:
e
=>
require
([
'@/components/conversionList/teacherPeriodsConversionList'
],
e
),
path
:
'/teacherPeriodsConversionList'
,
}
name
:
'teacherPeriodsConversionList'
,
},
{
component
:
e
=>
require
([
'@/components/conversionList/teacherPeriodsConversionList'
],
e
),
value
:
'明细数据列表'
,
}
routerName
:
'channelTransList'
,
},
path
:
'/channelTransList'
,
{
cover
:
'9-1'
,
value
:
'明细数据列表'
,
router
:
{
routerName
:
'channelTransList'
,
path
:
'/channelTransList'
,
path
:
'/channelTransList'
,
cover
:
'9-1'
,
name
:
'channelTransList'
,
router
:
{
component
:
e
=>
require
([
'@/components/conversionList/channelTransList'
],
e
),
path
:
'/channelTransList'
,
}
name
:
'channelTransList'
,
component
:
e
=>
require
([
'@/components/conversionList/channelTransList'
],
e
),
}
},
},
]
]
},
{
name
:
''
,
value
:
'实物管理'
,
icon
:
'icon-shu'
,
list
:
[{
value
:
'单品列表'
,
routerName
:
'single'
,
path
:
'/single'
,
cover
:
'6-1'
,
router
:
{
path
:
'/single'
,
name
:
'single'
,
component
:
e
=>
require
([
'@/components/single'
],
e
),
}
},
{
},
{
value
:
'盒子列表'
,
name
:
''
,
routerName
:
'box'
,
value
:
'实物管理'
,
path
:
'/box'
,
icon
:
'icon-shu'
,
cover
:
'6-2'
,
list
:
[
router
:
{
{
path
:
'/box'
,
value
:
'单品列表'
,
name
:
'box'
,
routerName
:
'single'
,
component
:
e
=>
require
([
'@/components/box'
],
e
),
path
:
'/single'
,
}
cover
:
'6-1'
,
},{
router
:
{
value
:
'待发货列表'
,
path
:
'/single'
,
routerName
:
'logistics'
,
name
:
'single'
,
path
:
'/logistics'
,
component
:
e
=>
require
([
'@/components/single'
],
e
),
cover
:
'6-3'
,
}
router
:
{
},
{
path
:
'/logistics'
,
value
:
'盒子列表'
,
name
:
'logistics'
,
routerName
:
'box'
,
component
:
e
=>
require
([
'@/components/logistics'
],
e
),
path
:
'/box'
,
}
cover
:
'6-2'
,
},{
router
:
{
value
:
'一次性物流信息'
,
path
:
'/box'
,
routerName
:
'disposable'
,
name
:
'box'
,
path
:
'/disposable'
,
component
:
e
=>
require
([
'@/components/box'
],
e
),
cover
:
'6-4'
,
}
router
:
{
},
{
path
:
'/disposable'
,
value
:
'待发货列表'
,
name
:
'disposable'
,
routerName
:
'logistics'
,
component
:
e
=>
require
([
'@/components/disposable'
],
e
),
path
:
'/logistics'
,
}
cover
:
'6-3'
,
}]
router
:
{
},
{
path
:
'/logistics'
,
name
:
''
,
name
:
'logistics'
,
value
:
'公众号'
,
component
:
e
=>
require
([
'@/components/logistics'
],
e
),
icon
:
'icon-ai-weixin'
,
}
list
:
[{
},
{
value
:
'自动回复'
,
value
:
'一次性物流信息'
,
routerName
:
'focusReply'
,
routerName
:
'disposable'
,
path
:
'/focusReply'
,
path
:
'/disposable'
,
cover
:
'7-1'
,
cover
:
'6-4'
,
router
:
{
router
:
{
path
:
'/focusReply'
,
path
:
'/disposable'
,
name
:
'focusReply'
,
name
:
'disposable'
,
component
:
e
=>
require
([
'@/components/weChat/focusReply'
],
e
),
component
:
e
=>
require
([
'@/components/disposable'
],
e
),
}
}
},
}
{
]
value
:
'关键词回复'
,
routerName
:
'autoReply'
,
path
:
'/autoReply'
,
cover
:
'7-2'
,
router
:
{
path
:
'/autoReply'
,
name
:
'autoReply'
,
component
:
e
=>
require
([
'@/components/weChat/autoReply'
],
e
),
}
},
{
value
:
'公众号菜单'
,
routerName
:
'weChat'
,
path
:
'/weChat'
,
cover
:
'7-3'
,
router
:
{
path
:
'/weChat'
,
name
:
'weChat'
,
component
:
e
=>
require
([
'@/components/weChat'
],
e
),
}
},
{
value
:
'素材管理'
,
routerName
:
'weChatResource'
,
path
:
'/weChatResource'
,
cover
:
'7-4'
,
router
:
{
path
:
'/weChatResource'
,
name
:
'weChatResource'
,
component
:
e
=>
require
([
'@/components/weChat/weChatResource'
],
e
),
}
},
{
value
:
'二维码管理'
,
routerName
:
'qrcode'
,
path
:
'/qrcode'
,
cover
:
'7-6'
,
router
:
{
path
:
'/qrcode'
,
name
:
'qrcode'
,
component
:
e
=>
require
([
'@/components/qrcode'
],
e
),
}
},
{
value
:
'群发助手'
,
routerName
:
'groupSend'
,
path
:
'/groupSend'
,
cover
:
'7-7'
,
router
:
{
path
:
'/groupSend'
,
name
:
'groupSend'
,
component
:
e
=>
require
([
'@/components/groupSend'
],
e
),
}
},
{
value
:
'关注取关统计'
,
routerName
:
'watchCount'
,
path
:
'/watchCount'
,
cover
:
'7-8'
,
router
:
{
path
:
'/watchCount'
,
name
:
'watchCount'
,
component
:
e
=>
require
([
'@/components/watchCount'
],
e
),
}
},
{
value
:
'微信统计'
,
routerName
:
'weChatStatistics'
,
path
:
'/weChatStatistics'
,
cover
:
'7-10'
,
router
:
{
path
:
'/weChatStatistics'
,
name
:
'weChatStatistics'
,
component
:
e
=>
require
([
'@/components/weChatStatistics'
],
e
),
}
},
{
value
:
'测试'
,
routerName
:
'test'
,
path
:
'/test'
,
cover
:
'7-11'
,
router
:
{
path
:
'/test'
,
name
:
'test'
,
component
:
e
=>
require
([
'@/components/weChat/test'
],
e
),
}
},
]
},
{
name
:
''
,
value
:
'系统管理'
,
icon
:
'icon-xitongquanxian'
,
list
:
[{
value
:
'首页管理'
,
routerName
:
'banner'
,
path
:
'/banner'
,
cover
:
'10-5'
,
router
:
{
path
:
'/banner'
,
name
:
'banner'
,
component
:
e
=>
require
([
'@/components/system/banner'
],
e
),
},
},
{
},
{
value
:
'外部投放管理'
,
name
:
''
,
routerName
:
'externalLaunch'
,
value
:
'公众号'
,
path
:
'/externalLaunch'
,
icon
:
'icon-ai-weixin'
,
cover
:
'10-6'
,
list
:
[
router
:
{
{
path
:
'/externalLaunch'
,
value
:
'自动回复'
,
name
:
'externalLaunch'
,
routerName
:
'focusReply'
,
component
:
e
=>
require
([
'@/components/externalLaunch'
],
e
),
path
:
'/focusReply'
,
}
cover
:
'7-1'
,
},
router
:
{
{
path
:
'/focusReply'
,
value
:
'来源码管理'
,
name
:
'focusReply'
,
routerName
:
'sourceManage'
,
component
:
e
=>
require
([
'@/components/weChat/focusReply'
],
e
),
path
:
'/sourceManage'
,
}
cover
:
'10-1'
,
},
{
router
:
{
value
:
'关键词回复'
,
path
:
'/sourceManage'
,
routerName
:
'autoReply'
,
name
:
'sourceManage'
,
path
:
'/autoReply'
,
component
:
e
=>
require
([
'@/components/sourceManage'
],
e
),
cover
:
'7-2'
,
}
router
:
{
},
path
:
'/autoReply'
,
{
name
:
'autoReply'
,
value
:
'短信发送记录'
,
component
:
e
=>
require
([
'@/components/weChat/autoReply'
],
e
),
routerName
:
'smsRecord'
,
}
path
:
'/smsRecord'
,
},
{
cover
:
'10-2'
,
value
:
'公众号菜单'
,
router
:
{
routerName
:
'weChat'
,
path
:
'/smsRecord'
,
path
:
'/weChat'
,
name
:
'smsRecord'
,
cover
:
'7-3'
,
component
:
e
=>
require
([
'@/components/smsRecord'
],
e
),
router
:
{
}
path
:
'/weChat'
,
},
name
:
'weChat'
,
{
component
:
e
=>
require
([
'@/components/weChat'
],
e
),
value
:
'设备监管记录'
,
}
routerName
:
'staffRecord'
,
},
{
path
:
'/staffRecord'
,
value
:
'素材管理'
,
cover
:
'10-7'
,
routerName
:
'weChatResource'
,
router
:
{
path
:
'/weChatResource'
,
cover
:
'7-4'
,
router
:
{
path
:
'/weChatResource'
,
name
:
'weChatResource'
,
component
:
e
=>
require
([
'@/components/weChat/weChatResource'
],
e
),
}
},
{
value
:
'二维码管理'
,
routerName
:
'qrcode'
,
path
:
'/qrcode'
,
cover
:
'7-6'
,
router
:
{
path
:
'/qrcode'
,
name
:
'qrcode'
,
component
:
e
=>
require
([
'@/components/qrcode'
],
e
),
}
},
{
value
:
'群发助手'
,
routerName
:
'groupSend'
,
path
:
'/groupSend'
,
cover
:
'7-7'
,
router
:
{
path
:
'/groupSend'
,
name
:
'groupSend'
,
component
:
e
=>
require
([
'@/components/groupSend'
],
e
),
}
},
{
value
:
'关注取关统计'
,
routerName
:
'watchCount'
,
path
:
'/watchCount'
,
cover
:
'7-8'
,
router
:
{
path
:
'/watchCount'
,
name
:
'watchCount'
,
component
:
e
=>
require
([
'@/components/watchCount'
],
e
),
}
},
{
value
:
'微信统计'
,
routerName
:
'weChatStatistics'
,
path
:
'/weChatStatistics'
,
cover
:
'7-10'
,
router
:
{
path
:
'/weChatStatistics'
,
name
:
'weChatStatistics'
,
component
:
e
=>
require
([
'@/components/weChatStatistics'
],
e
),
}
},
{
value
:
'测试'
,
routerName
:
'test'
,
path
:
'/test'
,
cover
:
'7-11'
,
router
:
{
path
:
'/test'
,
name
:
'test'
,
component
:
e
=>
require
([
'@/components/weChat/test'
],
e
),
}
},
]
},
{
name
:
''
,
value
:
'系统管理'
,
icon
:
'icon-xitongquanxian'
,
list
:
[
{
value
:
'首页管理'
,
routerName
:
'banner'
,
path
:
'/banner'
,
cover
:
'10-5'
,
router
:
{
path
:
'/banner'
,
name
:
'banner'
,
component
:
e
=>
require
([
'@/components/system/banner'
],
e
),
},
},
{
value
:
'外部投放管理'
,
routerName
:
'externalLaunch'
,
path
:
'/externalLaunch'
,
cover
:
'10-6'
,
router
:
{
path
:
'/externalLaunch'
,
name
:
'externalLaunch'
,
component
:
e
=>
require
([
'@/components/externalLaunch'
],
e
),
}
},
{
value
:
'来源码管理'
,
routerName
:
'sourceManage'
,
path
:
'/sourceManage'
,
cover
:
'10-1'
,
router
:
{
path
:
'/sourceManage'
,
name
:
'sourceManage'
,
component
:
e
=>
require
([
'@/components/sourceManage'
],
e
),
}
},
{
value
:
'短信发送记录'
,
routerName
:
'smsRecord'
,
path
:
'/smsRecord'
,
cover
:
'10-2'
,
router
:
{
path
:
'/smsRecord'
,
name
:
'smsRecord'
,
component
:
e
=>
require
([
'@/components/smsRecord'
],
e
),
}
},
{
value
:
'设备监管记录'
,
routerName
:
'staffRecord'
,
path
:
'/staffRecord'
,
path
:
'/staffRecord'
,
name
:
'staffRecord'
,
cover
:
'10-7'
,
component
:
e
=>
require
([
'@/components/system/staffRecord'
],
e
),
router
:
{
}
path
:
'/staffRecord'
,
},
name
:
'staffRecord'
,
{
component
:
e
=>
require
([
'@/components/system/staffRecord'
],
e
),
value
:
'标签管理'
,
}
routerName
:
'tag'
,
},
{
path
:
'/tag'
,
value
:
'标签管理'
,
cover
:
'10-8'
,
routerName
:
'tag'
,
router
:
{
path
:
'/tag'
,
path
:
'/tag'
,
name
:
'tag'
,
cover
:
'10-8'
,
component
:
e
=>
require
([
'@/components/system/tag'
],
e
),
router
:
{
}
path
:
'/tag'
,
},
name
:
'tag'
,
{
component
:
e
=>
require
([
'@/components/system/tag'
],
e
),
value
:
'员工管理'
,
}
routerName
:
'staff'
,
},
{
path
:
'/staff'
,
value
:
'员工管理'
,
cover
:
'10-4'
,
routerName
:
'staff'
,
router
:
{
path
:
'/staff'
,
path
:
'/staff'
,
name
:
'staff'
,
cover
:
'10-4'
,
component
:
e
=>
require
([
'@/components/system/staff'
],
e
),
router
:
{
}
path
:
'/staff'
,
},
name
:
'staff'
,
{
component
:
e
=>
require
([
'@/components/system/staff'
],
e
),
value
:
'系统配置'
,
}
routerName
:
'config'
,
},
{
path
:
'/config'
,
value
:
'系统配置'
,
cover
:
'10-3'
,
routerName
:
'config'
,
router
:
{
path
:
'/config'
,
path
:
'/config'
,
cover
:
'10-3'
,
name
:
'config'
,
router
:
{
component
:
e
=>
require
([
'@/components/config'
],
e
),
path
:
'/config'
,
}
name
:
'config'
,
},
component
:
e
=>
require
([
'@/components/config'
],
e
),
]
}
},
},
]
{
name
:
''
,
value
:
'后台管理'
,
icon
:
'icon-shezhi'
,
list
:
[{
value
:
'账号管理'
,
routerName
:
'admin'
,
path
:
'/admin'
,
cover
:
'8-1'
,
router
:
{
path
:
'/admin'
,
name
:
'admin'
,
component
:
e
=>
require
([
'@/components/system/admin'
],
e
),
}
},
{
value
:
'角色管理'
,
routerName
:
'role'
,
path
:
'/role'
,
cover
:
'8-2'
,
router
:
{
path
:
'/role'
,
name
:
'role'
,
component
:
e
=>
require
([
'@/components/system/role'
],
e
),
}
},
{
value
:
'菜单管理'
,
routerName
:
'menu'
,
path
:
'/menu'
,
cover
:
'8-3'
,
router
:
{
path
:
'/menu'
,
name
:
'menu'
,
component
:
e
=>
require
([
'@/components/system/menu'
],
e
),
}
},
{
},
{
value
:
'系统配置'
,
name
:
''
,
routerName
:
'sysConfig'
,
value
:
'后台管理'
,
path
:
'/sysConfig'
,
icon
:
'icon-shezhi'
,
cover
:
'8-4'
,
list
:
[
router
:
{
{
path
:
'/sysConfig'
,
value
:
'账号管理'
,
name
:
'sysConfig'
,
routerName
:
'admin'
,
component
:
e
=>
require
([
'@/components/system/sysConfig'
],
e
),
path
:
'/admin'
,
}
cover
:
'8-1'
,
router
:
{
},
path
:
'/admin'
,
name
:
'admin'
,
{
component
:
e
=>
require
([
'@/components/system/admin'
],
e
),
value
:
'操作日志'
,
}
routerName
:
'adminLog'
,
},
{
path
:
'/adminLog'
,
value
:
'角色管理'
,
cover
:
'8-5'
,
routerName
:
'role'
,
router
:
{
path
:
'/role'
,
path
:
'/adminLog'
,
cover
:
'8-2'
,
name
:
'adminLog'
,
router
:
{
component
:
e
=>
require
([
'@/components/system/adminLog'
],
e
),
path
:
'/role'
,
}
name
:
'role'
,
component
:
e
=>
require
([
'@/components/system/role'
],
e
),
}
},
{
value
:
'菜单管理'
,
routerName
:
'menu'
,
path
:
'/menu'
,
cover
:
'8-3'
,
router
:
{
path
:
'/menu'
,
name
:
'menu'
,
component
:
e
=>
require
([
'@/components/system/menu'
],
e
),
}
},
{
value
:
'系统配置'
,
routerName
:
'sysConfig'
,
path
:
'/sysConfig'
,
cover
:
'8-4'
,
router
:
{
path
:
'/sysConfig'
,
name
:
'sysConfig'
,
component
:
e
=>
require
([
'@/components/system/sysConfig'
],
e
),
}
},
{
value
:
'操作日志'
,
routerName
:
'adminLog'
,
path
:
'/adminLog'
,
cover
:
'8-5'
,
router
:
{
path
:
'/adminLog'
,
name
:
'adminLog'
,
component
:
e
=>
require
([
'@/components/system/adminLog'
],
e
),
}
}
]
}
}
]
}
]
]
// {
// {
// name: '',
// name: '',
...
...
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