buhuazhen
8 小时以前 76e1c8c35fe88d21fe881165dccf89f845d4f1b2
feat(workOrder): 添加工单汇报的开始时间和结束时间字段

- 在汇报表单中增加开始时间和结束时间选择器,并设置默认值为当前时间
- 添加表单验证规则,要求两个时间字段必填且开始时间必须早于结束时间
- 在提交前进行时间有效性检查,防止无效时间数据提交
已修改1个文件
41 ■■■■■ 文件已修改
src/views/productionManagement/workOrder/index.vue 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/workOrder/index.vue
@@ -209,6 +209,26 @@
                       :value="user.userId" />
          </el-select>
        </el-form-item>
        <el-form-item label="开始时间"
                      prop="startTime">
          <el-date-picker v-model="reportForm.startTime"
                          type="datetime"
                          value-format="YYYY-MM-DD HH:mm:ss"
                          format="YYYY-MM-DD HH:mm:ss"
                          style="width: 300px"
                          placeholder="请选择开始时间"
                          clearable />
        </el-form-item>
        <el-form-item label="结束时间"
                      prop="endTime">
          <el-date-picker v-model="reportForm.endTime"
                          type="datetime"
                          value-format="YYYY-MM-DD HH:mm:ss"
                          format="YYYY-MM-DD HH:mm:ss"
                          style="width: 300px"
                          placeholder="请选择结束时间"
                          clearable />
        </el-form-item>
        <el-form-item label="审核人" prop="auditUserId">
          <el-select v-model="reportForm.auditUserId"
                     style="width: 300px"
@@ -424,6 +444,8 @@
    planQuantity: 0,
    quantity: null,
    scrapQty: null,
    startTime: "",
    endTime: "",
    userName: "",
    workOrderId: "",
    reportWork: "",
@@ -522,6 +544,8 @@
  const reportFormRules = {
    quantity: [{ required: true, validator: validateQuantity, trigger: "blur" }],
    scrapQty: [{ validator: validateScrapQty, trigger: "blur" }],
    startTime: [{ required: true, message: "请选择开始时间", trigger: "change" }],
    endTime: [{ required: true, message: "请选择结束时间", trigger: "change" }],
    auditUserId: [{ required: true, message: "请选择审核人", trigger: "change" }],
  };
@@ -716,6 +740,7 @@
  };
  const showReportDialog = row => {
    const nowTime = dayjs().format("YYYY-MM-DD HH:mm:ss");
    currentReportRowData.value = row;
    reportForm.planQuantity = row.planQuantity - row.completeQuantity;
    reportForm.quantity =
@@ -724,6 +749,8 @@
    reportForm.workOrderId = row.id;
    reportForm.reportWork = row.reportWork;
    reportForm.productMainId = row.productMainId;
    reportForm.startTime = nowTime;
    reportForm.endTime = nowTime;
    reportForm.scrapQty =
      row.scrapQty !== undefined && row.scrapQty !== null ? row.scrapQty : null;
    nextTick(() => {
@@ -804,6 +831,20 @@
        return;
      }
      if (!reportForm.startTime || !reportForm.endTime) {
        ElMessageBox.alert("开始时间和结束时间不能为空", "提示", {
          confirmButtonText: "确定",
        });
        return;
      }
      if (dayjs(reportForm.startTime).isSame(dayjs(reportForm.endTime)) || dayjs(reportForm.startTime).isAfter(dayjs(reportForm.endTime))) {
        ElMessageBox.alert("开始时间必须小于结束时间", "提示", {
          confirmButtonText: "确定",
        });
        return;
      }
      const submitData = {
        ...reportForm,
        quantity: quantity,