doum
2025-09-01 4359b8c30f16ec165a3d9a8da5c11c9581e61740
small-program/pages/order-details/order-details.vue
@@ -4,13 +4,16 @@
         已取消
      </view> -->
      <view class="order-head" :style="{ backgroundImage: 'url(' + bgImg + ')' }">
         <view class="order-head-status">{{info.statusName || ''}}</view>
         <view class="order-head-info">{{getStatusInfo()}}</view>
         <view class="order-head-status">{{info.statusName || ''}}</view>
         <view class="order-head-info" v-if="userInfo.id === info.acceptMemberId && info.isUpdate ==1" style="color: red;">
            订单信息已修改,请及时确认,{{timeInfo}}后将自动同意
         </view>
         <view class="order-head-info" v-else >{{getStatusInfo()}}</view>
      </view>
      <view class="order-quxiao">
         <view class="order-quxiao-btn" @click="show = true" v-if="userInfo.id === info.acceptMemberId && info.status ===2">取消订单</view>
         <view class="order-quxiao-btn" @click="show = true" v-if="userInfo.id === info.releaseMemberId && (info.status ===0 ||  info.status ===1|| info.status ===2)">取消订单</view>
         <view class="order-quxiao-btn1" v-if="userInfo.id === info.releaseMemberId && (info.status ===0 ||  info.status ===1|| info.status ===2)" @click="jumpEdit()">修改订单</view>
         <view class="order-quxiao-btn" @click="show = true" v-if="userInfo.id === info.releaseMemberId  &&  info.isUpdate!=1 &&  info.status ===2">取消订单</view>
         <view class="order-quxiao-btn1" v-if="userInfo.id === info.releaseMemberId && info.type!=2 &&  info.isUpdate!=1 &&   info.status ===2 " @click="jumpEdit()">修改订单</view>
      </view>
      <view class="order-user"  v-if="userInfo.id === info.releaseMemberId && info.acceptMemberId">
         <view class="order-user-info">
@@ -21,7 +24,7 @@
               </view>
               <view class="user-info-l-i">
                  <view class="user-info-l-i-top">
                     <text>{{info.acceptName || '匿名'}}</text>
                     <text>{{info.acceptName || ''}}</text>
                     <view class="user-info-l-i-top-jdf">接单方</view>
                  </view>
                  <view class="user-info-l-i-bottom">
@@ -50,7 +53,7 @@
            <text v-if="info.type===2">订餐单</text>
            
         </view>
         <view v-if="info.type===0" class="order-info-wz">{{info.categoryName || ''}}|{{info.priceNum1 || '' }}斤</view>
         <view v-if="info.type===0" class="order-info-wz">{{info.categoryName || ''}}|{{info.priceNum1 || '' }}{{info.workType === 0?'斤':'人'}}</view>
         <view v-if="info.type===1" class="order-info-wz">{{info.transportTypeName || ''}}{{' | '}}{{info.transportNum || '' }}{{info.transportUnit||''}}{{' | '}}需{{info.priceNum2 || '' }}辆</view> 
         <view class="order-info-address">
            <image src="/static/icon/order_ic_location@2x.png" mode="widthFix"></image>
@@ -126,7 +129,7 @@
               <image v-if="info.releaseCoverImage" :src="info.releaseCoverImage" mode="widthFix"></image>
               <image v-else src="/static/icon/img@2x.png" mode="widthFix"></image>
            </view>
            <text>{{info.releaseName || '匿名'}}</text>
            <text>{{info.releaseName || ''}}</text>
            <view class="order-ren-left-tip">业主</view>
         </view>
         <view class="order-ren-x"></view>
