| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- {{.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>
|