|
@@ -41,7 +41,8 @@
|
|
|
<span class="f-l-item subinfo-item card-time" :class="index === subInfo.length - 1 ? 'last' : ''"
|
|
|
v-for="(item, index) in subInfo" :key="index">{{ item }}</span>
|
|
|
<slot name="leftEnd">
|
|
|
- <div class="jydocs_vip" v-if="isVip">会员免费</div>
|
|
|
+ <span class="type-tag"
|
|
|
+ :class="productType === 2 ? 'boutique' : 'free'">{{ productType === 2 ? '付费精品' : '会员免费' }}</span>
|
|
|
</slot>
|
|
|
</div>
|
|
|
<div class="c-f-right flex-r-c">
|
|
@@ -76,6 +77,7 @@ export default class DocsCard extends Vue {
|
|
|
@Prop({ default: '' }) uploader?: string | undefined;
|
|
|
@Prop({ default: -1 }) price?: string | number;
|
|
|
@Prop({ default: false }) isVip?: boolean;
|
|
|
+ @Prop({ default: 1 }) productType?: number;
|
|
|
@Prop({
|
|
|
type: Array,
|
|
|
default () {
|
|
@@ -120,16 +122,20 @@ export default class DocsCard extends Vue {
|
|
|
box-sizing: border-box;
|
|
|
background-color: #fff;
|
|
|
|
|
|
- .jydocs_vip {
|
|
|
- background: linear-gradient(98deg, #FFA674 0%, #F01212 100%);
|
|
|
- width: 50px;
|
|
|
- height: 18px;
|
|
|
- border-radius: 4px;
|
|
|
- display: inline-flex;
|
|
|
- justify-content: center;
|
|
|
- align-items: center;
|
|
|
- color: #fff;
|
|
|
+ .type-tag {
|
|
|
+ padding: 4px 5px;
|
|
|
+ border-radius: 2px;
|
|
|
font-size: 10px;
|
|
|
+ white-space: nowrap;
|
|
|
+
|
|
|
+ &.free {
|
|
|
+ background: linear-gradient(98deg, #FFA674 0%, #F01212 100%);
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ &.boutique{
|
|
|
+ background: linear-gradient(270deg, #F1D090 0%, #FAE7CA 100%);
|
|
|
+ color: #C26F33;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
&.oneline {
|
|
@@ -184,7 +190,11 @@ export default class DocsCard extends Vue {
|
|
|
|
|
|
.subinfo-item {
|
|
|
position: relative;
|
|
|
- margin-right: 14px;
|
|
|
+ margin-right: 16px;
|
|
|
+
|
|
|
+ &.last {
|
|
|
+ margin-right: 8px;
|
|
|
+ }
|
|
|
|
|
|
&.noline:after,
|
|
|
&.last:after {
|