Commit a6758f51 authored by 赵茹林's avatar 赵茹林

新增 用户信息接口对接

新增 用户标签接口对接
parent 5792c118
<!-- 回访信息 -->
<template>
<div>
<el-form label-width="100px" inline>
<el-form-item label="ID:">
{{callbackObj.detail.user_id}}
</el-form-item>
<el-form-item label="用户昵称:">
{{callbackObj.detail.nickname}}
</el-form-item>
<el-form-item label="宝宝名称:">
{{callbackObj.detail.baby_name ? callbackObj.detail.baby_name : '-'}}
</el-form-item>
<el-form-item label="宝宝生日:">
{{(callbackObj.detail.birthday == '0000-00-00') ? '-' : callbackObj.detail.birthday}}
</el-form-item>
<el-form-item label="手机号:">
{{callbackObj.detail.mobile ? callbackObj.detail.mobile : '-'}}
</el-form-item>
</el-form>
<div>
标签:
<el-tag v-if="tag.length" v-for="item in tag">{{}}</el-tag>
<el-button size="small" plain>编辑标签</el-button>
</div>
</div>
</template>
<script>
import {getUserTagApi} from "@/service/api";
export default {
name: "CallBack",
props: {
callbackObj: {
type: Object,
default: () => {}
}
},
data() {
return {
tag: []
}
},
created() {
},
mounted() {
this.getTag();
},
methods: {
getTag() {
if (this.callbackObj.id) {
getUserTagApi(this.callbackObj.id).then(res => {
console.log(res)
})
}
}
}
}
</script>
<style lang="less">
</style>
<template> <template>
<div class="user"> <div>
<div class="box">
<el-card class="user-card"> <el-row :gutter="20" style="margin-bottom: 20px;">
<div class="card-content"> <el-col :span="12">
<div class="text item"> <el-card class="user-card">
<a :href="detail.avatar" target="_blank"> <div class="card-content">
<img :src="detail.avatar"/> <div class="text item">
</a> <a :href="detail.avatar" target="_blank">
</div> <img :src="detail.avatar"/>
<div class="text item"> </a>
<div>
<label>用户:</label>{{detail.nickname}} (ID: {{id}})
</div>
<div>
<label>tel:</label>{{detail.mobile}}
</div>
<div>
<label>生日:</label>{{detail.birthday}}
</div>
<div>
<label>注册时间:</label>{{detail.created_at}}
</div> </div>
<div> <div class="text item">
<label>最后登录:</label>{{detail.last_login_at}} <div>
<label>用户:</label>{{detail.nickname}} (ID: {{id}})
</div>
<div>
<label>tel:</label>{{detail.mobile}}
</div>
<div>
<label>生日:</label>{{detail.birthday}}
</div>
<div>
<label>注册时间:</label>{{detail.created_at}}
</div>
<div>
<label>最后登录:</label>{{detail.last_login_at}}
</div>
</div> </div>
</div> </div>
</div> </el-card>
</el-card> </el-col>
<el-card class="user-card"> <el-col :span="12">
<div class="card-content" v-if="subDetail.nickname"> <el-card class="user-card">
<div class="text item"> <div class="card-content" v-if="subDetail.nickname">
<a :href="subDetail.avatar" target="_blank"> <div class="text item">
<img :src="subDetail.avatar"/> <a :href="subDetail.avatar" target="_blank">
</a> <img :src="subDetail.avatar"/>
</div> </a>
<div class="text item">
<div>
<label>用户:</label>{{subDetail.nickname}} (ID: {{subDetail.user_id}})
</div> </div>
<div> <div class="text item">
<label>tel:</label>{{subDetail.mobile}} <div>
<label>用户:</label>{{subDetail.nickname}} (ID: {{subDetail.user_id}})
</div>
<div>
<label>tel:</label>{{subDetail.mobile}}
</div>
</div> </div>
</div> </div>
</div> <p class="fl" v-if="!subDetail.nickname" style="clear:both;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(暂无子账户)</p>
<p class="fl" v-if="!subDetail.nickname" style="clear:both;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(暂无子账户)</p> <p class="fl" v-if="subDetail.nickname" style="clear:both;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(子账户)</p>
<p class="fl" v-if="subDetail.nickname" style="clear:both;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(子账户)</p> </el-card>
</el-card> </el-col>
</div> </el-row>
<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"></call-back>
</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">
<el-table-column type="expand"> <el-table-column type="expand">
...@@ -513,6 +522,7 @@ ...@@ -513,6 +522,7 @@
import {INVITETYPE, ORDERSTATUS, BUYTYPE, USERSTATUSFORMATER} from "../../util/wordbook"; import {INVITETYPE, ORDERSTATUS, BUYTYPE, USERSTATUSFORMATER} from "../../util/wordbook";
import teacherDialog from './dialog' import teacherDialog from './dialog'
import UserList from '../class/userList' import UserList from '../class/userList'
import CallBack from '@/components/callBack/index'
import sourceByDateDialog from '../teacherDetail/sourceByDateDialog' import sourceByDateDialog from '../teacherDetail/sourceByDateDialog'
import AddressArray from "../framework/address-picker/addr"; import AddressArray from "../framework/address-picker/addr";
...@@ -520,6 +530,10 @@ ...@@ -520,6 +530,10 @@
name: "index", name: "index",
data() { data() {
return { return {
callbackObj: {
id: '',
detail: {}
},
userList: [], userList: [],
yunjiList: [], yunjiList: [],
addressList: [], addressList: [],
...@@ -532,7 +546,8 @@ ...@@ -532,7 +546,8 @@
show: false, show: false,
out_trade_no: '' out_trade_no: ''
}, },
tabs: 'periods', //tabs: 'periods',
tabs: 'callback',
couponDetail: { couponDetail: {
show: false, show: false,
order_coupon_id: '' order_coupon_id: ''
...@@ -621,13 +636,17 @@ ...@@ -621,13 +636,17 @@
sourceDialog, sourceDialog,
couponDialog, couponDialog,
sourceByDateDialog, sourceByDateDialog,
addressDialogC addressDialogC,
CallBack
}, },
props: [ props: [
'parentDetail' 'parentDetail'
], ],
mounted() { created() {
this.id = this.parentDetail ? this.parentDetail.id : this.$route.params.id; this.id = this.parentDetail ? this.parentDetail.id : this.$route.params.id;
this.callbackObj.id = this.id;
},
mounted() {
this.getDetail(); this.getDetail();
}, },
watch: { watch: {
...@@ -862,6 +881,7 @@ ...@@ -862,6 +881,7 @@
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
} }
...@@ -1034,9 +1054,9 @@ ...@@ -1034,9 +1054,9 @@
} }
.user-card { .user-card {
margin: 10px; /*margin: 10px;*/
width: 600px; /*width: 600px;*/
padding: 20px; /*padding: 20px;*/
// display: flex; // display: flex;
.text.item { .text.item {
line-height: 30px; line-height: 30px;
......
...@@ -62,6 +62,10 @@ const postUserTransferUrl = `${_baseUrl}api/admin/user/data/transfer`; ...@@ -62,6 +62,10 @@ const postUserTransferUrl = `${_baseUrl}api/admin/user/data/transfer`;
export const postUserTransferApi = function (json) { export const postUserTransferApi = function (json) {
return Vue.prototype.$post(postUserTransferUrl, json) return Vue.prototype.$post(postUserTransferUrl, json)
}; };
// 获取用户标签
export const getUserTagApi = function (id) {
return Vue.prototype.$fetch(`${_baseUrl}api/admin/user/label/${id}`)
};
//获取教师列表 //获取教师列表
const getTeacherListUrl = `${_baseUrl}api/admin/teacher/list`; const getTeacherListUrl = `${_baseUrl}api/admin/teacher/list`;
export const getTeacherListApi = function (json) { export const getTeacherListApi = function (json) {
......
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