-
-
- 项目归档
-
-
- 项目过程文件清单,确认签字完成后归档入库
-
-
-
-
- `${record.processName}-${record.materialName}-${record.itemName}`
- }
- pagination={false}
- size="small"
- />
-
-
-
-
- {!readOnly && (
-
- )}
-
-
- )}
);
};
diff --git a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js
index 6f68ff6..e4f0d69 100644
--- a/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js
+++ b/src/pages/Container/SafetyEvalBusiness/ProjectFlow/index.js
@@ -14,6 +14,7 @@ import SurveyContent from "./SurveyContent";
import InternalReviewContent from "./InternalReviewContent";
import TechnicalReviewContent from "./TechnicalReviewContent";
import ControlContent from "./ControlContent";
+import ArchiveContent from "./ArchiveContent";
import "./index.less";
const PROCESS_TABS = [
@@ -35,6 +36,7 @@ const PROCESS_TABS = [
{ key: "internal", index: "6", label: "内部审核", role: "内部审核人" },
{ key: "technical", index: "7", label: "技术审核", role: "技术负责人" },
{ key: "control", index: "8", label: "过程控制", role: "过程控制负责人" },
+ { key: "archive", index: "9", label: "项目归档", role: "档案管理员" },
];
const { router } = tools;
@@ -58,7 +60,7 @@ const parseProjectNode = (data) => {
}
};
-const buildProcessTabs = (projectNode) => {
+const buildProcessTabs = (projectNode, archiveFlag) => {
const nodes = parseProjectNode(projectNode);
const nodeMap = {};
nodes.forEach((n) => {
@@ -95,6 +97,18 @@ const buildProcessTabs = (projectNode) => {
};
}
+ if (idx === 8) {
+ // 项目归档:前8个全部完成才解锁
+ const unlocked = allPrevDone(8);
+ const archived = archiveFlag === 1;
+ return {
+ ...item,
+ state: unlocked ? (archived ? "已完成" : "待办理") : "前置未完成",
+ stateType: unlocked ? (archived ? "success" : "default") : "warning",
+ locked: !unlocked,
+ };
+ }
+
if (node) {
return {
...item,
@@ -114,7 +128,10 @@ const ProjectFlow = (props) => {
const projectId = router.query?.id;
const readOnly = router.query?.readOnly === '1';
- const processTabs = buildProcessTabs(evalProjectDetailData?.projectNode);
+ const processTabs = buildProcessTabs(
+ evalProjectDetailData?.projectNode,
+ evalProjectDetailData?.archiveFlag,
+ );
const handleTabChange = (key) => {
if (key === "report") {
@@ -167,6 +184,9 @@ const ProjectFlow = (props) => {
case "control":
children = ;
break;
+ case "archive":
+ children = ;
+ break;
default:
children = null;
}