Browse Source

feat(订单状态): 重构订单状态显示为组件并优化相关页面

新增订单状态组件统一管理不同订单状态显示逻辑
优化订单详情页、求职详情页和招聘详情页的状态显示
添加求职订单列表页面展示待确认订单
更新结算方式选项为"提前支付"和"试用以后支付"
修复订单状态显示不一致问题并移除重复代码
master
前端-胡立永 2 weeks ago
parent
commit
a2e1192746
10 changed files with 434 additions and 269 deletions
  1. +161
    -0
      components/order-status/index.vue
  2. +13
    -0
      pages.json
  3. +24
    -15
      pages_subpack/job-hunt/index.vue
  4. +193
    -0
      pages_subpack/job-hunt/order-list.vue
  5. +13
    -83
      pages_subpack/job-order-detail/index.vue
  6. +17
    -88
      pages_subpack/order-detail/boss.vue
  7. +11
    -81
      pages_subpack/order-detail/index.vue
  8. +2
    -2
      pages_subpack/release/component/master.vue
  9. +0
    -0
      static/image/order/46524.png
  10. +0
    -0
      static/image/order/46525.png

+ 161
- 0
components/order-status/index.vue View File

@ -0,0 +1,161 @@
<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">
<u-steps
activeColor="#FF7A31"
:current="stepsIndex" 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: {
stepsIndex() {
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.stepsIndex] || '未知状态';
},
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.stepsIndex] || '/static/images/order/46524.png';
},
stepsList() {
const stepsListMap = {
0 : {//
'job-order': [
{ 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: "" }
],
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>

+ 13
- 0
pages.json View File

@ -74,6 +74,7 @@
"navigationBarTitleText": "我的招聘",
"navigationStyle":"default",
"navigationBarBackgroundColor": "#FF7A31",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white"
}
},
@ -83,6 +84,7 @@
"navigationBarTitleText": "订单列表",
"navigationStyle":"default",
"navigationBarBackgroundColor": "#FF7A31",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white"
}
},
@ -92,6 +94,17 @@
"navigationBarTitleText": "我的求职",
"navigationStyle":"default",
"navigationBarBackgroundColor": "#FF7A31",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white"
}
},
{
"path": "job-hunt/order-list",
"style": {
"navigationBarTitleText": "订单列表",
"navigationStyle":"default",
"navigationBarBackgroundColor": "#FF7A31",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white"
}
},


+ 24
- 15
pages_subpack/job-hunt/index.vue View File

