projects/mesxc-zhp #161

Closed
zhp wants to merge 119 commits from projects/mesxc-zhp into projects/mes-test
12 changed files with 165 additions and 60 deletions
Showing only changes of commit 220ed16c64 - Show all commits

View File

@ -1,12 +1,12 @@
###
# @Author: Do not edit
# @Date: 2023-08-29 09:40:39
# @LastEditTime: 2023-12-15 16:28:20
# @LastEditTime: 2023-12-18 13:35:00
# @LastEditors: zhp
# @Description:
###
# 开发环境配置
ENV = 'development'
ENV = 'development'
# 页面标题
VUE_APP_TITLE = MES系统

View File

@ -139,7 +139,7 @@ $base1px: 0.15vh; // 1px / 1080px;
.title {
margin: 0;
margin-left: calc(28 * 0.12vh);
margin-left: calc(18px * 0.12vh);
font-weight: 400;
user-select: none;
color: #000;
@ -148,8 +148,8 @@ $base1px: 0.15vh; // 1px / 1080px;
letter-spacing: calc(2 * 0.12vh);
.cnbm_logo {
height: calc(144 * 0.12vh);
width: calc(160 * 0.12vh);
height: calc(160 * 0.12vh);
width: calc(182 * 0.12vh);
position: relative;
top: calc(8 * 0.12vh);
right: calc(8 * 0.12vh);

View File

@ -101,7 +101,9 @@
}
"
v-bind="col.bind">
<el-button size="mini" :disabled="disabled || col.bind?.disabled || false">
<el-button
size="mini"
:disabled="disabled || col.bind?.disabled || false">
<svg-icon
icon-class="icon-upload"
style="color: inherit"></svg-icon>
@ -410,8 +412,26 @@ export default {
}
if (!promiseList.length) this.formLoading = false;
},
//
beforeUpload() {},
beforeUpload(file) {
const checkFileSize = () => {
const isLt2M = file.size / 1024 / 1024 < 2;
if (!isLt2M) {
this.$modal.msgError('上传文件大小不能超过 2MB!');
}
return isLt2M;
};
const checkFileType = () => {
const isJPG =
file.type === 'image/jpeg' ||
file.type === 'image/png' ||
file.type === 'image/jpg';
return isJPG;
};
return checkFileSize() && checkFileType();
},
// bind
handleUploadSuccess(response, file, prop) {
console.log('[handleUploadSuccess]', response, file, prop);

View File

@ -7,6 +7,8 @@
}">
<img src="../../assets/img/logo.png" style="width:1.1em;position:relative;top:.4em" alt="">
许昌安彩冷端看板
<h3 class="unit">单位河南汇融科技服务有限公司</h3>
<h3 class="time">{{ times }}</h3>
<!-- <el-button type="text" class="title-button" :style="{ right: 33 + 'px', top: 37 + 'px' }"
@click="changeFullScreen">
<svg-icon v-if="isFullScreen" icon-class="unFullScreenView" />
@ -616,6 +618,7 @@ export default {
modelMonth: '',
cplNameList,
cplDataList,
times:'',
plInput: {},
plOutput: {},
plRate: {},
@ -658,7 +661,7 @@ export default {
this.windowWidth(document.documentElement.clientWidth)
},
mounted() {
console.log(1111);
this.getTimes()
const _this = this;
_this.beilv2 = document.documentElement.clientWidth / 1920
window.onresize = () => {
@ -685,6 +688,30 @@ export default {
// removeEventListener('resize', resizeFun)
// },
methods: {
getTimes() {
setInterval(this.getTimesInterval, 1000);
},
getTimesInterval: function () {
let _this = this;
let year = new Date().getFullYear(); //
let month = new Date().getMonth() + 1; //
let day = new Date().getDate(); //
let hours = new Date().getHours(); //
let minutes = new Date().getMinutes(); //
let seconds = new Date().getSeconds(); //
// 10 0
if (hours < 10) {
hours = "0" + hours;
}
if (minutes < 10) {
minutes = "0" + minutes;
}
if (seconds < 10) {
seconds = "0" + seconds;
}
//
this.times = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
},
windowWidth(value) {
this.clientWidth = value
this.beilv2 = this.clientWidth / 1920
@ -1010,7 +1037,18 @@ export default {
background-size: 100% 100%;
color: #00fff0;
text-align: center;
.unit {
position: absolute;
left: 260px;
top: 25px;
font-size: 20px;
}
.time {
position: absolute;
left: 1360px;
top: 25px;
font-size: 20px;
}
.title-button {
color: #00fff0;
font-size: 20px;

View File

@ -2,21 +2,20 @@
* @Author: zwq
* @Date: 2021-07-19 15:18:30
* @LastEditors: zhp
* @LastEditTime: 2023-11-23 11:11:35
* @LastEditTime: 2023-12-19 14:25:07
* @Description:
-->
<template>
<div id="container" ref="container" class="visual-container" :style="styles">
<el-row
class="container-title"
:style="{
<el-row class="container-title" :style="{
height: 88 + 'px',
lineHeight: 88 + 'px',
fontSize: 31 + 'px'
}"
>
}">
<img src="../../assets/img/logo.png" style="width:1.1em;position:relative;top:.4em" alt="">
许昌安彩深加工看板
<h3 class="unit">单位河南汇融科技服务有限公司</h3>
<h3 class="time">{{ times }}</h3>
<!-- <el-button
type="text"
class="title-button"
@ -30,14 +29,9 @@
<el-row class="container-main flex-col" type="flex">
<el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1">
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
<base-container :title="'设备报警'" :title-icon="'5_1'">
<base-table1
:page="1"
:limit="9"
:show-index="false"
:table-config="qualityYearTableProps"
:table-data="qualityYearList"
/>
<base-container :title="'设备报警'" :title-icon="'5_1'">
<base-table1 :page="1" :limit="9" :show-index="false" :table-config="qualityYearTableProps"
:table-data="qualityYearList" />
</base-container>
</el-col>
@ -48,19 +42,13 @@
<el-option key="1" value="钢1线" label="钢1线" default />
</el-select>
</div>
<base-table1
:page="1"
:limit="9"
:show-index="false"
:table-config="qualityMonthTableProps"
:table-data="qualityMonthList"
/>
<base-table1 :page="1" :limit="9" :show-index="false" :table-config="qualityMonthTableProps"
:table-data="qualityMonthList" />
</base-container>
</el-col>
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
<base-container :title="'设备监控'" :title-icon="'5_3'">
<base-container :title="'设备监控'" :title-icon="'5_3'">
<!-- <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
<top-radio-group />
</div> -->
@ -110,19 +98,13 @@
<el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="12" type="flex" class="flex-1">
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
<base-container :height="256" :title="'能源监控'" :title-icon="'5_5'">
<base-container :height="256" :title="'能源监控'" :title-icon="'5_5'">
<div style="width: 45%;position: absolute; top: 3em; right: 3em;">
<top-radio-group />
</div>
<el-row :gutter="9">
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="24">
<linear-bar-chart
:name-list="cxNameList"
:data-list="cxDataList"
:height="359"
:show-legend="true"
/>
<linear-bar-chart :name-list="cxNameList" :data-list="cxDataList" :height="359" :show-legend="true" />
</el-col>
<!-- <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
<base-table3
@ -137,19 +119,13 @@
</base-container>
</el-col>
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
<base-container :height="318 + 338 + 16" :title="'产线产量及良品率'" :title-icon="'5_4'">
<base-container :height="318 + 338 + 16" :title="'产线产量及良品率'" :title-icon="'5_4'">
<div style="width: 45%;position: absolute; top: 3em; right: 3em;">
<top-radio-group />
</div>
<!-- 像下面这样表格里的limit值也许可以用js动态计算出来 -->
<double-y-chart
:id=" 'doubleYChart' "
:name-list="cxNameList"
:data-list="cxDataList"
:height="359"
:show-legend="true"
/>
<double-y-chart :id=" 'doubleYChart' " :name-list="cxNameList" :data-list="cxDataList" :height="359"
:show-legend="true" />
</base-container>
</el-col>
</el-row>
@ -685,6 +661,7 @@ export default {
beilv2: 1,
beilv: 1,
value: 100,
times:'',
// offsetWidth: null,
qualityYearTableProps,
cxNameList,
@ -742,6 +719,7 @@ export default {
this.init()
},
mounted() {
this.getTimes()
this.windowWidth(document.documentElement.clientWidth)
// const _this = this;
// window.onresize = () => {
@ -768,6 +746,30 @@ export default {
// removeEventListener('resize', resizeFun)
// },
methods: {
getTimes() {
setInterval(this.getTimesInterval, 1000);
},
getTimesInterval: function () {
let _this = this;
let year = new Date().getFullYear(); //
let month = new Date().getMonth() + 1; //
let day = new Date().getDate(); //
let hours = new Date().getHours(); //
let minutes = new Date().getMinutes(); //
let seconds = new Date().getSeconds(); //
// 10 0
if (hours < 10) {
hours = "0" + hours;
}
if (minutes < 10) {
minutes = "0" + minutes;
}
if (seconds < 10) {
seconds = "0" + seconds;
}
//
this.times = year + "-" + month + "-" + day + " " + hours + ":" + minutes + ":" + seconds;
},
windowWidth(value) {
this.clientWidth = value
this.beilv2 = this.clientWidth / 1920
@ -838,7 +840,19 @@ export default {
background-size: 100% 100%;
color: #00fff0;
text-align: center;
.unit {
position: absolute;
left: 260px;
top: 25px;
font-size: 20px;
}
.time {
position: absolute;
left: 1360px;
top: 25px;
font-size: 20px;
}
.title-button {
color: #00fff0;
font-size: 20px;

View File

@ -166,7 +166,7 @@
<!-- footer -->
<div class="footer">
Copyright © 2023 许昌安彩新能科技有限公司 All Rights Reserved.
Copyright © 2023 中建材智能自动化研究院有限公司 All Rights Reserved.
</div>
</div>
</div>

View File

@ -99,7 +99,8 @@ export default {
rangeSeparator: '-',
startPlaceholder: '开始日期',
endPlaceholder: '结束日期',
defaultTime: ['00:00:00', '23:59:59'],
defaultTime: ['00:00:00', '23:59:59'],
defaultSelect: [],
param: 'checkTime',
// width: 350,
},
@ -263,6 +264,12 @@ export default {
this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',')
console.log(this.searchBarFormConfig[0].defaultSelect);
}
if (this.$route.query.startTime && this.$route.query.endTime) {
// console.log(this.$route.query.startTime);
this.searchBarFormConfig[2].defaultSelect = [moment(Number(this.$route.query.startTime)).format('yyyy-MM-DD HH:mm:ss'), moment(Number(this.$route.query.endTime)).format('yyyy-MM-DD HH:mm:ss'),]
this.queryParams.startTime = moment(Number(this.$route.query.startTime)).format('yyyy-MM-DD HH:mm:ss')
this.queryParams.endTime = moment(Number(this.$route.query.endTime)).format('yyyy-MM-DD HH:mm:ss')
}
// if (this.$route.params.startTime && this.$route.params.endTime) {
// this.searchBarFormConfig[0].defaultSelect = [
// this.$route.params.startTime,

View File

@ -170,19 +170,19 @@ export default {
{ width: 256, prop: 'code', label: '设备编码' },
{ prop: 'location', label: '位置' },
{ prop: 'responsiblePeopleName', label: '负责人' },
{ prop: 'dueDate', label: '有效期至' },
{ prop: 'dueTime', label: '有效期至' },
{ prop: 'remark', label: '备注' },
],
searchBarFormConfig: [
{
type: 'input',
label: '名称',
label: '设备名称',
placeholder: '请输入设备名称',
param: 'name',
},
{
type: 'input',
label: '编码',
label: '设备编码',
placeholder: '请输入设备编码',
param: 'code',
},
@ -251,7 +251,7 @@ export default {
{
datetime: true,
label: '有效期至',
prop: 'dueDate',
prop: 'dueTime',
bind: { clearable: true },
},
{},

View File

@ -175,13 +175,13 @@ export default {
searchBarFormConfig: [
{
type: 'input',
label: '名称',
label: '设备名称',
placeholder: '请输入设备名称',
param: 'name',
},
{
type: 'input',
label: '编码',
label: '设备编码',
placeholder: '请输入设备编码',
param: 'code',
},

View File

@ -50,10 +50,16 @@
</el-col>
<el-col :span="8">
<el-form-item label="设备名称" prop="equipmentId">
<el-form-item
label="设备名称"
prop="equipmentId"
:rules="[
{ required: true, message: '设备不能为空', trigger: 'blur' },
]">
<el-select
v-model="dataForm.equipmentId"
filterable
clearable
:disabled="isdetail"
style="width: 100%"
placeholder="请选择设备名称"
@ -70,10 +76,16 @@
<!-- <el-form-item label="物料名称" prop="name">
<el-input v-model="dataForm.name" :disabled="isdetail" clearable placeholder="请输入物料名称" />
</el-form-item> -->
<el-form-item label="巡检配置名称" prop="configId">
<el-form-item
label="巡检配置名称"
prop="configId"
:rules="[
{ required: true, message: '巡检配置不能为空', trigger: 'blur' },
]">
<el-select
v-model="dataForm.configId"
filterable
clearable
:disabled="isdetail"
style="width: 100%"
placeholder="请选择巡检配置"
@ -121,6 +133,7 @@
<el-select
v-model="dataForm.origin"
filterable
clearable
:disabled="isdetail"
style="width: 100%"
placeholder="请选择数据来源">

View File

@ -353,7 +353,7 @@ export default {
queryData.createTime = this.queryParams.createTime;
}
this.$router.push({
path: '/equipment/base/maintain/record',
path: '/safety-environmental/special-equipment/equipment-maintain/maintain-record',
query: queryData,
});
// this.$router.push({ path: '/equipment/base/maintain/record', query: { orderNo: row.orderNo }})

View File

@ -556,6 +556,19 @@ export default {
this.form.relatePlan = tempRow.nextMaintainTime ? 1 : 2;
this.form.startTime = tempRow.nextMaintainTime;
this.form.maintainPlanId = tempRow.id;
// await (() => {
// return new Promise((acpt, rejt) => {
// this.form.relatePlan =
// this.$route.query.relatePlan ||
// (tempRow.nextMaintainTime ? 1 : 2);
// this.form.startTime = tempRow.nextMaintainTime;
// acpt();
// });
// })();
// this.$nextTick(() => {
// this.form.maintainPlanId = tempRow.id;
// this.form.equipmentId = tempRow.equipmentId;
// });
}
if (this.$route.query.isAdd) {
//