From 45fb4b11ad51bb38306765b11a6747402e382cee Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sat, 20 Feb 2021 17:37:33 +0800 Subject: [PATCH] fix --- hive-app/pages/manager/employeeReport.vue | 135 ++++++++++++++++++++++++++++----------------- 1 files changed, 84 insertions(+), 51 deletions(-) diff --git a/hive-app/pages/manager/employeeReport.vue b/hive-app/pages/manager/employeeReport.vue index 6180b5d..1d0910f 100644 --- a/hive-app/pages/manager/employeeReport.vue +++ b/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) } } } -- Gitblit v1.9.1