lanan-repair/components/reservationOrder/reservationOrder.vue
2024-11-07 14:00:13 +08:00

189 lines
4.3 KiB
Vue
Raw Permalink 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="orderInfo">
<view class="header">
<text class="orderTitle">{{ orderInfo.title }}</text>
<!-- <text class="orderStatus" :class="['status_' + orderInfo.status]">-->
<!-- <text class="orderStatus" :class="['status_' + '01']">-->
<!-- {{ getOrderStatusTxt() }}-->
<!-- </text>-->
</view>
<view class="detail">
<view class="line">
<image class="line-icon" src="../../static/icons/order-icon1.png" mode="aspectFit"></image>
<text class="line-text">{{orderInfo.address}}</text>
</view>
<view class="line" @click="callPhone(orderInfo.phone)">
<image class="line-icon" src="../../static/icons/order-icon2.png" mode="aspectFit"></image>
<text class="line-text">{{orderInfo.phone}}</text>
</view>
<view class="line">
<image class="line-icon" src="../../static/icons/order-icon3.png" mode="aspectFit"></image>
<text class="line-text">{{orderInfo.repairTypeText}}</text>
</view>
<view class="line" v-if="orderInfo.adviser">
<text class="line-text">服务顾问{{orderInfo.adviser.nickname}} <text @click="callPhone(orderInfo.adviser.mobile)">电话{{orderInfo.adviser.mobile}}</text></text>
</view>
</view>
<view v-if="!hideFooter" class="footer">
<!-- <view class="btn" :class="{phone: isDetail}">-->
<!-- <image v-if="isDetail" class="btnIcon" src="../../static/icons/order-icon7.png" mode="aspectFit"></image>-->
<!-- <text>拨打电话</text>-->
<!-- </view>-->
<!-- <view class="btn" :class="{address: isDetail}">-->
<!-- <image v-if="isDetail" class="btnIcon" src="../../static/icons/order-icon6.png" mode="aspectFit"></image>-->
<!-- <text>地址导航</text>-->
<!-- </view>-->
<view v-if="!isDetail && orderInfo.ticketsId" class="btn primary" @click="showOrderDetail">查看订单</view>
</view>
</view>
</template>
<script>
export default {
name: "reservationOrder",
props: {
orderInfo: {
type: Object,
default: () => {
return {}
}
},
isDetail: {
type: Boolean,
default: false
},
hideFooter: {
type: Boolean,
default: false
}
},
data() {
return {
};
},
methods: {
getOrderStatusTxt() {
// console.log(this.orderInfo.status)
switch (this.orderInfo.status) {
case '01':
this.isDetail = true
return '等待维修'
case '02':
return '维修中'
case '03':
return '已完成'
default:
return ''
}
},
showOrderDetail() {
uni.navigateTo({
url: '/pages-order/orderDetail/orderDetail?ticketsId=' + this.orderInfo.ticketsId
})
},
callPhone(phone){
uni.makePhoneCall({
phoneNumber: phone //仅为示例
});
}
}
}
</script>
<style lang="less">
.orderInfo {
background: #FFFFFF;
border-radius: 12rpx 12rpx 12rpx 12rpx;
box-shadow: 2rpx 4rpx 8rpx #efefef;
padding: 0 30rpx;
margin-bottom: 30rpx;
.header {
display: flex;
align-items: center;
border-bottom: 1rpx solid #EEEEEE;
padding: 30rpx 0;
.orderTitle {
flex: 1;
width: 0;
font-weight: bold;
font-size: 32rpx;
color: #333333;
}
.orderStatus {
font-weight: 500;
font-size: 28rpx;
&.status_01 {
color: #0174F6;
}
}
}
.detail {
margin-bottom: 30rpx;
border-bottom: 1rpx solid #EEEEEE;;
.line {
margin: 30rpx 0;
display: flex;
align-items: center;
column-gap: 10rpx;
font-weight: 500;
font-size: 28rpx;
color: #999999;
}
.line-icon {
width: 28rpx;
height: 28rpx;
}
}
.footer {
display: flex;
align-items: center;
column-gap: 20rpx;
.btn {
margin-bottom: 30rpx;
flex: 1;
width: 0;
height: 60rpx;
border-radius: 30rpx 30rpx 30rpx 30rpx;
border: 1rpx solid #0174F6;
font-weight: 500;
font-size: 28rpx;
color: #0174F6;
display: flex;
align-items: center;
justify-content: center;
column-gap: 8rpx;
&.primary {
background: #0174F6;
color: #fff;
color: #FFFFFF;
}
&.address {
background: #0174F6;
color: #fff;
border: none;
}
&.phone {
background: #E8A321;
color: #fff;
border: none;
}
.btnIcon {
width: 32rpx;
height: 32rpx;
}
}
}
}
</style>