@@ -15,16 +15,12 @@ | |||
<el-row :gutter="20"> | |||
<el-col :span="12"> | |||
<el-form-item label="巡检单名称" prop="name"> | |||
<el-input | |||
v-model="dataForm.name" | |||
placeholder="请输入巡检单名称" /> | |||
<el-input v-model="dataForm.name" placeholder="请输入巡检单名称" /> | |||
</el-form-item> | |||
</el-col> | |||
<el-col :span="12"> | |||
<el-form-item label="巡检单编码" prop="code"> | |||
<el-input | |||
v-model="dataForm.code" | |||
placeholder="请输入巡检单编码" /> | |||
<el-input v-model="dataForm.code" placeholder="请输入巡检单编码" /> | |||
</el-form-item> | |||
</el-col> | |||
</el-row> | |||
@@ -96,9 +92,14 @@ | |||
<script> | |||
import basicAdd from '../../../../core/mixins/basic-add'; | |||
import { getCheckOrder, getOrderCode, createCheckOrder, updateCheckOrder } from "@/api/equipment/base/inspection/settings"; | |||
import { getCoreDepartmentList } from "@/api/base/coreDepartment"; | |||
import { groupClassesListAll } from '@/api/monitoring/teamProduction' | |||
import { | |||
getCheckOrder, | |||
getOrderCode, | |||
createCheckOrder, | |||
updateCheckOrder, | |||
} from '@/api/equipment/base/inspection/settings'; | |||
import { getCoreDepartmentList } from '@/api/base/coreDepartment'; | |||
import { groupClassesListAll } from '@/api/monitoring/teamProduction'; | |||
import { getDictDataLabel } from '@/utils/dict'; | |||
// import { getEquipmentAll } from '@/api/base/equipment' | |||
@@ -107,118 +108,131 @@ export default { | |||
data() { | |||
return { | |||
urlOptions: { | |||
isGetCode: true, | |||
codeURL: getOrderCode, | |||
isGetCode: true, | |||
codeURL: getOrderCode, | |||
createURL: createCheckOrder, | |||
updateURL: updateCheckOrder, | |||
infoURL: getCheckOrder, | |||
}, | |||
dataForm: { | |||
id: null, | |||
id: null, | |||
code: null, | |||
name: null, | |||
departmentId: null, | |||
planCheckTime: null, | |||
confirmTimeLimit: null, | |||
groupClass: null, | |||
remark: null | |||
remark: null, | |||
}, | |||
groupOptions: [], | |||
departmentOptions: [], | |||
dataRule: { | |||
confirmTimeLimit: [ | |||
{ required: true, message: '确认时限不能为空', trigger: 'blur' } | |||
{ required: true, message: '确认时限不能为空', trigger: 'blur' }, | |||
], | |||
code: [ | |||
{ required: true, message: '巡检单编码不能为空', trigger: 'blur' } | |||
{ required: true, message: '巡检单编码不能为空', trigger: 'blur' }, | |||
], | |||
name: [ | |||
{ required: true, message: '巡检单名称不能为空', trigger: 'blur' } | |||
{ required: true, message: '巡检单名称不能为空', trigger: 'blur' }, | |||
], | |||
planCheckTime: [ | |||
{ required: true, message: '计划巡检时间不能为空', trigger: 'blur' } | |||
] | |||
} | |||
{ required: true, message: '计划巡检时间不能为空', trigger: 'blur' }, | |||
], | |||
}, | |||
}; | |||
}, | |||
created() { | |||
const currenttime = new Date() | |||
this.dataForm.planCheckTime = new Date(currenttime.getFullYear(), currenttime.getMonth(), currenttime.getDate(), 8, 0, 0).getTime() | |||
console.log('11', this.dataForm.planCheckTime, currenttime) | |||
const currenttime = new Date(); | |||
this.dataForm.planCheckTime = new Date( | |||
currenttime.getFullYear(), | |||
currenttime.getMonth(), | |||
currenttime.getDate(), | |||
8, | |||
0, | |||
0 | |||
).getTime(); | |||
}, | |||
mounted() { | |||
this.getDict() | |||
this.getDict(); | |||
}, | |||
methods: { | |||
init(id) { | |||
this.dataForm.id = id || ""; | |||
this.visible = true; | |||
if (this.urlOptions.getOption) { | |||
this.getArr() | |||
} | |||
this.$nextTick(() => { | |||
this.$refs["dataForm"].resetFields(); | |||
if (this.dataForm.id) { | |||
this.urlOptions.infoURL(id).then(response => { | |||
this.dataForm = response.data | |||
if (response.data.groupClass === '') { | |||
this.dataForm.groupClass = [] | |||
this.dataForm.id = id || ''; | |||
this.visible = true; | |||
if (this.urlOptions.getOption) { | |||
this.getArr(); | |||
} | |||
this.$nextTick(() => { | |||
this.$refs['dataForm'].resetFields(); | |||
if (this.dataForm.id) { | |||
this.urlOptions.infoURL(id).then((response) => { | |||
this.dataForm = response.data; | |||
if (response.data?.groupClass === '') { | |||
this.dataForm.groupClass = []; | |||
} else { | |||
this.dataForm.groupClass = response.data?.groupClass.split(',') || undefined | |||
this.dataForm.groupClass = | |||
response.data?.groupClass?.split(',') || undefined; | |||
} | |||
}); | |||
} else { | |||
if (this.urlOptions.isGetCode) { | |||
this.getCode() | |||
} | |||
}); | |||
} else { | |||
if (this.urlOptions.isGetCode) { | |||
this.getCode(); | |||
} | |||
} | |||
}); | |||
}, | |||
}); | |||
}, | |||
async getDict() { | |||
// 部门列表 | |||
const res = await getCoreDepartmentList(); | |||
this.departmentOptions = res.data || []; | |||
const res1 = await groupClassesListAll(); | |||
this.groupOptions = res1.data.map((item) => { | |||
item.label = item.name + ' - ' + getDictDataLabel('workshop', item.roomNameDict) | |||
return item | |||
}) || []; | |||
this.groupOptions = | |||
res1.data.map((item) => { | |||
item.label = | |||
item.name + ' - ' + getDictDataLabel('workshop', item.roomNameDict); | |||
return item; | |||
}) || []; | |||
// const res = await getEquipmentAll() | |||
// this.eqList = res.data | |||
}, | |||
// 表单提交 | |||
dataFormSubmit() { | |||
this.$refs["dataForm"].validate((valid) => { | |||
if (!valid) { | |||
return false; | |||
} | |||
// 修改的提交 | |||
if (this.dataForm.id) { | |||
this.urlOptions.updateURL({ | |||
dataFormSubmit() { | |||
this.$refs['dataForm'].validate((valid) => { | |||
if (!valid) { | |||
return false; | |||
} | |||
// 修改的提交 | |||
if (this.dataForm.id) { | |||
this.urlOptions | |||
.updateURL({ | |||
...this.dataForm, | |||
special: false, | |||
status: 0, | |||
groupClass: this.dataForm.groupClass?.join(','), | |||
}) | |||
.then((response) => { | |||
this.$modal.msgSuccess('修改成功'); | |||
this.visible = false; | |||
this.$emit('refreshDataList'); | |||
}); | |||
return; | |||
} | |||
// 添加的提交 | |||
this.urlOptions | |||
.createURL({ | |||
...this.dataForm, | |||
special: false, | |||
status: 0, | |||
groupClass: this.dataForm.groupClass.join(',') | |||
}).then(response => { | |||
this.$modal.msgSuccess("修改成功"); | |||
this.visible = false; | |||
this.$emit("refreshDataList"); | |||
}); | |||
return; | |||
} | |||
// 添加的提交 | |||
this.urlOptions.createURL({ | |||
...this.dataForm, | |||
special: false, | |||
status: 0, | |||
groupClass: this.dataForm.groupClass.join(',') | |||
}).then(response => { | |||
this.$modal.msgSuccess("新增成功"); | |||
this.visible = false; | |||
this.$emit("refreshDataList"); | |||
}); | |||
}); | |||
}, | |||
groupClass: this.dataForm.groupClass?.join(','), | |||
}) | |||
.then((response) => { | |||
this.$modal.msgSuccess('新增成功'); | |||
this.visible = false; | |||
this.$emit('refreshDataList'); | |||
}); | |||
}); | |||
}, | |||
}, | |||
}; | |||
</script> |
@@ -37,9 +37,7 @@ | |||
@close="cancel" | |||
@cancel="cancel" | |||
@confirm="handleConfirm"> | |||
<add | |||
ref="add" | |||
@refreshDataList="successSubmit" /> | |||
<add ref="add" @refreshDataList="successSubmit" /> | |||
</base-dialog> | |||
<!-- 添加巡检,查看详情 --> | |||
<addOrUpdata | |||
@@ -52,7 +50,7 @@ | |||
<script> | |||
import basicPageMixin from '@/mixins/lb/basicPageMixin'; | |||
import addOrUpdata from './add-or-updata.vue'; | |||
import add from './add.vue' | |||
import add from './add.vue'; | |||
import { parseTime } from '../../../../core/mixins/code-filter'; | |||
// import { publicFormatter } from '@/utils/dict'; | |||
// const timeFilter = (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'); | |||
@@ -71,14 +69,14 @@ export default { | |||
? { | |||
type: 'add', | |||
btnName: '添加', | |||
showTip: '添加巡检' | |||
} | |||
showTip: '添加巡检', | |||
} | |||
: undefined, | |||
this.$auth.hasPermi('equipment:check-setting:update') | |||
? { | |||
type: 'edit', | |||
btnName: '修改', | |||
} | |||
} | |||
: undefined, | |||
// this.$auth.hasPermi('equipment:check-setting:update') | |||
// ? { | |||
@@ -90,20 +88,44 @@ export default { | |||
? { | |||
type: 'delete', | |||
btnName: '删除', | |||
} | |||
} | |||
: undefined, | |||
].filter((v) => v), | |||
tableProps: [ | |||
{ prop: 'name', label: '巡检单名称', width: 110, showOverflowtooltip: true }, | |||
{ prop: 'code', label: '巡检单编码', minWidth: 150, showOverflowtooltip: true }, | |||
{ | |||
prop: 'name', | |||
label: '巡检单名称', | |||
width: 110, | |||
showOverflowtooltip: true, | |||
}, | |||
{ | |||
prop: 'code', | |||
label: '巡检单编码', | |||
minWidth: 150, | |||
showOverflowtooltip: true, | |||
}, | |||
{ prop: 'department', label: '部门', showOverflowtooltip: true }, | |||
{ prop: 'planCheckTime', label: '计划巡检时间', width: 150, filter: parseTime }, | |||
{ prop: 'confirmTimeLimit', label: '确认时限', showOverflowtooltip: true }, | |||
{ | |||
prop: 'planCheckTime', | |||
label: '计划巡检时间', | |||
width: 150, | |||
filter: parseTime, | |||
}, | |||
{ | |||
prop: 'confirmTimeLimit', | |||
label: '确认时限', | |||
showOverflowtooltip: true, | |||
}, | |||
{ prop: 'groupClass', label: '班次', showOverflowtooltip: true }, | |||
{ prop: 'creator', label: '创建人', showOverflowtooltip: true }, | |||
{ prop: 'createTime', label: '创建时间', width: 150, filter: parseTime }, | |||
{ | |||
prop: 'createTime', | |||
label: '创建时间', | |||
width: 150, | |||
filter: parseTime, | |||
}, | |||
// { prop: 'responsible', label: '负责人' }, | |||
{ prop: 'remark', label: '备注' } // TODO: 操作 选项,四个,群里询问 | |||
{ prop: 'remark', label: '备注' }, // TODO: 操作 选项,四个,群里询问 | |||
], | |||
searchBarFormConfig: [ | |||
{ | |||
@@ -136,7 +158,7 @@ export default { | |||
name: 'add', | |||
plain: true, | |||
color: 'success', | |||
} | |||
}, | |||
// { | |||
// type: this.$auth.hasPermi('equipment:check-setting:export') | |||
// ? 'button' | |||
@@ -177,7 +199,11 @@ export default { | |||
clearable: true, | |||
}, | |||
rules: [ | |||
{ required: true, message: '设备名称不能为空', trigger: 'change' }, | |||
{ | |||
required: true, | |||
message: '设备名称不能为空', | |||
trigger: 'change', | |||
}, | |||
], | |||
}, | |||
{ | |||
@@ -196,13 +222,13 @@ export default { | |||
equipmentId: null, | |||
name: null, | |||
special: false, | |||
status: 0 | |||
status: 0, | |||
}, | |||
// 表单参数 | |||
form: {}, | |||
basePath: '/base/equipment-check-order', | |||
mode: null, | |||
groupList: [] | |||
groupList: [], | |||
}; | |||
}, | |||
created() { | |||
@@ -212,12 +238,12 @@ export default { | |||
}, | |||
methods: { | |||
handleConfirm() { | |||
this.$refs.add.dataFormSubmit() | |||
}, | |||
this.$refs.add.dataFormSubmit(); | |||
}, | |||
successSubmit() { | |||
this.cancel() | |||
this.getList() | |||
}, | |||
this.cancel(); | |||
this.getList(); | |||
}, | |||
initSearchBar() { | |||
this.http('/base/core-equipment/listAll', 'get').then(({ data }) => { | |||
this.$set( | |||
@@ -231,9 +257,9 @@ export default { | |||
}); | |||
}, | |||
getGroup() { | |||
groupClassesListAll().then(res => { | |||
this.groupList = res.data || [] | |||
}) | |||
groupClassesListAll().then((res) => { | |||
this.groupList = res.data || []; | |||
}); | |||
}, | |||
/** 查询列表 */ | |||
getList() { | |||
@@ -247,9 +273,9 @@ export default { | |||
}, | |||
/** 取消按钮 */ | |||
cancel() { | |||
this.$refs.add.formClear() | |||
this.$refs.add.formClear(); | |||
this.open = false; | |||
this.title = '' | |||
this.title = ''; | |||
// this.reset(); | |||
}, | |||
/** 表单重置 */ | |||
@@ -86,7 +86,7 @@ export default { | |||
? { | |||
type: 'edit', | |||
btnName: '修改', | |||
} | |||
} | |||
: undefined, | |||
{ | |||
type: 'detail', | |||
@@ -96,7 +96,7 @@ export default { | |||
? { | |||
type: 'delete', | |||
btnName: '删除', | |||
} | |||
} | |||
: undefined, | |||
].filter((v) => v), | |||
tableProps: [ | |||
@@ -257,16 +257,14 @@ export default { | |||
this.$message.warning('请选择待确认的巡检单'); | |||
return; | |||
} | |||
let checkPersonParam = ''; | |||
if (!row.checkPerson || row.checkPerson.trim() == '') { | |||
/** 如有必要,更新巡检人 */ | |||
checkPersonParam = `&checkPerson=${this.$store.getters.nickname}`; | |||
} | |||
//let checkPersonParam = ''; | |||
//if (!row.checkPerson || row.checkPerson.trim() == '') { | |||
// checkPersonParam = `&checkPerson=${this.$store.getters.nickname}`; | |||
//} | |||
const res = this.$axios({ | |||
url: | |||
`/base/equipment-check-order/confirm?confirmPerson=${this.$store.getters.nickname}` + | |||
checkPersonParam, | |||
url: `/base/equipment-check-order/confirm?confirmPerson=${this.$store.getters.nickname}`, | |||
// +checkPersonParam, | |||
// '/base/equipment-check-order/confirm?ids=' + JSON.stringify([id]).replaceAll("\"", ''), | |||
method: 'put', | |||
data: this.$refs['check-order-list-table'].selectedOrder.map( | |||
@@ -337,8 +335,8 @@ export default { | |||
return this.$axios({ | |||
url: | |||
`/base/equipment-check-order/confirm?confirmPerson=${this.$store.getters.nickname}` + | |||
checkPersonParam, | |||
`/base/equipment-check-order/confirm?confirmPerson=${this.$store.getters.nickname}`, | |||
// + checkPersonParam, | |||
// '/base/equipment-check-order/confirm?ids=' + JSON.stringify([id]).replaceAll("\"", ''), | |||
method: 'put', | |||
data: [id], | |||
@@ -123,7 +123,7 @@ | |||
type: 'number', | |||
message: '请输入正确的数字', | |||
trigger: 'blur', | |||
transform: (val) => Number(val), | |||
transform: (val) => Number(val) && parseInt(val) === Number(val), | |||
}, | |||
{ required: true, message: '保养频率不能为空', trigger: 'blur' }, | |||
]"> | |||