announcement-detail.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <template>
  2. <el-dialog
  3. title="查看"
  4. width="60%"
  5. :close-on-click-modal="false"
  6. :visible.sync="visible">
  7. <div style="margin-left: 20px;margin-right: 20px">
  8. <e-desc title="基本信息" column="2">
  9. <e-desc-item label="公告主题名称">{{dataForm.title}}</e-desc-item>
  10. <e-desc-item label="级别">{{dataForm.levelName}}</e-desc-item>
  11. <e-desc-item span="2" style="min-height: 80px" label="公告内容">{{dataForm.content}}</e-desc-item>
  12. </e-desc>
  13. <e-desc title="详细信息" column="2">
  14. <e-desc-item span="2" label="附件">
  15. <a v-for="(item, index) in dataForm.attachList" :key="item.fileName + index" type="primary" :href="downloadUrl + item.url">{{ item.fileName }}</a>
  16. </e-desc-item>
  17. <e-desc-item span="2" style="min-height: 80px" label="备注说明">{{dataForm.notes}}</e-desc-item>
  18. </e-desc>
  19. </div>
  20. <span slot="footer" class="dialog-footer">
  21. <el-button @click="visible = false">返回</el-button>
  22. </span>
  23. </el-dialog>
  24. </template>
  25. <script>
  26. import EDesc from '../common/e-desc'
  27. import EDescItem from '../common/e-desc-item'
  28. import { getAnnouncementInfo } from '@/api/msg'
  29. import { downloadUrl } from '@/api/file'
  30. export default {
  31. name: 'notice-add-or-update',
  32. components: {
  33. EDesc, EDescItem
  34. },
  35. data () {
  36. return {
  37. visible: false,
  38. fileList: [],
  39. downloadUrl: downloadUrl,
  40. id: 0,
  41. dataForm: {
  42. attachList: []
  43. }
  44. }
  45. },
  46. methods: {
  47. async init (id) {
  48. this.visible = true
  49. this.id = id || 0
  50. this.getAnnouncementInfo()
  51. },
  52. getAnnouncementInfo () {
  53. getAnnouncementInfo(this.id).then(({data}) => {
  54. if (data && data.code === '200') {
  55. this.dataForm = data.data
  56. }
  57. })
  58. }
  59. }
  60. }
  61. </script>
  62. <style scoped>
  63. .my-line{
  64. border-bottom: 1px solid #c0c4cc;
  65. margin-bottom: 10px;
  66. }
  67. .title{
  68. padding: 10px 0 ;
  69. }
  70. </style>