| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | <template> | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |   <view class="width-auto"> | 
					
						
							|  |  |  |     <view class="flexs"> | 
					
						
							|  |  |  |       <view class="select-flexs"> | 
					
						
							|  |  |  |         <picker | 
					
						
							|  |  |  |           :range="selYearList" | 
					
						
							|  |  |  |           :value="index" | 
					
						
							|  |  |  |           range-key="label" | 
					
						
							|  |  |  |           @change="changeYear" | 
					
						
							|  |  |  |         > | 
					
						
							|  |  |  |           <view | 
					
						
							|  |  |  |             style=" | 
					
						
							|  |  |  |               display: flex; | 
					
						
							|  |  |  |               align-items: center; | 
					
						
							|  |  |  |               justify-content: space-between; | 
					
						
							|  |  |  |             " | 
					
						
							|  |  |  |           > | 
					
						
							|  |  |  |             <view style="margin-right: 40rpx">{{ whatYear }}年</view> | 
					
						
							|  |  |  |             <u-icon name="arrow-down" color="#999"></u-icon> | 
					
						
							|  |  |  |           </view> | 
					
						
							|  |  |  |         </picker> | 
					
						
							|  |  |  |       </view> | 
					
						
							|  |  |  |       <view class="select-flexs"> | 
					
						
							|  |  |  |         <picker | 
					
						
							|  |  |  |           :range="selMounthList" | 
					
						
							|  |  |  |           :value="index" | 
					
						
							|  |  |  |           range-key="label" | 
					
						
							|  |  |  |           @change="bindPickerChange" | 
					
						
							|  |  |  |         > | 
					
						
							|  |  |  |           <view | 
					
						
							|  |  |  |             style=" | 
					
						
							|  |  |  |               display: flex; | 
					
						
							|  |  |  |               align-items: center; | 
					
						
							|  |  |  |               justify-content: space-between; | 
					
						
							|  |  |  |             " | 
					
						
							|  |  |  |           > | 
					
						
							|  |  |  |             <view style="margin-right: 40rpx">{{ whatMounth }}月</view> | 
					
						
							|  |  |  |             <u-icon name="arrow-down" color="#999"></u-icon> | 
					
						
							|  |  |  |           </view> | 
					
						
							|  |  |  |         </picker> | 
					
						
							|  |  |  |       </view> | 
					
						
							|  |  |  |       <!-- <view class="select-flexs" style="margin-left: 20rpx;" @click="showType=true"> | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 				<view style="display: flex;	align-items: center;justify-content: space-between;"> | 
					
						
							|  |  |  | 					<view style="margin-right:40rpx;">{{yjName}}</view> | 
					
						
							|  |  |  | 					<u-icon name="arrow-down" color="#999"></u-icon> | 
					
						
							|  |  |  | 				</view> | 
					
						
							|  |  |  | 				<u-picker @cancel='showType=false' :show="showType" ref="uPicker" :columns="yjTypeList" | 
					
						
							|  |  |  | 					@confirm="bindType" keyName='label'></u-picker> | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | 			</view> --> | 
					
						
							|  |  |  |       <!-- <view class="title"> | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 				导出明细 | 
					
						
							|  |  |  | 			</view> --> | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |     </view> | 
					
						
							|  |  |  |     <view class="listrefor bg2"> | 
					
						
							|  |  |  |       <view class="flex_item"> | 
					
						
							|  |  |  |         <view class="text1">左区业绩</view> | 
					
						
							|  |  |  |         <view class="text2">{{ achieveData.leftAchieve || 0 }}</view> | 
					
						
							|  |  |  |       </view> | 
					
						
							|  |  |  |       <view class="flex_item" style="cursor: pointer" @click="goDetail(1)"> | 
					
						
							|  |  |  |         <view class="text1">左区血缘业绩</view> | 
					
						
							|  |  |  |         <view class="text2">{{ achieveData.leftDirectAchieve || 0 }}</view> | 
					
						
							|  |  |  |       </view> | 
					
						
							|  |  |  |       <view class="flex_item"> | 
					
						
							|  |  |  |         <view class="text1">左区人数</view> | 
					
						
							|  |  |  |         <view class="text2">{{ achieveData.leftCoun || 0 }}</view> | 
					
						
							|  |  |  |       </view> | 
					
						
							|  |  |  |     </view> | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |     <view class="listrefor bg3"> | 
					
						
							|  |  |  |       <view> | 
					
						
							|  |  |  |         <view class="text1">血缘业绩</view> | 
					
						
							|  |  |  |         <view class="text2">{{ achieveData.directAchieve || 0 }}</view> | 
					
						
							|  |  |  |       </view> | 
					
						
							|  |  |  |     </view> | 
					
						
							|  |  |  |     <view class="listrefor bg2"> | 
					
						
							|  |  |  |       <view class="flex_item"> | 
					
						
							|  |  |  |         <view class="text1">右区业绩</view> | 
					
						
							|  |  |  |         <view class="text2">{{ achieveData.rightAchieve || 0 }}</view> | 
					
						
							|  |  |  |       </view> | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |       <view class="flex_item" style="cursor: pointer" @click="goDetail(2)"> | 
					
						
							|  |  |  |         <view class="text1">右区血缘业绩</view> | 
					
						
							|  |  |  |         <view class="text2">{{ achieveData.rightDirectAchieve || 0 }}</view> | 
					
						
							|  |  |  |       </view> | 
					
						
							|  |  |  |       <view class="flex_item"> | 
					
						
							|  |  |  |         <view class="text1">右区人数</view> | 
					
						
							|  |  |  |         <view class="text2">{{ achieveData.rightCount || 0 }}</view> | 
					
						
							|  |  |  |       </view> | 
					
						
							|  |  |  |     </view> | 
					
						
							|  |  |  |   </view> | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | </template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <script> | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | import { getPlaceNewAddAchieve, getYjList } from '@/config/distribute.js' | 
					
						
							|  |  |  | export default { | 
					
						
							|  |  |  |   data() { | 
					
						
							|  |  |  |     return { | 
					
						
							|  |  |  |       index: 0, | 
					
						
							|  |  |  |       show: false, | 
					
						
							|  |  |  |       achieveData: {}, | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |       whatMounth: '', | 
					
						
							|  |  |  |       yjType: 1, | 
					
						
							|  |  |  |       yjName: '全部', | 
					
						
							|  |  |  |       showType: false, | 
					
						
							|  |  |  |       selMounthList: [], | 
					
						
							|  |  |  |       yjTypeList: [], | 
					
						
							|  |  |  |       yearShow: false, | 
					
						
							|  |  |  |       whatYear: '', | 
					
						
							|  |  |  |       selYearList: [ | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 0, | 
					
						
							|  |  |  |           label: new Date().getFullYear() - 1, | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 1, | 
					
						
							|  |  |  |           label: new Date().getFullYear(), | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |       ], | 
					
						
							|  |  |  |       mounthList: [ | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 1, | 
					
						
							|  |  |  |           label: 1 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 2, | 
					
						
							|  |  |  |           label: 2 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 3, | 
					
						
							|  |  |  |           label: 3 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 4, | 
					
						
							|  |  |  |           label: 4 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 5, | 
					
						
							|  |  |  |           label: 5 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 6, | 
					
						
							|  |  |  |           label: 6 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 7, | 
					
						
							|  |  |  |           label: 7 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 8, | 
					
						
							|  |  |  |           label: 8 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 9, | 
					
						
							|  |  |  |           label: 9 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 10, | 
					
						
							|  |  |  |           label: 10 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 11, | 
					
						
							|  |  |  |           label: 11 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         { | 
					
						
							|  |  |  |           value: 12, | 
					
						
							|  |  |  |           label: 12 + '月', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |       ], | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   created() { | 
					
						
							|  |  |  |     this.getMounth() | 
					
						
							|  |  |  |     this.getYjList() | 
					
						
							|  |  |  |     setTimeout(() => { | 
					
						
							|  |  |  |       this.getPlaceNewAddAchieve() | 
					
						
							|  |  |  |     }, 50) | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   methods: { | 
					
						
							|  |  |  |     goDetail(index) { | 
					
						
							|  |  |  |       uni.navigateTo({ | 
					
						
							|  |  |  |         url: '/pages/performanceEchart/index?ifDetail=' + index, | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     getYjList() { | 
					
						
							|  |  |  |       getYjList().then(res => { | 
					
						
							|  |  |  |         this.yjTypeList = [res.data] | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     changeYear(e) { | 
					
						
							|  |  |  |       this.whatYear = this.selYearList[e.detail.value].label | 
					
						
							|  |  |  |       this.getPlaceNewAddAchieve() | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     bindPickerChange(e) { | 
					
						
							|  |  |  |       this.whatMounth = e.detail.value + 1 | 
					
						
							|  |  |  |       this.getPlaceNewAddAchieve() | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     bindType(e) { | 
					
						
							|  |  |  |       this.yjType = e.value[0].value | 
					
						
							|  |  |  |       this.yjName = e.value[0].label | 
					
						
							|  |  |  |       this.showType = false | 
					
						
							|  |  |  |       this.getPlaceNewAddAchieve() | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     // 获取当前年/月
 | 
					
						
							|  |  |  |     getMounth() { | 
					
						
							|  |  |  |       this.whatMounth = new Date().getMonth() + 1 | 
					
						
							|  |  |  |       let selMounth = [] | 
					
						
							|  |  |  |       this.mounthList.forEach(item => { | 
					
						
							|  |  |  |         // if (item.value <= this.whatMounth) {
 | 
					
						
							|  |  |  |         // selMounth.push(item)
 | 
					
						
							|  |  |  |         // }
 | 
					
						
							|  |  |  |         selMounth.push(item) | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  |       this.selMounthList = selMounth | 
					
						
							|  |  |  |       this.whatYear = new Date().getFullYear() | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     getPlaceNewAddAchieve() { | 
					
						
							|  |  |  |       getPlaceNewAddAchieve({ | 
					
						
							|  |  |  |         monthType: this.whatMounth, | 
					
						
							|  |  |  |         achievementType: this.yjType, | 
					
						
							|  |  |  |         year: this.whatYear, | 
					
						
							|  |  |  |       }).then(res => { | 
					
						
							|  |  |  |         this.achieveData = res.data | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <style lang="scss" scoped> | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | ::v-deep .uni-picker { | 
					
						
							|  |  |  |   width: 100%; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | .select-flexs { | 
					
						
							|  |  |  |   border: 1rpx solid #eeeeee; | 
					
						
							|  |  |  |   border-radius: 15rpx; | 
					
						
							|  |  |  |   // width: 232rpx;
 | 
					
						
							|  |  |  |   padding: 20rpx 19rpx; | 
					
						
							|  |  |  |   display: flex; | 
					
						
							|  |  |  |   align-items: center; | 
					
						
							|  |  |  |   justify-content: space-between; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | .flexs { | 
					
						
							|  |  |  |   display: flex; | 
					
						
							|  |  |  |   // justify-content: space-between;
 | 
					
						
							|  |  |  |   border-radius: 30rpx 30rpx 0 0; | 
					
						
							|  |  |  |   background-color: #fff; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | .title { | 
					
						
							|  |  |  |   padding: 10rpx 0; | 
					
						
							|  |  |  |   margin-top: 10rpx; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | .width-auto { | 
					
						
							|  |  |  |   background-color: #fff; | 
					
						
							|  |  |  |   padding: 0 22rpx; | 
					
						
							|  |  |  |   width: 690rpx; | 
					
						
							|  |  |  |   margin: 0 auto; | 
					
						
							|  |  |  |   padding-bottom: 20rpx; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | .listrefor { | 
					
						
							|  |  |  |   color: #ffffff; | 
					
						
							|  |  |  |   border-radius: 10rpx; | 
					
						
							|  |  |  |   padding: 32rpx 21rpx; | 
					
						
							|  |  |  |   margin-top: 25rpx; | 
					
						
							|  |  |  |   display: flex; | 
					
						
							|  |  |  |   justify-content: space-between; | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |   .flex_item:nth-child(1) { | 
					
						
							|  |  |  |     width: 40%; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |   .flex_item:nth-child(2) { | 
					
						
							|  |  |  |     width: 35%; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |   .flex_item:nth-child(3) { | 
					
						
							|  |  |  |     width: 25%; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |   .text1 { | 
					
						
							|  |  |  |     font-size: 28rpx; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  |   .text2 { | 
					
						
							|  |  |  |     font-size: 30rpx; | 
					
						
							|  |  |  |     font-weight: bold; | 
					
						
							|  |  |  |     margin-top: 30rpx; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | .bg1 { | 
					
						
							|  |  |  |   background: linear-gradient(180deg, #fc7c7c 0%, #f65757 100%); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | .bg2 { | 
					
						
							|  |  |  |   background: linear-gradient(180deg, #ff9354 0%, #ff7f36 100%); | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2025-09-16 10:17:51 +08:00
										 |  |  | .bg3 { | 
					
						
							|  |  |  |   background: linear-gradient(180deg, #677af9 0%, #697bf2 100%); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | </style> |