From 1daa22ed05c77e4a8c3069124a1849d5d6504f69 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期四, 30 七月 2026 17:57:00 +0800
Subject: [PATCH] 修改报工审批数据显示
---
src/views/officeProcessAutomation/ApproveManage/approve-list/approveListConstants.js | 41 ++++++++++++++++++++++++++++++++++++++++-
1 files changed, 40 insertions(+), 1 deletions(-)
diff --git a/src/views/officeProcessAutomation/ApproveManage/approve-list/approveListConstants.js b/src/views/officeProcessAutomation/ApproveManage/approve-list/approveListConstants.js
index 9b29ff4..78cd8b4 100644
--- a/src/views/officeProcessAutomation/ApproveManage/approve-list/approveListConstants.js
+++ b/src/views/officeProcessAutomation/ApproveManage/approve-list/approveListConstants.js
@@ -560,7 +560,46 @@
/** 鍒楄〃琛� 鈫� 缂栬緫琛ㄥ崟锛堜粎鐢ㄨ鏁版嵁鍥炴樉锛� */
export function buildEditFormFromInstanceRow(row) {
- const { fields, formPayload, templateSnapshot } = resolveInstanceFormFields(row);
+ let { fields, formPayload, templateSnapshot } = resolveInstanceFormFields(row);
+ if (Number(row?.businessType) === 19) {
+ const editableKeys = new Set(["finishedNum", "scrapQty", "reportType"]);
+ const lockedKeys = new Set(["productNo", "userName", "teamInfo", "workOrderNo", "schedulingNum", "pendingNum", "workHour", "auditStatus", "auditRemark"]);
+ const reportTypeOptions = [
+ { label: "鍚堟牸", value: 0 },
+ { label: "杞诲井杩斿伐", value: 1 },
+ { label: "涓ラ噸杩斿伐", value: 2 },
+ { label: "鎶ュ簾", value: 3 },
+ ];
+ fields = (fields || [])
+ .filter(field => String(field?.key || "") !== "schedulingNum")
+ .map(field => ({
+ ...field,
+ label: String(field?.key || "") === "pendingNum" ? `${field.label}锛堝彧璇伙級` : field.label,
+ options: String(field?.key || "") === "reportType" ? (field.options?.length ? field.options : reportTypeOptions) : field.options,
+ disabled: lockedKeys.has(String(field?.key || "")) ? true : !editableKeys.has(String(field?.key || "")),
+ }));
+ templateSnapshot = {
+ ...templateSnapshot,
+ fields,
+ };
+ formPayload = {
+ ...formPayload,
+ };
+ if (formPayload.pendingNum == null) {
+ const schedulingNum = Number(formPayload.schedulingNum ?? row?.schedulingNum ?? row?.planQuantity ?? 0);
+ const finishedNum = Number(formPayload.finishedNum ?? formPayload.quantity ?? row?.finishedNum ?? row?.quantity ?? 0);
+ formPayload.pendingNum = Math.max(schedulingNum - finishedNum, 0);
+ }
+ if (formPayload.finishedNum == null && formPayload.quantity != null) {
+ formPayload.finishedNum = formPayload.quantity;
+ }
+ if (formPayload.scrapQty == null && row?.scrapQty != null) {
+ formPayload.scrapQty = row.scrapQty;
+ }
+ if (formPayload.reportType != null && !Number.isNaN(Number(formPayload.reportType))) {
+ formPayload.reportType = Number(formPayload.reportType);
+ }
+ }
const normalized = normalizeFlowNodes(row?.flowNodes?.length ? row.flowNodes : mapTasksToFlowNodes(row?.tasks));
const flowNodes = normalized.length ? JSON.parse(JSON.stringify(normalized)) : [createEmptyNode(1)];
--
Gitblit v1.9.3