loan-item.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <template>
  2. <view class="p-t20">
  3. <view class="task-body m-lr20 animate__animated animate__fadeIn" v-if="taskList.length>0">
  4. <view class="row-c page-box-bg-fff m-b20 r-30 box-shadow-197" v-for="(item,index) in taskList" :key="index">
  5. <view class="main_string" :style="{background:lineColor[item.product_id%3]}"></view>
  6. <view class="row-c flex p-30">
  7. <image class="wh-80" :src="item.product_icon" mode=""></image>
  8. <view class="flex m-l20">
  9. <view class="row-justify-sb center flex">
  10. <text class="text-color-333 sys-weight-600">{{item.product_name}}</text>
  11. <view class="row-c line-40" @click.stop="makCall(item.phone)">
  12. <text class="size-26 text-color-333">{{item.name}}</text>
  13. <image class="wh-30 m-l16" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/new-xcx/task/task-phone.png" mode=""></image>
  14. </view>
  15. </view>
  16. <view
  17. class="p-tb14 p-lr30 m-tb20 r-100 row-justify-sb center size-24 text-color-12 sys-from-background-color sys-weight-600"
  18. style="line-height: 40rpx;">
  19. <text class="size-28 text-color-E21">{{(item.loans_money/10000).toFixed(2)}}万</text>
  20. <view class="">
  21. <text>{{item.refund_num-item.residue_num}}/{{item.refund_num}}</text><text class="sys-weight-400">期</text>
  22. </view>
  23. <view class="" v-if="item.status === 1">
  24. <text>{{(item.repayment_money*1).toFixed(2)}}</text><text class="sys-weight-400">元</text>
  25. </view>
  26. <text class="color-FF730E">{{(item.interest_rate*1).toFixed(2)}}%</text>
  27. </view>
  28. <view class="row-justify-sb center">
  29. <text></text>
  30. <view class="row-c">
  31. <button
  32. class="button-backgroun en_buttond left_button sys-weight-500 button_color-008FD6 size-26 r-100 m-r20"
  33. type="default" hover-class="is-hover">核算</button>
  34. <button
  35. class="button-background en_button left_button right_button sys-weight-500 button_color-008FD6 size-26 r-100"
  36. type="default" hover-class="is-hover">客户分类</button>
  37. </view>
  38. </view>
  39. </view>
  40. </view>
  41. </view>
  42. <view class="placeholder sys-list-background-color" v-if="is_bottom && taskList.length"></view>
  43. </view>
  44. <en-blank v-else></en-blank>
  45. </view>
  46. </template>
  47. <script>
  48. import EnButton from "@/components/en-utils/en-button/en-button.vue";
  49. import {
  50. takeTask
  51. } from "@/api/task";
  52. import tools from "@/service/tools";
  53. import EnBlank from "@/components/en-utils/en-blank/en-blank.vue";
  54. export default {
  55. components: {
  56. EnBlank,
  57. EnButton
  58. },
  59. props: {
  60. type: {
  61. type: Number,
  62. default: 1
  63. },
  64. taskList: {
  65. type: Array,
  66. default: () => [1]
  67. },
  68. iconStatus: {
  69. type: Number,
  70. default: 1
  71. },
  72. leftImgStatus: {
  73. type: Number,
  74. default: 0
  75. },
  76. opacity: {
  77. type: Number,
  78. default: 0
  79. },
  80. back: {
  81. type: Boolean,
  82. default: false
  83. },
  84. is_bottom: {
  85. type: Boolean,
  86. default: false
  87. },
  88. },
  89. data() {
  90. return {
  91. leftImg: ['task-house', 'task-business', 'task-repayment'],
  92. iconList: ['task-audit', 'task-do', 'task-stay'],
  93. lineColor: [ '#EF8F27','#DE5847', '#0FB160'],
  94. isAjax: false
  95. }
  96. },
  97. methods: {
  98. makCall(phone){
  99. tools.makingCall(phone)
  100. }
  101. }
  102. }
  103. </script>
  104. <style lang="scss" scoped>
  105. .en_button {
  106. border: none;
  107. }
  108. .task-body {
  109. height: 100%;
  110. }
  111. .left_button {
  112. width: 122rpx;
  113. height: 56rpx;
  114. color: #008FD6;
  115. line-height: 56rpx;
  116. background: #FFFFFF;
  117. border: 1rpx solid #008FD6;
  118. border-radius: 100rpx;
  119. }
  120. .right_button {
  121. width: 160rpx;
  122. }
  123. .placeholder {
  124. height: 40rpx;
  125. }
  126. .main_string {
  127. width: 6rpx;
  128. height: 60rpx;
  129. border-radius: 100rpx;
  130. background: red;
  131. }
  132. button::after {
  133. border: none;
  134. }
  135. </style>