cdc3e41fbd670145152ba83fbae43bb780d6b9c3.svn-base 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <template>
  2. <div style="height:100vh">
  3. <yd-navbar title="我的消息" color="#fff">
  4. <router-link :to="{path: '/PersonalCenter' }" slot="left">
  5. <yd-navbar-back-icon style="color: #fff"></yd-navbar-back-icon>
  6. </router-link>
  7. </yd-navbar>
  8. <div>
  9. <yd-pullrefresh :callback="loadList" ref="pullrefreshDemo" style="background: #E4E4E4">
  10. <ul class="messageList" v-if="list.length > 0">
  11. <li v-for="(item,index) in list" :key="index" @click="goDetail(item)">
  12. <div class="item_img">
  13. <img :src="item.read_status == -1 ? email_off : email_on" alt="">
  14. </div>
  15. <div>
  16. <div class="item_title">
  17. <p class="name">{{item.title}}</p>
  18. <p class="time">{{item.write_time}}</p>
  19. </div>
  20. <p class="item_text">{{item.content}}</p>
  21. </div>
  22. </li>
  23. </ul>
  24. <ul style="text-align: center; margin-top: 50%; font-size: 16px" v-else>
  25. 暂无数据
  26. </ul>
  27. </yd-pullrefresh>
  28. </div>
  29. </div>
  30. </template>
  31. <script>
  32. import email_on from '../../../assets/st-imges/email_icon.png'
  33. import email_off from '../../../assets/st-imges/email_off.png'
  34. export default {
  35. name: "messageCenter.vue",
  36. data() {
  37. return {
  38. email:"",
  39. email_on:email_on,
  40. email_off:email_off,
  41. page: 1,
  42. list: []
  43. }
  44. },
  45. mounted(){
  46. this.loadList()
  47. },
  48. methods: {
  49. // 获取列表
  50. loadList() {
  51. this.$http.post(this.$ports.login.mesaageList, {
  52. type: 'pulldown',
  53. currentPage: this.page,
  54. pageSize:8,
  55. token: localStorage.getItem("token")
  56. })
  57. .then(res => {
  58. console.log( res.data.data,'获取消息列表')
  59. const _list = res.data.data.list;
  60. this.list = [..._list, ...this.list]
  61. this.$dialog.toast({
  62. mes: _list.length > 0 ? '为您更新了' + _list.length + '条内容' : '已是最新内容'
  63. });
  64. this.$refs.pullrefreshDemo.$emit('ydui.pullrefresh.finishLoad');
  65. this.page++;
  66. });
  67. },
  68. // 跳转详情
  69. goDetail(item){
  70. // console.log(item)
  71. // // return false;
  72. this.$router.push({
  73. name: 'MessageDetail',
  74. params: {
  75. id:item.identity
  76. }
  77. });
  78. this.$store.dispatch('SET_MESSAGEDETAIl',item)
  79. // sessionStorage.setItem('messageDetail', item);
  80. }
  81. }
  82. }
  83. </script>
  84. <style>
  85. .yd-list-mes {
  86. background: #E4E4E4 !important;
  87. }
  88. </style>
  89. <style scoped>
  90. .yd-btn-block {
  91. margin-top: 0.6rem;
  92. }
  93. .yd-navbar {
  94. background-image: linear-gradient(0deg, #565656 0%, #999999 100%);
  95. }
  96. .switch img {
  97. width: 0.3rem;
  98. height: 0.3rem;
  99. margin-left: 0.4rem;
  100. margin-top: 0.1rem;
  101. }
  102. .messageList {
  103. padding: 10px;
  104. }
  105. .messageList li{
  106. display: flex;
  107. justify-content: flex-start;
  108. background:#EFEFEF;
  109. border-radius:10px;
  110. padding: 0.29rem;
  111. overflow: hidden;
  112. margin-bottom: 0.25rem;
  113. }
  114. .messageList img {
  115. width:0.52rem;
  116. height:0.38rem;
  117. margin-top: 0.10rem;
  118. margin-right: 0.15rem;
  119. }
  120. .item_text{
  121. width: 6.15rem;
  122. overflow: hidden;
  123. white-space: nowrap;
  124. text-overflow: ellipsis;
  125. }
  126. .item_title {
  127. display: flex;
  128. justify-content: space-between;
  129. }
  130. .item_title .name{
  131. color:#333333;
  132. font-size: 14px;
  133. white-space: nowrap;
  134. overflow: hidden;
  135. text-overflow: ellipsis;
  136. }
  137. .item_title .time{
  138. color:#999999;
  139. padding-top: 0.05rem;
  140. padding-right: 0.2rem;
  141. }
  142. </style>