email.vue 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <template>
  2. <el-form ref="form" :model="configValue" :rules="rules" label-width="140px">
  3. <el-form-item label="邮箱账号" prop="postAccount">
  4. <el-input
  5. v-model="configValue.postAccount"
  6. placeholder="请输入邮箱账号"
  7. />
  8. </el-form-item>
  9. <el-form-item label="授权密码" prop="postPassword">
  10. <el-input
  11. v-model="configValue.postPassword"
  12. placeholder="请输入授权密码"
  13. />
  14. </el-form-item>
  15. <el-form-item label="STMP服务期地址" prop="STMPserver">
  16. <el-input
  17. v-model="configValue.STMPserver"
  18. placeholder="请输入STMP服务期地址"
  19. />
  20. </el-form-item>
  21. <el-form-item label="端口号" prop="post">
  22. <el-input v-model="configValue.post" placeholder="请确认端口号" />
  23. </el-form-item>
  24. <el-form-item>
  25. <el-button type="primary" size="mini" @click="submit">保存</el-button>
  26. <el-button type="danger" size="mini" @click="close">关闭</el-button>
  27. </el-form-item>
  28. </el-form>
  29. </template>
  30. <script>
  31. import { updateConfig } from "@/api/system/config";
  32. export default {
  33. props: {
  34. info: {
  35. type: Object,
  36. default: () => {
  37. return {};
  38. },
  39. },
  40. configValue: {
  41. type: Object,
  42. default: () => {
  43. return {};
  44. },
  45. },
  46. },
  47. data() {
  48. const emailValidator = (rule, value, callback) => {
  49. var reg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
  50. if (reg.test(value)) {
  51. callback();
  52. } else {
  53. callback(new Error("邮箱账号格式错误,请检查邮箱账号格式"));
  54. }
  55. };
  56. return {
  57. test: "1test",
  58. // 表单校验
  59. rules: {
  60. postAccount: [
  61. { required: true, message: "请输入邮箱账号", trigger: "blur" },
  62. { validator: emailValidator, trigger: "blur" },
  63. ],
  64. postPassword: [
  65. { required: true, message: "请输入授权密码", trigger: "blur" },
  66. ],
  67. STMPserver: [
  68. { required: true, message: "请输入STMP服务器地址", trigger: "blur" },
  69. ],
  70. post: [{ required: true, message: "请输入端口", trigger: "blur" }],
  71. },
  72. };
  73. },
  74. methods: {
  75. submit() {
  76. this.$refs["form"].validate((valid) => {
  77. if (valid) {
  78. let data = JSON.parse(JSON.stringify(this.configValue));
  79. let copySubmitData = JSON.parse(JSON.stringify(this.info));
  80. copySubmitData.configValue = JSON.stringify(data);
  81. updateConfig(copySubmitData).then(() => {
  82. this.$message.success("保存成功");
  83. });
  84. }
  85. });
  86. },
  87. close() {
  88. this.$store.dispatch("tagsView/delView", this.$route);
  89. this.$router.push({ path: "/index" });
  90. },
  91. },
  92. };
  93. </script>