<template>
    <div class="container center-content">
        <div class="title">认证信息</div>
        <div class="box">
            <div class="name">个人认证 <span>账户实名认证后不能修改</span></div>
            <div class="border"></div>
            <div class="fail" v-if="userInfo.authStatus === 'PENDING' || userInfo.authStatus === 'FAIL'">
                <img class="text1" src="../../assets/icon-xiugaichengg@3x.png" alt="" />
                <div class="text2">已提交个人认证</div>
                <div class="text3">等待后台审核信息，预计1-3个工作日内完成</div>
                <div class="botn" @click="Jump">返回</div>
            </div>
            <div v-if="userInfo.authStatus === 'NOT_AUTH' || userInfo.authStatus === 'SUCCESS'">
                <el-form ref="form" :label-position="labelPosition" :model="sizeForm" :rules="registerRule">
                    <el-form-item label="姓名" prop="nickname">
                        <el-input
                            style="width: 300px"
                            placeholder="请输入您的真实姓名"
                            v-model="sizeForm.nickname"
                        ></el-input>
                    </el-form-item>
                    <el-form-item label="手机号码" prop="phone">
                        <el-input
                            style="width: 300px"
                            placeholder="请输入您的联系方式"
                            :disabled="true"
                            v-model="sizeForm.phone"
                        ></el-input>
                    </el-form-item>
                    <el-form-item label="电子邮箱" prop="email">
                        <el-input style="width: 300px" placeholder="请输入邮箱" v-model="sizeForm.email"></el-input>
                    </el-form-item>
                    <el-form-item label="身份证号" prop="documentNumber">
                        <el-input
                            style="width: 300px"
                            placeholder="请输入18位身份证号"
                            v-model="sizeForm.documentNumber"
                        ></el-input>
                    </el-form-item>
                    <el-form-item label="本人身份证 (正面图)" prop="photoFront">
                        <single-upload class="upload" v-model="sizeForm.photoFront"></single-upload>
                    </el-form-item>
                    <div class="description">{{ explain }}</div>
                    <el-form-item label="本人身份证 (反面图)" prop="photoBackside">
                        <single-upload class="upload" v-model="sizeForm.photoBackside"></single-upload>
                    </el-form-item>
                    <div class="description">{{ explain }}</div>
                </el-form>
                <div class="btn">
                    <el-button type="primary" @click="onSubmit">提交审核</el-button>
                    <div class="btn1" @click="Jump">返回</div>
                </div>
            </div>
        </div>
    </div>
</template>

<script>
import { mapState } from 'vuex';
export default {
    data() {
        return {
            labelPosition: 'right',
            sizeForm: {
                nickname: '',
                documentNumber: '',
                photoFront: '',
                photoBackside: '',
                phone: '',
                email: ''
            },
            typeFl: {},
            registerRule: {
                documentNumber: { required: true, message: '请输入您的身份证号', trigger: 'blur' },
                nickname: { required: true, message: '请输入您的真实姓名', trigger: 'blur' },
                phone: { required: true, message: '请输入您的联系方式', trigger: 'blur' },
                email: { type: 'email', required: true, message: '请输入您的邮箱', trigger: 'blur' },
                photoFront: { required: true, message: '请添加您的身份证（正面）', trigger: 'blur' },
                photoBackside: { required: true, message: '请添加您的身份证（反面）', trigger: 'blur' }
            }
        };
    },
    computed: {
        ...mapState(['userInfo', 'personalInfo']),
        explain() {
            const list = [
                '请上传身份证图片，格式JPG或PNG或JPEG，大小不超过1M',
                '请上传证件照图片，格式JPG或PNG或JPEG，大小不超过1M'
            ];
            return list[this.typeFl == 'ID_CARD' ? 0 : 1];
        },
        type() {
            return this.userInfo.authorities.find(item => {
                return item.name == 'ROLE_INSTITUTION' || item.name == 'ROLE_PERSONAL';
            });
        }
    },
    created() {
        //     this.$http
        //         .get('/personal/my')
        //         .then(res => {
        //             this.sizeForm = {
        //                 ...res,
        //                 nickname: this.userInfo.nickname,
        //                 phone: this.userInfo.phone,
        //                 avatar: this.userInfo.avatar,
        //                 email: this.userInfo.email
        //             };
        //         })
        //         .catch(e => {
        //             console.log(e);
        //         });
        (this.sizeForm.nickname = this.userInfo.nickname), (this.sizeForm.phone = this.userInfo.phone);
    },
    methods: {
        Jump() {
            this.$router.go(-1);
        },
        onSubmit() {
            this.$refs.form.validate(valid => {
                if (valid) {
                    this.$confirm(
                        '保证提交的所有资料证真实有效且确属本人，如有假冒信息，一切法律后果自行承担！',
                        '提示',
                        { type: 'warning' }
                    ).then(() => {
                        this.preservation();
                    });
                }
            });
        },
        preservation() {
            let data = { ...this.sizeForm };
            delete data.nickname;
            delete data.phone;
            delete data.email;
            data.userId = this.userInfo.id;
            this.saving = true;
            let userInfo = {
                ...this.userInfo,
                nickname: this.sizeForm.nickname,
                phone: this.sizeForm.phone,
                avatar: this.sizeForm.avatar,
                email: this.sizeForm.email
            };
            userInfo.authorities = [
                ...userInfo.authorities,
                {
                    name: 'ROLE_PERSONAL'
                }
            ];
            console.log(userInfo);
            // this.$http
            //     .post('user/save', userInfo, {
            //         body: 'json'
            //     })
            //     .then(res => {
            //         this.sizeForm.avatar = res.avatar;
            //         this.$store.dispatch('getUserInfo');
            //         return this.$http.post('/personal/save', data, { body: 'json' }).then(res => {
            //             console.log(res);
            //             this.sizeForm = res;
            //             this.saving = false;
            //             this.$store.dispatch('getUserInfo');
            //         });
            //     })
            //     .catch(e => {
            //         console.log(e);
            //         this.saving = false;
            //         this.$message.error(e.error);
            //     });
        }
    }
};
</script>

