index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <template>
  2. <div>
  3. <page-header :title="$t('dictionary.mail_config')" />
  4. <page-body>
  5. <template v-for="item of cards">
  6. <!-- <a-card :title="item.label" :key="item.key" class="mb-4" size="small">
  7. </a-card> -->
  8. <a-collapse :bordered="true" :key="item.key" class="collapse-wrap">
  9. <a-collapse-panel :header="item.label" :key="item.key" class="mb-4">
  10. <template v-slot:extra v-if="item.loading">
  11. <a-icon type="loading" />
  12. </template>
  13. <component
  14. :is="item.key"
  15. :form-item-layout="formItemLayout"
  16. :offset-wrapper-col="offsetWrapperCol"
  17. :loading.sync="item.loading" />
  18. </a-collapse-panel>
  19. </a-collapse>
  20. </template>
  21. </page-body>
  22. </div>
  23. </template>
  24. <script>
  25. import Email from './components/Email'
  26. // import EmailCallback from './components/EmailCallback'
  27. import Message from './components/Message'
  28. import SMS from './components/SMS'
  29. import DingTalk from './components/DingTalk'
  30. import DingTalkRobot from './components/DingTalkRobot'
  31. import FlyBook from './components/FlyBook'
  32. import FlyBookRobot from './components/FlyBookRobot'
  33. import Workwx from './components/Workwx'
  34. import WorkwxRobot from './components/WorkwxRobot'
  35. import Cmdb from './components/Cmdb'
  36. export default {
  37. name: 'MailConfigIndex',
  38. components: {
  39. Email,
  40. // EmailCallback,
  41. Message,
  42. sms: SMS,
  43. DingTalk,
  44. DingTalkRobot,
  45. FlyBook,
  46. FlyBookRobot,
  47. Workwx,
  48. WorkwxRobot,
  49. Cmdb,
  50. },
  51. data () {
  52. return {
  53. loadingLayout: [[16, 8], [15], [16, 8], [12], [16, 8], [20], [16, 8], [14]],
  54. cards: [
  55. { label: this.$t('system.text_302'), key: 'email', loading: false },
  56. // { label: '邮件回调地址', key: 'email-callback', loading: false },
  57. { label: this.$t('system.text_136'), key: 'ding-talk', loading: false },
  58. { label: this.$t('system.text_303'), key: 'ding-talk-robot', loading: false },
  59. { label: this.$t('system.text_133'), key: 'fly-book', loading: false },
  60. { label: this.$t('system.text_304'), key: 'fly-book-robot', loading: false },
  61. { label: this.$t('system.wecom.1'), key: 'workwx', loading: false },
  62. { label: this.$t('system.wecom.bot'), key: 'workwx-robot', loading: false },
  63. { label: this.$t('system.text_578'), key: 'cmdb', loading: false },
  64. { label: this.$t('system.text_305'), key: 'message', loading: false },
  65. { label: this.$t('system.text_306'), key: 'sms', loading: false },
  66. ],
  67. formItemLayout: {
  68. wrapperCol: {
  69. span: 20,
  70. xxl: {
  71. span: 22,
  72. },
  73. },
  74. labelCol: {
  75. span: 4,
  76. xxl: {
  77. span: 2,
  78. },
  79. },
  80. },
  81. offsetWrapperCol: {
  82. span: 20,
  83. offset: 4,
  84. xxl: {
  85. span: 22,
  86. offset: 2,
  87. },
  88. },
  89. }
  90. },
  91. }
  92. </script>
  93. <style lang="less" scoped>
  94. .collapse-wrap {
  95. ::v-deep {
  96. .ant-collapse-header {
  97. color: #1A2739 !important;
  98. }
  99. }
  100. }
  101. </style>