index.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <div style="box-sizing: border-box; padding: 20px">
  3. <zj-form-container
  4. ref="formRef"
  5. :formData="formData"
  6. :formRules="formRules"
  7. :formAttributes="{ 'label-position': 'top' }"
  8. >
  9. <zj-form-module title="邮箱配置" :formData="formData" :formItems="formItems" :column="1"> </zj-form-module>
  10. </zj-form-container>
  11. <div>
  12. <el-button size="mini" type="primary" @click="submit">提交</el-button>
  13. <el-button size="mini" type="success" @click="reset">重置</el-button>
  14. </div>
  15. </div>
  16. </template>
  17. <script>
  18. import { insureEmailConfig, insureEmailDetail } from '@/api/InsuranceManagement.js'
  19. export default {
  20. data() {
  21. return {
  22. formData: {
  23. sendEmail: '',
  24. sendName: '',
  25. sendPassword: '',
  26. corpId: '',
  27. secret: '',
  28. receComEmail: '',
  29. receYwxEmail: '',
  30. sendDailyTime: '',
  31. noticeDay: ''
  32. },
  33. formRules: {
  34. receComEmail: [{ required: true, message: '请输入', trigger: 'blur' }],
  35. receYwxEmail: [{ required: true, message: '请输入', trigger: 'blur' }],
  36. sendDailyTime: [{ required: true, message: '请输入', trigger: 'blur' }],
  37. noticeDay: [{ required: true, message: '请输入', trigger: 'blur' }],
  38. sendName: [{ required: true, message: '请输入', trigger: 'blur' }],
  39. sendEmail: [{ required: true, message: '请输入', trigger: 'blur' }],
  40. sendPassword: [{ required: true, message: '请输入', trigger: 'blur' }]
  41. }
  42. }
  43. },
  44. computed: {
  45. formItems() {
  46. return [
  47. {
  48. name: 'el-input',
  49. formItemAttributes: { label: '接收邮箱,公用', prop: 'receComEmail' }
  50. },
  51. {
  52. name: 'el-input',
  53. formItemAttributes: { label: '接收邮箱,意外险专用,多邮箱以英文逗号隔开', prop: 'receYwxEmail' }
  54. },
  55. {
  56. name: 'el-time-picker',
  57. md: 8,
  58. attributes: { style: 'width:100%', format: 'HH:mm', valueFormat: 'HH:mm' },
  59. formItemAttributes: { label: '每日发送时间', prop: 'sendDailyTime', 'label-position': 'left' }
  60. },
  61. {
  62. name: 'el-input',
  63. md: 8,
  64. formItemAttributes: { label: '到期提醒时间:保险到期前多少天', prop: 'noticeDay' }
  65. },
  66. {
  67. name: 'el-input',
  68. md: 8,
  69. formItemAttributes: { label: '企业id', prop: 'corpId' }
  70. },
  71. {
  72. name: 'el-input',
  73. md: 8,
  74. formItemAttributes: { label: '发件人昵称', prop: 'sendName' }
  75. },
  76. {
  77. name: 'el-input',
  78. md: 8,
  79. formItemAttributes: { label: '发件人邮箱', prop: 'sendEmail' }
  80. },
  81. {
  82. name: 'el-input',
  83. md: 8,
  84. formItemAttributes: { label: '发件人密码', prop: 'sendPassword' }
  85. },
  86. {
  87. name: 'el-input',
  88. md: 8,
  89. formItemAttributes: { label: '应用的凭证密钥', prop: 'secret' }
  90. }
  91. ]
  92. }
  93. },
  94. created() {
  95. // 获取详情
  96. insureEmailDetail().then(res => {
  97. for (var key in res.data) {
  98. if (key !== 'id') {
  99. this.formData[key] = res.data[key]
  100. }
  101. }
  102. })
  103. },
  104. methods: {
  105. submit() {
  106. this.$refs['formRef'].validate(valid => {
  107. if (valid) {
  108. insureEmailConfig({
  109. ...this.formData
  110. }).then(res => {
  111. this.$message({
  112. type: 'success',
  113. message: `保存成功!`
  114. })
  115. })
  116. } else {
  117. console.log('error submit!!')
  118. return false
  119. }
  120. })
  121. },
  122. reset() {
  123. Object.assign(this.$data, this.$options.data())
  124. }
  125. }
  126. }
  127. </script>
  128. <style lang="scss" scoped></style>