|
|
|
@ -2,8 +2,8 @@
|
|
|
|
|
* @Author: zhangjiabao
|
|
|
|
|
* @Date: 2024-02-02 01:00:52
|
|
|
|
|
* @LastEditors: zhangjiabao
|
|
|
|
|
* @LastEditTime: 2024-02-02 02:24:36
|
|
|
|
|
* @FilePath: \luoo_manage_fe\src\views\user\detail.vue
|
|
|
|
|
* @LastEditTime: 2024-02-02 16:22:49
|
|
|
|
|
* @FilePath: /luoo_manage_fe/src/views/user/detail.vue
|
|
|
|
|
-->
|
|
|
|
|
<template>
|
|
|
|
|
<div class="app-container">
|
|
|
|
@ -15,7 +15,7 @@
|
|
|
|
|
<el-col :span="2">
|
|
|
|
|
<img
|
|
|
|
|
style="width:100px; height:100px; margin-top:5px; "
|
|
|
|
|
src="//luoow.wxwenku.com/997/cover_min.jpg"
|
|
|
|
|
:src="data.avatar"
|
|
|
|
|
/>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="2">
|
|
|
|
@ -23,19 +23,27 @@
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:30px;
|
|
|
|
|
font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑', sans-serif; font-weight: 700; color: #666666;"
|
|
|
|
|
>落在低处</span
|
|
|
|
|
>{{ data.nickName }}</span
|
|
|
|
|
><span
|
|
|
|
|
v-if="data.sex === 0"
|
|
|
|
|
style="margin-left:10px;line-height:30px; color:rgba(64, 158, 255, 1);
|
|
|
|
|
font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑', sans-serif; font-weight: 700;"
|
|
|
|
|
>♂️</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
v-if="data.sex === 1"
|
|
|
|
|
style="margin-left:10px;line-height:30px; color:rgba(251, 98, 96, 1);
|
|
|
|
|
font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑', sans-serif; font-weight: 700;"
|
|
|
|
|
>♀</span
|
|
|
|
|
>
|
|
|
|
|
<br />
|
|
|
|
|
<span style="line-height:30px;">❤️</span>
|
|
|
|
|
<!-- 留给标识 -->
|
|
|
|
|
<span style="line-height:30px;"></span>
|
|
|
|
|
<br />
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:30px;font-size: 12px;font-family: '微软雅黑', sans-serif;
|
|
|
|
|
font-weight: 400; color: #999999; font-size: 12px;"
|
|
|
|
|
>你还没有设置签名哦!</span
|
|
|
|
|
>{{ data.signature }}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
@ -48,11 +56,19 @@
|
|
|
|
|
>
|
|
|
|
|
<br />
|
|
|
|
|
<span
|
|
|
|
|
v-if="data.status === 1"
|
|
|
|
|
class="green-dot"
|
|
|
|
|
style="line-height:30px;font-family: '微软雅黑', sans-serif;
|
|
|
|
|
font-size: 12px; font-weight: 400;"
|
|
|
|
|
>正常</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
v-if="data.status === 0"
|
|
|
|
|
class="red-dot"
|
|
|
|
|
style="line-height:30px;font-family: '微软雅黑', sans-serif;
|
|
|
|
|
font-size: 12px; font-weight: 400;"
|
|
|
|
|
>禁用</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="3">
|
|
|
|
@ -69,7 +85,7 @@
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:30px;font-family: '微软雅黑', sans-serif;
|
|
|
|
|
font-size: 20px; font-weight: 700; color:#666666"
|
|
|
|
|
>1000</span
|
|
|
|
|
>*****</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:50px;font-family: '微软雅黑', sans-serif;
|
|
|
|
@ -92,7 +108,7 @@
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:30px;font-family: '微软雅黑', sans-serif;
|
|
|
|
|
font-size: 20px; font-weight: 700; color:#666666"
|
|
|
|
|
>1000</span
|
|
|
|
|
>*****</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:50px;font-family: '微软雅黑', sans-serif;
|
|
|
|
@ -115,7 +131,7 @@
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:30px;font-family: '微软雅黑', sans-serif;
|
|
|
|
|
font-size: 20px; font-weight: 700; color:#666666"
|
|
|
|
|
>1000</span
|
|
|
|
|
>*****</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:50px;font-family: '微软雅黑', sans-serif;
|
|
|
|
@ -138,7 +154,7 @@
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:30px;font-family: '微软雅黑', sans-serif;
|
|
|
|
|
font-size: 20px; font-weight: 700; color:#666666"
|
|
|
|
|
>1000</span
|
|
|
|
|
>*****</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:50px;font-family: '微软雅黑', sans-serif;
|
|
|
|
@ -161,7 +177,7 @@
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:30px;font-family: '微软雅黑', sans-serif;
|
|
|
|
|
font-size: 20px; font-weight: 700; color:#666666"
|
|
|
|
|
>1000</span
|
|
|
|
|
>*****</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
style="line-height:50px;font-family: '微软雅黑', sans-serif;
|
|
|
|
@ -172,8 +188,12 @@
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="3">
|
|
|
|
|
<div style="margin-top:30px; padding-left:10px">
|
|
|
|
|
<el-button size="medium" type="primary">修改资料</el-button>
|
|
|
|
|
<el-button size="medium">设置状态</el-button>
|
|
|
|
|
<el-button @click="callNotFinished" size="medium" type="primary"
|
|
|
|
|
>修改资料</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button @click="callNotFinished" size="medium"
|
|
|
|
|
>设置状态</el-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
@ -182,53 +202,254 @@
|
|
|
|
|
<div slot="header" class="card-header clearfix">
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
class=" card-header-text-button card-header-text-button-selected"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 0
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(0)"
|
|
|
|
|
>用户详情</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="text" class="card-header-text-button"
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 1
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(1)"
|
|
|
|
|
>播放记录</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="text" class="card-header-text-button"
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 2
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(2)"
|
|
|
|
|
>收藏期刊</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="text" class="card-header-text-button"
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 3
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(3)"
|
|
|
|
|
>收藏单曲</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="text" class="card-header-text-button"
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 4
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(4)"
|
|
|
|
|
>下载记录</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="text" class="card-header-text-button"
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 5
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(5)"
|
|
|
|
|
>评论记录</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="text" class="card-header-text-button"
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 6
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(6)"
|
|
|
|
|
>登录日志</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="text" class="card-header-text-button"
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 7
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(7)"
|
|
|
|
|
>操作日志</el-button
|
|
|
|
|
>
|
|
|
|
|
<el-button type="text" class="card-header-text-button"
|
|
|
|
|
<el-button
|
|
|
|
|
type="text"
|
|
|
|
|
:class="
|
|
|
|
|
activateTab === 8
|
|
|
|
|
? 'card-header-text-button card-header-text-button-selected'
|
|
|
|
|
: 'card-header-text-button'
|
|
|
|
|
"
|
|
|
|
|
@click="changeActivateTab(8)"
|
|
|
|
|
>IM记录</el-button
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
<!-- 详情 -->
|
|
|
|
|
<div v-if="activateTab === 0">
|
|
|
|
|
<el-descriptions class="margin-top" :column="2" border>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-user"></i>
|
|
|
|
|
UID
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.id }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-s-opportunity"></i>
|
|
|
|
|
昵称
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.nickName }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-male"></i>
|
|
|
|
|
性别
|
|
|
|
|
</template>
|
|
|
|
|
{{
|
|
|
|
|
data.sex === null || data.sex === undefined
|
|
|
|
|
? "未填写"
|
|
|
|
|
: ["男", "女", "隐藏"][data.sex]
|
|
|
|
|
}}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-ship"></i>
|
|
|
|
|
生日
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.birthday }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-guide"></i>
|
|
|
|
|
签名
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.signature }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-mobile-phone"></i>
|
|
|
|
|
手机
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.mobile }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-position"></i>
|
|
|
|
|
IP
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.lastLoginIp }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-time"></i>
|
|
|
|
|
注册时间
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.joinTime }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-monitor"></i>
|
|
|
|
|
机型
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.lastUseDeviceBrand }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-mobile"></i>
|
|
|
|
|
设备ID
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.lastUseDeviceId }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
<el-descriptions-item>
|
|
|
|
|
<template slot="label">
|
|
|
|
|
<i class="el-icon-key"></i>
|
|
|
|
|
最近登录
|
|
|
|
|
</template>
|
|
|
|
|
{{ data.lastLoginTime }}
|
|
|
|
|
</el-descriptions-item>
|
|
|
|
|
</el-descriptions>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="no-content-div" v-if="activateTab === 1">
|
|
|
|
|
<span>无数据</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="no-content-div" v-if="activateTab === 2">
|
|
|
|
|
<span>无数据</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="no-content-div" v-if="activateTab === 3">
|
|
|
|
|
<span>无数据</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="no-content-div" v-if="activateTab === 4">
|
|
|
|
|
<span>无数据</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="no-content-div" v-if="activateTab === 5">
|
|
|
|
|
<span>无数据</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="no-content-div" v-if="activateTab === 6">
|
|
|
|
|
<span>无数据</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="no-content-div" v-if="activateTab === 7">
|
|
|
|
|
<span>无数据</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="no-content-div" v-if="activateTab === 8">
|
|
|
|
|
<span>无数据</span>
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import userApi from "@/api/user";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "UserDetail",
|
|
|
|
|
components: {},
|
|
|
|
|
props: {},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
|
activateTab: 0,
|
|
|
|
|
id: null,
|
|
|
|
|
data: {}
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
computed: {},
|
|
|
|
|
watch: {},
|
|
|
|
|
created() {},
|
|
|
|
|
created() {
|
|
|
|
|
if (!this.$route.query.id) {
|
|
|
|
|
this.data = {};
|
|
|
|
|
} else {
|
|
|
|
|
this.id = this.$route.query.id;
|
|
|
|
|
this.fetchDetail();
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
mounted() {},
|
|
|
|
|
methods: {}
|
|
|
|
|
methods: {
|
|
|
|
|
callNotFinished() {
|
|
|
|
|
this.$message.info("未开放这个功能");
|
|
|
|
|
},
|
|
|
|
|
fetchDetail() {
|
|
|
|
|
if (this.id === null) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
userApi.getDetail(this.id).then(res => {
|
|
|
|
|
if (res.code === 200) {
|
|
|
|
|
this.data = res.data;
|
|
|
|
|
} else {
|
|
|
|
|
this.data = {};
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
changeActivateTab(tab) {
|
|
|
|
|
this.activateTab = tab;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
@ -317,13 +538,14 @@ export default {
|
|
|
|
|
position: relative;
|
|
|
|
|
top: -16px;
|
|
|
|
|
text-align: center;
|
|
|
|
|
border-width: 0px;
|
|
|
|
|
}
|
|
|
|
|
.card-header-text-button-selected {
|
|
|
|
|
color: rgba(64, 158, 255, 1);
|
|
|
|
|
border-bottom: solid;
|
|
|
|
|
border-radius: 0px;
|
|
|
|
|
border-color: rgba(64, 158, 255, 1);
|
|
|
|
|
border-width: 0px 0px 2px 0px;
|
|
|
|
|
border-width: 0px 0px 2px 0px !important;
|
|
|
|
|
}
|
|
|
|
|
.green-dot,
|
|
|
|
|
.red-dot {
|
|
|
|
@ -351,4 +573,10 @@ export default {
|
|
|
|
|
.red-dot::before {
|
|
|
|
|
background-color: red;
|
|
|
|
|
}
|
|
|
|
|
/* 子组件样式,可以自定义样式,这里包含一个 span 元素表示没有数据 */
|
|
|
|
|
.no-content-div {
|
|
|
|
|
text-align: center;
|
|
|
|
|
padding: 20px;
|
|
|
|
|
margin-top: 5%;
|
|
|
|
|
}
|
|
|
|
|
</style>
|
|
|
|
|