k94314517
2025-07-19 d52e728dc411aa8e43d37bda9f85bfc09871c1a0
small-program/pages/demand-hall/demand-hall.vue
@@ -11,7 +11,7 @@
      <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>
      
      <!-- 已登陆 -->
@@ -36,7 +36,7 @@
         </view>
         <!-- 发单方 -->
         <view class="index-list" v-if="typeViewId === 0">
            <view class="index-list-item" v-for="(item, index) in orderList" :key="index">
            <view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)">
               <view class="index-list-item-head">
                  <view class="index-list-item-head-l">
                     <view class="xoam"></view>
@@ -50,7 +50,7 @@
                  <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>
@@ -85,7 +85,7 @@
                  </view>
                  <view class="index-list-item-dz">
                     <image src="/static/icon/order_ic_time@2x.png" mode="widthFix"></image>
                     <text>{{item.startDate}} 至 {{item.endDate}}({{item.priceNum1}}天)</text>
                     <text>{{item.startDate}} 至 {{item.endDate}}({{item.totalDays}}天)</text>
                  </view>
               </template>
               <view class="index-list-item-price">
@@ -95,23 +95,20 @@
               <view class="eidt">
                  <view></view>
                  <view class="eidt-right">
                     <view class="eidt-close" v-if="[0,1,2].includes(item.status)" @click="orderId = item.id, show = true">取消订单</view>
                     <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="jumpEdit(item)">修改订单</view>
                     <view class="eidt-btn" v-if="(item.type === 2 && item.status === 0) ||  (item.type === 2 && item.status === 3)" @click="jumpEdit(item)">继续支付</view>
                     <!-- <view class="eidt-close">删除订单</view>
                     <view class="eidt-phone">联系师傅</view>
                     <view class="eidt-phone">评价订单</view>
                     <view class="eidt-btn">修改订单</view>
                     <view class="eidt-btn">完成并支付</view> -->
                     <view class="eidt-btn" v-if="[0,1,2].includes(item.status) && item.type !== 2" @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>
               </view>
            </view>
         </view>
         <!-- 接单方 -->
         <view class="index-list" v-if="typeViewId === 1">
            <view class="index-list-item" v-for="(item, index) in orderList" :key="index">
            <view class="index-list-item" v-for="(item, index) in orderList" :key="index" @click="jumpDesc(item)">
               <view class="index-list-item-head">
                  <view class="index-list-item-head-l">
                     <view class="xoam"></view>
@@ -174,90 +171,11 @@
                  <view class="eidt-tips" v-else></view>
                  
                  <view class="eidt-right">
                     <view class="eidt-close" v-if="item.status === 2" @click="orderId = item.id, show = true">取消订单</view>
                     <view class="eidt-phone" v-if="[2,3].includes(item.status)" @click="phoneCall(item.linkPhone)">联系业主</view>
                     <!-- <view class="eidt-close">删除订单</view>
                     <view class="eidt-phone">联系师傅</view>
                     <view class="eidt-phone">评价订单</view>
                     <view class="eidt-btn">修改订单</view>
                     <view class="eidt-btn">完成并支付</view> -->
                     <view class="eidt-close" v-if="item.status === 2" @click.stop="orderId = item.id, show = true">取消订单</view>
                     <view class="eidt-phone" v-if="[2,3].includes(item.status)" @click.stop="phoneCall(item.linkPhone)">联系业主</view>
                  </view>
               </view>
            </view>
            <!-- <view class="index-list-item">
               <view class="index-list-item-head">
                  <view class="index-list-item-head-l">
                     <view class="xoam"></view>
                     <text>运货单-小货车-厢式</text>
                     <view class="tips1">自主抢单</view>
                  </view>
                  <view class="index-list-item-head-r">已接单</view>
               </view>
               <view class="index-list-item-info">
                  葡萄|20000斤|需2辆
               </view>
               <view class="index-list-item-date">
                  <image src="/static/icon/order_ic_time@2x.png" mode="widthFix"></image>
                  <text>07-26 至 07-27(2天)</text>
               </view>
               <view class="address">
                  <view class="address-xian"></view>
                  <view class="address-row">
                     <image src="/static/icon/ic_qidian@2x.png" mode="widthFix"></image>
                     <text>长江西路大蜀山森林公园西门保安室</text>
                  </view>
                  <view class="address-row">
                     <image src="/static/icon/ic_jingguo@2x.png" mode="widthFix"></image>
                     <text>长江西路大蜀山森林公园东门保安室</text>
                  </view>
                  <view class="address-row">
                     <image src="/static/icon/ic_zhongdian@2x.png" mode="widthFix"></image>
                     <text>安徽莲花科技产业园豆米科技有限公司</text>
                  </view>
               </view>
               <view class="index-list-item-price">
                  <text>预估:</text>
                  <text>¥1000.00</text>
               </view>
               <view class="eidt">
                  <view></view>
                  <view class="eidt-right">
                     <view class="eidt-close">取消订单</view>
                  </view>
               </view>
            </view> -->
            <!-- <view class="index-list-item">
               <view class="index-list-item-head">
                  <view class="index-list-item-head-l">
                     <view class="xoam"></view>
                     <text>用工单-采摘工</text>
                     <view class="tips1">自主抢单</view>
                  </view>
                  <view class="index-list-item-head-r">待接单</view>
               </view>
               <view class="index-list-item-info">
                  葡萄|2000斤
               </view>
               <view class="index-list-item-dz">
                  <image src="/static/icon/order_ic_location@2x.png" mode="widthFix"></image>
                  <text>长江西路大蜀山森林公园西门保安室</text>
               </view>
               <view class="index-list-item-dz">
                  <image src="/static/icon/order_ic_time@2x.png" mode="widthFix"></image>
                  <text>07-26 至 07-27(2天)</text>
               </view>
               <view class="index-list-item-price">
                  <text>预估:</text>
                  <text>¥1000.00</text>
               </view>
               <view class="eidt">
                  <view></view>
                  <view class="eidt-right">
                     <view class="eidt-close">取消订单</view>
                  </view>
               </view>
            </view> -->
         </view>
      </template>
      
