From 76e1c8c35fe88d21fe881165dccf89f845d4f1b2 Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期二, 07 四月 2026 15:34:12 +0800
Subject: [PATCH] feat(workOrder): 添加工单汇报的开始时间和结束时间字段

---
 src/views/productionManagement/workOrder/index.vue |   41 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 41 insertions(+), 0 deletions(-)

diff --git a/src/views/productionManagement/workOrder/index.vue b/src/views/productionManagement/workOrder/index.vue
index 583fe2a..ea1132b 100644
--- a/src/views/productionManagement/workOrder/index.vue
+++ b/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,

--
Gitblit v1.9.3