xuxueyang
2024-09-13 731b3a23a6369aaef5c4fdc0ff4524eb6a7f3642
sub_pages/supplier/order-manage/order-manage-settlement.vue
@@ -1,54 +1,119 @@
<template>
   <view class="list-container order-sale supplier">
      <view class="p15" style="min-height: calc(100vh - 20rpx);">
         <u-button @click="()=>{
               show_time_picker_time = true
            }" class="w-fit">
            {{query.day||'-'}}
         </u-button>
         <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
         <view v-for="(item,index) in list" :key="index" @click="toDetail(item)"
            class="m-b-24 order-sale-list list-container">
         <view v-if="list&&list.length>0">
            <view class="flex title-bold tj-money bg-white m-t-12 p10">
               <view class="m-r-20">待结算:¥{{tj_total-tj_has||0}}</view>
               <view class="t-red">已结算:¥{{tj_has||0}}</view>
            </view>
         </view>
         <!-- @click="toDetail(item)" -->
         <view v-for="(item,index) in list" :key="index" class="m-t-20 order-sale-list list-container">
            <view class="order-sale-item br-4 list-item bg-white">
               <view class="form">
                  <view class="flex">
                     <view class="form-item flex1">
                        <view class="label">结算单价/均价</view>
                        <view class="value">¥{{item.price||'0.00'}}</view>
                  <view class="flex form-item">
                     <view class="m-r-20 flex" style="min-width: 280rpx;">
                        <view class="title-bold m-r-10">订单状态:{{item.statusBackendStr||'-'}}</view>
                     </view>
                     <view class="form-item flex1">
                        <view class="label">商品数量</view>
                        <view class="value">{{item.flowerNum||0}}</view>
                     <view class="title-bold m-r-10 m-l-a">结算状态:{{item.statusStr||'未结算'}}</view>
                  </view>
                  <view class="flex form-item">
                     <view class="m-r-20 flex" style="min-width: 280rpx;">
                        <view class="title-bold m-r-10">{{item.flowerName||'-'}}</view>
                        <view class="desc-gray">{{item.flowerLevelStr}}</view>
                     </view>
                     <view class="flex flex1">
                        <view class="flex1 text-center value title-bold">{{item.num||0}}扎</view>
                        <view class="flex1 text-center value">¥{{item.price||'0.00'}}</view>
                     </view>
                  </view>
                  <view class="flex">
                     <view class="form-item">
                        <view class="label">订单数量</view>
                        <view class="value">{{item.orderNum}}</view>
                  <view class="flex form-item">
                     <view class="m-r-20 flex" style="min-width: 280rpx;">
                        <view class="desc-gray  m-r-5">下单时间</view>
                        <view class=" ">{{item.orderTime||item.orderTime || '-'}}</view>
                     </view>
                     <view class="form-item">
                        <view class="label">买家数量</view>
                        <view class="value">{{item.customerNum}}</view>
                     <view class="flex flex1">
                        <view class="flex1 text-center value "><span
                              class="desc-gray m-r-5">数量</span>{{item.num||0}}扎
                        </view>
                        <view class="flex1 text-center value"><span
                              class="desc-gray m-r-5">合计</span>¥{{item.totalAmount||'0.00'}}</view>
                     </view>
                  </view>
                  <view class="flex">
                     <view class="form-item">
                        <view class="label">服务费</view>
                        <view class="value">{{item.serviceFee}}</view>
                  <view v-if="item.status">
                     <view class="flex">
                        <view class="form-item">
                           <view class="label">收入</view>
                           <view class="value">¥{{item.income||0}}</view>
                        </view>
                        <view class="form-item">
                           <view class="label">集货站运费</view>
                           <view class="value">¥{{item.stationFee||0}}</view>
                        </view>
                     </view>
                     <view class="form-item">
                        <view class="label">售后理赔</view>
                        <view class="value">{{item.salesFee}}</view>
                     <view class="flex">
                        <view class="form-item">
                           <view class="label">服务费</view>
                           <view class="value">¥{{item.serviceFee||0}}</view>
                        </view>
                        <view class="form-item">
                           <view class="label">服务费率</view>
                           <view class="value">{{item.serviceFeeRate||0}}</view>
                        </view>
                     </view>
                  </view>
                  <view class="flex">
                     <view class="form-item">
                        <view class="label">质检扣款</view>
                        <view class="value">{{item.checkFee}}</view>
                     <view class="flex">
                        <view class="form-item">
                           <view class="label">售后退款</view>
                           <view class="value">¥{{item.salesFee||0}}</view>
                        </view>
                     </view>
                     <view class="form-item">
                        <view class="label">集货站运费</view>
                        <view class="value">{{item.stationFee}}</view>
                     <view class="flex">
                        <view class="form-item">
                           <view class="label">缺货数量</view>
                           <view class="value">{{item.lackNum||0}}</view>
                        </view>
                        <view class="form-item">
                           <view class="label">缺货扣款</view>
                           <view class="value">¥{{item.lackFee||0}}</view>
                        </view>
                     </view>
                     <view class="flex">
                        <view class="form-item">
                           <view class="label">补货数量</view>
                           <view class="value">{{item.replaceNum||0}}</view>
                        </view>
                        <view class="form-item">
                           <view class="label">补货扣款</view>
                           <view class="value">¥{{item.replaceFee||0}}</view>
                        </view>
                     </view>
                     <view class="flex">
                        <view class="form-item">
                           <view class="label">降级数量</view>
                           <view class="value">{{item.checkNum||0}}</view>
                        </view>
                        <view class="form-item">
                           <view class="label">降级扣款</view>
                           <view class="value">¥{{item.checkFee||0}}</view>
                        </view>
                     </view>
                  </view>
               </view>
               <!-- <view class="line"></view> -->
               <view class="form">
               <!--          <view class="form">
                  <view class="flex">
                     <view class="form-item">
                        <view class="label title-bold">交易合计</view>
