fix bugs
This commit is contained in:
parent
e318aa4f59
commit
0225be1c94
@ -33,6 +33,7 @@ export default {
|
||||
addUrl: '',
|
||||
pageUrl: '',
|
||||
infoUrl: '',
|
||||
deleteUrl: '',
|
||||
basePath: '',
|
||||
form: {}
|
||||
};
|
||||
@ -60,7 +61,7 @@ export default {
|
||||
return this.$axios({
|
||||
url,
|
||||
method,
|
||||
params: method === 'get' ? payload : null,
|
||||
params: (method === 'get' || method === 'delete') ? payload : null,
|
||||
data: method !== 'get' ? payload : null,
|
||||
})
|
||||
},
|
||||
@ -77,6 +78,7 @@ export default {
|
||||
return this.http(this.infoUrl == '' ? this.infoPath : this.infoUrl, 'get', payload);
|
||||
},
|
||||
del(payload) {
|
||||
debugger;
|
||||
return this.http(this.deleteUrl == '' ? this.deletePath : this.deleteUrl, 'delete', payload);
|
||||
},
|
||||
|
||||
|
@ -6,131 +6,150 @@
|
||||
* @Description:
|
||||
-->
|
||||
<template>
|
||||
<div>
|
||||
<div style="margin: 20px">
|
||||
<el-button v-for="(item, index) in buttonList" :key="index" :class="[item.actived ? 'activeButton': 'normalButton']" @click="changeChart(index)">{{ item.name }}</el-button>
|
||||
</div>
|
||||
<div id="chart" ref="chartDiv" :class="className" :style="{height:height,width:width}" />
|
||||
</div>
|
||||
<div class="balace-chart">
|
||||
<div style="margin: 20px">
|
||||
<el-button
|
||||
v-for="(item, index) in buttonList"
|
||||
:key="index"
|
||||
:class="[item.actived ? 'activeButton' : '']"
|
||||
@click="changeChart(index)">
|
||||
{{ item.name }}
|
||||
</el-button>
|
||||
</div>
|
||||
<div
|
||||
id="chart"
|
||||
ref="chartDiv"
|
||||
:class="className"
|
||||
:style="{ height: height, width: width }" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import * as echarts from 'echarts'
|
||||
require('echarts/theme/macarons') // echarts theme
|
||||
import * as echarts from 'echarts';
|
||||
require('echarts/theme/macarons'); // echarts theme
|
||||
// import resize from './mixins/resize'
|
||||
|
||||
export default {
|
||||
// mixins: [resize],
|
||||
props: {
|
||||
className: {
|
||||
type: String,
|
||||
default: 'chart'
|
||||
},
|
||||
width: {
|
||||
type: String,
|
||||
default: '100%'
|
||||
},
|
||||
height: {
|
||||
type: String,
|
||||
default: '350px'
|
||||
},
|
||||
// autoResize: {
|
||||
// type: Boolean,
|
||||
// default: true
|
||||
// }
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
chart: null,
|
||||
dataArray: [],
|
||||
xDatas: [],
|
||||
buttonList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
// this.initChart()
|
||||
},
|
||||
methods: {
|
||||
changeChart(index) {
|
||||
this.setOptions(this.xDatas, this.dataArray[index])
|
||||
this.buttonList.forEach((item, s) => {
|
||||
if (index === s) {
|
||||
// item.actived = true
|
||||
this.$nextTick(() =>{
|
||||
// item.actived = true
|
||||
this.$set(item, 'actived', true)
|
||||
})
|
||||
} else {
|
||||
// item.actived = false
|
||||
this.$nextTick(() =>{
|
||||
// item.actived = false
|
||||
this.$set(item, 'actived', false)
|
||||
})
|
||||
// this.$set(item, 'actived', false)
|
||||
}
|
||||
})
|
||||
console.log('看一下数22222据', this.dataArray)
|
||||
},
|
||||
initChart(xData, yData, lineName) {
|
||||
this.dataArray = yData
|
||||
this.buttonList = this.dataArray.map((item, index) => {
|
||||
return {
|
||||
'name': item.name,
|
||||
'actived': index === 0 ? true : false
|
||||
}
|
||||
})
|
||||
console.log('看一下数据', this.dataArray)
|
||||
this.xDatas = xData
|
||||
this.chart = echarts.init(this.$refs.chartDiv, 'macarons')
|
||||
// this.chart = echarts.init(document.getElementById('chart'), 'macarons')
|
||||
// this.setOptions(xData, yData[0], lineName)
|
||||
},
|
||||
setOptions(xData, dataList, lineName) {
|
||||
// let seriesData = []
|
||||
// lineName.forEach((item,index) => {
|
||||
// seriesData.push({
|
||||
// name: item,
|
||||
// data: yData[index],
|
||||
// type: 'line',
|
||||
// })
|
||||
// })
|
||||
this.chart.setOption({
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: xData
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
data:lineName
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '设备CT',
|
||||
data: dataList.eqData,
|
||||
type: 'line',
|
||||
},
|
||||
{
|
||||
name: '产线CT',
|
||||
data: dataList.plData,
|
||||
type: 'line',
|
||||
}
|
||||
]
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
// mixins: [resize],
|
||||
props: {
|
||||
className: {
|
||||
type: String,
|
||||
default: 'chart',
|
||||
},
|
||||
width: {
|
||||
type: String,
|
||||
default: '100%',
|
||||
},
|
||||
height: {
|
||||
type: String,
|
||||
default: '350px',
|
||||
},
|
||||
// autoResize: {
|
||||
// type: Boolean,
|
||||
// default: true
|
||||
// }
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
chart: null,
|
||||
dataArray: [],
|
||||
xDatas: [],
|
||||
buttonList: [],
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
// this.initChart()
|
||||
this.$nextTick(() => {
|
||||
this.changeChart(0);
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
changeChart(index) {
|
||||
this.setOptions(this.xDatas, this.dataArray[index]);
|
||||
this.buttonList.forEach((item, s) => {
|
||||
if (index === s) {
|
||||
// item.actived = true
|
||||
this.$nextTick(() => {
|
||||
// item.actived = true
|
||||
this.$set(item, 'actived', true);
|
||||
});
|
||||
} else {
|
||||
// item.actived = false
|
||||
this.$nextTick(() => {
|
||||
// item.actived = false
|
||||
this.$set(item, 'actived', false);
|
||||
});
|
||||
// this.$set(item, 'actived', false)
|
||||
}
|
||||
});
|
||||
console.log('看一下数22222据', this.dataArray);
|
||||
},
|
||||
initChart(xData, yData, lineName) {
|
||||
this.dataArray = yData;
|
||||
this.buttonList = this.dataArray.map((item, index) => {
|
||||
return {
|
||||
name: item.name,
|
||||
actived: index === 0 ? true : false,
|
||||
};
|
||||
});
|
||||
console.log('看一下数据', this.dataArray);
|
||||
this.xDatas = xData;
|
||||
this.chart = echarts.init(this.$refs.chartDiv, 'macarons');
|
||||
// this.chart = echarts.init(document.getElementById('chart'), 'macarons')
|
||||
// this.setOptions(xData, yData[0], lineName)
|
||||
},
|
||||
setOptions(xData, dataList, lineName) {
|
||||
// let seriesData = []
|
||||
// lineName.forEach((item,index) => {
|
||||
// seriesData.push({
|
||||
// name: item,
|
||||
// data: yData[index],
|
||||
// type: 'line',
|
||||
// })
|
||||
// })
|
||||
this.chart.setOption({
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: xData,
|
||||
},
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
},
|
||||
legend: {
|
||||
data: lineName,
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '设备CT',
|
||||
data: dataList.eqData,
|
||||
type: 'line',
|
||||
},
|
||||
{
|
||||
name: '产线CT',
|
||||
data: dataList.plData,
|
||||
type: 'line',
|
||||
},
|
||||
],
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.activeButton {
|
||||
background-color: rgb(93,159,255);
|
||||
}
|
||||
.normalButton {
|
||||
background-color: none;
|
||||
.balace-chart >>> .el-button {
|
||||
background: #e3e3e3;
|
||||
color: #333;
|
||||
transition: all 0.3s;
|
||||
border: none;
|
||||
|
||||
&.activeButton,
|
||||
&:hover {
|
||||
background: #0b58ff;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -28,59 +28,96 @@
|
||||
|
||||
<script>
|
||||
import basicPage from '../../../core/mixins/basic-page';
|
||||
import { parseTime } from '../../../core/mixins/code-filter';
|
||||
import moment from 'moment';
|
||||
import {
|
||||
getEqAnalysis,
|
||||
exportEqAnalysisExcel
|
||||
exportEqAnalysisExcel,
|
||||
} from '@/api/equipment/analysis/statistics';
|
||||
|
||||
const tableProps = [
|
||||
{
|
||||
prop: 'recordTime',
|
||||
label: '时间段',
|
||||
filter: parseTime
|
||||
filter: (val) => {
|
||||
if (val && val.length > 0) {
|
||||
return (
|
||||
moment(val[0]).format('YYYY-MM-DD HH:mm:ss') +
|
||||
' ~ ' +
|
||||
moment(val[1]).format('YYYY-MM-DD HH:mm:ss')
|
||||
);
|
||||
}
|
||||
return '-';
|
||||
},
|
||||
},
|
||||
{
|
||||
prop: 'lineName',
|
||||
label: '产线'
|
||||
label: '产线',
|
||||
},
|
||||
{
|
||||
prop: 'sectionName',
|
||||
label: '工段'
|
||||
label: '工段',
|
||||
},
|
||||
{
|
||||
prop: 'equipmentName',
|
||||
label: '设备名称'
|
||||
label: '设备名称',
|
||||
},
|
||||
{
|
||||
prop: 'equipmentType',
|
||||
label: '设备类型'
|
||||
label: '设备类型',
|
||||
},
|
||||
{
|
||||
prop: 'workTime',
|
||||
label: '工作时间累积(h)'
|
||||
label: '工作时间累积(h)',
|
||||
},
|
||||
{
|
||||
prop: 'repairCount',
|
||||
label: '维修次数'
|
||||
label: '维修次数',
|
||||
},
|
||||
{
|
||||
prop: 'maintainCount',
|
||||
label: '保养次数'
|
||||
}
|
||||
label: '保养次数',
|
||||
},
|
||||
];
|
||||
|
||||
export default {
|
||||
mixins: [basicPage],
|
||||
data() {
|
||||
const today = new Date();
|
||||
|
||||
const todayStart = new Date(
|
||||
today.getFullYear(),
|
||||
today.getMonth(),
|
||||
today.getDate(),
|
||||
0,
|
||||
0,
|
||||
0
|
||||
);
|
||||
const todayEnd = new Date(
|
||||
today.getFullYear(),
|
||||
today.getMonth(),
|
||||
today.getDate(),
|
||||
23,
|
||||
59,
|
||||
59
|
||||
);
|
||||
|
||||
return {
|
||||
urlOptions: {
|
||||
getDataListURL: getEqAnalysis,
|
||||
exportURL: exportEqAnalysisExcel,
|
||||
},
|
||||
tableProps,
|
||||
tableBtn: [].filter((v)=>v),
|
||||
tableBtn: [].filter((v) => v),
|
||||
tableData: [],
|
||||
listQuery: {
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
total: 1,
|
||||
recordTime: [
|
||||
moment(todayStart).format('YYYY-MM-DD HH:mm:ss'),
|
||||
moment(todayEnd).format('YYYY-MM-DD HH:mm:ss'),
|
||||
],
|
||||
},
|
||||
formConfig: [
|
||||
{
|
||||
type: 'input',
|
||||
@ -101,7 +138,10 @@ export default {
|
||||
endPlaceholder: '结束日期',
|
||||
defaultTime: ['00:00:00', '23:59:59'],
|
||||
param: 'recordTime',
|
||||
defaultSelect: [],
|
||||
defaultSelect: [
|
||||
moment(todayStart).format('YYYY-MM-DD HH:mm:ss'),
|
||||
moment(todayEnd).format('YYYY-MM-DD HH:mm:ss'),
|
||||
],
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
@ -113,33 +153,38 @@ export default {
|
||||
type: 'separate',
|
||||
},
|
||||
{
|
||||
type: this.$auth.hasPermi('equipment:analysis-statistics:export') ? 'button' : '',
|
||||
type: this.$auth.hasPermi('equipment:analysis-statistics:export')
|
||||
? 'button'
|
||||
: '',
|
||||
btnName: '导出',
|
||||
name: 'export',
|
||||
color: 'warning',
|
||||
plain: true
|
||||
plain: true,
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
created() {},
|
||||
mounted() {},
|
||||
methods: {
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.urlOptions.getDataListURL(this.listQuery).then(response => {
|
||||
this.tableData = response.data.list;
|
||||
this.listQuery.total = response.data.total;
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
this.urlOptions.getDataListURL(this.listQuery).then((response) => {
|
||||
this.tableData = response.data.list;
|
||||
this.listQuery.total = response.data.total;
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
buttonClick(val) {
|
||||
switch (val.btnName) {
|
||||
case 'search':
|
||||
this.listQuery.pageNo = 1;
|
||||
this.listQuery.pageSize = 10;
|
||||
this.listQuery.equipmentName = val.name ? val.name : undefined;
|
||||
this.listQuery.recordTime = val.recordTime ? val.recordTime : undefined;
|
||||
this.listQuery.recordTime = val.recordTime
|
||||
? val.recordTime
|
||||
: undefined;
|
||||
this.getDataList();
|
||||
break;
|
||||
case 'reset':
|
||||
@ -158,20 +203,24 @@ export default {
|
||||
console.log(val);
|
||||
}
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// 处理查询参数
|
||||
let params = { ...this.listQuery };
|
||||
params.pageNo = undefined;
|
||||
params.pageSize = undefined;
|
||||
this.$modal.confirm('是否确认导出所有数据项?').then(() => {
|
||||
this.exportLoading = true;
|
||||
return this.urlOptions.exportURL(params);
|
||||
}).then(response => {
|
||||
this.$download.excel(response, '设备统计分析.xls');
|
||||
this.exportLoading = false;
|
||||
}).catch(() => { });
|
||||
}
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// 处理查询参数
|
||||
let params = { ...this.listQuery };
|
||||
params.pageNo = undefined;
|
||||
params.pageSize = undefined;
|
||||
this.$modal
|
||||
.confirm('是否确认导出所有数据项?')
|
||||
.then(() => {
|
||||
this.exportLoading = true;
|
||||
return this.urlOptions.exportURL(params);
|
||||
})
|
||||
.then((response) => {
|
||||
this.$download.excel(response, '设备统计分析.xls');
|
||||
this.exportLoading = false;
|
||||
})
|
||||
.catch(() => {});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
@ -237,6 +237,7 @@ export default {
|
||||
label: '工厂',
|
||||
placeholder: '请选择工厂',
|
||||
param: 'factoryId',
|
||||
filterable: true,
|
||||
selectOptions: [],
|
||||
},
|
||||
{
|
||||
@ -244,6 +245,7 @@ export default {
|
||||
label: '产线',
|
||||
placeholder: '请选择产线',
|
||||
param: 'lineId',
|
||||
filterable: true,
|
||||
selectOptions: [],
|
||||
},
|
||||
// 选项切换
|
||||
|
@ -310,7 +310,7 @@ export default {
|
||||
this.$modal
|
||||
.confirm('是否确认删除记录"' + row.name + '"?')
|
||||
.then(function () {
|
||||
return this.delete({ id });
|
||||
return this.del({ id });
|
||||
})
|
||||
.then(() => {
|
||||
this.getList();
|
||||
|
@ -198,26 +198,23 @@ export default {
|
||||
prop: 'createTime',
|
||||
label: '添加时间',
|
||||
fixed: true,
|
||||
width: 180,
|
||||
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
|
||||
},
|
||||
{ width: 240, prop: 'code', label: '报警编码' },
|
||||
{ prop: 'code', label: '报警编码' },
|
||||
{
|
||||
width: 100,
|
||||
prop: 'type',
|
||||
label: '报警类型',
|
||||
filter: (val) =>
|
||||
val != null ? ['-', '字符型', '布尔型', '-'][val] : '-',
|
||||
},
|
||||
{
|
||||
width: 90,
|
||||
prop: 'grade',
|
||||
label: '报警级别',
|
||||
filter: publicFormatter(this.DICT_TYPE.EQU_ALARM_LEVEL),
|
||||
},
|
||||
{ width: 180, prop: 'alarmCode', label: '设备报警编码' },
|
||||
{ width: 128, prop: 'plcParamName', label: '参数列名' },
|
||||
{ width: 128, prop: 'alarmContent', label: '报警内容' },
|
||||
{ prop: 'alarmCode', label: '设备报警编码' },
|
||||
{ prop: 'plcParamName', label: '参数列名' },
|
||||
{ prop: 'alarmContent', label: '报警内容' },
|
||||
],
|
||||
alarmForm: {
|
||||
id: undefined,
|
||||
|
@ -52,7 +52,7 @@
|
||||
import moment from 'moment';
|
||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
||||
import { publicFormatter } from '@/utils/dict';
|
||||
import { deleteCheck } from "@/api/equipment/base/inspection/settings";
|
||||
import { deleteCheck } from '@/api/equipment/base/inspection/settings';
|
||||
|
||||
const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss');
|
||||
|
||||
@ -128,15 +128,21 @@ export default {
|
||||
label: '巡检内容编号',
|
||||
prop: 'code',
|
||||
url: '/base/equipment-check/getCode',
|
||||
rules: [{ required: true, message: '巡检内容编号不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '巡检内容编号不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
input: true,
|
||||
label: '巡检项目',
|
||||
prop: 'program',
|
||||
rules: [{ required: true, message: '巡检项目不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '巡检项目不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
@ -144,10 +150,10 @@ export default {
|
||||
input: true,
|
||||
label: '巡检内容',
|
||||
prop: 'content',
|
||||
rules: [{ required: true, message: '巡检内容不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '巡检内容不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
input: true,
|
||||
label: '备注',
|
||||
@ -168,7 +174,7 @@ export default {
|
||||
code: '',
|
||||
program: '',
|
||||
id: undefined,
|
||||
content: ''
|
||||
content: '',
|
||||
},
|
||||
basePath: '/base/equipment-check',
|
||||
mode: null,
|
||||
@ -271,10 +277,10 @@ export default {
|
||||
handleDelete(row) {
|
||||
const id = row.id;
|
||||
this.$modal
|
||||
.confirm('是否确认删除巡检项目名称为"' + row.program + '"的数据项?')
|
||||
.confirm('是否确认删除该巡检项目?')
|
||||
.then(function () {
|
||||
// return this.delete({ id });
|
||||
return deleteCheck(id)
|
||||
// return this.del({ id });
|
||||
return deleteCheck(id);
|
||||
})
|
||||
.then(() => {
|
||||
this.getList();
|
||||
|
@ -105,6 +105,7 @@ export default {
|
||||
label: '设备',
|
||||
placeholder: '请选择设备',
|
||||
param: 'equipmentId',
|
||||
filterable: true
|
||||
},
|
||||
// 开始结束时间
|
||||
{
|
||||
|
@ -54,7 +54,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment';
|
||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
||||
import addOrUpdata from './add-or-updata.vue';
|
||||
// import { publicFormatter } from '@/utils/dict';
|
||||
@ -101,9 +100,9 @@ export default {
|
||||
{ prop: 'lineName', label: '产线' },
|
||||
{ prop: 'sectionName', label: '工段' },
|
||||
{ prop: 'equipmentName', label: '设备' },
|
||||
{ prop: 'equipmentCode', label: '设备编码' },
|
||||
{ prop: 'responsible', label: '负责人' },
|
||||
{ prop: 'equipmentCode', label: '描述' },
|
||||
{ prop: 'checkNumber', label: '巡检条数' } // TODO: 操作 选项,四个,群里询问
|
||||
{ prop: 'checkNumber', label: '巡检条数' }, // TODO: 操作 选项,四个,群里询问
|
||||
],
|
||||
searchBarFormConfig: [
|
||||
{
|
||||
@ -151,14 +150,18 @@ export default {
|
||||
input: true,
|
||||
label: '配置名称',
|
||||
prop: 'name',
|
||||
rules: [{ required: true, message: '配置名称不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '配置名称不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
{
|
||||
input: true,
|
||||
label: '配置编码',
|
||||
prop: 'code',
|
||||
url: '/base/equipment-check-config/getCode',
|
||||
rules: [{ required: true, message: '配置编码不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '配置编码不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
@ -167,7 +170,9 @@ export default {
|
||||
label: '设备名称',
|
||||
prop: 'equipmentId',
|
||||
url: '/base/core-equipment/listAll',
|
||||
rules: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '设备名称不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
{
|
||||
input: true,
|
||||
@ -288,9 +293,9 @@ export default {
|
||||
handleDelete(row) {
|
||||
const id = row.id;
|
||||
this.$modal
|
||||
.confirm('是否确认删除记录"' + row.name + '"?')
|
||||
.then(function () {
|
||||
return this.delete({ id });
|
||||
.confirm('是否确认删除该巡检记录?')
|
||||
.then(() => {
|
||||
return this.del({ id });
|
||||
})
|
||||
.then(() => {
|
||||
this.getList();
|
||||
@ -317,14 +322,14 @@ export default {
|
||||
},
|
||||
handleDetail({ id }) {
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrEditTitle = "详情";
|
||||
this.addOrEditTitle = '详情';
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id, true);
|
||||
});
|
||||
},
|
||||
handleAddDetail({ id }) {
|
||||
this.addOrUpdateVisible = true;
|
||||
this.addOrEditTitle = "添加巡检";
|
||||
this.addOrEditTitle = '添加巡检';
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id);
|
||||
});
|
||||
|
@ -106,37 +106,37 @@ export default {
|
||||
param: 'equipmentName',
|
||||
},
|
||||
// 时间段
|
||||
{
|
||||
type: 'datePicker',
|
||||
label: '时间段',
|
||||
dateType: 'daterange', // datetimerange
|
||||
format: 'yyyy-MM-dd',
|
||||
valueFormat: 'yyyy-MM-dd HH:mm:ss',
|
||||
// valueFormat: 'timestamp',
|
||||
rangeSeparator: '-',
|
||||
startPlaceholder: '开始日期',
|
||||
endPlaceholder: '结束日期',
|
||||
defaultTime: ['00:00:00', '23:59:59'],
|
||||
param: 'createTime',
|
||||
// defaultSelect: [
|
||||
// new Date(y, m, d)
|
||||
// .toLocaleString()
|
||||
// .split('/')
|
||||
// .map((item, index) => {
|
||||
// if (index == 1 || index == 2) return item.padStart(2, '0');
|
||||
// return item;
|
||||
// })
|
||||
// .join('-'),
|
||||
// new Date(y, m, d, 23, 59, 59)
|
||||
// .toLocaleString()
|
||||
// .split('/')
|
||||
// .map((item, index) => {
|
||||
// if (index == 1 || index == 2) return item.padStart(2, '0');
|
||||
// return item;
|
||||
// })
|
||||
// .join('-'),
|
||||
// ],
|
||||
},
|
||||
// {
|
||||
// type: 'datePicker',
|
||||
// label: '时间段',
|
||||
// dateType: 'daterange', // datetimerange
|
||||
// format: 'yyyy-MM-dd',
|
||||
// valueFormat: 'yyyy-MM-dd HH:mm:ss',
|
||||
// // valueFormat: 'timestamp',
|
||||
// rangeSeparator: '-',
|
||||
// startPlaceholder: '开始日期',
|
||||
// endPlaceholder: '结束日期',
|
||||
// defaultTime: ['00:00:00', '23:59:59'],
|
||||
// param: 'createTime',
|
||||
// // defaultSelect: [
|
||||
// // new Date(y, m, d)
|
||||
// // .toLocaleString()
|
||||
// // .split('/')
|
||||
// // .map((item, index) => {
|
||||
// // if (index == 1 || index == 2) return item.padStart(2, '0');
|
||||
// // return item;
|
||||
// // })
|
||||
// // .join('-'),
|
||||
// // new Date(y, m, d, 23, 59, 59)
|
||||
// // .toLocaleString()
|
||||
// // .split('/')
|
||||
// // .map((item, index) => {
|
||||
// // if (index == 1 || index == 2) return item.padStart(2, '0');
|
||||
// // return item;
|
||||
// // })
|
||||
// // .join('-'),
|
||||
// // ],
|
||||
// },
|
||||
{
|
||||
type: 'button',
|
||||
btnName: '查询',
|
||||
|
@ -121,14 +121,14 @@ export default {
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: '保养计划',
|
||||
placeholder: '请选择保养计划',
|
||||
label: '计划名称',
|
||||
placeholder: '请选择计划名称',
|
||||
param: 'maintainPlanId',
|
||||
},
|
||||
// 开始结束时间
|
||||
{
|
||||
type: 'datePicker',
|
||||
label: '时间段',
|
||||
label: '保养开始时间',
|
||||
dateType: 'daterange', // datetimerange
|
||||
format: 'yyyy-MM-dd',
|
||||
valueFormat: 'yyyy-MM-dd HH:mm:ss',
|
||||
|
@ -129,6 +129,7 @@ export default {
|
||||
label: '设备',
|
||||
placeholder: '请选择设备',
|
||||
param: 'equipmentId',
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
|
@ -52,7 +52,7 @@
|
||||
import moment from 'moment';
|
||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
||||
import { publicFormatter } from '@/utils/dict';
|
||||
import { deleteSparePart } from '@/api/equipment/base/spare-parts/list'
|
||||
import { deleteSparePart } from '@/api/equipment/base/spare-parts/list';
|
||||
|
||||
const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss');
|
||||
|
||||
@ -95,7 +95,7 @@ export default {
|
||||
searchBarFormConfig: [
|
||||
{
|
||||
type: 'input',
|
||||
label: '关键字',
|
||||
label: '备件名称',
|
||||
placeholder: '请输入备件名称',
|
||||
param: 'name',
|
||||
},
|
||||
@ -132,20 +132,33 @@ export default {
|
||||
input: true,
|
||||
label: '备件名称',
|
||||
prop: 'name',
|
||||
rules: [{ required: true, message: '备件名称不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '备件名称不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
{
|
||||
input: true,
|
||||
label: '备件型号',
|
||||
prop: 'model',
|
||||
label: '备件编码',
|
||||
prop: 'code',
|
||||
url: '/base/equipment-spare-part/getCode',
|
||||
rules: [
|
||||
{ required: true, message: '备件编码不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
input: true,
|
||||
label: '备件型号',
|
||||
prop: 'model',
|
||||
},
|
||||
{
|
||||
input: true,
|
||||
label: '规格',
|
||||
prop: 'specifications',
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
select: true,
|
||||
label: '供应商',
|
||||
@ -155,10 +168,10 @@ export default {
|
||||
filterable: true,
|
||||
clearable: true,
|
||||
},
|
||||
rules: [{ required: true, message: '供应商不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '供应商不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
select: true,
|
||||
label: '物料类型',
|
||||
@ -169,8 +182,12 @@ export default {
|
||||
filterable: true,
|
||||
clearable: true,
|
||||
},
|
||||
rules: [{ required: true, message: '物料类型不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '物料类型不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
input: true,
|
||||
label: '使用寿命',
|
||||
@ -184,14 +201,14 @@ export default {
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
select: true,
|
||||
label: '单位',
|
||||
prop: 'unit', // 数据字典
|
||||
options: this.getDictDatas(this.DICT_TYPE.UNIT_DICT),
|
||||
},
|
||||
],
|
||||
[
|
||||
{
|
||||
input: true,
|
||||
label: '备注',
|
||||
|
@ -72,10 +72,10 @@ const remainBox = {
|
||||
},
|
||||
computed: {
|
||||
value() {
|
||||
const temp = this.injectData[this.injectData.prop] || null
|
||||
const temp = this.injectData[this.injectData.prop] || null;
|
||||
if (temp) {
|
||||
console.log('12', temp)
|
||||
return temp === 'Green' ? 'green' : 'red'
|
||||
console.log('12', temp);
|
||||
return temp === 'Green' ? 'green' : 'red';
|
||||
}
|
||||
return this.injectData[this.injectData.prop] || null;
|
||||
},
|
||||
@ -83,7 +83,7 @@ const remainBox = {
|
||||
if (this.value) {
|
||||
// const v = +this.value;
|
||||
// return v < 0 ? 'red' : v >= 0 && v < 2 ? 'yellow' : 'green';
|
||||
return this.value
|
||||
return this.value;
|
||||
}
|
||||
return 'unset';
|
||||
},
|
||||
@ -95,8 +95,7 @@ const remainBox = {
|
||||
this.color
|
||||
// this.color == 'Green' ? 'green' : this.color == 'Red' ? 'red' : 'yellow'
|
||||
}; position:absolute; inset: 0; padding: 0 10px; display: flex; align-items: center; color: ${
|
||||
'unset'
|
||||
// this.color == 'red' ? '#fff' : 'unset'
|
||||
this.color == 'red' || this.color == 'green' ? '#fff' : 'unset'
|
||||
}`}>
|
||||
{this.injectData[this.injectData.prop] || ''}
|
||||
</div>
|
||||
@ -112,7 +111,10 @@ const btn = {
|
||||
},
|
||||
methods: {
|
||||
handleClick() {
|
||||
this.$emit('emitData', { action: this.injectData.name, value: this.injectData });
|
||||
this.$emit('emitData', {
|
||||
action: this.injectData.name,
|
||||
value: this.injectData,
|
||||
});
|
||||
},
|
||||
},
|
||||
render: function (h) {
|
||||
@ -124,8 +126,6 @@ const btn = {
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
|
||||
export default {
|
||||
name: 'EquipmentSparePartsMonitor',
|
||||
components: { addSparts },
|
||||
@ -162,7 +162,12 @@ export default {
|
||||
{ prop: 'responsible', label: '负责人' },
|
||||
{ prop: 'color', label: '是否超期', subcomponent: remainBox },
|
||||
{ prop: 'opt1', label: '备件更换', name: '操作', subcomponent: btn },
|
||||
{ prop: 'opt2', label: '更换记录', name: '更新记录', subcomponent: btn }, // TODO: 是否换成按钮, 群里问
|
||||
{
|
||||
prop: 'opt2',
|
||||
label: '更换记录',
|
||||
name: '更新记录',
|
||||
subcomponent: btn,
|
||||
}, // TODO: 是否换成按钮, 群里问
|
||||
// { prop: 'remark', label: '备注' },
|
||||
],
|
||||
searchBarFormConfig: [
|
||||
@ -171,12 +176,14 @@ export default {
|
||||
label: '产线',
|
||||
placeholder: '请选择产线',
|
||||
param: 'lineId',
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: 'select',
|
||||
label: '设备',
|
||||
placeholder: '请选择设备',
|
||||
param: 'equipmentId',
|
||||
filterable: true,
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
@ -211,7 +218,9 @@ export default {
|
||||
input: true,
|
||||
label: '配置名称',
|
||||
prop: 'name',
|
||||
rules: [{ required: true, message: '配置名称不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '配置名称不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
@ -224,7 +233,9 @@ export default {
|
||||
filterable: true,
|
||||
clearable: true,
|
||||
},
|
||||
rules: [{ required: true, message: '设备名称不能为空', trigger: 'blur' }],
|
||||
rules: [
|
||||
{ required: true, message: '设备名称不能为空', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
],
|
||||
[
|
||||
@ -281,29 +292,29 @@ export default {
|
||||
}
|
||||
},
|
||||
eqOperation({ id }) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id);
|
||||
});
|
||||
},
|
||||
updateLog({ id }) {
|
||||
this.addOrUpdateVisible = true
|
||||
this.addOrUpdateVisible = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id, true);
|
||||
});
|
||||
},
|
||||
initSearchBar() {
|
||||
// 产线列表
|
||||
getCorePLList().then(res => {
|
||||
getCorePLList().then((res) => {
|
||||
this.$set(
|
||||
this.searchBarFormConfig[0],
|
||||
'selectOptions',
|
||||
res.data.map((item) => ({
|
||||
name: item.name,
|
||||
id: item.id
|
||||
id: item.id,
|
||||
}))
|
||||
);
|
||||
})
|
||||
});
|
||||
this.http('/base/core-equipment/listAll', 'get').then(({ data }) => {
|
||||
this.$set(
|
||||
this.searchBarFormConfig[1],
|
||||
@ -319,7 +330,11 @@ export default {
|
||||
getList() {
|
||||
this.loading = true;
|
||||
// 执行查询
|
||||
this.http('/base/equipment-spare-part-config/monitor', 'get', this.queryParams).then((response) => {
|
||||
this.http(
|
||||
'/base/equipment-spare-part-config/monitor',
|
||||
'get',
|
||||
this.queryParams
|
||||
).then((response) => {
|
||||
this.list = response.data.list;
|
||||
this.total = response.data.total;
|
||||
this.loading = false;
|
||||
@ -338,7 +353,7 @@ export default {
|
||||
name: null,
|
||||
equipmentId: null,
|
||||
description: null,
|
||||
responsible: null
|
||||
responsible: null,
|
||||
};
|
||||
this.resetForm('form');
|
||||
},
|
||||
@ -397,7 +412,7 @@ export default {
|
||||
this.$modal
|
||||
.confirm('是否确认删除记录"' + row.name + '"?')
|
||||
.then(function () {
|
||||
return this.delete({ id });
|
||||
return this.del({ id });
|
||||
})
|
||||
.then(() => {
|
||||
this.getList();
|
||||
|
138
src/views/equipment/monitor/SearchBar.vue
Normal file
138
src/views/equipment/monitor/SearchBar.vue
Normal file
@ -0,0 +1,138 @@
|
||||
<!--
|
||||
filename: SearchBar.vue
|
||||
author: liubin
|
||||
date: 2023-11-23 14:01:17
|
||||
description:
|
||||
-->
|
||||
|
||||
<template>
|
||||
<div class="search-bar">
|
||||
<div class="vertical-blue-line"></div>
|
||||
<el-form
|
||||
:inline="true"
|
||||
ref="search-bar__form"
|
||||
:model="form"
|
||||
class="search-bar__form">
|
||||
<el-form-item :label="'产线'" prop="productionLineId">
|
||||
<el-select
|
||||
size="small"
|
||||
placeholder="请选择产线"
|
||||
@change="getEquipmentByLineId"
|
||||
v-model="form.productionLineId">
|
||||
<el-option
|
||||
v-for="item in listLine"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="'设备'" prop="equipmentId">
|
||||
<el-select
|
||||
size="small"
|
||||
placeholder="请选择设备"
|
||||
v-model="form.equipmentId">
|
||||
<el-option
|
||||
v-for="item in listEq"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-button type="primary" @click="handleSearch" size="small">
|
||||
查询
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'SearchBar',
|
||||
model: {
|
||||
prop: 'value',
|
||||
event: 'change',
|
||||
},
|
||||
props: {
|
||||
value: {
|
||||
type: Object,
|
||||
default: () => {},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
listLine: [],
|
||||
listEq: [],
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
form: {
|
||||
set(val) {
|
||||
this.emit(val);
|
||||
},
|
||||
get() {
|
||||
return this.value;
|
||||
},
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.getLine();
|
||||
},
|
||||
methods: {
|
||||
emit(newValue) {
|
||||
debugger;
|
||||
this.$emit('update', { ...this.form, ...newValue });
|
||||
},
|
||||
async getLine() {
|
||||
const { data, code } = await this.$axios({
|
||||
url: '/base/core-production-line/listAll',
|
||||
});
|
||||
if (code == 0) {
|
||||
this.listLine = data;
|
||||
return;
|
||||
}
|
||||
this.listLine.splice(0);
|
||||
},
|
||||
async getEquipmentByLineId(id) {
|
||||
const { data, code } = await this.$axios({
|
||||
url: '/base/core-equipment/listByLine',
|
||||
params: {
|
||||
id,
|
||||
},
|
||||
});
|
||||
if (code == 0) {
|
||||
this.listEq = data;
|
||||
return;
|
||||
}
|
||||
this.listEq.splice(0);
|
||||
},
|
||||
handleSearch() {},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.search-bar {
|
||||
padding: 12px 0;
|
||||
font-size: 16px;
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
|
||||
:deep(.el-form-item) {
|
||||
margin-bottom: 0 !important;
|
||||
margin-right: 0;
|
||||
|
||||
&:not(:last-child) {
|
||||
margin-right: 18px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vertical-blue-line {
|
||||
width: 4px;
|
||||
height: 18px;
|
||||
background: #0b58ff;
|
||||
border-radius: 2px;
|
||||
}
|
||||
</style>
|
@ -1,10 +1,7 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!-- 搜索工作栏 -->
|
||||
<SearchBar
|
||||
:formConfigs="searchBarFormConfig"
|
||||
ref="search-bar"
|
||||
@headBtnClick="handleSearchBarBtnClick" />
|
||||
<SearchBarNew v-model="searchBarForm" />
|
||||
|
||||
<!-- 列表 -->
|
||||
<base-table
|
||||
@ -13,13 +10,13 @@
|
||||
:limit="queryParams.pageSize"
|
||||
:table-data="list"
|
||||
@emitFun="handleEmitFun">
|
||||
<method-btn
|
||||
<!-- <method-btn
|
||||
v-if="tableBtn.length"
|
||||
slot="handleBtn"
|
||||
label="操作"
|
||||
:width="120"
|
||||
:method-list="tableBtn"
|
||||
@clickBtn="handleTableBtnClick" />
|
||||
@clickBtn="handleTableBtnClick" /> -->
|
||||
</base-table>
|
||||
|
||||
<!-- 分页组件 -->
|
||||
@ -50,22 +47,23 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment';
|
||||
import basicPageMixin from '@/mixins/lb/basicPageMixin';
|
||||
import { publicFormatter } from '@/utils/dict';
|
||||
import { parseTime } from '@/utils/ruoyi'
|
||||
// const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss');
|
||||
|
||||
import { parseTime } from '@/utils/ruoyi';
|
||||
import SearchBarNew from '../SearchBar.vue';
|
||||
|
||||
const btn = {
|
||||
name: 'tableBtn',
|
||||
props: ['injectData'],
|
||||
components: {},
|
||||
data() {
|
||||
return {};
|
||||
},
|
||||
methods: {
|
||||
handleClick() {
|
||||
this.$emit('emitData', { action: this.injectData.label, value: this.injectData });
|
||||
this.$emit('emitData', {
|
||||
action: this.injectData.label,
|
||||
value: this.injectData,
|
||||
});
|
||||
},
|
||||
},
|
||||
render: function (h) {
|
||||
@ -77,134 +75,62 @@ const btn = {
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
// monitoring/equipment-monitor/realtime-page
|
||||
export default {
|
||||
name: 'StatusAndParams',
|
||||
mixins: [basicPageMixin],
|
||||
components: { SearchBarNew },
|
||||
data() {
|
||||
return {
|
||||
searchBarKeys: ['equipmentName', 'recordTime'],
|
||||
tableBtn: [
|
||||
// this.$auth.hasPermi('equipment:spare-parts-config:update')
|
||||
// ? {
|
||||
// type: 'detail',
|
||||
// btnName: '详情',
|
||||
// }
|
||||
// : undefined,
|
||||
// this.$auth.hasPermi('equipment:spare-parts-config:update')
|
||||
// ? {
|
||||
// type: 'edit',
|
||||
// btnName: '修改',
|
||||
// }
|
||||
// : undefined,
|
||||
// this.$auth.hasPermi('equipment:spare-parts-config:delete')
|
||||
// ? {
|
||||
// type: 'delete',
|
||||
// btnName: '删除',
|
||||
// }
|
||||
// : undefined,
|
||||
].filter((v) => v),
|
||||
tableProps: [
|
||||
{ prop: 'productionLine', label: '设备名称' },
|
||||
{ prop: 'workshopSection', label: '设备编码' },
|
||||
{ prop: 'equipment', label: '投入数' },
|
||||
{ prop: 'productionLine', label: '产出数' },
|
||||
{ prop: 'workshopSection', label: '是否运行' },
|
||||
{ prop: 'equipment22', label: '状态' },
|
||||
// { prop: 'alarmGrade', label: '报警级别', filter: publicFormatter(this.DICT_TYPE.EQU_ALARM_LEVEL) },
|
||||
{ prop: 'productionLine', label: '是否故障' },
|
||||
{ prop: 'workshopSection', label: '生产量记录时间', filter: parseTime },
|
||||
{ prop: 'equipment1', label: '状态记录时间', filter: parseTime },
|
||||
{ prop: 'equipmentName', label: '设备名称' },
|
||||
{ prop: 'equipmentCode', label: '设备编码' },
|
||||
{ prop: 'inQuantity', label: '投入数' },
|
||||
{ prop: 'outQuantity', label: '产出数' },
|
||||
{
|
||||
prop: 'run',
|
||||
label: '是否运行',
|
||||
filter: (val) => (val != null ? (val ? '是' : '否') : ''),
|
||||
},
|
||||
{
|
||||
prop: 'status',
|
||||
label: '状态',
|
||||
filter: (val) =>
|
||||
val != null ? ['正常', '计划停机', '故障'][val] : '',
|
||||
},
|
||||
{
|
||||
prop: 'error',
|
||||
label: '是否故障',
|
||||
filter: (val) => (val != null ? (val ? '是' : '否') : ''),
|
||||
},
|
||||
{
|
||||
prop: 'quantityRecordTime',
|
||||
label: '生产量记录时间',
|
||||
filter: parseTime,
|
||||
},
|
||||
{ prop: 'statusRecordTime', label: '状态记录时间', filter: parseTime },
|
||||
{ prop: 'opt1', label: '状态可视化', name: '查看', subcomponent: btn },
|
||||
{ prop: 'opt2', label: '参数监控', name: '查看', subcomponent: btn } // TODO: 是否换成按钮, 群里问
|
||||
// { prop: 'remark', label: '备注' },
|
||||
],
|
||||
searchBarFormConfig: [
|
||||
{
|
||||
type: 'input',
|
||||
label: '设备名',
|
||||
placeholder: '请输入设备名称',
|
||||
param: 'equipmentName',
|
||||
},
|
||||
// 时间段
|
||||
{
|
||||
type: 'datePicker',
|
||||
label: '时间段',
|
||||
dateType: 'daterange', // datetimerange
|
||||
// format: 'yyyy-MM-dd HH:mm:ss',
|
||||
format: 'yyyy-MM-dd',
|
||||
// valueFormat: 'timestamp',
|
||||
valueFormat: 'yyyy-MM-dd HH:mm:ss',
|
||||
rangeSeparator: '-',
|
||||
startPlaceholder: '开始日期',
|
||||
endPlaceholder: '结束日期',
|
||||
defaultTime: ['00:00:00', '23:59:59'],
|
||||
param: 'recordTime',
|
||||
// defaultSelect: [
|
||||
// new Date(y, m, d)
|
||||
// .toLocaleString()
|
||||
// .split('/')
|
||||
// .map((item, index) => {
|
||||
// if (index == 1 || index == 2) return item.padStart(2, '0');
|
||||
// return item;
|
||||
// })
|
||||
// .join('-'),
|
||||
// new Date(y, m, d, 23, 59, 59)
|
||||
// .toLocaleString()
|
||||
// .split('/')
|
||||
// .map((item, index) => {
|
||||
// if (index == 1 || index == 2) return item.padStart(2, '0');
|
||||
// return item;
|
||||
// })
|
||||
// .join('-'),
|
||||
// ],
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
btnName: '查询',
|
||||
name: 'search',
|
||||
color: 'primary',
|
||||
},
|
||||
// {
|
||||
// type: 'separate',
|
||||
// },
|
||||
// {
|
||||
// type: this.$auth.hasPermi('equipment:spare-parts-config:create')
|
||||
// ? 'button'
|
||||
// : '',
|
||||
// btnName: '新增',
|
||||
// name: 'add',
|
||||
// plain: true,
|
||||
// color: 'success',
|
||||
// },
|
||||
// {
|
||||
// type: this.$auth.hasPermi('equipment:spare-parts-config:export')
|
||||
// ? 'button'
|
||||
// : '',
|
||||
// btnName: '导出',
|
||||
// name: 'export',
|
||||
// color: 'warning',
|
||||
// },
|
||||
{ prop: 'opt2', label: '参数监控', name: '查看', subcomponent: btn },
|
||||
],
|
||||
searchBarForm: {
|
||||
productionLineId: null,
|
||||
equipmentId: null,
|
||||
},
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNo: 1,
|
||||
pageSize: 10,
|
||||
lineId: null,
|
||||
equipmentId: null,
|
||||
productionLineId: null,
|
||||
},
|
||||
basePath: '/base/equipment-alarm-log',
|
||||
list: []
|
||||
list: [],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.getList();
|
||||
},
|
||||
methods: {
|
||||
handleEmitFun(val) {
|
||||
console.log('你好', val)
|
||||
console.log('你好', val);
|
||||
if (val.action === '状态可视化') {
|
||||
// 状态可视化
|
||||
} else {
|
||||
@ -215,16 +141,20 @@ export default {
|
||||
getList() {
|
||||
this.loading = true;
|
||||
// 执行查询
|
||||
this.recv(this.queryParams).then((response) => {
|
||||
this.http(
|
||||
'/monitoring/equipment-monitor/realtime-page',
|
||||
'get',
|
||||
this.queryParams
|
||||
).then((response) => {
|
||||
this.list = response.data.list;
|
||||
this.total = response.data.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
successSubmit() {
|
||||
this.cancel()
|
||||
this.getList()
|
||||
},
|
||||
this.cancel();
|
||||
this.getList();
|
||||
},
|
||||
/** 取消按钮 */
|
||||
cancel() {
|
||||
this.open = false;
|
||||
@ -270,7 +200,7 @@ export default {
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs.addOrUpdate.dataFormSubmit()
|
||||
this.$refs.addOrUpdate.dataFormSubmit();
|
||||
// this.$refs['form'].validate((valid) => {
|
||||
// if (!valid) {
|
||||
// return;
|
||||
@ -297,8 +227,8 @@ export default {
|
||||
const id = row.id;
|
||||
this.$modal
|
||||
.confirm('是否确认删除记录"' + row.name + '"?')
|
||||
.then(function () {
|
||||
return this.delete({ id });
|
||||
.then(() => {
|
||||
return this.del({ id });
|
||||
})
|
||||
.then(() => {
|
||||
this.getList();
|
||||
|
@ -61,6 +61,8 @@
|
||||
v-if="open"
|
||||
style="width: 100%"
|
||||
v-model="queryParams.equipmentId"
|
||||
filterable
|
||||
clearable
|
||||
placeholder="请选择一个设备">
|
||||
<el-option
|
||||
v-for="eq in eqList"
|
||||
|
@ -94,12 +94,19 @@
|
||||
|
||||
<script>
|
||||
import Gantt from './chart';
|
||||
import moment from 'moment';
|
||||
|
||||
export default {
|
||||
name: 'SGStatus',
|
||||
components: {},
|
||||
props: {},
|
||||
data() {
|
||||
const today = new Date();
|
||||
const todayStart = new Date(
|
||||
today.getFullYear(),
|
||||
today.getMonth(),
|
||||
today.getDate()
|
||||
);
|
||||
return {
|
||||
chart: null,
|
||||
searchBarFormConfig: [
|
||||
@ -129,6 +136,7 @@ export default {
|
||||
placeholder: '选择日期',
|
||||
param: 'recordTime',
|
||||
required: true,
|
||||
defaultSelect: moment(todayStart).format('YYYY-MM-DD HH:mm:ss'),
|
||||
},
|
||||
{
|
||||
type: 'button',
|
||||
@ -369,7 +377,10 @@ export default {
|
||||
const { code, data } = await this.$axios({
|
||||
url: '/monitoring/equipment-monitor/status-series',
|
||||
method: 'get',
|
||||
params: this.queryParams,
|
||||
params: {
|
||||
recordTime: this.queryParams.recordTime,
|
||||
equipmentId: this.queryParams.equipmentId,
|
||||
},
|
||||
});
|
||||
if (code == 0) {
|
||||
const newEqlist = this.objectToArray(data);
|
||||
|
Caricamento…
Fai riferimento in un nuovo problema
Block a user