From e2fdfe540eaf160dc7d063c60667041edcc64e86 Mon Sep 17 00:00:00 2001 From: gaoshp <291585735@qq.com> Date: 星期二, 05 十一月 2024 22:55:14 +0800 Subject: [PATCH] 处理显示名称 --- src/views/mdc/station-live.vue | 126 ++++++++++++++++++++++++++++++++--------- 1 files changed, 98 insertions(+), 28 deletions(-) diff --git a/src/views/mdc/station-live.vue b/src/views/mdc/station-live.vue index 5256404..e13026e 100644 --- a/src/views/mdc/station-live.vue +++ b/src/views/mdc/station-live.vue @@ -2,7 +2,7 @@ * @Author: lzhe lzhe@example.com * @Date: 2024-03-26 10:28:33 * @LastEditors: lzhe lzhe@example.com - * @LastEditTime: 2024-05-15 16:25:52 + * @LastEditTime: 2024-10-23 10:34:29 * @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 --> @@ -14,7 +14,7 @@ </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-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%;"> @@ -38,16 +38,16 @@ <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;"> + <!-- <div class="wimi-empty-img" style="width: 150px; height: 150px;"> <img src="./quesheng.bd026700.png" style="height: auto; width: 100%;"> - </div> + </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: rgb(127, 192, 192);">{{item.description}}</div> - <div class="card-value" style="background-color: rgba(127, 192, 192, 0.14);"></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> </div> @@ -70,7 +70,7 @@ <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" /> + <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> @@ -124,6 +124,7 @@ <save-dialog v-if="dialog.save" ref="saveDialog" @success="addfeedbackSuccess" :workstationId="lastLevelId" @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' @@ -133,7 +134,7 @@ return { achievements: [], collectionstatus: [], - checked1: "", + humanFeedback: "", alarmtotal: 0, alarmtableData: [], wcsDate: "", @@ -319,7 +320,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.lastLevelId}?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 +337,10 @@ getrecord() { //鐝鐘舵�佽褰晅able var obj = { date: this.wcsDate, - humanFeedback: true, + humanFeedback: this.humanFeedback, workstationId: this.lastLevelId } - 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 +413,10 @@ var obj = { date: this.wcsDate, //date : "2024-05-15", - humanFeedback: true, + humanFeedback: this.humanFeedback, workstationId: this.lastLevelId } - 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 = []; @@ -505,7 +506,6 @@ interval: 1440/6, //姣忛殧澶氬皯鍒嗛挓鏄剧ず涓�涓埢搴� axisLabel: { formatter: (value)=> { - //console.log(value,111) if(value == 0) { return "00:00:00"; }else if(value == 240) { @@ -561,10 +561,10 @@ getwscLvalue() { var obj = { date: this.wcsDate, - humanFeedback: true, + humanFeedback: this.humanFeedback, workstationId: this.lastLevelId } - 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)); @@ -587,7 +587,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}; @@ -600,10 +600,10 @@ getwcsR() { var obj = { date: this.wcsDate, - humanFeedback: true, + humanFeedback: this.humanFeedback, workstationId: this.lastLevelId } - 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')); res.data.forEach(item=> { @@ -630,11 +630,14 @@ handleNodeClick(data) { if(data.code) { this.lastLevelId = data.id; - this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${this.lastLevelId}`).then(res=> { + this.$HTTP.get(`/api/smis/workstation/get?workstationId=${this.lastLevelId}`).then(res=> { if(res.code == 200) { + if(res.data.avatar == "") { + res.data.avatar = station; + } this.stationForm = res.data; this.getdmp(this.lastLevelId,this.stationForm.machineId); - this.newDate(); //鑾峰彇褰撳墠鏃ユ湡 + //this.newDate(); //鑾峰彇褰撳墠鏃ユ湡 this.getwcsR(); this.getwscLvalue(); //宸︿晶鍥捐〃 this.alarmsearchBtn(); //鏈哄櫒灞ュ巻 @@ -645,10 +648,67 @@ } }, getdmp(lastLevelId,machineId) { - this.$HTTP.get(`/api/blade-cps/workstation/get-dmp-variables?machineId=${machineId}&workstationId=${lastLevelId}`).then(res=> { + this.$HTTP.get(`/api/smis/workstation/listDatapointsByWorkstationId?machineId=${machineId}&workstationId=${lastLevelId}`).then(res=> { if(res.code == 200) { - this.dmpList = res.data; - //console.log(this.dmpList,111) + this.dmpList = []; + var that = this; + //鍙戦�亀ebsocket + var obj = { + type: "realTimeData", + workstationIdList: [lastLevelId] + } + 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); //鍙戦�� + this.$TOOL.socket.websocket.onmessage = function(event) { + var JSONData = JSON.parse(res.data.dpConfig); + var eventData = JSON.parse(event.data); + if(Object.keys(eventData.data).length == 0) return; + JSONData.forEach((item,index)=> { //绗竴姝ユ妸v鏀惧埌code閲� + if(item.dpName == "DeviceStatus") { //鏈哄櫒鐘舵�� + if(eventData.data[item.dpName]) { + item.code = eventData.data[item.dpName].v; + } + that.allwcs.forEach((item1)=> { + if(item.code == item1.code) { + item.codeName = item1.name; //绗簩姝ユ妸v鐨刢ode鍜岃繍琛屽搴� + item.color = item1.color; + } + }) + }else { + if(item.dpName == 'Alarm') { //鎶ヨ + if(eventData.data[item.dpName]) { + var v = JSON.parse(eventData.data[item.dpName].v); + if(Array.isArray(v)) { //濡傛灉鏄暟缁勶紝涓嶈祴鍊� + if(v.length == 0) { + JSONData.splice(index,1); + }else { + item.codeName = v[0].msg; + } + }else { + item.codeName = v.msg; + } + } + }else { + if(eventData.data[item.dpName]) { + item.codeName = eventData.data[item.dpName].v; + }else { + item.codeName = ""; + } + } + that.allwcs.forEach((item1)=> { + if(item.code == item1.code) { + item.color = item1.color; + }else { + item.color = "#7FC0C0"; + } + }) + } + }); + that.dmpList = JSONData; + }; } }) }, @@ -712,7 +772,7 @@ groupCategory: 1, groupType: "group_workstation" } - this.$HTTP.post("/api/blade-cps/group/groupWorkstation/type",obj).then(res=> { + this.$HTTP.post("/api/smis/group/groupWorkstation/type",obj).then(res=> { if(res.code == 200) { if (res.code == 200) { var treeDisabled = this.addTreeDisable(res.data); @@ -738,7 +798,7 @@ }) }, 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 = []; //浜哄伐鍙嶉鐘舵�� @@ -757,8 +817,11 @@ }) }, getlist() { - this.$HTTP.get(`/api/blade-cps/workstation/get?workstationId=${this.lastLevelId}`).then(res=> { - if(res.code == 200) { + this.$HTTP.get(`/api/smis/workstation/get?workstationId=${this.lastLevelId}`).then(res=> { + if(res.code == 200) { + if(res.data.avatar == "") { + res.data.avatar = station; + } this.stationForm = res.data; this.getdmp(this.lastLevelId,this.stationForm.machineId); } @@ -864,6 +927,13 @@ padding: 0 8px; overflow: hidden; word-break: break-all; + line-height: 68px; +} +.card-value-bg1 { + background-color: rgba(115, 209, 61, 0.14); +} +.card-value-bg2 { + background-color: rgba(55, 12, 13, 0.14); } .wcs-main { display: flex; -- Gitblit v1.9.3