销售情况
This commit is contained in:
		
							
								
								
									
										110
									
								
								src/views/AppSalesPerformance.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								src/views/AppSalesPerformance.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,110 @@ | ||||
| <script> | ||||
| export default { | ||||
|   name: "AppSalesPerformance", | ||||
|   label: "市场看板-销售情况", | ||||
|   data() { | ||||
|     return { | ||||
|       search: { | ||||
|         "groupCodeList": [ | ||||
|           "K250QTD032" | ||||
|         ], //课区编码,不传即为全部 | ||||
|         "currentDate": "20240501", //当前日期 | ||||
|         "compareDate": "20240430", //比较日期 | ||||
|         "hourNum": "18" //小时数(取值1~24,18表示18:00:00之前的交易统计) | ||||
|       }, | ||||
|       info: {}, | ||||
|       list: [ | ||||
|         {label: "过机销售额(万元)", prop: "saleAmt"}, | ||||
|         {label: "有效订单数(单)", prop: "validOrderNum"}, | ||||
|         {label: "客单价(元)", prop: "customerUnitPrice"}, | ||||
|         {label: "店均销售额(元)", prop: "avgSaleAmt"}, | ||||
|         {label: "店均有效订单数(单)", prop: "avgValidOrderNum"}, | ||||
|         {label: "有效订单(单)", prop: "validOrderNum"}, | ||||
|       ] | ||||
|     } | ||||
|   }, | ||||
|   methods: { | ||||
|     getData() { | ||||
|       const {$http, $waitFor} = window | ||||
|       $waitFor($http).then(() => $http.post("/data-boot/la/screen/marketBoard/saleCondition", { | ||||
|         ...this.search | ||||
|       })).then(res => { | ||||
|         if (res?.data) { | ||||
|           this.info = res.data | ||||
|         } | ||||
|       }) | ||||
|     }, | ||||
|     getValue(item) { | ||||
|       let result = this.info[item.prop] | ||||
|       if (item.unit == "%") result = (result * 100 || 0) + "%" | ||||
|       if (item.calc) result = item.calc() | ||||
|       return result | ||||
|     }, | ||||
|     getIncrement(item) { | ||||
|       let result = this.info[item.prop + "Diff"] || "" | ||||
|       if (result > 0) result = "↑" + result | ||||
|       else if (result < 0) result = "↓" + result | ||||
|       return result | ||||
|     } | ||||
|   }, | ||||
|   created() { | ||||
|     this.getData() | ||||
|   } | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <template> | ||||
|   <section class="AppSalesPerformance"> | ||||
|     <div v-for="(item,i) in list" :key="i" class="item"> | ||||
|       <div v-text="item.label"/> | ||||
|       <div class="flex"> | ||||
|         <div class="value" v-text="getValue(item)"/> | ||||
|         <div class="increment" v-text="getIncrement(item)"/> | ||||
|       </div> | ||||
|     </div> | ||||
|   </section> | ||||
| </template> | ||||
|  | ||||
| <style> | ||||
| .AppSalesPerformance { | ||||
|   display: grid; | ||||
|   grid-template-columns:auto auto; | ||||
|   gap: 12px 24px; | ||||
| } | ||||
|  | ||||
| .AppSalesPerformance .flex { | ||||
|   align-items: baseline; | ||||
|   gap: 4px; | ||||
| } | ||||
|  | ||||
| .AppSalesPerformance .item { | ||||
|   background: linear-gradient(90deg, rgba(17, 112, 221, 0.5) 0%, rgba(17, 112, 221, 0.01) 100%); | ||||
|   background-size: 100% 100%; | ||||
|   color: #fff; | ||||
|   line-height: 20px; | ||||
|   white-space: nowrap; | ||||
|   border-left: 4px solid rgba(17, 112, 221, 1); | ||||
|   padding: 10px 16px; | ||||
|   font-size: 14px; | ||||
|   display: flex; | ||||
|   flex-direction: column; | ||||
|   justify-content: center; | ||||
| } | ||||
|  | ||||
| .AppSalesPerformance .item:nth-of-type(4n-1), .AppSalesPerformance .item:nth-of-type(4n) { | ||||
|   border-left-color: rgba(1, 196, 236, 1); | ||||
|   background: linear-gradient(90deg, rgba(1, 196, 236, 0.5) 0%, rgba(1, 196, 236, 0.01) 100%); | ||||
| } | ||||
|  | ||||
| .AppSalesPerformance .item .value { | ||||
|   font-family: Helvetica; | ||||
|   font-size: 20px; | ||||
|   line-height: 38px; | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| .AppSalesPerformance .item .increment { | ||||
|   color: #FFD15C; | ||||
|   line-height: 20px; | ||||
| } | ||||
| </style> | ||||
		Reference in New Issue
	
	Block a user