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/approvalModuleListSearch.js | 56 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 45 insertions(+), 11 deletions(-)
diff --git a/src/pages/oa/_utils/approvalModuleListSearch.js b/src/pages/oa/_utils/approvalModuleListSearch.js
index a98409a..b8d06a5 100644
--- a/src/pages/oa/_utils/approvalModuleListSearch.js
+++ b/src/pages/oa/_utils/approvalModuleListSearch.js
@@ -1,3 +1,4 @@
+import dayjs from "dayjs";
import {
APPROVAL_MODULE_KEYS,
APPROVAL_MODULE_REGISTRY,
@@ -226,16 +227,27 @@
placeholder: "璇疯緭鍏ュ鎵瑰崟鍙�",
};
-/** 缁勮 approvalInstanceDto 鏌ヨ鐗囨锛堢敵璇蜂汉 + 瀹℃壒鍗曞彿锛� */
+/** 缁勮 approvalInstanceDto 鏌ヨ鐗囨锛堢敵璇蜂汉 + 瀹℃壒鍗曞彿 + 鐘舵�� + 鏃堕棿鑼冨洿锛屼笌 Web 涓�鑷达級 */
export function buildApprovalInstanceSearchDto(searchForm = {}, extraParams = {}) {
const dto = {
...(extraParams && typeof extraParams === "object" ? extraParams : {}),
};
Object.assign(dto, pickApplicantFromSearchForm(searchForm));
Object.assign(dto, pickInstanceNoFromSearchForm(searchForm));
+
+ if (searchForm?.status) {
+ dto.status = searchForm.status;
+ }
+
+ const range = searchForm?.createTimeRange;
+ if (Array.isArray(range) && range[0]) {
+ dto.createTimeStart = range[0] + (range[0].includes(":") ? "" : " 00:00:00");
+ }
+ if (Array.isArray(range) && range[1]) {
+ dto.createTimeEnd = range[1] + (range[1].includes(":") ? "" : " 23:59:59");
+ }
+
delete dto.createTime;
- delete dto.createTimeStart;
- delete dto.createTimeEnd;
return dto;
}
@@ -306,7 +318,12 @@
if ((sf.instanceNo || "").trim()) return true;
if ((sf.applicantKeyword || "").trim()) return true;
if ((sf.applicantName || "").trim()) return true;
- return sf.applicantId != null && sf.applicantId !== "";
+ if (sf.applicantId != null && sf.applicantId !== "") return true;
+ if (sf.status) return true;
+ if (Array.isArray(sf.createTimeRange) && sf.createTimeRange.length === 2) {
+ return true;
+ }
+ return false;
}
function matchApplicantKeyword(row, keyword) {
@@ -372,18 +389,35 @@
});
}
-/** 鎸夌敵璇蜂汉銆佸鎵瑰崟鍙峰仛鍓嶇鍏滃簳绛涢�� */
+/** 鎸夌敵璇蜂汉銆佸鎵瑰崟鍙枫�佺姸鎬併�佹椂闂磋寖鍥村仛鍓嶇鍏滃簳绛涢�� */
export function filterRowsByModuleSearch(moduleKey, rows, searchForm = {}) {
const sf = searchForm || {};
const list = Array.isArray(rows) ? rows : [];
if (!hasActiveModuleSearch(moduleKey, sf)) return list;
- return list.filter(
- row =>
- matchInstanceNo(row, sf.instanceNo) &&
- matchApplicantId(row, sf.applicantId) &&
- matchApplicantKeyword(row, sf.applicantKeyword || sf.applicantName)
- );
+ return list.filter(row => {
+ if (!matchInstanceNo(row, sf.instanceNo)) return false;
+ if (!matchApplicantId(row, sf.applicantId)) return false;
+ if (!matchApplicantKeyword(row, sf.applicantKeyword || sf.applicantName)) {
+ return false;
+ }
+ if (
+ sf.status &&
+ String(row.statusRaw || row.status).toUpperCase() !== String(sf.status).toUpperCase()
+ ) {
+ return false;
+ }
+ if (Array.isArray(sf.createTimeRange) && sf.createTimeRange.length === 2) {
+ const rowTime = row.createTime || row.applyTime;
+ if (rowTime) {
+ const t = dayjs(rowTime);
+ const start = dayjs(sf.createTimeRange[0] + " 00:00:00");
+ const end = dayjs(sf.createTimeRange[1] + " 23:59:59");
+ if (t.isBefore(start) || t.isAfter(end)) return false;
+ }
+ }
+ return true;
+ });
}
function prependInstanceNoField(fields, moduleKey) {
--
Gitblit v1.9.3