|
@@ -49,14 +49,14 @@
|
|
|
<text class="meta-text">{{ act._timeText }}</text>
|
|
<text class="meta-text">{{ act._timeText }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="card-badges" v-if="act._badges && act._badges.length">
|
|
<view class="card-badges" v-if="act._badges && act._badges.length">
|
|
|
- <text
|
|
|
|
|
|
|
+ <view
|
|
|
class="card-badge"
|
|
class="card-badge"
|
|
|
v-for="badge in act._badges"
|
|
v-for="badge in act._badges"
|
|
|
:key="badge.name"
|
|
:key="badge.name"
|
|
|
- :style="{ color: badge.color, borderColor: badge.color + '40' }"
|
|
|
|
|
|
|
+ :style="{ borderColor: badge.color }"
|
|
|
>
|
|
>
|
|
|
- {{ badge.name }}
|
|
|
|
|
- </text>
|
|
|
|
|
|
|
+ <text class="badge-icon">{{ badge.icon }}</text>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="card-bottom">
|
|
<view class="card-bottom">
|
|
@@ -141,7 +141,7 @@ export default {
|
|
|
var result = []
|
|
var result = []
|
|
|
for (var key in obj) {
|
|
for (var key in obj) {
|
|
|
if (obj[key] > 0 && DIMENSION_MAP[key]) {
|
|
if (obj[key] > 0 && DIMENSION_MAP[key]) {
|
|
|
- result.push({ name: DIMENSION_MAP[key].name, color: DIMENSION_MAP[key].color, weight: obj[key] })
|
|
|
|
|
|
|
+ result.push({ name: DIMENSION_MAP[key].name, color: DIMENSION_MAP[key].color, icon: DIMENSION_MAP[key].icon, weight: obj[key] })
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return result
|
|
return result
|
|
@@ -266,7 +266,7 @@ export default {
|
|
|
|
|
|
|
|
.activity-swiper {
|
|
.activity-swiper {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
|
- height: 160rpx;
|
|
|
|
|
|
|
+ height: 210rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.activity-swiper .swiper-slide {
|
|
.activity-swiper .swiper-slide {
|
|
@@ -311,21 +311,23 @@ export default {
|
|
|
opacity: 0.8;
|
|
opacity: 0.8;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-/* 封面图 — 占满卡片高度 */
|
|
|
|
|
|
|
+/* 封面图 — 占总宽度1/3,占满卡片高度 */
|
|
|
.card-cover-img {
|
|
.card-cover-img {
|
|
|
- width: 200rpx;
|
|
|
|
|
|
|
+ width: 33.33%;
|
|
|
height: 100%;
|
|
height: 100%;
|
|
|
flex-shrink: 0;
|
|
flex-shrink: 0;
|
|
|
background: #F1F5F9;
|
|
background: #F1F5F9;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-/* 右侧信息区 */
|
|
|
|
|
|
|
+/* 右侧信息区 — 文字右对齐 */
|
|
|
.card-info {
|
|
.card-info {
|
|
|
flex: 1;
|
|
flex: 1;
|
|
|
padding: 16rpx;
|
|
padding: 16rpx;
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
|
|
|
+ align-items: flex-end;
|
|
|
|
|
+ text-align: right;
|
|
|
min-width: 0;
|
|
min-width: 0;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -347,6 +349,7 @@ export default {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
|
+ justify-content: flex-end;
|
|
|
margin-bottom: 8rpx;
|
|
margin-bottom: 8rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -375,11 +378,19 @@ export default {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.card-badge {
|
|
.card-badge {
|
|
|
|
|
+ width: 36rpx;
|
|
|
|
|
+ height: 36rpx;
|
|
|
|
|
+ border-radius: 50%;
|
|
|
|
|
+ border: 2rpx solid;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+ justify-content: center;
|
|
|
|
|
+ background: transparent;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.badge-icon {
|
|
|
font-size: 20rpx;
|
|
font-size: 20rpx;
|
|
|
- padding: 4rpx 12rpx;
|
|
|
|
|
- border-radius: 20rpx;
|
|
|
|
|
- border: 1rpx solid;
|
|
|
|
|
- font-weight: 500;
|
|
|
|
|
|
|
+ line-height: 1;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* 底部:状态 + 价格 */
|
|
/* 底部:状态 + 价格 */
|
|
@@ -387,6 +398,7 @@ export default {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
flex-direction: row;
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
|
+ justify-content: flex-end;
|
|
|
gap: 12rpx;
|
|
gap: 12rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|