Compare commits
21 Commits
53f2b242a4
...
da2999e67c
Author | SHA1 | Date | |
---|---|---|---|
da2999e67c | |||
9fc429bc64 | |||
e544b91861 | |||
e848be2a35 | |||
bdf292654b | |||
3d198d83cb | |||
d0a0eadafe | |||
91526eb847 | |||
7667903218 | |||
|
05c0166003 | ||
|
0e0171cc0f | ||
9d34ca02f1 | |||
|
1c5e77258e | ||
|
ebd7cb02ff | ||
ebb8d3f184 | |||
0789decfd9 | |||
e2039141e6 | |||
286a9a1a0a | |||
5974e7026e | |||
29e5a3d07a | |||
d647dc0448 |
6
.env.dev
6
.env.dev
@ -13,7 +13,11 @@ VUE_APP_TITLE = MES系统
|
||||
|
||||
# 芋道管理系统/开发环境
|
||||
# VUE_APP_BASE_API = 'http://100.64.0.26:48082'
|
||||
|
||||
# VUE_APP_BASE_API = 'http://192.168.0.33:48082'
|
||||
|
||||
# VUE_APP_BASE_API = 'http://10.70.2.2:8080'
|
||||
|
||||
# VUE_APP_BASE_API = 'http://192.168.4.173:48080'
|
||||
# VUE_APP_BASE_API = 'http://192.168.2.173:48080'
|
||||
# VUE_APP_BASE_API = 'http://192.168.1.49:48082'
|
||||
@ -26,7 +30,7 @@ VUE_APP_TITLE = MES系统
|
||||
|
||||
VUE_APP_BASE_API = 'http://100.64.0.23:48082'
|
||||
# 积木报表指向地址
|
||||
VUE_APP_JIMU_API = 'http://192.168.0.33:48082'
|
||||
VUE_APP_JIMU_API = 'http://10.70.2.22:8080'
|
||||
|
||||
# 路由懒加载
|
||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||
|
@ -15,11 +15,11 @@ VUE_APP_TITLE = MES系统
|
||||
VUE_APP_BASE_API = '/prod-api'
|
||||
|
||||
# 积木报表指向地址
|
||||
VUE_APP_JIMU_API = 'http://10.70.2.22:8080'
|
||||
VUE_APP_JIMU_API = 'http://10.70.2.2:8080'
|
||||
|
||||
|
||||
# 根据服务器或域名修改
|
||||
PUBLIC_PATH = 'http://10.70.2.32'
|
||||
PUBLIC_PATH = ''
|
||||
|
||||
# 二级部署路径
|
||||
# VUE_APP_APP_NAME ='yudao-admin'
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-07-19 15:18:30
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-12-28 11:52:08
|
||||
* @LastEditTime: 2023-12-29 16:41:18
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -83,10 +83,14 @@
|
||||
<top-radio-group />
|
||||
</div> -->
|
||||
<!-- 像下面这样表格里的limit值,也许可以用js动态计算出来 -->
|
||||
<el-col :span="12">
|
||||
<base-table1 :page="1" :limit="9" :show-index="false" :table-config="EqMonitoringProps"
|
||||
<el-col :span="6">
|
||||
<base-table1 :page="1" :limit="9" :show-index="false" :table-config="EqMonitoringPropsFun"
|
||||
:table-data="funList" />
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<base-table1 :page="1" :limit="9" :show-index="false" :table-config="EqMonitoringPropsFun"
|
||||
:table-data="annealFunList" />
|
||||
</el-col>
|
||||
<el-col :span="12" style="float: right;">
|
||||
<base-table1 :page="1" :limit="9" :show-index="false" :table-config="EqMonitoringProps"
|
||||
:table-data="realEqList" />
|
||||
@ -132,9 +136,15 @@ import doubleYChart from './components/doubleYChart '
|
||||
// import elementResizeDetectorMaker from 'element-resize-detector';
|
||||
// var erd = elementResizeDetectorMaker(); //创建实例
|
||||
// let resizeFun = null
|
||||
import { parseTime } from '../core/mixins/code-filter';
|
||||
|
||||
|
||||
import LinearBarChart from './components/linearBarChart'
|
||||
const qualityYearTableProps= []
|
||||
const EqMonitoringPropsFun = [
|
||||
{ prop: 'equipmentName', label: '设备名称' },
|
||||
{ prop: 'status', label: '运行状态', width: 80}
|
||||
]
|
||||
const EqMonitoringProps = [
|
||||
{ prop: 'productLine', label: '产线' },
|
||||
{ prop: 'equipmentName', label: '设备名称' },
|
||||
@ -152,12 +162,15 @@ const EqMonitoringProps = [
|
||||
},
|
||||
]
|
||||
const cutProps = [
|
||||
{ prop: 'lineName', label: '产线' },
|
||||
{ prop: 'time', label: '时间' },
|
||||
{ prop: 'lineName', label: '产线', width: 50 },
|
||||
{
|
||||
prop: 'time', label: '时间',
|
||||
filter: parseTime
|
||||
},
|
||||
{ prop: 'size', label: '规格' },
|
||||
{ prop: 'productArea', label: '良品面积' },
|
||||
{ prop: 'wasteArea', label: '废片面积' },
|
||||
{ prop: 'product', label: '良品率' },
|
||||
{ prop: 'productArea', label: '良品面积', width: 80 },
|
||||
{ prop: 'wasteArea', label: '废片面积', width: 80 },
|
||||
{ prop: 'product', label: '良品率', width: 80 },
|
||||
]
|
||||
const cxNameList = ['周一', '周二', '周三', '周四', '周五']
|
||||
|
||||
@ -241,6 +254,7 @@ export default {
|
||||
beilv: 1,
|
||||
value: 100,
|
||||
EqMonitoringProps,
|
||||
EqMonitoringPropsFun,
|
||||
realEqList:[],
|
||||
qualityYearTableProps,
|
||||
ISRATableProps,
|
||||
@ -258,9 +272,13 @@ export default {
|
||||
clientWidth: 0,
|
||||
containerWidth: 111111,
|
||||
isFullScreen: false,
|
||||
cutWsData: {},
|
||||
funWsData: {},
|
||||
SJGWsData: {},
|
||||
// orderProcessList: [],
|
||||
dateType: '0',
|
||||
funList:[],
|
||||
annealFunList: [],
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
@ -303,7 +321,10 @@ export default {
|
||||
this.init()
|
||||
},
|
||||
mounted() {
|
||||
this.initWebSocket()
|
||||
this.funInitWebSocket()
|
||||
this.CutInitWebSocket()
|
||||
this.SJGInitWebSocket()
|
||||
|
||||
this.getTimes()
|
||||
const _this = this;
|
||||
_this.beilv2 = document.documentElement.clientWidth / 1920
|
||||
@ -326,7 +347,6 @@ export default {
|
||||
// this.beilv2 = window.innerWidth / 1920
|
||||
// })
|
||||
// erd.listenTo(document, (element) => {
|
||||
// console.log(element.offsetWidth)
|
||||
// this.beilv2 = element.offsetWidth / 1920
|
||||
|
||||
// // var width = element.offsetWidth;
|
||||
@ -344,7 +364,6 @@ export default {
|
||||
// 执行查询
|
||||
// let data = '{ "data": { "FanFrequencyInfo": { "1#10处拐角冷却风机": "0", "1#L型吊墙冷却风机": "0", "1#助燃风机": "44.8", "1#澄清带池壁风机": "40", "1#融化带池壁风机": "43", "1#钢碹碴小炉垛风机": "48", "2#10处拐角冷却风机": "50", "2#L型吊墙冷却风机": "49.7", "2#助燃风机": "0", "2#澄清带池壁风机": "0", "2#融化带池壁风机": "0", "2#钢碹碴小炉垛风机": "48", "3#澄清带池壁风机": "0", "3#融化带池壁风机": "0", "4#澄清带池壁风机": "40", "4#融化带池壁风机": "43" } }, "type": "FanFrequencyInfo" }'
|
||||
// let obj = JSON.parse(data)
|
||||
// console.log('data', obj.data.FanFrequencyInfo)
|
||||
// // for()
|
||||
// let arr = []
|
||||
// for (let i in obj.data.FanFrequencyInfo) {
|
||||
@ -353,13 +372,12 @@ export default {
|
||||
// status: obj.data.FanFrequencyInfo[i]
|
||||
// })
|
||||
// }
|
||||
this.funList = arr``
|
||||
// this.funList = arr``
|
||||
this.$axios.get(
|
||||
'/monitoring/equipment-monitor/realtime-page',
|
||||
'get',
|
||||
this.queryParams
|
||||
).then((res) => {
|
||||
console.log(res);
|
||||
this.realEqList = res.data.list;
|
||||
// this.total = response.data.total;
|
||||
// this.loading = false;
|
||||
@ -389,15 +407,14 @@ export default {
|
||||
//拼接格式化当前时间
|
||||
this.times = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
|
||||
},
|
||||
initWebSocket() {
|
||||
SJGInitWebSocket() {
|
||||
if (typeof (WebSocket) === 'undefined') {
|
||||
alert('您的浏览器不支持WebSocket')
|
||||
} else {
|
||||
// const wsUrl = 'ws://192.168.1.74:48080/websocket/message?userId=EN111'
|
||||
// const wsUrl = 'ws://192.168.1.104:48082/websocket/message?userId=SJG'
|
||||
let date = new Date().valueOf()
|
||||
console.log(date);
|
||||
const SJGWsUrl = `ws://192.168.0.33:48082/websocket/message?userId=COLD${date}`
|
||||
const SJGWsUrl = `ws://10.70.2.2:8080/websocket/message?userId=COLD${date}`
|
||||
this.SJGWebsocket = new WebSocket(SJGWsUrl)
|
||||
// 监听 WebSocket 连接
|
||||
this.SJGWebsocket.onopen = this.SJGWebsocketOnOpen
|
||||
@ -407,7 +424,16 @@ export default {
|
||||
this.SJGWebsocket.onmessage = this.SJGWebsocketOnMessage
|
||||
// 监听 webSocket 断开信息
|
||||
this.SJGWebsocket.onclose = this.SJGWebsocketClose
|
||||
const cutWsUrl = `ws://192.168.0.33:48082/websocket/message?userId=CUTTING${date}`
|
||||
}
|
||||
},
|
||||
CutInitWebSocket() {
|
||||
if (typeof (WebSocket) === 'undefined') {
|
||||
alert('您的浏览器不支持WebSocket')
|
||||
} else {
|
||||
// const wsUrl = 'ws://192.168.1.74:48080/websocket/message?userId=EN111'
|
||||
// const wsUrl = 'ws://192.168.1.104:48082/websocket/message?userId=SJG'
|
||||
let date = new Date().valueOf()
|
||||
const cutWsUrl = `ws://10.70.2.2:8080/websocket/message?userId=CUTTING${date}`
|
||||
|
||||
this.cutWebsocket = new WebSocket(cutWsUrl)
|
||||
// 监听 WebSocket 连接
|
||||
@ -418,6 +444,15 @@ export default {
|
||||
this.cutWebsocket.onmessage = this.cutWebsocketOnMessage
|
||||
// 监听 webSocket 断开信息
|
||||
this.cutWebsocket.onclose = this.cutWebsocketClose
|
||||
}
|
||||
},
|
||||
funInitWebSocket() {
|
||||
if (typeof (WebSocket) === 'undefined') {
|
||||
alert('您的浏览器不支持WebSocket')
|
||||
} else {
|
||||
// const wsUrl = 'ws://192.168.1.74:48080/websocket/message?userId=EN111'
|
||||
// const wsUrl = 'ws://192.168.1.104:48082/websocket/message?userId=SJG'
|
||||
let date = new Date().valueOf()
|
||||
const funWsUrl = `ws://10.70.180.10:8081/xc-screen/websocket/${date}`
|
||||
this.funWebsocket = new WebSocket(funWsUrl)
|
||||
// 监听 WebSocket 连接
|
||||
@ -428,64 +463,54 @@ export default {
|
||||
this.funWebsocket.onmessage = this.funWebsocketOnMessage
|
||||
// 监听 webSocket 断开信息
|
||||
this.funWebsocket.onclose = this.funWebsocketClose
|
||||
// const wsUrl = 'ws://192.168.0.33:48082/websocket/message?userId=EN111'
|
||||
// 实例化 WebSocket
|
||||
// this.websocket = new WebSocket(wsUrl)
|
||||
// // 监听 WebSocket 连接
|
||||
// this.websocket.onopen = this.websocketOnOpen
|
||||
// // 监听 WebSocket 错误信息
|
||||
// this.websocket.onerror = this.websocketOnError
|
||||
// // 监听 WebSocket 消息
|
||||
// this.websocket.onmessage = this.websocketOnMessage
|
||||
// // 监听 webSocket 断开信息
|
||||
// this.websocket.onclose = this.websocketClose
|
||||
}
|
||||
},
|
||||
funWebsocketOnOpen() {
|
||||
console.log('socket连接成功')
|
||||
// console.log(this.SJGWebsocket.onmessage);
|
||||
this.SJGWebsocket.onmessage()
|
||||
},
|
||||
// 连接建立失败重连
|
||||
funWebsocketOnError(e) {
|
||||
console.log('222222', e)
|
||||
this.initWebSocket()
|
||||
this.funInitWebSocket()
|
||||
},
|
||||
// 数据接收
|
||||
funWebsocketOnMessage(e) {
|
||||
// console.log(1111, e)
|
||||
// console.log(this.wsData)
|
||||
// console.log('22222', this.wsData.data)
|
||||
this.wsData = JSON.parse(e.data)
|
||||
if (this.wsData.type === 'FanFrequencyInfo') {
|
||||
// let arr = []
|
||||
// for (let i in this.wsData.FanFrequencyInfo) {
|
||||
// arr.push({
|
||||
// equipmentName: i,
|
||||
// status: obj.data.FanFrequencyInfo[i]
|
||||
// })
|
||||
// }
|
||||
// this.funList = arr
|
||||
this.funWsData = e?.data ? JSON.parse(e?.data) : {}
|
||||
// FanInfo
|
||||
if (this.funWsData.type === 'AnnealFanInfo') {
|
||||
let arr = []
|
||||
for (let i in this.funWsData.data.annealFanInfo) {
|
||||
arr.push({
|
||||
equipmentName: i,
|
||||
status: this.funWsData.data.annealFanInfo[i]
|
||||
})
|
||||
}
|
||||
this.annealFunList = arr
|
||||
}
|
||||
if (this.funWsData.type === 'FanInfo') {
|
||||
let arr = []
|
||||
for (let i in this.funWsData.data.fanInfo) {
|
||||
arr.push({
|
||||
equipmentName: i,
|
||||
status: this.funWsData.data.fanInfo[i]
|
||||
})
|
||||
}
|
||||
this.funList = arr
|
||||
}
|
||||
},
|
||||
cutWebsocketOnOpen() {
|
||||
console.log('socket连接成功')
|
||||
// console.log(this.SJGWebsocket.onmessage);
|
||||
this.SJGWebsocket.onmessage()
|
||||
},
|
||||
// 连接建立失败重连
|
||||
cutWebsocketOnError(e) {
|
||||
console.log('11111', e)
|
||||
this.initWebSocket()
|
||||
this.CutInitWebSocket()
|
||||
},
|
||||
// 数据接收
|
||||
cutWebsocketOnMessage(e) {
|
||||
// console.log(1111, e)
|
||||
this.wsData = JSON.parse(e.data)
|
||||
console.log(this.wsData)
|
||||
// console.log('22222', this.wsData.data)
|
||||
if (this.wsData.type === 'cutting' && this.wsData.name === 'table' ) {
|
||||
this.cutTableDataList = this.wsData.productHourData.map((ele, index) => {
|
||||
this.cutWsData = e?.data ? JSON.parse(e?.data) : {}
|
||||
if (this.cutWsData.type === 'cutting' && this.cutWsData.name === 'table') {
|
||||
this.cutTableDataList = this.cutWsData.productHourData.map((ele, index) => {
|
||||
// if (ele.progressRate != 1) {
|
||||
return {
|
||||
id: ele.id,
|
||||
@ -494,13 +519,12 @@ export default {
|
||||
size: ele.size,
|
||||
productArea: ele.productArea + '㎡',
|
||||
wasteArea: ele.wasteArea + '㎡',
|
||||
product: (ele.product *100).toFixed + '%'
|
||||
product: (ele.product * 100).toFixed(2) + '%'
|
||||
|
||||
}
|
||||
// }
|
||||
});
|
||||
// console.log(this.orderList)
|
||||
} else if (this.wsData.type === 'cutting' && this.wsData.name === 'chart') {
|
||||
} else if (this.cutWsData.type === 'cutting' && this.cutWsData.name === 'chart' && this.cutWsData.dateType === 'day') {
|
||||
let nameList = []
|
||||
let nameWasteList = []
|
||||
let topNameList = []
|
||||
@ -508,41 +532,35 @@ export default {
|
||||
let wasteList = []
|
||||
let sumAreaList = []
|
||||
let yieldList = []
|
||||
this.cutTableDataList = this.wsData.detData.forEach((ele, index) => {
|
||||
// this.cutTableDataList =
|
||||
this.cutWsData.coldDetData.forEach((ele, index) => {
|
||||
nameList.push(ele.lineName)
|
||||
topNameList.push(ele.lineName + ' ' + '总面积' + ele.sumArea)
|
||||
topNameList.push('产线: ' + ele.lineName + ' ' + '总面积:' + ele.sumArea)
|
||||
productList.push(ele.productArea)
|
||||
wasteList.push(ele.wastArea)
|
||||
nameWasteList.push('缺陷面积:'+ele.wastArea)
|
||||
nameWasteList.push('缺陷面积:' + ele.wastArea)
|
||||
sumAreaList.push(ele.sumArea)
|
||||
yieldList.push((ele.yield *100).toFixed(3))
|
||||
})
|
||||
this.$refs.pileChart.initChart(nameList, topNameList, nameWasteList, productList, wasteList)
|
||||
this.$refs.productChart.initChart(nameList, yieldList, sumAreaList)
|
||||
// this.$refs.pileChart.initWebSocket
|
||||
// console.log(this.orderList)
|
||||
}
|
||||
},
|
||||
SJGWebsocketOnOpen() {
|
||||
console.log('socket连接成功')
|
||||
// console.log(this.SJGWebsocket.onmessage);
|
||||
this.SJGWebsocket.onmessage()
|
||||
},
|
||||
// 连接建立失败重连
|
||||
SJGWebsocketOnError(e) {
|
||||
console.log('11111', e)
|
||||
this.initWebSocket()
|
||||
this.SJGInitWebSocket()
|
||||
},
|
||||
// 数据接收
|
||||
SJGWebsocketOnMessage(e) {
|
||||
console.log(e);
|
||||
// console.log(1111, e)
|
||||
// let data = { "data": { "FanFrequencyInfo": { "1#10处拐角冷却风机": "0", "1#L型吊墙冷却风机": "0", "1#助燃风机": "44.8", "1#澄清带池壁风机": "40", "1#融化带池壁风机": "43", "1#钢碹碴小炉垛风机": "48", "2#10处拐角冷却风机": "50", "2#L型吊墙冷却风机": "49.7", "2#助燃风机": "0", "2#澄清带池壁风机": "0", "2#融化带池壁风机": "0", "2#钢碹碴小炉垛风机": "48", "3#澄清带池壁风机": "0", "3#融化带池壁风机": "0", "4#澄清带池壁风机": "40", "4#融化带池壁风机": "43" } }, "type": "FanFrequencyInfo" }
|
||||
// let obj = JSON.parse(data.data)
|
||||
// console.log(obj);
|
||||
this.wsData = JSON.parse(e.data)
|
||||
console.log(this.wsData)
|
||||
// console.log('22222', this.wsData.data)
|
||||
if (this.wsData.type === 'isra') {
|
||||
this.ISRAList = this.wsData.detData.map((ele, index) => {
|
||||
this.SJGWsData = e?.data ? JSON.parse(e?.data) : {}
|
||||
if (this.SJGWsData.type === 'isra') {
|
||||
this.ISRAList = this.SJGWsData.detData.map((ele, index) => {
|
||||
// if (ele.progressRate != 1) {
|
||||
return {
|
||||
id: ele.id,
|
||||
@ -554,66 +572,8 @@ export default {
|
||||
}
|
||||
// }
|
||||
});
|
||||
// console.log(this.orderList)
|
||||
}
|
||||
},
|
||||
// 数据发送
|
||||
// SJGWebsocketSend() {
|
||||
// this.websocket.send('11111')
|
||||
// },
|
||||
// // 关闭
|
||||
// SJGWebsocketClose(e) {
|
||||
// console.log('WebSocket 断开连接', e)
|
||||
// },
|
||||
// // 连接建立之后执行send方法发送数据
|
||||
// websocketOnOpen() {
|
||||
// console.log('socket连接成功')
|
||||
// this.websocket.onmessage()
|
||||
// },
|
||||
// // 连接建立失败重连
|
||||
// websocketOnError(e) {
|
||||
// console.log('11111', e)
|
||||
// this.initWebSocket()
|
||||
// },
|
||||
// // 数据接收
|
||||
// websocketOnMessage(e) {
|
||||
// console.log(1111, e)
|
||||
// this.wsData = JSON.parse(e.data)
|
||||
// // console.log('22222', this.wsData.data)
|
||||
// if (this.wsData.type === 'EnergyMonitoring') {
|
||||
// let EnergyNameList = []
|
||||
// this.wsData.data.forEach((ele) => {
|
||||
// EnergyNameList.push(ele.lineName)
|
||||
// })
|
||||
// this.EnergyMonitoringNameList = EnergyNameList
|
||||
// let EnergyDataList = []
|
||||
// this.wsData.data.forEach((ele) => {
|
||||
// EnergyDataList.push(ele.useQuantity
|
||||
// // {
|
||||
// // type: 'bar',
|
||||
// // data: ele.useQuantity,
|
||||
// // barWidth: 6
|
||||
|
||||
// // }
|
||||
// )
|
||||
// })
|
||||
// this.EnergyMonitoringList = EnergyDataList
|
||||
// console.log(EnergyDataList)
|
||||
// // console.log(this.EnergyMonitoringNameList)
|
||||
// // console.log(this.EnergyMonitoringList)
|
||||
// // this.$nextTick(() => {
|
||||
// this.$refs.EnergyMonitoringChart.initChart(this.EnergyMonitoringNameList, this.EnergyMonitoringList)
|
||||
// // })
|
||||
// }
|
||||
// },
|
||||
// // 数据发送
|
||||
// websocketSend() {
|
||||
// this.websocket.send('11111')
|
||||
// },
|
||||
// // 关闭
|
||||
// websocketClose(e) {
|
||||
// console.log('WebSocket 断开连接', e)
|
||||
// },
|
||||
windowWidth(value) {
|
||||
this.clientWidth = value
|
||||
this.beilv2 = this.clientWidth / 1920
|
||||
|
@ -18,7 +18,7 @@
|
||||
<el-table-column
|
||||
prop="_pageIndex"
|
||||
label="序号"
|
||||
:width="70"
|
||||
:width="50"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-09-21 09:06:28
|
||||
* @LastEditTime: 2023-12-27 18:28:45
|
||||
* @LastEditTime: 2023-12-29 16:18:17
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -60,7 +60,6 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
chart: null,
|
||||
nameList: [],
|
||||
series: [{
|
||||
type: 'bar',
|
||||
data: [],
|
||||
@ -138,7 +137,7 @@ export default {
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
left: "3%",
|
||||
left: "4%",
|
||||
right: "4%",
|
||||
bottom: "3%",
|
||||
width: 'auto',
|
||||
@ -227,7 +226,7 @@ export default {
|
||||
},
|
||||
scale: true,
|
||||
type: 'value',
|
||||
name: '产量/片', // y轴上方的单位
|
||||
name: '产量/㎡', // y轴上方的单位
|
||||
nameTextStyle: {// y轴上方单位的颜色
|
||||
color: '#fff'
|
||||
},
|
||||
|
@ -1,7 +1,7 @@
|
||||
<!--
|
||||
* @Author: zhp
|
||||
* @Date: 2023-12-27 13:54:52
|
||||
* @LastEditTime: 2023-12-27 19:47:27
|
||||
* @LastEditTime: 2023-12-29 16:28:26
|
||||
* @LastEditors: zhp
|
||||
* @Description:
|
||||
-->
|
||||
@ -93,54 +93,50 @@ export default {
|
||||
initChart(nameList, topNameList, nameWasteList, passRateList, wasteList) {
|
||||
// console.log(1)
|
||||
this.chart = echarts.init(document.getElementById(this.id))
|
||||
let series = [{
|
||||
name: '成品面积',
|
||||
type: 'bar',
|
||||
stack: 'total',
|
||||
// label: {
|
||||
// show: true
|
||||
// },
|
||||
emphasis: {
|
||||
focus: 'series'
|
||||
let series = [
|
||||
{
|
||||
// 辅助系列
|
||||
name: '良品',
|
||||
type: 'bar',
|
||||
stack: 'total',
|
||||
// silent: true,
|
||||
// itemStyle: {
|
||||
color: '#0fdedb',
|
||||
// },
|
||||
barWidth: 10,
|
||||
data: passRateList
|
||||
},
|
||||
data: passRateList,
|
||||
itemStyle: {
|
||||
normal: { color: '#2359ec' }
|
||||
{
|
||||
type: 'bar',
|
||||
stack: 'total',
|
||||
name: '废品',
|
||||
data: wasteList,
|
||||
barWidth: 10,
|
||||
// barWidth: 15,
|
||||
// label: {
|
||||
// position: [10, 10],
|
||||
// normal: {
|
||||
// position: [800, -24],
|
||||
// show: true,
|
||||
// textStyle: {
|
||||
// color: '#2359ec',
|
||||
// fontSize: 16,
|
||||
// },
|
||||
// },
|
||||
// },
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '废片面积',
|
||||
type: 'bar',
|
||||
stack: 'total',
|
||||
// label: {
|
||||
// show: true
|
||||
// },
|
||||
emphasis: {
|
||||
focus: 'series'
|
||||
},
|
||||
barWidth: 12,
|
||||
data: wasteList,
|
||||
itemStyle: {
|
||||
normal: { color: '#745fe4' }
|
||||
}
|
||||
},]
|
||||
]
|
||||
// for (i = 0; i < 5; i++) {
|
||||
// series.push({
|
||||
|
||||
// })
|
||||
// }
|
||||
const yAxisDataLeft = topNameList;
|
||||
// const yAxisDataRight = ['服装', '矿产', '服务业', '建筑业', '金融业'];
|
||||
const yAxisDataRight = nameWasteList
|
||||
this.chart.setOption({
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
// Use axis to trigger tooltip
|
||||
type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
|
||||
legend: {
|
||||
textStyle: {
|
||||
color: '#ffffff'
|
||||
}
|
||||
},
|
||||
// legend: {},
|
||||
grid: {
|
||||
left: '3%',
|
||||
right: '4%',
|
||||
@ -149,73 +145,38 @@ export default {
|
||||
height: 'auto',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
show: false, // 不显示坐标轴线、坐标轴刻度线和坐标轴上的文字
|
||||
axisTick: {
|
||||
show: false // 不显示坐标轴刻度线
|
||||
},
|
||||
axisLine: {
|
||||
show: false, // 不显示坐标轴线
|
||||
},
|
||||
axisLabel: {
|
||||
show: false, // 不显示坐标轴上的文字
|
||||
},
|
||||
splitLine: {
|
||||
show: false // 不显示网格线
|
||||
},
|
||||
},
|
||||
yAxis: [
|
||||
{
|
||||
type: 'category',
|
||||
inverse: true,
|
||||
data: yAxisDataLeft,
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
},
|
||||
axisLabel: {
|
||||
show: true,
|
||||
inside: true,
|
||||
interval: 0, //横轴信息全部显
|
||||
splitNumber: 50,
|
||||
// boundaryGap: [20, 20],
|
||||
textStyle: {
|
||||
color: '#ffffff',
|
||||
verticalAlign: 'bottom',
|
||||
fontSize: 12,
|
||||
align: 'left',
|
||||
},
|
||||
formatter: '{value}\n{a|占位}\n{a|占位}',
|
||||
rich: {
|
||||
a: {
|
||||
color: 'transparent',
|
||||
lineHeight: 24,
|
||||
}
|
||||
padding: [0, 0, 15, -5]
|
||||
}
|
||||
},
|
||||
//offset: 30,
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
axisTick: {
|
||||
show: false
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
}
|
||||
data: topNameList
|
||||
},
|
||||
{
|
||||
inverse: false,
|
||||
data: yAxisDataRight,
|
||||
axisLabel: {
|
||||
inside: true,
|
||||
textStyle: {
|
||||
color: '#ffffff',
|
||||
fontSize: 12,
|
||||
align: 'right',
|
||||
},
|
||||
formatter: '{value}\n{a|占位}\n{a|占位}',
|
||||
rich: {
|
||||
a: {
|
||||
color: 'transparent',
|
||||
lineHeight: 24,
|
||||
fontFamily: 'digital'
|
||||
}
|
||||
}
|
||||
},
|
||||
offset: 0,
|
||||
type: 'category',
|
||||
inverse: true,
|
||||
splitLine: {
|
||||
show: false
|
||||
},
|
||||
@ -224,10 +185,29 @@ export default {
|
||||
},
|
||||
axisLine: {
|
||||
show: false
|
||||
}
|
||||
},
|
||||
axisLabel: {
|
||||
show: true,
|
||||
inside: true,
|
||||
interval: 0, //横轴信息全部显
|
||||
splitNumber: 50,
|
||||
// boundaryGap: [20, 20],
|
||||
textStyle: {
|
||||
color: '#ffffff',
|
||||
verticalAlign: 'bottom',
|
||||
fontSize: 12,
|
||||
align: 'right',
|
||||
padding: [0, 0, 15, -5]
|
||||
}
|
||||
},
|
||||
data: nameWasteList
|
||||
}
|
||||
],
|
||||
series: series
|
||||
xAxis: {
|
||||
// max: 120,
|
||||
show: false,
|
||||
},
|
||||
series:series
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2021-07-19 15:18:30
|
||||
* @LastEditors: zhp
|
||||
* @LastEditTime: 2023-12-28 10:22:06
|
||||
* @LastEditTime: 2023-12-29 15:15:50
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
@ -557,6 +557,7 @@ export default {
|
||||
mounted() {
|
||||
this.getList()
|
||||
this.initWebSocket()
|
||||
this.SJGInitWebSocket()
|
||||
this.getTimes()
|
||||
const _this = this;
|
||||
_this.beilv2 = document.documentElement.clientWidth / 1920
|
||||
@ -597,14 +598,14 @@ export default {
|
||||
'get',
|
||||
this.queryParams
|
||||
).then((res) => {
|
||||
console.log('11111', res);
|
||||
// console.log('11111', res);
|
||||
this.productLineList = res.data
|
||||
})
|
||||
this.$axios.get(
|
||||
'base/quality-inspection-record/dayStatistics',
|
||||
'get',
|
||||
).then((res) => {
|
||||
console.log('11111', res);
|
||||
// console.log('11111', res);
|
||||
this.qualityMonthList = res.data
|
||||
})
|
||||
},
|
||||
@ -636,21 +637,10 @@ export default {
|
||||
if (typeof (WebSocket) === 'undefined') {
|
||||
alert('您的浏览器不支持WebSocket')
|
||||
} else {
|
||||
const wsUrl = `ws://192.168.0.33:48082/websocket/message?userId=EN${date}`
|
||||
const wsUrl = `ws://10.70.2.2:8080/websocket/message?userId=EN${date}`
|
||||
// const wsUrl = 'ws://192.168.1.104:48082/websocket/message?userId=SJG'
|
||||
let date = new Date().valueOf()
|
||||
console.log(date);
|
||||
const SJGWsUrl = `ws://192.168.0.33:48082/websocket/message?userId=SJG${date}`
|
||||
this.SJGWebsocket = new WebSocket(SJGWsUrl)
|
||||
// 监听 WebSocket 连接
|
||||
this.SJGWebsocket.onopen = this.SJGWebsocketOnOpen
|
||||
// 监听 WebSocket 错误信息
|
||||
this.SJGWebsocket.onerror = this.SJGWebsocketOnError
|
||||
// 监听 WebSocket 消息
|
||||
this.SJGWebsocket.onmessage = this.SJGWebsocketOnMessage
|
||||
// 监听 webSocket 断开信息
|
||||
this.SJGWebsocket.onclose = this.SJGWebsocketClose
|
||||
// const wsUrl = 'ws://192.168.0.33:48082/websocket/message?userId=EN111'
|
||||
// const wsUrl = 'ws://10.70.2.2:8080/websocket/message?userId=EN111'
|
||||
// 实例化 WebSocket
|
||||
this.websocket = new WebSocket(wsUrl)
|
||||
// 监听 WebSocket 连接
|
||||
@ -663,6 +653,26 @@ export default {
|
||||
this.websocket.onclose = this.websocketClose
|
||||
}
|
||||
},
|
||||
SJGInitWebSocket() {
|
||||
if (typeof (WebSocket) === 'undefined') {
|
||||
alert('您的浏览器不支持WebSocket')
|
||||
} else {
|
||||
// const wsUrl = `ws://10.70.2.2:8080/websocket/message?userId=EN${date}`
|
||||
// const wsUrl = 'ws://192.168.1.104:48082/websocket/message?userId=SJG'
|
||||
let date = new Date().valueOf()
|
||||
// console.log(date);
|
||||
const SJGWsUrl = `ws://10.70.2.2:8080/websocket/message?userId=SJG${date}`
|
||||
this.SJGWebsocket = new WebSocket(SJGWsUrl)
|
||||
// 监听 WebSocket 连接
|
||||
this.SJGWebsocket.onopen = this.SJGWebsocketOnOpen
|
||||
// 监听 WebSocket 错误信息
|
||||
this.SJGWebsocket.onerror = this.SJGWebsocketOnError
|
||||
// 监听 WebSocket 消息
|
||||
this.SJGWebsocket.onmessage = this.SJGWebsocketOnMessage
|
||||
// 监听 webSocket 断开信息
|
||||
this.SJGWebsocket.onclose = this.SJGWebsocketClose
|
||||
}
|
||||
},
|
||||
SJGWebsocketOnOpen() {
|
||||
console.log('socket连接成功')
|
||||
console.log(this.SJGWebsocket.onmessage);
|
||||
@ -671,16 +681,16 @@ export default {
|
||||
// 连接建立失败重连
|
||||
SJGWebsocketOnError(e) {
|
||||
// console.log('11111', e)
|
||||
this.initWebSocket()
|
||||
this.SJGInitWebSocket()
|
||||
},
|
||||
// 数据接收
|
||||
SJGWebsocketOnMessage(e) {
|
||||
// console.log(1111, e)
|
||||
this.wsData = JSON.parse(e.data)
|
||||
this.SJGWsData = JSON.parse(e.data)
|
||||
// console.log(this.wsData.detData);
|
||||
// console.log('22222', this.wsData.data)
|
||||
if (this.wsData.type === 'order') {
|
||||
this.orderList = this.wsData.detData.map((ele, index) => {
|
||||
if (this.SJGWsData.type === 'order') {
|
||||
this.orderList = this.SJGWsData.detData.map((ele, index) => {
|
||||
if (ele.progressRate != 1) {
|
||||
return {
|
||||
id: ele.id,
|
||||
@ -690,8 +700,8 @@ export default {
|
||||
}
|
||||
});
|
||||
console.log(this.orderList)
|
||||
} else if (this.wsData.type === 'equipment') {
|
||||
this.equipmentList = this.wsData.detData.map((ele, index) => {
|
||||
} else if (this.SJGWsData.type === 'equipment') {
|
||||
this.equipmentList = this.SJGWsData.detData.map((ele, index) => {
|
||||
// if (ele.progressRate != 1) {
|
||||
return {
|
||||
id: ele.id,
|
||||
@ -702,16 +712,16 @@ export default {
|
||||
}
|
||||
// }
|
||||
});
|
||||
// console.log(this.orderList)
|
||||
} else if (this.wsData.type === 'productline') {
|
||||
console.log(this.wsData.detData);
|
||||
// console.log(SJGWsData.orderList)
|
||||
} else if (this.SJGWsData.type === 'productline') {
|
||||
// console.log(this.wsData.detData);
|
||||
let nameList = []
|
||||
let passRateList = []
|
||||
let outputNumList = []
|
||||
|
||||
// console.log('2222222222', this.productLineList);
|
||||
this.productLineList.forEach((item) => {
|
||||
this.wsData.detData.forEach((ele) => {
|
||||
this.SJGWsData.detData.forEach((ele) => {
|
||||
if (item.id == ele.productionLineId) {
|
||||
nameList.push(item.name)
|
||||
}
|
||||
@ -720,11 +730,11 @@ export default {
|
||||
console.log(Array.from(new Set(nameList)))
|
||||
// progressRateList = EnergyNameList
|
||||
// let EnergyDataList = []
|
||||
this.wsData.detData.forEach((ele) => {
|
||||
this.SJGWsData.detData.forEach((ele) => {
|
||||
passRateList.push(ele.passRate *100
|
||||
)
|
||||
})
|
||||
this.wsData.detData.forEach((ele) => {
|
||||
this.SJGWsData.detData.forEach((ele) => {
|
||||
outputNumList.push(ele.outputNum
|
||||
)
|
||||
})
|
||||
|
@ -47,7 +47,7 @@
|
||||
向世界先进水平挑战,为人类社会文明做贡献
|
||||
</p>
|
||||
</div>
|
||||
<video
|
||||
<!-- <video
|
||||
src="/static/videos/login.webm"
|
||||
muted
|
||||
autoplay
|
||||
@ -58,7 +58,7 @@
|
||||
top: 28%;
|
||||
width: 100%;
|
||||
height: 70%;
|
||||
"></video>
|
||||
"></video> -->
|
||||
</div>
|
||||
<!-- 表单 -->
|
||||
<div class="field">
|
||||
|
@ -170,7 +170,12 @@ export default {
|
||||
{ width: 256, prop: 'code', label: '设备编码' },
|
||||
{ prop: 'location', label: '位置' },
|
||||
{ prop: 'responsiblePeopleName', label: '负责人' },
|
||||
{ prop: 'dueTime', label: '有效期至' },
|
||||
{
|
||||
prop: 'dueDate',
|
||||
label: '有效期至',
|
||||
filter: (val) =>
|
||||
val != null ? moment(val).format('yyyy-MM-DD HH:mm:ss') : '--',
|
||||
},
|
||||
{ prop: 'remark', label: '备注' },
|
||||
],
|
||||
searchBarFormConfig: [
|
||||
@ -250,8 +255,8 @@ export default {
|
||||
[
|
||||
{
|
||||
datetime: true,
|
||||
label: '有效期至',
|
||||
prop: 'dueTime',
|
||||
label: '有效期',
|
||||
prop: 'dueDate',
|
||||
bind: { clearable: true },
|
||||
},
|
||||
{},
|
||||
|
@ -195,18 +195,21 @@ export default {
|
||||
{ id: 3, name: '特种设备' },
|
||||
],
|
||||
filterable: true,
|
||||
defaultSelect: null
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: '设备',
|
||||
placeholder: '请选择设备',
|
||||
param: 'equipmentId',
|
||||
defaultSelect: null
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: '计划名称',
|
||||
placeholder: '请选择计划名称',
|
||||
param: 'maintainPlanId',
|
||||
defaultSelect: null
|
||||
},
|
||||
// 开始结束时间
|
||||
{
|
||||
@ -220,6 +223,7 @@ export default {
|
||||
endPlaceholder: '结束日期',
|
||||
defaultTime: ['00:00:00', '23:59:59'],
|
||||
param: 'startTime',
|
||||
defaultSelect: null
|
||||
// width: 350,
|
||||
},
|
||||
{
|
||||
@ -229,6 +233,7 @@ export default {
|
||||
{ name: '是', id: 1 },
|
||||
{ name: '否', id: 2 },
|
||||
],
|
||||
defaultSelect: null,
|
||||
param: 'relatePlan',
|
||||
},
|
||||
{
|
||||
@ -434,12 +439,16 @@ export default {
|
||||
created() {
|
||||
this.initSearchBar();
|
||||
if (this.$route.query) {
|
||||
this.queryParams.specialType =
|
||||
this.$route.query?.specialType ?? undefined;
|
||||
this.queryParams.equipmentId =
|
||||
this.$route.query?.equipmentId ?? undefined;
|
||||
this.queryParams.maintainPlanId =
|
||||
this.$route.query?.maintainPlanId ?? undefined;
|
||||
this.queryParams.relatePlan = this.$route.query?.relatePlan ?? undefined;
|
||||
this.queryParams.startTime = this.$route.query?.createTime ?? undefined;
|
||||
this.searchBarFormConfig[0].defaultSelect =
|
||||
this.$route.query.specialType ?? undefined;
|
||||
this.searchBarFormConfig[1].defaultSelect =
|
||||
this.$route.query.equipmentId ?? undefined;
|
||||
this.searchBarFormConfig[2].defaultSelect =
|
||||
|
Loading…
Reference in New Issue
Block a user