From c8b13a66194137b0ab2e3bed0ade70ebc167fcb9 Mon Sep 17 00:00:00 2001
From: lzhe <181968431@qq.com>
Date: 星期四, 18 四月 2024 23:57:31 +0800
Subject: [PATCH] 1

---
 src/views/mdc/station-live.vue |  195 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 171 insertions(+), 24 deletions(-)

diff --git a/src/views/mdc/station-live.vue b/src/views/mdc/station-live.vue
index 8811149..62a82b8 100644
--- a/src/views/mdc/station-live.vue
+++ b/src/views/mdc/station-live.vue
@@ -16,20 +16,20 @@
 			<div class="content-machine-box">
 				<div class="content-machine-img"><img src="./station.png" alt=""></div>
 				<div class="content-machine-detail">
-					<div class="content-machine-name">461</div>
+					<div class="content-machine-name">{{stationForm.machineName}}</div>
 					<el-form :model="stationForm" ref="dialogForm" label-width="80px" label-position="center" style="width: 100%;">
 						<el-row>
 							<el-col :span="8">
-								<el-form-item label="宸ヤ綅缂栧彿">{{stationForm.test}}</el-form-item>
+								<el-form-item label="宸ヤ綅缂栧彿">{{stationForm.code}}</el-form-item>
 							</el-col>
 							<el-col :span="8">
-								<el-form-item label="鏈哄櫒鍝佺墝">{{stationForm.test}}</el-form-item>
+								<el-form-item label="鏈哄櫒鍝佺墝">{{stationForm.machineBrand}}</el-form-item>
 							</el-col>
 							<el-col :span="8">
-								<el-form-item label="鏈哄櫒缂栧彿">{{stationForm.test}}</el-form-item>
+								<el-form-item label="鏈哄櫒缂栧彿">{{stationForm.machineCode}}</el-form-item>
 							</el-col>
 							<el-col :span="8">
-								<el-form-item label="鏈哄櫒鍚嶇О">{{stationForm.test}}</el-form-item>
+								<el-form-item label="鏈哄櫒鍚嶇О">{{stationForm.machineName}}</el-form-item>
 							</el-col>
 						</el-row>
 					</el-form>
@@ -37,24 +37,77 @@
 			</div>
 			<div class="collect-info-panel">
 				<div class="fact-analysis-realtim">
-					<div class="fact-analysis-card">
-						<div class="card-name" style="background-color: rgb(127, 192, 192);">璁惧鐘舵��</div>
+					<div class="fact-analysis-card" v-for="item in dmpList">
+						<div class="card-name" style="background-color: rgb(127, 192, 192);">{{item.description}}</div>
 						<div class="card-value" style="background-color: rgba(127, 192, 192, 0.14);"></div>
 					</div>
 				</div>
 			</div>
+			<el-tabs type="border-card" class="demo-tabs">
+			    <el-tab-pane label="宸ヤ綅鏁版嵁">
+			    	<div class="wcs-main">
+			    		<div><div id="wcs-left" style="width: 100%;height:400px;"></div></div>
+			    		<div><div id="wcs-right" style="width: 100%;height:400px;"></div></div>
+			    	</div>
+			    </el-tab-pane>
+			    <el-tab-pane label="鏈哄櫒灞ュ巻">234</el-tab-pane>
+			 </el-tabs>
 		</div>
 	</div>
 	<save-dialog v-if="dialog.save" ref="saveDialog"  @success="addfeedbackSuccess" @closed="dialog.save=false"></save-dialog>
 </template>
 <script>
