card.vue 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <template>
  2. <view class="card-wrap">
  3. <view class="title-wrap">
  4. <view class="icon"></view>
  5. <view class="name">{{ name }}</view>
  6. <view @click="goDetail()" v-if="!notShow" class="detail">点击查看详情</view>
  7. </view>
  8. <view class="content-wrap">
  9. <slot name="content"></slot>
  10. </view>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. }
  18. },
  19. props: ['name', 'notShow', 'data'],
  20. onLoad() {
  21. },
  22. methods: {
  23. goDetail() {
  24. this.$emit('goDetail', this.data)
  25. }
  26. }
  27. }
  28. </script>
  29. <style scoped>
  30. .card-wrap {
  31. overflow: hidden;
  32. background: #FFFFFF;
  33. box-shadow: 2rpx 14rpx 22px 0px rgba(0,0,0,0.13);
  34. border-radius: 14rpx;
  35. }
  36. .card-wrap .title-wrap {
  37. display: flex;
  38. align-items: center;
  39. height: 89rpx;
  40. padding: 24rpx 42rpx 24rpx 24rpx;
  41. background: linear-gradient(-90deg, #FFFFFF, #E6FAFF);
  42. }
  43. .card-wrap .title-wrap .icon {
  44. width: 6rpx;
  45. height: 100%;
  46. margin-right: 23rpx;
  47. background-color: #33C777;
  48. }
  49. .card-wrap .title-wrap .name {
  50. width: calc(100% - 29rpx - 132rpx);
  51. font-weight: 700;
  52. font-size: 33rpx;
  53. color: #343434;
  54. }
  55. .card-wrap .title-wrap .detail {
  56. color: #3394F9;
  57. font-size: 22rpx;
  58. }
  59. .content-wrap {
  60. background-color: #fff;
  61. }
  62. </style>