This commit is contained in:
2026-09-03 13:54:58 +08:00
parent d5d804df2f
commit 3aa5c3406a
3 changed files with 23 additions and 5 deletions
@@ -193,6 +193,10 @@ public class MemberInfoServiceImpl extends BaseServiceImpl<Sys_user> implements
// 个人信息维护只允许非系统管理员查看本人,避免通过查询条件越权查看其他人员。
cnd.and("u.id", "=", SecurityUtil.getUserId());
}
// 会员查询条件统一作用于列表和导出:1 表示会员,0 表示非会员。
if (pageForm.getMemberStatus() != null) {
cnd.and("u.member", "=", pageForm.getMemberStatus() == 1);
}
sql.setCondition(cnd);
return sql;
}
@@ -545,10 +549,10 @@ public class MemberInfoServiceImpl extends BaseServiceImpl<Sys_user> implements
public void exportMember(MemberInfoPageForm pageForm, HttpServletResponse response) {
Sql sql = getSql(pageForm);
List<NutMap> list = listMap(sql);
for (NutMap row : list) {
row.put("mobile", DesensitizedUtil.mobilePhone(row.getString("mobile")));
row.put("idCard",DesensitizedUtil.idCardNum(row.getString("idCard"), 3, 4));
}
// for (NutMap row : list) {
// row.put("mobile", DesensitizedUtil.mobilePhone(row.getString("mobile")));
// row.put("idCard",DesensitizedUtil.idCardNum(row.getString("idCard"), 3, 4));
// }
Workbook workbook = null;
if (Lang.isNotEmpty(pageForm.getColumns())) {
@@ -45,12 +45,22 @@ const COMMON_QUERY = {
<dict-select v-model="pageForm.preparedBys" placeholder="请选择编制类别" @change="doSearch"
code="USER_PREPARED_BY_TYPE" multiple collapse-tags></dict-select>
</search-item>
<search-item label="会员查询" v-if="show_member_query">
<el-select v-model="pageForm.memberStatus" clearable placeholder="请选择会员状态" @change="doSearch" style="width: 100%">
<el-option label="会员" :value="1"></el-option>
<el-option label="非会员" :value="0"></el-option>
</el-select>
</search-item>
</search>
`,
props: {
query_disable: {
type: Boolean,
default: false
},
show_member_query: {
type: Boolean,
default: false
}
},
mixins: [initTableMixins],
@@ -67,6 +77,8 @@ const COMMON_QUERY = {
userStates: [],
personTypes: [],
preparedBys: [],
// 会员查询仅在指定页面开启,空值表示不限制会员状态。
memberStatus: ''
}
}
},
@@ -81,6 +93,8 @@ const COMMON_QUERY = {
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
// 会员查询清空时传 null,避免后台 Integer 参数收到空字符串。
pageForm.memberStatus = this.pageForm.memberStatus === '' ? null : this.pageForm.memberStatus
this.$emit('search', pageForm)
},
async initData(){
@@ -5,7 +5,7 @@ layout("/layouts/platform.html"){
<guava ref="guava">
<template>
<el-card shadow="never">
<common-query ref="commonQueryRef" @search="search"></common-query>
<common-query ref="commonQueryRef" @search="search" show_member_query></common-query>
</el-card>
<el-card shadow="never" class="mt10">