| | |
| | | <template> |
| | | <!-- 员工业绩报表 --> |
| | | <view class="container" @click="hideFilter"> |
| | | <view class="container"> |
| | | <h-tabs |
| | | class="tab" |
| | | :tabData="tabs" |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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)"> |
| | |
| | | </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 { |
| | |
| | | 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){ |
| | |
| | | }) |
| | | } |
| | | 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){ |
| | |
| | | } |
| | | 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) |
| | | } |
| | | } |
| | | } |