@@ -288,12 +206,21 @@
      onShow(options) {
         this.typeViewId = 0
         if(this.token && this.token != '' && this.userInfo && JSON.stringify(this.userInfo) != '{}'){
            console.log('已登陆')
            this.isLogin = true
            if (!this.isOnce) {
               this.commentStatus = ''
               this.orderList = []
               this.next = true
               this.page = 1
               this.getOrderList()
            }
         } else {
            this.isLogin = false
            console.log('未登陆')
         }
         if (this.userInfo && this.userInfo.useIdentity == 1) {
            this.typeViewId = 1
         } else {
            this.typeViewId = 0
         }
      },
      data() {
@@ -324,7 +251,8 @@
            
            next: true,
            page: 1,
            orderList: []
            orderList: [],
            isOnce: true
         };
      },
      async onLoad() {
@@ -344,6 +272,30 @@
         this.getOrderList()
      },
      methods: {
         toLogin() {
            uni.navigateTo({
               url: '/pages/login/login'
            })
         },
         startJobs(orderId) {
            this.$u.api.begin({ orderId })
               .then(res => {
                  if (res.code === 200) {
                     this.status = ''
                     this.commentStatus = ''
                     this.orderList = []
                     this.next = true
                     this.page = 1
                     this.getOrderList()
                  }
               })
         },
         jumpDesc(item) {
            uni.navigateTo({
               url: `/pages/order-details/order-details?id=${item.id}`
            })
         },
         // 修改
         jumpEdit(item) {
            if (item.type === 0 && item.workType === 0) {
@@ -358,17 +310,24 @@
               uni.navigateTo({
                  url: `/pages/packaging-worker/packaging-worker?id=${item.id}`
               })
            } else if (item.type === 1) {
               uni.navigateTo({
                  url: `/pages/freight/freight?id=${item.id}`
               })
            }
         },
         cancelOrder() {
            this.$u.api.receiveCancelOrder({
            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) {
@@ -389,6 +348,8 @@
                  queryLgt: this.longitude
               }
            }).then(res => {
               if (res.code !== 200) return;
               this.isOnce = false
               res.data.records.forEach(item => {
                  // 订餐单
                  if (item.type === 2) {
@@ -404,6 +365,8 @@
               
               if (this.orderList.length === res.data.total) {
                  this.next = false
               } else {
                  this.page += 1
               }
            })
         },
@@ -522,6 +485,7 @@
                  display: flex;
                  align-items: center;
                  justify-content: flex-end;
                  flex-wrap: wrap;
                  .eidt-close {
                     width: 160rpx;
                     height: 64rpx;