<template>
    <view>
        <!-- 顶部导航栏 -->
        <u-navbar leftText=" " title=" " :placeholder="true" leftIconColor="#ffffff" leftIconSize="30"
            @leftClick="leftClick" :safeAreaInsetTop="true" :bgColor="bgColor">
            <template #center>
                <view class="text1">用户详情</view>
            </template>
        </u-navbar>
    </view>
    <view class="cardss">
        <up-avatar :src="avatarIcon(adUserInfo.avatarInfo)" shape="square" size="145rpx"></up-avatar>
        <view style="margin-left: 24rpx;">
            <view class="cardss-1">
                <view class="text3">{{ adUserInfo.nickName }}</view>
                <view v-if="adUserInfo.userType === '00'" class="renzhen">
                    <span class="text2">已认证</span>
                </view>
            </view>
            <view class="text4">账号：{{ adUserInfo.userName }}</view>
            <view class="text4">地区：{{ adUserInfo.area }}</view>
            <view class="text4">学校：{{ adUserInfo.infoSchool }}</view>
        </view>
    </view>
    <view class="cardzz">
        <view class="btn1" @click="chatmessage" >
            <image :src="tomessage" style="width: 32rpx; height: 32rpx;"></image>
            <span class="text5">发消息</span>
        </view>
        <view class="btn2" @click="toProhibition">
            <image :src="tomessageno" style="width: 32rpx; height: 32rpx;"></image>
            <span class="text5">禁言</span>
        </view>
    </view>

    <view>
        <up-popup :show="show2" :round="10" mode="bottom" @close="show2 = false">
            <view class="popup-userInfo">
                <up-avatar :src="avatarIcon(adUserInfo.avatarInfo)" size="200rpx" class="avatar-1"></up-avatar>
            </view>
            <view class="cardz">
                <view class="text6">{{ adUserInfo.nickName }}</view>
            </view>
            <view class="cardx">
                <view class="flex ">
                    <view>请输入禁言时长:</view>
                    <up-input v-model="muteDay" @change="change" type="number" fontSize="28rpx" color="#333333"
                        :customStyle="{
                backgroundColor: '#F4F5F6',
                borderRadius: '8rpx',
                width: '438rpx',
                height: '50rpx',
                marginLeft: '42rpx'
            }">
                        <template #suffix>天</template>
                    </up-input>
                </view>
                <view class="flex " style="margin-top: 32rpx;">
                    <view>请输入禁言原因:</view>
                    <up-textarea v-model="reason" placeholder="输入禁言原因以方便告知用户" type="number" fontSize="28rpx"
                        color="#333333" :customStyle="{
                backgroundColor: '#F4F5F6',
                borderRadius: '8rpx',
                width: '438rpx',
                height: '200rpx',
                marginLeft: '42rpx'
            }">

                    </up-textarea>
                </view>
                <view class="btnInfo">
                    <view class="btn1" @click="show2 = false">
                        <view class="text7">取消</view>
                    </view>
                    <view class="btn2" @click="muteInfo">
                        <view class="text8">禁言</view>
                    </view>
                </view>
            </view>
        </up-popup>
    </view>
</template>
<script setup>
import { getADUser, addFriendMute, stateMute } from "@/api/message/adUser.js";
import { getADUserInfo } from "@/api/system/userinfo.js";
import fileUpload from './../common/file/fileUpload/index.vue';
import cropping from './../common/file/fileUpload/Cropping.vue';
import { onShow, onLoad, onPullDownRefresh } from '@dcloudio/uni-app';
import { ref, reactive, getCurrentInstance } from 'vue';
import { useStore } from 'vuex';

const { proxy } = getCurrentInstance();
const store = useStore();
const imagesrc = ref();
const show1 = ref(false);
const iconConfig = proxy.iconConfig;
const tomessage = iconConfig.tomessage;
const tomessageno = iconConfig.tomessageno;
const fileTypeInfo1 = ref("image");
const fileTypeInfo2 = ref("video");
const ProhibitionOpen = ref(true);
const show2 = ref(false);
const show2UserInfo = ref({});
const QNDomain = store.state.user.QNDomain;
const bgColor = ref('#6AA2FF');
const adUserInfo = ref({});
const reason = ref();
const muteDay = ref();
const newUserId = ref();

const leftClick = () => {
    proxy.$tab.navigateBack(1)
}
onLoad((option) => {
    console.log(option);
    newUserId.value = option.userId;
    getInfo();
});
onShow(() => {
	proxy.$store.dispatch('webSockerInfo')
	
})

