@@ -76,6 +76,9 @@ export default { | |||||
info(payload) { | info(payload) { | ||||
return this.http(this.infoUrl == '' ? this.infoPath : this.infoUrl, 'get', payload); | return this.http(this.infoUrl == '' ? this.infoPath : this.infoUrl, 'get', payload); | ||||
}, | }, | ||||
del(payload) { | |||||
return this.http(this.deleteUrl == '' ? this.deletePath : this.deleteUrl, 'delete', payload); | |||||
}, | |||||
// 过滤后端传回的详情数据 | // 过滤后端传回的详情数据 | ||||
@@ -99,7 +99,10 @@ export const DICT_TYPE = { | |||||
ORDER_STATUS: 'order_status', | ORDER_STATUS: 'order_status', | ||||
ORDER_ORIGIN: 'order_Origin', | ORDER_ORIGIN: 'order_Origin', | ||||
ORDER_PRIORITY: 'order_priority', | ORDER_PRIORITY: 'order_priority', | ||||
PACK_SPEC: 'pack_spec' | |||||
PACK_SPEC: 'pack_spec', | |||||
// ============== EQUIPMENT - 设备模块 ============= | |||||
MAINTAIN_TYPE: 'maintain_type', | |||||
} | } | ||||
/** | /** | ||||
@@ -75,13 +75,13 @@ | |||||
pageSize: 10, | pageSize: 10, | ||||
}, | }, | ||||
tableBtn: [ | tableBtn: [ | ||||
this.$auth.hasPermi('base:equipment-plc-param:update') | |||||
this.$auth.hasPermi('equipment:collection-config-param:update') | |||||
? { | ? { | ||||
type: 'edit', | type: 'edit', | ||||
btnName: '修改', | btnName: '修改', | ||||
} | } | ||||
: undefined, | : undefined, | ||||
this.$auth.hasPermi('base:equipment-plc-param:delete') | |||||
this.$auth.hasPermi('equipment:collection-config-param:delete') | |||||
? { | ? { | ||||
type: 'delete', | type: 'delete', | ||||
btnName: '删除', | btnName: '删除', | ||||
@@ -120,45 +120,26 @@ export default { | |||||
return { | return { | ||||
searchBarKeys: ['equipmentId', 'plcId'], | searchBarKeys: ['equipmentId', 'plcId'], | ||||
// tableBtn: [ | // tableBtn: [ | ||||
// this.$auth.hasPermi('base:equipment-plc:update') | |||||
// ? { | |||||
// type: 'edit', | |||||
// btnName: '修改', | |||||
// } | |||||
// : undefined, | |||||
// this.$auth.hasPermi('base:equipment-plc:delete') | |||||
// ? { | |||||
// type: 'delete', | |||||
// btnName: '删除', | |||||
// } | |||||
// : undefined, | |||||
// ].filter((v) => v), | // ].filter((v) => v), | ||||
tableBtn: [ | tableBtn: [ | ||||
{ | { | ||||
type: 'detail', | type: 'detail', | ||||
btnName: '参数绑定', | btnName: '参数绑定', | ||||
}, | }, | ||||
{ | |||||
type: 'edit', | |||||
btnName: '修改', | |||||
}, | |||||
// { | |||||
// type: 'params-bind', | |||||
// btnName: '参数绑定', | |||||
// }, | |||||
{ | |||||
type: 'delete', | |||||
btnName: '删除', | |||||
}, | |||||
], | |||||
this.$auth.hasPermi('equipment:collection-config:update') | |||||
? { | |||||
type: 'edit', | |||||
btnName: '修改', | |||||
} | |||||
: undefined, | |||||
this.$auth.hasPermi('equipment:collection-config:delete') | |||||
? { | |||||
type: 'delete', | |||||
btnName: '删除', | |||||
} | |||||
: undefined, | |||||
].filter((v) => v), | |||||
tableProps: [ | tableProps: [ | ||||
// { | |||||
// prop: 'createTime', | |||||
// label: '添加时间', | |||||
// fixed: true, | |||||
// width: 180, | |||||
// filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'), | |||||
// }, | |||||
{ prop: 'productionLine', label: '产线' }, | { prop: 'productionLine', label: '产线' }, | ||||
{ prop: 'workshopSection', label: '工段' }, | { prop: 'workshopSection', label: '工段' }, | ||||
{ prop: 'equipmentName', label: '设备名' }, | { prop: 'equipmentName', label: '设备名' }, | ||||
@@ -219,17 +200,17 @@ export default { | |||||
type: 'separate', | type: 'separate', | ||||
}, | }, | ||||
{ | { | ||||
// type: this.$auth.hasPermi('base:equipment-plc:create') | |||||
// ? 'button' | |||||
// : '', | |||||
type: 'button', | |||||
type: this.$auth.hasPermi('equipment:collection-config:create') | |||||
? 'button' | |||||
: '', | |||||
// type: 'button', | |||||
btnName: '新增', | btnName: '新增', | ||||
name: 'add', | name: 'add', | ||||
plain: true, | plain: true, | ||||
color: 'success', | color: 'success', | ||||
}, | }, | ||||
// { | // { | ||||
// type: this.$auth.hasPermi('base:equipment-plc:export') ? 'button' : '', | |||||
// type: this.$auth.hasPermi('equipment:collection-config:export') ? 'button' : '', | |||||
// btnName: '导出', | // btnName: '导出', | ||||
// name: 'export', | // name: 'export', | ||||
// color: 'warning', | // color: 'warning', | ||||
@@ -302,6 +283,22 @@ export default { | |||||
label: '单位', | label: '单位', | ||||
filter: publicFormatter('unit_dict'), | filter: publicFormatter('unit_dict'), | ||||
}, | }, | ||||
{ | |||||
prop: 'equipment_param_type', | |||||
label: '设备参数类型', | |||||
filter: (val) => | |||||
val != null | |||||
? ['', '一般参数', '工艺参数', '报警参数', ''][val] | |||||
: '-', | |||||
}, | |||||
{ | |||||
prop: 'production_param_type', | |||||
label: '生产参数类型', | |||||
filter: (val) => | |||||
val != null | |||||
? ['', '进片数量', '出片数量', '破损数量', '无类型', ''][val] | |||||
: '-', | |||||
}, | |||||
{ | { | ||||
prop: 'collection', | prop: 'collection', | ||||
label: '是否采集', | label: '是否采集', | ||||
@@ -36,7 +36,7 @@ | |||||
v-if="showForm" | v-if="showForm" | ||||
ref="form" | ref="form" | ||||
:disabled="mode.includes('detail')" | :disabled="mode.includes('detail')" | ||||
:dataForm="form" | |||||
v-model="form" | |||||
:rows="formRows" /> | :rows="formRows" /> | ||||
</div> | </div> | ||||
@@ -193,6 +193,32 @@ export default { | |||||
}, | }, | ||||
}, | }, | ||||
], | ], | ||||
[ | |||||
{ | |||||
select: true, | |||||
label: '设备参数类型', | |||||
prop: 'equipment_param_type', | |||||
options: [ | |||||
{ label: '一般参数', value: 1 }, | |||||
{ label: '工艺参数', value: 2 }, | |||||
{ label: '报警参数', value: 3 }, | |||||
], | |||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | |||||
}, | |||||
{ | |||||
select: true, | |||||
label: '生产参数类型', | |||||
prop: 'production_param_type', | |||||
options: [ | |||||
{ label: '进片数量', value: 1 }, | |||||
{ label: '出片数量', value: 2 }, | |||||
{ label: '破损数量', value: 3 }, | |||||
{ label: '无类型', value: 4 }, | |||||
], | |||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | |||||
}, | |||||
], | |||||
[ | [ | ||||
{ | { | ||||
input: true, | input: true, | ||||
@@ -437,7 +463,7 @@ export default { | |||||
method: isEdit ? 'put' : 'post', | method: isEdit ? 'put' : 'post', | ||||
data: { | data: { | ||||
...this.attrForm, | ...this.attrForm, | ||||
connectId: this.infoData.id | |||||
connectId: this.infoData.id, | |||||
}, | }, | ||||
}); | }); | ||||
@@ -0,0 +1,325 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<!-- 搜索工作栏 --> | |||||
<SearchBar | |||||
:formConfigs="searchBarFormConfig" | |||||
ref="search-bar" | |||||
@headBtnClick="handleSearchBarBtnClick" /> | |||||
<!-- 列表 --> | |||||
<base-table | |||||
:table-props="tableProps" | |||||
:page="queryParams.pageNo" | |||||
:limit="queryParams.pageSize" | |||||
:table-data="list" | |||||
@emitFun="handleEmitFun"> | |||||
<!-- <method-btn | |||||
v-if="tableBtn.length" | |||||
slot="handleBtn" | |||||
label="操作" | |||||
:width="120" | |||||
:method-list="tableBtn" | |||||
@clickBtn="handleTableBtnClick" /> --> | |||||
</base-table> | |||||
<!-- 分页组件 --> | |||||
<pagination | |||||
v-show="total > 0" | |||||
:total="total" | |||||
:page.sync="queryParams.pageNo" | |||||
:limit.sync="queryParams.pageSize" | |||||
@pagination="getList" /> | |||||
<!-- 对话框(添加 / 修改) --> | |||||
<base-dialog | |||||
:dialogTitle="title" | |||||
:dialogVisible="open" | |||||
@close="cancel" | |||||
@cancel="cancel" | |||||
@confirm="submitForm"> | |||||
<DialogForm | |||||
v-if="open" | |||||
ref="form" | |||||
v-model="form" | |||||
:has-files="false" | |||||
:rows="rows" /> | |||||
</base-dialog> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { publicFormatter } from '@/utils/dict'; | |||||
import moment from 'moment'; | |||||
import basicPageMixin from '@/mixins/lb/basicPageMixin'; | |||||
const remainBox = { | |||||
name: 'RemainBox', | |||||
props: ['injectData'], | |||||
data() { | |||||
return {}; | |||||
}, | |||||
computed: { | |||||
value() { | |||||
return this.injectData[this.injectData.prop] || null; | |||||
}, | |||||
color() { | |||||
if (this.value) { | |||||
const v = +this.value; | |||||
return v < 0 ? 'red' : v >= 0 && v < 2 ? 'yellow' : 'green'; | |||||
} | |||||
return 'unset'; | |||||
}, | |||||
}, | |||||
render: function (h) { | |||||
return ( | |||||
<div | |||||
style={`background: ${ | |||||
this.color | |||||
}; position:absolute; inset: 0; padding: 0 10px; display: flex; align-items: center; color: ${ | |||||
this.color == 'red' ? '#fff' : 'unset' | |||||
}`}> | |||||
{this.injectData[this.injectData.prop] || ''} | |||||
</div> | |||||
); | |||||
}, | |||||
}; | |||||
const btn = { | |||||
name: 'tableBtn', | |||||
props: ['injectData'], | |||||
data() { | |||||
return {}; | |||||
}, | |||||
methods: { | |||||
handleClick() { | |||||
this.$emit('emitData', { type: this.injectData.label }); | |||||
}, | |||||
}, | |||||
render: function (h) { | |||||
return ( | |||||
<el-button type="text" onClick={this.handleClick}> | |||||
{this.injectData.label} | |||||
</el-button> | |||||
); | |||||
}, | |||||
}; | |||||
export default { | |||||
name: 'PlanConfig', | |||||
components: {}, | |||||
mixins: [basicPageMixin], | |||||
data() { | |||||
return { | |||||
searchBarKeys: ['planId', 'equipmentId'], | |||||
tableProps: [ | |||||
{ | |||||
prop: 'createTime', | |||||
label: '添加时间', | |||||
fixed: true, | |||||
width: 180, | |||||
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'), | |||||
}, | |||||
{ prop: 'name', label: '保养计划' }, | |||||
{ prop: 'lineName', label: '产线' }, | |||||
{ prop: 'sectionName', label: '工段' }, | |||||
{ prop: 'equipmentName', label: '设备名称' }, | |||||
{ prop: 'equipmentCode', label: '设备编码' }, | |||||
{ prop: 'maintainDuration', label: '保养频率' }, | |||||
{ | |||||
prop: 'maintainType', | |||||
label: '保养类型', | |||||
filter: publicFormatter(this.DICT_TYPE.MAINTAIN_TYPE), | |||||
}, | |||||
{ | |||||
prop: 'lastMaintainTime', | |||||
label: '上次保养时间', | |||||
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'), | |||||
}, | |||||
{ prop: 'nextMaintainTime', label: '计划下次保养时间' }, | |||||
{ | |||||
prop: 'remainDays', | |||||
label: '距离保养时间(天)', | |||||
subcomponent: remainBox, | |||||
}, | |||||
{ prop: 'opt1', label: '设备保养', subcomponent: btn }, | |||||
{ prop: 'opt2', label: '保养记录', subcomponent: btn }, | |||||
], | |||||
searchBarFormConfig: [ | |||||
{ | |||||
type: 'select', | |||||
label: '保养计划', | |||||
placeholder: '请选择保养计划', | |||||
param: 'planId', | |||||
filterable: true, | |||||
}, | |||||
{ | |||||
type: 'select', | |||||
label: '设备名', | |||||
placeholder: '请选择设备', | |||||
param: 'equipmentId', | |||||
filterable: true, | |||||
}, | |||||
{ | |||||
type: 'button', | |||||
btnName: '查询', | |||||
name: 'search', | |||||
color: 'primary', | |||||
}, | |||||
{ | |||||
type: 'separate', | |||||
}, | |||||
{ | |||||
type: this.$auth.hasPermi('base:quality-inspection-type:export') | |||||
? 'button' | |||||
: '', | |||||
btnName: '导出', | |||||
name: 'export', | |||||
color: 'warning', | |||||
}, | |||||
], | |||||
// 是否显示弹出层 | |||||
open: false, | |||||
// 查询参数 | |||||
queryParams: { | |||||
pageNo: 1, | |||||
pageSize: 10, | |||||
equipmentName: null, | |||||
createTime: null, | |||||
}, | |||||
// 表单参数 | |||||
form: {}, | |||||
}; | |||||
}, | |||||
created() { | |||||
this.initSearchBar(); | |||||
this.getList(); | |||||
}, | |||||
methods: { | |||||
initSearchBar() { | |||||
this.http('/base/core-equipment/listAll', 'get').then(({ data }) => { | |||||
this.$set( | |||||
this.searchBarFormConfig[1], | |||||
'selectOptions', | |||||
data.map((item) => ({ | |||||
name: item.name, | |||||
id: item.id, | |||||
})) | |||||
); | |||||
}); | |||||
this.http('/base/equipment-maintain-plan/page', 'get', { | |||||
pageNo: 1, | |||||
pageSize: 100, | |||||
}).then(({ data }) => { | |||||
this.$set( | |||||
this.searchBarFormConfig[0], | |||||
'selectOptions', | |||||
(data?.list || []).map((item) => ({ | |||||
name: item.name, | |||||
id: item.id, | |||||
})) | |||||
); | |||||
}); | |||||
}, | |||||
/** 查询列表 */ | |||||
getList() { | |||||
this.loading = true; | |||||
// 执行查询 | |||||
this.http( | |||||
'/base/equipment-maintain-plan/monitor', | |||||
'get', | |||||
this.queryParams | |||||
).then((response) => { | |||||
this.list = response.data.list; | |||||
this.total = response.data.total; | |||||
this.loading = false; | |||||
}); | |||||
}, | |||||
/** 取消按钮 */ | |||||
cancel() { | |||||
this.open = false; | |||||
this.reset(); | |||||
}, | |||||
/** 表单重置 */ | |||||
reset() { | |||||
this.form = { | |||||
code: null, | |||||
name: null, | |||||
equipmentId: null, | |||||
enabled: null, | |||||
maintenancePeriod: null, | |||||
maintainDuration: null, | |||||
maintainType: null, | |||||
remark: null, | |||||
enabled: 1, | |||||
}; | |||||
this.resetForm('form'); | |||||
}, | |||||
/** 搜索按钮操作 */ | |||||
handleQuery() { | |||||
this.queryParams.pageNo = 1; | |||||
this.getList(); | |||||
}, | |||||
/** 重置按钮操作 */ | |||||
resetQuery() { | |||||
this.resetForm('queryForm'); | |||||
this.handleQuery(); | |||||
}, | |||||
/** 新增按钮操作 */ | |||||
handleAdd() { | |||||
this.reset(); | |||||
this.open = true; | |||||
this.title = '添加保养计划'; | |||||
}, | |||||
handleDetail(id) { | |||||
alert('跳转到 保养记录'); | |||||
}, | |||||
/** 修改按钮操作 */ | |||||
handleUpdate(row) { | |||||
this.reset(); | |||||
const id = row.id; | |||||
this.info({ id }).then((response) => { | |||||
this.form = response.data; | |||||
this.open = true; | |||||
this.title = '修改保养计划'; | |||||
}); | |||||
}, | |||||
/** 提交按钮 */ | |||||
submitForm() { | |||||
this.$refs['form'].validate((valid) => { | |||||
if (!valid) { | |||||
return; | |||||
} | |||||
// 修改的提交 | |||||
if (this.form.id != null) { | |||||
this.put(this.form).then((response) => { | |||||
this.$modal.msgSuccess('修改成功'); | |||||
this.open = false; | |||||
this.getList(); | |||||
}); | |||||
return; | |||||
} | |||||
// 添加的提交 | |||||
this.post(this.form).then((response) => { | |||||
this.$modal.msgSuccess('新增成功'); | |||||
this.open = false; | |||||
this.getList(); | |||||
}); | |||||
}); | |||||
}, | |||||
/** 删除按钮操作 */ | |||||
handleDelete(row) { | |||||
const id = row.id; | |||||
this.$modal | |||||
.confirm('是否确认删除设备类型"' + row.name + '"?') | |||||
.then(function () { | |||||
return this.del(id); | |||||
}) | |||||
.then(() => { | |||||
this.getList(); | |||||
this.$modal.msgSuccess('删除成功'); | |||||
}) | |||||
.catch(() => {}); | |||||
}, | |||||
}, | |||||
}; | |||||
</script> |
@@ -0,0 +1,343 @@ | |||||
<template> | |||||
<div class="app-container"> | |||||
<!-- 搜索工作栏 --> | |||||
<SearchBar | |||||
:formConfigs="searchBarFormConfig" | |||||
ref="search-bar" | |||||
@headBtnClick="handleSearchBarBtnClick" /> | |||||
<!-- 列表 --> | |||||
<base-table | |||||
:table-props="tableProps" | |||||
:page="queryParams.pageNo" | |||||
:limit="queryParams.pageSize" | |||||
:table-data="list" | |||||
@emitFun="handleEmitFun"> | |||||
<method-btn | |||||
v-if="tableBtn.length" | |||||
slot="handleBtn" | |||||
label="操作" | |||||
:width="120" | |||||
:method-list="tableBtn" | |||||
@clickBtn="handleTableBtnClick" /> | |||||
</base-table> | |||||
<!-- 分页组件 --> | |||||
<pagination | |||||
v-show="total > 0" | |||||
:total="total" | |||||
:page.sync="queryParams.pageNo" | |||||
:limit.sync="queryParams.pageSize" | |||||
@pagination="getList" /> | |||||
<!-- 对话框(添加 / 修改) --> | |||||
<base-dialog | |||||
:dialogTitle="title" | |||||
:dialogVisible="open" | |||||
@close="cancel" | |||||
@cancel="cancel" | |||||
@confirm="submitForm"> | |||||
<DialogForm | |||||
v-if="open" | |||||
ref="form" | |||||
v-model="form" | |||||
:has-files="false" | |||||
:rows="rows" /> | |||||
</base-dialog> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import moment from 'moment'; | |||||
import basicPageMixin from '@/mixins/lb/basicPageMixin'; | |||||
export default { | |||||
name: 'PlanConfig', | |||||
components: {}, | |||||
mixins: [basicPageMixin], | |||||
data() { | |||||
const t = new Date(); | |||||
const [y, m, d] = [t.getFullYear(), t.getMonth(), t.getDate()]; | |||||
return { | |||||
searchBarKeys: ['equipmentName', 'createTime'], | |||||
tableBtn: [ | |||||
{ | |||||
type: 'detail', | |||||
btnName: '保养记录', | |||||
}, | |||||
this.$auth.hasPermi('equipment:plan-config:update') | |||||
? { | |||||
type: 'edit', | |||||
btnName: '修改', | |||||
} | |||||
: undefined, | |||||
this.$auth.hasPermi('equipment:plan-config:delete') | |||||
? { | |||||
type: 'delete', | |||||
btnName: '删除', | |||||
} | |||||
: undefined, | |||||
].filter((v) => v), | |||||
tableProps: [ | |||||
{ | |||||
prop: 'createTime', | |||||
label: '添加时间', | |||||
fixed: true, | |||||
width: 180, | |||||
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'), | |||||
}, | |||||
{ prop: 'name', label: '计划名称' }, | |||||
{ prop: 'code', label: '计划编号' }, | |||||
{ prop: 'enabled', label: '启用状态' }, | |||||
{ prop: 'lineName', label: '产线' }, | |||||
{ prop: 'sectionName', label: '工段' }, | |||||
{ prop: 'equipmentName', label: '设备名称' }, | |||||
{ prop: 'maintainDuration', label: '计划保养用时(h)' }, | |||||
{ prop: 'maintenancePeriod', label: '保养频率(天/次)' }, | |||||
{ prop: 'maintainType', label: '保养类型' }, | |||||
{ prop: 'remark', label: '备注' }, | |||||
], | |||||
searchBarFormConfig: [ | |||||
{ | |||||
type: 'input', | |||||
label: '设备名', | |||||
placeholder: '请输入设备名称', | |||||
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: 'button', | |||||
btnName: '查询', | |||||
name: 'search', | |||||
color: 'primary', | |||||
}, | |||||
{ | |||||
type: 'separate', | |||||
}, | |||||
{ | |||||
type: this.$auth.hasPermi('equipment:plan-config:create') | |||||
? 'button' | |||||
: '', | |||||
btnName: '新增', | |||||
name: 'add', | |||||
plain: true, | |||||
color: 'success', | |||||
}, | |||||
// { | |||||
// type: this.$auth.hasPermi('base:quality-inspection-type:export') | |||||
// ? 'button' | |||||
// : '', | |||||
// btnName: '导出', | |||||
// name: 'export', | |||||
// color: 'warning', | |||||
// }, | |||||
], | |||||
rows: [ | |||||
[ | |||||
{ | |||||
input: true, | |||||
label: '计划名称', | |||||
prop: 'name', | |||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | |||||
}, | |||||
{ | |||||
input: true, | |||||
label: '计划编号', | |||||
prop: 'code', | |||||
url: '/base/equipment-maintain-plan/getCode', | |||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | |||||
}, | |||||
], | |||||
[ | |||||
{ | |||||
select: true, | |||||
label: '设备名称', | |||||
prop: 'equipmentId', | |||||
url: '/base/core-equipment/listAll', | |||||
rules: [{ required: true, message: '不能为空', trigger: 'blur' }], | |||||
}, | |||||
{ | |||||
select: true, | |||||
label: '保养类型', | |||||
prop: 'maintainType', | |||||
options: this.getDictDatas(this.DICT_TYPE.MAINTAIN_TYPE), | |||||
}, | |||||
], | |||||
[ | |||||
{ | |||||
input: true, | |||||
label: '保养时长(h)', | |||||
prop: 'maintainDuration', | |||||
rules: [ | |||||
{ | |||||
type: 'number', | |||||
trigger: 'blur', | |||||
message: '请输入正确的数字', | |||||
transform: (val) => Number(val), | |||||
}, | |||||
], | |||||
}, | |||||
{ | |||||
input: true, | |||||
label: '保养频率(天/次)', | |||||
prop: 'maintenancePeriod', | |||||
rules: [ | |||||
{ | |||||
type: 'number', | |||||
trigger: 'blur', | |||||
message: '请输入正确的数字', | |||||
transform: (val) => Number(val), | |||||
}, | |||||
], | |||||
}, | |||||
], | |||||
[{ input: true, label: '备注', prop: 'remark' }], | |||||
], | |||||
// 是否显示弹出层 | |||||
open: false, | |||||
// 查询参数 | |||||
queryParams: { | |||||
pageNo: 1, | |||||
pageSize: 10, | |||||
equipmentName: null, | |||||
createTime: null, | |||||
}, | |||||
// 表单参数 | |||||
form: {}, | |||||
basePath: '/base/equipment-maintain-plan', | |||||
}; | |||||
}, | |||||
created() { | |||||
this.getList(); | |||||
}, | |||||
methods: { | |||||
/** 查询列表 */ | |||||
getList() { | |||||
this.loading = true; | |||||
// 执行查询 | |||||
this.recv(this.queryParams).then((response) => { | |||||
this.list = response.data.list; | |||||
this.total = response.data.total; | |||||
this.loading = false; | |||||
}); | |||||
}, | |||||
/** 取消按钮 */ | |||||
cancel() { | |||||
this.open = false; | |||||
this.reset(); | |||||
}, | |||||
/** 表单重置 */ | |||||
reset() { | |||||
this.form = { | |||||
code: null, | |||||
name: null, | |||||
equipmentId: null, | |||||
enabled: null, | |||||
maintenancePeriod: null, | |||||
maintainDuration: null, | |||||
maintainType: null, | |||||
remark: null, | |||||
enabled: 1 | |||||
}; | |||||
this.resetForm('form'); | |||||
}, | |||||
/** 搜索按钮操作 */ | |||||
handleQuery() { | |||||
this.queryParams.pageNo = 1; | |||||
this.getList(); | |||||
}, | |||||
/** 重置按钮操作 */ | |||||
resetQuery() { | |||||
this.resetForm('queryForm'); | |||||
this.handleQuery(); | |||||
}, | |||||
/** 新增按钮操作 */ | |||||
handleAdd() { | |||||
this.reset(); | |||||
this.open = true; | |||||
this.title = '添加保养计划'; | |||||
}, | |||||
handleDetail(id){ | |||||
alert('跳转到 保养记录') | |||||
}, | |||||
/** 修改按钮操作 */ | |||||
handleUpdate(row) { | |||||
this.reset(); | |||||
const id = row.id; | |||||
this.info({ id }).then((response) => { | |||||
this.form = response.data; | |||||
this.open = true; | |||||
this.title = '修改保养计划'; | |||||
}); | |||||
}, | |||||
/** 提交按钮 */ | |||||
submitForm() { | |||||
this.$refs['form'].validate((valid) => { | |||||
if (!valid) { | |||||
return; | |||||
} | |||||
// 修改的提交 | |||||
if (this.form.id != null) { | |||||
this.put(this.form).then((response) => { | |||||
this.$modal.msgSuccess('修改成功'); | |||||
this.open = false; | |||||
this.getList(); | |||||
}); | |||||
return; | |||||
} | |||||
// 添加的提交 | |||||
this.post(this.form).then((response) => { | |||||
this.$modal.msgSuccess('新增成功'); | |||||
this.open = false; | |||||
this.getList(); | |||||
}); | |||||
}); | |||||
}, | |||||
/** 删除按钮操作 */ | |||||
handleDelete(row) { | |||||
const id = row.id; | |||||
this.$modal | |||||
.confirm('是否确认删除设备类型"' + row.name + '"?') | |||||
.then(function () { | |||||
return this.del(id); | |||||
}) | |||||
.then(() => { | |||||
this.getList(); | |||||
this.$modal.msgSuccess('删除成功'); | |||||
}) | |||||
.catch(() => {}); | |||||
}, | |||||
}, | |||||
}; | |||||
</script> |