|
|
@@ -10,10 +10,10 @@
|
|
|
<el-input placeholder="请输入地址" v-model="queryParams.address" />
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="来源" prop="source">
|
|
|
+ <el-form-item label="检查主体" prop="source">
|
|
|
<el-select
|
|
|
v-model="queryParams.source"
|
|
|
- placeholder="请选择来源"
|
|
|
+ placeholder="请选择检查主体"
|
|
|
clearable
|
|
|
style="width: 150px">
|
|
|
<el-option
|
|
|
@@ -136,13 +136,24 @@
|
|
|
|
|
|
<zm-table-column label="单位" align="center" prop="deptName" />
|
|
|
<zm-table-column label="类型" align="center" prop="classifyName" />
|
|
|
- <zm-table-column label="来源" align="center" min-width="90">
|
|
|
+ <zm-table-column label="检查主体" align="center" min-width="90">
|
|
|
<template #default="scope">
|
|
|
<dict-tag :type="DICT_TYPE.QHSE_HAZARD_SOURCE" :value="scope.row.source" />
|
|
|
</template>
|
|
|
</zm-table-column>
|
|
|
|
|
|
- <zm-table-column label="地点" align="center" prop="address" />
|
|
|
+ <zm-table-column label="检查类型" align="center" min-width="90">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :type="DICT_TYPE.QHSE_CHECK_TYPE" :value="scope.row.checkType" />
|
|
|
+ </template>
|
|
|
+ </zm-table-column>
|
|
|
+ <zm-table-column prop="createTime" label="排查时间" align="center" min-width="150">
|
|
|
+ <template #default="{ row }">
|
|
|
+ {{ formatDate(row.checkTime) }}
|
|
|
+ </template>
|
|
|
+ </zm-table-column>
|
|
|
+
|
|
|
+ <zm-table-column label="排查地点" align="center" prop="address" />
|
|
|
|
|
|
<zm-table-column label="存在问题" align="center" prop="problem" />
|
|
|
|
|
|
@@ -162,6 +173,11 @@
|
|
|
</zm-table-column>
|
|
|
<zm-table-column label="整改人" align="center" prop="correctPersonName" />
|
|
|
<zm-table-column label="整改要求" align="center" prop="correctStandard" />
|
|
|
+ <zm-table-column label="整改期限" align="center" min-width="90">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :type="DICT_TYPE.QHSE_FIX_DATE" :value="scope.row.checkPeriod" />
|
|
|
+ </template>
|
|
|
+ </zm-table-column>
|
|
|
|
|
|
<zm-table-column label="整改情况" align="center" prop="rectifyDesc" />
|
|
|
|
|
|
@@ -180,12 +196,6 @@
|
|
|
</template>
|
|
|
</zm-table-column>
|
|
|
|
|
|
- <zm-table-column prop="createTime" label="排查时间" align="center" min-width="150">
|
|
|
- <template #default="{ row }">
|
|
|
- {{ formatDate(row.checkTime) }}
|
|
|
- </template>
|
|
|
- </zm-table-column>
|
|
|
-
|
|
|
<zm-table-column label="状态" align="center" width="90">
|
|
|
<template #default="scope">
|
|
|
<dict-tag :type="DICT_TYPE.QHSE_HAZARD_STATUS" :value="scope.row.status" />
|
|
|
@@ -250,10 +260,10 @@
|
|
|
:rules="formRules"
|
|
|
label-width="120px"
|
|
|
v-loading="formLoading">
|
|
|
- <el-form-item label="隐患排查来源" prop="source">
|
|
|
+ <el-form-item label="检查主体" prop="source">
|
|
|
<el-select
|
|
|
v-model="formData.source"
|
|
|
- placeholder="请选择隐患排查来源"
|
|
|
+ placeholder="请选择检查主体"
|
|
|
clearable
|
|
|
@change="handleChange">
|
|
|
<el-option
|
|
|
@@ -263,6 +273,15 @@
|
|
|
:value="dict.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="检查类型" prop="checkType">
|
|
|
+ <el-select v-model="formData.checkType" placeholder="请选择检查类型" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="dict in getStrDictOptions(DICT_TYPE.QHSE_CHECK_TYPE)"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="所属队伍" prop="deptId">
|
|
|
<el-tree-select
|
|
|
clearable
|
|
|
@@ -276,14 +295,14 @@
|
|
|
filterable
|
|
|
placeholder="请选择所属队伍" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="隐患排查类型" prop="classify">
|
|
|
+ <el-form-item label="隐患类别" prop="classify">
|
|
|
<el-tree-select
|
|
|
style="width: 500px; overflow: auto"
|
|
|
v-model="formData.classify"
|
|
|
:data="deptTree"
|
|
|
:props="defaultProps"
|
|
|
:check-strictly="false"
|
|
|
- placeholder="请选择隐患排查类型"
|
|
|
+ placeholder="请选择隐患类别"
|
|
|
value-key="id" />
|
|
|
</el-form-item>
|
|
|
|
|
|
@@ -295,6 +314,16 @@
|
|
|
placeholder="请选择排查时间"
|
|
|
style="width: 100%" />
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="排查地点" prop="address">
|
|
|
+ <el-input v-model="formData.address" placeholder="请输入地点" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="存在问题" prop="problem">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ :rows="2"
|
|
|
+ v-model="formData.problem"
|
|
|
+ placeholder="请输入存在问题" />
|
|
|
+ </el-form-item>
|
|
|
|
|
|
<el-form-item label="整改要求" prop="correctStandard">
|
|
|
<el-input
|
|
|
@@ -304,6 +333,20 @@
|
|
|
placeholder="请输入整改要求" />
|
|
|
</el-form-item>
|
|
|
|
|
|
+ <el-form-item label="整改期限" prop="checkPeriod">
|
|
|
+ <el-select
|
|
|
+ v-model="formData.checkPeriod"
|
|
|
+ placeholder="请选择整改期限"
|
|
|
+ clearable
|
|
|
+ @change="handleCheckPeriodChange">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in getStrDictOptions(DICT_TYPE.QHSE_FIX_DATE)"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="整改人" prop="correctPerson">
|
|
|
<el-select
|
|
|
v-model="formData.correctPerson"
|
|
|
@@ -319,18 +362,6 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="地点" prop="address">
|
|
|
- <el-input v-model="formData.address" placeholder="请输入地点" />
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <el-form-item label="存在问题" prop="problem">
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :rows="2"
|
|
|
- v-model="formData.problem"
|
|
|
- placeholder="请输入存在问题" />
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
<el-form-item label="照片" prop="hazardFile">
|
|
|
<UploadFile
|
|
|
v-model="formData.hazardFile"
|
|
|
@@ -501,9 +532,19 @@ const formData = ref({
|
|
|
source: '',
|
|
|
checkTime: '',
|
|
|
correctStandard: '',
|
|
|
- correctPerson: ''
|
|
|
+ correctPerson: '',
|
|
|
+ checkType: '',
|
|
|
+ checkPeriod: ''
|
|
|
})
|
|
|
|
|
|
+const validateRemark = (_rule, value, callback) => {
|
|
|
+ if (formData.value.checkPeriod === 'other' && !String(value || '').trim()) {
|
|
|
+ callback(new Error('整改期限为其他时,请在备注中注明时间要求'))
|
|
|
+ return
|
|
|
+ }
|
|
|
+ callback()
|
|
|
+}
|
|
|
+
|
|
|
// 表单验证规则
|
|
|
const formRules = {
|
|
|
deptId: [{ required: true, message: '所在部门不能为空', trigger: 'blur' }],
|
|
|
@@ -514,10 +555,13 @@ const formRules = {
|
|
|
rectifyFile: [{ required: true, message: '整改附件不能为空', trigger: 'blur' }],
|
|
|
hazardFile: [{ required: true, message: '照片不能为空', trigger: 'blur' }],
|
|
|
classify: [{ required: true, message: '分类不能为空', trigger: 'blur' }],
|
|
|
- source: [{ required: true, message: '来源不能为空', trigger: 'blur' }],
|
|
|
+ source: [{ required: true, message: '检查主体不能为空', trigger: 'blur' }],
|
|
|
checkTime: [{ required: true, message: '检查时间不能为空', trigger: 'blur' }],
|
|
|
correctStandard: [{ required: true, message: '整改标准不能为空', trigger: 'blur' }],
|
|
|
- correctPerson: [{ required: true, message: '整改人不能为空', trigger: 'blur' }]
|
|
|
+ correctPerson: [{ required: true, message: '整改人不能为空', trigger: 'blur' }],
|
|
|
+ checkType: [{ required: true, message: '检查类型不能为空', trigger: 'blur' }],
|
|
|
+ checkPeriod: [{ required: true, message: '整改期限不能为空', trigger: 'change' }],
|
|
|
+ remark: [{ validator: validateRemark, trigger: ['blur', 'change'] }]
|
|
|
}
|
|
|
|
|
|
/** 查询列表 */
|
|
|
@@ -598,6 +642,17 @@ const handleChange = (val) => {
|
|
|
formData.value.deptId = ''
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+const handleCheckPeriodChange = async (val) => {
|
|
|
+ if (val === 'other') {
|
|
|
+ await ElMessageBox.alert('整改期限为其他,请在备注中注明时间要求', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type: 'warning'
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ formRef.value?.validateField('remark')
|
|
|
+}
|
|
|
// 显示新增对话框
|
|
|
const handleAdd = async () => {
|
|
|
isEdit.value = false
|