695593266@qq.com 9 месяцев назад
Родитель
Сommit
cb91769df0
1 измененных файлов с 43 добавлено и 5 удалено
  1. 43 5
      src/views/productionPlan/components/factoryAdd/index.vue

+ 43 - 5
src/views/productionPlan/components/factoryAdd/index.vue

@@ -118,6 +118,7 @@
                 style="width: 100%"
                 size="mini"
                 v-model="form.reqMoldTime"
+                @change="handleCompleteChange(form)"
                 type="datetime"
                 placeholder="选择日期"
                 value-format="yyyy-MM-dd HH:mm:ss"
@@ -1634,15 +1635,52 @@
         // 校验 是否 大于结束时间  wda
         this.checkEndTimeValid(row);
       },
+
+      handleCompleteChange(row) {
+        const { reqMoldTime } = row;
+
+        if (!row.startTime) {
+          row.reqMoldTime = '';
+          return this.$message.warning('请选择计划开始时间');
+        }
+
+        this.handleComplete(reqMoldTime, row);
+      },
+
+      handleComplete(reqMoldTime, row) {
+        const startTime = new Date(row.startTime).getTime();
+        const completeTime = new Date(reqMoldTime).getTime();
+
+        if (completeTime < startTime) {
+          row.reqMoldTime = ''; // 修正为开始时间
+          return this.$message.warning(
+            '要求完成时间不能早于计划开始时间, 请重新选择要求完成时间'
+          );
+        }
+      },
+
       // 时间校验
       checkEndTimeValid(row) {
         const { startTime: start, endTime: end } = row;
-        // if (!start || !end) return; // 开始/结束时间未填,跳过
-        const startTime = new Date(start); // 开始时间
-        const endTime = new Date(end); // 结束时间
+        this.handleChange(start, end, row);
+        // // if (!start || !end) return; // 开始/结束时间未填,跳过
+        // const startTime = new Date(start); // 开始时间
+        // const endTime = new Date(end); // 结束时间
+        // if (endTime < startTime) {
+        //   row.endTime = new Date(startTime); // 修正为开始时间
+        //   this.$message.info('结束时间不能早于开始时间,已自动设为开始时间');
+        // }
+      },
+
+      handleChange(start, end, row) {
+        const startTime = new Date(start).getTime();
+        const endTime = new Date(end).getTime();
+
         if (endTime < startTime) {
-          row.endTime = new Date(startTime); // 修正为开始时间
-          this.$message.info('结束时间不能早于开始时间,已自动设为开始时间');
+          row.endTime = ''; // 修正为开始时间
+          return this.$message.warning(
+            '计划结束时间不能早于计划开始时间,请重新选择计划结束时间'
+          );
         }
       }
     }