{{.Header}}
<div id="app" style="width:100%">
    <template>
        <el-container  v-loading.fullscreen.lock="fullscreenLoading">
            <el-aside>
                {{.Left}}
            </el-aside>

            <el-main class="mainMain">
                <el-form :model="ruleForm" :rules="rules" ref="ruleForm"  label-width="120px">
                    <el-form-item label="smtp地址" prop="smtp">
                        <el-input v-model="ruleForm.smtp" placeholder="SMTP服务器如smtp.sina.net:25包含端口号"></el-input>
                    </el-form-item>
                    <el-form-item label="主题" prop="subject">
                        <el-input v-model="ruleForm.subject"></el-input>
                    </el-form-item>
                    <el-form-item label="收件人" prop="to">
                        <el-input v-model="ruleForm.to"></el-input>
                    </el-form-item>
                    <el-form-item label="内容" prop="content">
                        <el-input type="textarea" v-model="ruleForm.content"></el-input>
                    </el-form-item>
                    <el-form-item>
                        <el-button type="primary" @click="submitForm('ruleForm')">立即发送</el-button>
                        <el-button @click="resetForm('ruleForm')">取消</el-button>
                    </el-form-item>
                </el-form>
            </el-main>

        </el-container>
    </template>

</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
    new Vue({
        el: '#app',
        delimiters:["<{","}>"],
        data: {
            fullscreenLoading:true,
            folders:[],
            fid:"",
            mailTotal:0,
            ruleForm: {
                smtp: '',
                to: '',
                subject: '',
                content: '',
            },
            rules: {
                smtp: [
                    { required: true, message: 'SMTP服务器如"smtp.sina.net:25"包含端口号', trigger: 'blur' },
                ],
                to: [
                    { required: true, message: '邮箱地址', trigger: 'blur' },
                ],
                subject: [
                    { required: true, message: '主题', trigger: 'blur' },
                ],
                content: [
                    { required: true, message: '内容', trigger: 'blur' },
                ],
            },
        },
        methods: {
            //获取邮件夹
            getFolders: function () {
                this.fullscreenLoading=true;
                let _this = this;
                $.get('/folder_dirs', function (rs) {
                    _this.folders=rs.result.folders;
                    _this.mailTotal=rs.result.total;
                    _this.fid=rs.result.fid;
                    _this.fullscreenLoading=false;
                }).then(()=>{
                    _this.fullscreenLoading=false;
                });
            },
            //跳转
            openUrl(url){
                window.location.href=url;
            },
            //提交表单
            submitForm(formName){
                let _this=this;
                this.$refs[formName].validate((valid) => {
                    console.log(valid,formName,this.$refs[formName]);
                    if (valid) {
                        let data=this.ruleForm;
                        let to=[];
                        to.push(this.ruleForm.to);
                        data.to=to;
                        axios.post('/send', data).then(function (response) {
                                console.log(response);
                        }).catch(function (error) {
                                console.log(error);
                        });
                    } else {
                        return false;
                    }
                });
            },
            //重置表单
            resetForm(formName) {
                this.loading=false;
                this.$refs[formName].resetFields();
            },
        },
        created: function () {
            this.getFolders();
        }
    })

</script>
</html>
