98 lines
2.0 KiB
Vue
98 lines
2.0 KiB
Vue
<template>
|
|
<view class="section-panel" v-if="facilityList && facilityList.length">
|
|
<view class="section-header">
|
|
<view class="title-bar"></view>
|
|
<text class="section-title">{{ $tr('配套设施') }}</text>
|
|
</view>
|
|
<view class="facility-grid tn-flex tn-flex-wrap">
|
|
<view class="facility-item tn-flex tn-flex-direction-column tn-flex-col-center" v-for="(item, index) in facilityList" :key="index">
|
|
<view class="icon-wrap tn-flex tn-flex-row-center tn-flex-col-center">
|
|
<text :class="item.icon" class="facility-icon"></text>
|
|
</view>
|
|
<text class="facility-name">{{ item.name }}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
props: {
|
|
facilityList: {
|
|
type: Array,
|
|
default: () => []
|
|
},
|
|
language: {
|
|
type: String,
|
|
default: 'zh'
|
|
}
|
|
},
|
|
methods: {}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
$navy-deep: #1E3A5F;
|
|
$gold: #C9A96E;
|
|
$gold-light: #D4BC8C;
|
|
$text-primary: #0F172A;
|
|
$text-secondary: #64748B;
|
|
|
|
.section-panel {
|
|
background: #FFFFFF;
|
|
border: 1rpx solid rgba($navy-deep, 0.08);
|
|
box-shadow: 0 8rpx 28rpx rgba(30, 58, 95, 0.06);
|
|
margin: 24rpx 32rpx 0;
|
|
padding: 32rpx;
|
|
border-radius: 28rpx;
|
|
}
|
|
|
|
.section-header {
|
|
margin-bottom: 28rpx;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.title-bar {
|
|
width: 6rpx;
|
|
height: 32rpx;
|
|
background: linear-gradient(180deg, $gold 0%, $gold-light 100%);
|
|
border-radius: 999rpx;
|
|
margin-right: 16rpx;
|
|
}
|
|
|
|
.section-title {
|
|
font-size: 32rpx;
|
|
font-weight: 800;
|
|
color: $navy-deep;
|
|
}
|
|
|
|
.facility-grid {
|
|
gap: 32rpx 0;
|
|
}
|
|
|
|
.facility-item {
|
|
width: 25%;
|
|
}
|
|
|
|
.icon-wrap {
|
|
width: 88rpx;
|
|
height: 88rpx;
|
|
background: linear-gradient(135deg, rgba($navy-deep, 0.08) 0%, rgba($navy-deep, 0.03) 100%);
|
|
border: 1rpx solid rgba($navy-deep, 0.08);
|
|
border-radius: 24rpx;
|
|
margin-bottom: 16rpx;
|
|
}
|
|
|
|
.facility-icon {
|
|
font-size: 44rpx;
|
|
color: $navy-deep;
|
|
}
|
|
|
|
.facility-name {
|
|
font-size: 24rpx;
|
|
color: $text-secondary;
|
|
font-weight: 500;
|
|
}
|
|
</style>
|