From 09d12c733279d45253d2d04f8835cc6771a1f1fa Mon Sep 17 00:00:00 2001
From: 李喆(开发组) <lzhe@yxqiche.com>
Date: 星期二, 18 十一月 2025 16:58:35 +0800
Subject: [PATCH] 1

---
 src/views/mdc/station-live.vue |  428 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 241 insertions(+), 187 deletions(-)

diff --git a/src/views/mdc/station-live.vue b/src/views/mdc/station-live.vue
index acc9866..04af844 100644
--- a/src/views/mdc/station-live.vue
+++ b/src/views/mdc/station-live.vue
@@ -1,20 +1,64 @@
 <!--
  * @Author: lzhe lzhe@example.com
  * @Date: 2024-03-26 10:28:33
- * @LastEditors: lzhe lzhe@example.com
- * @LastEditTime: 2024-06-05 11:37:17
+ * @LastEditors: 鏉庡枂(寮�鍙戠粍) lzhe@yxqiche.com
+ * @LastEditTime: 2025-11-18 16:57:42
  * @FilePath: /smart-web/src/views/master/person/main/index.vue
  * @Description: 杩欐槸榛樿璁剧疆,璇疯缃甡customMade`, 鎵撳紑koroFileHeader鏌ョ湅閰嶇疆 杩涜璁剧疆: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 -->
 <template>
 	<div class="aposcope-main">
 		<div class="aposcope-left">
-			<div class="left-title">鏌ヨ鏉′欢</div>
-			<el-tree :data="tableData" node-key="id" default-expand-all :expand-on-click-node="false" :props="defalutProps" @node-click="handleNodeClick" ref="treeRef" highlight-current />
+			<!-- <div class="left-title">鏌ヨ鏉′欢</div> -->
+			<MYTree v-model="treeChecked" @loaded="query" :isSelectId="$route.query.code"></MYTree>
 		</div>
 		<div class="aposcope-right">
-			<div class="content-machine-box">
-				<div class="content-machine-img"><img src="./station.png" alt=""></div>
+			<div class="content-machine-box" style="min-height: 450px;">
+				<div class="content-one content-border">
+					<div style="text-align: center;margin-bottom: 12px;margin-top:12px;">
+						<el-date-picker v-model="wcsDate" type="date" @change="wcschangedate" value-format="YYYY-MM-DD" size="small" />
+					</div>
+					<stationLiveItem :getwcsRData="getwcsRData"></stationLiveItem>
+				</div>
+				<div class="content-two content-border">
+					<tationLiveSpeed :dmpList="dmpList"></tationLiveSpeed>
+				</div>
+				<div class="content-three content-border">
+					<speenBaseInfo :stationFormData="stationForm" :dmpList="dmpList"></speenBaseInfo>
+				</div>
+			</div>
+			<div class="dataHr"></div>
+			<div class="content-zhou-box">
+				<div class="zhou-one content-zhou-border">
+			    	<div><div id="wcs-left" style="width: 100%;height:340px;"></div></div>
+				</div>
+				<div class="zhou-two content-zhou-border">
+					<el-table :data="tableData2" style="width: 100%;height:340px;">
+						<el-table-column prop="test" label="杞�"></el-table-column>
+						<el-table-column prop="test" label="鍧愭爣"></el-table-column>
+						<el-table-column prop="test" label="鎵煩"></el-table-column>
+					</el-table>
+				</div>
+				<div class="zhou-three content-zhou-border">
+					<el-table :data="alarmtableData" style="height:300px;">
+						<el-table-column prop="alarmCode" label="鎶ヨ鍙�"></el-table-column>
+						<el-table-column prop="alarmMsg" label="鎶ヨ鍐呭"></el-table-column>
+						<el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿"></el-table-column>
+					</el-table>
+					<el-pagination
+						style="margin-top: 6px;padding-left: 6px;padding-right: 6px;width: 450;position:absolute;right:0;"
+						@size-change="alarmSizeChange"
+						@current-change="alarmCurrentChange"
+						:current-page="alarmsearchData.current"
+						:page-size="15"
+						layout="total, prev, pager, next"
+						:total="alarmtotal">
+					</el-pagination>
+				</div>
+			</div>
+			<div>------------------------------------</div>
+			<!-- <div class="content-machine-box">
+				<div class="content-machine-img"><img :src="stationForm.avatar" alt=""></div>
 				<div class="content-machine-detail">
 					<div class="content-machine-name">{{stationForm.machineName}}</div>
 					<el-form :model="stationForm" ref="dialogForm" label-width="80px" label-position="center" style="width: 100%;">
@@ -34,19 +78,16 @@
 						</el-row>
 					</el-form>
 				</div>
-			</div>
-			<div class="collect-info-panel">
+			</div> -->
+			<!-- <div class="collect-info-panel">
 				<div class="fact-analysis-realtim">
 					<div class="wimi-empty" style="background-color: rgb(255, 255, 255);" v-if="dmpList.length == 0">
-						<!-- <div class="wimi-empty-img" style="width: 150px; height: 150px;">
-							<img src="./quesheng.bd026700.png" style="height: auto; width: 100%;">
-						</div> -->
 						<div class="empty-description">
 							<div>鏆傛棤鏁版嵁</div>
 						</div>
 					</div>
 					<div class="fact-analysis-card" v-for="item in dmpList" v-if="dmpList.length != 0">
-						<div class="card-name" :style="{'background-color': item.color}">{{item.description}}</div>
+						<div class="card-name" :style="{'background-color': item.color}">{{item.dpLabel}}</div>
 						<div :class="{'card-value': true,'card-value-bg1':item.name != 'Alarm','card-value-bg2':item.name == 'Alarm'}">{{item.codeName}}</div>
 					</div>
 				</div>
@@ -57,48 +98,8 @@
 						<el-date-picker v-model="wcsDate" type="date" @change="wcschangedate" value-format="YYYY-MM-DD" size="small" />
 					</div>
 			    	<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>
-					<div class="bottom-panel content-panel">
-						<div class="panel-title">鐝鐘舵�佽褰�</div>
-						<div class="panel-content bottom-panel-chart">
-							<div class="status">
-								<div class="feed-button" @click="table_edit">鐘舵�佸弽棣�</div>
-								<div class="status-wrap align-left">
-									<div class="collect-status">閲囬泦鐘舵��</div>
-									<div class="status-box" v-for="item in achievements"><div class="status-color" :style="{'background-color': item.color}"></div>{{ item.name }}</div>
-								</div>
-								<div class="status-wrap">
-									<el-checkbox v-model="checked1" label="浜哄伐鍙嶉鐘舵��" size="large" />
-									<div class="status-con">
-										<div class="status-box" v-for="item in collectionstatus"><div class="status-color" :style="{'background-color': item.color}"></div>{{ item.name }}</div>
-									</div>
-								</div>
-							</div>
-						</div>
-						<div style="padding: 8px;">
-							<div id="wcs-log" style="width: 100%;height:200px;"></div>
-							<el-table ref="multipleTableRef1" :data="recordData" border style="width: 100%;">
-								<el-table-column prop="shiftIndexName" label="鐝"></el-table-column>
-								<el-table-column prop="5" label="璋冭瘯"></el-table-column>
-								<el-table-column prop="4" label="绂荤嚎"></el-table-column>
-								<el-table-column prop="3" label="寰呮満"></el-table-column>
-								<el-table-column prop="1" label="鎶ヨ"></el-table-column>
-								<el-table-column prop="2" label="杩愯"></el-table-column>
-								<el-table-column prop="oee" label="绋煎姩鐜�%">
-									<template #default="scope">
-										<span>{{(Number(scope.row.oee) * 100).toFixed(2)}}</span>
-									</template>
-								</el-table-column>
-								<el-table-column prop="perdata" label="鎶ヨ鐜�%">
-									<template #default="scope">
-										<span>{{(Number(scope.row.fault) * 100).toFixed(2)}}</span>
-									</template>
-								</el-table-column>
-							</el-table>
-						</div>
-					</div>
 			    </el-tab-pane>
 			    <el-tab-pane label="鏈哄櫒灞ュ巻">
 					<div class="alarm-title">鎶ヨ淇℃伅灞ュ巻</div>
@@ -118,22 +119,72 @@
 						:total="alarmtotal">
 					</el-pagination>
 				</el-tab-pane>
-			 </el-tabs>
+			 </el-tabs> -->
+			 <div class="bottom-panel content-panel">
+				<div class="panel-title">鐝鐘舵�佽褰�</div>
+				<div class="panel-content bottom-panel-chart">
+					<div class="status">
+						<div class="feed-button" @click="table_edit">鐘舵�佸弽棣�</div>
+						<div class="status-wrap align-left">
+							<div class="collect-status">閲囬泦鐘舵��</div>
+							<div class="status-box" v-for="item in achievements"><div class="status-color" :style="{'background-color': item.color}"></div>{{ item.name }}</div>
+						</div>
+						<div class="status-wrap">
+							<el-checkbox v-model="humanFeedback" label="浜哄伐鍙嶉鐘舵��" size="large" />
+							<div class="status-con">
+								<div class="status-box" v-for="item in collectionstatus"><div class="status-color" :style="{'background-color': item.color}"></div>{{ item.name }}</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div style="padding: 8px;">
+					<div id="wcs-log" style="width: 100%;height:200px;"></div>
+					<el-table ref="multipleTableRef1" :data="recordData" border style="width: 100%;">
+						<el-table-column prop="shiftIndexName" label="鐝"></el-table-column>
+						<el-table-column prop="5" label="璋冭瘯"></el-table-column>
+						<el-table-column prop="4" label="绂荤嚎"></el-table-column>
+						<el-table-column prop="3" label="寰呮満"></el-table-column>
+						<el-table-column prop="1" label="鎶ヨ"></el-table-column>
+						<el-table-column prop="2" label="杩愯"></el-table-column>
+						<el-table-column prop="oee" label="绋煎姩鐜�%">
+							<template #default="scope">
+								<span>{{(Number(scope.row.oee) * 100).toFixed(2)}}</span>
+							</template>
+						</el-table-column>
+						<el-table-column prop="perdata" label="鎶ヨ鐜�%">
+							<template #default="scope">
+								<span>{{(Number(scope.row.fault) * 100).toFixed(2)}}</span>
+							</template>
+						</el-table-column>
+					</el-table>
+				</div>
+			</div>
 		</div>
 	</div>
-	<save-dialog v-if="dialog.save" ref="saveDialog"  @success="addfeedbackSuccess" :workstationId="lastLevelId" @closed="dialog.save=false"></save-dialog>
+	<save-dialog v-if="dialog.save" ref="saveDialog"  @success="addfeedbackSuccess" :workstationId="treeChecked.toString()" @closed="dialog.save=false"></save-dialog>
 </template>
 <script>
+	import station from "./station.png";
 	import moment from 'moment'
 	import * as echarts from 'echarts';
-	import saveDialog from './add-station-status'
+	import saveDialog from './add-station-status';
+	import MYTree from './MYTree.vue';
+	import stationLiveItem from './components/StationLiveItem';  //楗肩姸鍥�
+	import tationLiveSpeed from './components/StationLiveSpeed';  //speed
+	import speenBaseInfo from './components/speenBaseInfo';  //speenBaseInfo
 	export default {
 		name: "state-feedback",
 		data(){
 			return {
+				currentPage4: 1,
+				getwcsRData: [],
+				tableData1: [],
+				tableData2: [],
+				tableData3: [],
+				treeChecked: [],
 				achievements: [],
 				collectionstatus: [],
-				checked1: "",
+				humanFeedback: "",
 				alarmtotal: 0,
 				alarmtableData: [],
 				wcsDate: "",
@@ -145,9 +196,6 @@
 		                	fontSize:14
 		                }
 		            },  
-		            grid: {
-		            	top: 0,
-		            },
 		            tooltip: {  
 		                trigger: 'item',  
 		                //formatter: '{a} <br/>{b} : {c} ({d}%)'  
@@ -156,15 +204,14 @@
 		            legend: {  
 		                orient: 'vertical',  
 		                bottom: 'bottom',  
-		                data: ['璋冭瘯', '绂荤嚎', '寰呮満', '鎶ュ憡', '鎶ヨ', '杩愯']  
+		                data: ['璋冭瘯', '绂荤嚎', '寰呮満', '鎶ュ憡', '鎶ヨ', '杩愯']
 		            },  
 		            series: [  
-		                {  
-		                	top: -30,
+		                {
 		                    name: '鐢ㄦ椂:',  
 		                    type: 'pie',  
 		                    radius: '55%',  
-		                    center: ['40%', '50%'],  
+		                    center: ['50%', '50%'],  
 		                    data: [],  
 							itemStyle: {
 								borderRadius: 10,
@@ -260,7 +307,6 @@
 				dialog: {
 					save: false
 				},
-				lastLevelId: "",
 				current: "1",
 				size: "15",
 				searchData: {
@@ -291,20 +337,25 @@
 			}
 		},
 		created(){
-			
+		
+		},
+		watch: {
+			treeChecked() {
+				this.query();
+			}
 		},
 		mounted(){
 			this.newDate();  //鑾峰彇褰撳墠鏃ユ湡
-			this.getTreeList(this.$route.query.code);
+			this.getachievements();
 		},
 		components: {
-			saveDialog
+			saveDialog,MYTree,stationLiveItem,tationLiveSpeed,speenBaseInfo
 	    },
 		methods: {
 			table_edit(){
 				this.dialog.save = true
 				this.$nextTick(() => {
-					this.$refs.saveDialog.open('edit').setData(this.lastLevelId);
+					this.$refs.saveDialog.open('edit').setData(this.treeChecked.toString());
 				})
 			},
 			alarmSizeChange(val) {
@@ -319,7 +370,7 @@
 				this.alarmsearchBtn();
 			},
 			alarmsearchBtn() {
-				this.$HTTP.get(`/api/blade-mdc/work-station-analysis/alarm/${this.lastLevelId}?current=${this.alarmsearchData.current}&size=${this.alarmsearchData.size}`).then(res=> {
+				this.$HTTP.get(`/api/mdc/work-station-analysis/alarm/${this.treeChecked.toString()}?current=${this.alarmsearchData.current}&size=${this.alarmsearchData.size}`).then(res=> {
 					if(res.code == 200) {
 						this.alarmtableData = res.data.records;
 						this.alarmtotal = res.data.total;
@@ -336,10 +387,10 @@
 			getrecord() {  //鐝鐘舵�佽褰晅able
 				var obj = {
 					date: this.wcsDate,
-					humanFeedback: true,
-					workstationId: this.lastLevelId
+					humanFeedback: this.humanFeedback,
+					workstationId: this.treeChecked.toString()
 				}
-				this.$HTTP.post(`/api/blade-mdc/status-record/shift-index-status-record-table`,obj).then(res=> {
+				this.$HTTP.post(`/api/mdc/status-record/shift-index-status-record-table`,obj).then(res=> {
 					if(res.code == 200) {
 						var defaultValues = {  
 							oee: 0,  
@@ -412,10 +463,10 @@
 				var obj = {
 					date: this.wcsDate,
 					//date : "2024-05-15",
-					humanFeedback: true,
-					workstationId: this.lastLevelId
+					humanFeedback: this.humanFeedback,
+					workstationId: this.treeChecked.toString()
 				}
-				this.$HTTP.post(`/api/blade-mdc/status-record/shift-index-status-record-chart`,obj).then(res=> {
+				this.$HTTP.post(`/api/mdc/status-record/shift-index-status-record-chart`,obj).then(res=> {
 					if(res.code == 200) {
 						var yAxisData = [];
 						var newData = [];
@@ -560,10 +611,10 @@
 			getwscLvalue() {
 				var obj = {
 					date: this.wcsDate,
-					humanFeedback: true,
-					workstationId: this.lastLevelId
+					humanFeedback: this.humanFeedback,
+					workstationId: this.treeChecked.toString()
 				}
-				this.$HTTP.post(`/api/blade-mdc/status-record/time-distribution`,obj).then(res=> {
+				this.$HTTP.post(`/api/mdc/status-record/time-distribution`,obj).then(res=> {
 					if(res.code == 200) {
 						var myChart = echarts.init(document.getElementById('wcs-left')); 
 						var wcsOption = JSON.parse(JSON.stringify(this.wcsBeginOption));
@@ -586,7 +637,7 @@
 				})
 			},
 			getwcsLcolor() {
-				this.$HTTP.get(`/api/blade-cps/global_wcs/list?code=&name=`).then(res=> {
+				this.$HTTP.get(`/api/smis/global_wcs/list?code=&name=`).then(res=> {
 					if(res.code == 200) {
 						res.data.forEach(item=> {
 							item.itemStyle = {color: item.color};
@@ -599,20 +650,21 @@
 			getwcsR() {
 				var obj = {
 					date: this.wcsDate,
-					humanFeedback: true,
-					workstationId: this.lastLevelId
+					humanFeedback: this.humanFeedback,
+					workstationId: this.treeChecked.toString()
 				}
-				this.$HTTP.post(`/api/blade-mdc/status-record/equipment-efficiency`,obj).then(res=> {
+				this.$HTTP.post(`/api/mdc/status-record/equipment-efficiency`,obj).then(res=> {
 					if(res.code == 200) {
-						var myChart = echarts.init(document.getElementById('wcs-right')); 
+						//var myChart = echarts.init(document.getElementById('wcs-right')); 
 						res.data.forEach(item=> {
 							item.value = (Number(item.value)*100).toFixed(2);
 							if(item.name == "杩愯鐜�") item.itemStyle = {color: '#73d13d'};
 							if(item.name == "鎶ヨ鐜�") item.itemStyle = {color: '#ff4d4f'};
 							if(item.name == "绋煎姩鐜�") item.itemStyle = {color: '#40a9ff'};
 						})
-						this.wcsOptionR.series[0].data = res.data;	
-						myChart.setOption(this.wcsOptionR);
+						//this.wcsOptionR.series[0].data = res.data;
+						this.getwcsRData = res.data;  //鏂板浘褰�
+						//myChart.setOption(this.wcsOptionR);
 					}
 				})
 			},
@@ -626,90 +678,89 @@
 			addfeedbackSuccess() {
 				
 			},
-			handleNodeClick(data) {
-				if(data.code) {
-					this.lastLevelId = data.id;
-					this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${this.lastLevelId}`).then(res=> {
-						if(res.code == 200) {
-							this.stationForm = res.data;
-							this.getdmp(this.lastLevelId,this.stationForm.machineId);
-							//this.newDate();  //鑾峰彇褰撳墠鏃ユ湡
-							this.getwcsR();
-							this.getwscLvalue();  //宸︿晶鍥捐〃
-							this.alarmsearchBtn();  //鏈哄櫒灞ュ巻
-							this.getrecord();  //鐝鐘舵�佽褰晅able
-							this.getlogcart();  //鐝鐘舵�佽褰昪hart
+			query() {
+				if (!this.treeChecked.toString()) return;
+				this.$HTTP.get(`/api/smis/workstation/get?workstationId=${this.treeChecked.toString()}`).then(res=> {
+					if(res.code == 200) {
+						if(res.data.avatar == "") {
+							res.data.avatar = station;
 						}
-					})
-				}
+						this.stationForm = res.data;
+						this.getdmp(this.stationForm.machineId);
+						//this.newDate();  //鑾峰彇褰撳墠鏃ユ湡
+						this.getwcsR();
+						this.getwcsLcolor();  //宸︿晶鍥捐〃
+						this.alarmsearchBtn();  //鏈哄櫒灞ュ巻
+						this.getrecord();  //鐝鐘舵�佽褰晅able
+						this.getlogcart();  //鐝鐘舵�佽褰昪hart
+					}
+				})
 			},