@ -1,7 +1,7 @@
<template>
<view>
<view class="se-m-20 se-br-20 se-bs-b se-bgc-white se-py-20 se-px-30" v-for="(items,indexs) in rolelist"
@click.capture="onMasterDetail(items)"
@click="onMasterDetail(items)"
:key="indexs">
<view class="se-flex se-flex-h-sb" >
<view class="se-flex">
@ -21,11 +21,6 @@
{{items.categoryOne_dictText}}
</view>
</view>
<!-- <view class="se-flex se-flex-h-c">
<view class="se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-ml-20 se-fw-6 se-toe-1" style="max-width: 100rpx;">
{{items.categoryOne_dictText}}
</view>
</view> -->
</view>
<view class="se-c-orange se-fs-32 se-fw-6">
{{items.salaryMin}}-{{items.salaryMax}}
@ -42,15 +37,15 @@
{{items.address}}
</text>
<view
v-if="items"
style="flex-shrink: 0;"
class="se-flex se-flex-h-c se-py-10 se-px-20 se-br-12 se-fs-22 se-fw-6"
:class="{
'se-c-99 se-bgc-f5': items.seekStatus == 0,
'se-c-orange se-bgc-ffd': items.seekStatus == 1,
'se-c-green se-bgc-green-light': items.seekStatus == 2
}">
<text class="se-ml-5" v-if="items.employOrder && items.seekStatus == 0">
待确认
<text class="se-ml-5" v-if="items.employOrder.length && items.seekStatus == 0">
{{ items.employOrder.length }}待确认
</text>
<text class="se-ml-5" v-else>
{{ items.seekStatus == 0 ? '待聘用' : items.seekStatus == 1 ? '已聘用' : '已完成' }}
@ -75,20 +70,34 @@
]
}
},
onLoad() {
onShow() {
this.onQueryMySeekList();
},
methods: {
onMasterDetail(event) {
if(event.employOrder){
uni.navigateTo({
url: `/pages_subpack/job-order-detail/index?orderId=${event.employOrder.id}&type=true`
})
//
if(event.employOrder && event.employOrder.length > 0){
//
if(event.seekStatus == 0){
uni.navigateTo({
url: "/pages_subpack/job-hunt/order-list?seekId=" + event.id
});
}else if(event.seekStatus == 1 || event.seekStatus == 2){
//
uni.navigateTo({
url: `/pages_subpack/job-order-detail/index?orderId=${event.employOrder[0].id}&type=true`
});
}
}else if(event.seekStatus == 0){
//
//
uni.navigateTo({
url: `/pages_subpack/release/index?status=2&editId=${event.id}`
})
}else{
//
uni.navigateTo({
url: "/pages_subpack/job-hunt/detail?id=" + event.id
});
}
},
onQueryMySeekList() {


+ 193
- 0
pages_subpack/job-hunt/order-list.vue View File

@ -0,0 +1,193 @@
<template>
<view class="u-page se-w-vw-100">
<!-- 求职信息头部 -->
<view class="se-m-20 se-br-20 se-bs-b se-bgc-white se-py-20 se-px-30" v-if="seekInfo">
<view class="se-flex se-flex-h-sb se-mb-10">
<view class="se-flex">
<view class="se-a-80">
<image class="se-a-80 se-br-p-50 se-bgc-f5" :src="seekInfo.employResume.headImage" mode=""></image>
</view>
<view class="se-ml-20 se-flex se-flex-v-c se-flex-ai-fs">
<text class="se-fw-6 se-c-black se-fs-30">{{seekInfo.employResume.name?seekInfo.employResume.name:seekInfo.hanHaiMember.nickName}}</text>
<text class="se-mx-10 se-b-l"></text>
<text class="se-fs-28 se-c-orange">日薪:{{seekInfo.dayMoney}}</text>
<text class="se-fs-24 se-c-text-third se-mt-5">{{seekInfo.employResume.sex==1?"男":"女"}}-{{seekInfo.employResume.nation?seekInfo.employResume.nation:"未知"}}-{{seekInfo.employResume.age}}</text>
</view>
</view>
<view class="se-c-orange se-fs-32 se-fw-6">
{{seekInfo.salaryMin}}-{{seekInfo.salaryMax}}
</view>
</view>
<view class="se-py-10">
<text class="se-c-text-sub se-fs-22 se-mr-10 se-py-5 se-px-20 se-br-5 se-bgc-f5"
v-if="seekInfo.categoryOne_dictText">{{seekInfo.categoryOne_dictText}}</text>
<text class="se-c-text-sub se-fs-22 se-mr-10 se-py-5 se-px-20 se-br-5 se-bgc-f5"
v-if="seekInfo.categoryTwo_dictText">{{seekInfo.categoryTwo_dictText}}</text>
</view>
<view class="se-flex se-flex-h-sb">
<view class="se-flex se-flex-h-c">
<u-icon name="map"></u-icon>
<text class="se-c-text-sub se-fs-24 se-pl-10 se-toe-3">{{seekInfo.address}}</text>
</view>
<view
style="flex-shrink: 0;"
class="se-c-orange se-fs-24 se-fw-6">
{{orderList.length}}个订单
</view>
</view>
</view>
<view class="se-p-40">
<view class="se-px-40 se-mb-30 se-py-30 se-bgc-white se-br-40 se-bs-b"
v-for="(item, index) in orderList"
:key="index"
@click="onOrderDetail(item)">
<view class="se-flex se-flex-h-sb se-fw-6 se-fs-32 se-pb-20">
<view class="se-flex">
</view>
<view class="se-c-red">
{{getStatusText(item.status)}}
</view>
</view>
<view class="se-flex se-bgc-f5 se-br-20 se-p-20">
<view class="se-w-160 se-h-160">
<image class="se-w-160 se-h-160 se-br-10" :src="item.employAuthenticationCompany ?
item.employAuthenticationCompany.headImg
: '/static/image/logo.png'" mode="aspectFill"></image>
</view>
<view class="se-ml-20 se-flex se-flex-v-sa se-flex-ai-fs se-flex-1">
<view class="se-fw-6 se-c-black se-fs-30 se-display-ib se-mb-10"
v-if="item.employAuthenticationCompany">
企业{{item.employAuthenticationCompany.name}}
</view>
<view class="se-fs-24 se-c-text-third se-display-ib se-mb-5"
v-if="item.employAuthenticationCompany">
联系电话{{item.employAuthenticationCompany.phone}}
</view>
<view class="se-fs-24 se-c-text-third se-display-ib se-mb-5">
聘用时间{{item.createTime | formatTime}}
</view>
<view class="se-fs-24 se-c-text-third se-display-ib se-mb-5"
v-if="item.employAuthenticationCompany">
公司地址{{item.employAuthenticationCompany.address}}
</view>
</view>
</view>
</view>
<u-empty v-if="orderList && orderList.length==0" mode="list" text="暂无订单信息"></u-empty>
</view>
</view>
</template>
<script>
import {
querySeekById
} from "@/common/api.js"
export default {
data() {
return {
orderList: [],
seekInfo: null,
seekId: null
}
},
filters: {
formatTime(time) {
if (!time) return '';
//
let timestamp;
if (typeof time === 'number') {
// 使
timestamp = time;
} else {
//
timestamp = new Date(time).getTime();
}
const currentTime = new Date().getTime();
const diff = (currentTime - timestamp) / 1000; //
//
const oneMonthInSeconds = 30 * 24 * 60 * 60;
if (diff > oneMonthInSeconds) {
let date = new Date(timestamp);
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (month < 10) month = "0" + month;
if (day < 10) day = "0" + day;
return `${year}-${month}-${day}`;
} else {
//
if (diff < 60) {
return `${Math.floor(diff)}秒钟前`;
} else if (diff < 60 * 60) {
return `${Math.floor(diff / 60)}分钟前`;
} else if (diff < 60 * 60 * 24) {
return `${Math.floor(diff / 60 / 60)}小时前`;
} else {
//
return `${Math.floor(diff / 60 / 60 / 24)}天前`;
}
}
}
},
onLoad(options) {
if (options.seekId) {
this.seekId = options.seekId;
}
},
onShow(){
this.getSeekDetail();
},
methods: {
getSeekDetail() {
querySeekById({ id: this.seekId }).then(response => {
if (response.success) {
this.seekInfo = response.result;
this.orderList = this.seekInfo.employOrder || [];
//
uni.setNavigationBarTitle({
title: `${this.seekInfo.employResume.name || this.seekInfo.hanHaiMember.nickName} - 订单列表`
});
} else {
uni.showToast({
title: '获取求职详情失败',
icon: 'none'
});
}
}).catch(error => {
console.error('获取求职详情失败:', error);
uni.showToast({
title: '网络错误',
icon: 'none'
});
});
},
getStatusText(status) {
const statusMap = {
0: '待确认',
1: '进行中',
2: '试工完成',
3: '企业确认',
4: '已支付',
5: '已完成',
6: '已取消'
};
return statusMap[status] || '未知状态';
},
onOrderDetail(order) {
uni.navigateTo({
url: `/pages_subpack/job-order-detail/index?orderId=${order.id}&type=true`
});
}
}
}
</script>
<style>
</style>

+ 13
- 83
pages_subpack/job-order-detail/index.vue View File

@ -1,55 +1,8 @@
<template>
<view class="u-page">
<view class="se-px-20 se-pt-40 se-flex-v-c">
<template v-if="stepsIndex==0">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46524.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">聘用师傅-师傅求职-等待师傅确认</text>
</view>
</template>
<template v-if="stepsIndex==1">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46524.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单进行中</text>
</view>
</template>
<template v-if="stepsIndex==2">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">企业待确认</text>
</view>
</template>
<template v-if="stepsIndex==3">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">企业待支付</text>
</view>
</template>
<template v-if="stepsIndex==4">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">求职者待确认</text>
</view>
</template>
<template v-if="stepsIndex==5">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单已完成</text>
</view>
</template>
<template v-if="stepsIndex==6">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单已取消</text>
</view>
</template>
</view>
<view class="se-px-20 se-py-40" v-if="stepsIndex != 6">
<u-steps activeColor="#FF7A31" :current="stepsIndex" dot>
<u-steps-item class="se-fs-22" v-for="(items,indexs) in stepsList" :key="indexs" :title="items.title">
<!-- <text class="se-fs-22" slot="title">{{items.title}}</text> -->
</u-steps-item>
</u-steps>
<!-- 使用状态组件 -->
<view class="se-px-20 se-pt-40">
<order-status :order-data="obj" page-type="job-order"></order-status>
</view>
<view class="se-px-20">
@ -62,20 +15,20 @@
style="background: #ff7a31; border: none; padding: 0; margin: 0; line-height: 50rpx;">
<text>联系客服</text>
</button>
<template v-if="stepsIndex==0">
<template v-if="obj.status==0">
<view @click="onCancel()"
class="se-mx-10 se-w-200 se-b se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-66 se-bgc-f5">
<text>取消</text>
</view>
</template>
<template v-if="stepsIndex == 2">
<template v-if="obj.status == 2">
<view @click="confirmOrderTryCompany()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>企业确认</text>
</view>
</template>
<template v-if="stepsIndex==3">
<template v-if="obj.status==3">
<view @click="onPay()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>去支付</text>
@ -93,7 +46,7 @@
style="background: #ff7a31; border: none; padding: 0; margin: 0; line-height: 50rpx;">
<text>联系客服</text>
</button>
<template v-if="stepsIndex==0">
<template v-if="obj.status==0">
<view @click="confirmOrder()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>接受工作</text>
@ -103,13 +56,13 @@
<text>取消</text>
</view>
</template>
<template v-if="stepsIndex==1">
<template v-if="obj.status==1">
<view @click="confirmOrderTry()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>确认试工完成</text>
</view>
</template>
<template v-if="stepsIndex==4">
<template v-if="obj.status==4">
<view @click="confirmOrderTryCompanyOk()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>确认到账</text>
@ -246,35 +199,13 @@
confirmOrderTryCompany,
confirmOrderTryCompanyOk,
} from "@/common/api.js"
import OrderStatus from "@/components/order-status/index.vue"
export default {
components: {
OrderStatus
},
data() {
return {
stepsIndex: 1,
stepsList: [{
title: "接单",
date: "10:21"
},
{
title: "进行",
date: "10:22"
},
{
title: "试工完成",
date: "10:23"
},
{
title: "企业确认",
date: "10:24"
},
{
title: "企业支付",
date: "10:25"
},
{
title: "企业完成",
date: "10:26"
}
],
detail: `<p>
1全日制大专以上学历艺术设计类相关专业;<br/>
2两年以上平面品牌视觉设计等相关工作经验能独立完成项目的设计工作 3C数码/个护健 类产品服务经验优先有乙方工作经验佳;<br/>
@ -301,7 +232,6 @@
}
orderDetail(params).then(response => {
that.obj = response.result
that.stepsIndex = response.result.status;
}).catch(error => {
})


+ 17
- 88
pages_subpack/order-detail/boss.vue View File

@ -1,56 +1,8 @@
<template>
<view class="u-page">
<view class="se-px-20 se-pt-40 se-flex-v-c">
<template v-if="stepsIndex==0">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46524.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">招聘发布-师傅接单-等待企业确认</text>
</view>
</template>
<template v-if="stepsIndex==1">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46524.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单进行中</text>
</view>
</template>
<template v-if="stepsIndex==2">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">试工完成</text>
</view>
</template>
<template v-if="stepsIndex==3">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">企业待支付</text>
</view>
</template>
<template v-if="stepsIndex==4">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单待完成</text>
</view>
</template>
<template v-if="stepsIndex==5">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单已完成</text>
</view>
<!-- <text class="se-c-orange se-mt-20 se-fs-24">124530有效</text> -->
</template>
<template v-if="stepsIndex==6">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单已取消</text>
</view>
</template>
</view>
<view class="se-px-20 se-py-40" v-if="stepsIndex != 6">
<u-steps activeColor="#FF7A31" :current="stepsIndex" dot>
<u-steps-item class="se-fs-22" v-for="(items,indexs) in stepsList" :key="indexs" :title="items.title">
<!-- <text class="se-fs-22" slot="title">{{items.title}}</text> -->
</u-steps-item>
</u-steps>
<!-- 使用状态组件 -->
<view class="se-px-20 se-pt-40">
<order-status :order-data="obj" page-type="order"></order-status>
</view>
<view class="se-px-20">
@ -64,7 +16,7 @@
<text>联系客服</text>
</button>
<template v-if="stepsIndex==0">
<template v-if="obj.status==0">
<view @click="confirmOrder()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>接收该员工</text>
@ -75,13 +27,13 @@
</view>
</template>
<template v-if="stepsIndex == 2">
<template v-if="obj.status == 2">
<view @click="confirmOrderTryCompany()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>企业确认</text>
</view>
</template>
<template v-if="stepsIndex==3">
<template v-if="obj.status==3">
<view @click="onPay()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>去支付</text>
@ -100,20 +52,20 @@
<text>联系客服</text>
</button>
<template v-if="stepsIndex==0">
<template v-if="obj.status==0">
<view @click="onCancel()"
class="se-mx-10 se-w-200 se-b se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-66 se-bgc-f5">
<text>取消</text>
</view>
</template>
<template v-if="stepsIndex==1">
<template v-if="obj.status==1">
<view @click="confirmOrderTry()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>确认试工完成</text>
</view>
</template>
<template v-if="stepsIndex==4">
<template v-if="obj.status==4">
<view @click="confirmOrderTryCompanyOk()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>确认到账</text>
@ -131,13 +83,13 @@
<text>联系客服</text>
</button>
</template>
<template v-if="stepsIndex == 2">
<template v-if="obj.status == 2">
<view @click="confirmOrderTryCompany()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>企业确认</text>
</view>
</template>
<template v-if="stepsIndex==3">
<template v-if="obj.status==3">
<view @click="onPay()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>去支付</text>
@ -249,7 +201,7 @@
</view>
</view>
<view @click.capture="onCustomerService(items.employAuthenticationPerson.phone)"
v-if="stepsIndex != 6"
v-if="obj.status != 6"
class="se-flex se-flex-h-c se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-fw-6">
<u-icon color="#FF7A31" name="phone-fill"></u-icon>
<text class="se-ml-5">联系他</text>
@ -290,7 +242,7 @@
{{items.employResume.brief}}
</view>
</view>
<view v-if="stepsIndex == 0" class="se-mt-20">
<view v-if="obj.status == 0" class="se-mt-20">
<text class="se-c-text-third se-fs-22">接单时间{{items.createTime}}</text>
</view>
</view>
@ -306,35 +258,13 @@
confirmOrder,
confirmOrderTryCompany,
} from "@/common/api.js"
import OrderStatus from "@/components/order-status/index.vue"
export default {
components: {
OrderStatus
},
data() {
return {
stepsIndex: 1,
stepsList: [{
title: "接单",
date: "10:21"
},
{
title: "进行",
date: "10:22"
},
{
title: "试工完成",
date: "10:23"
},
{
title: "企业确认",
date: "10:24"
},
{
title: "企业支付",
date: "10:25"
},
{
title: "企业完成",
date: "10:26"
}
],
detail: `<p>
1全日制大专以上学历艺术设计类相关专业;<br/>
2两年以上平面品牌视觉设计等相关工作经验能独立完成项目的设计工作 3C数码/个护健 类产品服务经验优先有乙方工作经验佳;<br/>
@ -361,7 +291,6 @@
}
orderDetail(params).then(response => {
that.obj = response.result
that.stepsIndex = response.result.status;
}).catch(error => {
})


+ 11
- 81
pages_subpack/order-detail/index.vue View File

@ -1,65 +1,18 @@
<template>
<view class="u-page">
<view class="se-px-20 se-pt-40 se-flex-v-c">
<template v-if="stepsIndex==0">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46524.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">招聘发布-师傅接单-等待企业确认</text>
</view>
</template>
<template v-if="stepsIndex==1">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46524.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单进行中</text>
</view>
</template>
<template v-if="stepsIndex==2">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">试工完成</text>
</view>
</template>
<template v-if="stepsIndex==3">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">企业待确认</text>
</view>
</template>
<template v-if="stepsIndex==4">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">企业待支付</text>
</view>
</template>
<template v-if="stepsIndex==5">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单已完成</text>
</view>
</template>
<template v-if="stepsIndex==6">
<view class="se-flex se-flex-h-c">
<image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
<text class="se-c-orange se-fs-30 se-ml-10">订单已取消</text>
</view>
</template>
</view>
<view class="se-px-20 se-py-40" v-if="stepsIndex != 6">
<u-steps activeColor="#FF7A31" :current="stepsIndex" dot>
<u-steps-item class="se-fs-22" v-for="(items,indexs) in stepsList" :key="indexs" :title="items.title">
<!-- <text class="se-fs-22" slot="title">{{items.title}}</text> -->
</u-steps-item>
</u-steps>
<!-- 使用状态组件 -->
<view class="se-px-20 se-pt-40">
<order-status :order-data="obj" page-type="order"></order-status>
</view>
<view class="se-px-20">
<view class="se-px-220 se-pb-30 se-fs-20 se-flex se-flex-h-c">
<template v-if="stepsIndex==0">
<template v-if="obj.status==0">
<view @click="onCancel()"
class="se-mx-10 se-w-200 se-b se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-66 se-bgc-f5">
<text>取消</text>
</view>
</template>
<template v-if="stepsIndex==1">
<template v-if="obj.status==1">
<view @click="confirmOrderTry()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>确认试工完成</text>
@ -69,7 +22,7 @@
<text>取消</text>
</view>
</template>
<template v-if="stepsIndex!=6">
<template v-if="obj.status!=6">
<button
open-type="contact"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange"
@ -77,7 +30,7 @@
<text>联系客服</text>
</button>
</template>
<template v-if="stepsIndex==4">
<template v-if="obj.status==4">
<view @click="confirmOrderTryCompanyOk()"
class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
<text>确认到账</text>
@ -198,35 +151,13 @@
confirmOrderTry,
confirmOrderTryCompanyOk,
} from "@/common/api.js"
import OrderStatus from "@/components/order-status/index.vue"
export default {
components: {
OrderStatus
},
data() {
return {
stepsIndex: 1,
stepsList: [{
title: "接单",
date: "10:21"
},
{
title: "进行",
date: "10:22"
},
{
title: "试工完成",
date: "10:23"
},
{
title: "企业确认",
date: "10:24"
},
{
title: "企业支付",
date: "10:25"
},
{
title: "企业完成",
date: "10:26"
}
],
detail: `<p>
1全日制大专以上学历艺术设计类相关专业;<br/>
2两年以上平面品牌视觉设计等相关工作经验能独立完成项目的设计工作 3C数码/个护健 类产品服务经验优先有乙方工作经验佳;<br/>
@ -251,7 +182,6 @@
}
orderDetail(params).then(response => {
that.obj = response.result
that.stepsIndex = response.result.status;
}).catch(error => {
})


+ 2
- 2
pages_subpack/release/component/master.vue View File

@ -34,8 +34,8 @@
</u-form-item>
<u-form-item label="结算方式" prop="settlement">
<u-radio-group v-model="form.settlement" placement="row">
<u-radio activeColor="#FF7A31" name="1" label="直接支付日薪"></u-radio>
<u-radio activeColor="#FF7A31" class="se-ml-20" name="2" label="试用以后支付"></u-radio>
<u-radio activeColor="#FF7A31" name="0" label="提前支付"></u-radio>
<u-radio activeColor="#FF7A31" class="se-ml-20" name="1" label="试用以后支付"></u-radio>
</u-radio-group>
</u-form-item>
<u-form-item label="薪资区间" prop="salary">


static/image/46524.png → static/image/order/46524.png View File


static/image/46525.png → static/image/order/46525.png View File


Loading…
Cancel
Save