<template>
    <view>

        <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" @click="selectUser(user)">{{user.name}}</text>
                                <!-- 新增的展示其他信息的元素 -->
                                <text class="list__item__additional-info">{{ user.officeDTO.name }}</text>
                                <!-- 新的电话号码信息 -->
                                <text class="list__item__phone-number">{{ user.mobile }}</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: '',
                index: ''
            }
        },
        created() {
            userService.list({current: 1, size: 10000}).then((data)=>{
                this.userList = data.records
                this.total = data.total
            }).catch((e)=>{
                throw e
            })
        },
        onLoad(options) {
            // 从 URL 参数中获取传递过来的index
            this.index = options.index;
        },
        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;
            },
            selectUser(user) {
                // 当用户点击某个用户时触发的方法
                // 这里可以处理所选用户的信息并将其传递回原页面
                user.index = this.index
                uni.navigateBack({
                    delta: 1,
                    success() {
                        uni.$emit('eventName', user); // 通过事件向上一页传递数据
                    }
                });
            }
        }
    }
</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;
        }
    }

    .list__item__additional-info {
        position: relative;
        top: 10px; /* Adjust as needed */
        left: 15px; /* Adjust as needed */
        font-size: 12px; /* Adjust the font size as needed */
        color: #999; /* Adjust the color as needed */
    }

    .list__item__phone-number {
        position: relative;
        top: 10px; /* Adjust as needed */
        margin-left: 20px; /* 根据需要调整间距 */
        font-size: 12px; /* 根据需要调整字体大小 */
        color: #999; /* 根据需要调整颜色 */
    }
</style>
