list.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <view>
  3. <view
  4. class="list"
  5. v-for="item in items"
  6. :key="item.id"
  7. >
  8. <view class="list-top">
  9. <text class="list-top-person">牛人:{{ item.sendPerson?.name }}</text>
  10. <text class="list-top-time">{{ timesTampChange(item.createTime) }}</text>
  11. </view>
  12. <view class="list-remuneration">
  13. 薪酬:
  14. {{ item.job?.payFrom }}
  15. {{ item.job?.payFrom && item.job?.payTo ? ' - ' : '' }}
  16. {{ item.job?.payTo }}
  17. </view>
  18. <view class="list-company">
  19. <text>{{ formatName(item.enterprise?.anotherName || item.enterprise?.name) }}</text>
  20. <text>{{ (item.enterprise?.anotherName || item.enterprise?.name) && item.job?.name ? ' · ' : '' }}</text>
  21. <text>{{ formatName(item.job?.name) }}</text>
  22. </view>
  23. </view>
  24. </view>
  25. </template>
  26. <script setup>
  27. import { timesTampChange } from '@/utils/date'
  28. import { formatName } from '@/utils/getText'
  29. const props = defineProps({
  30. items: {
  31. type: Array,
  32. default: () => []
  33. }
  34. })
  35. </script>
  36. <style lang="scss" scoped>
  37. .list {
  38. background: #FFF;
  39. margin-top: 20rpx;
  40. &-top {
  41. padding: 20rpx;
  42. display: flex;
  43. justify-content: space-between;
  44. align-items: center;
  45. &-person {
  46. font-size: .9em;
  47. color: #333;
  48. }
  49. &-time {
  50. font-size: .75em;
  51. color: #999;
  52. }
  53. }
  54. &-company {
  55. padding: 30rpx 20rpx;
  56. font-size: 28rpx;
  57. color: #666;
  58. background: linear-gradient(90deg, #f5fcfc 0, #fcfbfa 100%);
  59. }
  60. &-remuneration {
  61. padding: 20rpx;
  62. font-size: 28rpx;
  63. color: #666;
  64. }
  65. }
  66. </style>