feat: 新效果大屏接口调用
This commit is contained in:
		
							parent
							
								
									cdccfbfdd1
								
							
						
					
					
						commit
						20ca0cd974
					
				
							
								
								
									
										1
									
								
								.env
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								.env
									
									
									
									
									
								
							| @ -1,3 +1,4 @@ | ||||
| NODE_ENV=production | ||||
| VUE_APP_PREVIEW=true | ||||
| VUE_APP_API_BASE_URL=http://localhost:82 | ||||
| VUE_APP_API_BASE_URL_PSPACE=https://c3abc956bca5.ngrok-free.app | ||||
| @ -14,35 +14,46 @@ export function productionCommandCenterPage (parameter) { | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| const commonParams = { | ||||
|   charset: 'utf-8', | ||||
|   archived: 0 | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 炉温 | ||||
|  * 产品数据:本月累计产量、回收率、单位单耗 | ||||
|  */ | ||||
| export function getFurnaceTemperature (parameter) { | ||||
| export function getProductData (parameter) { | ||||
|   return axios({ | ||||
|     url: '/HistAtTime', | ||||
|     method: 'post', | ||||
|     params: { | ||||
|       ...parameter, | ||||
|       ...commonParams | ||||
|     } | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 功率因数(每月和每小时功率因数,用这个平均值调整时间) | ||||
|  */ | ||||
| export function getHistAggreData (parameter) { | ||||
|   return axios({ | ||||
|     url: '/HistAggreData', | ||||
|     url: 'scrProduction/driQuery', | ||||
|     method: 'get', | ||||
|     params: { | ||||
|       ...parameter, | ||||
|       ...commonParams | ||||
|     } | ||||
|     params: parameter | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 安全与异常事件 | ||||
|  */ | ||||
| export function getSafetyExceptionEvent (parameter) { | ||||
|   return axios({ | ||||
|     url: '/scrSecurity/driQuery', | ||||
|     method: 'get', | ||||
|     params: parameter | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 各炉号产量贡献 | ||||
|  */ | ||||
| export function getProductContribution (parameter) { | ||||
|   return axios({ | ||||
|     url: 'scrProduction/driQhQuery', | ||||
|     method: 'get', | ||||
|     params: parameter | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 各产品合计产量 | ||||
|  */ | ||||
| export function getProductTotalProduction (parameter) { | ||||
|   return axios({ | ||||
|     url: 'scrProduction/driMaterQuery', | ||||
|     method: 'get', | ||||
|     params: parameter | ||||
|   }) | ||||
| } | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| <!-- 4096*2160版本 6个图表 iframe作为背景--> | ||||
| <script> | ||||
| import moment from 'moment' | ||||
| import PieChart from './components/PieChart.vue' | ||||
| import BarChart from './components/BarChart.vue' | ||||
| import ElectrodeConsumption from './components/ElectrodeConsumption.vue' | ||||
| @ -9,7 +10,19 @@ import { | ||||
|   getFurnaceTemperatureChangeRateBar, | ||||
|   getEnergyAndElectricityConsumption | ||||
| } from '@/api/modular/largeScreen/pSpaceApi' | ||||
| // import { getFurnaceTemperatureChangeRate } from '@/api/modular/largeScreen/productionCommandCenterManage' | ||||
| import { | ||||
|   getProductData, | ||||
|   getSafetyExceptionEvent, | ||||
|   // getProductContribution, | ||||
|   getProductTotalProduction | ||||
| } from '@/api/modular/largeScreen/productionCommandCenterManage' | ||||
| 
 | ||||
| const currentDate = moment() | ||||
| const today = currentDate.format('YYYY-MM-DD') | ||||
| const currentMonth = currentDate.format('YYYY-MM') | ||||
| const currentYear = currentDate.format('YYYY') | ||||
| const startOfMonth = currentDate.startOf('month').format('YYYY-MM-DD') | ||||
| const endOfMonth = currentDate.endOf('month').format('YYYY-MM-DD') | ||||
| 
 | ||||
| export default { | ||||
|   components: { | ||||
| @ -19,6 +32,18 @@ export default { | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       today, | ||||
|       currentMonth, | ||||
|       currentYear, | ||||
|       startOfMonth, | ||||
|       // 安全与异常事件 | ||||
|       safetyExceptionEventList: [], | ||||
|       // 本月累计产量 | ||||
|       currentMonthCumulativeProduction: 0, | ||||
|       // 产品回收率 | ||||
|       productRecoveryRate: 0, | ||||
|       // 本月累计产量截止时间 | ||||
|       endOfMonth, | ||||
|       // 累计用电量 | ||||
|       totalElectricityConsumption: 0, | ||||
|       // 单位电耗 | ||||
| @ -30,30 +55,33 @@ export default { | ||||
|       productionData: [ | ||||
|         { | ||||
|           icon: 'icon-guimeng', | ||||
|           value: '2,234', | ||||
|           name: '硅锰', | ||||
|           value: 0, | ||||
|           unit: 't', | ||||
|           description: '耗电量:999kavrh', | ||||
|           silica: '120.05', | ||||
|           petroleumCoke: '120.05', | ||||
|           lanzhouCoal: '120.05' | ||||
|           description: 0, | ||||
|           silica: 0, | ||||
|           petroleumCoke: 0, | ||||
|           lanzhouCoal: 0 | ||||
|         }, | ||||
|         { | ||||
|           icon: 'icon-getie', | ||||
|           value: '10.4', | ||||
|           name: '铬铁', | ||||
|           value: 0, | ||||
|           unit: 't', | ||||
|           description: '耗电量:999kavrh', | ||||
|           silica: '120.05', | ||||
|           petroleumCoke: '120.05', | ||||
|           lanzhouCoal: '120.05' | ||||
|           description: 0, | ||||
|           silica: 0, | ||||
|           petroleumCoke: 0, | ||||
|           lanzhouCoal: 0 | ||||
|         }, | ||||
|         { | ||||
|           icon: 'icon-guitie', | ||||
|           value: '20.5', | ||||
|           name: '硅铁', | ||||
|           value: 0, | ||||
|           unit: 't', | ||||
|           description: '耗电量:999kavrh', | ||||
|           silica: '120.05', | ||||
|           petroleumCoke: '120.05', | ||||
|           lanzhouCoal: '120.05' | ||||
|           description: 0, | ||||
|           silica: 0, | ||||
|           petroleumCoke: 0, | ||||
|           lanzhouCoal: 0 | ||||
|         } | ||||
|       ] | ||||
|     } | ||||
| @ -63,8 +91,80 @@ export default { | ||||
|     // this.getFurnaceTemperatureChangeRateBar() | ||||
|     // this.getDailyPowerConsumption() | ||||
|     // this.getEnergyAndElectricityConsumption() | ||||
|     this.getProductData() | ||||
|     this.getSafetyExceptionEvent() | ||||
|     // this.getProductContribution() | ||||
|     this.getProductTotalProduction() | ||||
|   }, | ||||
|   methods: { | ||||
|     // 产品数据:本月累计产量、回收率、单位单耗 | ||||
|     async getProductData() { | ||||
|       const { | ||||
|         data: { | ||||
|           production, | ||||
|           passRate, | ||||
|           units | ||||
|         } | ||||
|       } = await getProductData({ | ||||
|         // productionDay: today | ||||
|         year: currentYear | ||||
|         // month: currentMonth, | ||||
|         // startDate: startOfMonth, | ||||
|         // endDate: endOfMonth | ||||
|       }) | ||||
|       this.currentMonthCumulativeProduction = production ?? 0 | ||||
|       this.productRecoveryRate = passRate ?? 0 | ||||
|       this.unitElectricityConsumption = units ?? 0 | ||||
|     }, | ||||
|     // 安全与异常事件 | ||||
|     async getSafetyExceptionEvent() { | ||||
|       const { data } = await getSafetyExceptionEvent({ | ||||
|         // productionDay: today | ||||
|         year: currentYear | ||||
|         // month: currentMonth, | ||||
|         // startDate: startOfMonth, | ||||
|         // endDate: endOfMonth | ||||
|       }) | ||||
|       this.safetyExceptionEventList = data | ||||
|     }, | ||||
|     // FIXME: 目前没有,各炉号产量贡献 | ||||
|     // async getProductContribution() { | ||||
|     //   const data = await getProductContribution({ | ||||
|     //     // productionDay: today | ||||
|     //     year: currentYear | ||||
|     //     // month: currentMonth, | ||||
|     //     // startDate: startOfMonth, | ||||
|     //     // endDate: endOfMonth | ||||
|     //   }) | ||||
|     //   console.log('getProductContribution: 各炉号产量贡献', data) | ||||
|     // }, | ||||
|     // 各产品合计产量 | ||||
|     async getProductTotalProduction() { | ||||
|       const { data } = await getProductTotalProduction({ | ||||
|         // productionDay: today | ||||
|         year: currentYear | ||||
|         // month: currentMonth, | ||||
|         // startDate: startOfMonth, | ||||
|         // endDate: endOfMonth | ||||
|       }) | ||||
|       if (data && Array.isArray(data)) { | ||||
|         const positionMap = { | ||||
|           '硅锰': 0, | ||||
|           '铬铁': 1, | ||||
|           '硅铁': 2 | ||||
|         } | ||||
|         data.forEach(({ title, consumption, power, list }) => { | ||||
|           Object.assign(this.productionData[positionMap[title]], { | ||||
|             value: consumption ?? 0, | ||||
|             description: power ?? 0, | ||||
|             silica: list?.find(item => item.title === '硅石')?.consumption ?? 0, | ||||
|             petroleumCoke: list?.find(item => item.title === '石油焦')?.consumption ?? 0, | ||||
|             lanzhouCoal: list?.find(item => item.title === '兰炭')?.consumption ?? 0 | ||||
|           }) | ||||
|         }) | ||||
|       } | ||||
|     }, | ||||
|     // ---------------------------pspace--------------------------------- | ||||
|     // 炉温稳定率(百分比) | ||||
|     async getFurnaceTemperatureChangeRate() { | ||||
|       const parameter = { | ||||
| @ -178,14 +278,14 @@ export default { | ||||
|               <div class="lint-item-title">本月累计产量</div> | ||||
|               <div class="lint-item-content"> | ||||
|                 <div class="icon"><img src="@/assets/big-screen/icon-chanliang.png"/></div> | ||||
|                 <div class="value t-white">432,928<span class="unit t-light-blue">t</span></div> | ||||
|                 <div class="end-time t-light-blue">截止到8-20</div> | ||||
|                 <div class="value t-white">{{ currentMonthCumulativeProduction }}<span class="unit t-light-blue">t</span></div> | ||||
|                 <div class="end-time t-light-blue">截止到{{ endOfMonth }}</div> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div class="line-item bg"> | ||||
|               <div class="lint-item-title">产品回收率</div> | ||||
|               <div style="width: 100%; height: calc(100% - 150px);"> | ||||
|                 <PieChart color="blue" :data="75"></PieChart> | ||||
|                 <PieChart color="blue" :data="productRecoveryRate"></PieChart> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div class="line-item bg"> | ||||
| @ -219,7 +319,7 @@ export default { | ||||
|                     <span class="value-number t-white">{{ item.value }}</span> | ||||
|                     <span class="value-unit t-light-blue">{{ item.unit }}</span> | ||||
|                   </div> | ||||
|                   <div class="card-description t-light-blue">{{ item.description }}</div> | ||||
|                   <div class="card-description t-light-blue">耗电量:{{ item.description }}kavrh</div> | ||||
|                 </div> | ||||
|               </div> | ||||
|               <div class="production-item-card"> | ||||
| @ -306,13 +406,12 @@ export default { | ||||
|             <div class="title-box anquanjiance"></div> | ||||
| 
 | ||||
|             <div class="chart-container anquanjiance"> | ||||
|               <div> | ||||
|                 <div class="time">2022-11-23 11:37:25</div> | ||||
|                 <div class="content danger">xxxx段发生严重xx,请立即前往处理!</div> | ||||
|               </div> | ||||
|               <div> | ||||
|                 <div class="time">2022-11-23 09:37:25</div> | ||||
|                 <div class="content warning">xxxx段发生严重xx,请立即前往处理!</div> | ||||
|               <div v-for="(item, index) in safetyExceptionEventList" :key="index"> | ||||
|                 <div class="time">{{ item.happenTime }}</div> | ||||
|                 <div | ||||
|                   class="content ell" | ||||
|                   :class="{'danger': item.eventType === '2级', 'warning': item.eventType === '1级'}" | ||||
|                 >{{ item.content }}</div> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
| @ -332,6 +431,20 @@ export default { | ||||
| </template> | ||||
| 
 | ||||
| <style scoped lang="less"> | ||||
| ::-webkit-scrollbar { | ||||
|   width: 6px; | ||||
|   height: 6px; | ||||
|   background: #0b3b6c; | ||||
|   &-thumb { | ||||
|     background: #40a9ff; | ||||
|     border-radius: 3px; | ||||
|   } | ||||
| } | ||||
| .ell { | ||||
|   overflow: hidden; | ||||
|   text-overflow: ellipsis; | ||||
|   white-space: nowrap; | ||||
| } | ||||
| .tc { | ||||
|   text-align: center; | ||||
| } | ||||
| @ -587,17 +700,14 @@ export default { | ||||
|       } | ||||
|       &.anquanjiance { | ||||
|         height: 77%; | ||||
|         overflow-y: auto; | ||||
|         background-image: url('~@/assets/big-screen/border-anquanjiance.png'); | ||||
|         display: flex; | ||||
|         flex-direction: column; | ||||
|         color: #fff; | ||||
|         font-size: 2rem; | ||||
|         padding-bottom: 2rem; | ||||
|         > div { | ||||
|           height: 50%; | ||||
|           display: flex; | ||||
|           flex-direction: column; | ||||
|           justify-content: center; | ||||
|           padding: 0 5%; | ||||
|           height: 12rem; | ||||
|           padding: 2rem 5% 1rem; | ||||
|           .time { | ||||
|             color: #40a9ff; | ||||
|             font-size: 2.5rem; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 wangjr
						wangjr