| | |
| | | <text>我的订单</text> |
| | | </view> |
| | | </view> |
| | | |
| | | <!-- 未登录 --> |
| | | <view class="index-wu" v-if="!isLogin"> |
| | | <image src="/static/icon/default_login@2x.png" mode="widthFix"></image> |
| | | <text>您还没有登录,请登录后查看订单</text> |
| | | <button>登录</button> |
| | | <button @click="toLogin">登录</button> |
| | | </view> |
| | | |
| | | <!-- 已登陆 --> |
| | | <template v-else> |
| | | <!-- 发单方 --> |
| | | <view class="index-labs" v-if="typeViewId === 0" :style="{ top: statusbarHeight + navHeight + 'px' }"> |
| | | <scroll-view scroll-x class="scroll-view_H"> |
| | | <view :class="item.id === status ? 'index-labs-row active' : 'index-labs-row'" v-for="(item, index) in list1" :key="index" @click="clickOrderType(item.id)"> |
| | | <scroll-view scroll-x class="scroll-view_H" :scroll-into-view="'view'+status"> |
| | | <view :class="item.id === status ? 'index-labs-row active' : 'index-labs-row'" v-for="(item, index) in list1" :id="'view'+item.id" :key="item.id" @click="clickOrderType(item.id)"> |
| | | {{item.name}} |
| | | <view class="index-labs-row-x" v-if="item.id === status"></view> |
| | | </view> |
| | |
| | | </view> |
| | | <!-- 接单方 --> |
| | | <view class="index-labs" v-if="typeViewId === 1" :style="{ top: statusbarHeight + navHeight + 'px' }"> |
| | | <scroll-view scroll-x class="scroll-view_H"> |
| | | <view :class="item.id === status ? 'index-labs-row active' : 'index-labs-row'" v-for="(item, index) in list" :key="index" @click="clickOrderType(item.id)"> |
| | | <scroll-view scroll-x class="scroll-view_H" :scroll-into-view="'view'+status"> |
| | | <view :class="item.id === status ? 'index-labs-row active' : 'index-labs-row'" v-for="(item, index) in list" :id="'view'+item.id" :key="item.id" @click="clickOrderType(item.id)"> |
| | | {{item.name}} |
| | | <view class="index-labs-row-x" v-if="item.id === status"></view> |
| | | </view> |
| | |
| | | </view> |
| | | <!-- 发单方 --> |
| | | <view class="index-list" v-if="typeViewId === 0"> |
| | | <view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)"> |
| | | <view class="index-list-wu" v-if="orderList.length === 0"> |
| | | <text>已加载全部数据</text> |
| | | </view> |
| | | <view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)" v-else> |
| | | <view class="index-list-item-head"> |
| | | <view class="index-list-item-head-l"> |
| | | <view class="xoam"></view> |
| | | <text v-if="item.type === 0 && item.workType === 0">用工单 - 采摘工</text> |
| | | <text v-else-if="item.type === 0 && item.workType === 1">用工单 - 分拣工</text> |
| | | <text v-else-if="item.type === 0 && item.workType === 2">用工单 - 包装工</text> |
| | | <text v-else-if="item.type === 1">运货单-{{item.categoryName}}-{{item.carUnit}}</text> |
| | | <text v-else-if="item.type === 1">运货单 - {{item.categoryName}}</text> |
| | | <text v-else-if="item.type === 2">订餐单</text> |
| | | </view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 1">待接单方接单</view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 0 || item.status === 5">待支付</view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 1">待接单</view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 2">已接单</view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 3">进行中</view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 2 && item.isUpdate === 1">已修改,待接单方确认</view> |
| | | <view class="index-list-item-head-r hui" v-if="item.status === 4">已完成</view> |
| | | <view class="index-list-item-head-r hui" v-if="item.status === 4 && item.commentStatus !== 0">已完成</view> |
| | | <view class="index-list-item-head-r hui" v-if="item.status === 99">已取消</view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 4 && item.commentStatus === 0">待评价</view> |
| | | </view> |
| | |
| | | {{item.categoryName}}|{{item.priceNum1}}斤 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 1"> |
| | | {{item.categoryName}}|{{item.priceNum1}}人 |
| | | {{item.categoryName}}|{{item.priceNum2}}人 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2"> |
| | | {{item.categoryName}}|{{item.priceNum1}}人 |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 0"> |
| | | {{item.categoryName}}|{{item.priceNum1}}天 | {{item.priceNum2}}人 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 1"> |
| | | {{item.categoryName}}|{{item.priceNum1}}小时 | {{item.priceNum2}}人 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 2"> |
| | | {{item.categoryName}}|{{item.priceNum1}}斤 | {{item.priceNum2}}人 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 1"> |
| | | {{item.transportTypeName}} | {{item.transportNum}}{{item.transportUnit}}|用车{{item.priceNum1}}天 |
| | | {{item.carUnit}} | {{item.transportTypeName}} | {{item.transportNum}}{{item.transportUnit}}|用车{{item.priceNum1}}{{item.carType === 0?"天":"次"}} |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 2"> |
| | | {{item.wayInfoCopy}} |
| | |
| | | <image src="/static/icon/ic_qidian@2x.png" mode="widthFix" v-if="i === 0"></image> |
| | | <image src="/static/icon/ic_jingguo@2x.png" mode="widthFix" v-else-if="i !== 0 && i !== item.wayInfo.length - 1"></image> |
| | | <image src="/static/icon/ic_zhongdian@2x.png" mode="widthFix" v-else-if="i === item.wayInfo.length - 1"></image> |
| | | <text>{{item.location}}</text> |
| | | <text>{{address.location}}</text> |
| | | </view> |
| | | </view> |
| | | <template v-if="[0, 2].includes(item.type)"> |
| | |
| | | <text>{{item.startDate}} 至 {{item.endDate}}({{item.totalDays}}天)</text> |
| | | </view> |
| | | </template> |
| | | <view class="index-list-item-price"> |
| | | <text>预估:</text> |
| | | <text>¥{{item.estimatedAccount / 100}}</text> |
| | | <view class="index-list-item-price"> |
| | | <text v-if="item.status==4 || item.type==2">已支付:</text> |
| | | <text v-if="item.status!=4&& item.type!=2">预估:</text> |
| | | <text>¥{{item.payAccount / 100}}</text> |
| | | </view> |
| | | <view class="eidt"> |
| | | <view></view> |
| | | <view> |
| | | <view class="eidt-tips" v-if="item.status === 2 && item.isUpdate == 1"><text>已修改,待接单方确认</text></view> |
| | | <view class="eidt-tips" v-if="item.status === 5"> |
| | | <image src="/static/icon/ic_tip@2x.png" mode="widthFix"></image> |
| | | <text>接单方已确认费用,请支付</text> |
| | | </view> |
| | | </view> |
| | | <view class="eidt-right"> |
| | | <view class="eidt-close" v-if="[0,1,2].includes(item.status)" @click.stop="orderId = item.id, show = true">取消订单</view> |
| | | <view class="eidt-phone" v-if="[2].includes(item.status)">联系师傅</view> |
| | | <view class="eidt-phone" v-if="item.status === 4 && item.commentStatus === 0">评价订单</view> |
| | | <view class="eidt-btn" v-if="[0,1,2].includes(item.status)" @click.stop="jumpEdit(item)">修改订单</view> |
| | | <view class="eidt-btn" v-if="(item.type === 2 && item.status === 0) || (item.type === 2 && item.status === 3)" @click.stop="jumpEdit(item)">继续支付</view> |
| | | <view class="eidt-btn" v-if="item.status === 2" @click.stop="startJobs(item.id)">开始作业</view> |
| | | <view class="eidt-btn" v-if="item.status === 3" @click.stop="jumpDesc(item)">完成并支付</view> |
| | | <view class="eidt-btn" v-if="[0,1,2].includes(item.status) && item.type !== 2 && item.isUpdate!=1" @click.stop="jumpEdit(item)">修改订单</view> |
| | | <view class="eidt-btn" v-if="(item.type == 2 && item.status === 0)" @click.stop="jumpDesc(item,1)">继续支付</view> |
| | | <!-- <view class="eidt-btn" v-if="item.status === 2" @click.stop="startJobs(item.id)">开始作业</view> --> |
| | | <view class="eidt-btn" v-if="item.type != 2 && item.status === 5" @click.stop="jumpDesc(item,2)">立即支付</view> |
| | | <view class="eidt-btn" v-if="item.type == 2 && item.status === 3" @click.stop="jumpDesc(item)">完成作业</view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <!-- 接单方 --> |
| | | <view class="index-list" v-if="typeViewId === 1"> |
| | | <view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)"> |
| | | <view class="index-list-wu" v-if="orderList.length === 0"> |
| | | <text>已加载全部数据</text> |
| | | </view> |
| | | <view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)" v-else> |
| | | <view class="index-list-item-head"> |
| | | <view class="index-list-item-head-l"> |
| | | <view class="xoam"></view> |
| | | <text v-if="item.type === 0 && item.workType === 0">用工单 - 采摘工</text> |
| | | <text v-else-if="item.type === 0 && item.workType === 1">用工单 - 分拣工</text> |
| | | <text v-else-if="item.type === 0 && item.workType === 2">用工单 - 包装工</text> |
| | | <text v-else-if="item.type === 1">运货单-{{item.categoryName}}-{{item.carUnit}}</text> |
| | | <text v-else-if="item.type === 1">运货单 - {{item.categoryName}}</text> |
| | | <text v-else-if="item.type === 2">订餐单</text> |
| | | <view class="tips" v-if="item.acceptType === 1">系统派单</view> |
| | | <view class="tips1" v-if="item.acceptType === 0">手动接单</view> |
| | | <view class="tips" v-if="item.acceptType === 1">派单</view> |
| | | <view class="tips1" v-if="item.acceptType === 0">抢单</view> |
| | | </view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 0 || item.status === 5">待支付</view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 2">已接单</view> |
| | | <view class="index-list-item-head-r" v-if="item.status === 3">进行中</view> |
| | | <view class="index-list-item-head-r hui" v-if="item.status === 4">已完成</view> |
| | |
| | | {{item.categoryName}}|{{item.priceNum1}}斤 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 1"> |
| | | {{item.categoryName}}|{{item.priceNum1}}人 |
| | | {{item.categoryName}}|{{item.priceNum2}}人 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2"> |
| | | {{item.categoryName}}|{{item.priceNum1}}人 |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 0"> |
| | | {{item.categoryName}}|{{item.priceNum1}}天 |{{item.priceNum2}}人 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 1"> |
| | | {{item.categoryName}}|{{item.priceNum1}}小时 |{{item.priceNum2}}人 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 0 && item.workType === 2&& item.carType === 2"> |
| | | {{item.categoryName}}|{{item.priceNum1}}斤 |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 1"> |
| | | {{item.transportTypeName}} | {{item.transportNum}}{{item.transportUnit}}|用车{{item.priceNum1}}天 |
| | | {{item.carUnit}} | {{item.transportTypeName}} | {{item.transportNum}}{{item.transportUnit}}|用车{{item.priceNum1}}{{item.carType === 0?"天":"次"}} |
| | | </view> |
| | | <view class="index-list-item-info" v-if="item.type === 2"> |
| | | {{item.wayInfoCopy}} |
| | |
| | | <image src="/static/icon/ic_qidian@2x.png" mode="widthFix" v-if="i === 0"></image> |
| | | <image src="/static/icon/ic_jingguo@2x.png" mode="widthFix" v-else-if="i !== 0 && i !== item.wayInfo.length - 1"></image> |
| | | <image src="/static/icon/ic_zhongdian@2x.png" mode="widthFix" v-else-if="i === item.wayInfo.length - 1"></image> |
| | | <text>{{item.location}}</text> |
| | | <text>{{address.location}}</text> |
| | | </view> |
| | | </view> |
| | | <template v-if="[0, 2].includes(item.type)"> |
| | |
| | | </view> |
| | | </template> |
| | | <view class="index-list-item-price"> |
| | | <text>预估:</text> |
| | | <text>¥{{item.estimatedAccount / 100}}</text> |
| | | <text v-if="item.status==4">已支付:</text> |
| | | <text v-if="item.status!=4">预估:</text> |
| | | <text>¥{{item.payAccount / 100}}</text> |
| | | </view> |
| | | <view class="eidt"> |
| | | <view class="eidt-tips" v-if="item.isUpdate === 1"> |
| | |
| | | computed: { |
| | | ...mapState(['navHeight', 'statusbarHeight','userInfo','token','openid', 'latitude', 'longitude']) |
| | | }, |
| | | onShow(options) { |
| | | async onShow(options) { |
| | | var flag = getApp().globalData.orderStatus |
| | | console.log(getApp().globalData,"=====================================") |
| | | // this.status = '' |
| | | // this.commentStatus='' |
| | | // status: this.status === 5 ? 4 : this.status, |
| | | // commentStatus: this.status === 5 ? 0 : '', |
| | | if(flag =='1'){//发单方待接单 |
| | | this.status = 1 |
| | | }else if(flag =='2'){//发单方进行中 |
| | | this.status = 3 |
| | | }else if(flag =='3'){//发单方待评价 |
| | | this.status = 5 |
| | | }else if(flag =='4'){//接单方已接单 |
| | | this.status =2 |
| | | }else if(flag =='5'){//接单方进行中 |
| | | this.status =3 |
| | | }else if(flag =='6'){//接单方已完成 |
| | | this.status =4 |
| | | } |
| | | this.typeViewId = 0 |
| | | if(this.token && this.token != '' && this.userInfo && JSON.stringify(this.userInfo) != '{}'){ |
| | | console.log('已登陆') |
| | | this.isLogin = true |
| | | } |
| | | if (this.userInfo && this.userInfo.useIdentity == 1) { |
| | | this.typeViewId = 1 |
| | | if (this.userInfo && this.userInfo.useIdentity == 1) { |
| | | this.typeViewId = 1 |
| | | } |
| | | if (!this.isOnce) { |
| | | this.commentStatus = '' |
| | | this.orderList = [] |
| | | this.next = true |
| | | this.page = 1 |
| | | this.getOrderList() |
| | | } |
| | | } else { |
| | | this.typeViewId = 0 |
| | | this.isLogin = false |
| | | console.log('未登陆') |
| | | } |
| | | }, |
| | | data() { |
| | |
| | | { name: '全部', id: '' }, |
| | | { name: '已接单', id: 2 }, |
| | | { name: '进行中', id: 3 }, |
| | | { name: '待支付', id: 5 }, |
| | | { name: '已完成', id: 4 }, |
| | | { name: '已取消', id: 99 }, |
| | | // { name: '已取消', id: 99 }, |
| | | ], |
| | | list1: [ |
| | | { name: '全部', id: '' }, |
| | | { name: '待支付', id: 0 }, |
| | | { name: '待接单', id: 1 }, |
| | | { name: '已接单', id: 2 }, |
| | | { name: '进行中', id: 3 }, |
| | | { name: '进行中', id: 3 }, |
| | | { name: '已完成', id: 4 }, |
| | | { name: '已取消', id: 99 }, |
| | | { name: '待评价', id: [4, 0] } |
| | | { name: '待评价', id: 6 } |
| | | ], |
| | | orderId: null, |
| | | status: '', |
| | |
| | | |
| | | next: true, |
| | | page: 1, |
| | | orderList: [] |
| | | orderList: [], |
| | | isOnce: true |
| | | }; |
| | | }, |
| | | async onLoad() { |
| | |
| | | this.getOrderList() |
| | | }, |
| | | methods: { |
| | | toLogin() { |
| | | uni.navigateTo({ |
| | | url: '/pages/login/login' |
| | | }) |
| | | }, |
| | | startJobs(orderId) { |
| | | this.$u.api.begin({ orderId }) |
| | | .then(res => { |
| | | this.status = '' |
| | | this.commentStatus = '' |
| | | this.orderList = [] |
| | | this.next = true |
| | | this.page = 1 |
| | | this.getOrderList() |
| | | if (res.code === 200) { |
| | | this.status = '' |
| | | this.commentStatus = '' |
| | | this.orderList = [] |
| | | this.next = true |
| | | this.page = 1 |
| | | this.getOrderList() |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | jumpDesc(item) { |
| | | jumpDesc(item,flag) { |
| | | uni.navigateTo({ |
| | | url: `/pages/order-details/order-details?id=${item.id}` |
| | | url: `/pages/order-details/order-details?id=${item.id}&flag=${flag}` |
| | | }) |
| | | }, |
| | | // 修改 |
| | |
| | | this.$u.api.cancelOrder({ |
| | | orderId: this.orderId |
| | | }).then(res => { |
| | | this.show = false |
| | | this.orderList = [] |
| | | this.next = true |
| | | this.page = 1 |
| | | this.getOrderList() |
| | | if (res.code === 200) { |
| | | this.show = false |
| | | this.orderList = [] |
| | | this.next = true |
| | | this.page = 1 |
| | | this.getOrderList() |
| | | } |
| | | |
| | | }) |
| | | }, |
| | | phoneCall(phoneNumber) { |
| | |
| | | page: this.page, |
| | | model: { |
| | | queryMyOrderType: this.userInfo.useIdentity, |
| | | status: this.status, |
| | | status: this.status === 6 ? 4 : this.status, |
| | | commentStatus: this.status === 6 ? 0 : '', |
| | | queryLat: this.latitude, |
| | | queryLgt: this.longitude |
| | | } |
| | | }).then(res => { |
| | | if (res.code !== 200) return; |
| | | this.isOnce = false |
| | | res.data.records.forEach(item => { |
| | | // 订餐单 |
| | | if (item.type === 2) { |
| | |
| | | }) |
| | | }, |
| | | clickOrderType(id) { |
| | | if (typeof id === 'object') { |
| | | this.status = id[0] |
| | | this.commentStatus = id[1] |
| | | } else { |
| | | // if (typeof id === 5) { |
| | | // this.status = 5 |
| | | // // this.commentStatus = 0 |
| | | // } else { |
| | | this.commentStatus = '' |
| | | this.status = id |
| | | } |
| | | // } |
| | | this.orderList = [] |
| | | this.next = true |
| | | this.page = 1 |
| | |
| | | width: 100%; |
| | | padding: 20rpx 30rpx; |
| | | box-sizing: border-box; |
| | | .index-list-wu { |
| | | width: 100%; |
| | | margin-top: 40rpx; |
| | | text-align: center; |
| | | text { |
| | | font-size: 24rpx; |
| | | color: #666666; |
| | | } |
| | | } |
| | | .index-list-item { |
| | | width: 100%; |
| | | padding: 30rpx; |
| | |
| | | .active { |
| | | font-weight: 500 !important; |
| | | font-size: 32rpx !important; |
| | | color: #222222 !important; |
| | | color: #00BC12 !important; |
| | | } |
| | | .index-labs-row { |
| | | display: inline-block; |
| | |
| | | font-size: 30rpx; |
| | | color: #666666; |
| | | position: relative; |
| | | margin-right: 62rpx; |
| | | margin-right: 50rpx; |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | |
| | | bottom: 0; |
| | | left: 50%; |
| | | width: 40rpx; |
| | | height: 2rpx; |
| | | height: 4rpx; |
| | | background-color: #00BC12; |
| | | transform: translate(-50%, 0); |
| | | } |