-			getdmp(lastLevelId,machineId) {
-				console.log(lastLevelId,machineId)
-				this.$HTTP.get(`/api/blade-cps/workstation/get-dmp-variables?machineId=${machineId}&workstationId=${lastLevelId}`).then(res=> {
+			getdmp(machineId) {
+				this.$HTTP.get(`/api/smis/workstation/listDatapointsByWorkstationId?machineId=${machineId}&workstationId=${this.treeChecked.toString()}`).then(res=> {
 					if(res.code == 200) {
 						this.dmpList = [];
 						var that = this;
 						//鍙戦�亀ebsocket
 						var obj = {
 							type: "realTimeData",
-							workstationIdList: [lastLevelId]
+							workstationIdList: this.treeChecked
 						}
+						if(res.data.dpConfig == null || res.data.dpConfig.length == 0) return;  //娌″�间笉鐢ㄥ惊鐜�
+
 						if(this.$TOOL.socket.websocket == null) {  //娌℃湁寤虹珛鍏堝缓绔�
 							this.$TOOL.socket.connectToWebSocket(this.$TOOL.cookie.get("TOKEN")); 
 						}
-						this.$TOOL.socket.sendDataToWebSocket(obj);  //鍙戦��
+						var intervalId123 = setInterval(function () {
+							if (that.$TOOL.socket.websocket.readyState == 1) {
+								clearInterval(intervalId123);
+								that.$TOOL.socket.sendDataToWebSocket(obj);  //鍙戦��
+							}
+						}, 500);
 						this.$TOOL.socket.websocket.onmessage = function(event) {  
-							if(res.data.length == 0) return;  //娌″�间笉鐢ㄥ惊鐜�
-					        res.data.forEach(item=> {  //绗竴姝ユ妸v鏀惧埌code閲�
-					        	var eventData = JSON.parse(event.data);
-							    if(item.name == "DeviceStatus") {  //鏈哄櫒鐘舵��
-							        item.code = eventData.data[item.name].v;
-							        that.allwcs.forEach(item1=> {
+							var JSONData = JSON.parse(res.data.dpConfig);
+							var SpindleLoad = JSONData.some(obj => obj.dpName === 'spindleLoad'); //鍒ゆ柇鏄惁鏈変富杞磋礋杞�(SpindleLoad)锛�
+							var SpindleRate = JSONData.some(obj => obj.dpName === 'spindleRate'); //鍒ゆ柇鏄惁鏈変富杞村�嶇巼(SpindleRate)锛�
+							var FeedRate = JSONData.some(obj => obj.dpName === 'feedRate'); //鍒ゆ柇鏄惁鏈夎繘缁欏�嶇巼(FeedRate)锛�
+							if(!SpindleLoad) JSONData.push({dpName: "spindleLoad",dpLabel: "涓昏酱璐熻浇"});
+							if(!SpindleRate) JSONData.push({dpName: "spindleRate",dpLabel: "涓昏酱鍊嶇巼"});
+							if(!FeedRate) JSONData.push({dpName: "feedRate",dpLabel: "杩涚粰鍊嶇巼"});
+							var eventData = JSON.parse(event.data);
+					        JSONData.forEach((item,index)=> {  //绗竴姝ユ妸v鏀惧埌code閲�
+							    if(item.dpName == "DeviceStatus") {  //鏈哄櫒鐘舵��
+									if(eventData.data[item.dpName]) {
+										item.code = eventData.data[item.dpName].v;
+									}
+									setTimeout(()=> {
+										console.log(that.allwcs,888)
+									},5000)
+							        that.allwcs.forEach((item1)=> {
 							        	if(item.code == item1.code) {
 							        		item.codeName = item1.name;    //绗簩姝ユ妸v鐨刢ode鍜岃繍琛屽搴�
-							        		if(item.code == "2") {
-							        			item.color = "#73D13D";
-							        		}else {
-							        			item.color = "#75C0C0";
-							        		}
 							        	}
 							        })
 							    }else {
-							    	if(item.name == 'Alarm') {  //鎶ヨ
-							    		var v = JSON.parse(eventData.data[item.name].v);
-							    		item.description = v.code;
-							    		item.codeName = v.msg;
-							    		item.color = "#370C0D";
+							    	if(item.dpName == 'Alarm') {  //鎶ヨ
+										if(eventData.data[item.dpName]) {
+											item.codeName = eventData.data[item.dpName].v;
+										}
 							    	}else {
-							    		item.codeName = eventData.data[item.name].v;
-							        	item.color = "#75C0C0";
+										if(eventData.data[item.dpName]) {
+											item.codeName = eventData.data[item.dpName].v;
+										}else {  //ws娌℃湁鐨勬儏鍐�
+											if(item.dpName == "spindleLoad" || item.dpName == "spindleRate" || item.dpName == "feedRate") {
+												item.codeName = 0;
+											}else {
+												item.codeName = "";
+											}
+										}
 							    	}
 							    }
 							});
-							that.dmpList = res.data;
+							that.dmpList = JSONData;
 					    };
 					}
 				})
-			},
-			getLastLevelIds(tree) {  
-				if (tree.length === 0) return ""; // 濡傛灉娌℃湁鏍硅妭鐐癸紝杩斿洖绌� 
-				const lastLevelIds = []; 
-				const lastLevelCodes = [];
-				function traverseTree(node) {  
-					if(!node.code) {
-						lastLevelCodes.push(node.id);
-					}
-					if (node.children.length > 0) {  
-						node.children.forEach(traverseTree); // 閫掑綊閬嶅巻瀛愯妭鐐�  
-					} else {  
-						if(node.code) {
-							lastLevelIds.push(node.id); // 鏈塩ode鎵嶈 
-						}
-					}
-				}  	
-				// 鍙亶鍘嗙涓�涓牴鑺傜偣  
-				traverseTree(tree[0]);  
-				return {lastLevelCodes,lastLevelId:lastLevelIds[0]}; // 杩斿洖lastLevelCodes锛氭病鏈塩ode鐨勬暟缁勩�俵astLevelId锛氭湁code鐨勭涓�涓猧d
 			},
 			buildTree(items) {  
 			  const idMap = {};  
@@ -746,38 +797,8 @@
 				})
 				return tree;
 			},
-			getTreeList(id) {
-				var obj = {
-					groupCategory: 1,
-					groupType: "group_workstation"
-				}
-				this.$HTTP.post("/api/blade-cps/group/groupWorkstation/type",obj).then(res=> {
-					if(res.code == 200) {
-						if (res.code == 200) {
-							var treeDisabled = this.addTreeDisable(res.data);
-							this.tableData = this.buildTree(treeDisabled);  //浠庢墎骞冲寲鍙樹负鏍戠姸缁撴瀯
-							this.$nextTick(()=> {
-								if(id) {
-									this.lastLevelId = id;  //鎸囧畾id
-								}else {
-									this.lastLevelId = this.getLastLevelIds(this.tableData).lastLevelId;
-								}
-								this.$refs.treeRef.setCurrentKey(this.lastLevelId);  //绗竴涓妭鐐圭殑绗竴涓瓙鑺傜偣鏈�鍚庝竴绾ч粯璁ら�変腑
-								//浠ヤ笅鏄垵濮嬪寲鏁版嵁
-								this.getlist();  //娓叉煋璇︽儏鍜�(鐘舵�乴ist)
-								this.getwcsLcolor();  //宸︿晶鍥捐〃
-								this.getwcsR();  //鍙充晶鍥炬爣
-								this.getachievements();  //鐝鐘舵�佽褰曢噰闆嗙姸鎬�
-								this.getrecord();  //鐝鐘舵�佽褰晅able
-								this.getlogcart();  //鐝鐘舵�佽褰昪hart
-							})
-							
-						}
-					}
-				})
-			},
 			getachievements() { //鐝鐘舵�佽褰曢噰闆嗙姸鎬�
-				this.$HTTP.get(`/api/blade-cps/global_wcs/wcs-achievements`).then(res=> {
+				this.$HTTP.get(`/api/smis/global_wcs/wcs-achievements`).then(res=> {
 					if(res.code == 200) {
 						var achievements = [];//閲囬泦鐘舵��
 						var collectionstatus = [];  //浜哄伐鍙嶉鐘舵��
@@ -792,14 +813,6 @@
 						this.achievements = achievements;
 						this.collectionstatus = collectionstatus;
 						this.allwcs = res.data;
-					}
-				})
-			},
-			getlist() {
-				this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${this.lastLevelId}`).then(res=> {
-					if(res.code == 200) {
-						this.stationForm = res.data;
-						this.getdmp(this.lastLevelId,this.stationForm.machineId);
 					}
 				})
 			}
@@ -817,6 +830,7 @@
 	margin-right: 8px;
 	padding: 4px;
 	background-color: #fff;
+	padding-top:20px;
 }
 .aposcope-right {
 	flex: 1;
@@ -833,15 +847,44 @@
     color: #fff;
     border-radius: 2px 2px 0 0;
 }
-.content-machine-box {
+.content-machine-box,.content-zhou-box {
 	display: flex;
-	align-items: center;
+	align-items: flex-start;
 	flex-direction: row;
     flex-wrap: nowrap;
     align-content: center;
     justify-content: flex-start;
-    background-color: rgba(59, 142, 142, .06);
     border-radius: 2px;
+	border: 1px solid #ccc;
+}
+.content-border {
+	height: 100%;
+}
+.content-zhou-border {
+	height: 100%;
+}
+.content-one {
+	width: 25%;
+}
+.content-two,.zhou-three {
+	flex: 1;
+	position: relative;
+}
+.content-two {
+	border-left: 1px solid #eee;
+	border-right: 1px solid #eee;
+	min-height: 450px;
+}
+.content-three {
+	width: 25%;
+}
+.zhou-one {
+	width: 330px;
+}
+.zhou-two {
+	width:28%;
+	border-left: 1px solid #eee;
+	border-right: 1px solid #eee;
 }
 .content-machine-img {
 	margin: 14px;
@@ -976,7 +1019,6 @@
 }
 .panel-content {
     width: 100%;
-    height: calc(100% - 45px);
 }
 .panel-content-gant, .panel-content-table {
     width: 100%;
@@ -1047,4 +1089,16 @@
 	display: inline-block;
 	border-bottom: 1px solid #eee;
 }
+.dataHr {
+    background-color: #48ACF8;
+    height: 30px;
+    width: 100%;
+    text-align: center;
+    line-height: 30px;
+    font-size: 13px;
+    color: #fff;
+    font-weight: bold;
+    margin-top: 12px;
+    margin-bottom: 12px;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3