|
@@ -65,57 +65,44 @@ export default { |
|
|
: undefined, |
|
|
: undefined, |
|
|
].filter((v) => v), |
|
|
].filter((v) => v), |
|
|
tableProps: [ |
|
|
tableProps: [ |
|
|
|
|
|
{ prop: 'lineName', label: '产线', align: 'center' }, |
|
|
|
|
|
{ prop: 'sectionName', label: '工段', align: 'center' }, |
|
|
|
|
|
{ prop: 'equipmentName', label: '设备', align: 'center' }, |
|
|
{ |
|
|
{ |
|
|
prop: 'createTime', |
|
|
|
|
|
label: '添加时间', |
|
|
|
|
|
fixed: true, |
|
|
|
|
|
width: 180, |
|
|
|
|
|
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'), |
|
|
|
|
|
|
|
|
width: 188, |
|
|
|
|
|
prop: 'mtbf', |
|
|
|
|
|
label: '平均故障间隔时间[MTBF](h)', |
|
|
|
|
|
align: 'center', |
|
|
}, |
|
|
}, |
|
|
{ prop: 'name', label: '设备分组名称', align: 'center' }, |
|
|
|
|
|
{ prop: 'code', label: '检测分组编码', align: 'center' }, |
|
|
|
|
|
{ prop: 'remark', label: '备注', align: 'center' }, |
|
|
|
|
|
{ |
|
|
{ |
|
|
_action: 'equipment-group-show-alert', |
|
|
|
|
|
label: '报警', |
|
|
|
|
|
|
|
|
width: 180, |
|
|
|
|
|
prop: 'mttr', |
|
|
|
|
|
label: '平均维修时间[MTTR](h)', |
|
|
align: 'center', |
|
|
align: 'center', |
|
|
subcomponent: { |
|
|
|
|
|
props: ['injectData'], |
|
|
|
|
|
render: function (h) { |
|
|
|
|
|
const _this = this; |
|
|
|
|
|
return h( |
|
|
|
|
|
'el-button', |
|
|
|
|
|
{ |
|
|
|
|
|
props: { type: 'text', size: 'mini' }, |
|
|
|
|
|
on: { |
|
|
|
|
|
click: function () { |
|
|
|
|
|
console.log('inejctdata', _this.injectData); |
|
|
|
|
|
_this.$emit('emitData', { |
|
|
|
|
|
action: _this.injectData._action, |
|
|
|
|
|
// value: _this.injectData.id, |
|
|
|
|
|
value: _this.injectData, |
|
|
|
|
|
}); |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
'查看报警' |
|
|
|
|
|
); |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
}, |
|
|
|
|
|
{ prop: 'workTime', label: '工作时长(h)', align: 'center' }, |
|
|
|
|
|
{ prop: 'downTime', label: '故障时长(h)', align: 'center' }, |
|
|
|
|
|
{ prop: 'downCount', label: '故障次数', align: 'center' }, |
|
|
], |
|
|
], |
|
|
searchBarFormConfig: [ |
|
|
searchBarFormConfig: [ |
|
|
{ |
|
|
{ |
|
|
type: 'input', |
|
|
|
|
|
label: '分组名称', |
|
|
|
|
|
placeholder: '请输入设备分组名称', |
|
|
|
|
|
param: 'name', |
|
|
|
|
|
|
|
|
type: 'select', |
|
|
|
|
|
label: '请选择月份', |
|
|
|
|
|
placeholder: '请选择月份', |
|
|
|
|
|
param: 'month', |
|
|
|
|
|
selectOptions: Array(12) |
|
|
|
|
|
.fill(0) |
|
|
|
|
|
.map((v, i) => ({ |
|
|
|
|
|
id: i + 1, |
|
|
|
|
|
name: `${i + 1}月`, |
|
|
|
|
|
})), |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
type: 'input', |
|
|
|
|
|
label: '分组编码', |
|
|
|
|
|
placeholder: '请输入设备分组编码', |
|
|
|
|
|
param: 'codes', |
|
|
|
|
|
|
|
|
__index: 'line', |
|
|
|
|
|
type: 'select', |
|
|
|
|
|
label: '产线', |
|
|
|
|
|
placeholder: '请选择产线', |
|
|
|
|
|
param: 'lineId', |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
{ |
|
|
type: 'button', |
|
|
type: 'button', |
|
@@ -123,86 +110,78 @@ export default { |
|
|
name: 'search', |
|
|
name: 'search', |
|
|
color: 'primary', |
|
|
color: 'primary', |
|
|
}, |
|
|
}, |
|
|
{ |
|
|
|
|
|
type: 'separate', |
|
|
|
|
|
}, |
|
|
|
|
|
{ |
|
|
|
|
|
type: this.$auth.hasPermi('base:equipment-group:create') |
|
|
|
|
|
? 'button' |
|
|
|
|
|
: '', |
|
|
|
|
|
btnName: '新增', |
|
|
|
|
|
name: 'add', |
|
|
|
|
|
plain: true, |
|
|
|
|
|
color: 'success', |
|
|
|
|
|
}, |
|
|
|
|
|
// { |
|
|
|
|
|
// type: this.$auth.hasPermi('base:equipment-group:export') ? 'button' : '', |
|
|
|
|
|
// btnName: '导出', |
|
|
|
|
|
// name: 'export', |
|
|
|
|
|
// color: 'warning', |
|
|
|
|
|
// }, |
|
|
|
|
|
], |
|
|
], |
|
|
rows: [ |
|
|
|
|
|
[ |
|
|
|
|
|
{ |
|
|
|
|
|
input: true, |
|
|
|
|
|
label: '分组名称', |
|
|
|
|
|
prop: 'name', |
|
|
|
|
|
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], |
|
|
|
|
|
// bind: { |
|
|
|
|
|
// disabled: true, // some condition, like detail mode... |
|
|
|
|
|
// } |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
|
|
|
[ |
|
|
|
|
|
{ |
|
|
|
|
|
input: true, |
|
|
|
|
|
label: '分组编码', |
|
|
|
|
|
prop: 'code', |
|
|
|
|
|
url: '/base/equipment-group/getCode', |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
|
|
|
[ |
|
|
|
|
|
{ |
|
|
|
|
|
input: true, |
|
|
|
|
|
label: '备注', |
|
|
|
|
|
prop: 'remark', |
|
|
|
|
|
// rules: [{ required: true, message: '不能为空', trigger: 'blur' }], |
|
|
|
|
|
bind: { |
|
|
|
|
|
placeholder: '请输入备注', |
|
|
|
|
|
}, |
|
|
|
|
|
}, |
|
|
|
|
|
], |
|
|
|
|
|
], |
|
|
|
|
|
// 是否显示弹出层 |
|
|
|
|
|
open: false, |
|
|
|
|
|
// 查询参数 |
|
|
// 查询参数 |
|
|
queryParams: { |
|
|
queryParams: { |
|
|
pageNo: 1, |
|
|
|
|
|
pageSize: 10, |
|
|
|
|
|
code: null, |
|
|
|
|
|
name: null, |
|
|
|
|
|
|
|
|
lineId: null, |
|
|
|
|
|
factoryId: null, |
|
|
|
|
|
recordTime: null, |
|
|
}, |
|
|
}, |
|
|
// 表单参数 |
|
|
|
|
|
form: {}, |
|
|
|
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
computed: {}, |
|
|
computed: {}, |
|
|
|
|
|
created() { |
|
|
|
|
|
this.fillLineOptions(); |
|
|
|
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
getList() { |
|
|
|
|
|
|
|
|
async fillLineOptions() { |
|
|
|
|
|
const { data } = await this.$axios({ |
|
|
|
|
|
url: '/base/production-line/listAll', |
|
|
|
|
|
method: 'get', |
|
|
|
|
|
}); |
|
|
|
|
|
const cfg = this.searchBarFormConfig.find( |
|
|
|
|
|
(item) => item.__index == 'line' |
|
|
|
|
|
); |
|
|
|
|
|
this.$set( |
|
|
|
|
|
cfg, |
|
|
|
|
|
'selectOptions', |
|
|
|
|
|
data.map((item) => ({ |
|
|
|
|
|
id: item.id, |
|
|
|
|
|
name: item.name, |
|
|
|
|
|
})) |
|
|
|
|
|
); |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
async getList() { |
|
|
this.loading = true; |
|
|
this.loading = true; |
|
|
// 执行查询 |
|
|
// 执行查询 |
|
|
getEquipmentGroupPage(this.queryParams).then((response) => { |
|
|
|
|
|
this.list = response.data.list; |
|
|
|
|
|
this.total = response.data.total; |
|
|
|
|
|
this.loading = false; |
|
|
|
|
|
|
|
|
const { data } = await this.$axios({ |
|
|
|
|
|
url: '/analysis/equipment-analysis/efficiency', |
|
|
|
|
|
method: 'get', |
|
|
|
|
|
params: { |
|
|
|
|
|
lineId: this.queryParams.lineId || null, |
|
|
|
|
|
recordTime: this.queryParams.recordTime || null, |
|
|
|
|
|
}, |
|
|
}); |
|
|
}); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
handleSearchBarBtnClick(btn) { |
|
|
|
|
|
switch (btn.btnName) { |
|
|
|
|
|
case 'search': |
|
|
|
|
|
if (btn.month) { |
|
|
|
|
|
this.queryParams.recordTime = [ |
|
|
|
|
|
moment() |
|
|
|
|
|
.month(btn.month - 1) |
|
|
|
|
|
.format('YYYY-MM')+'-01 00:00:00', |
|
|
|
|
|
moment() |
|
|
|
|
|
.month(btn.month) |
|
|
|
|
|
.format('YYYY-MM')+'-01 00:00:00', |
|
|
|
|
|
]; |
|
|
|
|
|
} else { |
|
|
|
|
|
this.queryParams.recordTime = null; |
|
|
|
|
|
} |
|
|
|
|
|
this.queryParams.lineId = btn.lineId || null; |
|
|
|
|
|
this.handleQuery(); |
|
|
|
|
|
break; |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
/** 搜索按钮操作 */ |
|
|
/** 搜索按钮操作 */ |
|
|
handleQuery() { |
|
|
handleQuery() { |
|
|
this.queryParams.pageNo = 1; |
|
|
|
|
|
|
|
|
// this.queryParams.pageNo = 1; |
|
|
this.getList(); |
|
|
this.getList(); |
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
/** 重置按钮操作 */ |
|
|
/** 重置按钮操作 */ |
|
|
resetQuery() { |
|
|
resetQuery() { |
|
|
this.resetForm('queryForm'); |
|
|
this.resetForm('queryForm'); |
|
|