yanghao 2 месяцев назад
Родитель
Сommit
659d5c8152
1 измененных файлов с 24 добавлено и 1 удалено
  1. 24 1
      src/views/pms/failure/IotFailureReportForm.vue

+ 24 - 1
src/views/pms/failure/IotFailureReportForm.vue

@@ -37,7 +37,8 @@
                   :placeholder="t('faultForm.failureTypeHolder')"
                   :disabled="disabled"
                   clearable
-                  class="form-control">
+                  class="form-control"
+                  @change="handleFailureTypeChange">
                   <el-option
                     v-for="dict in getStrDictOptions(DICT_TYPE.FAILURE_TYPE)"
                     :key="dict.label"
@@ -45,6 +46,18 @@
                     :value="dict.value" />
                 </el-select>
               </el-form-item>
+              <el-form-item
+                v-if="formData.failureType === 'other'"
+                label="其他故障描述"
+                prop="typeDesc"
+                :rules="typeDescRule">
+                <el-input
+                  type="textarea"
+                  v-model="formData.typeDesc"
+                  placeholder="请输入其他故障描述"
+                  :disabled="disabled"
+                  class="form-control" />
+              </el-form-item>
             </el-col>
             <el-col :xs="24" :sm="12">
               <el-form-item :label="t('faultForm.device')" prop="deviceName">
@@ -280,6 +293,7 @@ const approver = ref([])
 let company = ''
 const formData = ref({
   failureType: undefined,
+  typeDesc: undefined,
   approvalId: undefined,
   id: undefined,
   failureCode: undefined,
@@ -343,6 +357,12 @@ const handleClear = () => {
   formData.value.deviceName = undefined
   formData.value.deptId = undefined
 }
+const handleFailureTypeChange = (value: string) => {
+  if (value !== 'other') {
+    formData.value.typeDesc = undefined
+    formRef.value?.clearValidate?.('typeDesc')
+  }
+}
 /** 添加/修改操作 */
 const deviceFormRef = ref()
 const openForm = () => {
@@ -359,6 +379,7 @@ const formRules = ref({
   // solution:[{required: ()=> formData.value.ifDeal==='true', message: '解决办法不能为空', trigger: 'blur'}],
 })
 const solutionRule = [{ required: true, message: '解决办法不能为空', trigger: 'blur' }]
+const typeDescRule = [{ required: true, message: '其他故障描述不能为空', trigger: 'blur' }]
 const approvalRule = [{ required: true, message: '审批人不能为空', trigger: 'blur' }]
 const formRef = ref() // 表单 Ref
 const disabled = ref(false)
@@ -414,6 +435,8 @@ const submitForm = async () => {
 /** 重置表单 */
 const resetForm = () => {
   formData.value = {
+    failureType: undefined,
+    typeDesc: undefined,
     id: undefined,
     failureCode: undefined,
     failureName: undefined,