| <template> | |
|   <view class="flex card" @click="jumpToDetail(data.id)"> | |
|     <view class="flex main" style="opacity: 0;"> | |
|       <view class="left"> | |
|         <thesisInfoView :data="data"></thesisInfoView> | |
|       </view> | |
|       <view class="right"> | |
|         <image class="img" :src="data.paperImage" mode="aspectFill"></image> | |
|       </view> | |
|     </view> | |
|     <view class="bg"> | |
|       <image class="img" src="@/static/image/card-bg-icon.png" mode="widthFix"></image> | |
|     </view> | |
|     <view class="flex main" style="position: absolute; left: 0; top: 0;"> | |
|       <view class="left"> | |
|         <thesisInfoView :data="data"></thesisInfoView> | |
|       </view> | |
|       <view class="right"> | |
|         <image class="img" :src="data.paperImage" mode="aspectFill"></image> | |
|       </view> | |
|     </view> | |
|   </view> | |
| </template> | |
| 
 | |
| <script> | |
|   import thesisInfoView from './thesisInfoView.vue'; | |
| 
 | |
|   export default { | |
|     components: { | |
|       thesisInfoView, | |
|     }, | |
|     props: { | |
|       data: { | |
|         type: Object, | |
|         default() { | |
|           return {} | |
|         } | |
|       } | |
|     }, | |
|     methods: { | |
|       jumpToDetail(thesisId) { | |
|         this.$emit('jumpToDetail') | |
|       }, | |
|     }, | |
|   } | |
| </script> | |
| 
 | |
| <style scoped lang="scss"> | |
| 
 | |
|   .card { | |
|     position: relative; | |
|     background: linear-gradient(to right, rgba($color: #C8C3FD, $alpha: 0.22), #FFFFFF); | |
| 
 | |
|     .bg { | |
|       position: absolute; | |
|       bottom: 0; | |
|       left: 4rpx; | |
|       font-size: 0; | |
| 
 | |
|       .img { | |
|         width: 206rpx; | |
|         height: auto; | |
|       } | |
|     } | |
| 
 | |
|     .main { | |
|       // align-items: flex-start; | |
|       width: 100%; | |
|     } | |
| 
 | |
|     .left { | |
|       flex: 1; | |
|       position: relative; | |
|     } | |
| 
 | |
|     .right { | |
|       padding: 16rpx 18rpx 14rpx 0; | |
|       box-sizing: border-box; | |
| 
 | |
|       .img { | |
|         // $w: 225rpx; | |
|         // width: 225rpx; | |
|         // height: calc(#{$w} * 1184 / 750); | |
|         width: 184rpx; | |
|         height: 290rpx; | |
|       } | |
|     } | |
|   } | |
| </style> |