|
|
@@ -2,42 +2,34 @@
|
|
|
<view class="station_item"
|
|
|
@click="handleNavStation(item)">
|
|
|
<view class="station_item-title">
|
|
|
- <text class="font16 ">{{ item.stationName }}</text>
|
|
|
+ <text>{{ item.stationName }}</text>
|
|
|
</view>
|
|
|
|
|
|
<view class="station_item-status">
|
|
|
-<!-- <text class="station_item-status-text">{{ item.stationStatus == 'Normal' ? '营业中' : '暂停营业' }}</text>-->
|
|
|
<text class="station_item-status-text">{{ fmtDictName('WashStation.status', item.stationStatus) }}</text>
|
|
|
</view>
|
|
|
|
|
|
<view class="station_item-content">
|
|
|
<view class="station_item-content-left">
|
|
|
<view class="station_item-content-left-label">
|
|
|
- <view class="font12 station_item-content-left-label-left">
|
|
|
- <text class="station_item-content-left-label-left_idle">{{item.businessHours}} | 空闲:{{ item.idleParkingNum }}</text>
|
|
|
-<!-- <text class="station_item-content-left-label-left_count">{{ item.idleParkingNum }}/{{ item.parkingNum }}</text>-->
|
|
|
+ <view class="station_item-content-left-label-left">
|
|
|
+ <text class="station_item-content-left-label-left_idle">空闲: {{ item.idleParkingNum }}</text>
|
|
|
+ <text class="station_item-content-left-label-left_count">{{ item.idleParkingNum }}/{{ item.parkingNum }}</text>
|
|
|
</view>
|
|
|
- <!-- <uv-tags size="small" class="station_item-content-left-label_tag" text="洗车机" plain shape="circle"></uv-tags>-->
|
|
|
- <!-- <view class="station_item-content-left-label_func">{{ ['清洁', '泡沫', '吸尘', '消毒', '充电']?.join(" | ") }}</view>-->
|
|
|
</view>
|
|
|
<view class="station_item-content-left-position">
|
|
|
- <uv-icon name="empty-address" size="18" color="#000"></uv-icon>
|
|
|
+ <uv-icon name="empty-address" size="18" color="#999999"></uv-icon>
|
|
|
<text>{{ item.address }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="station_item-content-right">
|
|
|
- <!-- <image
|
|
|
- style="width: 20px; height: 20px;color: #eeeeee;"
|
|
|
- src="/static/nav.png"
|
|
|
- />-->
|
|
|
-<!-- <uv-icon name="map" color="#C6171E"></uv-icon>-->
|
|
|
- <text class="font12" @click.stop="handleNavMap(item)">{{ item.distance }}km</text>
|
|
|
- <!-- <uv-tags text="1222km" type="warning" plain size="mini"></uv-tags>-->
|
|
|
+ <text @click.stop="handleNavMap(item)">{{ item.distance }}km</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
<view class="station_item-distance">
|
|
|
- <uv-text color="#C6171E" :text="item.parkingFee" size="11"></uv-text>
|
|
|
+ <text>营业时间: {{ item.businessHours }}</text>
|
|
|
+ <uv-text class="parking-fee" color="#C6171E" :text="item.parkingFee" size="13"></uv-text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</template>
|
|
|
@@ -95,106 +87,153 @@ defineExpose({
|
|
|
.station_item {
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
- border-radius: 10rpx;
|
|
|
+ border-radius: 16rpx;
|
|
|
margin-top: 20rpx;
|
|
|
- padding: 15rpx;
|
|
|
- background: #fafafa;
|
|
|
+ padding: 24rpx;
|
|
|
+ background: $uni-bg-color-card;
|
|
|
position: relative;
|
|
|
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08);
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ cursor: pointer;
|
|
|
+
|
|
|
+ // 卡片悬停效果
|
|
|
+ &:hover {
|
|
|
+ box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.12);
|
|
|
+ transform: translateY(-2rpx);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 卡片点击效果
|
|
|
+ &:active {
|
|
|
+ transform: scale(0.98);
|
|
|
+ box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.15);
|
|
|
+ }
|
|
|
|
|
|
&-title {
|
|
|
- display: inline-flex;
|
|
|
- padding-left: 5px;
|
|
|
- font-weight: 600;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ font-weight: $uni-font-weight-semibold;
|
|
|
+ font-size: $uni-font-size-xl;
|
|
|
+ color: $uni-text-color;
|
|
|
+ margin-bottom: 12rpx;
|
|
|
}
|
|
|
|
|
|
&-status {
|
|
|
position: absolute;
|
|
|
- right: 6rpx;
|
|
|
- top: 0;
|
|
|
+ right: 24rpx;
|
|
|
+ top: 24rpx;
|
|
|
|
|
|
&-text {
|
|
|
background: $uni-color-primary;
|
|
|
- padding: 6rpx;
|
|
|
+ padding: 6rpx 16rpx;
|
|
|
color: white;
|
|
|
- font-size: 12px;
|
|
|
- border-radius: 20rpx 6rpx;
|
|
|
+ font-size: $uni-font-size-xs;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ box-shadow: 0 2rpx 8rpx rgba(198, 23, 30, 0.2);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
&-content {
|
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
width: 100%;
|
|
|
+ margin-bottom: 16rpx;
|
|
|
|
|
|
&-left {
|
|
|
flex: 1;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
- padding: 5rpx;
|
|
|
|
|
|
&-label {
|
|
|
- padding: 4rpx 8rpx;
|
|
|
- display: inline-flex;
|
|
|
- margin-top: 8rpx;
|
|
|
- //justify-content: space-between;
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ gap: 12rpx;
|
|
|
+ margin-bottom: 12rpx;
|
|
|
|
|
|
&-left {
|
|
|
- //border: 1px solid $uni-color-primary;
|
|
|
- border-radius: 4rpx;
|
|
|
+ display: flex;
|
|
|
+ gap: 12rpx;
|
|
|
|
|
|
&_idle {
|
|
|
background: $uni-color-primary;
|
|
|
- padding: 6rpx;
|
|
|
+ padding: 8rpx 16rpx;
|
|
|
color: white;
|
|
|
- border-radius: 4rpx;
|
|
|
+ font-size: $uni-font-size-xs;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ font-weight: $uni-font-weight-medium;
|
|
|
}
|
|
|
|
|
|
&_count {
|
|
|
- //border-radius: 4rpx;
|
|
|
- margin-left: 10px;
|
|
|
+ background: $uni-color-highlight;
|
|
|
+ padding: 8rpx 16rpx;
|
|
|
color: $uni-color-primary;
|
|
|
- font-size: 13px;
|
|
|
+ font-size: $uni-font-size-xs;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ border: 1px solid $uni-color-primary;
|
|
|
}
|
|
|
-
|
|
|
- &_tag {
|
|
|
- width: 30rpx;
|
|
|
- }
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- &_func {
|
|
|
- padding-left: 50rpx;
|
|
|
- font-size: 24rpx;
|
|
|
- color: #aaa;
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
&-position {
|
|
|
- display: inline-flex;
|
|
|
- font-size: 24rpx;
|
|
|
- margin-top: 8rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 8rpx;
|
|
|
+ font-size: $uni-font-size-sm;
|
|
|
+ color: $uni-text-color-secondary;
|
|
|
+ line-height: $uni-line-height-sm;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
&-right {
|
|
|
- border-radius: 10rpx;
|
|
|
- background-color: #eee;
|
|
|
- //border: 1px solid $uni-color-primary;
|
|
|
- width: 120rpx;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
- justify-content: center;
|
|
|
- align-content: center;
|
|
|
align-items: center;
|
|
|
+ gap: 8rpx;
|
|
|
+ padding: 16rpx;
|
|
|
+ background: $uni-bg-color-hover;
|
|
|
+ border-radius: 12rpx;
|
|
|
+ min-width: 100rpx;
|
|
|
+ transition: all 0.2s ease;
|
|
|
+
|
|
|
+ text {
|
|
|
+ font-size: $uni-font-size-base;
|
|
|
+ color: $uni-color-primary;
|
|
|
+ font-weight: $uni-font-weight-semibold;
|
|
|
+ cursor: pointer;
|
|
|
+ transition: all 0.2s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ color: $uni-color-primary-dark;
|
|
|
+ }
|
|
|
|
|
|
+ &:active {
|
|
|
+ transform: scale(0.94);
|
|
|
+ opacity: 0.9;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &:active {
|
|
|
+ transform: scale(0.96);
|
|
|
+ background: $uni-border-color-light;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
&-distance {
|
|
|
- font-size: 24rpx;
|
|
|
- padding-left: 5px;
|
|
|
- margin-top: 8rpx;
|
|
|
+ font-size: $uni-font-size-sm;
|
|
|
+ color: $uni-text-color-tertiary;
|
|
|
+ padding-top: 12rpx;
|
|
|
+ border-top: 1px solid $uni-border-color-light;
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .parking-fee {
|
|
|
+ font-weight: $uni-font-weight-medium;
|
|
|
+ color: $uni-color-primary;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|