commit
This commit is contained in:
@@ -136,6 +136,6 @@ public class SysDataUnitPullServiceImpl extends BaseServiceImpl<Sys_unit> implem
|
|||||||
}
|
}
|
||||||
log.info("本次拉取单位数据,新增{}条,更新{}条", insertList.size(), updateList.size());
|
log.info("本次拉取单位数据,新增{}条,更新{}条", insertList.size(), updateList.size());
|
||||||
dao().insert(insertList);
|
dao().insert(insertList);
|
||||||
dao().update(updateList);
|
dao().updateIgnoreNull(updateList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+38
-14
@@ -5,6 +5,7 @@ import cn.hutool.core.collection.ListUtil;
|
|||||||
import cn.hutool.core.date.DateField;
|
import cn.hutool.core.date.DateField;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.HtmlUtil;
|
import cn.hutool.http.HtmlUtil;
|
||||||
import com.budwk.app.base.constant.RoleConstant;
|
import com.budwk.app.base.constant.RoleConstant;
|
||||||
import com.budwk.app.base.event.role.RoleEventMsg;
|
import com.budwk.app.base.event.role.RoleEventMsg;
|
||||||
@@ -139,6 +140,31 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
return memberPreparedByTypes.contains(preparedBy);
|
return memberPreparedByTypes.contains(preparedBy);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查用户是否符合会员条件
|
||||||
|
*
|
||||||
|
* @param employmentType 用人方式
|
||||||
|
* @return 是否符合会员条件
|
||||||
|
*/
|
||||||
|
private boolean checkMembershipEligibility(String employmentType, String userState) {
|
||||||
|
if (StrUtil.isBlank(employmentType)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!"在岗".equals(userState)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Set<String> memberEmploymentTypes = new HashSet<>(Arrays.asList(
|
||||||
|
"事业编制",
|
||||||
|
"劳动合同制",
|
||||||
|
"劳务派遣",
|
||||||
|
"人事代理"
|
||||||
|
));
|
||||||
|
|
||||||
|
return memberEmploymentTypes.contains(employmentType);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 全量更新用户数据
|
* 全量更新用户数据
|
||||||
*
|
*
|
||||||
@@ -181,36 +207,34 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
List<String> addMemberUserIds = Collections.synchronizedList(new ArrayList<>());
|
List<String> addMemberUserIds = Collections.synchronizedList(new ArrayList<>());
|
||||||
List<String> removeMemberUserIds = Collections.synchronizedList(new ArrayList<>());
|
List<String> removeMemberUserIds = Collections.synchronizedList(new ArrayList<>());
|
||||||
|
|
||||||
// 处理每条数据
|
|
||||||
for (Sys_user_source source : sources) {
|
for (Sys_user_source source : sources) {
|
||||||
Sys_user user = userMap.get(source.getLoginname());
|
Sys_user user = userMap.get(source.getLoginname());
|
||||||
source.setMember(null);
|
|
||||||
|
|
||||||
// 创建用户对象
|
// 创建用户对象
|
||||||
Sys_user u = new Sys_user();
|
Sys_user u = new Sys_user();
|
||||||
BeanUtils.copyProperties(source, u);
|
BeanUtils.copyProperties(source, u);
|
||||||
|
|
||||||
|
// 根据用人方式判断是否为会员
|
||||||
|
boolean isMember = checkMembershipEligibility(source.getEmploymentType(), source.getUserState());
|
||||||
|
u.setMember(isMember);
|
||||||
|
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
// 新增用户,初始化数据
|
// 新增用户,初始化数据
|
||||||
String salt = R.UU32();
|
String salt = R.UU32();
|
||||||
u.setSalt(salt);
|
u.setSalt(salt);
|
||||||
u.setPassword(PwdUtil.getPassword(PwdUtil.generate(12), salt));
|
u.setPassword(PwdUtil.getPassword(PwdUtil.generate(12), salt));
|
||||||
|
|
||||||
/* if (u.getMember()) {
|
|
||||||
addMemberUserIds.add(u.getId());
|
|
||||||
}*/
|
|
||||||
needInitUserList.add(u);
|
needInitUserList.add(u);
|
||||||
} else {
|
} else {
|
||||||
// 修改现有用户
|
// 修改现有用户
|
||||||
u.setId(user.getId());
|
u.setId(user.getId());
|
||||||
|
|
||||||
// 更新会员状态
|
// 检测会员状态变更
|
||||||
boolean currentIsMember = user.getMember() != null && user.getMember();
|
boolean currentIsMember = user.getMember() != null && user.getMember();
|
||||||
|
if (isMember && !currentIsMember) {
|
||||||
if (!currentIsMember) {
|
addMemberUserIds.add(user.getId());
|
||||||
// addMemberUserIds.add(user.getId());
|
} else if (!isMember && currentIsMember) {
|
||||||
} else{
|
removeMemberUserIds.add(user.getId());
|
||||||
// removeMemberUserIds.add(user.getId());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
needDoUpdateList.add(u);
|
needDoUpdateList.add(u);
|
||||||
@@ -323,7 +347,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/* // 4. 异步添加会员角色 - 不等待完成
|
// 4. 异步添加会员角色
|
||||||
if (Lang.isNotEmpty(addMemberUserIds)) {
|
if (Lang.isNotEmpty(addMemberUserIds)) {
|
||||||
executorService.execute(() -> {
|
executorService.execute(() -> {
|
||||||
try {
|
try {
|
||||||
@@ -352,7 +376,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 5. 异步移除会员角色 - 不等待完成
|
// 5. 异步移除会员角色
|
||||||
if (Lang.isNotEmpty(removeMemberUserIds)) {
|
if (Lang.isNotEmpty(removeMemberUserIds)) {
|
||||||
executorService.execute(() -> {
|
executorService.execute(() -> {
|
||||||
try {
|
try {
|
||||||
@@ -371,7 +395,7 @@ public class SysDataUserAllUpdateServiceImpl implements SysDataUserUpdateService
|
|||||||
log.error("移除会员角色异常", e);
|
log.error("移除会员角色异常", e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}*/
|
}
|
||||||
|
|
||||||
// 6. 处理其他任务
|
// 6. 处理其他任务
|
||||||
// 6.1 更新提案的校领导角色,发送订阅
|
// 6.1 更新提案的校领导角色,发送订阅
|
||||||
|
|||||||
+51
-31
@@ -23,10 +23,7 @@ import org.nutz.ioc.loader.annotation.Inject;
|
|||||||
import org.nutz.ioc.loader.annotation.IocBean;
|
import org.nutz.ioc.loader.annotation.IocBean;
|
||||||
import org.nutz.lang.random.R;
|
import org.nutz.lang.random.R;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.Calendar;
|
|
||||||
import java.util.concurrent.CompletableFuture;
|
import java.util.concurrent.CompletableFuture;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -40,6 +37,31 @@ public class SysDataUserIncrUpdateServiceImpl implements SysDataUserUpdateServic
|
|||||||
@Inject
|
@Inject
|
||||||
private SysRoleService sysRoleService;
|
private SysRoleService sysRoleService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 检查用户是否符合会员条件
|
||||||
|
*
|
||||||
|
* @param employmentType 用人方式
|
||||||
|
* @return 是否符合会员条件
|
||||||
|
*/
|
||||||
|
private boolean checkMembershipEligibility(String employmentType, String userState) {
|
||||||
|
if (StrUtil.isBlank(employmentType)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!"在岗".equals(userState)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
Set<String> memberEmploymentTypes = new HashSet<>(Arrays.asList(
|
||||||
|
"事业编制",
|
||||||
|
"劳动合同制",
|
||||||
|
"劳务派遣",
|
||||||
|
"人事代理"
|
||||||
|
));
|
||||||
|
|
||||||
|
return memberEmploymentTypes.contains(employmentType);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String update(SysDataUserUpdateParam updateParam) {
|
public String update(SysDataUserUpdateParam updateParam) {
|
||||||
// 基本SQL查询
|
// 基本SQL查询
|
||||||
@@ -68,33 +90,9 @@ public class SysDataUserIncrUpdateServiceImpl implements SysDataUserUpdateServic
|
|||||||
sysUser.setPassword(PwdUtil.getPassword(pwd, salt));
|
sysUser.setPassword(PwdUtil.getPassword(pwd, salt));
|
||||||
sysUser.setLoginCount(0);
|
sysUser.setLoginCount(0);
|
||||||
|
|
||||||
// 检查是否符合会员条件
|
// 根据用人方式判断是否为会员
|
||||||
// 1. 用户状态为"在岗"
|
boolean isMember = checkMembershipEligibility(sysUser.getEmploymentType(), sysUser.getUserState());
|
||||||
if ("在岗".equals(sysUser.getUserState())) {
|
sysUser.setMember(isMember);
|
||||||
// 2. 检查聘用方式条件
|
|
||||||
List<String> membershipQualifyingPreparedBy = Arrays.asList("新人事代理", "校聘合同制", "事业编制");
|
|
||||||
|
|
||||||
// 第一种情况:聘用方式在指定列表中
|
|
||||||
boolean isQualifiedByPreparedBy = membershipQualifyingPreparedBy.contains(sysUser.getPreparedBy());
|
|
||||||
|
|
||||||
// 第二种情况:聘用方式是博士后,且进站时间不超过两年
|
|
||||||
boolean isQualifiedPostdoc = false;
|
|
||||||
if ("博士后".equals(sysUser.getPreparedBy()) && sysUser.getPostDoctoralJoinDate() != null) {
|
|
||||||
Calendar twoYearsAgo = Calendar.getInstance();
|
|
||||||
twoYearsAgo.add(Calendar.YEAR, -2);
|
|
||||||
Date twoYearsAgoDate = twoYearsAgo.getTime();
|
|
||||||
isQualifiedPostdoc = sysUser.getPostDoctoralJoinDate().after(twoYearsAgoDate);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 如果满足任一条件,设置为会员
|
|
||||||
if (isQualifiedByPreparedBy || isQualifiedPostdoc) {
|
|
||||||
sysUser.setMember(true);
|
|
||||||
} else {
|
|
||||||
sysUser.setMember(false);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
sysUser.setMember(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
List<List<Sys_user>> splitSysUsers = ListUtil.split(sysUsers, 500);
|
List<List<Sys_user>> splitSysUsers = ListUtil.split(sysUsers, 500);
|
||||||
@@ -116,6 +114,28 @@ public class SysDataUserIncrUpdateServiceImpl implements SysDataUserUpdateServic
|
|||||||
});
|
});
|
||||||
sysRoleService.clearCache();
|
sysRoleService.clearCache();
|
||||||
|
|
||||||
|
// 为会员用户添加会员角色
|
||||||
|
List<String> memberUserIds = sysUsers.stream()
|
||||||
|
.filter(Sys_user::getMember)
|
||||||
|
.map(Sys_user::getId)
|
||||||
|
.toList();
|
||||||
|
|
||||||
|
if (!memberUserIds.isEmpty()) {
|
||||||
|
Sys_role memberRole = sysRoleService.getByCode(RoleConstant.MEMBER);
|
||||||
|
if (memberRole != null) {
|
||||||
|
List<Sys_user_role> memberRoles = memberUserIds.stream().map(userId -> {
|
||||||
|
Sys_user_role userRole = new Sys_user_role();
|
||||||
|
userRole.setUserId(userId);
|
||||||
|
userRole.setRoleId(memberRole.getId());
|
||||||
|
return userRole;
|
||||||
|
}).toList();
|
||||||
|
|
||||||
|
ThreadUtil.execAsync(() -> {
|
||||||
|
dao.insert(memberRoles);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//比较单位数据
|
//比较单位数据
|
||||||
List<Sys_unit> sysUnits = dao.query(Sys_unit.class, Cnd.where(Sys_unit::getUnitLevel, "=", 2));
|
List<Sys_unit> sysUnits = dao.query(Sys_unit.class, Cnd.where(Sys_unit::getUnitLevel, "=", 2));
|
||||||
List<String> sysUnitIds = sysUnits.stream().map(Sys_unit::getId).toList();
|
List<String> sysUnitIds = sysUnits.stream().map(Sys_unit::getId).toList();
|
||||||
|
|||||||
+7
@@ -62,9 +62,15 @@ public class MemberInfoPageForm extends PageForm {
|
|||||||
@ApiModelProperty("教职工类别")
|
@ApiModelProperty("教职工类别")
|
||||||
private String personType;
|
private String personType;
|
||||||
|
|
||||||
|
@ApiModelProperty("用人方式")
|
||||||
|
private String employmentType;
|
||||||
|
|
||||||
@ApiModelProperty("人员类型数组")
|
@ApiModelProperty("人员类型数组")
|
||||||
private List<String> personTypes;
|
private List<String> personTypes;
|
||||||
|
|
||||||
|
@ApiModelProperty("用人方式数组")
|
||||||
|
private List<String> employmentTypes;
|
||||||
|
|
||||||
@ApiModelProperty("编制类型数组")
|
@ApiModelProperty("编制类型数组")
|
||||||
private List<String> preparedBys;
|
private List<String> preparedBys;
|
||||||
|
|
||||||
@@ -131,6 +137,7 @@ public class MemberInfoPageForm extends PageForm {
|
|||||||
cnd.andEX(prefix + "userState", "in", this.getUserStates());
|
cnd.andEX(prefix + "userState", "in", this.getUserStates());
|
||||||
cnd.andEX(prefix + "preparedBy", "in", this.getPreparedBys());
|
cnd.andEX(prefix + "preparedBy", "in", this.getPreparedBys());
|
||||||
cnd.andEX(prefix + "personType", "in", this.getPersonTypes());
|
cnd.andEX(prefix + "personType", "in", this.getPersonTypes());
|
||||||
|
cnd.andEX(prefix + "employmentType", "in", this.getEmploymentTypes());
|
||||||
|
|
||||||
if(StrUtil.isAllBlank(this.getPageOrderName(),this.getPageOrderBy())){
|
if(StrUtil.isAllBlank(this.getPageOrderName(),this.getPageOrderBy())){
|
||||||
cnd.asc("unionCode").asc("unitCode");
|
cnd.asc("unionCode").asc("unitCode");
|
||||||
|
|||||||
+2
@@ -42,6 +42,8 @@ public class MemberStatisticsPageForm extends PageForm {
|
|||||||
|
|
||||||
private List<String> personTypes;
|
private List<String> personTypes;
|
||||||
|
|
||||||
|
private List<String> employmentTypes;
|
||||||
|
|
||||||
private List<String> preparedBys;
|
private List<String> preparedBys;
|
||||||
|
|
||||||
private List<String> userStates;
|
private List<String> userStates;
|
||||||
|
|||||||
+1
@@ -98,6 +98,7 @@ public class MemberInfoServiceImpl extends BaseServiceImpl<Sys_user> implements
|
|||||||
u.userState,
|
u.userState,
|
||||||
u.unionName,
|
u.unionName,
|
||||||
u.unitName,
|
u.unitName,
|
||||||
|
u.employmentType,
|
||||||
DATE_FORMAT(u.teachingTime, '%Y-%m-%d') AS teachingTime,
|
DATE_FORMAT(u.teachingTime, '%Y-%m-%d') AS teachingTime,
|
||||||
DATE_FORMAT(u.expectedLeaveSchoolDate, '%Y-%m-%d') AS expectedLeaveSchoolDate,
|
DATE_FORMAT(u.expectedLeaveSchoolDate, '%Y-%m-%d') AS expectedLeaveSchoolDate,
|
||||||
u.member,
|
u.member,
|
||||||
|
|||||||
+2
@@ -91,6 +91,7 @@ public class MemberStatisticsServiceImpl extends BaseServiceImpl<Sys_user> imple
|
|||||||
handleField("personType", pageForm.getPersonTypes(), reverseSelection, IN_OR_NIN_OP, cnd);
|
handleField("personType", pageForm.getPersonTypes(), reverseSelection, IN_OR_NIN_OP, cnd);
|
||||||
handleField("preparedBy", pageForm.getPreparedBys(), reverseSelection, IN_OR_NIN_OP, cnd);
|
handleField("preparedBy", pageForm.getPreparedBys(), reverseSelection, IN_OR_NIN_OP, cnd);
|
||||||
handleField("userState", pageForm.getUserStates(), reverseSelection, IN_OR_NIN_OP, cnd);
|
handleField("userState", pageForm.getUserStates(), reverseSelection, IN_OR_NIN_OP, cnd);
|
||||||
|
handleField("employmentType", pageForm.getEmploymentTypes(), reverseSelection, IN_OR_NIN_OP, cnd);
|
||||||
handleField("sex", pageForm.getSexTypes(), reverseSelection, IN_OR_NIN_OP, cnd);
|
handleField("sex", pageForm.getSexTypes(), reverseSelection, IN_OR_NIN_OP, cnd);
|
||||||
cnd.andEX("sur.roleId", IN_OR_NIN_OP, pageForm.getRoleIds());
|
cnd.andEX("sur.roleId", IN_OR_NIN_OP, pageForm.getRoleIds());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -149,6 +150,7 @@ public class MemberStatisticsServiceImpl extends BaseServiceImpl<Sys_user> imple
|
|||||||
u.userState,
|
u.userState,
|
||||||
u.unionName,
|
u.unionName,
|
||||||
u.unitName,
|
u.unitName,
|
||||||
|
u.employmentType,
|
||||||
DATE_FORMAT(u.teachingTime, '%Y-%m-%d') AS teachingTime,
|
DATE_FORMAT(u.teachingTime, '%Y-%m-%d') AS teachingTime,
|
||||||
DATE_FORMAT(u.expectedLeaveSchoolDate, '%Y-%m-%d') AS expectedLeaveSchoolDate,
|
DATE_FORMAT(u.expectedLeaveSchoolDate, '%Y-%m-%d') AS expectedLeaveSchoolDate,
|
||||||
u.member,
|
u.member,
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ layout("/layouts/platform.html"){
|
|||||||
<el-table-column prop="userState" label="在职状态" sortable width="120"></el-table-column>
|
<el-table-column prop="userState" label="在职状态" sortable width="120"></el-table-column>
|
||||||
<el-table-column prop="preparedBy" label="编制类别" sortable width="120"></el-table-column>
|
<el-table-column prop="preparedBy" label="编制类别" sortable width="120"></el-table-column>
|
||||||
<el-table-column prop="personType" label="教职工类别" sortable width="120"></el-table-column>
|
<el-table-column prop="personType" label="教职工类别" sortable width="120"></el-table-column>
|
||||||
|
<el-table-column prop="employmentType" label="用人方式" sortable width="120"></el-table-column>
|
||||||
<el-table-column prop="arrivalAtSchoolDate" label="来校年月" sortable width="120"></el-table-column>
|
<el-table-column prop="arrivalAtSchoolDate" label="来校年月" sortable width="120"></el-table-column>
|
||||||
<el-table-column prop="technicalTitle" label="技术职称" sortable width="120"></el-table-column>
|
<el-table-column prop="technicalTitle" label="技术职称" sortable width="120"></el-table-column>
|
||||||
<el-table-column prop="position" label="职务" sortable width="120" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="position" label="职务" sortable width="120" show-overflow-tooltip></el-table-column>
|
||||||
|
|||||||
@@ -45,6 +45,10 @@ const COMMON_QUERY = {
|
|||||||
<dict-select v-model="pageForm.preparedBys" placeholder="请选择编制类别" @change="doSearch"
|
<dict-select v-model="pageForm.preparedBys" placeholder="请选择编制类别" @change="doSearch"
|
||||||
code="USER_PREPARED_BY_TYPE" multiple collapse-tags></dict-select>
|
code="USER_PREPARED_BY_TYPE" multiple collapse-tags></dict-select>
|
||||||
</search-item>
|
</search-item>
|
||||||
|
<search-item label="用人方式">
|
||||||
|
<dict-select v-model="pageForm.employmentTypes" placeholder="请选择编制类别" @change="doSearch"
|
||||||
|
code="USER_EMPLOYMENT_TYPE" multiple collapse-tags></dict-select>
|
||||||
|
</search-item>
|
||||||
</search>
|
</search>
|
||||||
`,
|
`,
|
||||||
store,
|
store,
|
||||||
@@ -68,6 +72,7 @@ const COMMON_QUERY = {
|
|||||||
userStates: [],
|
userStates: [],
|
||||||
personTypes: [],
|
personTypes: [],
|
||||||
preparedBys: [],
|
preparedBys: [],
|
||||||
|
employmentTypes: [],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -82,6 +87,7 @@ const COMMON_QUERY = {
|
|||||||
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
||||||
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
||||||
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
||||||
|
pageForm.employmentTypes = JSON.stringify(this.pageForm.employmentTypes)
|
||||||
this.$emit('search', pageForm)
|
this.$emit('search', pageForm)
|
||||||
},
|
},
|
||||||
async initData(){
|
async initData(){
|
||||||
|
|||||||
@@ -127,6 +127,7 @@ layout("/layouts/platform.html"){
|
|||||||
{ prop: "political", label: "政治面貌", width: 120, sortable: true},
|
{ prop: "political", label: "政治面貌", width: 120, sortable: true},
|
||||||
{ prop: "userState", label: "在职状态", width: 120, sortable: true },
|
{ prop: "userState", label: "在职状态", width: 120, sortable: true },
|
||||||
{ prop: "personType", label: "教职工类别", width: 120, sortable: true },
|
{ prop: "personType", label: "教职工类别", width: 120, sortable: true },
|
||||||
|
{ prop: "employmentType", label: "用人方式", width: 120, sortable: true },
|
||||||
{ prop: "preparedBy", label: "编制类别", width: 120, sortable: true },
|
{ prop: "preparedBy", label: "编制类别", width: 120, sortable: true },
|
||||||
{ prop: "postDoctoralJoinDate", label: "进站时间", sortable: true, checked: 0 },
|
{ prop: "postDoctoralJoinDate", label: "进站时间", sortable: true, checked: 0 },
|
||||||
{ prop: "unionName", label: "所属工会", width: 120, sortable: true },
|
{ prop: "unionName", label: "所属工会", width: 120, sortable: true },
|
||||||
@@ -173,7 +174,8 @@ layout("/layouts/platform.html"){
|
|||||||
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
||||||
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
||||||
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
||||||
const data = this.tableColumns.filter(item => this.checkedFields.includes(item.prop)).map(item => {
|
pageForm.employmentTypes = JSON.stringify(this.pageForm.employmentTypes)
|
||||||
|
const data = this.tableColumns.filter(item => this.checkedFields.includes(item.prop)).map(item => {
|
||||||
return {prop: item.prop, label: item.label}
|
return {prop: item.prop, label: item.label}
|
||||||
})
|
})
|
||||||
pageForm.columns = JSON.stringify(data)
|
pageForm.columns = JSON.stringify(data)
|
||||||
@@ -200,6 +202,7 @@ layout("/layouts/platform.html"){
|
|||||||
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
pageForm.userStates = JSON.stringify(this.pageForm.userStates)
|
||||||
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
||||||
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
||||||
|
pageForm.employmentTypes = JSON.stringify(this.pageForm.employmentTypes)
|
||||||
this.$axios.post(loc() + "/pageData", pageForm)
|
this.$axios.post(loc() + "/pageData", pageForm)
|
||||||
.then((data) => {
|
.then((data) => {
|
||||||
if (data.code === 0) {
|
if (data.code === 0) {
|
||||||
|
|||||||
+2
@@ -159,6 +159,7 @@ layout("/layouts/platform.html"){
|
|||||||
{ prop: "political", label: "政治面貌", width: 120, sortable: true},
|
{ prop: "political", label: "政治面貌", width: 120, sortable: true},
|
||||||
{ prop: "userState", label: "在职状态", width: 120, sortable: true },
|
{ prop: "userState", label: "在职状态", width: 120, sortable: true },
|
||||||
{ prop: "personType", label: "教职工类别", width: 120, sortable: true },
|
{ prop: "personType", label: "教职工类别", width: 120, sortable: true },
|
||||||
|
{ prop: "employmentType", label: "用人方式", width: 120, sortable: true },
|
||||||
{ prop: "preparedBy", label: "编制类别", width: 120, sortable: true },
|
{ prop: "preparedBy", label: "编制类别", width: 120, sortable: true },
|
||||||
{ prop: "postDoctoralJoinDate", label: "进站时间", sortable: true, checked: 0 },
|
{ prop: "postDoctoralJoinDate", label: "进站时间", sortable: true, checked: 0 },
|
||||||
{ prop: "unionName", label: "所属工会", width: 120, sortable: true },
|
{ prop: "unionName", label: "所属工会", width: 120, sortable: true },
|
||||||
@@ -223,6 +224,7 @@ layout("/layouts/platform.html"){
|
|||||||
pageForm.unitId = JSON.stringify(this.pageForm.unitId)
|
pageForm.unitId = JSON.stringify(this.pageForm.unitId)
|
||||||
pageForm.sexTypes = JSON.stringify(this.pageForm.sexTypes)
|
pageForm.sexTypes = JSON.stringify(this.pageForm.sexTypes)
|
||||||
pageForm.memberTypes = JSON.stringify(this.pageForm.memberTypes)
|
pageForm.memberTypes = JSON.stringify(this.pageForm.memberTypes)
|
||||||
|
pageForm.employmentTypes = JSON.stringify(this.pageForm.employmentTypes)
|
||||||
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
pageForm.personTypes = JSON.stringify(this.pageForm.personTypes)
|
||||||
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
pageForm.preparedBys = JSON.stringify(this.pageForm.preparedBys)
|
||||||
pageForm.memberStatus = JSON.stringify(this.pageForm.memberStatus)
|
pageForm.memberStatus = JSON.stringify(this.pageForm.memberStatus)
|
||||||
|
|||||||
+32
@@ -87,6 +87,31 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
|
<el-row type="flex" align="middle" class="query-row query-row-tag">
|
||||||
|
<el-col class="query-row-title">用人方式:</el-col>
|
||||||
|
<el-col class="query-row-content query-row-content-tag">
|
||||||
|
<el-tag
|
||||||
|
style="margin-right: 10px;cursor: pointer"
|
||||||
|
v-for="item in employmentTypeOptions"
|
||||||
|
:key="item.code"
|
||||||
|
:type="item.name"
|
||||||
|
:effect="pageForm.employmentTypes.includes(item.name)?'dark':'plain'"
|
||||||
|
@click="tagClick('employmentTypes',item.name)">
|
||||||
|
{{ item.name }}
|
||||||
|
</el-tag>
|
||||||
|
|
||||||
|
<el-link type="danger"
|
||||||
|
v-if="employmentTypeOptions.length&&pageForm.employmentTypes.length"
|
||||||
|
:underline="false"
|
||||||
|
@click="pageForm.employmentTypes=[];doSearch()">清空
|
||||||
|
</el-link>
|
||||||
|
<el-link :underline="false"
|
||||||
|
@click="pageForm.employmentTypes=employmentTypeOptions.map(p=>p.code);doSearch()"
|
||||||
|
type="success">全部
|
||||||
|
</el-link>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
<el-row type="flex" align="middle" class="query-row query-row-tag">
|
<el-row type="flex" align="middle" class="query-row query-row-tag">
|
||||||
<el-col class="query-row-title">编制类别:</el-col>
|
<el-col class="query-row-title">编制类别:</el-col>
|
||||||
<el-col class="query-row-content query-row-content-tag">
|
<el-col class="query-row-content query-row-content-tag">
|
||||||
@@ -208,6 +233,7 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
searchName: "username",
|
searchName: "username",
|
||||||
personTypes: [],
|
personTypes: [],
|
||||||
preparedBys: [],
|
preparedBys: [],
|
||||||
|
employmentTypes: [],
|
||||||
userStates: [],
|
userStates: [],
|
||||||
memberStatus: [],
|
memberStatus: [],
|
||||||
year: moment().format("YYYY"),
|
year: moment().format("YYYY"),
|
||||||
@@ -224,6 +250,7 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
},
|
},
|
||||||
personTypeOptions: [],
|
personTypeOptions: [],
|
||||||
preparedByOptions: [],
|
preparedByOptions: [],
|
||||||
|
employmentTypeOptions: [],
|
||||||
userStateOptions: [],
|
userStateOptions: [],
|
||||||
memberStatusOptions: [],
|
memberStatusOptions: [],
|
||||||
unions: [],
|
unions: [],
|
||||||
@@ -315,6 +342,7 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
this.pageForm.sexTypes = []
|
this.pageForm.sexTypes = []
|
||||||
this.pageForm.personTypes = []
|
this.pageForm.personTypes = []
|
||||||
this.pageForm.preparedBys = []
|
this.pageForm.preparedBys = []
|
||||||
|
this.pageForm.employmentTypes = []
|
||||||
this.pageForm.memberStatus = []
|
this.pageForm.memberStatus = []
|
||||||
this.pageForm.userStates = []
|
this.pageForm.userStates = []
|
||||||
this.pageForm.unionId = []
|
this.pageForm.unionId = []
|
||||||
@@ -355,6 +383,10 @@ const MEMBER_STATISTICS_COMPREHENSIVE_QUERY_FORM = {
|
|||||||
this.$businessTool.getDictOptions("USER_STATE").then((data) => {
|
this.$businessTool.getDictOptions("USER_STATE").then((data) => {
|
||||||
this.userStateOptions = data
|
this.userStateOptions = data
|
||||||
})
|
})
|
||||||
|
this.$businessTool.getDictOptions("USER_EMPLOYMENT_TYPE").then((data) => {
|
||||||
|
this.employmentTypeOptions = data
|
||||||
|
console.log(data)
|
||||||
|
})
|
||||||
},
|
},
|
||||||
flushUnits() {
|
flushUnits() {
|
||||||
this.$set(this.pageForm, "unitId", null)
|
this.$set(this.pageForm, "unitId", null)
|
||||||
|
|||||||
Reference in New Issue
Block a user