| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | <!-- | 
					
						
							|  |  |  |  * @Descripttion:  | 
					
						
							|  |  |  |  * @version:  | 
					
						
							|  |  |  |  * @Author: 王三华 | 
					
						
							|  |  |  |  * @Date: 2023-07-21 15:00:04 | 
					
						
							|  |  |  | --> | 
					
						
							|  |  |  | <!-- | 
					
						
							|  |  |  |  * @Descripttion:  | 
					
						
							|  |  |  |  * @version:  | 
					
						
							|  |  |  |  * @Author: 王三华 | 
					
						
							|  |  |  |  * @Date: 2023-05-15 16:28:35 | 
					
						
							|  |  |  | --> | 
					
						
							|  |  |  | <!-- | 
					
						
							|  |  |  |  * @Descripttion:  | 
					
						
							|  |  |  |  * @version:  | 
					
						
							|  |  |  |  * @Author: 王三华 | 
					
						
							|  |  |  |  * @Date: 2023-05-15 14:38:28 | 
					
						
							|  |  |  | --> | 
					
						
							|  |  |  | <template> | 
					
						
							|  |  |  |   <div class="width-auto"> | 
					
						
							|  |  |  | 	  <view class="title"> | 
					
						
							| 
									
										
										
										
											2025-04-01 21:35:18 +08:00
										 |  |  | 	  	{{'复购新增业绩'}} | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  | 	  </view> | 
					
						
							|  |  |  |     <div class="flex-s"> | 
					
						
							|  |  |  |       <div | 
					
						
							|  |  |  |         id="repPv" | 
					
						
							|  |  |  |         style="width: 700rpx;height: 600rpx;" | 
					
						
							|  |  |  |         :style="myChartStyle" | 
					
						
							|  |  |  |       ></div> | 
					
						
							|  |  |  |     </div> | 
					
						
							|  |  |  |   </div> | 
					
						
							|  |  |  | </template> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <script> | 
					
						
							|  |  |  | import * as echarts from "echarts"; | 
					
						
							|  |  |  | import * as api from '@/config/activity.js' | 
					
						
							|  |  |  | export default { | 
					
						
							|  |  |  |   data(){ | 
					
						
							|  |  |  |     return{ | 
					
						
							|  |  |  |       myChartStyle: { | 
					
						
							|  |  |  |         float: "center", | 
					
						
							|  |  |  |         width: "690rpx", | 
					
						
							|  |  |  |         height: "750rpx", | 
					
						
							|  |  |  |         paddingTop: "0", | 
					
						
							|  |  |  |         // margin: "20px",
 | 
					
						
							|  |  |  |       }, //
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   mounted() { | 
					
						
							|  |  |  |     this.upDateCover() | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  |   methods: { | 
					
						
							|  |  |  |     upDateCover() { | 
					
						
							|  |  |  |       api.achieveDay().then((res) => { | 
					
						
							|  |  |  |         let arr1 = res.data.map((item) => { | 
					
						
							|  |  |  |           return item.settleDate | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |         let arr2 = res.data.map((item) => { | 
					
						
							|  |  |  |           return item.repANewPv | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |         let arr3 = res.data.map((item) => { | 
					
						
							|  |  |  |           return item.repBNewPv | 
					
						
							|  |  |  |         }) | 
					
						
							|  |  |  |         this.drawChart(arr1, arr2, arr3) | 
					
						
							|  |  |  |       }) | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |     drawChart(arr1, arr2, arr3) { | 
					
						
							|  |  |  |       var myChart = echarts.init(document.getElementById("repPv")); | 
					
						
							|  |  |  |       // 指定图表的配置项和数据
 | 
					
						
							|  |  |  |       let option = { | 
					
						
							|  |  |  |         title: { | 
					
						
							|  |  |  |           text: '', | 
					
						
							| 
									
										
										
										
											2025-04-01 21:35:18 +08:00
										 |  |  |           subtext: '业绩(万)', | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  |         }, | 
					
						
							|  |  |  |         tooltip: { | 
					
						
							|  |  |  |           trigger: 'axis', | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         legend: { | 
					
						
							|  |  |  |           top: 'bottom', | 
					
						
							| 
									
										
										
										
											2025-04-01 21:35:18 +08:00
										 |  |  |           data: ['左区', '右区'], | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  |           itemWidth: 20, // 长方形宽度
 | 
					
						
							|  |  |  |           itemHeight: 10, // 长方形高度
 | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         xAxis: { | 
					
						
							|  |  |  |           data: arr1, | 
					
						
							|  |  |  |           axisTick: { | 
					
						
							|  |  |  |             show: false, | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |           axisLabel: { | 
					
						
							|  |  |  |             interval: 0, | 
					
						
							|  |  |  |             rotate: 45, | 
					
						
							|  |  |  |             textStyle: { | 
					
						
							|  |  |  |               color: '#000', | 
					
						
							|  |  |  |               fontSize: '8', | 
					
						
							|  |  |  |               itemSize: '', | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         yAxis: { | 
					
						
							|  |  |  |           splitLine: { | 
					
						
							|  |  |  |             show: true, | 
					
						
							|  |  |  |             lineStyle: { | 
					
						
							|  |  |  |               type: 'dashed', | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |         }, | 
					
						
							|  |  |  |         series: [ | 
					
						
							|  |  |  |           { | 
					
						
							| 
									
										
										
										
											2025-04-01 21:35:18 +08:00
										 |  |  |             name: '左区', | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  |             type: 'line', | 
					
						
							|  |  |  |             data: arr2, | 
					
						
							|  |  |  |             symbol: 'none', | 
					
						
							|  |  |  |             itemStyle: { | 
					
						
							|  |  |  |               normal: { | 
					
						
							|  |  |  |                 color: '#FF5A5A', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             lineStyle: { | 
					
						
							|  |  |  |               normal: { | 
					
						
							|  |  |  |                 width: 3, | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |           { | 
					
						
							| 
									
										
										
										
											2025-04-01 21:35:18 +08:00
										 |  |  |             name: '右区', | 
					
						
							| 
									
										
										
										
											2025-03-23 09:29:40 +08:00
										 |  |  |             type: 'line', | 
					
						
							|  |  |  |             data: arr3, | 
					
						
							|  |  |  |             symbol: 'none', | 
					
						
							|  |  |  |             itemStyle: { | 
					
						
							|  |  |  |               normal: { | 
					
						
							|  |  |  |                 color: '#FFAE36', | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |             lineStyle: { | 
					
						
							|  |  |  |               normal: { | 
					
						
							|  |  |  |                 width: 3, | 
					
						
							|  |  |  |               }, | 
					
						
							|  |  |  |             }, | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |         ], | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |       // 使用刚指定的配置项和数据显示图表。
 | 
					
						
							|  |  |  |       myChart.setOption(option) | 
					
						
							|  |  |  |     }, | 
					
						
							|  |  |  |   }, | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | </script> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <style scoped lang="scss"> | 
					
						
							|  |  |  | .width-auto{ | 
					
						
							|  |  |  |   width: 100%; | 
					
						
							|  |  |  | 	position: relative; | 
					
						
							|  |  |  | 	height: 950rpx; | 
					
						
							|  |  |  | 	background-color: #fff; | 
					
						
							|  |  |  | 	  width: 690rpx; | 
					
						
							|  |  |  | 	   | 
					
						
							|  |  |  | 		border-radius: 20rpx; | 
					
						
							|  |  |  | 		margin: 20rpx auto; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .title{ | 
					
						
							|  |  |  | 	padding: 20rpx 30rpx ; | 
					
						
							|  |  |  | 	height: 80rpx; | 
					
						
							|  |  |  | 	line-height: 80rpx; | 
					
						
							|  |  |  | 	border-bottom: 10rpx solid #f3f3f3; | 
					
						
							|  |  |  | 	margin-top: 10rpx; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ::v-deep .el-select .el-input .el-select__caret { | 
					
						
							|  |  |  |   color: #333; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .lines { | 
					
						
							|  |  |  |   width: 2px; | 
					
						
							|  |  |  |   height: 470px; | 
					
						
							|  |  |  |   opacity: 1; | 
					
						
							|  |  |  |   background: #979797; | 
					
						
							|  |  |  |   position: absolute; | 
					
						
							|  |  |  |   bottom: 50px; | 
					
						
							|  |  |  |   left: 50%; | 
					
						
							|  |  |  |   margin-left: -110px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .right-lines { | 
					
						
							|  |  |  |   position: absolute; | 
					
						
							|  |  |  |   right: 80px; | 
					
						
							|  |  |  |   top: 140px; | 
					
						
							|  |  |  |   color: #999; | 
					
						
							|  |  |  |   font-size: 12px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .item-s { | 
					
						
							|  |  |  |   padding-bottom: 10px; | 
					
						
							|  |  |  |   display: flex; | 
					
						
							|  |  |  |   line-height: 24px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .bg-color { | 
					
						
							|  |  |  |   width: 40px; | 
					
						
							|  |  |  |   height: 22px; | 
					
						
							|  |  |  |   border-radius: 2px; | 
					
						
							|  |  |  |   margin-left: 5px; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .flex-s { | 
					
						
							|  |  |  |   // display: flex;
 | 
					
						
							|  |  |  |   // justify-content: center;
 | 
					
						
							|  |  |  |   // align-items: center;
 | 
					
						
							|  |  |  |   // width: 700px;
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | .styles { | 
					
						
							|  |  |  |   position: absolute; | 
					
						
							|  |  |  |   right: -30px; | 
					
						
							|  |  |  |   z-index: 111; | 
					
						
							|  |  |  |   top: 60px; | 
					
						
							|  |  |  |   /*background: rgba(0,0,0,0.05);*/ | 
					
						
							|  |  |  |   /*border-radius: 4px 4px 4px 4px;*/ | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | ::v-deep .el-select .el-input__inner { | 
					
						
							|  |  |  |   border: none; | 
					
						
							|  |  |  |   background: rgba(0, 0, 0, 0.05); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | </style> |