You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
174 lines
4.7 KiB
174 lines
4.7 KiB
<template>
|
|
<view class="px-20">
|
|
<view class="flex-between-center mt-10">
|
|
<view class="flex-1 h-72 rd-40rpx bg--w111-fff px-32 flex-y-center relative">
|
|
<text class="iconfont icon-ic_search fs-28"></text>
|
|
<input v-model="params.nickname" class="pl-18 flex-1 line1 fs-28" placeholder="请输入用户昵称/手机号/用户ID"
|
|
placeholder-class="text--w111-999" @confirm="searchSubmit" />
|
|
<text class="iconfont icon-ic_close1 fs-28 text--w111-999 z-10" v-if="params.nickname" @tap="clearWord"></text>
|
|
</view>
|
|
<view class="w-72 h-72 rd-50-p111- bg--w111-fff flex-center ml-20" @tap="goPage('/pages/behalf/record/index')">
|
|
<text class="iconfont icon-ic_order text--w111-666"></text>
|
|
</view>
|
|
</view>
|
|
<view class="add-box w-full h-176 rd-24rpx mt-32 flex-col flex-center text-primary"
|
|
@tap="goPage('/pages/behalf/goods_list/index?uid=0')">
|
|
<text class="iconfont icon-ic_picture fs-44"></text>
|
|
<text class="fs-24 lh-34rpx pt-12">未注册用户点此下单</text>
|
|
</view>
|
|
<view v-if="userList.length">
|
|
<view class="w-full h-176 rd-24rpx item flex-between-center bg--w111-fff mt-20"
|
|
v-for="(item,index) in userList" :key="index">
|
|
<view class="flex-y-center">
|
|
<easy-loadimage
|
|
mode="widthFix"
|
|
:image-src="item.avatar"
|
|
width="96rpx"
|
|
height="96rpx"
|
|
borderRadius="50%"></easy-loadimage>
|
|
<view class="w-400 ml-24">
|
|
<view class="fs-28 fw-500 flex-y-center">
|
|
<text>{{item.nickname}}</text>
|
|
<view class="svip flex-center" v-if="item.isMember == 1">SVIP</view>
|
|
<view class="vip flex-center" v-if="item.level_status == 1 && item.level_grade">
|
|
<text class="iconfont icon-huiyuandengji"></text>
|
|
{{item.level}}
|
|
</view>
|
|
</view>
|
|
<view class="fs-24 text--w111-999 lh-34rpx pt-4">{{item.phone}}</view>
|
|
<view class="flex-y-center fs-24 lh-34rpx">
|
|
<view class="flex-y-center">
|
|
<text class="text--w111-999 pr-10">积分:</text>
|
|
<text>{{item.integral}}</text>
|
|
</view>
|
|
<view class="flex-y-center pl-30">
|
|
<text class="text--w111-999 pr-10">余额:</text>
|
|
<text>{{item.now_money}}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="w-144 h-56 rd-28rpx flex-center fs-24 text--w111-fff bg-primary" @tap="goPage('/pages/behalf/goods_list/index?uid=' + item.uid)">下单</view>
|
|
</view>
|
|
<view class="flex-center fs-26 text--w111-999 pt-24" v-if="userList.length > 0">{{loadTit}}...</view>
|
|
</view>
|
|
<view v-else class="mt-20">
|
|
<emptyPage title="暂无用户信息~" src="/statics/images/empty-box.png"></emptyPage>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import { adminUserList } from "@/api/admin.js";
|
|
import emptyPage from '@/components/emptyPage.vue';
|
|
export default {
|
|
name:'userList',
|
|
data(){
|
|
return {
|
|
params:{
|
|
page:1,
|
|
limit:10,
|
|
nickname:'',
|
|
},
|
|
userList:[],
|
|
status: false,
|
|
loadTit:'正在加载'
|
|
}
|
|
},
|
|
components: {
|
|
emptyPage,
|
|
},
|
|
onLoad() {
|
|
this.getList();
|
|
},
|
|
onPageScroll(object) {
|
|
uni.$emit('scroll');
|
|
},
|
|
methods:{
|
|
getList(){
|
|
let that = this;
|
|
if (that.status) return;
|
|
that.loadTit = '加载更多';
|
|
adminUserList(this.params).then(res => {
|
|
let len = res.data.list.length;
|
|
this.userList = this.userList.concat(res.data.list)
|
|
that.params.page++;
|
|
that.status = this.params.limit > len;
|
|
that.params.page = that.params.page;
|
|
that.loadTit = that.status ? '没有更多内容啦~' : '加载更多';
|
|
}).catch(err=>{
|
|
that.loadTit = '加载更多';
|
|
return this.$util.Tips({
|
|
title: err
|
|
});
|
|
})
|
|
},
|
|
searchSubmit(){
|
|
this.params.page = 1;
|
|
this.status = false;
|
|
this.userList = [];
|
|
this.getList();
|
|
},
|
|
clearWord(){
|
|
this.params.nickname = ''
|
|
},
|
|
goPage(url){
|
|
uni.navigateTo({
|
|
url
|
|
})
|
|
}
|
|
},
|
|
onReachBottom(e) {
|
|
this.getList()
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss">
|
|
.text-primary{
|
|
color: $primary-admin;
|
|
}
|
|
.bg-primary{
|
|
background: $primary-admin;
|
|
}
|
|
.add-box{
|
|
border: 2rpx dashed $primary-admin;
|
|
background: $light-primary-admin;
|
|
color: $primary-admin;
|
|
}
|
|
.add-icon{
|
|
border: 2rpx solid $primary-admin;
|
|
}
|
|
.item{
|
|
padding: 30rpx 24rpx;
|
|
}
|
|
.icon-ic_close1{
|
|
position: absolute;
|
|
right: 34rpx;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
}
|
|
.svip {
|
|
width: 56rpx;
|
|
height: 26rpx;
|
|
background: linear-gradient(270deg, #484643 0%, #1F1B17 100%);
|
|
border-radius: 100rpx;
|
|
font-size: 18rpx;
|
|
font-weight: 600;
|
|
color: #FDDAA4;
|
|
margin-left: 10rpx;
|
|
}
|
|
.vip{
|
|
width: 64rpx;
|
|
height: 26rpx;
|
|
background: #FEF0D9;
|
|
border: 1px solid #FACC7D;
|
|
border-radius: 50rpx;
|
|
font-size: 18rpx;
|
|
font-weight: 500;
|
|
color: #DFA541;
|
|
margin-left: 10rpx;
|
|
.iconfont {
|
|
font-size: 20rpx;
|
|
margin-right: 4rpx;
|
|
}
|
|
}
|
|
</style>
|
|
|