@@ -59,6 +124,17 @@
                        <view class="value t-red">¥{{item.settlementAmount||0}}</view>
                     </view>
                  </view>
               </view> -->
               <view class="component-buttons m-t-15" style="width: unset;">
                  <view class="button-1 m-l-a m-r-10" v-if="!(item.salesNum===0)" @click.stop="toOpDetail('sale','售后',item)">
                     售后详情</view>
                  <view class="button-1 m-l-a m-r-10" v-if="item.checkNum"
                     @click.stop="toOpDetail('reduce','降级',item)">降级详情</view>
                  <view class="button-1 m-l-a m-r-10" v-if="item.lackNum" @click.stop="toOpDetail('lack','缺货',item)">
                     缺货详情</view>
                  <view class="button-1 m-l-a m-r-10" v-if="item.replaceNum"
                     @click.stop="toOpDetail('replace','补货',item)">补货详情</view>
               </view>
            </view>
         </view>
@@ -67,6 +143,8 @@
      <!-- 判断是否到底了,自动吧 -->
      <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
      <u-datetime-picker :show="show_time_picker_time" @cancel="show_time_picker_time=false"
         @confirm="select_time_picker_time" v-model="tmp_picker_time" mode="date"></u-datetime-picker>
   </view>
</template>
@@ -78,12 +156,18 @@
            tabIndex: 0,
            query: {
               day: ''
            }
            },
            show_time_picker_time: false,
            tmp_picker_time: new Date(),
         }
      },
      onLoad(options) {
         this.query.day = options.day || ''
         this.page.size = 200
         uni.setNavigationBarTitle({
            title: '配送结算明细-' + this.query.day
         })
         this.listApi = '/api/supplier/delivery/mine/list/settlement'
@@ -99,10 +183,63 @@
         uni.stopPullDownRefresh()
      },
      methods: {
         toDetail(item) {
            uni.navigateTo({
               url: `/sub_pages/supplier/order-settlement/order-settlement-detail?id=${item.id}`
         toOpDetail(op, title, item) {
            if (op === 'sale') {
               //去列表页面
               uni.navigateTo({
                  url: '/pages/order/order-sale/order-sale?orderItemId=' + item.orderItemId
               })
            } else {
               var opStr = ''
               uni.navigateTo({
                  url: `/sub_pages/supplier/order-manage/order-manage-settlement-op-detail?opStr=${opStr}&op=${op}&orderItemId=${item.orderItemId}`
               })
            }
         },
         //选择timer的时间
         async select_time_picker_time(e) {
            // console.log('select_time_picker_time1', e, this.tmp_picker_time_item)
            this.query.day = this.$util.toDate(new Date(e.value))
            uni.setNavigationBarTitle({
               title: '配送结算明细-' + this.query.day
            })
            this.show_time_picker_time = false
            // this.$forceUpdate()
            this.refreshList()
         },
         toDetail(item) {
            // uni.navigateTo({
            //    url: `/sub_pages/supplier/order-settlement/order-settlement-order-item-detail?id=${item.orderItemId}`
            // })
         },
      },
      computed: {
         tj_has() {
            var v = 0
            if (this.list) {
               for (var item of this.list) {
                  if (item.status === 'COMPLETED') {
                     v += item.income || 0
                  }
               }
            }
            return v.toFixed(2)
         },
         tj_total() {
            var v = 0
            if (this.list) {
               for (var item of this.list) {
                  if (!item.status) {
                     v += item.totalAmount || 0
                  } else {
                     v += (item.income || 0)
                  }
               }
            }
            return v.toFixed(2)
         },
      }
   }
@@ -110,6 +247,8 @@
<style lang="scss" scope>
   .order-sale-list {
      .tj-money {}
      .order-sale-item {
         margin-bottom: 20rpx;
         padding: 22rpx;
@@ -136,6 +275,7 @@
               flex: 1;
               // min-width: 40%;
               // max-width: 50%;
               font-size: 24rpx;
               .label {
                  font-weight: 400;