const getInfo = () => {
    getADUserInfo(newUserId.value).then(e => {
        console.log("e:", e);
        adUserInfo.value = e.data;
    })
}
const avatarIcon = (e) => {
    return QNDomain + e;
};
const toProhibition = () => {
    show2.value = true;
};
const muteInfo = () => {
    if (muteDay.value === '' || muteDay.value == null) {
        proxy.$modal.msgError("请输入禁言时长");
        return;
    }
    if (reason.value === '' || reason.value == null) {
        proxy.$modal.msgError("请输入禁言原因");
        return;
    }
    const form = {
        userId: show2UserInfo.value.userId,
        muteDay: muteDay.value,
        reason: reason.value,
        status: 1,
    };
    addFriendMute(form).then(e => {
        console.log(e);
        proxy.$modal.msgSuccess("禁言成功！");
        show2.value = false;
    });
};

const chatmessage = ()=>{

      const userInfo = {
	  friendid: newUserId.value,
	  title: adUserInfo.nickName,
	  myavatar: null,
	  youavatar: adUserInfo.avatarInfo,
	};
  
	uni.setStorage({
	  key: 'userInfo',
	  data: userInfo,
	  success: function () {
		proxy.$tab.navigateTo("/pages/Friend/messagechat")
	  },
	});
    
}

</script>

<style lang="scss" scoped>
/* #ifndef APP-NVUE */
page {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    background-color: #f4f5f6;
    min-height: 100%;
    height: auto;
}

.text1 {
    font-weight: 600;
    font-size: 36rpx;

    color: #FFFFFF;
}

.cardss {
    width: 750rpx;
    height: 276rpx;
    padding-top: 32rpx;
    padding-left: 32rpx;
    display: flex;
    background-color: #ffffff;

    .cardss-1 {
        display: flex;
        align-items: center;

        .text3 {
            font-weight: 600;
            font-size: 36rpx;
            color: #333333;
        }
    }



    .text4 {
        margin-top: 24rpx;
        font-weight: 400;
        font-size: 24rpx;
        color: #999999;
    }
}

.renzhen {
    margin-left: 24rpx;
    width: 78rpx;
    height: 26rpx;
    border-radius: 13rpx 13rpx 13rpx 13rpx;
    background: #6aa2ff;
    display: flex;
    justify-content: center;
    align-items: center;

    .text2 {
        font-weight: 400;
        font-size: 18rpx;
        color: #FFFFFF;
    }
}

.cardzz {
    margin-top: 24rpx;

    .btn1 {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 750rpx;
        height: 80rpx;
        background-color: #ffffff;
        
        .text5 {
            font-weight: 400;
            font-size: 24rpx;
            margin-left: 12rpx;
            color: #6AA2FF;
        }
    }
    .btn2 {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 750rpx;
        height: 80rpx;
        margin-top: 2rpx;
        background-color: #ffffff;
        .text5 {
            font-weight: 400;
            font-size: 24rpx;
            margin-left: 12rpx;
            color: #6AA2FF;
        }
    }
}
.cardz {
    height: 54rpx;
    text-align: center;
    margin-top: 22rpx;

    .text6 {
        font-weight: 600;
        font-size: 30rpx;
        color: #333333;
    }
}

.cardx {
    height: 526rpx;
    width: 684rpx;
    margin: 0 auto;

    .btnInfo {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 48rpx;
        padding-right: 22rpx;
        padding-left: 22rpx;

        .btn1 {
            width: 300rpx;
            height: 80rpx;
            border-radius: 40rpx 40rpx 40rpx 40rpx;
            background: #f4f5f6;
            display: flex;
            justify-content: center;
            align-items: center;

            .text7 {
                font-weight: 400;
                font-size: 30rpx;
                color: #999999;
            }
        }

        .btn2 {
            width: 300rpx;
            height: 80rpx;
            border-radius: 40rpx 40rpx 40rpx 40rpx;
            background: #6aa2ff;
            display: flex;
            justify-content: center;
            align-items: center;
            .text8 {
                font-weight: 400;
                font-size: 30rpx;
                color: #FFFFFF;
            }
        }
    }
}
.popup-userInfo {
    position: relative;
    /* 确保弹窗使用相对定位 */
    height: 100rpx;

    .avatar-1 {
        position: absolute;
        /* 头像使用绝对定位 */
        top: -100rpx;
        /* 根据实际需要，上移头像 */
        left: 50%;
        /* 水平居中对齐 */
        transform: translateX(-50%);
        /* 偏移自身宽度的一半，以真正实现水平居中 */
        z-index: 10;
        /* 确保在其他内容之上 */
    }
}

</style>