mrr.sj.front/pages/shop/manHour/manHourDetail.vue

263 lines
6.9 KiB
Vue

<template>
<view class="container">
<custom-navbar
title="工时详情"
:showBack="true"
backgroundColor="#FFFFFF"
></custom-navbar>
<view class="container-header">
<swiper
class="container-header__swiper"
circular
:indicator-dots="false"
:autoplay="false"
:interval="3000"
:duration="500"
indicator-active-color="#fff"
indicator-color="rgba(255, 255, 255, 0.6)"
>
<swiper-item
v-for="(item, index) in workHour.photo"
:key="index"
class="container-header__swiper__item"
>
<image
:src="item"
mode ="aspectFill"
class="container-header__swiper__item__img"
></image>
</swiper-item>
</swiper>
</view>
<view class="container-content">
<view class="container-content__card">
<view class="container-content__card__title">
<view class="container-content__card__title__text">{{
workHour.title
}}</view>
<view class="container-content__card__title__price"
>¥{{ workHour.price }}/10分钟</view
>
</view>
</view>
<view class="container-content__card2">
<view class="container-content__card2__syr">
<image
:src="userSyr.head_photo"
class="container-content__card2__syr__img"
></image>
<view class="container-content__card2__syr__text">
{{ userSyr.name }}
</view>
</view>
</view>
<view class="container-content__card2">
<view class="container-content__card2__Serve">
<view class="container-content__card2__Serve__title">
服务范围详情</view
>
<view class="container-content__card2__Serve__card">
<view class="container-content__card2__Serve__card__content">
{{ workHour.first_class_title }}:
{{ workHour.second_class_title }}
</view>
<view class="container-content__card2__Serve__card__remark">
备注:可以支持您做以上类目的服务。
</view>
</view>
</view>
</view>
<view class="container-content__card2">
<view class="container-content__card2__Serve">
<view class="container-content__card2__Serve__title"> 工时描述</view>
<view class="container-content__card2__Serve__card">
<view class="container-content__card2__Serve__card__content">
{{ workHour.detail }}
</view>
</view>
</view>
</view>
</view>
<view class="container-footer">
<view class="container-footer__btn" @tap="goOrder"> 立即预约 </view>
</view>
<view style="height: 166rpx"></view>
</view>
</template>
<script>
import request from "@/utils/request";
export default {
name: "buyManHour",
data() {
return {
id: "",
manHourInfo: {},
workHour:{},
userSyr:{}
};
},
async onLoad(options) {
this.id = options.id;
console.log("工时详情ID", this.id);
// 获取工时详情
await this.getDetails();
},
methods: {
async getDetails() {
await request
.post("/sj/workHour/details", { id: this.id })
.then((res) => {
console.log("获取工时分类列表", res);
if (res.code == 200) {
this.manHourInfo = res.data;
this.manHourInfo.work_hour.photo = JSON.parse(
this.manHourInfo.work_hour.photo
);
this.manHourInfo.work_hour.second_class_title =
this.manHourInfo.work_hour.second_class_title.join(",");
this.workHour = this.manHourInfo.work_hour
this.userSyr = this.manHourInfo.user_syr
}
});
},
goOrder() {
uni.navigateTo({
url: `/pages/shop/manHour/manHourOrder?manHourInfo=${encodeURIComponent(JSON.stringify(this.manHourInfo))}`,
});
},
},
};
</script>
<style scoped lang="less">
.container {
.container-header {
&__swiper {
height: 732rpx;
.container-header__swiper__item {
height: 100%;
.container-header__swiper__item__img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
}
}
.container-content {
&__card {
margin: 20rpx 30rpx;
padding: 30rpx;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(210,213,224,0.5);
&__title {
&__text {
font-weight: 500;
font-size: 36rpx;
color: #333333;
line-height: 50rpx;
text-align: left;
font-style: normal;
margin-bottom: 20rpx;
}
&__price {
font-weight: 500;
font-size: 36rpx;
color: #FF4767;
line-height: 50rpx;
text-align: left;
font-style: normal;
}
}
}
&__card2 {
margin: 20rpx 30rpx;
padding: 20rpx 30rpx 30rpx 30rpx;
background: #fff;
border-radius: 10rpx;
box-shadow: 0rpx 4rpx 16rpx 0rpx rgba(210,213,224,0.5);
&__syr {
display: flex;
align-items: center;
&__img {
width: 94rpx;
height: 94rpx;
border-radius: 50%;
margin-right: 14rpx;
}
&__text {
font-weight: 500;
font-size: 32rpx;
color: #333333;
line-height: 45rpx;
text-align: left;
font-style: normal;
}
}
&__Serve {
&__title {
font-weight: 500;
font-size: 28rpx;
color: #333333;
line-height: 40rpx;
text-align: left;
font-style: normal;
margin-bottom: 20rpx;
}
&__card {
padding: 20rpx;
border: 1px solid #e5e5e5;
border-radius: 10rpx;
&__content {
font-weight: 400;
font-size: 26rpx;
color: #333333;
line-height: 37rpx;
text-align: left;
font-style: normal;
}
&__remark {
font-weight: 400;
font-size: 24rpx;
color: #999999;
line-height: 33rpx;
text-align: left;
font-style: normal;
margin-top: 30rpx;
}
}
}
}
}
.container-footer {
height: 166rpx;
position: fixed;
bottom: 0;
left: 0;
right: 0;
background-color: #fff;
&__btn {
display: flex;
align-items: center;
justify-content: center;
width: 696rpx;
height: 78rpx;
border-radius: 798rpx;
border: 2rpx solid #FF4767;
font-weight: 400;
font-size: 30rpx;
color: #FF4767;
line-height: 39rpx;
text-align: right;
font-style: normal;
margin-left: 30rpx;
margin-top: 40rpx;
}
}
}
</style>