<template>
|
|
<view>
|
|
<!-- 状态显示区域 -->
|
|
<view class="se-flex se-flex-h-sb se-flex-v-c se-py-20">
|
|
<!-- <view class="se-flex se-flex-v-c">
|
|
<image src="@/static/images/order/46525.png"
|
|
style="width: 80rpx;height: 80rpx;"
|
|
mode="aspectFit"></image>
|
|
</view> -->
|
|
<view class="se-flex se-flex-v-c"
|
|
style="flex-direction: row;">
|
|
<view class="line-orange"></view>
|
|
<text class="se-ml-10 se-fs-28 se-fw-6 se-c-black">{{ statusText() }}</text>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 进度条 -->
|
|
<view class="se-py-20"
|
|
v-if="orderData.status != 6">
|
|
<u-steps
|
|
activeColor="#FF7A31"
|
|
:current="getStepsIndex()" dot>
|
|
<u-steps-item class="se-fs-22" v-for="(items,indexs) in stepsList()"
|
|
:key="indexs" :title="items.title">
|
|
</u-steps-item>
|
|
</u-steps>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: 'OrderStatus',
|
|
props: {
|
|
// 订单对象
|
|
orderData: {
|
|
type: Object,
|
|
default: () => ({})
|
|
},
|
|
// 页面类型,用于区分不同页面的状态显示
|
|
pageType: {
|
|
type: String,
|
|
default: 'job-order' // 'job-order' 或 'order'
|
|
},
|
|
},
|
|
computed: {
|
|
},
|
|
methods: {
|
|
getStepsIndex() {
|
|
return this.orderData.status || 0;
|
|
},
|
|
statusText() {
|
|
const statusTextMap = {
|
|
'0' : {//先付后用
|
|
'job-order': {
|
|
0: '待待师傅确认',//师傅操作
|
|
1: '企业待支付',//企业操作
|
|
2: '订单进行中',//师傅操作
|
|
3: '试工完成',//企业操作
|
|
4: '',//暂无
|
|
5: '订单已完成',
|
|
6: '订单已取消'
|
|
},
|
|
default: {
|
|
0: '等待企业确认',//企业操作
|
|
1: '企业待支付',//暂无
|
|
2: '订单进行中',//师傅操作
|
|
3: '试工完成',//企业操作
|
|
4: '',//暂无
|
|
5: '订单已完成',
|
|
6: '订单已取消'
|
|
}
|
|
},
|
|
'1' : {//试用以后支付
|
|
'job-order': {
|
|
0: '等待企业确认',
|
|
1: '订单进行中',
|
|
2: '试工完成',
|
|
3: '企业待支付',
|
|
4: '订单待完成',
|
|
5: '订单已完成',
|
|
6: '订单已取消'
|
|
},
|
|
default: {
|
|
0: '等待企业确认',
|
|
1: '订单进行中',
|
|
2: '试工完成',
|
|
3: '企业待支付',
|
|
4: '订单待完成',
|
|
5: '订单已完成',
|
|
6: '订单已取消'
|
|
}
|
|
}
|
|
};
|
|
let i = this.orderData ? this.orderData.payType : '1';
|
|
let statusTextMapItem = statusTextMap[i] || statusTextMap[1];
|
|
const pageTypeMap = statusTextMapItem[this.pageType] || statusTextMapItem.default;
|
|
return pageTypeMap[this.getStepsIndex()] || '未知状态';
|
|
},
|
|
statusImage() {
|
|
const statusImageMap = {
|
|
0: '/static/images/order/46524.png',
|
|
1: '/static/images/order/46524.png',
|
|
2: '/static/images/order/46525.png',
|
|
3: '/static/images/order/46525.png',
|
|
4: '/static/images/order/46525.png',
|
|
5: '/static/images/order/46525.png',
|
|
6: '/static/images/order/46525.png'
|
|
};
|
|
return statusImageMap[this.getStepsIndex()] || '/static/images/order/46524.png';
|
|
},
|
|
stepsList() {
|
|
const stepsListMap = {
|
|
0 : {//先付后用
|
|
'job-order': [
|
|
{ title: "师傅确认", date: "" },
|
|
{ title: "企业支付", date: "" },
|
|
{ title: "进行", date: "" },
|
|
{ title: "试工完成", date: "" },
|
|
// { title: "企业确认", date: "" },
|
|
{ title: "订单完成", date: "" }
|
|
],
|
|
default: [
|
|
{ title: "接单", date: "" },
|
|
{ title: "企业支付", date: "" },
|
|
{ title: "进行", date: "" },
|
|
{ title: "试工完成", date: "" },
|
|
// { title: "企业确认", date: "" },
|
|
{ title: "订单完成", date: "" }
|
|
]
|
|
},
|
|
1 : {//试用以后支付
|
|
'job-order': [
|
|
{ title: "师傅确认", date: "" },
|
|
{ title: "进行", date: "" },
|
|
{ title: "试工完成", date: "" },
|
|
{ title: "企业确认", date: "" },
|
|
{ title: "企业支付", date: "" },
|
|
{ title: "订单完成", date: "" }
|
|
],
|
|
default: [
|
|
{ title: "接单", date: "" },
|
|
{ title: "进行", date: "" },
|
|
{ title: "试工完成", date: "" },
|
|
{ title: "企业确认", date: "" },
|
|
{ title: "企业支付", date: "" },
|
|
{ title: "订单完成", date: "" }
|
|
]
|
|
},
|
|
};
|
|
let i = this.orderData ? this.orderData.payType : '1';
|
|
let stepsListMapItem = stepsListMap[i] || stepsListMap[1];
|
|
return stepsListMapItem[this.pageType] || stepsListMapItem.default;
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.line-orange {
|
|
width: 8rpx;
|
|
height: 32rpx;
|
|
background: #ff7a31;
|
|
border-radius: 4rpx;
|
|
}
|
|
</style>
|