| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- <template>
- <div class="list-module">
- <block v-if="!$util.isEmpty(info)">
- <div class="list-left">
- <div class="image">
- <image :src="imgUrl | default_img" mode="aspectFit" style="width:140upx; height:140upx;"></image>
- </div>
- <div class="list-msg">
- <div class="title">{{ info.goodsName || info.title }}</div>
- <block v-if="(info.goodsStyle && info.goodsStyle != '0') || (info.goodsStyleName && info.goodsStyleName != '0')">
- <div class="desc">{{ info.goodsStyle || info.goodsStyleName }}</div>
- </block>
- </div>
- </div>
- <div class="list-right">
- <div class="price">¥{{ info.price || info.unitPrice }}</div>
- <div class="num">*{{ info.buyNum || info.num }}</div>
- </div>
- </block>
- </div>
- </template>
- <script>
- export default {
- name: 'list-module',
- props: {
- info: {
- type: Object,
- default: () => {}
- }
- },
- data() {
- return {}
- },
- computed: {
- imgUrl() {
- if (this.$util.isEmpty(this.info)) return ''
- return this.info.smallCoverUrl ? this.info.smallCoverUrl : this.info.smallImgList[0]
- }
- },
- mounted() {
- },
- methods: {}
- }
- </script>
- <style lang="scss" scoped>
- .list-module {
- @include disFlex(center, space-between);
- padding: 20upx 0;
- border-bottom: 1upx solid $borderColor;
- .list-left {
- @include disFlex(flex-start, space-between);
- .image {
- width: 140upx;
- }
- .list-msg {
- margin-left: 20upx;
- .title {
- font-size: 28upx;
- color: $fontColor2;
- margin-bottom: 10upx;
- }
- .desc {
- color: $fontColor3;
- }
- }
- }
- .list-right {
- text-align: right;
- color: $fontColor2;
- .price {
- margin-bottom: 70upx;
- color: #333;
- }
- }
- }
- </style>
|