Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
A
audit_project_manager
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
David Yang
audit_project_manager
Commits
6c4d8a36
Commit
6c4d8a36
authored
Sep 01, 2026
by
drigle
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: submit workbench filters explicitly
parent
936e5fa0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
7 deletions
+10
-7
SubjectRecordWorkbench.jsx
src/components/SubjectRecordWorkbench.jsx
+9
-6
project-management.business-flow.md
...es/project_manager_xy/project-management.business-flow.md
+1
-1
No files found.
src/components/SubjectRecordWorkbench.jsx
View file @
6c4d8a36
...
...
@@ -98,6 +98,7 @@ export default function SubjectRecordWorkbench({
const
[
success
,
setSuccess
]
=
useState
(
''
);
const
[
activeViewName
,
setActiveViewName
]
=
useState
(
''
);
const
[
filters
,
setFilters
]
=
useState
({});
const
[
pendingFilters
,
setPendingFilters
]
=
useState
({});
const
[
selectedIds
,
setSelectedIds
]
=
useState
([]);
const
[
page
,
setPage
]
=
useState
(
0
);
const
[
pageSize
,
setPageSize
]
=
useState
(
DEFAULT_PAGE_SIZE
);
...
...
@@ -144,10 +145,8 @@ export default function SubjectRecordWorkbench({
},
[
activeViewName
,
filters
,
page
,
pageSize
,
query
,
subjectName
]);
useEffect
(()
=>
{
const
delay
=
Object
.
values
(
filters
).
some
((
value
)
=>
String
(
value
||
''
).
trim
())
?
300
:
0
;
const
timer
=
window
.
setTimeout
(()
=>
reload
(),
delay
);
return
()
=>
window
.
clearTimeout
(
timer
);
},
[
filters
,
reload
]);
reload
();
},
[
reload
]);
const
handleViewChange
=
useCallback
((
viewName
)
=>
{
if
(
!
viewName
||
viewName
===
activeViewName
)
{
...
...
@@ -156,6 +155,7 @@ export default function SubjectRecordWorkbench({
setActiveViewName
(
viewName
);
setFilters
({});
setPendingFilters
({});
setSelectedIds
([]);
setPage
(
0
);
},
[
activeViewName
]);
...
...
@@ -344,10 +344,13 @@ export default function SubjectRecordWorkbench({
views=
{
gridViews
}
activeViewName=
{
activeView
?.
name
||
''
}
onViewChange=
{
handleViewChange
}
filters=
{
f
ilters
}
filters=
{
pendingF
ilters
}
filterSchema=
{
filterSchema
}
onFiltersChange=
{
(
key
,
value
)
=>
{
setFilters
((
current
)
=>
({
...
current
,
[
key
]:
value
}));
setPendingFilters
((
current
)
=>
({
...
current
,
[
key
]:
value
}));
}
}
onQuery=
{
()
=>
{
setFilters
(
pendingFilters
);
setPage
(
0
);
setSelectedIds
([]);
}
}
...
...
src/pages/project_manager_xy/project-management.business-flow.md
View file @
6c4d8a36
...
...
@@ -27,7 +27,7 @@
## 2. 项目列表与详情
1.
页面通过
`loadSubject`
、
`getSubjectView`
和
`POST /record/query`
读取字段、视图和记录。
2.
表格列、视图限制、排序、选择字段选项和字段分组来自服务端配置;字段分组读取当前 Grid View 的
`settings.groups`
,按配置展示分组表头并支持展开或收起。当前 Grid View 的
`settings.shortTitle === true`
时只隐藏通用
`title`
展示列;
`false`
或未配置时正常展示。
`title`
数据参与排序、详情和保存,详情入口保留在项目名称和固定操作列。筛选清单根据当前 View 的字段配置和类型自动生成,文本类字段使用模糊匹配,选择/布尔字段使用枚举值,日期使用当天范围,数字使用精确值,引用/用户字段使用 ID;所有字段筛选与分页均通过
`POST /record/query`
远程执行,浏览器不再加载全部记录后本地过滤。
2.
表格列、视图限制、排序、选择字段选项和字段分组来自服务端配置;字段分组读取当前 Grid View 的
`settings.groups`
,按配置展示分组表头并支持展开或收起。当前 Grid View 的
`settings.shortTitle === true`
时只隐藏通用
`title`
展示列;
`false`
或未配置时正常展示。
`title`
数据参与排序、详情和保存,详情入口保留在项目名称和固定操作列。筛选清单根据当前 View 的字段配置和类型自动生成,文本类字段使用模糊匹配,选择/布尔字段使用枚举值,日期使用当天范围,数字使用精确值,引用/用户字段使用 ID;
用户填写或选择条件后点击“查询”才提交,
所有字段筛选与分页均通过
`POST /record/query`
远程执行,浏览器不再加载全部记录后本地过滤。
切换 Grid View 时立即切换当前视图、清空跨视图选择并回到第一页,同时重新读取 Subject、视图配置和
`/record/query`
数据;不再额外写死项目状态筛选,当前视图配置包含该字段时才自动生成对应的选择筛选,视图标签仍用于切换服务端配置的视图限制;刷新期间不展示上一次请求的记录行,表格在当前可视区域中心显示加载状态,失败时保留错误反馈并清空不可确认的旧数据。
项目列表表格使用限定高度的内部滚动区域,支持纵向和横向滚动;表头在表格滚动区域内吸顶,分页位于滚动区域外,避免页面因记录行过多持续向下延伸。
View 中兼容历史字段
`metadata.project_finish_time`
时按数据定义显示为“项目完成时间”;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment