From 2e77330d87341624c88301562fd137b58f9a101a Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 25 十二月 2025 10:57:35 +0800
Subject: [PATCH] 1.海川开心-录入日期都默认当天,封装公用组件和方法

---
 src/views/productionManagement/operationScheduling/components/formDia.vue |   27 ++++++++++++++++++++-------
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/src/views/productionManagement/operationScheduling/components/formDia.vue b/src/views/productionManagement/operationScheduling/components/formDia.vue
index 048ddce..4733a6e 100644
--- a/src/views/productionManagement/operationScheduling/components/formDia.vue
+++ b/src/views/productionManagement/operationScheduling/components/formDia.vue
@@ -127,6 +127,7 @@
 import {userListNoPageByTenantId} from "@/api/system/user.js";
 import {processScheduling} from "@/api/productionManagement/operationScheduling.js";
 const { proxy } = getCurrentInstance()
+import dayjs from "dayjs";
 const { work_step } = proxy.useDict("work_step")
 const emit = defineEmits(['close'])
 
@@ -164,22 +165,29 @@
 		if (sunqianUser) {
 			sunqianUserId.value = sunqianUser.userId;
 		}
-		// 鍦ㄧ敤鎴峰垪琛ㄥ姞杞藉畬鎴愬悗鍒涘缓琛屾暟鎹�
-		tableData.value = [createRow()];
+		// 鍦ㄧ敤鎴峰垪琛ㄥ姞杞藉畬鎴愬悗鍒涘缓琛屾暟鎹紝骞跺皢浜х嚎鏁版嵁甯﹀叆
+		tableData.value = [createRow(row, { defaultNum: pendingNum.value })];
 	});
 }
 
-const createRow = () => ({
+const getToday = () => dayjs().format("YYYY-MM-DD");
+const getRemaining = () => {
+	const used = tableData.value.reduce((sum, row) => sum + Number(row.schedulingNum || 0), 0);
+	const remain = Number(pendingNum.value || 0) - used;
+	return remain > 0 ? remain : 0;
+};
+
+const createRow = (row, options = {}) => ({
 	id: idFromRow.value,
 	process: '鍖呰',
-	schedulingDate: '',
-	schedulingNum: null,
+	schedulingDate: getToday(), // 榛樿褰撳ぉ
+	schedulingNum: options.defaultNum ?? null, // 榛樿鐢ㄥ墿浣欐暟閲忓~婊�
 	schedulingUserId: sunqianUserId.value, // 榛樿璁剧疆涓哄瓩鍊╃殑鐢ㄦ埛ID
 	workHours: null,
 	unit: unitFromRow.value,
 	remark: '',
 	type: specificationModelFromRow.value,
-	productionLine: '', // 浜х嚎瀛楁
+	productionLine: row?.productionLine ?? '', // 浠庤鏁版嵁涓幏鍙栦骇绾夸俊鎭�
 });
 
 const submitForm = () => {
@@ -239,7 +247,12 @@
 });
 
 const addRow = () => {
-  tableData.value.push(createRow());
+	const remaining = getRemaining();
+	if (remaining <= 0) {
+		proxy.$modal.msgWarning('宸叉帓婊★紝鏃犲墿浣欐暟閲�');
+		return;
+	}
+  tableData.value.push(createRow({}, { defaultNum: remaining }));
 };
 const removeRow = (index) => {
   tableData.value.splice(index, 1);

--
Gitblit v1.9.3