Explorar o código

feat(iotrddailyreport): 工程质量时间大于0时要求填写故障情况

Zimo hai 3 días
pai
achega
5b886f46c7
Modificáronse 1 ficheiros con 14 adicións e 1 borrados
  1. 14 1
      src/views/pms/iotrddailyreport/FillDailyReportForm.vue

+ 14 - 1
src/views/pms/iotrddailyreport/FillDailyReportForm.vue

@@ -188,6 +188,7 @@ const handleRowValidate = (pid: number, key: string) => {
   const propsToValidate = NON_PROD_FIELDS.map((field) => `${pid}.${field.key}`)
 
   if (key === 'otherNptTime') propsToValidate.push(`${pid}.otherNptReason`)
+  if (key === 'accidentTime') propsToValidate.push('malfunction')
 
   formRef.value.validateField(propsToValidate)
 }
@@ -213,6 +214,10 @@ const opinion = ref('')
 
 const form = ref<Form>(original())
 
+const isMalfunctionRequired = computed(() =>
+  form.value.platformIds.some((pid) => Number(form.value[pid]?.accidentTime) > 0)
+)
+
 function initPlatformData(reportId: number, sourceData: any) {
   form.value[reportId] = {
     rdStatus: sourceData.rdStatus,
@@ -1220,7 +1225,15 @@ const inContent = async (attachment) => {
             :maxlength="1000"
             placeholder="请输入外租设备" />
         </el-form-item>
-        <el-form-item class="col-span-2" label="故障情况" prop="malfunction">
+        <el-form-item
+          class="col-span-2"
+          label="故障情况"
+          prop="malfunction"
+          :rules="{
+            required: isMalfunctionRequired,
+            message: '工程质量时间大于0时,请输入故障情况',
+            trigger: ['blur', 'change']
+          }">
           <el-input
             v-model="form.malfunction"
             type="textarea"