merge test

This commit is contained in:
朱菊兰 2023-12-20 14:15:25 +08:00
commit 220ed16c64
12 changed files with 165 additions and 60 deletions

View File

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

View File

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

View File

@ -101,7 +101,9 @@
} }
" "
v-bind="col.bind"> 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 <svg-icon
icon-class="icon-upload" icon-class="icon-upload"
style="color: inherit"></svg-icon> style="color: inherit"></svg-icon>
@ -410,8 +412,26 @@ export default {
} }
if (!promiseList.length) this.formLoading = false; 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 // bind
handleUploadSuccess(response, file, prop) { handleUploadSuccess(response, file, prop) {
console.log('[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=""> <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' }" <!-- <el-button type="text" class="title-button" :style="{ right: 33 + 'px', top: 37 + 'px' }"
@click="changeFullScreen"> @click="changeFullScreen">
<svg-icon v-if="isFullScreen" icon-class="unFullScreenView" /> <svg-icon v-if="isFullScreen" icon-class="unFullScreenView" />
@ -616,6 +618,7 @@ export default {
modelMonth: '', modelMonth: '',
cplNameList, cplNameList,
cplDataList, cplDataList,
times:'',
plInput: {}, plInput: {},
plOutput: {}, plOutput: {},
plRate: {}, plRate: {},
@ -658,7 +661,7 @@ export default {
this.windowWidth(document.documentElement.clientWidth) this.windowWidth(document.documentElement.clientWidth)
}, },
mounted() { mounted() {
console.log(1111); this.getTimes()
const _this = this; const _this = this;
_this.beilv2 = document.documentElement.clientWidth / 1920 _this.beilv2 = document.documentElement.clientWidth / 1920
window.onresize = () => { window.onresize = () => {
@ -685,6 +688,30 @@ export default {
// removeEventListener('resize', resizeFun) // removeEventListener('resize', resizeFun)
// }, // },
methods: { 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) { windowWidth(value) {
this.clientWidth = value this.clientWidth = value
this.beilv2 = this.clientWidth / 1920 this.beilv2 = this.clientWidth / 1920
@ -1010,7 +1037,18 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
color: #00fff0; color: #00fff0;
text-align: center; 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 { .title-button {
color: #00fff0; color: #00fff0;
font-size: 20px; font-size: 20px;

View File

@ -2,21 +2,20 @@
* @Author: zwq * @Author: zwq
* @Date: 2021-07-19 15:18:30 * @Date: 2021-07-19 15:18:30
* @LastEditors: zhp * @LastEditors: zhp
* @LastEditTime: 2023-11-23 11:11:35 * @LastEditTime: 2023-12-19 14:25:07
* @Description: * @Description:
--> -->
<template> <template>
<div id="container" ref="container" class="visual-container" :style="styles"> <div id="container" ref="container" class="visual-container" :style="styles">
<el-row <el-row class="container-title" :style="{
class="container-title"
:style="{
height: 88 + 'px', height: 88 + 'px',
lineHeight: 88 + 'px', lineHeight: 88 + 'px',
fontSize: 31 + 'px' fontSize: 31 + 'px'
}" }">
>
<img src="../../assets/img/logo.png" style="width:1.1em;position:relative;top:.4em" alt=""> <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 <!-- <el-button
type="text" type="text"
class="title-button" class="title-button"
@ -30,14 +29,9 @@
<el-row class="container-main flex-col" type="flex"> <el-row class="container-main flex-col" type="flex">
<el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1"> <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="15" type="flex" class="flex-1">
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8"> <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8">
<base-container :title="'设备报警'" :title-icon="'5_1'"> <base-container :title="'设备报警'" :title-icon="'5_1'">
<base-table1 <base-table1 :page="1" :limit="9" :show-index="false" :table-config="qualityYearTableProps"
:page="1" :table-data="qualityYearList" />
:limit="9"
:show-index="false"
:table-config="qualityYearTableProps"
:table-data="qualityYearList"
/>
</base-container> </base-container>
</el-col> </el-col>
@ -48,19 +42,13 @@
<el-option key="1" value="钢1线" label="钢1线" default /> <el-option key="1" value="钢1线" label="钢1线" default />
</el-select> </el-select>
</div> </div>
<base-table1 <base-table1 :page="1" :limit="9" :show-index="false" :table-config="qualityMonthTableProps"
:page="1" :table-data="qualityMonthList" />
:limit="9"
:show-index="false"
:table-config="qualityMonthTableProps"
:table-data="qualityMonthList"
/>
</base-container> </base-container>
</el-col> </el-col>
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="8"> <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;"> <!-- <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
<top-radio-group /> <top-radio-group />
</div> --> </div> -->
@ -110,19 +98,13 @@
<el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="12" type="flex" class="flex-1"> <el-row :style="{ padding: '0 ' + 9 + 'px' }" :gutter="12" type="flex" class="flex-1">
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12"> <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;"> <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
<top-radio-group /> <top-radio-group />
</div> </div>
<el-row :gutter="9"> <el-row :gutter="9">
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="24"> <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="24">
<linear-bar-chart <linear-bar-chart :name-list="cxNameList" :data-list="cxDataList" :height="359" :show-legend="true" />
:name-list="cxNameList"
:data-list="cxDataList"
:height="359"
:show-legend="true"
/>
</el-col> </el-col>
<!-- <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12"> <!-- <el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12">
<base-table3 <base-table3
@ -137,19 +119,13 @@
</base-container> </base-container>
</el-col> </el-col>
<el-col :style="{ margin: 8 + 'px' + ' 0' }" :span="12"> <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;"> <div style="width: 45%;position: absolute; top: 3em; right: 3em;">
<top-radio-group /> <top-radio-group />
</div> </div>
<!-- 像下面这样表格里的limit值也许可以用js动态计算出来 --> <!-- 像下面这样表格里的limit值也许可以用js动态计算出来 -->
<double-y-chart <double-y-chart :id=" 'doubleYChart' " :name-list="cxNameList" :data-list="cxDataList" :height="359"
:id=" 'doubleYChart' " :show-legend="true" />
:name-list="cxNameList"
:data-list="cxDataList"
:height="359"
:show-legend="true"
/>
</base-container> </base-container>
</el-col> </el-col>
</el-row> </el-row>
@ -685,6 +661,7 @@ export default {
beilv2: 1, beilv2: 1,
beilv: 1, beilv: 1,
value: 100, value: 100,
times:'',
// offsetWidth: null, // offsetWidth: null,
qualityYearTableProps, qualityYearTableProps,
cxNameList, cxNameList,
@ -742,6 +719,7 @@ export default {
this.init() this.init()
}, },
mounted() { mounted() {
this.getTimes()
this.windowWidth(document.documentElement.clientWidth) this.windowWidth(document.documentElement.clientWidth)
// const _this = this; // const _this = this;
// window.onresize = () => { // window.onresize = () => {
@ -768,6 +746,30 @@ export default {
// removeEventListener('resize', resizeFun) // removeEventListener('resize', resizeFun)
// }, // },
methods: { 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) { windowWidth(value) {
this.clientWidth = value this.clientWidth = value
this.beilv2 = this.clientWidth / 1920 this.beilv2 = this.clientWidth / 1920
@ -838,7 +840,19 @@ export default {
background-size: 100% 100%; background-size: 100% 100%;
color: #00fff0; color: #00fff0;
text-align: center; 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 { .title-button {
color: #00fff0; color: #00fff0;
font-size: 20px; font-size: 20px;

View File

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

View File

@ -99,7 +99,8 @@ export default {
rangeSeparator: '-', rangeSeparator: '-',
startPlaceholder: '开始日期', startPlaceholder: '开始日期',
endPlaceholder: '结束日期', endPlaceholder: '结束日期',
defaultTime: ['00:00:00', '23:59:59'], defaultTime: ['00:00:00', '23:59:59'],
defaultSelect: [],
param: 'checkTime', param: 'checkTime',
// width: 350, // width: 350,
}, },
@ -263,6 +264,12 @@ export default {
this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',') this.searchBarFormConfig[0].defaultSelect = this.$route.query.woIdString.split(',')
console.log(this.searchBarFormConfig[0].defaultSelect); 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) { // if (this.$route.params.startTime && this.$route.params.endTime) {
// this.searchBarFormConfig[0].defaultSelect = [ // this.searchBarFormConfig[0].defaultSelect = [
// this.$route.params.startTime, // this.$route.params.startTime,

View File

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

View File

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

View File

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

View File

@ -353,7 +353,7 @@ export default {
queryData.createTime = this.queryParams.createTime; queryData.createTime = this.queryParams.createTime;
} }
this.$router.push({ this.$router.push({
path: '/equipment/base/maintain/record', path: '/safety-environmental/special-equipment/equipment-maintain/maintain-record',
query: queryData, query: queryData,
}); });
// this.$router.push({ path: '/equipment/base/maintain/record', query: { orderNo: row.orderNo }}) // 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.relatePlan = tempRow.nextMaintainTime ? 1 : 2;
this.form.startTime = tempRow.nextMaintainTime; this.form.startTime = tempRow.nextMaintainTime;
this.form.maintainPlanId = tempRow.id; 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) { if (this.$route.query.isAdd) {
// //