|
@@ -1,11 +1,25 @@
|
|
<template>
|
|
<template>
|
|
<div class="mta-card-lv1">
|
|
<div class="mta-card-lv1">
|
|
- <div class="mta-card-content-pc mta-hidden-xs">
|
|
|
|
|
|
+ <div class="mta-card-content-pc mta-hidden-xs" :class="[img.order>contentOrder ? 'img-left': 'img-right']">
|
|
|
|
+ <img :style="`order:${img.order}`" :src="img.url">
|
|
|
|
+ <div class="card-info" :style="`order: ${contentOrder}`">
|
|
|
|
+ <h5>{{title}}</h5>
|
|
|
|
+ <p class="card-des">{{description}}</p>
|
|
|
|
+ <div class="mta-card-row" v-for="(rowList,index) in tagesPc" :key="`pc-${index}`">
|
|
|
|
+ <template v-for="(des,ind) in rowList">
|
|
|
|
+ <!-- 站位div -->
|
|
|
|
+ <span v-if="des.empty" :key="ind"></span>
|
|
|
|
+ <span v-else class="mta-card-row-item" :key="ind"><i></i><span>{{des.value}}</span></span>
|
|
|
|
+ </template>
|
|
|
|
+ </div>
|
|
|
|
+ </div>s
|
|
|
|
+ </div>
|
|
|
|
+ <div class="mta-card-content-h5 mta-hidden-sm">
|
|
<img :src="img">
|
|
<img :src="img">
|
|
<div class="card-info">
|
|
<div class="card-info">
|
|
<h5>{{title}}</h5>
|
|
<h5>{{title}}</h5>
|
|
<p>{{description}}</p>
|
|
<p>{{description}}</p>
|
|
- <div class="mta-card-row" v-for="(rowList,index) in tages" :key="`pc-${index}`">
|
|
|
|
|
|
+ <div class="mta-card-row" v-for="(rowList,index) in tagesH5" :key="`pc-${index}`">
|
|
<template v-for="(des,ind) in rowList">
|
|
<template v-for="(des,ind) in rowList">
|
|
<!-- 站位div -->
|
|
<!-- 站位div -->
|
|
<span v-if="des.empty" :key="ind"></span>
|
|
<span v-if="des.empty" :key="ind"></span>
|
|
@@ -14,10 +28,6 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="mta-card-content-h5 mta-hidden-sm">
|
|
|
|
- <img src="#">
|
|
|
|
- <div class="card-info"></div>
|
|
|
|
- </div>
|
|
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -25,29 +35,35 @@
|
|
export default {
|
|
export default {
|
|
name: "imgCardLv1",
|
|
name: "imgCardLv1",
|
|
props: {
|
|
props: {
|
|
- img: {
|
|
|
|
- type: String,
|
|
|
|
- required: true,
|
|
|
|
- },
|
|
|
|
option: {
|
|
option: {
|
|
type: Object,
|
|
type: Object,
|
|
required: true,
|
|
required: true,
|
|
},
|
|
},
|
|
- col: {
|
|
|
|
|
|
+ colPc: {
|
|
|
|
+ type: Number,
|
|
|
|
+ default: 3
|
|
|
|
+ },
|
|
|
|
+ colH5: {
|
|
type: Number,
|
|
type: Number,
|
|
default: 3
|
|
default: 3
|
|
}
|
|
}
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
|
|
+ img() {
|
|
|
|
+ return {url: this.option.img.url, order: this.option.img.order}
|
|
|
|
+ },
|
|
title() {
|
|
title() {
|
|
- return this.option.title;
|
|
|
|
|
|
+ return this.option.content.title;
|
|
},
|
|
},
|
|
description() {
|
|
description() {
|
|
- return this.option.des;
|
|
|
|
|
|
+ return this.option.content.des;
|
|
|
|
+ },
|
|
|
|
+ contentOrder() {
|
|
|
|
+ return this.option.content.order;
|
|
},
|
|
},
|
|
- tages() {
|
|
|
|
- const count = this.col;
|
|
|
|
- const list = this.option.list;
|
|
|
|
|
|
+ tagesPc() {
|
|
|
|
+ const count = this.colPc;
|
|
|
|
+ const list = this.option.content.list;
|
|
const row = Math.ceil(list.length / count);
|
|
const row = Math.ceil(list.length / count);
|
|
const result = [];
|
|
const result = [];
|
|
for (let i = 1; i <= row; i++) {
|
|
for (let i = 1; i <= row; i++) {
|
|
@@ -59,11 +75,76 @@ export default {
|
|
}
|
|
}
|
|
result.push(curList)
|
|
result.push(curList)
|
|
}
|
|
}
|
|
|
|
+ return result;
|
|
|
|
+ },
|
|
|
|
+ tagesH5() {
|
|
|
|
+ const count = this.colH5;
|
|
|
|
+ const list = this.option.content.list;
|
|
|
|
+ const row = Math.ceil(list.length / count);
|
|
|
|
+ const result = [];
|
|
|
|
+ for (let i = 1; i <= row; i++) {
|
|
|
|
+ const start = (i - 1) * count;
|
|
|
|
+ const end = (i * count)
|
|
|
|
+ const curList = list.slice(start, end);
|
|
|
|
+ if (curList.length < count) {
|
|
|
|
+ curList.push({type: 'empty'});
|
|
|
|
+ }
|
|
|
|
+ result.push(curList)
|
|
|
|
+ }
|
|
|
|
+ return result;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
|
|
|
|
-<style scoped>
|
|
|
|
|
|
+<style lang="scss" scoped>
|
|
|
|
+.mta-card-lv1 {
|
|
|
|
+ .mta-card-content-pc {
|
|
|
|
+ display: flex;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .img-left {
|
|
|
|
+ img {
|
|
|
|
+ margin-left: 100px;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .img-right {
|
|
|
|
+ img {
|
|
|
|
+ margin-right: 100px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ .card-info {
|
|
|
|
+ h5 {
|
|
|
|
+ font-size: 24px;
|
|
|
|
+ font-weight: 800;
|
|
|
|
+ text-align: left;
|
|
|
|
+ color: #333;
|
|
|
|
+ margin-top: 40px;
|
|
|
|
+ margin-bottom: 30px;
|
|
|
|
+ }
|
|
|
|
+ .card-des {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: #333;
|
|
|
|
+ font-weight: 500;
|
|
|
|
+ text-align: left;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .mta-card-row-item {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ font-weight: 500;
|
|
|
|
+ color: #333;
|
|
|
|
+
|
|
|
|
+ i {
|
|
|
|
+ display: inline-block;
|
|
|
|
+ width:13px;
|
|
|
|
+ height: 13px;
|
|
|
|
+ background: #00b96b;
|
|
|
|
+ margin-right: 13px;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
</style>
|
|
</style>
|