doum
5 小时以前 b9b64778f693ebe82fcbc97837b6012dadb3b084
mini-program/pages/distributor/distributor.vue
@@ -44,11 +44,12 @@
               <view class="data-c-item">
                  <view class="data-c-item-top">
                     <text>销售额(元)</text>
                     <image src="/static/icon/ic_visible@2x.png" mode="widthFix"></image>
                     <image :src="showMoney?'/static/icon/ic_visible@2x.png':'/static/icon/ic_invisible@2x.png'" @click="showMoney=!showMoney" mode="widthFix"></image>
                  </view>
                  <view class="data-c-item-bottom">
                     <text>{{(countData.saleTotal||0).toFixed(0)}}</text>
                     <text>.{{countData.saleTotalFloat || '00'}}</text>
                     <text v-if="showMoney">{{(countData.saleTotalNum||0).toFixed(0)}}</text>
                     <text  v-if="showMoney">{{countData.saleTotalFloat || '.00'}}</text>
                     <text  v-if="!showMoney">****</text>
                  </view>
               </view>
               <view class="data-c-item">
@@ -56,8 +57,9 @@
                     <text>结算利润(元)</text>
                  </view>
                  <view class="data-c-item-bottom">
                     <text>{{(countData.profitTotal||0).toFixed(0)}}</text>
                     <text>.{{countData.profitTotalFloat || '00'}}</text>
                     <text  v-if="showMoney">{{(countData.profitTotalNum||0).toFixed(0)}}</text>
                     <text  v-if="showMoney">{{countData.profitTotalFloat || '.00'}}</text>
                     <text  v-if="!showMoney">****</text>
                  </view>
               </view>
               <view class="data-c-item">
@@ -65,7 +67,8 @@
                     <text>订单数</text>
                  </view>
                  <view class="data-c-item-bottom">
                     <text>{{countData.orderNum||0}}</text>
                     <text  v-if="showMoney">{{countData.orderNum||0}}</text>
                     <text  v-if="!showMoney">****</text>
                  </view>
               </view>
            </view>
@@ -102,45 +105,61 @@
            <view style="width: 25%; height: 0;"></view>
            <view style="width: 25%; height: 0;"></view>
         </view>
         <view class="title"  v-if="!show">待处理订单 (2)</view>
         <view class="title"  v-if="!show">待处理订单 ({{total}})</view>
         <view class="list"  v-if="!show">
            <view class="list-item" v-for="(item, index) in 5" :key="index">
            <view class="list-item" v-for="(item, index) in dataList" :key="index">
               <view class="a">
                  <view class="a-left">
                     <view class="a-left-tips">自提</view>
                     <text>订单号:71379283984239</text>
                     <view class="a-left-tips">{{item.receiveType==1?'自提':'快递配送'}}</view>
                     <text>订单号:{{item.id}}</text>
                  </view>
                  <view class="a-right">待自提</view>
                  <text v-if="item.status ==0" class="a-right">待支付</text>
                  <text  v-if="item.status ==1" class="a-right">{{item.receiveType==1?'待自提':'待发货'}}</text>
                  <text  v-if="item.status ==2" class="a-right">待收货</text>
                  <text  v-if="item.status ==3" class="a-right">交易完成</text>
                  <text  v-if="item.status ==4"class="a-right">已取消</text>
                  <text  v-if="item.status ==6" class="a-right">已退款</text>
               </view>
               <view class="b">
                  <view class="b-item">
                  <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])">
                     <view class="b-item-image">
                        <image src="/static/logo.png" mode="widthFix"></image>
                        <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image>
                     </view>
                     <view class="b-item-title">中联艾禾宽齿 适用雷沃/中联/久保田</view>
                     <view class="b-item-title">{{item1.name||''}}</view>
                     <view class="b-item-jia">
                        <text>¥499.00</text>
                        <text>x1</text>
                        <text>¥{{(item1.price||0).toFixed(2)}}</text>
                        <text>x{{item1.goodsNum||0}}</text>
                     </view>
                  </view>
                  <view class="b-item" v-for="(item1, index1) in (item.goodsorderDetailList||[])">
                     <view class="b-item-image">
                        <image :src="item1.imgurl||'/static/logo.png'" mode="widthFix"></image>
                     </view>
                     <view class="b-item-title">{{item1.name||''}}</view>
                     <view class="b-item-jia">
                        <text>¥{{(item1.price||0).toFixed(2)}}</text>
                        <text>x{{item1.goodsNum||0}}</text>
                     </view>
                  </view>
               </view>
               <view class="c">
                  <view class="c-label">
                     <view class="c-label-title">需付款:</view>
                     <view class="c-label-title">实付款:</view>
                     <view class="c-label-price">
                        <text>998</text>
                        <text>.00</text>
                        <text>{{(item.price||0).toFixed(2)}}</text>
                        <text></text>
                     </view>
                  </view>
                  <view class="c-btns">
                     <view class="c-btns-item blue">联系客户</view>
                     <view class="c-btns-item blue" @click="contactPhone(item)">联系客户</view>
                     <view class="c-btns-item bg">自提核销</view>
                  </view>
               </view>
               <view class="d">
                  订单备注:11月22日来拿
               <view class="d" v-if="item.memberInfo">
                  订单备注:{{item.memberInfo||''}}
               </view>
            </view>
            <view v-if="!hasNext" class="nomore">已加载全部</view>
         </view>
      </view>
      <!-- 确认退出登陆 -->
