| @ -0,0 +1,563 @@ | |||||
| <template> | |||||
| <view> | |||||
| <navbar | |||||
| title="订单详情" | |||||
| leftClick | |||||
| @leftClick="$utils.navigateBack" | |||||
| /> | |||||
| <!-- 水洗店 --> | |||||
| <view class="" | |||||
| v-if="userShop"> | |||||
| </view> | |||||
| <!-- 酒店和水洗店 --> | |||||
| <view class="info"> | |||||
| <view class="flex" | |||||
| style="display: flex;"> | |||||
| <view style="width: 8rpx;height: 30rpx; | |||||
| background: #FD5100;border-radius: 6rpx;" /> | |||||
| <view class="head-title">服务项目</view> | |||||
| </view> | |||||
| <view class="flex"> | |||||
| <view class="server-item"> | |||||
| <view class="img-box"> | |||||
| <image :src="msgShop.image" mode="aspectFill"></image> | |||||
| </view> | |||||
| <view class="server-info"> | |||||
| <view class="server-title"> | |||||
| {{msgOrder.projectName}} | |||||
| <!-- <view class="coupon">领券立减</view> --> | |||||
| </view> | |||||
| <view class="current-price"> | |||||
| <text class="unit">¥</text>{{msgOrder.money}} | |||||
| </view> | |||||
| <view class="sales-volume" style="margin-top: 5px;"> | |||||
| <view class="desc">规格:{{msgOrder.unit}}</view> | |||||
| </view> | |||||
| <view class="time-coupon"> | |||||
| <!-- <view class="flex"> | |||||
| <image src="@/static/home/time-icon.png"></image> | |||||
| <view class="time">{{msgOrder.useTime}}分钟</view> | |||||
| </view> --> | |||||
| <!-- <view class="sales-volume"> | |||||
| <image src="@/static/icons/icon1.png"></image> | |||||
| <view class="desc">已售出{{msgShop.payNum}}+单</view> | |||||
| </view> --> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <!-- <view class="line min_tips"> | |||||
| <view class="head-div flex"> | |||||
| <view style="width: 118rpx;height: 118rpx;border-radius: 50%;overflow: hidden;"> | |||||
| <image style="width: 118rpx;" :src="msgTechnician.image" mode="widthFix"></image> | |||||
| </view> | |||||
| <view style="padding: 10rpx 34rpx;display: flex;flex-direction: column;justify-content: space-around;"> | |||||
| <view class="nickname"> | |||||
| {{msgTechnician.title}} | |||||
| <view v-if="msgTechnician.isVip" class="tag"> | |||||
| <image src="@/static/order/s.png" mode="aspectFit"></image> | |||||
| <view class="auth">官方认证</view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="days"> | |||||
| <van-rate v-model="msgTechnician.score" :size="10" readonly color="#ffb54c" void-icon="star" | |||||
| void-color="#eee" /> | |||||
| <view class=""> | |||||
| 好评{{msgTechnician.pinNum}} | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <view @click="gototechnicianDetail(msgTechnician)" class="btn-x"> | |||||
| 服务技师 | |||||
| </view> | |||||
| </view> --> | |||||
| <view class="line address"> | |||||
| <view class="address-top"> | |||||
| <!-- <view class=""> | |||||
| 服务地址 | |||||
| </view> --> | |||||
| <view class="copy"> | |||||
| <image @click="copy(msgOrder.name + ' ' + msgOrder.phone + ' ' + msgOrder.address)" src="/static/order/copy.png"></image> | |||||
| </view> | |||||
| </view> | |||||
| <view class="addressDetail"> | |||||
| <view class="">{{msgOrder.name}} {{msgOrder.phone}}</view> | |||||
| <view class="">{{msgOrder.address}}</view> | |||||
| </view> | |||||
| </view> | |||||
| <view class="line"> | |||||
| <view class="t min_tips"> | |||||
| <view class=""> | |||||
| 实付款 | |||||
| </view> | |||||
| <view class="current-price"> | |||||
| ¥{{ msgOrder.money }} | |||||
| </view> | |||||
| </view> | |||||
| <view class="min_tips"> | |||||
| <view class=""> | |||||
| 租赁费用 | |||||
| </view> | |||||
| <view class=""> | |||||
| ¥{{ msgOrder.price }} | |||||
| </view> | |||||
| </view> | |||||
| <view class="min_tips"> | |||||
| <view class=""> | |||||
| 水洗费用 | |||||
| </view> | |||||
| <view class=""> | |||||
| ¥{{ msgOrder.price}} | |||||
| </view> | |||||
| </view> | |||||
| <view class="min_tips"> | |||||
| <view class=""> | |||||
| 押金 | |||||
| </view> | |||||
| <view class=""> | |||||
| ¥{{ msgOrder.price }} | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <!-- 订单信息 --> | |||||
| <view class="line"> | |||||
| <view class="t min_tips"> | |||||
| <view class=""> | |||||
| 订单信息 | |||||
| </view> | |||||
| </view> | |||||
| <view class="min_tips"> | |||||
| <view class=""> | |||||
| 订单编号 | |||||
| </view> | |||||
| <view class=""> | |||||
| {{msgOrder.id}} | |||||
| </view> | |||||
| </view> | |||||
| <view class="min_tips"> | |||||
| <view class=""> | |||||
| 下单时间 | |||||
| </view> | |||||
| <view class=""> | |||||
| {{msgOrder.createTime}} | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| <!-- 下单须知 --> | |||||
| <view class="line"> | |||||
| <view class="t min_tips"> | |||||
| <view class=""> | |||||
| 下单须知 | |||||
| </view> | |||||
| </view> | |||||
| <view class="min_tips" style="line-height: 40rpx;"> | |||||
| {{msgShop.projectExplain}} | |||||
| </view> | |||||
| <view class="btns"> | |||||
| <view @click="clickService" class="btn"> | |||||
| 联系客服 | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </view> | |||||
| </template> | |||||
| <script> | |||||
| import { mapGetters } from 'vuex' | |||||
| export default { | |||||
| computed : { | |||||
| ...mapGetters(['userShop']), | |||||
| }, | |||||
| data() { | |||||
| return { | |||||
| msgShop : { | |||||
| money : 99.99, | |||||
| image : 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg', | |||||
| projectExplain : '1.xxxxxxxxxx xxxxxxxxxx。2.xxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxx xxxxxxxxxxxxxxxx。3.。', | |||||
| }, | |||||
| msgOrder : { | |||||
| money : 99.99, | |||||
| address : '广东省广州市越秀区城南故事C3栋2802', | |||||
| name : '李**', | |||||
| phone : '150*****091', | |||||
| unit : '120*40*75【桌子尺寸】', | |||||
| state_dictText : '已完成', | |||||
| price : 199.99, | |||||
| id : '020644568964457', | |||||
| createTime : '2024-01-18 15:39', | |||||
| projectName : '桌布租赁' | |||||
| }, | |||||
| } | |||||
| }, | |||||
| methods: { | |||||
| } | |||||
| } | |||||
| </script> | |||||
| <style scoped lang="scss"> | |||||
| .order { | |||||
| background: linear-gradient(#4899a6, #6fc6ad, #6fc6ad); | |||||
| padding-bottom: 10px; | |||||
| } | |||||
| .box { | |||||
| padding: 20px; | |||||
| .active-icon { | |||||
| width: 12px; | |||||
| height: 12px; | |||||
| background-color: #fff; | |||||
| border-radius: 6px; | |||||
| transform: translate(-25%, 0); | |||||
| } | |||||
| .inactive-icon { | |||||
| width: 8px; | |||||
| height: 8px; | |||||
| background-color: #fff; | |||||
| border-radius: 4px; | |||||
| } | |||||
| .stepText { | |||||
| font-size: 20rpx !important; | |||||
| } | |||||
| .stepText.color { | |||||
| color: #eee; | |||||
| } | |||||
| .inactive-icon.tip { | |||||
| width: 6px; | |||||
| height: 6px; | |||||
| background-color: #fff; | |||||
| border-radius: 3px; | |||||
| } | |||||
| .stepText.tip { | |||||
| background-color: #b5d7d3; | |||||
| padding: 3px 5px; | |||||
| position: relative; | |||||
| top: 50px; | |||||
| border-radius: 5px; | |||||
| color: #4899a6; | |||||
| display: flex; | |||||
| font-size: 10px; | |||||
| } | |||||
| .stepText.tip>view { | |||||
| position: absolute; | |||||
| top: -13px; | |||||
| left: 50%; | |||||
| transform: translate(-50%, 0); | |||||
| border-top: 7px solid transparent; | |||||
| border-bottom: 7px solid #b5d7d3; | |||||
| border-left: 7px solid transparent; | |||||
| border-right: 7px solid transparent; | |||||
| } | |||||
| .stepText.tip>view.act { | |||||
| left: 50%; | |||||
| } | |||||
| .title { | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| .icon { | |||||
| width: 25px; | |||||
| height: 25px; | |||||
| background-color: #fff; | |||||
| border-radius: 15px; | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| } | |||||
| .text { | |||||
| color: #fff; | |||||
| padding-left: 5px; | |||||
| } | |||||
| } | |||||
| .tips { | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| color: #eee; | |||||
| padding: 10px; | |||||
| font-size: 22rpx; | |||||
| padding-bottom: 20px; | |||||
| } | |||||
| .btns { | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| margin-top: 10px; | |||||
| .btn { | |||||
| color: #fff; | |||||
| padding: 10rpx 50rpx; | |||||
| background-color: #ffb300; | |||||
| border-radius: 30rpx; | |||||
| font-size: 25rpx; | |||||
| margin-right: 10rpx; | |||||
| } | |||||
| .btc{ | |||||
| background: #ccc; | |||||
| } | |||||
| } | |||||
| } | |||||
| .info { | |||||
| margin: 10px; | |||||
| padding: 20rpx; | |||||
| background-color: #fff; | |||||
| width: calc(100% - 40px); | |||||
| border-radius: 10px; | |||||
| .head-title { | |||||
| font-family: PingFang SC, PingFang SC-Bold; | |||||
| color: #2f2e2e; | |||||
| line-height: 30rpx; | |||||
| margin-left: 10rpx; | |||||
| } | |||||
| .server-item { | |||||
| display: flex; | |||||
| flex-wrap: wrap; | |||||
| align-items: center; | |||||
| justify-content: space-between; | |||||
| background: white; | |||||
| border-radius: 15rpx; | |||||
| box-sizing: border-box; | |||||
| margin: 20rpx 0rpx; | |||||
| width: 100%; | |||||
| .img-box { | |||||
| width: 150rpx; | |||||
| height: 150rpx; | |||||
| border-radius: 10rpx; | |||||
| overflow: hidden; | |||||
| image { | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| } | |||||
| .server-info { | |||||
| display: flex; | |||||
| flex-direction: column; | |||||
| justify-content: space-around; | |||||
| width: calc(100% - 180rpx); | |||||
| box-sizing: border-box; | |||||
| padding: 10rpx 15rpx; | |||||
| .server-title { | |||||
| display: flex; | |||||
| margin-bottom: 10rpx; | |||||
| } | |||||
| .coupon { | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| background: #F29E45; | |||||
| color: white; | |||||
| width: 120rpx; | |||||
| height: 40rpx; | |||||
| border-radius: 10rpx; | |||||
| margin-left: 10rpx; | |||||
| font-size: 22rpx; | |||||
| } | |||||
| .time-coupon, | |||||
| .price { | |||||
| display: flex; | |||||
| flex-wrap: wrap; | |||||
| align-items: center; | |||||
| } | |||||
| .time-coupon { | |||||
| margin: 10rpx 0rpx; | |||||
| font-size: 26rpx; | |||||
| justify-content: space-between; | |||||
| width: 100%; | |||||
| .flex { | |||||
| justify-content: center; | |||||
| align-items: center; | |||||
| } | |||||
| image { | |||||
| width: 25rpx; | |||||
| height: 25rpx; | |||||
| } | |||||
| .time { | |||||
| color: #B8B8B8; | |||||
| margin-left: 6rpx; | |||||
| } | |||||
| } | |||||
| .sales-volume { | |||||
| display: flex; | |||||
| align-items: center; | |||||
| color: #B8B8B8; | |||||
| font-size: 24rpx; | |||||
| image { | |||||
| width: 25rpx; | |||||
| height: 25rpx; | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| .address { | |||||
| .address-top{ | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| align-items: center; | |||||
| image{ | |||||
| width: 30rpx; | |||||
| height: 30rpx; | |||||
| } | |||||
| } | |||||
| .addressDetail { | |||||
| color: #777; | |||||
| font-size: 22rpx; | |||||
| padding: 5px 0; | |||||
| } | |||||
| text { | |||||
| background-color: #F29E45; | |||||
| padding: 8rpx 10rpx; | |||||
| color: #fff; | |||||
| font-size: 20rpx; | |||||
| margin-left: 10px; | |||||
| border-radius: 5px; | |||||
| } | |||||
| } | |||||
| .min_tips { | |||||
| font-size: 22rpx; | |||||
| color: #777; | |||||
| display: flex; | |||||
| justify-content: space-between; | |||||
| padding: 5px 0; | |||||
| align-items: center; | |||||
| } | |||||
| .current-price { | |||||
| font-size: 30rpx; | |||||
| color: #FD5100; | |||||
| } | |||||
| .line { | |||||
| border-top: 2px dotted #00000011; | |||||
| padding: 20rpx 0; | |||||
| .t { | |||||
| padding: 5px 0; | |||||
| color: #000; | |||||
| font-size: 26rpx; | |||||
| } | |||||
| } | |||||
| .head-div { | |||||
| .nickname { | |||||
| font-size: 30rpx; | |||||
| font-weight: 600; | |||||
| text-align: left; | |||||
| line-height: 42rpx; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| .tag { | |||||
| position: relative; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| image { | |||||
| height: 45rpx; | |||||
| width: 90rpx; | |||||
| vertical-align: middle; | |||||
| } | |||||
| .auth { | |||||
| position: absolute; | |||||
| white-space: nowrap; | |||||
| color: #FF6200; | |||||
| left: 23rpx; | |||||
| font-size: 17rpx; | |||||
| } | |||||
| } | |||||
| } | |||||
| .days { | |||||
| font-size: 20rpx; | |||||
| font-weight: 400; | |||||
| text-align: left; | |||||
| line-height: 56rpx; | |||||
| display: flex; | |||||
| align-items: center; | |||||
| view { | |||||
| padding-left: 5px; | |||||
| } | |||||
| } | |||||
| } | |||||
| .btn-x { | |||||
| color: #6fc6ad; | |||||
| border: 1px solid #6fc6ad; | |||||
| padding: 10rpx 20rpx; | |||||
| border-radius: 30rpx; | |||||
| } | |||||
| .btns { | |||||
| display: flex; | |||||
| justify-content: center; | |||||
| .btn { | |||||
| color: #6fc6ad; | |||||
| border: 1px solid #6fc6ad; | |||||
| padding: 10rpx 20rpx; | |||||
| border-radius: 30rpx; | |||||
| } | |||||
| } | |||||
| } | |||||
| </style> | |||||