-import saveDialog from './add-station-status'
+	import * as echarts from 'echarts';
+	import saveDialog from './add-station-status'
 	export default {
 		name: "state-feedback",
 		data(){
 			return {
+				wcsOption: {  
+		            title: {  
+		                text: '鐢ㄦ椂鍒嗗竷鎯呭喌',   
+		                left: 'left',
+		                textStyle: {
+		                	fontSize:14
+		                }
+		            },  
+		            grid: {
+		            	top: 0,
+		            },
+		            tooltip: {  
+		                trigger: 'item',  
+		                //formatter: '{a} <br/>{b} : {c} ({d}%)'  
+		                formatter: '{a} 0鍒嗛挓'
+		            },  
+		            legend: {  
+		                orient: 'vertical',  
+		                bottom: 'bottom',  
+		                data: ['璋冭瘯', '绂荤嚎', '寰呮満', '鎶ュ憡', '鎶ヨ', '杩愯']  
+		            },  
+		            series: [  
+		                {  
+		                	top: -30,
+		                    name: '鐢ㄦ椂:',  
+		                    type: 'pie',  
+		                    radius: '55%',  
+		                    center: ['30%', '50%'],  
+		                    data: [],  
+		                    emphasis: {  
+		                        itemStyle: {  
+		                            shadowBlur: 10,  
+		                            shadowOffsetX: 0,  
+		                            shadowColor: 'rgba(0, 0, 0, 0.5)'  
+		                        }  
+		                    }  
+		                }  
+		            ]  
+		        },
+				dmpList: [],
 				stationForm: {
-					test: ""
+					code: "",
+					machineBrand: "",
+					machineCode: "",
+					machineName: ""
 				},
 				dialog: {
 					save: false
@@ -86,11 +139,100 @@
 		},
 		mounted(){
 			this.getTreeList();
+			this.getwcsL();  //宸︿晶鍥捐〃
 		},
 		components: {
 			saveDialog
 	    },
 		methods: {
+			getwcsL() {
+				this.$HTTP.get(`/api/blade-cps/global_wcs/list?code=&name=`).then(res=> {
+					if(res.code == 200) {
+						var myChart = echarts.init(document.getElementById('wcs-left')); 
+						res.data.forEach(item=> {
+							item.value=20;
+							item.itemStyle = {color: item.color}
+						})
+						this.wcsOption.series[0].data = res.data;
+						myChart.setOption(this.wcsOption);
+						console.log(this.wcsOption,9991);
+					}
+				})
+			},
+			getwcsR() {
+				var obj = {
+					date: String(this.newDate()),
+					humanFeedback: true,
+					workstationId: this.lastLevelId
+				}
+				this.$HTTP.post(`/api/blade-mdc/status-record/equipment-efficiency`,obj).then(res=> {
+					if(res.code == 200) {
+						console.log(res.data,98988)
+						var myChart = echarts.init(document.getElementById('wcs-right')); 
+						// res.data.forEach(item=> {
+						// 	item.value=20;
+						// 	item.itemStyle = {color: item.color}
+						// })
+						// this.wcsOption.series[0].data = res.data;
+						// myChart.setOption(this.wcsOption);
+						// console.log(this.wcsOption,9991);
+						var option = {
+							title: {  
+						        text: '璁惧鏁堢巼鎸囨爣', // 鍥捐〃鏍囬  
+						        left: 'left',
+						        textStyle: {
+				                	fontSize:14
+				                }
+						    },
+						  tooltip: {
+						    trigger: 'item'
+						  },
+						  legend: {
+						    orient: 'vertical',
+						    bottom: 'bottom', // 鍥句緥缁勪欢绂诲鍣ㄥ乏渚х殑璺濈
+						    data: ['鎶ヨ鐜�', '绋煎姩鐜�', '杩愯鐜�'] // 鍥句緥鏁版嵁  
+						  },
+						  series: [
+						    {
+						      name: 'Access From',
+						      type: 'pie',
+						      radius: ['30%', '50%'],
+						      avoidLabelOverlap: false,
+						      label: {
+						        show: false,
+						        position: 'center'
+						      },
+						      emphasis: {
+						        label: {
+						          show: true,
+						          fontSize: 40,
+						          fontWeight: 'bold'
+						        }
+						      },
+						      labelLine: {
+						        show: false
+						      },
+						      data: [
+						        {value: 0, name: '鎶ヨ鐜�'}, // 鎶ヨ鐜囨暟鎹�  
+						        {value: 0, name: '绋煎姩鐜�'}, // 绋煎姩鐜囨暟鎹�  
+						        {value: 0, name: '杩愯鐜�'}
+						      ]
+						    }
+						  ]
+						};  
+						  
+						// 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�  
+						myChart.setOption(option);
+					}
+				})
+			},
+			newDate() {
+				var date = new Date();  
+			    var year = date.getFullYear();  
+			    var month = (1 + date.getMonth()).toString().padStart(2, '0'); // JavaScript涓湀浠芥槸浠�0寮�濮嬬殑锛屾墍浠ユ垜浠渶瑕佸姞1  
+			    var day = date.getDate().toString().padStart(2, '0'); // getDate()杩斿洖鐨勬槸褰撳墠鏈堢殑鏃ユ暟锛屼笉闇�瑕佸姞1  
+			    return year + '-' + month + '-' + day;
+			},
 			addfeedbackSuccess() {
 				this.getlist();
 			},
@@ -100,24 +242,20 @@
 			handleNodeClick(data) {
 				if(data.code) {
 					this.lastLevelId = data.id;
-					var obj = {
-						workstationId: this.lastLevelId,
-					}
-					if(this.searchData.feedBackStatus.length != 0) {
-						obj.feedBackStatus = this.searchData.feedBackStatus;
-					}
-					if(this.searchData.endDate) {
-						obj.endDate = this.searchData.endDate;
-					}
-					if(this.searchData.startDate) {
-						obj.startDate = this.searchData.startDate;
-					}
-					this.$HTTP.post("/api/blade-cps/workstation-wcs-feedback/page?current=1&size=15",obj).then(res=> {
+					this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${this.lastLevelId}`).then(res=> {
 						if(res.code == 200) {
-							this.searchDataList = res.data.records;
+							this.stationForm = res.data;
+							this.getdmp(this.lastLevelId,this.stationForm.machineId);
 						}
 					})
 				}
+			},
+			getdmp(lastLevelId,machineId) {
+				this.$HTTP.get(`/api/blade-cps/workstation/get-dmp-variables?machineId=${machineId}&workstationId=${lastLevelId}`).then(res=> {
+					if(res.code == 200) {
+						this.dmpList = res.data;
+					}
+				})
 			},
 			getLastLevelIds(tree) {  
 				if (tree.length === 0) return ""; // 濡傛灉娌℃湁鏍硅妭鐐癸紝杩斿洖绌� 
@@ -187,7 +325,9 @@
 							this.$nextTick(()=> {
 								this.lastLevelId = this.getLastLevelIds(this.tableData).lastLevelId;
 								this.$refs.treeRef.setCurrentKey(this.lastLevelId);  //绗竴涓妭鐐圭殑绗竴涓瓙鑺傜偣鏈�鍚庝竴绾ч粯璁ら�変腑
+								//浠ヤ笅鏄垵濮嬪寲鏁版嵁
 								this.getlist();  //娓叉煋鍙嶉鍒楄〃
+								this.getwcsR();  //鍙充晶鍥炬爣
 							})
 							
 						}
@@ -197,7 +337,8 @@
 			getlist() {
 				this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${this.lastLevelId}`).then(res=> {
 					if(res.code == 200) {
-						console.log(res.data,234)
+						this.stationForm = res.data;
+						this.getdmp(this.lastLevelId,this.stationForm.machineId);
 					}
 				})
 			}
@@ -296,4 +437,10 @@
     overflow: hidden;
     word-break: break-all;
 }
+.wcs-main {
+	display: flex;
+}
+.wcs-main > div {
+	width: 50%;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3