followRecords.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <view class="todo-list">
  3. <u-empty mode="list" text="暂无记录" v-if="followList.length == 0"></u-empty>
  4. <view v-else v-for="(v, i) in followList" :key="i">
  5. <view class="follow-date">
  6. <u-text :bold="true" size="26rpx" :text="v.followDay"></u-text>
  7. </view>
  8. <view class="todo-item" v-for="item in v.followupList" :key="item.id">
  9. <u-row>
  10. <u-col span="12">
  11. <view class="header">
  12. <u-row>
  13. <u-col span="12">
  14. <view class="flex_l">
  15. <text class="tit-txt text-ellipsis flex_1">
  16. {{ item.contactsName }} 跟进({{ formatType(item.followType) }})
  17. </text>
  18. </view>
  19. </u-col>
  20. </u-row>
  21. <view class="content flex">
  22. <text>{{ item.followContent }}</text>
  23. </view>
  24. <view class="content-footer flex1">
  25. <text class="date">{{ item.followDate }}</text>
  26. <view class="flex flex-middle">
  27. <text class="user-txt">联系人:{{ item.contactsName }}</text>
  28. </view>
  29. </view>
  30. </view>
  31. </u-col>
  32. </u-row>
  33. </view>
  34. </view>
  35. </view>
  36. </template>
  37. <script>
  38. import to from 'await-to-js'
  39. import followApi from '../../../api/follow'
  40. export default {
  41. name: 'OmsCustomerDetail',
  42. props: {
  43. targetId: {
  44. type: [String, Number],
  45. default: '0',
  46. },
  47. targetType: {
  48. type: [String, Number],
  49. default: '0',
  50. },
  51. },
  52. data() {
  53. return {
  54. followList: [],
  55. }
  56. },
  57. mounted() {
  58. this.getRecords()
  59. },
  60. methods: {
  61. async getRecords() {
  62. let params = {
  63. targetId: '' + this.targetId,
  64. targetType: '' + (parseInt(this.targetType) + 40),
  65. DaysBeforeToday: 9999,
  66. }
  67. const [err, res] = await to(followApi.getListByDay(params))
  68. if (err) return
  69. if (res.code == 200) this.followList = res.data.list || []
  70. },
  71. formatType(val) {
  72. let str = ''
  73. if (val == 10) str = '电话'
  74. else if (val == 20) str = '邮件'
  75. else if (val == 30) str = '拜访'
  76. return str
  77. },
  78. },
  79. }
  80. </script>
  81. <style lang="scss" scoped>
  82. .todo-list {
  83. height: 100%;
  84. overflow: auto;
  85. .follow-date {
  86. padding: 20rpx 0 20rpx 20rpx;
  87. }
  88. .todo-item {
  89. padding: 12rpx 40rpx 12rpx 46rpx;
  90. background: #f2f3f5;
  91. border-radius: 15rpx;
  92. margin-bottom: 32rpx;
  93. .tit-txt {
  94. font-size: 28rpx;
  95. font-weight: bold;
  96. color: #323232;
  97. }
  98. .content {
  99. padding: 10rpx 0;
  100. font-size: 28rpx;
  101. color: #646464;
  102. }
  103. .content-footer {
  104. padding: 0 0 12rpx 0;
  105. font-size: 24rpx;
  106. .date {
  107. color: #969696;
  108. }
  109. .user-img {
  110. width: 46rpx;
  111. height: 46rpx;
  112. border-radius: 50%;
  113. margin-right: 15rpx;
  114. }
  115. }
  116. }
  117. }
  118. </style>