diff --git a/furniture-3d-system/src/app/intake/non-integrated/NonIntegratedDetailClient.tsx b/furniture-3d-system/src/app/intake/non-integrated/NonIntegratedDetailClient.tsx
index 22e549d3..f16d24b7 100644
--- a/furniture-3d-system/src/app/intake/non-integrated/NonIntegratedDetailClient.tsx
+++ b/furniture-3d-system/src/app/intake/non-integrated/NonIntegratedDetailClient.tsx
@@ -17,7 +17,7 @@ import {
useRef,
useState,
} from "react";
-import { ArrowLeft, Ban, CheckCircle2, Search } from "lucide-react";
+import { ArrowLeft, Ban, Search } from "lucide-react";
import CameraScannerModal from "@/components/mobile/CameraScannerModal";
import { ModelPreviewPanel } from "@/components/platform/ModelPreviewPanel";
import Button from "@/components/ui/Button";
@@ -1182,8 +1182,6 @@ const PROJECT_STATUS_COPY: Record<
saveMessage: "立项已通过,已展开产品资料、样品评审、基础信息和后续节点",
},
};
-const WORKFLOW_DATE_TIME_ZONE = "Asia/Shanghai";
-
function getAutoProductYear(createdAt?: string) {
const parsedDate = createdAt ? new Date(createdAt) : null;
const sourceDate =
@@ -1194,27 +1192,6 @@ function getAutoProductYear(createdAt?: string) {
return String(sourceDate.getFullYear());
}
-function formatWorkflowDateTime(value: string) {
- const parsedDate = new Date(value);
- if (Number.isNaN(parsedDate.getTime())) return value;
-
- const parts = new Intl.DateTimeFormat("zh-CN", {
- timeZone: WORKFLOW_DATE_TIME_ZONE,
- year: "numeric",
- month: "2-digit",
- day: "2-digit",
- hour: "2-digit",
- minute: "2-digit",
- second: "2-digit",
- hourCycle: "h23",
- }).formatToParts(parsedDate);
- const partMap = Object.fromEntries(
- parts.map((part) => [part.type, part.value]),
- );
-
- return `${partMap.year}-${partMap.month}-${partMap.day} ${partMap.hour}:${partMap.minute}:${partMap.second}`;
-}
-
const UPLOAD_CATEGORY_OPTIONS: UploadCategoryKey[] = [
"未分类",
@@ -8159,21 +8136,6 @@ export default function NonIntegratedDetailClient({
PRODUCT_PRICING_WORKSPACE_CATEGORY,
displayedProductPricingRowsComplete,
);
- const activeWorkflowNodeCategory: WorkflowNodeCategory =
- documentWorkspaceView === "detail"
- ? NON_INTEGRATED_BASIC_INFO_WORKSPACE_CATEGORY
- : activeDocumentWorkspaceCategory;
- const activeWorkflowNodeHasContent =
- activeWorkflowNodeCategory === NON_INTEGRATED_BASIC_INFO_WORKSPACE_CATEGORY
- ? basicInfoHasContent
- : activeDocumentWorkspaceHasContent;
- const activeWorkflowNodeApprovedAt =
- documentWorkspaceApprovedAt[activeWorkflowNodeCategory] ?? "";
- const activeWorkflowNodeIsApproved = isWorkflowNodeConfirmed(
- activeWorkflowNodeCategory,
- activeWorkflowNodeHasContent,
- );
- const activeWorkflowNodeNeedsApproval = !activeWorkflowNodeIsApproved;
const basicInfoIsApproved = isWorkflowNodeConfirmed(
NON_INTEGRATED_BASIC_INFO_WORKSPACE_CATEGORY,
basicInfoHasContent,
@@ -11505,7 +11467,7 @@ export default function NonIntegratedDetailClient({
);
if (!hasSyncedLedgerRecord) {
- setSaveMessage("请先点击顶部未确认,确认专利申请后再查看明细");
+ setSaveMessage("请先确认专利申请后再查看明细");
setSaveMessageType("error");
return;
}
@@ -11635,8 +11597,34 @@ export default function NonIntegratedDetailClient({
);
}
- async function handleApproveCurrentWorkflowNode() {
- await handleConfirmWorkflowNode(activeWorkflowNodeCategory);
+ function renderBasicInfoConfirmationAction() {
+ if (mode === "create") return null;
+
+ if (basicInfoIsApproved) {
+ return (
+
+ 已确认
+
+ );
+ }
+
+ return (
+
- 开品参考填写 -
-- 开品前先记录参考图、品牌方向、类目、竞品、开品理由和设计卖点。立项通过后再补产品资料、样品评审和完整基础信息。 -
++ 开品参考填写 +
++ 开品前先记录参考图、品牌方向、类目、竞品、开品理由和设计卖点。立项通过后再补产品资料、样品评审和完整基础信息。 +
+