@@ -176,20 +179,20 @@
      </view>
      <view style="width: 100%; height: calc(108rpx + env(safe-area-inset-bottom));" v-if="![99].includes(info.status)"></view>
      <view class="order-footer" v-if="![99].includes(info.status)">
         <template v-if="(userInfo.id === info.releaseMemberId) && info.status ===2">
         <template v-if="(userInfo.id === info.releaseMemberId) && info.isUpdate!=1 &&info.status ===2">
            <sunui-mverify hint="开始作业" @change="getaccept($event)"></sunui-mverify>
         </template>
         <view class="order-footer-btn" v-else> 
            <view class="order-footer-btn-a" @click="show = true" v-if="userInfo.id === info.acceptMemberId && info.status ===2">取消订单</view>
            <view class="order-footer-btn-a" @click="show = true" v-if="1==2&& userInfo.id === info.acceptMemberId && info.status ===2">取消订单</view>
            <view class="order-footer-btn-a" @click="show = true" v-if="userInfo.id === info.releaseMemberId && (info.status ===0 ||  info.status ===1|| info.status ===2)">取消订单</view>
            <view class="order-footer-btn-b" @click="show2=true" v-if="userInfo.id === info.releaseMemberId && (info.status ===4 && info.commentStatus!=1)">去评价</view>
            <view class="order-footer-btn-b" v-if="userInfo.id === info.releaseMemberId &&((info.status ===3 && info.type !==2)|| (info.status ===0 && info.type===2))" @click="show1 = true">{{info.type === 2 ? '继续支付' : '完成并支付'}}</view>
            
            <view class="order-footer-btn-b" v-if="userInfo.id === info.releaseMemberId && ((info.status ===3 && info.type===2))" @click="payment1">完成作业</view>
            
            <view class="order-footer-btn-b" v-if="userInfo.id === info.releaseMemberId && (info.status ===0 ||  info.status ===1|| info.status ===2)" @click="jumpEdit()">修改订单</view>
            <view class="order-footer-btn-b" v-if="info.type !=2 && info.isUpdate!=1&& userInfo.id === info.releaseMemberId && (info.status ===0 ||  info.status ===1|| info.status ===2)" @click="jumpEdit()">修改订单</view>
            <view class="order-footer-btn-b" @click="show5 =true" v-if="userInfo.id === info.acceptMemberId && (info.isUpdate==1 && info.status ===2)">修改确认</view>
            <view class="order-footer-btn-b" @click="startJobs()" v-if="userInfo.id === info.releaseMemberId && (info.status ===2)">开始作业</view>
            <!-- <view class="order-footer-btn-b" @click="startJobs()" v-if="userInfo.id === info.releaseMemberId && (info.status ===2)">开始作业</view> -->
            <view class="order-footer-btn-b"  @click="show6 =true" v-if="userInfo.id !== info.releaseMemberId && (info.status ===1)">抢单</view>
         </view>
         <view style="width: 100%; height: env(safe-area-inset-bottom);"></view>
@@ -268,7 +271,7 @@
               </view>
               <view class="zhifu-c-info1">支付金额:</view>
               <view class="zhifu-c-input">
                  <image src="/static/icon/¥@2x.png" mode="widthFix"></image>
                  <image src="/static/icon/ic_money@2x.png" mode="widthFix"></image>
                  <input type="number" v-model="amount" :disabled="info.type === 2" placeholder="请输入" />
               </view>
            </view>
@@ -314,9 +317,12 @@
            show2: false,
            count: 5, 
            show3:false,
            timer:null,
            show4:false,
            show5:false,
            show6:false,
            timeInfo:'00:00:00',
            lessTime:null,
            value:0,
            wayList:[],
            bgImg: require('@/static/image/bg_green@2x.png'),
@@ -330,7 +336,9 @@
      onLoad(options) {
         console.log(options)
         var id = options.id
         this.id = id
         this.id = id
      },
      onShow(options) {
         this.getOrderData()
      },
      methods:{
@@ -530,6 +538,9 @@
               }else if(this.info.status === 1){
                  return ''
               }else if(this.info.status === 2){
                  if(this.info.isUpdate==1){
                     return ''
                  }
                  return '您已接单,请按时完成订单任务'
               }else if(this.info.status === 3){
                  return '订单进行中,请按时完成订单任务'
@@ -545,7 +556,10 @@
               }else if(this.info.status === 1){
                  return '您订单已经成功发起,请耐心等待接单'
               }else if(this.info.status === 2){
                  return '订单开始作业后,请拖动下方“开始作业”按'
                  if(this.info.isUpdate==1){
                     return '订单已修改,请等待接单方确认'
                  }
                  return '订单已接单,请拖动下方“开始作业”按钮'
               }else if(this.info.status === 3){
                  return this.info.type!=2?'订单完成后请点击下方“完成并支付”按钮':'订单正在进行中'
               }else if(this.info.status === 4){
@@ -554,6 +568,21 @@
                  return '订单已取消'
               }
            }
         },
         updateTimeInfo(){
            if(this.timer){
               clearInterval(this.timer)
            }
            var that =this
            this.lessTime = Math.floor( Number(that.info.confirmCountdown || 0)/1000) ;
            this.timer =  setInterval(function(){
                  let h = Math.floor(that.lessTime/60/60) ;
                  let m = Math.floor((that.lessTime - h*60*60)/60);
                  let s=  Math.floor(that.lessTime- h*60*60 -m*60);
                  that.timeInfo =(h<10?'0':'')+ h+":"+(m<10?'0':'')+m+":"+(s<10?'0':'')+s;
                  that.lessTime =that.lessTime-1;
                  // console.log( that.timeInfo)
            },1000)
         },
         getOrderData(){
            var that = this
@@ -566,6 +595,9 @@
                     if(that.info.wayInfo){
                        that.wayList = JSON.parse(that.info.wayInfo)
                     }
                     if(res.data.isUpdate == 1){
                        that.updateTimeInfo()
                     }
                  }else{
                     uni.showToast({ title: '订单信息不存在', icon: 'error', duration: 2000 });
                  }