From f670b79094c95d791fc43c8fc8b5858ebf8426dc Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 17 九月 2026 13:50:29 +0800
Subject: [PATCH] 一些向web对齐
---
src/pages/oa/_utils/approveListUtils.js | 48 ++++++++++++++++++++++++++++++++----------------
1 files changed, 32 insertions(+), 16 deletions(-)
diff --git a/src/pages/oa/_utils/approveListUtils.js b/src/pages/oa/_utils/approveListUtils.js
index 538fec9..ad0bae9 100644
--- a/src/pages/oa/_utils/approveListUtils.js
+++ b/src/pages/oa/_utils/approveListUtils.js
@@ -180,6 +180,35 @@
.map(([, node]) => node);
}
+/** 妯℃澘 nodes 鈫� 瀹℃壒浠诲姟锛堜笌 Web mapFlowNodesToTasks 涓�鑷达級 */
+export function mapFlowNodesToTasks(nodes, { instanceId, templateId } = {}) {
+ const list = Array.isArray(nodes) ? nodes : [];
+ const tasks = [];
+ list.forEach((n, i) => {
+ const levelNo = n?.levelNo ?? i + 1;
+ const approveType =
+ String(n?.approveType || "AND").toUpperCase() === "OR" ? "OR" : "AND";
+ (n?.approvers || []).forEach((a, idx) => {
+ if (a?.approverId == null || a.approverId === "") return;
+ const task = {
+ levelNo,
+ approveType,
+ approverId: a.approverId,
+ approverName: a.approverName || "",
+ sortNo: a.sortNo ?? idx + 1,
+ };
+ if (a.id != null) task.id = a.id;
+ if (a.nodeId != null) task.nodeId = a.nodeId;
+ if (a.templateId != null) task.templateId = a.templateId;
+ else if (templateId) task.templateId = templateId;
+ if (instanceId) task.instanceId = instanceId;
+ if (a.status != null) task.status = a.status;
+ tasks.push(task);
+ });
+ });
+ return tasks;
+}
+
/** 缁勮瀹℃壒鎻愪氦 DTO锛堜笌 Web buildApproveInstanceDto 涓�鑷达級 */
export function buildApproveInstanceDto(id, uiResult, comment) {
const opinion = (comment || "").trim();
@@ -190,22 +219,9 @@
};
}
-/** 鏄惁鏈汉鍙戣捣鐨勫鎵� */
-export function isOwnApplication(item, userStore) {
- const uid = userStore?.id;
- if (item?.applicantId != null && uid != null && uid !== "") {
- return String(item.applicantId) === String(uid);
- }
- const loginName = userStore?.nickName || userStore?.name;
- if (loginName && item?.applicantName) {
- return String(item.applicantName).trim() === String(loginName).trim();
- }
- return false;
-}
-
-/** 浠呰繘琛屼腑涓旀湰浜哄彂璧锋椂鍙紪杈� */
-export function canModifyInstance(item, userStore) {
- return item?.status === "PENDING" && isOwnApplication(item, userStore);
+/** 浠呰繘琛屼腑鍙紪杈戯紙涓� Web openEditDialog 鍒ゅ畾涓�鑷达級 */
+export function canModifyInstance(item) {
+ return item?.status === "PENDING";
}
/** 寰呭綋鍓嶇敤鎴峰鎵� */
--
Gitblit v1.9.3