@@ -158,6 +177,30 @@
            </view>
         </view>
      </u-popup>
      <u-popup :show="showPhone" round="15" mode="bottom" :safeAreaInsetBottom="true"  @close="contactPhone()" :closeable="true" :closeOnClickOverlay="true">
         <view class="phone">
            <view class="phone-head">
               <view></view>
               <text>联系客户</text>
            </view>
            <!-- <view class="phone-item">
               <view>
                  <image style="width: 36rpx;height: 36rpx" src="/static/icon/ic_kefu.png" mode="widthFix"></image>
                  <button open-type="contact" plain="true" bindcontact="handleContact">在线客服</button>
               </view>
                <view class="line" v-if="serverPhone && serverPhone.length"></view>
            </view> -->
             <view class="phone-item" >
                <view>
                  <image src="/static/icon/ic_call@2x.png" mode="widthFix" @click="contactPhoneDo()"></image>
                  <text>{{linkItem.linkname}} </text>
                  <text style="margin-left: 10px;"> {{linkItem.linkphone}}</text>
               </view>
             </view>
             <view style="width: 100%; height: 30rpx;"></view>
            <!-- <view class="phone-botton"  @click="contactPhone()" >关闭</view> -->
         </view>
      </u-popup>
   </view>
</template>
@@ -171,7 +214,15 @@
         return { 
            show:false,
            active:0,
            loading:false,
            showMoney:false,
            showPhone:false,
            currentPage:1,
            total:0,
            hasNext:true,
            dataList:[],
            shop:{}, 
            linkItem:{},
            countData:{},
            backgroundImage: require('@/static/images/bg_card@2x.png')
         };
