detail.vue 2.93 KB
<template>
	<view>
		<z-paging ref="paging" v-model="list" @query="getQuery" emptyViewImg="/static/nodata.png">
		
		<!-- 机构会员 -->
		<view class="searchbar" :slot="top">
			<uni-easyinput placeholderStyle="font-size:30rpx" :input-border="false" prefixIcon="search"
				v-model="queryParams.name" placeholder="搜索会员名称" @blur="getList" @clear="getList">
			</uni-easyinput>
		</view>
		<view class="wBox">
			<!-- 成员 -->
			<view class="userlist">
				<view class="item" v-for="(n,index) in list" :key="index" @click="goDetail(n)">
					<view class="photobox">
						<image class="photo" v-if="n.photo" :src="n.photo" mode='aspectFill'></image>
						
						<view class="colorful" v-else>{{n.name?.slice(0,1)}}</view>
					</view>
					<view>
						<view class="name">{{n.name}}
							<text v-if="n.sex == 1">(女)</text>
							<text v-else>(男)</text>
						</view>
						<view class="date">
							注册时间 {{n.createTime?.slice(0,10) }}
						</view>
					</view>
				</view>
			</view>
		
		</view>
		</z-paging>
	</view>
</template>

<script setup>
	import * as api from '@/common/api.js'
	import config from '@/config.js'
	import {
		ref,
		getCurrentInstance
	} from 'vue'
	import {
		onLoad
	} from '@dcloudio/uni-app'
	const {
		proxy
	} = getCurrentInstance()
	const app = getApp();
	
		const paging = ref(null)
	const queryParams = ref({
		sonDeptId: 1,
		perType: '1'
	})
	const list = ref([])
	const forms = ref({})
	const total = ref(0)
	const current = ref(0)
	const currentTabName = ref('道馆')
	const userType = ref('')
	const deptType = ref('')
	onLoad((option) => {
		queryParams.value.sonDeptId = option.deptId
		getList()
	})
	function getQuery(pageNum,pageSize) {
		queryParams.value.pageNum = pageNum
		queryParams.value.pageSize = pageSize
		api.selectPageList(queryParams.value).then(res => {
			paging.value.complete(res.rows)
			list.value = res.rows
			for(var l of list.value){
				if(l.photo&&l.photo.indexOf('http')==-1){
					l.photo = config.baseUrl_api + l.photo
				}
			}
		})
	}
	function getList() {
		uni.showLoading({
			title:"加载中"
		})
		api.selectPageList(queryParams.value).then(res => {
			uni.hideLoading()
			paging.value.complete(res.rows);
			list.value = res.rows
			for(var l of list.value){
				if(l.photo&&l.photo.indexOf('http')==-1){
					l.photo = config.baseUrl_api + l.photo
				}
			}
			total.value = res.total
		})
	}
	function goDetail(n){
		uni.navigateTo({
			url: `/personalVip/detail?perId=${n.perId}`
		})
	}
</script>

<style lang="scss" scoped>
	.nian {
		position: absolute;
		right: 20rpx;
		font-size: 26rpx;
		color: #999;
	}
	.searchbar {
		display: flex;
		align-items: center;
		padding: 25rpx;
		box-sizing: border-box;
	
		:deep(.uni-easyinput .uni-easyinput__content) {
			border-radius: 35rpx;
			border: none;
			height: 70rpx;
		}
	
		:deep(.uni-easyinput__content-input) {
			font-size: 26rpx;
		}
	}
</style>