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 {
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name())){
boolean isBranchUnionChairman = AuthUtil.hasRole(RoleConstant.BRANCH_UNION_CHAIRMAN.name());
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());
}
if (!AuthUtil.hasRoleOr(RoleConstant.SYSADMIN.name(), RoleConstant.SCHOOL_UNION_ADMIN.name(), RoleConstant.CLUB_MANAGER.name())) {
cnd.andEX("u.unionid", "=", SecurityUtil.getUnionId());
}
cnd.andEX("u.unionid", EQ_OR_NEQ_OP, activityUserScopePageParam.getUnionId());
cnd.andEX("u.unitid", EQ_OR_NEQ_OP, activityUserScopePageParam.getUnitId());
@@ -21,7 +21,7 @@
</el-select>
</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-content">
<el-tag
@@ -53,7 +53,7 @@
</el-col>
</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-content">
<el-tag
@@ -92,7 +92,7 @@
</el-col>
</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-content">
<el-tag
@@ -130,7 +130,7 @@
</el-col>
</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-content">
<el-row :gutter="20">
@@ -144,7 +144,7 @@
flushUnits()
doSearch()
"
:clearable="is_A06 === true || is_sysadmin === true"
:clearable="is_A06 === true || is_sysadmin === true || is_CLUB_MANAGER === true"
filterable
placeholder="所属工会"
style="width: 100%"
@@ -170,7 +170,7 @@
</el-col>
</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-col class="query-title">活动部门:</el-col>
<el-col class="query-content">
@@ -265,7 +265,7 @@
</el-col>
</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-content">
<el-row type="flex" style="align-items: center">
@@ -317,7 +317,7 @@
align="center"
header-align="center"
show-overflow-tooltip
v-for="column in tableColumns"
v-for="column in visibleTableColumns"
></el-table-column>
</el-table>
<el-row class="el-pagination-container">
@@ -470,6 +470,9 @@ module.exports = {
}
},
computed: {
visibleTableColumns() {
return this.tableColumns.filter(column => column.prop !== "mobile" || this.is_CLUB_MANAGER !== true)
},
is_H10() {
return this.roleData.is_H10
},
@@ -564,7 +567,7 @@ module.exports = {
},
async flushUnits() {
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.activityUnits = await getActivityUnits(this.pageForm.activityUnionId)
} else {
@@ -664,8 +667,8 @@ module.exports = {
async created() {
this.listSession()
await this.getRolesAndUnion()
if (this.is_CLUB_MANAGER === true && (this.is_sysadmin || this.is_A06 || this.is_H02) === false) {
this.clubOptions = await this.$businessTool.listManageClubByRole()
if (this.is_CLUB_MANAGER === true) {
this.clubOptions = await this.$businessTool.listClub()
} else {
this.clubOptions = await this.$businessTool.listCLubByRole()
}
@@ -675,14 +678,11 @@ module.exports = {
} else {
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) {
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.getActivityGroup()
this.personTypeOptions = await this.$businessTool.getDictOptions("USER_PERSON_TYPE")