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;
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 [{
export default [
{
name: '',
value: '教研管理',
icon: 'icon-material',
list: [{
list: [
{
value: '教材列表',
routerName: 'resources',
path: '/resources',
......@@ -12,12 +14,14 @@ export default [{
name: 'resources',
component: e => require(['@/components/resources'], e),
}
}]
}, {
}
]
}, {
name: '',
value: '商品课程',
icon: 'icon-shangpin1',
list: [{
list: [
{
value: '课程列表',
routerName: 'lesson',
path: '/lesson',
......@@ -37,12 +41,14 @@ export default [{
name: 'shop',
component: e => require(['@/components/shop'], e),
},
},]
}, {
},
]
}, {
name: '',
value: '期数管理',
icon: 'icon-kecheng',
list: [{
list: [
{
value: '期数列表',
routerName: 'periods',
path: '/periods',
......@@ -52,8 +58,7 @@ export default [{
name: 'periods',
component: e => require(['@/components/periods'], e),
}
},
{
}, {
value: '班级列表',
routerName: 'class',
path: '/class',
......@@ -73,8 +78,7 @@ export default [{
name: 'marketStatistics',
component: e => require(['@/components/marketStatistics'], e),
}
},
{
}, {
value: '不上课日期',
routerName: 'noLesson',
path: '/noLesson',
......@@ -84,8 +88,7 @@ export default [{
name: 'noLesson',
component: e => require(['@/components/noLesson'], e),
}
},
{
}, {
value: '自化课列表',
routerName: 'autoClass',
path: '/autoClass',
......@@ -97,11 +100,12 @@ export default [{
}
},
]
}, {
}, {
name: '',
value: '销售管理',
icon: 'icon-laoshi',
list: [{
list: [
{
value: '教师列表',
routerName: 'teacher',
path: '/teacher',
......@@ -121,8 +125,7 @@ export default [{
name: 'monthOrder',
component: e => require(['@/components/monthOrder'], e),
}
},
{
}, {
value: '月课订单统计',
routerName: 'monthOrderCount',
path: '/monthOrderCount',
......@@ -162,7 +165,7 @@ export default [{
name: 'talkingSkill',
component: e => require(['@/components/talkingSkill'], e),
}
},{
}, {
value: '销售级别配置',
routerName: 'salesLevel',
path: '/salesLevel',
......@@ -182,9 +185,9 @@ export default [{
name: 'brokerage',
component: e => require(['@/components/brokerage'], e),
}
},]
},
{
},
]
}, {
name: '',
value: '用户管理',
icon: 'icon-yonghu',
......@@ -199,8 +202,7 @@ export default [{
name: 'user',
component: e => require(['@/components/user'], e),
}
},
{
}, {
value: '用户详情',
routerName: 'userDetail',
path: '/userDetail',
......@@ -211,8 +213,7 @@ export default [{
name: 'userDetail',
component: e => require(['@/components/userDetail/index'], e),
}
},
{
}, {
value: '老系统用户列表',
routerName: 'oldUser',
path: '/oldUser',
......@@ -222,8 +223,7 @@ export default [{
name: 'oldUser',
component: e => require(['@/components/oldUser/'], e),
}
},
{
}, {
value: '用户积分列表',
routerName: 'integral',
path: '/integral',
......@@ -233,8 +233,7 @@ export default [{
name: 'integral',
component: e => require(['@/components/integral/'], e),
}
},
{
}, {
value: '绑定子账号列表',
routerName: 'subList',
path: '/subList',
......@@ -246,8 +245,7 @@ export default [{
}
},
]
},
{
}, {
name: '',
value: '订单管理',
icon: 'icon-dingdan',
......@@ -262,8 +260,7 @@ export default [{
name: 'order',
component: e => require(['@/components/order'], e),
}
},
{
}, {
value: '提现列表',
routerName: 'putForward',
path: '/putForward',
......@@ -273,8 +270,7 @@ export default [{
name: 'putForward',
component: e => require(['@/components/putForward'], e),
}
},
{
}, {
value: '发货管理',
routerName: 'consignment',
path: '/consignment',
......@@ -284,8 +280,7 @@ export default [{
name: 'consignment',
component: e => require(['@/components/consignment'], e),
}
},
{
}, {
value: '订单统计',
routerName: 'orderCount',
path: '/orderCount',
......@@ -295,8 +290,7 @@ export default [{
name: 'orderCount',
component: e => require(['@/components/orderCount/index'], e),
}
},
{
}, {
value: '日课订单统计',
routerName: 'dayOrderCount',
path: '/dayOrderCount',
......@@ -306,8 +300,7 @@ export default [{
name: 'dayOrderCount',
component: e => require(['@/components/orderCount/dayOrderCount'], e),
}
},
{
}, {
value: '优惠券列表',
routerName: 'coupon',
path: '/coupon',
......@@ -317,8 +310,7 @@ export default [{
name: 'coupon',
component: e => require(['@/components/coupon'], e),
}
},
{
}, {
value: '扫码入课列表',
routerName: 'notBuyClass',
path: '/notBuyClass',
......@@ -328,8 +320,7 @@ export default [{
name: 'notBuyClass',
component: e => require(['@/components/notBuyClass'], e),
}
},
{
}, {
value: '外部订单列表',
routerName: 'yunji',
path: '/yunji',
......@@ -339,8 +330,7 @@ export default [{
name: 'yunji',
component: e => require(['@/components/yunji'], e),
}
},
{
}, {
value: '兑换码管理',
routerName: 'exchange',
path: '/exchange',
......@@ -352,8 +342,7 @@ export default [{
}
}
]
},
{
}, {
name: '',
value: '数据管理',
icon: 'icon-shezhi',
......@@ -368,8 +357,7 @@ export default [{
name: 'sourceConversionList',
component: e => require(['@/components/conversionList/sourceConversionList'], e),
}
},
{
}, {
value: '市场招生列表',
routerName: 'marketEnrollmentConversionList',
path: '/marketEnrollmentConversionList',
......@@ -379,8 +367,7 @@ export default [{
name: 'marketEnrollmentConversionList',
component: e => require(['@/components/conversionList/marketEnrollmentConversionList'], e),
}
},
{
}, {
value: '渠道转化数据',
routerName: 'channelConversionList',
path: '/channelConversionList',
......@@ -390,8 +377,7 @@ export default [{
name: 'channelConversionList',
component: e => require(['@/components/conversionList/channelConversionList'], e),
}
},
{
}, {
value: '渠道分商品转化数据',
routerName: 'channelGoodsConversionList',
path: '/channelGoodsConversionList',
......@@ -401,8 +387,7 @@ export default [{
name: 'channelGoodsConversionList',
component: e => require(['@/components/conversionList/channelGoodsConversionList'], e),
}
},
{
}, {
value: '期数转化数据',
routerName: 'periodsConversionList',
path: '/periodsConversionList',
......@@ -412,8 +397,7 @@ export default [{
name: 'periodsConversionList',
component: e => require(['@/components/conversionList/periodsConversionList'], e),
}
},
{
}, {
value: '销售小组数据',
routerName: 'squadConversionList',
path: '/squadConversionList',
......@@ -423,8 +407,7 @@ export default [{
name: 'squadConversionList',
component: e => require(['@/components/conversionList/squadConversionList'], e),
}
},
{
}, {
value: '班主任转化数据',
routerName: 'teacherConversionList',
path: '/teacherConversionList',
......@@ -434,8 +417,7 @@ export default [{
name: 'teacherConversionList',
component: e => require(['@/components/conversionList/teacherConversionList'], e),
}
},
{
}, {
value: '各期数班主任转化数据',
routerName: 'teacherPeriodsConversionList',
path: '/teacherPeriodsConversionList',
......@@ -445,8 +427,7 @@ export default [{
name: 'teacherPeriodsConversionList',
component: e => require(['@/components/conversionList/teacherPeriodsConversionList'], e),
}
},
{
}, {
value: '明细数据列表',
routerName: 'channelTransList',
path: '/channelTransList',
......@@ -457,13 +438,13 @@ export default [{
component: e => require(['@/components/conversionList/channelTransList'], e),
}
},
]
}, {
}, {
name: '',
value: '实物管理',
icon: 'icon-shu',
list: [{
list: [
{
value: '单品列表',
routerName: 'single',
path: '/single',
......@@ -483,7 +464,7 @@ export default [{
name: 'box',
component: e => require(['@/components/box'], e),
}
},{
}, {
value: '待发货列表',
routerName: 'logistics',
path: '/logistics',
......@@ -493,7 +474,7 @@ export default [{
name: 'logistics',
component: e => require(['@/components/logistics'], e),
}
},{
}, {
value: '一次性物流信息',
routerName: 'disposable',
path: '/disposable',
......@@ -503,12 +484,14 @@ export default [{
name: 'disposable',
component: e => require(['@/components/disposable'], e),
}
}]
}, {
}
]
}, {
name: '',
value: '公众号',
icon: 'icon-ai-weixin',
list: [{
list: [
{
value: '自动回复',
routerName: 'focusReply',
path: '/focusReply',
......@@ -518,8 +501,7 @@ export default [{
name: 'focusReply',
component: e => require(['@/components/weChat/focusReply'], e),
}
},
{
}, {
value: '关键词回复',
routerName: 'autoReply',
path: '/autoReply',
......@@ -529,9 +511,7 @@ export default [{
name: 'autoReply',
component: e => require(['@/components/weChat/autoReply'], e),
}
},
{
}, {
value: '公众号菜单',
routerName: 'weChat',
path: '/weChat',
......@@ -541,8 +521,7 @@ export default [{
name: 'weChat',
component: e => require(['@/components/weChat'], e),
}
},
{
}, {
value: '素材管理',
routerName: 'weChatResource',
path: '/weChatResource',
......@@ -552,8 +531,7 @@ export default [{
name: 'weChatResource',
component: e => require(['@/components/weChat/weChatResource'], e),
}
},
{
}, {
value: '二维码管理',
routerName: 'qrcode',
path: '/qrcode',
......@@ -563,8 +541,7 @@ export default [{
name: 'qrcode',
component: e => require(['@/components/qrcode'], e),
}
},
{
}, {
value: '群发助手',
routerName: 'groupSend',
path: '/groupSend',
......@@ -574,8 +551,7 @@ export default [{
name: 'groupSend',
component: e => require(['@/components/groupSend'], e),
}
},
{
}, {
value: '关注取关统计',
routerName: 'watchCount',
path: '/watchCount',
......@@ -585,8 +561,7 @@ export default [{
name: 'watchCount',
component: e => require(['@/components/watchCount'], e),
}
},
{
}, {
value: '微信统计',
routerName: 'weChatStatistics',
path: '/weChatStatistics',
......@@ -596,8 +571,7 @@ export default [{
name: 'weChatStatistics',
component: e => require(['@/components/weChatStatistics'], e),
}
},
{
}, {
value: '测试',
routerName: 'test',
path: '/test',
......@@ -609,12 +583,12 @@ export default [{
}
},
]
},
{
}, {
name: '',
value: '系统管理',
icon: 'icon-xitongquanxian',
list: [{
list: [
{
value: '首页管理',
routerName: 'banner',
path: '/banner',
......@@ -634,8 +608,7 @@ export default [{
name: 'externalLaunch',
component: e => require(['@/components/externalLaunch'], e),
}
},
{
}, {
value: '来源码管理',
routerName: 'sourceManage',
path: '/sourceManage',
......@@ -645,8 +618,7 @@ export default [{
name: 'sourceManage',
component: e => require(['@/components/sourceManage'], e),
}
},
{
}, {
value: '短信发送记录',
routerName: 'smsRecord',
path: '/smsRecord',
......@@ -656,8 +628,7 @@ export default [{
name: 'smsRecord',
component: e => require(['@/components/smsRecord'], e),
}
},
{
}, {
value: '设备监管记录',
routerName: 'staffRecord',
path: '/staffRecord',
......@@ -667,8 +638,7 @@ export default [{
name: 'staffRecord',
component: e => require(['@/components/system/staffRecord'], e),
}
},
{
}, {
value: '标签管理',
routerName: 'tag',
path: '/tag',
......@@ -678,8 +648,7 @@ export default [{
name: 'tag',
component: e => require(['@/components/system/tag'], e),
}
},
{
}, {
value: '员工管理',
routerName: 'staff',
path: '/staff',
......@@ -689,8 +658,7 @@ export default [{
name: 'staff',
component: e => require(['@/components/system/staff'], e),
}
},
{
}, {
value: '系统配置',
routerName: 'config',
path: '/config',
......@@ -702,13 +670,12 @@ export default [{
}
},
]
},
{
}, {
name: '',
value: '后台管理',
icon: 'icon-shezhi',
list: [{
list: [
{
value: '账号管理',
routerName: 'admin',
path: '/admin',
......@@ -748,10 +715,7 @@ export default [{
name: 'sysConfig',
component: e => require(['@/components/system/sysConfig'], e),
}
},
{
}, {
value: '操作日志',
routerName: 'adminLog',
path: '/adminLog',
......@@ -763,7 +727,7 @@ export default [{
}
}
]
}
}
]
// {
// 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