lanan-old/detection-user/pages/detection/details-order.vue
愉快的大福 7dc28dc701 init
2024-07-17 14:16:22 +08:00

443 lines
10 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<view class="c-top">
<view class="ding">
<view class="c-zuo" @click="getback()">
<uni-icons type="left" color="#ffffff" size="18"></uni-icons>
</view>
<view class="c-title">我的订单</view>
<view class="c-you"></view>
</view>
<!-- 底部 -->
<view class="d-bai" v-if="orderStatus == '1'">待使用</view>
<view class="d-bai" v-if="orderStatus == '2'">待评价</view>
<view class="d-bai" v-if="orderStatus == '3'">已评价</view>
<view class="d-bai" v-if="orderStatus == '4'">退款中</view>
<view class="d-bai" v-if="orderStatus == '5'">已退款</view>
<view class="x-bai">请到订单预约店铺进行车辆检测</view>
<view class="cont-box">
<view class="b-top" v-if="orderdetails.orderStatus == '1'">
<view class="rwm">
<canvas style="width:125px; height: 125px;" canvas-id="myQrcode"></canvas>
</view>
<view class="mzi">核销码:{{orderdetails.accessCode}}</view>
</view>
<view class="b-top" v-if="orderdetails.orderStatus == '2'">
<!-- 星星 文本框 -->
<view style="display: flex; align-items: ;">
<view class="b-hui">请留下您的评价</view>
<uni-rate v-model="rateValue" @change="postxing" />
</view>
<u--textarea v-model="reviewStr" @blur="tijiao()" @confirm="tijiao()" placeholder="请输入您的评价" border="none"></u--textarea>
</view>
<view class="b-top" v-if="orderdetails.orderStatus == '3'">
<!-- 已评价 -->
<view style="display: flex; align-items: ;">
<view class="b-hui">请留下您的评价</view>
<uni-rate v-model="orderdetails.commentStar" />
</view>
<u--textarea v-model="orderdetails.commentDesc" placeholder="该用户暂无评价" border="none"></u--textarea>
</view>
<view class="b-top" v-if="orderdetails.orderStatus == '4'">
<view class="b-title">退款中</view>
</view>
<view class="b-top" v-if="orderdetails.orderStatus == '5'">
<view class="b-title">已退款</view>
</view>
<view class="b-box">
<view class="b-title">{{orderdetails.partnerName}}</view>
<view class="b-hui">{{orderdetails.partnerAddress}}</view>
<view class="on-input">
<view class="b-hui">下单时间</view>
<view class="b-hei">{{orderdetails.payTime}}</view>
</view>
<view class="on-input">
<view class="b-hui">商家手机号</view>
<view class="b-hei">{{orderdetails.contactNumber}}</view>
</view>
<view class="on-input">
<view class="b-hui">营业时间</view>
<view class="b-hei">{{orderdetails.workTimeStr}}</view>
</view>
</view>
<view class="b-box">
<view class="b-title">订单信息</view>
<view class="on-input">
<view class="b-hui">订单号</view>
<view class="b-hei">{{orderdetails.orderNo}}</view>
</view>
<view class="on-input">
<view class="b-hui">检测商品</view>
<view class="b-hei">{{orderdetails.goodsTitle}}</view>
</view>
<view class="on-input">
<view class="b-hui">价格</view>
<view class="b-hei">{{orderdetails.goodsPrice/100}}</view>
</view>
<!-- <view class="on-input">
<view class="b-hui">下单时间</view>
<view class="b-hei">2023-07-20 12:00</view>
</view> -->
<view class="on-input">
<view class="b-hui">优惠券折扣</view>
<view class="b-hei">-{{orderdetails.couponDiscount?orderdetails.couponDiscount/100:0 }}</view>
</view>
<view class="on-input">
<view class="b-hui">折扣</view>
<view class="b-hei">-{{orderdetails.reduceMoney?orderdetails.reduceMoney/100:0 }}</view>
</view>
<view class="on-input">
<view class="b-hui">使用余额</view>
<view class="b-hei">-{{orderdetails.balance/100 }}</view>
</view>
<view class="on-input">
<view class="b-hui">微信支付</view>
<view class="ju">¥{{orderdetails.payMoney/100}}</view>
</view>
<view class="on-input">
<view class="b-hui">合计支付</view>
<view class="ju">¥{{orderdetails.payMoney /100 + orderdetails.balance /100}}</view>
</view>
</view>
</view>
<!-- <view class="anniu">
<text>提交</text>
</view> -->
<view style="width: 100%; height: 55px; margin-top: 10px;"></view>
<!-- 底部 -->
</view>
<view class="v-bottom">
<view class="b-zuo" @click="gettel()">
<view class="lanquan">
<uni-icons type="phone-filled" color="#0D2E8D" size="24"></uni-icons>
</view>
<view class="">联系商家</view>
</view>
<view class="anniu" @click="Daohang()">
<view class="baiqiu">
<uni-icons type="paperplane-filled" color="#0D2E8D" size="14"></uni-icons>
</view>
<view class="">到这里去</view>
</view>
</view>
</view>
</template>
<script>
import drawQrcode from 'weapp-qrcode'
import request from '../../utils/request';
import config from '@/config';
export default {
data() {
return {
orderId:'',
orderdetails:{},
orderStatus:2,
intervalId: null,
reviewStr:"",
rateValue:5
}
},
onLoad(opion) {
this.orderId = opion.id
this.getindex()
this.intervalId = setInterval(() => {
console.log("我在执行方法");
this.getindex()
}, 2000);
// uni.showLoading()
// this.intervalId = setInterval(() => {
// uni.hideLoading()
// }, 3000);
},
onShow() {
},
watch: {
orderStatus(newVal, oldVal) {
// 监听message数据的变化并执行相应的方法
console.log('message发生变化', newVal, oldVal);
if(newVal == 2){
uni.showToast({
title:"核销成功",
})
}
}
},
methods:{
async getindex(){
let res = await request({
url:'/appInspection/order/orderDetail?orderId='+this.orderId,
method: 'get',
})
console.log(res);
this.orderdetails = res.data
this.orderStatus = res.data.orderStatus
this.orderdetails.payMoney = res.data.payMoney
this.orderdetails.balance = res.data.balance
this.showCode()
},
async tijiao(){
if(this.reviewStr == ""){
uni.showToast({
title:'评论不能为空',
icon:'none'
})
return
}
let data = {
orderId:this.orderId,
starLevel:this.rateValue,
reviewStr:this.reviewStr
}
let res = await request({
url:'/appInspection/order/reviewOrder',
method: 'post',
params:data
})
console.log(res);
if(res.code == 200){
uni.showToast({
title:"发布成功"
})
}
},
showCode() {
drawQrcode({
width: 125,
height: 125,
canvasId: 'myQrcode',
text:this.orderdetails.accessCode
})
},
gettel(){
uni.makePhoneCall({
phoneNumber: this.orderdetails.contactNumber
});
},
Daohang(){
console.log('触发',this.orderdetails);
uni.openLocation({
latitude: parseFloat(this.orderdetails.latitude) ,
longitude: parseFloat(this.orderdetails.longitude),
success: function () {
console.log('success');
},
fail:function (res) {
console.log(res);
}
});
},
getback(){
clearInterval(this.intervalId);
uni.navigateBack()
},
postxing(e) {
console.log(this.rateValue);
console.log('rate发生改变:' + JSON.stringify(e))
// console.log(this.rateValue);
},
},
beforeRouteLeave(to, from, next) {
// 在离开当前页面时清除定时器
clearInterval(this.intervalId);
next();
},
}
</script>
<style scoped lang="scss">
.content {
width: 100%;
height: calc(130vh);
background-color: #F6F6F6;
box-sizing: border-box;
}
.c-top{
width: 100%;
height: 229px;
box-sizing: border-box;
padding: 15px;
padding-top: 45px;
background: #0D2E8D;
}
.ding{
width: 100%;
display: flex;
justify-content: space-between;
}
.c-title{
font-size: 18px;
font-weight: bold;
color: white;
width: 80%;
text-align: center;
}
.c-zuo{
width: 10%;
height: 100%;
}
.c-you{
width: 10%;
height: 100%;
}
.d-bai{
width: 100%;
font-size: 20px;
font-family: Source Han Sans CN-Bold, Source Han Sans CN;
font-weight: bold;
color: #FFFFFF;
margin-top: 30px;
margin-bottom: 15px;
}
.x-bai{
width: 100%;
font-size: 15px;
font-family: Source Han Sans CN-Regular, Source Han Sans CN;
font-weight: 400;
color: #FFFFFF;
margin-bottom: 20px;
}
.cont-box{
width: 98%;
margin: 0 auto;
background-color: white;
border-radius: 8px;
box-sizing: border-box;
padding: 15px;
}
.b-top{
width: 100%;
border-bottom: 1px solid #DDDDDD;
box-sizing: border-box;
padding: 10px;
}
.b-box{
width: 100%;
border-bottom: 1px solid #DDDDDD;
box-sizing: border-box;
padding: 20px 0px;
}
.rwm{
width: 125px;
height: 125px;
background: #D9D9D9;
margin: 40px auto;
}
.mzi{
width: 100%;
text-align: center;
font-size: 16px;
font-weight: 400;
color: #333333;
}
.on-input{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
margin: 10px auto;
}
.v-bottom{
position: fixed;
bottom: 0px ;
z-index: 99;
height: 60px;
background: #FFFFFF;
width: 100%;
box-sizing: border-box;
padding: 10px 15px;
display: flex;
align-items: center;
justify-content: space-between;
}
.b-zuo{
width: 40%;
height: 100%;
font-size: 14px;
font-weight: 400;
color: #0D2E8D;
text-align: center;
}
.anniu{
background: #0D2E8D;
width: 60%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 16px;
font-weight: 400;
color: #FFFFFF;
border-radius: 4px ;
}
.b-title{
font-size: 16px;
font-weight: bold;
color: #333333;
margin-bottom: 10px;
}
.b-hui{
font-size: 15px;
font-weight: 400;
color: #999999;
}
.b-hei{
font-size: 15px;
font-weight: 400;
color: #333333;
}
.ju{
font-size: 15px;
font-weight: 400;
color: #FF571A;
}
.lanquan{
width: 25px;
height: 25px;
border-radius: 50%;
border: 2px solid #0D2E8D;
display: flex;
align-items: center;
justify-content: center;
background-color: white;
margin: 0 auto;
}
.baiqiu{
width: 16px;
height: 16px;
background: #FFFFFF;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin-right: 5px;
}
</style>