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.
 
 
 

448 lines
22 KiB

<template>
<HeaderNav title="订单详情" :is-back="true"></HeaderNav>
<view class="body-background">
<u-image :src="staticImage.orderDetailBackground" width="100%" height="100vh"></u-image>
</view>
<view class="app-wallpaper">
<view class="feed-top">
<view class="feed-container">
<view class="feed-content">
<!-- <view class="top-img">-->
<!-- <u-image @click=showBigImage(item.url class="img" mode="aspectFill" width="100%" height="600" :src="detail.pet_avatar || staticImage.banner"></u-image>-->
<!-- </view>-->
<view class="top-content row">
<view class="order-list-item">
<view class="order-card-container row">
<view class="order-card-container-background-main row" @click="navTo('/pages/OrderDetail/index?id='+item.id)">
<view class="order-card-col row">
<view class="order-card-container-background col-12">
<!-- <view class="order-card-container-background-inside col-12">-->
<!-- </view>-->
</view>
<view class="order-card-left col-12">
<!-- <swiper style="height:100%;">-->
<!-- <swiper-item v-for="item in detail.avatar_array">-->
<u-image :fade="false" width="100%" height="auto" :src="detail.avatar_array[0]" radius="26" custom-style="border:3rpx solid #262626" mode="widthFix"></u-image>
<!-- </swiper-item>-->
<!-- </swiper>-->
<!-- <u-swiper :list="detail.avatar_array" height="350" radius="26" custom-style="border:3rpx solid #262626" img-mode="aspectFill"></u-swiper>-->
<!-- <u-image @click="showBigImage(detail.pet_avatar)" class="img" mode="aspectFill" width="100%" height="350" :src="detail.pet_avatar" radius="26" custom-style="border:3rpx solid #262626"></u-image>-->
</view>
<view class="order-card-right col-12">
<view class="order-card-title" style="">
<u-text
:text="detail.addr"
color="#131313"
size="40"
line-height="60"
></u-text>
</view>
<view class="order-card-tag-container row">
<view class="order-card-tag" v-for="(server, i) in detail.services" wx:key="i">{{ server }}</view>
</view>
<view class="order-card-day"><text class="card-label">上门时间</text>{{detail.do_date}} {{ detail.do_time }}
</view>
<view class="order-card-pay-time"><text class="card-label">下单时间</text>{{detail.create_time}}
</view>
</view>
<!-- <view class="" style="padding:20rpx 0;">-->
<!-- <u-text :text="'订单编号: '+item.no"-->
<!-- color="#131313" size="28"-->
<!-- custom-style="display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden;"></u-text>-->
<!-- </view>-->
<view class="order-card-bottom col-12 row">
<view class="card-button" @click="navTo(`/pages/ChatDetail/index?id=${detail.id}`)">
<MzButton
title="立即沟通"
font-color="#3E3221"
button-color="#F7E1C3"
button-width="255rpx"></MzButton>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<view class="feed-background">
<view class="feed-background-content">
</view>
</view>
</view>
</view>
<view class="pet-detail-bottom-container" v-for="row in detail.pet_list">
<view class="pet-detail-container">
<view class="pet-detail-gun col">
<image class="img" mode="heightFix" :src="staticImage.petGun"/>
</view>
<view class="pet-detail-content">
<view class="content-item row">
<view class="item-icon">
<image class="img" mode="widthFix" :src="staticImage.petName"/>
</view>
<view class="item-title">
宠托师:
</view>
<view class="item-content">
{{detail.worker_name}}
</view>
</view>
<view class="content-item row">
<view class="item-icon">
<image class="img" mode="widthFix" :src="staticImage.petName"/>
</view>
<view class="item-title">
订单编号:
</view>
<view class="item-content">
{{detail.no}}
</view>
</view>
<view class="content-item row" v-if="row.lock_type_name">
<view class="item-icon">
<image class="img" mode="widthFix" :src="staticImage.petName"/>
</view>
<view class="item-title">
锁类型:
</view>
<view class="item-content">
{{detail.lock_type_name}}
</view>
</view>
<view class="content-item row" v-if="row.open_info">
<view class="item-icon">
<image class="img" mode="widthFix" :src="staticImage.petName"/>
</view>
<view class="item-title">
开锁方式:
</view>
<view class="item-content">
{{detail.open_info}}
</view>
</view>
<view class="content-item row">
<view class="item-icon">
<image class="img" mode="widthFix" :src="staticImage.petName"/>
</view>
<view class="item-title">
增值服务:
</view>
<view class="item-content">
{{detail.services?.join(',')}}
</view>
</view>
<view class="content-item row">
<view class="item-icon">
<image class="img" mode="widthFix" :src="staticImage.petName"/>
</view>
<view class="item-title">
萌宠信息:
</view>
<view class="item-content col-12">
<view class="order-card-tag-container row">
<view class="order-card-tag">{{ row.name }}</view>
<view class="order-card-tag">{{ row.pet_age }}岁</view>
<view class="order-card-tag">{{ row.weight }}kg</view>
<view class="order-card-tag">{{ row.pet_sex }}</view>
</view>
</view>
</view>
<view class="pet-bottom-video-remark row" style="position: relative;">
<view class="content-item pet-detail-video-group" style="width:220rpx;">
<view class="video-content">
<view class="video-content-container">
<video class="img" mode="aspectFill" :src="row.video" style="width:220rpx;border-radius: 16rpx;border:2rpx solid #262626;"></video>
</view>
<view class="video-content-background"></view>
</view>
</view>
<view class="row col" style="padding:15rpx 30rpx 15rpx 0rpx;">
<view class="content-container col" style="position: relative;height:100%;width:100%;">
<view class="content" style="box-sizing:border-box;padding:25rpx;position:absolute;height:100%;width:100%;left:0;top:0;z-index: 2;border:2rpx solid #262626;border-radius: 16rpx;background-color:#F6F6F6;">
<u-text :text="row.remarks" color="#263233" size="28"></u-text>
</view>
<view class="content-background" style="position:absolute;top:10rpx;left:10rpx;z-index:1;border:2rpx solid #262626;border-radius: 16rpx;width:100%;height:100%;">
</view>
</view>
</view>
</view>
<view class="card-button" @click="navTo('/pages/FeedLog/index?pet_id=' + row.id)" style="justify-content: center;display:flex;padding:30rpx 0;">
<MzButton
title="喂养档案"
font-color="#FFFFFF"
button-color="#4DC3B8"
button-width="255rpx"></MzButton>
</view>
</view>
<view class="pet-detail-background"></view>
</view>
</view>
<view v-if="service?.startservice && Object.keys(service.startservice).length > 0 " class="pet-detail-bottom-container">
<view class="pet-detail-container">
<view class="pet-detail-gun col">
<image class="img" mode="heightFix" :src="staticImage.petGun"/>
</view>
<view class="pet-detail-content">
<view class="content-item"><view>开始订单</view></view>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" :data="service.startservice.arrival_time" name="到达时间" type="text"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" :data="service.startservice.worker_confirm" name="宠物师确认" type="media"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" :data="service.startservice.hand_disinfect" name="手部消毒" type="media"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" :data="service.startservice.body_disinfect" name="全身消毒" type="media"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" :data="service.startservice.key" name="钥匙开启/收取" type="default"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" :data="service.startservice.key_info" name="钥匙描述" type="text"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" :data="service.startservice.service_tools" name="服务工具" type="text"></FomItem>
</view>
<view class="pet-detail-background"></view>
</view>
</view>
<view v-if="service.endservice && Object.keys(service.endservice).length > 0" class="pet-detail-bottom-container">
<view class="pet-detail-container">
<view class="pet-detail-gun col">
<image class="img" mode="heightFix" :src="staticImage.petGun"/>
</view>
<view class="pet-detail-content">
<view class="content-item"><view>完成订单</view></view>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.appliance" name="水电等情况"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.before_status" name="入户前萌宠家居情况"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.pet_status" name="萌宠生活区情况"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.food_status" name="萌宠粮剩余情况"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.sick" name="是否有萌宠呕吐物"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.excrement" name="萌宠排泄物情况"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.other" name="其他情况反馈"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.food_bowl" name="食盆清洗并擦干水渍" option-name="value"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.basin" name="水盆清理" option-name="value"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.staple_food" name="萌宠主食"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.water" name="萌宠饮用水"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.snacks" name="零食、药品及其他"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.wowo" name="窝窝整理"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.cage" name="笼笼清理"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.hair" name="周边毛发"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.pet_sick" name="屋内排泄物清理"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.pet_excrement" name="屋内呕吐物清理"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.cat_litter" name="猫砂盆整理及猫砂更换"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.other_info" name="其他需求反馈"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.foundation" name="基础检查"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="text" :data="service.endservice.health" name="健康情况"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.health_other" name="其他"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.pet_clean" name="萌宠清洁"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.before_facial" name="洗护前原始状态"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.pet_facial" name="使用产品"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.end_facial" name="洗护后状态"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.home_play" name="在家互动"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.out_play" name="外出遛弯">
<template #option>
<view v-if="service.endservice?.out_play.number_option.length>0">
<view class="">
<u-text text="排便情况" color="#999" size="28"></u-text>
</view>
<view class="">{{getString(service.endservice.out_play.number_option)}}</view>
</view>
<view v-if="service.endservice.out_play.feces_option.length>0">
<view class="">
<u-text text="便便情况" color="#999" size="28"></u-text>
</view>
<view class="">{{getString(service.endservice.out_play.feces_option)}}</view>
</view>
<view v-if="service.endservice.out_play.in_home_option.length>0">
<view class="">
<u-text text="入门前清洁" color="#999" size="28"></u-text>
</view>
<view class="">{{getString(service.endservice.out_play.in_home_option)}}</view>
</view>
</template>
</FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.trash" name="垃圾携带"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.pet_secure" name="空调"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.pet_secure" name="离开时萌宠安全确认"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.close" name="普通锁"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.close_mima" name="密码锁"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="default" :data="service.endservice.key" name="房门钥匙"></FomItem>
<FomItem @showBigImage="showBigImage" @showBigVideo="showBigVideo" type="text" :data="service.endservice.leave" name="离开时间"></FomItem>
</view>
<!-- <view class="pet-detail-background"></view>-->
</view>
</view>
</view>
<u-overlay :show="imageShow" @click="imageShow = false">
<view class="" style="display:flex;align-items: center;justify-content:center;width:100%;height:100vh;">
<u-image mode="widthFix" :src="imageUrl" height="auto" width="100vw"></u-image>
</view>
</u-overlay>
<u-overlay :show="videoShow" @click="videoShow = false">
<view class="" style="display:flex;align-items: center;justify-content:center;width:100%;height:100vh;">
<video :show-fullscreen-btn="false" :autoplay="true" mode="widthFix" :src="videoUrl" height="auto" width="100vw"></video>
</view>
</u-overlay>
</template>
<script>
import {
imghost
} from '@/config/host.js'
import HeaderNav from '@/components/HeaderNav/Index.vue';
import FooterNav from '@/components/FooterNav/Index.vue';
import RightNav from '@/components/RightNav/Index.vue';
import MzButton from '@/components/MzButton/Index.vue';
import api from '@/utils/functions.js';
import {delPet, getDetail} from "@/api/pet";
import log from "@/utils/log";
import functions from "@/utils/functions.js";
import {orderDetail, orderServiceInfo} from "@/api/order";
import FomItem from "./components/fomItem.vue";
export default {
components: {
FomItem,
HeaderNav,
FooterNav,
RightNav,
MzButton,
},
data() {
return {
imageShow:false,
imageUrl:'',
videoUrl: '',
videoShow: false,
title: 'Hello',
loading: true,
staticImage: {
screenActiveImg: imghost + '/order-screen-active.png',
orderCardBackground: imghost + '/order-card-background.png',
wallpaperBgImage:imghost +'/background.png',
petGun:imghost +'/pet_gun.png',
petName:imghost +'/pet-detail-name.png',
petType:imghost +'/pet-detail-type.png',
petBirth:imghost +'/pet-detail-birthday.png',
petSex:imghost +'/pet-detail-sex.png',
petYm:imghost +'/pet-detail-ym.png',
petQc:imghost +'/pet-detail-qc.png',
petHome:imghost +'/pet-detail-home.png',
petBs:imghost +'/pet-detail-bs.png',
petVideoTitle:imghost +'/pet-detail-video-title.png',
petPhotoTitle:imghost +'/pet-detail-photo-title.png',
orderDetailBackground:imghost+'/order-detail-background.png',
},
indexBanner: [{
image: imghost + '/banner.png',
url: '',
}],
user: {
avatar: imghost + '/banner.png',
nickname: '清晨的风',
coupons: 221,
id: 88685
},
isTop: false,
petImage: imghost + '/pet_avatar1.jpeg',
orderCardList:[
{
title:'成都市武侯区丰德国际4栋...',
tags:['刷毛','洗澡'],
do_time:'2023/05/03 15—17时',
create_time:'2023/03/03 15:23:22',
},
{
title:'成都市武侯区丰德国际4栋...',
tags:['刷毛','洗澡'],
do_time:'2023/05/03 15—17时',
create_time:'2023/03/03 15:23:22',
},
],
detail:{},
service:{
startservice:{},
endservice:{},
},
id:0,
}
},
onLoad(option) {
log(option);
this.id = option.id;
this.getDetail(option.id);
},
onShareAppMessage() {
return {
title:'订单详情',
path:'/pages/OrderDetail/index?id='+this.id,
}
},
methods: {
showBigImage(imgUrl){
this.imageUrl = imgUrl;
this.imageShow = true;
},
showBigVideo(videoUrl) {
this.videoUrl = videoUrl;
this.videoShow = true;
this.$emit('showBigVideo',videoUrl)
},
getString(value) {
let typeStr = typeof value;
if (typeStr === 'string') {
return value;
} else if (typeStr === 'object' || typeStr === 'array') {
return value.join(',');
}
},
delPet(){
functions.confirm("确认删除该宠物吗?").then(() => {
delPet(this.id).then((res) => {
functions.success('删除成功').then(() => uni.navigateBack())
})
})
},
navTo(url){
uni.navigateTo({
url:url
})
},
getDetail(id){
orderDetail(id).then(data => {
this.detail = data.data;
if(this.detail.status>0){
this.getOrderServiceInfo(id);
}
})
},
getOrderServiceInfo(id){
orderServiceInfo(id).then(res => {
this.service.startservice =res.data.startservice;
this.service.endservice =res.data.endservice;
})
}
},
onPageScroll(res) {
if(res.scrollTop <= 20){
uni.$emit('isTop', true);
}else{
uni.$emit('isTop', false);
}
},
created() {
this.pagePadding = (api.navHeight().navPaddingTop +
api.navHeight().navHeight + (api.navHeight().headerPadding * 2))
}
}
</script>
<style lang="scss">
@import './components/index.scss';
</style>