This commit is contained in:
JyuHsin
2025-03-28 16:07:48 +08:00
parent 9952b56011
commit 2f99a7f06b
2 changed files with 39 additions and 6 deletions
@@ -72,7 +72,7 @@ public class MemberGroupInfoController {
@Inject
private Vi vi;
private Sql dataSql(PageForm pageForm, String unionId, String unitId, String[] personTypes, String[] userStates, String campus, String sex, Integer memberStatus, String position, String jobTitle) {
private Sql dataSql(PageForm pageForm, String unionId, String unitId, String[] personTypes, String[] userStates, String campus, String sex, Integer memberStatus, String position, String jobTitle, String[] memberJoinTime) {
Sql sql = Sqls.create("SELECT * from user $condition");
CndPlus cnd = CndPlus.create();
@@ -86,6 +86,10 @@ public class MemberGroupInfoController {
if (userStates != null && userStates.length > 0) {
cnd.andExcludeEmpty("userState", "in", userStates);
}
if(memberJoinTime != null && memberJoinTime.length > 0) {
cnd.andEX("memberJoinTime", ">=", memberJoinTime[0]);
cnd.andEX("memberJoinTime", "<=", memberJoinTime[1]);
}
cnd.andExcludeEmpty("campusName", "=", campus);
cnd.andExcludeEmpty("sex", "=", sex);
@@ -141,8 +145,18 @@ public class MemberGroupInfoController {
@At
@ViReturn
@RequiresPermissions("member.group.person")
public Object pageData(PageForm pageForm, String unionId, String unitId, String[] personTypes, String[] userStates, String campus, String sex, Integer memberStatus, String position, String jobTitle) {
return memberService.list(pageForm, dataSql(pageForm, unionId, unitId, personTypes, userStates, campus, sex, memberStatus, position, jobTitle));
public Object pageData(PageForm pageForm,
String unionId,
String unitId,
String[] personTypes,
String[] userStates,
String campus,
String sex,
Integer memberStatus,
String position,
String jobTitle,
String[] memberJoinTime) {
return memberService.list(pageForm, dataSql(pageForm, unionId, unitId, personTypes, userStates, campus, sex, memberStatus, position, jobTitle, memberJoinTime));
}
@At
@@ -156,10 +170,10 @@ public class MemberGroupInfoController {
@At
@Ok("void")
@RequiresPermissions("member.group.person")
public void export(HttpServletResponse response, String props, PageForm pageForm, String unionId, String unitId, String personTypes, String userStates, String campus, String sex, Integer memberStatus, String position, String jobTitle) throws IOException {
public void export(HttpServletResponse response, String props, PageForm pageForm, String unionId, String unitId, String personTypes, String userStates, String campus, String sex, Integer memberStatus, String position, String jobTitle, String memberJoinTime) throws IOException {
ViTool.excelResponse(response, "会员名单.xls");
List<ExportEntityUser> members = memberService.listEntity(dataSql(pageForm, unionId, unitId, Json.fromJsonAsArray(String.class, personTypes), Json.fromJsonAsArray(String.class, userStates), campus, sex, memberStatus, position, jobTitle), ExportEntityUser.class);
List<ExportEntityUser> members = memberService.listEntity(dataSql(pageForm, unionId, unitId, Json.fromJsonAsArray(String.class, personTypes), Json.fromJsonAsArray(String.class, userStates), campus, sex, memberStatus, position, jobTitle, Json.fromJsonAsArray(String.class, memberJoinTime)), ExportEntityUser.class);
/*ExcelExportEntity no = new ExcelExportEntity("序号", "no", 10);
no.setFormat("isAddIndex");
@@ -186,6 +186,22 @@ layout("/layouts/platform.html"){
</el-link>
</el-col>
</el-row>
<el-row type="flex" align="middle" class="query-row">
<el-col class="query-row-title">入会时间:</el-col>
<el-col class="query-row-content">
<el-date-picker
style="width: 100%"
v-model="pageForm.memberJoinTime"
type="daterange"
range-separator="至"
value-format="yyyy-MM-dd"
clearable
start-placeholder="请选择入会开始时间"
end-placeholder="请选择入会结束时间">
</el-date-picker>
</el-col>
</el-row>
</el-card>
@@ -432,6 +448,8 @@ layout("/layouts/platform.html"){
exportMember() {
const personTypes = JSON.stringify(this.pageForm.personTypes)
const userStates = JSON.stringify(this.pageForm.userStates)
const memberJoinTime = JSON.stringify(this.pageForm.memberJoinTime)
console.log(memberJoinTime)
let arr = Object.keys(this.pageForm).map(key => {
return {key: key, value: this.pageForm[key]}
})
@@ -441,7 +459,7 @@ layout("/layouts/platform.html"){
props[v.prop] = v.label
})
location.href = loc() + '/export?userStates=' + userStates + '&personTypes=' + personTypes + '+&props=' + JSON.stringify(props) + "&" + arr.filter(v => v.value).map(v => v.key + "=" + v.value).join("&")
location.href = loc() + '/export?memberJoinTime=' + memberJoinTime + '&userStates=' + userStates + '&personTypes=' + personTypes + '+&props=' + JSON.stringify(props) + "&" + arr.filter(v => v.value).map(v => v.key + "=" + v.value).join("&")
},
doDelete(userId) {
this.$confirm('确定要删除吗?', '提示', {
@@ -500,6 +518,7 @@ layout("/layouts/platform.html"){
const pageForm = clone(this.pageForm)
pageForm.personTypes = JSON.stringify(pageForm.personTypes)
pageForm.userStates = JSON.stringify(pageForm.userStates)
pageForm.memberJoinTime = JSON.stringify(pageForm.memberJoinTime)
$.post(loc() + "/pageData", pageForm, (data) => {
sublime.closeLoadingbar();