fix: 设置 协会负责人 筛选范围全部-同时去掉联系电话列显示

This commit is contained in:
2026-09-11 16:40:35 +08:00
parent 89d3475401
commit a3cac78d1d
2 changed files with 17 additions and 33 deletions
@@ -383,24 +383,8 @@ public class ActivityBasicScopeController {
try { try {
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())){ if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name(), RoleConstant.CLUB_MANAGER.name())) {
boolean isBranchUnionChairman = AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name()); cnd.andEX("u.unionid", "=", SecurityUtil.getUnionId());
boolean isClubPresident = AuthUtil.hasRole(RoleConstant.CLUB_MANAGER.name());
List<String> manageClubIdList = sysClubService.getMyManageClub().stream().map(SysClub::getId).toList();
if (isBranchUnionChairman && isClubPresident) {
// Users with both roles can search their union users and their managed club members.
SqlExpressionGroup scopeGroup = new SqlExpressionGroup();
scopeGroup.or("u.unionid", "=", SecurityUtil.getUnionId());
if (Lang.isNotEmpty(manageClubIdList)) {
scopeGroup.or("clubuser.clubid", "in", manageClubIdList);
}
cnd.and(scopeGroup);
} else if (isClubPresident) {
// Club managers can only search members from clubs they manage.
cnd.and("clubuser.clubid", "in", Lang.isNotEmpty(manageClubIdList) ? manageClubIdList : List.of("__EMPTY_CLUB_ID__"));
} else {
cnd.andEX("u.unionid", "=", SecurityUtil.getUnionId());
}
} }
cnd.andEX("u.unionid", EQ_OR_NEQ_OP, activityUserScopePageParam.getUnionId()); cnd.andEX("u.unionid", EQ_OR_NEQ_OP, activityUserScopePageParam.getUnionId());
cnd.andEX("u.unitid", EQ_OR_NEQ_OP, activityUserScopePageParam.getUnitId()); cnd.andEX("u.unitid", EQ_OR_NEQ_OP, activityUserScopePageParam.getUnitId());
@@ -21,7 +21,7 @@
</el-select> </el-select>
</el-row> </el-row>
<el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H02 === true"> <el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H02 === true || is_CLUB_MANAGER === true">
<el-col class="query-title hidden-xs-only">会员类型:</el-col> <el-col class="query-title hidden-xs-only">会员类型:</el-col>
<el-col class="query-content"> <el-col class="query-content">
<el-tag <el-tag
@@ -53,7 +53,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true"> <el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true || is_CLUB_MANAGER === true">
<el-col class="query-title">教职工类别:</el-col> <el-col class="query-title">教职工类别:</el-col>
<el-col class="query-content"> <el-col class="query-content">
<el-tag <el-tag
@@ -92,7 +92,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true"> <el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true || is_CLUB_MANAGER === true">
<el-col class="query-title">在职状态:</el-col> <el-col class="query-title">在职状态:</el-col>
<el-col class="query-content"> <el-col class="query-content">
<el-tag <el-tag
@@ -130,7 +130,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true"> <el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true || is_CLUB_MANAGER === true">
<el-col class="query-title">部门查询:</el-col> <el-col class="query-title">部门查询:</el-col>
<el-col class="query-content"> <el-col class="query-content">
<el-row :gutter="20"> <el-row :gutter="20">
@@ -144,7 +144,7 @@
flushUnits() flushUnits()
doSearch() doSearch()
" "
:clearable="is_A06 === true || is_sysadmin === true" :clearable="is_A06 === true || is_sysadmin === true || is_CLUB_MANAGER === true"
filterable filterable
placeholder="所属工会" placeholder="所属工会"
style="width: 100%" style="width: 100%"
@@ -170,7 +170,7 @@
</el-col> </el-col>
</el-row> </el-row>
<template v-if="is_A06 === true || is_sysadmin === true"> <template v-if="is_A06 === true || is_sysadmin === true || is_CLUB_MANAGER === true">
<!--<el-row class="query-row"> <!--<el-row class="query-row">
<el-col class="query-title">活动部门:</el-col> <el-col class="query-title">活动部门:</el-col>
<el-col class="query-content"> <el-col class="query-content">
@@ -265,7 +265,7 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true"> <el-row class="query-row" v-if="is_A06 === true || is_sysadmin === true || is_H04 === true || is_CLUB_MANAGER === true">
<el-col class="query-title">年龄范围:</el-col> <el-col class="query-title">年龄范围:</el-col>
<el-col class="query-content"> <el-col class="query-content">
<el-row type="flex" style="align-items: center"> <el-row type="flex" style="align-items: center">
@@ -317,7 +317,7 @@
align="center" align="center"
header-align="center" header-align="center"
show-overflow-tooltip show-overflow-tooltip
v-for="column in tableColumns" v-for="column in visibleTableColumns"
></el-table-column> ></el-table-column>
</el-table> </el-table>
<el-row class="el-pagination-container"> <el-row class="el-pagination-container">
@@ -470,6 +470,9 @@ module.exports = {
} }
}, },
computed: { computed: {
visibleTableColumns() {
return this.tableColumns.filter(column => column.prop !== "mobile" || this.is_CLUB_MANAGER !== true)
},
is_H10() { is_H10() {
return this.roleData.is_H10 return this.roleData.is_H10
}, },
@@ -564,7 +567,7 @@ module.exports = {
}, },
async flushUnits() { async flushUnits() {
this.$set(this.pageForm, "unitId", "") this.$set(this.pageForm, "unitId", "")
if (this.is_sysadmin || this.is_A06) { if (this.is_sysadmin || this.is_A06 || this.is_CLUB_MANAGER) {
this.units = await this.$businessTool.listUnit(this.pageForm.unionId) this.units = await this.$businessTool.listUnit(this.pageForm.unionId)
// this.activityUnits = await getActivityUnits(this.pageForm.activityUnionId) // this.activityUnits = await getActivityUnits(this.pageForm.activityUnionId)
} else { } else {
@@ -664,8 +667,8 @@ module.exports = {
async created() { async created() {
this.listSession() this.listSession()
await this.getRolesAndUnion() await this.getRolesAndUnion()
if (this.is_CLUB_MANAGER === true && (this.is_sysadmin || this.is_A06 || this.is_H02) === false) { if (this.is_CLUB_MANAGER === true) {
this.clubOptions = await this.$businessTool.listManageClubByRole() this.clubOptions = await this.$businessTool.listClub()
} else { } else {
this.clubOptions = await this.$businessTool.listCLubByRole() this.clubOptions = await this.$businessTool.listCLubByRole()
} }
@@ -675,14 +678,11 @@ module.exports = {
} else { } else {
this.unions = await this.$businessTool.listUnion() this.unions = await this.$businessTool.listUnion()
} }
if (this.is_H04 === false && this.is_H02 === true) { if (this.is_H04 === false && this.is_H02 === true && this.is_CLUB_MANAGER !== true) {
if (this.clubOptions.length > 0) { if (this.clubOptions.length > 0) {
this.$set(this.pageForm, "clubId", this.clubOptions[0].id) this.$set(this.pageForm, "clubId", this.clubOptions[0].id)
} }
} }
if (this.is_H04 === false && this.is_H02 === false && this.is_CLUB_MANAGER === true && this.clubOptions.length === 1) {
this.$set(this.pageForm, "clubId", this.clubOptions[0].id)
}
await this.flushUnits() await this.flushUnits()
await this.getActivityGroup() await this.getActivityGroup()
this.personTypeOptions = await this.$businessTool.getDictOptions("USER_PERSON_TYPE") this.personTypeOptions = await this.$businessTool.getDictOptions("USER_PERSON_TYPE")