<template>
<view>
	<cu-custom bgColor="bg-blue">
		<block slot="content">通讯录</block>
	</cu-custom>

	<u-sticky>
		<view  style="padding: 20upx; background-color: white;">
			<u-search placeholder="输入搜索的关键词" :clearabled="true" :showAction="false" v-model="searchUserName"></u-search>
		</view>
	</u-sticky>
	
	<view>
		<u-index-list :indexList="indexList">
			<template v-for="(item, index) in list">
				<!-- #ifdef APP-NVUE -->
				<u-index-anchor :text="list[index].letter" :key="index"></u-index-anchor>
				<!-- #endif -->
				<u-index-item :key="index">
					<!-- #ifndef APP-NVUE -->
					<u-index-anchor :text="list[index].letter"></u-index-anchor>
					<!-- #endif -->
					<view class="list" v-for="(user, index1) in list[index].data" :key="index1">
						<view class="list__item">
							<u-avatar shape="square" size="35" icon="account-fill" fontSize="26" randomBgColor></u-avatar>
							<!-- <view class="cu-avatar round " :style="'background-image:url('+(user.photo?user.photo:'/h5/static/user/flat-avatar.png')+');'"></view> -->
							<text class="list__item__user-name">{{user.name}}</text>
						</view>
						<u-line></u-line>
					</view>
				</u-index-item>
			</template>
			<view style="font-size: 15px; color: gray; text-align: center; margin-top: 15px;">共{{total}}位好友</view>
		</u-index-list>
		<u-gap height="100" bgColor="#fff"></u-gap>
	</view>
</view>	
</template>

<script>
	import userService from '@/api/sys/userService'
	export default {
		data() {
			return {
				indexList: [],
				userList: [],
				total: 0,
				searchUserName: ''
			}
		},
		created() {
			userService.list({current: 1, size: 10000}).then((data)=>{
				this.userList = data.records
				this.total = data.total
			}).catch((e)=>{
				throw e
			})
		},
		computed: {
			list () {
				let resultList = this.userList.filter((item)=>{
					if(item.name.indexOf(this.searchUserName) >= 0){
						return true
					}
				})
				return this.pySegSort(resultList)
			}
		},
		methods: {
			// 排序
			pySegSort(arr) {
			    if(!String.prototype.localeCompare)
			        return null;
			     
			    var letters = "0abcdefghjklmnopqrstwxyz".split('');
			    var zh = "阿八嚓哒妸发旮哈讥咔垃痳拏噢妑七呥扨它穵夕丫帀".split('');
			     
			    var segs = [];
			    var curr;
			    letters.forEach((item,i) => {
			        curr = {letter: item, data:[]};
			        arr.forEach((item2) => {
			            if((!zh[i-1] || zh[i-1].localeCompare(item2.name) <= 0) && item2.name.localeCompare(zh[i]) == -1) {
			                curr.data.push(item2);
			            }
			        });
			        if(curr.data.length) {
			            segs.push(curr);
						this.indexList.push(curr.letter)
			            curr.data.sort((a,b)=>{
			                return a.name.localeCompare(b.name);
			            });
			        }
			    });
			    return segs;
			}
		}
	}
</script>

<style lang="scss">
	.list {
		
		&__item {
			@include flex;
			padding: 6px 12px;
			align-items: center;
			
			&__avatar {
				height: 35px;
				width: 35px;
				border-radius: 3px;
			}
			
			&__user-name {
				font-size: 16px;
				margin-left: 10px;
				color: $u-main-color;
			}
		}
		
		&__footer {
			color: $u-tips-color;
			font-size: 14px;
			text-align: center;
			margin: 15px 0;
		}
	}
</style>
