@@ -1,7 +1,7 @@ | |||
### | |||
# @Author: Do not edit | |||
# @Date: 2023-08-29 09:40:39 | |||
# @LastEditTime: 2024-01-09 16:27:57 | |||
# @LastEditTime: 2024-01-11 10:20:21 | |||
# @LastEditors: zhp | |||
# @Description: | |||
### | |||
@@ -27,7 +27,9 @@ VUE_APP_BASE_API = 'http://192.168.0.33:48082' | |||
# dcs地址 | |||
VUE_APP_Socket_Dcs_API = 'ws://10.70.180.10:8081' | |||
# socket地址 | |||
VUE_APP_Socket_API = 'ws://10.70.2.2:8080' | |||
# VUE_APP_Socket_API = 'ws://10.70.2.2:8080' | |||
VUE_APP_Socket_API = 'ws://192.168.0.30:8888' | |||
# VUE_APP_Socket_API = 'ws://192.168.0.33:48082' | |||
# 积木报表指向地址 | |||
VUE_APP_JIMU_API = 'http://10.70.2.22:8080' | |||
@@ -2,7 +2,7 @@ | |||
* @Author: zwq | |||
* @Date: 2021-07-19 15:18:30 | |||
* @LastEditors: zhp | |||
* @LastEditTime: 2024-01-09 15:34:00 | |||
* @LastEditTime: 2024-01-11 15:54:50 | |||
* @Description: | |||
--> | |||
<template> | |||
@@ -78,23 +78,23 @@ | |||
</base-container> | |||
</el-col> | |||
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="14"> | |||
<base-container :height="318 + 338 + 16" :size="'middle'" :title="'设备状态监控'" :title-icon="'eqMonitoring'"> | |||
<base-container :height="318 + 338 + 16" :size="'eqStatus'" :title="'设备状态监控'" :title-icon="'eqMonitoring'"> | |||
<!-- <div style="width: 45%;position: absolute; top: 3em; right: 3em;"> | |||
<top-radio-group /> | |||
</div> --> | |||
<!-- 像下面这样表格里的limit值,也许可以用js动态计算出来 --> | |||
<el-col :span="6"> | |||
<h4 style="margin: 5px 0 5px 0;">融化风机</h4> | |||
<el-col :span="6" style=""> | |||
<div style="font-size:20px;margin: 5px 0 10px 0">融化风机</div> | |||
<base-table1 :page="1" :limit="999" :show-index="false" :table-config="EqMonitoringPropsFun" | |||
:table-data="funList" /> | |||
</el-col> | |||
<el-col :span="6"> | |||
<h4 style="margin: 5px 0 5px 0;">退火风机</h4> | |||
<div style="font-size:20px;margin: 5px 0 10px 0;">退火风机</div> | |||
<base-table1 :page="1" :limit="999" :show-index="false" :table-config="EqMonitoringPropsFun" | |||
:table-data="annealFunList" /> | |||
</el-col> | |||
<el-col :span="12" style="float: right;"> | |||
<h4 style="margin: 5px 0 5px 0;">产线设备</h4> | |||
<div style="font-size:20px;margin: 5px 0 10px 0;">产线设备</div> | |||
<base-table1 :page="1" :limit="999" :show-index="false" :table-config="EqMonitoringProps" | |||
:table-data="realEqList" /> | |||
</el-col> | |||
@@ -668,25 +668,27 @@ export default { | |||
width: 100%; | |||
background: url('../../assets/img/OperationalOverview/title.png') no-repeat; | |||
background-size: 100% 100%; | |||
color: #ffffff; | |||
color: rgba(0, 255, 247, 1); | |||
text-align: center; | |||
.unit { | |||
position: absolute; | |||
left: 260px; | |||
top: 25px; | |||
color: rgba(255, 255, 255, 0.80); | |||
font-size: 20px; | |||
} | |||
.time { | |||
position: absolute; | |||
left: 1360px; | |||
color: rgba(255, 255, 255, 0.80); | |||
top: 25px; | |||
font-size: 20px; | |||
} | |||
.title-button { | |||
color: #ffffff; | |||
color: rgba(255, 255, 255, 0.80); | |||
font-size: 20px; | |||
position: absolute; | |||
} | |||
@@ -2,7 +2,7 @@ | |||
* @Author: gtz | |||
* @Date: 2022-01-19 15:58:17 | |||
* @LastEditors: zhp | |||
* @LastEditTime: 2024-01-08 16:03:05 | |||
* @LastEditTime: 2024-01-11 15:54:37 | |||
* @Description: file content | |||
* @FilePath: \mt-bus-fe\src\views\OperationalOverview\components\baseContainer\index.vue | |||
--> | |||
@@ -24,7 +24,7 @@ | |||
<div class="bar-item"> | |||
<div v-if="title" class="bar-title"> | |||
<span> | |||
<svg-icon :icon-class="titleIcon" style="font-size: 1.5em; position: relative; top: .08em" /> | |||
<svg-icon :icon-class="titleIcon" style="font-size: 1em; position: relative; top: .08em" /> | |||
{{ title }} | |||
</span> | |||
</div> | |||
@@ -129,6 +129,10 @@ export default { | |||
background-size: 100% 100%; | |||
// background-position: 0 0; | |||
} | |||
&__eqStatus { | |||
background: url(../../../../assets/img/eqStatus.png) no-repeat; | |||
background-size: 100% 100%; | |||
} | |||
// border-radius: 40px 0px 40px 0px; | |||
// border-image: linear-gradient(360deg, rgba(157, 246, 254, 0.05), rgba(100, 233, 252, 0.9)) 2 2; | |||
// .line { | |||
@@ -192,12 +196,12 @@ export default { | |||
.bar-title { | |||
width: 100%; | |||
color: #ffffff; | |||
font-size: 1.6em; | |||
font-size: 24px; | |||
padding: 0.67em; | |||
} | |||
.bar-content { | |||
padding: 1em; | |||
// padding: 1em; | |||
flex: 1 auto; | |||
} | |||
@@ -1,7 +1,7 @@ | |||
<!-- | |||
* @Author: zhp | |||
* @Date: 2023-09-21 09:06:28 | |||
* @LastEditTime: 2024-01-09 14:42:02 | |||
* @LastEditTime: 2024-01-11 15:52:09 | |||
* @LastEditors: zhp | |||
* @Description: | |||
--> | |||
@@ -271,7 +271,7 @@ export default { | |||
// show: true, | |||
// lineStyle: { | |||
// color: colors[1] | |||
// } | |||
// }jik078u7uut9890999999999999999999999999999999999999999999999999999999999999995u8 | |||
// }, | |||
} | |||
], | |||
@@ -2,7 +2,7 @@ | |||
* @Author: zwq | |||
* @Date: 2021-07-19 15:18:30 | |||
* @LastEditors: zhp | |||
* @LastEditTime: 2024-01-08 16:06:49 | |||
* @LastEditTime: 2024-01-12 09:59:58 | |||
* @Description: | |||
--> | |||
<template> | |||
@@ -30,8 +30,10 @@ | |||
<el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1" style="height: 50%;"> | |||
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8" height="100%"> | |||
<base-container :title="'设备报警'" :size="'small'" :height="318" :title-icon="'eqAlarm'"> | |||
<!-- <base-table1 :page="1" :limit="999" :show-index="false" :table-config="qualityYearTableProps" | |||
:table-data="equipmentList" /> --> | |||
<base-table1 :page="1" :limit="999" :show-index="false" :table-config="qualityYearTableProps" | |||
:table-data="equipmentList" /> | |||
:table-data="qualityYearList" /> | |||
</base-container> | |||
</el-col> | |||
@@ -39,6 +41,8 @@ | |||
<base-container :title="'各工序缺陷汇总'" :size="'small'" :title-icon="'scrap'"> | |||
<base-table1 :page="1" :limit="999" :show-index="false" :table-config="qualityMonthTableProps" | |||
:table-data="qualityMonthList" /> | |||
<!-- <base-table1 :page="1" :limit="999" :show-index="false" :table-config="qualityMonthTableProps" | |||
:table-data="qualityMonthList" /> --> | |||
</base-container> | |||
</el-col> | |||
@@ -418,21 +422,21 @@ const qualityYearTableProps = [ | |||
] | |||
const qualityYearList = [ | |||
{ eqName: '钢化炉', eqCode: '21321312', level: 1, content: 'Temperature high' }, | |||
{ eqName: '磨边机', eqCode: '32323232', level: 4, content: 'Device warning/alarm' }, | |||
{ eqName: '镀膜机', eqCode: '32213213', level: 3, content: 'Temperature high' }, | |||
{ eqName: '钢化清洗机', eqCode: '21321323', level: 1, content: 'P030: JET: Note: Transportation subsequent machine is not running' }, | |||
{ eqName: '固化机', eqCode: '21321321', level: 2, content: 'P040' }, | |||
{ eqName: '磨边清洗机', eqCode: '21321321', level: 2, content: 'M4033.6' }, | |||
{ eqName: '预热机', eqCode: '21321321', level: 2, content: 'M4033.6' }, | |||
{ eqName: '下片机', eqCode: '21321321', level: 3, content: 'P040' }, | |||
{ | |||
eqName: '冷却机', eqCode: '21321321', level: 4, content: 'P0xx: Pos. number exhaust UVnumber: Reserve' }, | |||
{ | |||
eqName: 'A储片机106', eqCode: '21321321', level: 1, content: 'P0xx: Pos. number exhaust UVnumber: Reserve' }, | |||
{ eqName: '二次清洗机', eqCode: '21321321', level: 2, content: 'Temperature high' }, | |||
{ eqName: '二次磨边机', eqCode: '21321321', level: 2, content: 'Temperature high' }, | |||
{ eqName: '测试设备', eqCode: '21321321', level: 2, content: 'Temperature high' } | |||
{ name: '钢化炉', code: '21321312', status: '运行', error: '否' }, | |||
{ name: '磨边机', code: '32323232', status: '运行', error: '否' }, | |||
{ name: '镀膜机', code: '32213213', status: '运行', error: '否' }, | |||
{ name: '钢化清洗机', code: '21321323', status: '运行', error: '否' }, | |||
{ name: '固化机', code: '21321321', status: '运行', error: '否' }, | |||
{ name: '磨边清洗机', code: '21321321', status: '运行', error: '否' }, | |||
{ name: '预热机', code: '21321321', status: '故障', error: '是' }, | |||
{ name: '下片机', code: '21321321', status: '运行', error: '否' }, | |||
{ | |||
name: '冷却机', code: '21321321', status: '运行', error: '否' }, | |||
{ | |||
name: 'A储片机106', code: '21321321', status: '运行', error: '否' }, | |||
{ name: '二次清洗机', code: '21321321', status: '运行', error: '否' }, | |||
{ name: '二次磨边机', code: '21321321', status: '故障', error: '是' }, | |||
{ name: '测试设备', code: '21321321', status: '运行', error: '否' } | |||
] | |||
const qualityMonthTableProps = [ | |||
@@ -453,7 +457,50 @@ const qualityMonthTableProps = [ | |||
label: '缺陷类型' | |||
}, | |||
] | |||
const qualityMonthList = [ | |||
{ | |||
productionLineName: 'Y61', | |||
sectionName: '成型', | |||
count: '199片', | |||
inspectionTypeName: '细长泡' | |||
}, | |||
{ | |||
productionLineName: 'Y62', | |||
sectionName: '组合落板', | |||
count: '123片', | |||
inspectionTypeName: '细长泡' | |||
}, | |||
{ | |||
productionLineName: 'Y61', | |||
sectionName: '磨边', | |||
count: '212片', | |||
inspectionTypeName: '开口泡' | |||
}, | |||
{ | |||
productionLineName: 'Y63', | |||
sectionName: '清洗', | |||
count: '33片', | |||
inspectionTypeName: '结石' | |||
}, | |||
{ | |||
productionLineName: 'Y64', | |||
sectionName: '打孔', | |||
count: '332片', | |||
inspectionTypeName: '结石' | |||
}, | |||
{ | |||
productionLineName: 'Y63', | |||
sectionName: '成型', | |||
count: '432片', | |||
inspectionTypeName: '开口泡' | |||
}, | |||
{ | |||
productionLineName: 'Y61', | |||
sectionName: '上片', | |||
count: '200片', | |||
inspectionTypeName: '结石' | |||
} | |||
] | |||
const orderProcessList = [ | |||
{ | |||
id: '1', outRate: '.8', name: '凯盛0322' | |||
@@ -509,7 +556,7 @@ export default { | |||
// orderProcessList: [], | |||
orderProcessList, | |||
qualityTableProps1, | |||
qualityMonthList:[], | |||
qualityMonthList, | |||
qualityMonthTableProps, | |||
modelMonth: '', | |||
qualityList1, | |||
@@ -559,6 +606,9 @@ export default { | |||
this.initWebSocket() | |||
this.SJGInitWebSocket() | |||
this.getTimes() | |||
this.$refs.EnergyMonitoringChart.initChart(['Y61', 'Y62', 'Y63', 'Y64', 'Y65',], [3134, 2323, 3232, 3233, 2321]) | |||
this.$refs.productLineChart.initChart(['Y61', 'Y62', 'Y63', 'Y64', 'Y65',], ['98', '97', '98.7', '98.5', '98.3',], ['4532', '1223', '3442', '4343', '2232']) | |||
const _this = this; | |||
_this.beilv2 = document.documentElement.clientWidth / 1920 | |||
window.onresize = () => { | |||
@@ -601,13 +651,13 @@ export default { | |||
// console.log('11111', res); | |||
this.productLineList = res.data | |||
}) | |||
this.$axios.get( | |||
'base/quality-inspection-record/dayStatistics', | |||
'get', | |||
).then((res) => { | |||
// console.log('11111', res); | |||
this.qualityMonthList = res.data ? res.data : [] | |||
}) | |||
// this.$axios.get( | |||
// 'base/quality-inspection-record/dayStatistics', | |||
// 'get', | |||
// ).then((res) => { | |||
// // console.log('11111', res); | |||
// this.qualityMonthList = res.data ? res.data : [] | |||
// }) | |||
}, | |||
getTimes() { | |||
setInterval(this.getTimesInterval, 1000); | |||
@@ -741,7 +791,7 @@ export default { | |||
// console.log(this.EnergyMonitoringNameList) | |||
// console.log(this.EnergyMonitoringList) | |||
// this.$nextTick(() => { | |||
this.$refs.productLineChart.initChart(Array.from(new Set(nameList)), passRateList, outputNumList) | |||
// this.$refs.productLineChart.initChart(Array.from(new Set(nameList)), passRateList, outputNumList) | |||
} | |||
}, | |||
// 数据发送 | |||
@@ -789,7 +839,7 @@ export default { | |||
// console.log(this.EnergyMonitoringNameList) | |||
// console.log(this.EnergyMonitoringList) | |||
// this.$nextTick(() => { | |||
this.$refs.EnergyMonitoringChart.initChart(this.EnergyMonitoringNameList, this.EnergyMonitoringList) | |||
// this.$refs.EnergyMonitoringChart.initChart(this.EnergyMonitoringNameList, this.EnergyMonitoringList) | |||
// }) | |||
} | |||
}, | |||
@@ -1,8 +1,8 @@ | |||
/* | |||
* @Author: zwq | |||
* @Date: 2022-08-24 11:19:43 | |||
* @LastEditors: DY | |||
* @LastEditTime: 2023-09-21 16:02:07 | |||
* @LastEditors: zhp | |||
* @LastEditTime: 2024-01-10 10:29:29 | |||
* @Description: | |||
*/ | |||
export default { | |||
@@ -92,7 +92,7 @@ export default { | |||
this.$refs.addOrUpdate.init(val.data.id); | |||
}); | |||
} else if (val.type === "delete") { | |||
this.deleteHandle(val.data.id, val.data.name, val.data._pageIndex) | |||
this.deleteHandle(val.data.id, val.data.name, val.data._pageIndex,val.data) | |||
} else if (val.type === "change") { | |||
this.changeStatus(val.data.id) | |||
} else { | |||
@@ -156,6 +156,26 @@ export default { | |||
}; | |||
this.resetForm('form'); | |||
}, | |||
deleteHandle(id, name, index, data) { | |||
this.$confirm(`确认要删除产线名为${data.productionLineName}的数据项?`, "提示", { | |||
confirmButtonText: "确定", | |||
cancelButtonText: "取消", | |||
type: "warning", | |||
}) | |||
.then(() => { | |||
this.urlOptions.deleteURL(id).then(({ data }) => { | |||
this.$message({ | |||
message: "操作成功", | |||
type: "success", | |||
duration: 1500, | |||
onClose: () => { | |||
this.getDataList(); | |||
}, | |||
}); | |||
}); | |||
}) | |||
.catch(() => { }); | |||
}, | |||
buttonClick(val) { | |||
switch (val.btnName) { | |||
case 'search': | |||
@@ -157,6 +157,26 @@ export default { | |||
this.dataListLoading = false; | |||
}); | |||
}, | |||
deleteHandle(id, name, index, data) { | |||
this.$confirm(`确认要删除序号为${index}的数据项?`, "提示", { | |||
confirmButtonText: "确定", | |||
cancelButtonText: "取消", | |||
type: "warning", | |||
}) | |||
.then(() => { | |||
this.urlOptions.deleteURL(id).then(({ data }) => { | |||
this.$message({ | |||
message: "操作成功", | |||
type: "success", | |||
duration: 1500, | |||
onClose: () => { | |||
this.getDataList(); | |||
}, | |||
}); | |||
}); | |||
}) | |||
.catch(() => { }); | |||
}, | |||
async getDict() { | |||
// 物料列表 | |||
const res = await getHotMaterialAllList(); | |||
@@ -150,6 +150,26 @@ export default { | |||
// 物料列表 | |||
const res = await getList(); | |||
this.formConfig[1].selectOptions = res.data; | |||
}, | |||
deleteHandle(id, name, index,data) { | |||
this.$confirm(`确认要删除报废原因名为${data.content}的数据项?`, "提示", { | |||
confirmButtonText: "确定", | |||
cancelButtonText: "取消", | |||
type: "warning", | |||
}) | |||
.then(() => { | |||
this.urlOptions.deleteURL(id).then(({ data }) => { | |||
this.$message({ | |||
message: "操作成功", | |||
type: "success", | |||
duration: 1500, | |||
onClose: () => { | |||
this.getDataList(); | |||
}, | |||
}); | |||
}); | |||
}) | |||
.catch(() => { }); | |||
}, | |||
buttonClick(val) { | |||
switch (val.btnName) { | |||
@@ -143,6 +143,26 @@ export default { | |||
}); | |||
} | |||
}, | |||
deleteHandle(id, name, index, data) { | |||
this.$confirm(`确认要删除序号为${index}的数据项?`, "提示", { | |||
confirmButtonText: "确定", | |||
cancelButtonText: "取消", | |||
type: "warning", | |||
}) | |||
.then(() => { | |||
this.urlOptions.deleteURL(id).then(({ data }) => { | |||
this.$message({ | |||
message: "操作成功", | |||
type: "success", | |||
duration: 1500, | |||
onClose: () => { | |||
this.getDataList(); | |||
}, | |||
}); | |||
}); | |||
}) | |||
.catch(() => { }); | |||
}, | |||
// 获取数据列表 | |||
getDict() { | |||
getWorkOrderList().then((res) => { | |||
@@ -134,6 +134,26 @@ export default { | |||
this.listQuery.total = response.data.total; | |||
this.dataListLoading = false; | |||
}); | |||
}, | |||
deleteHandle(id, name, index) { | |||
this.$confirm(`确认要删除报废类型名为${name}的数据项?`, "提示", { | |||
confirmButtonText: "确定", | |||
cancelButtonText: "取消", | |||
type: "warning", | |||
}) | |||
.then(() => { | |||
this.urlOptions.deleteURL(id).then(({ data }) => { | |||
this.$message({ | |||
message: "操作成功", | |||
type: "success", | |||
duration: 1500, | |||
onClose: () => { | |||
this.getDataList(); | |||
}, | |||
}); | |||
}); | |||
}) | |||
.catch(() => { }); | |||
}, | |||
buttonClick(val) { | |||
switch (val.btnName) { | |||
@@ -310,7 +310,27 @@ export default { | |||
// }, | |||
}, | |||
methods: { | |||
/** 获取搜索栏的产线列表 */ | |||
/** 获取搜索栏的产线列表 */ | |||
deleteHandle(id, name, index, data) { | |||
this.$confirm(`确认要删除序号为${index}的数据项?`, "提示", { | |||
confirmButtonText: "确定", | |||
cancelButtonText: "取消", | |||
type: "warning", | |||
}) | |||
.then(() => { | |||
this.urlOptions.deleteURL(id).then(({ data }) => { | |||
this.$message({ | |||
message: "操作成功", | |||
type: "success", | |||
duration: 1500, | |||
onClose: () => { | |||
this.getDataList(); | |||
}, | |||
}); | |||
}); | |||
}) | |||
.catch(() => { }); | |||
}, | |||
getProductLineList() { | |||
this.$axios('/base/core-work-order/listbyfilter').then((response) => { | |||
this.searchBarFormConfig[0].selectOptions = response.data.map( | |||