<script lang="ts" setup>
import { ref, defineExpose } from 'vue'
import { useRouter } from 'vue-router'
import { userInfoStore } from '@/stores'
import { ElMessage } from 'element-plus';
import { pubMsgApi } from '@/api/plan';
const router = useRouter()

//获取缓存用户信息
const userInfo = userInfoStore();
//留言显示的标志
const pub_visible = ref<boolean>(false)
//留言的内容
const des_input = ref<string>('')
//用户的姓名
const userName = ref<string>('')
//用户的编号
const userNo = ref<string>('');
//用户的性别
const userSex = ref<string>('')
//防止重复点
const isLock = ref<boolean>(false)

const open = () => {
    userName.value = userInfo.userInfo.userName;
    userNo.value = userInfo.userInfo.userNo;
    userSex.value = userInfo.userInfo.gender;
    pub_visible.value = true
}


//点击进行发布信息
const pubMsg = async () => {
    //判断用户是否登陆了
    if (!userInfo.token) {
        ElMessage({
            message: '尚未登录',
            type: 'warning'
        })
        return
    }
    if (des_input.value == '') {
        ElMessage({
            message: '留言不能为空',
            type: 'warning'
        })
        return
    }
    if (isLock.value) {
        return
    }
    isLock.value = true
    let params = {
        userNo: userNo.value,
        userName: userName.value,
        commentContent: des_input.value
    }
    let res: any = await pubMsgApi(params)
    if (res.code == 200) {
        ElMessage({
            message: '留言成功',
            type: 'success'
        })
        des_input.value = ''
        isLock.value = false
        pub_visible.value = false
        //开始跳转到页面测试记录页面
        router.push({ name: 'popularizationScience' })
    } else {
        ElMessage({
            message: res.msg,
            type: 'error'
        })
    }
    //调用新增留言的方法
}
//点击关闭弹出框
const colseMessage = () => {
    router.push({ name: 'popularizationScience' })
}
defineExpose({ open })
</script>
<template>


    <el-dialog v-model="pub_visible" :show-close="true" @closed="colseMessage" width="60%"
        style="border-radius: 40px;  ">
        <template #header="{ close, titleId, titleClass }">
            <div class="my-header">
                <div class="msg_dig">
                    <img width="40px" v-show="userSex == '1'" src="../assets/kepu/man.png" />
                    <img width="40px" v-show="userSex == '0'" src="../assets/kepu/woman.png" />
                    <div style="margin-left:20px">{{ userName }}</div>
                </div>

                <!-- <textarea ref="des_input" rows="5" cols="43" placeholder="写下你珍贵的留言" /> -->
                <el-input type="textarea" style="margin-top: 20px;" :autosize="{ minRows: 6 }" placeholder="写下你珍贵的留言"
                    v-model="des_input">
                </el-input>

                <div class="home_mid_plan_button">

                    <div class="pub_button" @click="pubMsg"> 发布留言
                    </div>
                </div>

            </div>
        </template>
    </el-dialog>
</template>
<style lang="scss" scoped>
:deep(.el-textarea__inner) {
    background-color: #F7F7F7 !important;
    border: none !important;
    border-radius: 20px;
    border: none !important;
    box-shadow: none !important;
}

.msg_dig {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.home_mid_plan_button {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: end;
    margin-top: 40px;

    // text-align: right;
    .pub_button {
        cursor: pointer;
        // width: 100px;
        border-radius: 12px;
        border: 3px solid #48D68E;
        color: #ffffff;
        background-color: #000000;

        padding: 8px 30px;
        cursor: pointer;
        display: flex;
        align-items: center;
    }
}
</style>