xuxueyang
2024-07-24 e7731f1cf08331d23cd0d27549025a2642caa9ab
sub_pages/partner/order-manage/order-manage.vue
@@ -1,156 +1,202 @@
<template>
   <view class="list-container order-settlement supplier">
      <view class="component-tab-container m-t-12">
         <view class="tab-item" :class="[tabIndex==0?'cur':'']" @click="changeIndex(0)">待配送</view>
         <view class="tab-item" :class="[tabIndex==1?'cur':'']" @click="changeIndex(1)">已配送</view>
      </view>
      <view class="p15" style="min-height: calc(100vh - 160rpx);">
         <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
         <view v-for="(item,index) in list" :key="index" class="m-b-24 order-settlement-list list-container">
            <view class="order-settlement-item list-item">
               <view class="title flex">
                  <view>
                     订单:27799880327543
                  </view>
                  <view class="status m-l-a m-r-0">已结算</view>
               </view>
               <view class="button-green-1">确认配送完成</view>
            </view>
         </view>
      </view>
  <view class="list-container order-settlement supplier">
    <view class="component-tab-container m-t-12">
      <view class="tab-item" :class="[tabIndex===0?'cur':'']" @click="changeIndex(0)">全部</view>
      <view class="tab-item" :class="[tabIndex===1?'cur':'']" @click="changeIndex(1)">待配送</view>
      <view class="tab-item" :class="[tabIndex===2?'cur':'']" @click="changeIndex(2)">待收货</view>
      <!-- 判断是否到底了,自动吧 -->
      <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
    </view>
   </view>
    <view class="p15" style="min-height: calc(100vh - 160rpx);">
      <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
      <view v-for="(item,index) in list" :key="index" class="m-b-24 order-settlement-list list-container"
            @click.stop="toDetail(item)">
        <view class="order-settlement-item list-item">
          <view class="title flex">
            <view>
              订单:{{ item.orderNo }}
            </view>
            <view class="status t-red m-l-a m-r-0">{{ item.paymentAmount }}</view>
          </view>
          <view class="desc flex">
            <view class="label">
              订单状态:
            </view>
            <view class="value">{{ item.statusBackendStr }}</view>
          </view>
          <view class="desc flex">
            <view class="label">
              收货人:
            </view>
            <view class="value">{{ item.customer }}</view>
          </view>
          <view class="desc flex">
            <view class="label">
              收货人手机号码:
            </view>
            <view class="value">{{ item.customerTel }}</view>
          </view>
          <view class="desc flex">
            <view class="label">
              收货地址:
            </view>
            <view class="value">{{ item.customerAddress }}</view>
          </view>
          <view class="desc flex">
            <view class="label">
              支付时间:
            </view>
            <view class="value">{{ item.paymentTime }}</view>
          </view>
          <view class="button-green-1" v-if="false">确认配送完成</view>
        </view>
      </view>
    </view>
    <!-- 判断是否到底了,自动吧 -->
    <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
  </view>
</template>
<script>
   export default {
      data() {
         return {
            tabIndex: 0,
         }
      },
      onLoad() {
         this.listApi = ''
         this.getList()
export default {
  data() {
    return {
      tabIndex: 0,
      status: ['', 'SEND', 'RECEIVE'],
      query: {
        status: '',
      }
    }
  },
  onLoad() {
    this.listApi = `/api/partner/list`
    this.getList()
      },
      onReachBottom() {
         this.page.current += 1
         this.getMore()
      },
      async onPullDownRefresh() {
         this.page.current = 1
         await this.getList()
         uni.stopPullDownRefresh()
      },
      methods: {
         changeIndex(index) {
            if (this.tabIndex !== index) {
               this.tabIndex = index
               // 刷新 query
               this.refreshList()
            }
         },
         toDetail(item) {
            // uni.navigateTo({
            //    url: `/pages/notice/notice?id=${item.id}`
            // })
         }
      }
   }
  },
  onReachBottom() {
    this.page.current += 1
    this.getMore()
  },
  async onPullDownRefresh() {
    this.page.current = 1
    await this.getList()
    uni.stopPullDownRefresh()
  },
  methods: {
    toDetail(item) {
      //  订单详情页面
      uni.navigateTo({
        url: 'pages/order/order-detail?id=' + item.id
      })
    },
    changeIndex(index) {
      if (this.tabIndex !== index) {
        this.tabIndex = index
        this.query.status = this.status[index]
        // 刷新 query
        this.refreshList()
      }
    },
  }
}
</script>
<style lang="scss" scope>
   .order-settlement-list {
      .order-settlement-item {
         margin-bottom: 20rpx;
         padding: 28rpx;
.order-settlement-list {
  .order-settlement-item {
    margin-bottom: 20rpx;
    padding: 28rpx;
         .title {
            font-weight: 600;
            font-size: 28rpx;
            color: #000000;
            line-height: 40rpx;
    .title {
      font-weight: 600;
      font-size: 28rpx;
      color: #000000;
      line-height: 40rpx;
            .status {
               font-weight: 400;
               font-size: 28rpx;
               color: #20613D;
               line-height: 40rpx;
            }
      .status {
        font-weight: 400;
        font-size: 28rpx;
        color: #20613D;
        line-height: 40rpx;
      }
            .status.red {
               color: #CF0000;
            }
      .status.red {
        color: #CF0000;
      }
            .status.green {
               color: var(--topiccolor);
            }
         }
      .status.green {
        color: var(--topiccolor);
      }
    }
    .desc{
      font-weight: 400;
      font-size: 24rpx;
      color: #666666;
      line-height: 34rpx;
    }
         .line {
            height: 2rpx solid #EEEEEE;
            margin-top: 16rpx;
            margin-bottom: 16rpx;
         }
    .line {
      height: 2rpx solid #EEEEEE;
      margin-top: 16rpx;
      margin-bottom: 16rpx;
    }
         .tj {
            .label {
               font-weight: 600;
               font-size: 28rpx;
               color: #000000;
               line-height: 40rpx;
            }
    .tj {
      .label {
        font-weight: 600;
        font-size: 28rpx;
        color: #000000;
        line-height: 40rpx;
      }
            .value {
               font-weight: 400;
               font-size: 28rpx;
               color: #CF0000;
               line-height: 40rpx;
            }
         }
      .value {
        font-weight: 400;
        font-size: 28rpx;
        color: #CF0000;
        line-height: 40rpx;
      }
    }
         .form {
            display: flex;
    .form {
      display: flex;
            .form-item {
               flex: 1;
               min-width: 26%;
               max-width: 33%;
      .form-item {
        flex: 1;
        min-width: 26%;
        max-width: 33%;
               .label {
                  font-weight: 400;
                  font-size: 24rpx;
                  color: #666666;
                  line-height: 34rpx;
               }
        .label {
          font-weight: 400;
          font-size: 24rpx;
          color: #666666;
          line-height: 34rpx;
        }
               .label::after {
                  content: ":";
                  font-weight: 400;
                  font-size: 24rpx;
                  color: #666666;
                  line-height: 34rpx;
               }
        .label::after {
          content: ":";
          font-weight: 400;
          font-size: 24rpx;
          color: #666666;
          line-height: 34rpx;
        }
               .value {
                  font-weight: 400;
                  font-size: 24rpx;
                  color: #000000;
                  line-height: 34rpx;
               }
        .value {
          font-weight: 400;
          font-size: 24rpx;
          color: #000000;
          line-height: 34rpx;
        }
               .value.red {
                  color: #CF0000;
               }
            }
        .value.red {
          color: #CF0000;
        }
      }
         }
      }
   }
    }
  }
}
</style>