|                                                                                       |  | <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>
 |