contractDynamics.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <template>
  2. <view class="todo-list">
  3. <u-empty mode="list" text="暂无记录" v-if="records.length == 0"></u-empty>
  4. <view v-else v-for="(v, k) in records" :key="i">
  5. <view class="follow-date">
  6. <u-text :bold="true" size="26rpx" :text="k"></u-text>
  7. </view>
  8. <view class="todo-item" v-for="item in records[k]" :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.opnPeople }} {{ item.opnType }}
  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.opnDate }}</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 api from '@/api/contract'
  40. export default {
  41. name: 'OmsContractDynamics',
  42. props: {
  43. contractId: {
  44. type: [String, Number],
  45. default: '0',
  46. },
  47. },
  48. data() {
  49. return {
  50. records: {},
  51. }
  52. },
  53. mounted() {
  54. this.fetchData()
  55. },
  56. methods: {
  57. async fetchData() {
  58. let params = {
  59. contractId: this.contractId,
  60. DaysBeforeToday: 9999,
  61. }
  62. const [err, res] = await to(api.getDynamicsList(params))
  63. if (err) return
  64. if (res.code == 200) this.records = res.data.list || []
  65. },
  66. formatType(val) {
  67. let str = ''
  68. if (val == 10) str = '电话'
  69. else if (val == 20) str = '邮件'
  70. else if (val == 30) str = '拜访'
  71. return str
  72. },
  73. },
  74. }
  75. </script>
  76. <style lang="scss" scoped>
  77. .todo-list {
  78. height: 100%;
  79. overflow: auto;
  80. .follow-date {
  81. padding: 20rpx 0 20rpx 20rpx;
  82. }
  83. .todo-item {
  84. padding: 12rpx 40rpx 12rpx 46rpx;
  85. background: #f2f3f5;
  86. border-radius: 15rpx;
  87. margin-bottom: 32rpx;
  88. .tit-txt {
  89. font-size: 28rpx;
  90. font-weight: bold;
  91. color: #323232;
  92. }
  93. .content {
  94. padding: 10rpx 0;
  95. font-size: 28rpx;
  96. color: #646464;
  97. }
  98. .content-footer {
  99. padding: 0 0 12rpx 0;
  100. font-size: 24rpx;
  101. .date {
  102. color: #969696;
  103. }
  104. .user-img {
  105. width: 46rpx;
  106. height: 46rpx;
  107. border-radius: 50%;
  108. margin-right: 15rpx;
  109. }
  110. }
  111. }
  112. }
  113. </style>