fix
Helius
2021-02-20 45fb4b11ad51bb38306765b11a6747402e382cee
hive-app/pages/manager/employeeReport.vue
@@ -1,6 +1,6 @@
<template>
   <!-- 员工业绩报表 -->
   <view class="container" @click="hideFilter">
   <view class="container">
      <h-tabs
         class="tab"
         :tabData="tabs" 
@@ -29,16 +29,12 @@
                  <text>¥{{item.cashAmount | formatNum}}</text>
               </view>
               <view class="list-row">
                  <text>售卡业绩</text>
                  <text>¥{{item.cardAmount | formatNum}}</text>
               </view>
               <view class="list-row">
                  <text>产品业绩</text>
                  <text>¥{{item.goodsAmount | formatNum}}</text>
               </view>
               <view class="list-row">
                  <text>划扣业绩</text>
                  <text>¥{{item.cardUseAmount | formatNum}}</text>
               </view>
               <view class="list-row">
                  <text>订单提成</text>
                  <text>¥{{item.goodsAmount | formatNum}}</text>
               </view>
               <view class="list-row">
                  <text>本金消耗</text>
@@ -54,17 +50,20 @@
               </view>
               <view class="list-row">
                  <text>人头数</text>
                  <text>{{item.peopleNum}}</text>
                  <text>{{item.peopleNum}}人</text>
               </view>
               <view class="list-row">
                  <text>项目数</text>
                  <text>{{item.projNum}}</text>
                  <text>{{item.projNum}}个</text>
               </view>
               <view class="list-row">
                  <text>服务时长</text>
                  <text>{{item.serviceTime}}</text>
                  <text>{{item.serviceTime}}分钟</text>
               </view>
            </view>
         </view>
         <view v-if="list.length">
            <uni-load-more :status="loadStatus" color="#a5abaf"></uni-load-more>
         </view>
      </view>
      <view v-else>
@@ -81,16 +80,12 @@
                  <text>现金业绩</text>
                  <text class="iconfont iconarrow-backimg"></text>
               </view>
               <view class="list-row-bordered" @click="toAnalyse('售卡业绩', 3)">
                  <text>售卡业绩</text>
                  <text class="iconfont iconarrow-backimg"></text>
               </view>
               <view class="list-row-bordered" @click="toAnalyse('产品业绩', 4)">
                  <text>产品业绩</text>
                  <text class="iconfont iconarrow-backimg"></text>
               </view>
               <view class="list-row-bordered" @click="toAnalyse('划扣业绩', 5)">
                  <text>划扣业绩</text>
                  <text class="iconfont iconarrow-backimg"></text>
               </view>
               <view class="list-row-bordered" @click="toAnalyse('订单提成', 3)">
                  <text>订单提成</text>
                  <text class="iconfont iconarrow-backimg"></text>
               </view>
               <view class="list-row-bordered" @click="toAnalyse('本金消耗', 6)">
@@ -120,19 +115,16 @@
            </view>
         </view>
      </view>
      <scroll-view scroll-y class="drop-down" v-show="isShowFilter">
         <view class="drop-down-row" v-for="item in employeeList">
            <text :class="item.id==staffId?'blue':''" @click="employeeChange(item)">{{item.name}}</text>
         </view>
      </scroll-view>
   </view>
</template>
<script>
   import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
   import HTabs from "@/components/liuyuno-tabs/liuyuno-tabs.vue";
   export default {
      components: {
          HTabs
          HTabs,
         uniLoadMore
      },
      data() {
        return {
@@ -151,14 +143,27 @@
               name: '专项'
            }
         ],
         isShowFilter:false,
         employeeList: [],
         list: [],
         staffId: ''
         staffId: '',
         loadStatus: 'more',
         pageNum: 1
        }  
      },
      onLoad(options) {
         this.initTitle();
         this.loadEmloyeeList();
         this.loadList()
      },
      onPullDownRefresh(){
         this.reloadData();
         let timer = setTimeout(function () {
            uni.stopPullDownRefresh();
            clearTimeout(timer);
            timer = null;
         }, 800);
      },
      onReachBottom(){
         this.loadList()
      },
      onNavigationBarButtonTap(e){
         if(e.index==0){
@@ -167,13 +172,27 @@
            })
         }
         if(e.width && e.index==1){
            this.isShowFilter=!this.isShowFilter
            uni.navigateTo({
               url: './selectEmployee?selectId='+this.staffId
            })
         }
      },
      onHide() {
         this.hideFilter()
      },
      methods:{
         reloadData(){
            this.list = [];
            this.pageNum = 1;
            this.loadStatus = 'more';
            this.loadList();
         },
         initTitle(){
            let roleInfo = this.$httpUtils.getRoleInfo();
            if(roleInfo){
               this.staffId = roleInfo.id;
               uni.setNavigationBarTitle({
                  title: roleInfo.name+'的业绩报表'
               })
            }
         },
         tabChange(index){
            let val = index + 1;
            if(val == this.tabIndex){
@@ -181,46 +200,60 @@
            }
            this.tabIndex = val;
            if(val != 3){
               this.loadList()
               this.reloadData()
            }
         },
         hideFilter(){
            this.isShowFilter = false
         },
         toAnalyse(title, type){
            uni.navigateTo({
               url: './analyse/index?staffId='+this.staffId+'&title='+title+'&type='+type+'&page=2'
            })
         },
         employeeChange(item){
            this.staffId = item.id;
            this.loadList()
         },
         loadEmloyeeList(){
            this.$httpUtils.request('/api/user/findAllUsers').then((res) => {
            this.$httpUtils.request('/api/user/findAllUsers', {}, 'POST').then((res) => {
               if(res.status == 200){
                  let result = res.rows;
                  this.employeeList = result;
                  if(result.length){
                     this.staffId = result[0].id;
                     this.loadList()
                  }else{
                     this.loadList()
                  if(!result.length){
                     // #ifdef APP-PLUS
                     let webView = this.$mp.page.$getAppWebview();
                     webView.setTitleNViewButtonStyle(1, {
                         width: 0,
                     });
                     // #endif
                  }
               }
            })
         },
         loadList(){
            if(this.loadStatus!=='more'){
               return;
            }
            this.$httpUtils.request('/api/statistics/findVipAchieve', {
               "pageNum": 1,
               "pageSize": 100,
               "pageNum": this.pageNum,
               "pageSize": 10,
               "staffId": this.staffId,
               "type": this.tabIndex
            }, 'POST').then((res) => {
               if(res.status == 200){
                  this.list = res.rows;
                  let result = res.rows;
                  if(result.length < 10){
                     this.loadStatus = 'noMore';
                  } else {
                     this.pageNum ++ ;
                     this.loadStatus = 'more';
                  }
                  this.list = this.list.concat(result);
               }
            })
         },
         setData(selectItem){
            let item = selectItem[0];
            this.staffId = item.id;
            this.reloadData();
            setTimeout(() => {
               uni.setNavigationBarTitle({
                  title: item.name+'的业绩报表'
               });
            }, 500)
         }
      }
   }