瀏覽代碼

修复瑞都日报

Zimo 12 小時之前
父節點
當前提交
d3e35f9eb6
共有 1 個文件被更改,包括 28 次插入17 次删除
  1. 28 17
      src/views/pms/iotrddailyreport/FillDailyReportForm.vue

+ 28 - 17
src/views/pms/iotrddailyreport/FillDailyReportForm.vue

@@ -148,15 +148,7 @@ const rules = ref<FormRules<Form>>({
   timeRange: [{ required: true, message: '请选择时间节点', trigger: 'change', type: 'array' }],
   dailyFuel: [{ required: true, message: '请输入当日油耗', trigger: 'change' }],
   nextPlan: [{ required: true, message: '请输入下计划', trigger: 'change' }],
-  reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }],
-  constructionBrief: [
-    {
-      required: formType.value === 'time',
-      message: '请填写施工简报',
-      type: 'string',
-      trigger: ['blur', 'change']
-    }
-  ]
+  reportDetails: [{ required: true, message: '请填写生产动态', type: 'array' }]
 })
 
 function noProductionTimeRule(id: number) {
@@ -327,7 +319,15 @@ const submitForm = useDebounceFn(async function submitForm() {
       delete form.value[o.value]
     })
 
-    await formRef.value?.validate()
+    if (formType.value === 'time') {
+      await formRef.value?.validateField([
+        'constructionBrief',
+        ...form.value.platformIds.flatMap((pid) => [
+          ...NON_PROD_FIELDS.map((item) => `${pid}.${item.key}`),
+          `${pid}.otherNptReason`
+        ])
+      ])
+    } else await formRef.value?.validate()
 
     const copyForm = cloneDeep(form.value)
 
@@ -433,7 +433,6 @@ async function submitApprovalForm(auditStatus: number) {
 }
 
 function handleOpenForm(id: number, type: 'edit' | 'approval' | 'detail' | 'time') {
-  console.log('id :>> ', id)
   formType.value = type
   form.value = original()
   loadDetail(id).then(() => {
@@ -1324,11 +1323,11 @@ const inContent = async (attachment) => {
             class="col-span-4"
             label="其他非生产原因"
             :prop="`${pid}.otherNptReason`"
-            :rules="
-              form[pid].otherNptTime > 0
-                ? { required: true, message: '请填写原因', trigger: 'change' }
-                : {}
-            "
+            :rules="{
+              required: form[pid].otherNptTime > 0,
+              message: '请填写原因',
+              trigger: ['blur', 'change']
+            }"
           >
             <el-input
               v-model="form[pid].otherNptReason"
@@ -1344,7 +1343,19 @@ const inContent = async (attachment) => {
         </div>
       </template>
 
-      <el-form-item class="mt-4 col-span-2" label="当日施工简报" prop="constructionBrief">
+      <el-form-item
+        class="mt-4 col-span-2"
+        label="当日施工简报"
+        prop="constructionBrief"
+        :rules="[
+          {
+            required: formType === 'time',
+            message: '请填写施工简报',
+            type: 'string',
+            trigger: ['blur', 'change']
+          }
+        ]"
+      >
         <el-input
           v-model="form.constructionBrief"
           type="textarea"