@@ -179,20 +230,86 @@
      onShow() {
          this.shop  ={}
          this.checkShopLogin()
          this.active=0
          this.shop = this.shopInfo || {}
          this.getCountData()
          this.currentPage = 0
          this.getOrderList()
      },
      onReachBottom(){
      onReachBottom(){
         this.getOrderList( );
      },
      methods:{ 
         contactPhone(item){
             this.showPhone = !this.showPhone
             this.linkItem = item ||{}
             console.log("==================================",this.showPhone)
         },
         contactPhoneDo(){
            if(this.linkItem.linkphone !=null && this.linkItem.linkphone!=''){
               uni.makePhoneCall({
                  phoneNumber: this.linkItem.linkphone
               })
            }
         },
         changeActive(index){
            this.active = index
            this.getCountData(index)
         },
          checkShopLogin(){
            var that =this
            if( this.shopInfo ==null || this.shopInfo.id==null ||  this.shopToken==null || this.shopToken==''){
                this.jumpShopLogin()
            } 
         },
         async  getCountData(index){
               var that =this
               let res = await that.$u.api.saleReport({  dateType: index,  endDate: null, startDate: null, tokenType:1  })
               if (res.code === 200) {
                  this.active = index
                  this.countData = res.data
                  this.countData.profitTotal = (this.countData.profitTotal||0.00 ).toFixed(2)
                  this.countData.saleTotal = (this.countData.saleTotal||0.00).toFixed(2)
                  this.countData.profitTotalNum = Math.floor(this.countData.profitTotal)
                  this.countData.saleTotalNum = Math.floor( this.countData.saleTotal)
                  var t1 =(this.countData.profitTotal - this.countData.profitTotalNum).toFixed(2)
                  var t2 =(this.countData.saleTotal - this.countData.saleTotalNum).toFixed(2)
                  this.countData.profitTotalFloat =( t1+'').slice(1, 4)
                  this.countData.saleTotalFloat = ( t2+'').slice(1, 4)
               }
         },
         async  getOrderList(){
               if(this.loading || !this.hasNext){
                  return
               }
               this.loading=true
               this.currentPage =   this.currentPage+1
               if(this.currentPage == 1){
                  this.hasNext =true
                  this.dataList=[]
               }
               var that =this
               let res = await that.$u.api.shopOrderPage({
                     capacity:10,
                     model: {
                        receiveType: 1,
                        status: 1
                     },
                     page:this.currentPage
                  });
                  console.log(res)
               if (res.code === 200 ) {
                  if ( res.data && res.data.page ===this.currentPage) {
                     res.data.records = res.data.records||[]
                      that.dataList.push(...res.data.records)
                      that.total=res.data.total
                      if( this.currentPage >= res.data.pageCount||0){
                         that.hasNext=false
                      }else{
                         that.hasNext=true
                      }
                  }
               }
               this.loading=false
         },
         logoutCom(){
            this.show=!this.show
@@ -275,6 +392,13 @@
         .list {
            width: 100%;
            margin-top: 30rpx;
            padding-bottom: 60rpx;
            .nomore{
               width: 100%;
               text-align: center;
               font-size: 24rpx;
               color: #666666;
            }
            .list-item {
               width: 100%;
               padding: 30rpx;
@@ -317,8 +441,7 @@
                  }
               }
               .b {
                  width: 100%;
                  height: 136rpx;
                  width: 100%;
                  display: flex;
                  flex-direction: column;
                  margin-top: 22rpx;
@@ -350,6 +473,10 @@
                        font-size: 30rpx;
                        color: #222222;
                        margin-right: 30rpx;
                        display: -webkit-box;
                        -webkit-line-clamp: 2; /* 限制文本为2行 */
                        -webkit-box-orient: vertical;
                        overflow: hidden;
                     }
                     .b-item-jia {
                        flex-shrink: 0;
@@ -636,5 +763,68 @@
            }
         }
      }
      .phone {
         width: 100%;
         padding-top: 40rpx;
         box-sizing: border-box;
         .phone-botton {
            width: 100%;
            height: 88rpx;
            line-height: 88rpx;
            text-align: center;
            font-weight: 500;
            font-size: 32rpx;
            color: #FFFFFF;
            background: #00BC12;
            border-radius: 44rpx;
            margin-top: 60rpx;
         }
         .phone-head {
            width: 100%;
            text-align: center;
            justify-content: space-between;
            margin-bottom: 40rpx;
            text {
               font-weight: 800;
               font-size: 32rpx;
               color: #222222;
            }
         }
         .phone-item {
            width: 100%;
            text-align: center;
            display: flex;
            justify-content: center;
            flex-direction: column;
            // border-bottom: 1rpx solid #eeeeee;
            line-height: 78rpx;
            button{
               border: 1rpx white solid;
               display: inline;
               width: 300rpx;
               font-weight: 500;
               font-size: 32rpx;
               line-height: 32rpx;
               color: #222222;
            }
            image{
               width: 28rpx;
               height: 28rpx;
               margin-right: 30rpx;
            }
            .line{
               width: 100%;
               height: 1rpx;
               background-color: #f2f2f2
            }
            text {
               font-weight: 500;
               font-size: 28rpx;
               line-height: 28rpx;
               color: #222222;
            }
         }
      }
   }
</style>