You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

176 lines
3.9 KiB

1 year ago
<template>
<view class="page">
<view class="top">
1 year ago
<view class="position" @click="$u.route({ url: '/pages/CitySelect/CitySelect' })">
1 year ago
<u-icon name="map-fill"></u-icon>
1 year ago
<text>{{ vuex_location.city.replace(/(市|区|县)/,'') }}</text>
1 year ago
<u-icon name="arrow-down" size="22"></u-icon>
</view>
</view>
<view class="container">
<image class="bkg" src="~@/package_sub/static/ServiceList/bkg.png" mode="aspectFill"></image>
<view class="list">
<view class="list-item" v-for="(i) in 20" :key="i">
<view class="left">
<view class="list-item__icon">
<u-icon name="integral" size="60"></u-icon>
</view>
</view>
<view class="center">
<view class="list-item__title">
尊享VIP陪诊
</view>
<view class="list-item__sub-title">尊享VIP体验车接车送</view>
<view class="list-item__price">
<text class="list-item__price--unit">¥</text>
<text class="list-item__price--number">600</text>
<text class="list-item__price--text">/</text>
</view>
</view>
<view class="right">
1 year ago
<u-button shape="circle" ripple :custom-style="orderBtnStyle" @click="toOrder(i)"></u-button>
1 year ago
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
orderBtnStyle: {
'background-image': 'linear-gradient(-90deg, #e26165 0%, #c10d12 94%, #c10d12 100%)',
'font-weight': '500',
'font-size': '27rpx',
'color': '#fff',
'width': '130rpx',
'height': '60rpx',
'line-height': '60rpx'
},
};
1 year ago
},
mounted() {
1 year ago
if (this.$store.state.vuex_location !== 2) {
this.$store.dispatch('getLocation')
}
1 year ago
},
methods: {
toOrder(item) {
this.$u.route({
url: '/package_sub/pages/AddOrder/AddOrder'
})
}
1 year ago
}
}
</script>
<style lang="scss">
.page {
position: relative;
}
.top {
width: 100vw;
background: #fff;
padding: 26rpx 28rpx;
z-index: 4;
position: sticky;
top: 0;
.position {
color: #000;
font-size: 30rpx;
letter-spacing: 3rpx;
font-weight: 500;
& > text {
padding: 0 13rpx;
}
}
}
.container {
padding-bottom: 20rpx;
padding-bottom: calc(constant(safe-area-inset-bottom) + 20rpx);
padding-bottom: calc(env(safe-area-inset-bottom) + 20rpx);
position: relative;
z-index: 1;
.bkg {
height: 316rpx;
width: 100vw;
position: absolute;
}
.list {
padding: 252rpx 25rpx 20rpx;
position: relative;
z-index: 3;
&-item {
border-radius: 10rpx;
filter: drop-shadow(2.192rpx 4.494rpx 5rpx rgba(33,32,32,0.15));
background-color: #ffffff;
display: flex;
align-items: center;
padding: 34rpx 45rpx 34rpx 26rpx;
&__icon {
background-color: #f9f5e9;
height: 128rpx;
width: 152rpx;
display: flex;
align-items: center;
justify-content: center;
}
.center {
flex: 1;
margin-left: 18rpx;
}
.right {
margin-left: 12rpx;
}
&__title {
max-width: 300rpx;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
font-size: 28rpx;
color: #000;
font-weight: bold;
}
&__sub-title {
padding-top: 20rpx;
font-size: 22rpx;
color: #929196;
font-weight: 500;
max-width: 304rpx;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
&__price {
padding-top: 16rpx;
color: #c20d12;
font-size: 22rpx;
&--unit {
}
&--number {
font-size: 36rpx;
font-weight: 500;
}
}
}
.list-item + .list-item {
margin-top: 28rpx;
}
}
}
</style>