Explorar o código

隐患排查调整

yanghao hai 1 semana
pai
achega
73a923e62b
Modificáronse 1 ficheiros con 26 adicións e 2 borrados
  1. 26 2
      src/views/pms/qhse/safety/index.vue

+ 26 - 2
src/views/pms/qhse/safety/index.vue

@@ -334,7 +334,11 @@
       </el-form-item>
 
       <el-form-item label="整改期限" prop="checkPeriod">
-        <el-select v-model="formData.checkPeriod" placeholder="请选择整改期限" clearable>
+        <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"
@@ -533,6 +537,14 @@ const formData = ref({
   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' }],
@@ -548,7 +560,8 @@ const formRules = {
   correctStandard: [{ required: true, message: '整改标准不能为空', trigger: 'blur' }],
   correctPerson: [{ required: true, message: '整改人不能为空', trigger: 'blur' }],
   checkType: [{ required: true, message: '检查类型不能为空', trigger: 'blur' }],
-  checkPeriod: [{ required: true, message: '整改期限不能为空', trigger: 'blur' }]
+  checkPeriod: [{ required: true, message: '整改期限不能为空', trigger: 'change' }],
+  remark: [{ validator: validateRemark, trigger: ['blur', 'change'] }]
 }
 
 /** 查询列表 */
@@ -629,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