<style lang="less" scoped>
.container {
    /deep/ .el-form-item__label {
        width: 94px;
        text-align: right;
        color: #ffffff;
    }
    /deep/ .el-form {
        padding-left: 390px;
    }
    /deep/ .el-input__inner {
        border: 1px solid #494a4d;
        background: #1c1e26;
        color: #ffffff;
    }
    /deep/ .el-form-item__error {
        margin-left: 94px;
    }
    /deep/ .el-button {
        width: 130px;
        height: 36px;
        background: linear-gradient(133deg, #00ffcb 0%, #006eff 100%);
        border-radius: 4px;
        margin: 0 !important;
    }
    .btn {
        display: flex;
        justify-content: center;
        margin: 65px 0 0 78px;
        .btn1 {
            width: 130px;
            height: 36px;
            background: #c4c7cc;
            border-radius: 4px;
            color: #ffffff;
            cursor: pointer;
            font-size: 13px;
            text-align: center;
            line-height: 36px;
            margin-left: 20px;
        }
    }
    .title {
        height: 42px;
        font-size: 32px;
        font-weight: 400;
        color: #ffffff;
        line-height: 42px;
        padding: 60px 0;
    }
    .description {
        font-size: 14px;
        font-weight: 400;
        color: #494a4d;
        line-height: 24px;
        margin: -11px 0 20px 94px;
    }
    .box {
        background: #1c1e26;
        padding: 17px 16px;
        padding-bottom: 200px;
        .border {
            height: 1px;
            background: #494a4d;
            margin: 17px 0 60px;
        }
        .fail {
            text-align: center;
            .text1 {
                width: 68px;
                height: 68px;
            }
            .text2 {
                font-size: 20px;
                font-weight: bold;
                color: #00ffcb;
                line-height: 26px;
                margin: 20px 0 10px;
            }
            .text3 {
                font-size: 14px;
                font-weight: 400;
                color: #ffffff;
                line-height: 24px;
            }
            .botn {
                width: 130px;
                height: 36px;
                font-size: 13px;
                cursor: pointer;
                color: #ffffff;
                line-height: 36px;
                text-align: center;
                background: linear-gradient(133deg, #00ffcb 0%, #006eff 100%);
                border-radius: 4px;
                margin: 87px 0 0 518px;
            }
        }
        .name {
            font-size: 16px;
            font-weight: bold;
            color: #ffffff;
            line-height: 26px;
            span {
                font-size: 12px;
                font-weight: 400;
                color: #939599;
                line-height: 22px;
            }
        }
        /deep/ .el-button {
            width: 130px;
            height: 36px;
            background: linear-gradient(133deg, #00ffcb 0%, #006eff 100%);
            border-radius: 4px;
            margin-top: 60px;
            color: #ffffff;
        }
    }
}
</style>
