index.vue 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <view class="home-page">
  3. <view class="message-box flex white-wrap" @click="handleGONext('custome')" v-if="custome.Total>0">
  4. <image class="icon" src="../../static/icon-1.png" mode="aspectFill"></image>
  5. <text style="flex: 1;margin-right: 5px;" class="van-ellipsis">{{custome.Message}}</text>
  6. <van-tag round type="danger" color="#FF4444">{{custome.Total}}</van-tag>
  7. </view>
  8. <view class="message-box flex white-wrap" @click="handleGONext('contract')" v-if="contract.Total>0">
  9. <image class="icon" src="../../static/icon-2.png" mode="aspectFill"></image>
  10. <text style="flex: 1;margin-right: 5px;" class="van-ellipsis">{{contract.Message}}</text>
  11. <van-tag round type="danger" color="#FF4444">{{contract.Total}}</van-tag>
  12. </view>
  13. <view class="message-box flex white-wrap" @click="handleGONext('seal')" v-if="seal.Total>0">
  14. <image class="icon" src="../../static/icon-3.png" mode="aspectFill"></image>
  15. <text style="flex: 1;margin-right: 5px;" class="van-ellipsis">{{seal.Message}}</text>
  16. <van-tag round type="danger" color="#FF4444">{{seal.Total}}</van-tag>
  17. </view>
  18. </view>
  19. </template>
  20. <script>
  21. import {apiMessageCount} from '@/api/message.js'
  22. export default {
  23. data() {
  24. return {
  25. custome:null,
  26. contract:null,
  27. seal:null
  28. }
  29. },
  30. onShow() {
  31. this.getMessage()
  32. },
  33. onPullDownRefresh() {
  34. this.getMessage()
  35. setTimeout(()=>{
  36. uni.stopPullDownRefresh()
  37. }, 500);
  38. },
  39. methods: {
  40. // 跳转消息列表
  41. handleGONext(e){
  42. uni.navigateTo({
  43. url:'../../pages-todomessages/list/list?type='+e
  44. })
  45. },
  46. //获取消息数据
  47. async getMessage(){
  48. const res=await apiMessageCount()
  49. if(res.code===200){
  50. this.custome=res.data.CompanyMessage
  51. this.contract=res.data.ContractMessage
  52. this.seal=res.data.SealMessage
  53. }
  54. }
  55. }
  56. }
  57. </script>
  58. <style lang="scss">
  59. .message-box{
  60. padding: 20rpx 34rpx;
  61. align-items: center;
  62. border-bottom: 1rpx solid #f5f5f5;
  63. font-size: 16px;
  64. .icon{
  65. width: 102rpx;
  66. height: 102rpx;
  67. margin-right: 34rpx;
  68. flex-shrink: 0;
  69. }
  70. }
  71. </style>