Commit f34c5511 authored by IvyXia123's avatar IvyXia123

Merge branch 'dev' of http://git.singsingenglish.com/new-sing/admin into dev

parents abf93254 5d117cda
......@@ -5,10 +5,10 @@
<el-card shadow="never" class="callback-info callback-item" style="margin-bottom: 15px;">
ID:{{user.user_id}} &emsp;
用户昵称:{{user.nickname}} &emsp;
宝宝名称:{{user.baby_name || '-'}} &emsp;
宝宝生日:{{(user.birthday == '0000-00-00') ? '-' : user.birthday}} &emsp;
手机号:{{user.mobile || '-'}} &emsp;
用户昵称:{{user.info.nickname || '-'}} &emsp;
宝宝名称:{{user.info.baby_name || '-'}} &emsp;
宝宝生日:{{(user.info.birthday == '0000-00-00') ? '-' : user.info.birthday}} &emsp;
手机号:{{user.info.mobile || '-'}} &emsp;
<div style="display: inline-block; white-space: nowrap">
关联手机号:
<span class="callback-edit">
......@@ -47,7 +47,7 @@
:disabled="(callbackEdit.wechat.value == callbackEdit.wechat.origin) && (callbackEdit.mobile.value == callbackEdit.mobile.origin)"
type="primary" plain size="small">更新用户信息
</el-button>&emsp;
<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 shadow="never" class="callback-item" style="display: flex; align-items: flex-start; margin-bottom: 15px; line-height: 32px;">
......@@ -59,7 +59,7 @@
</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-item required>
<el-select v-model="add.method" placeholder="回访方式" style="width: 140px;">
......@@ -184,25 +184,21 @@
name: "CallBack",
components: {page},
props: {
callbackObj: {
callbackObj: { // user_id、teacher_id、timestamp
type: Object,
default: () => {}
},
callbackAdd: {
hasUserInfo: { // 是否传过来用户信息,传来用户信息就不调接口请求用户新,否则请求(防止同时请求用户信息接口报错)
type: Boolean,
default: false
}
},
},
data() {
return {
loading: true,
user: {
user_id: '',
nickname: '',
baby_name: '',
birthday: '',
mobile: '',
updated_at: ''
info: {}
},
CALLBACK_METHOD: CALLBACK_METHOD,
CALLBACK_TYPE: CALLBACK_TYPE,
......@@ -262,11 +258,14 @@
created() {
},
watch: {
'user'() {
this.callbackEdit.mobile.value = this.user.relation_mobile;
this.callbackEdit.mobile.origin = this.user.relation_mobile;
this.callbackEdit.wechat.value = this.user.wx_number;
this.callbackEdit.wechat.origin = this.user.wx_number;
'callbackObj.info'() {
this.user.info = this.callbackObj.info || {};
},
'user.info'() {
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'() {
this.user.user_id = this.callbackObj.user_id;
......@@ -276,8 +275,26 @@
},
mounted() {
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.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: {
filterName(string, type) {
......@@ -300,7 +317,9 @@
putUserInfoApi(this.user.user_id, json).then(res => {
this.$message({type: 'success', message: '用户信息更新成功'});
this.getUser();
// this.$emit('updateUser');
if (this.hasUserInfo) {
this.$emit('updateUser');
}
})
},
......@@ -388,20 +407,7 @@
getUser() {
getUserDetailApi(this.user.user_id).then(res => {
// console.log(res, 999)
this.user = 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;
this.user.info = res;
})
},
getTag() {
......@@ -420,6 +426,7 @@
this.list = res.page_data;
this.total = res.total
// this.total = res.total_page
this.loading = false;
})
},
callbackReset() {
......
......@@ -331,13 +331,6 @@ export default {
</script>
<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 {
background-color: #fff;
}
......@@ -347,7 +340,4 @@ export default {
/deep/.el-progress-bar__inner {
max-width: 100% !important;
}
.el-main .content .router-block .child-view {
/*height: 100vh;*/
}
</style>
......@@ -40,7 +40,7 @@
}
</script>
<style scoped lang="less">
<style lang="less">
@import "../../util/public";
.el-header{
background: #333333;
......
......@@ -16,7 +16,7 @@
<el-dialog append-to-body :visible.sync="descDialog.show" title="沟通情况列表" width="75%">
<!--TODO @updateUser-->
<call-back :callbackAdd="true" :callbackObj="callbackObj"></call-back>
<call-back :callbackObj="callbackObj"></call-back>
<!--<el-form label-width="90px">
<el-form-item>
......
......@@ -471,7 +471,7 @@
</el-table-column>
<el-table-column prop="mobile" label="手机号"></el-table-column>
</el-table>
<page :total="userObj.total" :limit="userObj.limit" :small="true" @pageChange="onPageChange3" @sizeChange="onSizeChange3"/>
<page :total="userObj.total" :limit="userObj.limit" :small="true" @pageChange="onPageChange4" @sizeChange="onSizeChange4"/>
<span slot="footer" class="dialog-footer">
<el-button @click="addShow = false">取 消</el-button>
<el-button type="primary" @click="onAdd">确 定</el-button>
......@@ -821,15 +821,15 @@
type: data.type
}
},
/*onPageChange3(val) {
onPageChange4(val) {
this.userObj.nowPage = val;
this.getUser()
},*/
/*onSizeChange3(val) {
},
onSizeChange4(val) {
this.userObj.limit = val;
this.userObj.nowPage = 1;
this.getUser();
},*/
},
onPageChange(val) {
this.nowPage = val;
this.getTeacherDetail();
......
......@@ -58,7 +58,7 @@
<!--<el-tabs type="border-card" v-model="tabs">-->
<el-tabs type="border-card" v-model="tabs">
<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 label="期数列表" name="periods">
<el-table @expand-change="changeRow" :data="periodList">
......@@ -550,7 +550,8 @@
callbackObj: {
user_id: '',
teacher_id: '',
timestamp: ''
timestamp: '',
info: {}
},
userList: [],
yunjiList: [],
......@@ -875,11 +876,10 @@
if (!this.id) return;
getUserDetailApi(this.id).then(res => {
this.detail = res;
// this.callbackObj.detail = res; // 用户的所有数据
if (res.periods_list) {
this.periodList = res.periods_list
}
// console.log(res)
this.callbackObj.info = res; // 用户的所有数据
})
getSubAccountInfoApi(this.id).then(res => {
if (res.family_user == 1) {
......
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),
}
},
export default [
{
value: '自化课列表',
routerName: 'autoClass',
path: '/autoClass',
cover: '2-6',
router: {
path: '/autoClass',
name: 'autoClass',
component: e => require(['@/components/autoClass'], e),
}
},
]
}, {
name: '',
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),
}
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),
}
}
]
}, {
value: '退款列表',
routerName: 'refund',
path: '/refund',
cover: '5-2',
router: {
path: '/refund',
name: 'refund',
component: e => require(['@/components/refund'], 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),
},
},
]
}, {
value: '业绩排行',
routerName: 'achievement',
path: '/achievement',
cover: '5-7',
router: {
path: '/achievement',
name: 'achievement',
component: e => require(['@/components/achievement'], 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: '自化课列表',
routerName: 'autoClass',
path: '/autoClass',
cover: '2-6',
router: {
path: '/autoClass',
name: 'autoClass',
component: e => require(['@/components/autoClass'], 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',
cover: '11-7',
router: {
name: '',
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: '退款列表',
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',
name: 'salesLevel',
component: e => require(['@/components/salesLevel'], e),
}
}, {
value: '佣金配置',
routerName: 'brokerage',
path: '/brokerage',
cover: '11-8',
router: {
cover: '11-7',
router: {
path: '/salesLevel',
name: 'salesLevel',
component: e => require(['@/components/salesLevel'], e),
}
}, {
value: '佣金配置',
routerName: 'brokerage',
path: '/brokerage',
name: 'brokerage',
component: e => require(['@/components/brokerage'], e),
}
},]
},
{
name: '',
value: '用户管理',
icon: 'icon-yonghu',
list: [
{
value: '用户列表',
routerName: 'user',
path: '/user',
cover: '3-2',
router: {
cover: '11-8',
router: {
path: '/brokerage',
name: 'brokerage',
component: e => require(['@/components/brokerage'], e),
}
},
]
}, {
name: '',
value: '用户管理',
icon: 'icon-yonghu',
list: [
{
value: '用户列表',
routerName: 'user',
path: '/user',
name: 'user',
component: e => require(['@/components/user'], e),
}
},
{
value: '用户详情',
routerName: 'userDetail',
path: '/userDetail',
cover: '3-2',
hidden: true,
router: {
cover: '3-2',
router: {
path: '/user',
name: 'user',
component: e => require(['@/components/user'], e),
}
}, {
value: '用户详情',
routerName: 'userDetail',
path: '/userDetail',
name: 'userDetail',
component: e => require(['@/components/userDetail/index'], e),
}
},
{
value: '老系统用户列表',
routerName: 'oldUser',
path: '/oldUser',
cover: '3-3',
router: {
cover: '3-2',
hidden: true,
router: {
path: '/userDetail',
name: 'userDetail',
component: e => require(['@/components/userDetail/index'], e),
}
}, {
value: '老系统用户列表',
routerName: 'oldUser',
path: '/oldUser',
name: 'oldUser',
component: e => require(['@/components/oldUser/'], e),
}
},
{
value: '用户积分列表',
routerName: 'integral',
path: '/integral',
cover: '3-4',
router: {
cover: '3-3',
router: {
path: '/oldUser',
name: 'oldUser',
component: e => require(['@/components/oldUser/'], e),
}
}, {
value: '用户积分列表',
routerName: 'integral',
path: '/integral',
name: 'integral',
component: e => require(['@/components/integral/'], e),
}
},
{
value: '绑定子账号列表',
routerName: 'subList',
path: '/subList',
cover: '3-5',
router: {
cover: '3-4',
router: {
path: '/integral',
name: 'integral',
component: e => require(['@/components/integral/'], e),
}
}, {
value: '绑定子账号列表',
routerName: 'subList',
path: '/subList',
name: 'subList',
component: e => require(['@/components/subList/'], e),
}
},
]
},
{
name: '',
value: '订单管理',
icon: 'icon-dingdan',
list: [
{
value: '日课订单列表',
routerName: 'order',
path: '/order',
cover: '5-1',
router: {
cover: '3-5',
router: {
path: '/subList',
name: 'subList',
component: e => require(['@/components/subList/'], e),
}
},
]
}, {
name: '',
value: '订单管理',
icon: 'icon-dingdan',
list: [
{
value: '日课订单列表',
routerName: 'order',
path: '/order',
name: 'order',
component: e => require(['@/components/order'], e),
}
},
{
value: '提现列表',
routerName: 'putForward',
path: '/putForward',
cover: '5-3',
router: {
cover: '5-1',
router: {
path: '/order',
name: 'order',
component: e => require(['@/components/order'], e),
}
}, {
value: '提现列表',
routerName: 'putForward',
path: '/putForward',
name: 'putForward',
component: e => require(['@/components/putForward'], e),
}
},
{
value: '发货管理',
routerName: 'consignment',
path: '/consignment',
cover: '5-4',
router: {
cover: '5-3',
router: {
path: '/putForward',
name: 'putForward',
component: e => require(['@/components/putForward'], e),
}
}, {
value: '发货管理',
routerName: 'consignment',
path: '/consignment',
name: 'consignment',
component: e => require(['@/components/consignment'], e),
}
},
{
value: '订单统计',
routerName: 'orderCount',
path: '/orderCount',
cover: '5-5',
router: {
cover: '5-4',
router: {
path: '/consignment',
name: 'consignment',
component: e => require(['@/components/consignment'], e),
}
}, {
value: '订单统计',
routerName: 'orderCount',
path: '/orderCount',
name: 'orderCount',
component: e => require(['@/components/orderCount/index'], e),
}
},
{
value: '日课订单统计',
routerName: 'dayOrderCount',
path: '/dayOrderCount',
cover: '5-11',
router: {
cover: '5-5',
router: {
path: '/orderCount',
name: 'orderCount',
component: e => require(['@/components/orderCount/index'], e),
}
}, {
value: '日课订单统计',
routerName: 'dayOrderCount',
path: '/dayOrderCount',
name: 'dayOrderCount',
component: e => require(['@/components/orderCount/dayOrderCount'], e),
}
},
{
value: '优惠券列表',
routerName: 'coupon',
path: '/coupon',
cover: '5-6',
router: {
cover: '5-11',
router: {
path: '/dayOrderCount',
name: 'dayOrderCount',
component: e => require(['@/components/orderCount/dayOrderCount'], e),
}
}, {
value: '优惠券列表',
routerName: 'coupon',
path: '/coupon',
name: 'coupon',
component: e => require(['@/components/coupon'], e),
}
},
{
value: '扫码入课列表',
routerName: 'notBuyClass',
path: '/notBuyClass',
cover: '5-8',
router: {
cover: '5-6',
router: {
path: '/coupon',
name: 'coupon',
component: e => require(['@/components/coupon'], e),
}
}, {
value: '扫码入课列表',
routerName: 'notBuyClass',
path: '/notBuyClass',
name: 'notBuyClass',
component: e => require(['@/components/notBuyClass'], e),
}
},
{
value: '外部订单列表',
routerName: 'yunji',
path: '/yunji',
cover: '5-9',
router: {
cover: '5-8',
router: {
path: '/notBuyClass',
name: 'notBuyClass',
component: e => require(['@/components/notBuyClass'], e),
}
}, {
value: '外部订单列表',
routerName: 'yunji',
path: '/yunji',
name: 'yunji',
component: e => require(['@/components/yunji'], e),
}
},
{
value: '兑换码管理',
routerName: 'exchange',
path: '/exchange',
cover: '5-13',
router: {
cover: '5-9',
router: {
path: '/yunji',
name: 'yunji',
component: e => require(['@/components/yunji'], e),
}
}, {
value: '兑换码管理',
routerName: 'exchange',
path: '/exchange',
name: 'exchange',
component: e => require(['@/components/exchange'], e),
cover: '5-13',
router: {
path: '/exchange',
name: 'exchange',
component: e => require(['@/components/exchange'], e),
}
}
}
]
},
{
name: '',
value: '数据管理',
icon: 'icon-shezhi',
list: [
{
value: '年课转化来源',
routerName: 'sourceConversionList',
path: '/sourceConversionList',
cover: '9-9',
router: {
]
}, {
name: '',
value: '数据管理',
icon: 'icon-shezhi',
list: [
{
value: '年课转化来源',
routerName: 'sourceConversionList',
path: '/sourceConversionList',
cover: '9-9',
router: {
path: '/sourceConversionList',
name: 'sourceConversionList',
component: e => require(['@/components/conversionList/sourceConversionList'], e),
}
},
{
}
}, {
value: '市场招生列表',
routerName: 'marketEnrollmentConversionList',
path: '/marketEnrollmentConversionList',
cover: '9-8',
router: {
path: '/marketEnrollmentConversionList',
name: 'marketEnrollmentConversionList',
component: e => require(['@/components/conversionList/marketEnrollmentConversionList'], e),
path: '/marketEnrollmentConversionList',
name: 'marketEnrollmentConversionList',
component: e => require(['@/components/conversionList/marketEnrollmentConversionList'], e),
}
},
{
value: '渠道转化数据',
routerName: 'channelConversionList',
}, {
value: '渠道转化数据',
routerName: 'channelConversionList',
path: '/channelConversionList',
cover: '9-3',
router: {
path: '/channelConversionList',
cover: '9-3',
router: {
path: '/channelConversionList',
name: 'channelConversionList',
component: e => require(['@/components/conversionList/channelConversionList'], e),
}
},
{
name: 'channelConversionList',
component: e => require(['@/components/conversionList/channelConversionList'], e),
}
}, {
value: '渠道分商品转化数据',
routerName: 'channelGoodsConversionList',
path: '/channelGoodsConversionList',
cover: '9-2',
router: {
path: '/channelGoodsConversionList',
name: 'channelGoodsConversionList',
component: e => require(['@/components/conversionList/channelGoodsConversionList'], e),
path: '/channelGoodsConversionList',
name: 'channelGoodsConversionList',
component: e => require(['@/components/conversionList/channelGoodsConversionList'], e),
}
},
{
value: '期数转化数据',
routerName: 'periodsConversionList',
}, {
value: '期数转化数据',
routerName: 'periodsConversionList',
path: '/periodsConversionList',
cover: '9-4',
router: {
path: '/periodsConversionList',
cover: '9-4',
router: {
path: '/periodsConversionList',
name: 'periodsConversionList',
component: e => require(['@/components/conversionList/periodsConversionList'], e),
}
},
{
value: '销售小组数据',
routerName: 'squadConversionList',
name: 'periodsConversionList',
component: e => require(['@/components/conversionList/periodsConversionList'], e),
}
}, {
value: '销售小组数据',
routerName: 'squadConversionList',
path: '/squadConversionList',
cover: '9-5',
router: {
path: '/squadConversionList',
cover: '9-5',
router: {
path: '/squadConversionList',
name: 'squadConversionList',
component: e => require(['@/components/conversionList/squadConversionList'], e),
}
},
{
value: '班主任转化数据',
routerName: 'teacherConversionList',
name: 'squadConversionList',
component: e => require(['@/components/conversionList/squadConversionList'], e),
}
}, {
value: '班主任转化数据',
routerName: 'teacherConversionList',
path: '/teacherConversionList',
cover: '9-6',
router: {
path: '/teacherConversionList',
cover: '9-6',
router: {
path: '/teacherConversionList',
name: 'teacherConversionList',
component: e => require(['@/components/conversionList/teacherConversionList'], e),
}
},
{
value: '各期数班主任转化数据',
routerName: 'teacherPeriodsConversionList',
name: 'teacherConversionList',
component: e => require(['@/components/conversionList/teacherConversionList'], e),
}
}, {
value: '各期数班主任转化数据',
routerName: 'teacherPeriodsConversionList',
path: '/teacherPeriodsConversionList',
cover: '9-7',
router: {
path: '/teacherPeriodsConversionList',
cover: '9-7',
router: {
path: '/teacherPeriodsConversionList',
name: 'teacherPeriodsConversionList',
component: e => require(['@/components/conversionList/teacherPeriodsConversionList'], e),
}
},
{
value: '明细数据列表',
routerName: 'channelTransList',
name: 'teacherPeriodsConversionList',
component: e => require(['@/components/conversionList/teacherPeriodsConversionList'], e),
}
}, {
value: '明细数据列表',
routerName: 'channelTransList',
path: '/channelTransList',
cover: '9-1',
router: {
path: '/channelTransList',
cover: '9-1',
router: {
path: '/channelTransList',
name: 'channelTransList',
component: e => require(['@/components/conversionList/channelTransList'], e),
}
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: '盒子列表',
routerName: 'box',
path: '/box',
cover: '6-2',
router: {
path: '/box',
name: 'box',
component: e => require(['@/components/box'], e),
}
},{
value: '待发货列表',
routerName: 'logistics',
path: '/logistics',
cover: '6-3',
router: {
path: '/logistics',
name: 'logistics',
component: e => require(['@/components/logistics'], e),
}
},{
value: '一次性物流信息',
routerName: 'disposable',
path: '/disposable',
cover: '6-4',
router: {
path: '/disposable',
name: 'disposable',
component: e => require(['@/components/disposable'], e),
}
}]
}, {
name: '',
value: '公众号',
icon: 'icon-ai-weixin',
list: [{
value: '自动回复',
routerName: 'focusReply',
path: '/focusReply',
cover: '7-1',
router: {
path: '/focusReply',
name: 'focusReply',
component: e => require(['@/components/weChat/focusReply'], 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),
},
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: '盒子列表',
routerName: 'box',
path: '/box',
cover: '6-2',
router: {
path: '/box',
name: 'box',
component: e => require(['@/components/box'], e),
}
}, {
value: '待发货列表',
routerName: 'logistics',
path: '/logistics',
cover: '6-3',
router: {
path: '/logistics',
name: 'logistics',
component: e => require(['@/components/logistics'], e),
}
}, {
value: '一次性物流信息',
routerName: 'disposable',
path: '/disposable',
cover: '6-4',
router: {
path: '/disposable',
name: 'disposable',
component: e => require(['@/components/disposable'], 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',
cover: '10-7',
router: {
name: '',
value: '公众号',
icon: 'icon-ai-weixin',
list: [
{
value: '自动回复',
routerName: 'focusReply',
path: '/focusReply',
cover: '7-1',
router: {
path: '/focusReply',
name: 'focusReply',
component: e => require(['@/components/weChat/focusReply'], 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: '外部投放管理',
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',
name: 'staffRecord',
component: e => require(['@/components/system/staffRecord'], e),
}
},
{
value: '标签管理',
routerName: 'tag',
path: '/tag',
cover: '10-8',
router: {
cover: '10-7',
router: {
path: '/staffRecord',
name: 'staffRecord',
component: e => require(['@/components/system/staffRecord'], e),
}
}, {
value: '标签管理',
routerName: 'tag',
path: '/tag',
name: 'tag',
component: e => require(['@/components/system/tag'], e),
}
},
{
value: '员工管理',
routerName: 'staff',
path: '/staff',
cover: '10-4',
router: {
cover: '10-8',
router: {
path: '/tag',
name: 'tag',
component: e => require(['@/components/system/tag'], e),
}
}, {
value: '员工管理',
routerName: 'staff',
path: '/staff',
name: 'staff',
component: e => require(['@/components/system/staff'], e),
}
},
{
value: '系统配置',
routerName: 'config',
path: '/config',
cover: '10-3',
router: {
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),
}
cover: '10-4',
router: {
path: '/staff',
name: 'staff',
component: e => require(['@/components/system/staff'], e),
}
}, {
value: '系统配置',
routerName: 'config',
path: '/config',
cover: '10-3',
router: {
path: '/config',
name: 'config',
component: e => require(['@/components/config'], 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: '',
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: '系统配置',
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: '',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment