This commit is contained in:
hongqiwei
2026-04-22 16:40:25 +08:00
parent 29ac954dd8
commit e93d91d2bc
2 changed files with 28 additions and 22 deletions
@@ -172,25 +172,35 @@ public class TeacherCongressInstitutionController {
@SaCheckPermission("tc.institution")
public Result userPageData(@Valid PageForm pageForm, String institutionId, String sessionId) {
Sql sql = Sqls.create("""
SELECT
t1.id,
t1.userId,
u.username,
u.loginname,
u.sex,
u.mobile,
u.unitName,
t1.identity
FROM
teacher_congress_institution_user t1
LEFT JOIN vw_user u ON u.id = t1.userId
$condition
ORDER BY FIELD(t1.identity,'主任','副主任','成员')
""");
SELECT
t1.id,
t1.userId,
u.username,
u.loginname,
u.sex,
u.mobile,
u.unitName,
t1.identity
FROM
-- 关键:这里先按 userId 去重,每个用户只保留一条
(SELECT * FROM teacher_congress_institution_user
WHERE institutionId = @institutionId
AND sessionId = @sessionId
GROUP BY userId) t1
LEFT JOIN vw_user u ON u.id = t1.userId
$condition
ORDER BY FIELD(t1.identity,'主任','副主任','成员'), u.loginname ASC
""");
// 传入参数给子查询
sql.setParam("institutionId", institutionId);
sql.setParam("sessionId", sessionId);
Cnd cnd = Cnd.NEW();
cnd.and("t1.institutionId", "=", institutionId);
cnd.and("t1.sessionId", "=", sessionId);
cnd.asc("u.loginname");
// 外层不再需要这两个条件,子查询已经过滤
// cnd.and("t1.institutionId", "=", institutionId);
// cnd.and("t1.sessionId", "=", sessionId);
if (StrUtil.isNotBlank(pageForm.getSearchKeyword())) {
SqlExpressionGroup seg = new SqlExpressionGroup();
seg.orLike("u.username", pageForm.getSearchKeyword());
@@ -81,10 +81,6 @@ const USER_TABLE_COMPONENT = {
sessionOptions: []
}
},
// created() {
// // 名单场景下默认多展示一些数据,减少“人员明明存在但首页看不到”的情况。
// this.pageForm.pageSize = 20
// },
methods: {
pageData() {
this.$axios