人员表中增加人员岗位

dev_xd
haha 2025-02-09 21:56:02 +08:00
parent ce126e5682
commit 049a04bcc7
14 changed files with 194 additions and 33 deletions

View File

@ -113,6 +113,16 @@ public class SysUser extends BaseEntity
/** 角色ID */ /** 角色ID */
private Long roleId; private Long roleId;
private Long workType;
public Long getWorkType() {
return workType;
}
public void setWorkType(Long workType) {
this.workType = workType;
}
/** /**
* *
*/ */

View File

@ -46,6 +46,16 @@ public class ProProjectInfoSubdeptsUsers extends BaseEntity
@Excel(name = "单位类型") @Excel(name = "单位类型")
private String subDeptTypeName; private String subDeptTypeName;
private Long workType;
public Long getWorkType() {
return workType;
}
public void setWorkType(Long workType) {
this.workType = workType;
}
/** /**
* &&--- * &&---
*/ */

View File

@ -29,6 +29,16 @@ public class SysUserExt extends BaseEntity
@Excel(name = "用户类型", readConverterExp = "0=0系统用户") @Excel(name = "用户类型", readConverterExp = "0=0系统用户")
private String userType; private String userType;
private Long workType;
public Long getWorkType() {
return workType;
}
public void setWorkType(Long workType) {
this.workType = workType;
}
private Long comId; private Long comId;
public Long getComId() { public Long getComId() {

View File

@ -22,6 +22,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="subDeptGroupName" column="sub_dept_group_name" /> <result property="subDeptGroupName" column="sub_dept_group_name" />
<result property="userName" column="user_name" /> <result property="userName" column="user_name" />
<result property="cardType" column="card_type" /> <result property="cardType" column="card_type" />
<result property="workType" column="work_type" />
<result property="cardCode" column="card_code" /> <result property="cardCode" column="card_code" />
<result property="userSex" column="user_sex" /> <result property="userSex" column="user_sex" />
<result property="userPicture" column="user_picture" /> <result property="userPicture" column="user_picture" />
@ -57,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select psu.id, psu.par_id, psu.com_id, psu.project_id, pi.project_name, psu.sub_dept_id, psu.sub_dept_type, dic3.dict_label as sub_dept_type_name, psu.sub_dept_name, psu.sub_dept_power_path, psu.user_id, psu.user_post, psu.sub_dept_group, select psu.id, psu.par_id, psu.com_id, psu.project_id, pi.project_name, psu.sub_dept_id, psu.sub_dept_type, dic3.dict_label as sub_dept_type_name, psu.sub_dept_name, psu.sub_dept_power_path, psu.user_id, psu.user_post, psu.sub_dept_group,
psu.sub_dept_group_name, psu.user_name, psu.card_type, psu.card_code, psu.user_sex, psu.user_picture, psu.user_phone, psu.degree_grade, dic4.dict_label as degree_grade_name, psu.user_infos, psu.craft_type, dic1.dict_label as craft_type_name, psu.craft_post, dic2.dict_label as craft_post_name, psu.edu_status, psu.edu_file_path, psu.edu_date, psu.approve_status, psu.sub_dept_group_name, psu.user_name, psu.card_type, psu.card_code, psu.user_sex, psu.user_picture, psu.user_phone, psu.degree_grade, dic4.dict_label as degree_grade_name, psu.user_infos, psu.craft_type, dic1.dict_label as craft_type_name, psu.craft_post, dic2.dict_label as craft_post_name, psu.edu_status, psu.edu_file_path, psu.edu_date, psu.approve_status,
psu.use_date, psu.use_status, psu.admit_guid, psu.qr_code, psu.sub_step, psu.illness_status, psu.sup_illness_status, psu.is_del, psu.create_by, psu.create_time, psu.update_by, psu.update_time, psu.use_date, psu.use_status, psu.admit_guid, psu.qr_code, psu.sub_step, psu.illness_status, psu.sup_illness_status, psu.is_del, psu.create_by, psu.create_time, psu.update_by, psu.update_time,
psu.remark,psu.face_guid,sd.dept_name com_name psu.remark,psu.face_guid,sd.dept_name com_name,psu.work_type
from pro_project_info_subdepts_users psu from pro_project_info_subdepts_users psu
left join pro_project_info pi on pi.id = psu.project_id left join pro_project_info pi on pi.id = psu.project_id
left join sys_dept sd on sd.dept_id = pi.com_id left join sys_dept sd on sd.dept_id = pi.com_id
@ -80,6 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="userPost != null "> and psu.user_post = #{userPost}</if> <if test="userPost != null "> and psu.user_post = #{userPost}</if>
<if test="subDeptGroup != null "> and psu.sub_dept_group = #{subDeptGroup}</if> <if test="subDeptGroup != null "> and psu.sub_dept_group = #{subDeptGroup}</if>
<if test="subDeptGroupName != null and subDeptGroupName != ''"> and psu.sub_dept_group_name like concat('%', #{subDeptGroupName}, '%')</if> <if test="subDeptGroupName != null and subDeptGroupName != ''"> and psu.sub_dept_group_name like concat('%', #{subDeptGroupName}, '%')</if>
<if test="workType != null and workType != 0"> and psu.work_type = #{workType}</if>
<if test="craftType != null and craftType != ''"> and psu.craft_type = #{craftType}</if> <if test="craftType != null and craftType != ''"> and psu.craft_type = #{craftType}</if>
<if test="craftPost != null and craftPost != ''"> and psu.craft_post = #{craftPost}</if> <if test="craftPost != null and craftPost != ''"> and psu.craft_post = #{craftPost}</if>
<if test="eduStatus != null and eduStatus != ''"> and psu.edu_status = #{eduStatus}</if> <if test="eduStatus != null and eduStatus != ''"> and psu.edu_status = #{eduStatus}</if>
@ -125,6 +127,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="subDeptGroupName != null">sub_dept_group_name,</if> <if test="subDeptGroupName != null">sub_dept_group_name,</if>
<if test="userName != null">user_name,</if> <if test="userName != null">user_name,</if>
<if test="cardType != null">card_type,</if> <if test="cardType != null">card_type,</if>
<if test="workType != null">work_type,</if>
<if test="cardCode != null">card_code,</if> <if test="cardCode != null">card_code,</if>
<if test="userSex != null">user_sex,</if> <if test="userSex != null">user_sex,</if>
<if test="userPicture != null">user_picture,</if> <if test="userPicture != null">user_picture,</if>
@ -166,6 +169,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="subDeptGroupName != null">#{subDeptGroupName},</if> <if test="subDeptGroupName != null">#{subDeptGroupName},</if>
<if test="userName != null">#{userName},</if> <if test="userName != null">#{userName},</if>
<if test="cardType != null">#{cardType},</if> <if test="cardType != null">#{cardType},</if>
<if test="workType != null">#{workType},</if>
<if test="cardCode != null">#{cardCode},</if> <if test="cardCode != null">#{cardCode},</if>
<if test="userSex != null">#{userSex},</if> <if test="userSex != null">#{userSex},</if>
<if test="userPicture != null">#{userPicture},</if> <if test="userPicture != null">#{userPicture},</if>
@ -211,6 +215,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="subDeptGroupName != null">sub_dept_group_name = #{subDeptGroupName},</if> <if test="subDeptGroupName != null">sub_dept_group_name = #{subDeptGroupName},</if>
<if test="userName != null">user_name = #{userName},</if> <if test="userName != null">user_name = #{userName},</if>
<if test="cardType != null">card_type = #{cardType},</if> <if test="cardType != null">card_type = #{cardType},</if>
<if test="workType != null">work_type = #{workType},</if>
<if test="cardCode != null">card_code = #{cardCode},</if> <if test="cardCode != null">card_code = #{cardCode},</if>
<if test="userSex != null">user_sex = #{userSex},</if> <if test="userSex != null">user_sex = #{userSex},</if>
<if test="userPicture != null">user_picture = #{userPicture},</if> <if test="userPicture != null">user_picture = #{userPicture},</if>

View File

@ -9,18 +9,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="projectId" column="project_id" /> <result property="projectId" column="project_id" />
<result property="comId" column="com_id" /> <result property="comId" column="com_id" />
<result property="status" column="status" /> <result property="status" column="status" />
<result property="workType" column="work_type" />
<result property="userType" column="user_type" /> <result property="userType" column="user_type" />
<result property="isActive" column="is_active" /> <result property="isActive" column="is_active" />
</resultMap> </resultMap>
<sql id="selectSysUserExtVo"> <sql id="selectSysUserExtVo">
select user_id, project_id, status, user_type,com_id,is_active from sys_user_ext select user_id, project_id, status,work_type, user_type,com_id,is_active from sys_user_ext
</sql> </sql>
<select id="selectSysUserExtList" parameterType="SysUserExt" resultMap="SysUserExtResult"> <select id="selectSysUserExtList" parameterType="SysUserExt" resultMap="SysUserExtResult">
<include refid="selectSysUserExtVo"/> <include refid="selectSysUserExtVo"/>
<where> <where>
<if test="status != null and status != ''"> and status = #{status}</if> <if test="status != null and status != ''"> and status = #{status}</if>
<if test="workType != null and workType != 0"> and work_type = #{workType}</if>
<if test="userType != null and userType != ''"> and user_type = #{userType}</if> <if test="userType != null and userType != ''"> and user_type = #{userType}</if>
<if test="userId != null and userId != 0"> and user_id = #{userId}</if> <if test="userId != null and userId != 0"> and user_id = #{userId}</if>
<if test="projectId != null and projectId != 0"> and project_id = #{projectId}</if> <if test="projectId != null and projectId != 0"> and project_id = #{projectId}</if>
@ -39,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="userId != null">user_id,</if> <if test="userId != null">user_id,</if>
<if test="projectId != null">project_id,</if> <if test="projectId != null">project_id,</if>
<if test="status != null">status,</if> <if test="status != null">status,</if>
<if test="workType != null">work_type,</if>
<if test="userType != null">user_type,</if> <if test="userType != null">user_type,</if>
<if test="comId != null">com_id,</if> <if test="comId != null">com_id,</if>
<if test="isActive != null">is_active,</if> <if test="isActive != null">is_active,</if>
@ -47,6 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="userId != null">#{userId},</if> <if test="userId != null">#{userId},</if>
<if test="projectId != null">#{projectId},</if> <if test="projectId != null">#{projectId},</if>
<if test="status != null">#{status},</if> <if test="status != null">#{status},</if>
<if test="workType != null">#{workType},</if>
<if test="userType != null">#{userType},</if> <if test="userType != null">#{userType},</if>
<if test="comId != null">#{comId},</if> <if test="comId != null">#{comId},</if>
<if test="isActive != null">#{isActive},</if> <if test="isActive != null">#{isActive},</if>
@ -58,6 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<trim prefix="SET" suffixOverrides=","> <trim prefix="SET" suffixOverrides=",">
<if test="projectId != null">project_id = #{projectId},</if> <if test="projectId != null">project_id = #{projectId},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="workType != null">work_type = #{workType},</if>
<if test="userType != null">user_type = #{userType},</if> <if test="userType != null">user_type = #{userType},</if>
<if test="comId != null">com_id = #{comId},</if> <if test="comId != null">com_id = #{comId},</if>
<if test="isActive != null">is_active = #{isActive},</if> <if test="isActive != null">is_active = #{isActive},</if>

View File

@ -12,6 +12,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="userName" column="user_name" /> <result property="userName" column="user_name" />
<result property="nickName" column="nick_name" /> <result property="nickName" column="nick_name" />
<result property="userType" column="user_type" /> <result property="userType" column="user_type" />
<result property="workType" column="work_type" />
<result property="cardCode" column="card_code" /> <result property="cardCode" column="card_code" />
<result property="email" column="email" /> <result property="email" column="email" />
<result property="isActive" column="is_active" /> <result property="isActive" column="is_active" />
@ -61,7 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<sql id="selectUserVo"> <sql id="selectUserVo">
select u.user_id, u.com_id, com.dept_name as com_name, u.dept_id, u.user_name, u.nick_name, u.user_type, u.card_code, u.email select u.user_id, u.com_id, com.dept_name as com_name, u.dept_id, u.user_name, u.nick_name, ex.user_type,ex.work_type, u.card_code, u.email
, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, , u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.dept_short_name, d.dept_code, d.dept_type, d.order_num, d.leader, d.status as dept_status, d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.dept_short_name, d.dept_code, d.dept_type, d.order_num, d.leader, d.status as dept_status,
r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,com.dept_name com_dept_name r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status,com.dept_name com_dept_name
@ -70,13 +71,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
left join sys_dept com on u.com_id = com.dept_id left join sys_dept com on u.com_id = com.dept_id
left join sys_user_role ur on u.user_id = ur.user_id left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id left join sys_role r on r.role_id = ur.role_id
left join sys_user_ext ex on u.user_id=ex.user_id
</sql> </sql>
<select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult"> <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
select u.user_id, u.com_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, select u.user_id, u.com_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status,ex.user_type,ex.work_type,
u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader
from sys_user u from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_ext ex on u.user_id=ex.user_id
where u.del_flag = '0' where u.del_flag = '0'
<if test="userId != null and userId != 0"> <if test="userId != null and userId != 0">
AND u.user_id = #{userId} AND u.user_id = #{userId}
@ -113,11 +116,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult"> <select id="selectAllocatedList" parameterType="SysUser" resultMap="SysUserResult">
select distinct u.user_id, u.com_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time select distinct u.user_id, u.com_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,ex.user_type,ex.work_type
from sys_user u from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id left join sys_role r on r.role_id = ur.role_id
left join sys_user_ext ex on u.user_id=ex.user_id
where u.del_flag = '0' and r.role_id = #{roleId} where u.del_flag = '0' and r.role_id = #{roleId}
<if test="userName != null and userName != ''"> <if test="userName != null and userName != ''">
AND u.user_name like concat('%', #{userName}, '%') AND u.user_name like concat('%', #{userName}, '%')
@ -130,11 +134,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</select> </select>
<select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult"> <select id="selectUnallocatedList" parameterType="SysUser" resultMap="SysUserResult">
select distinct u.user_id, u.com_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time select distinct u.user_id, u.com_id, u.dept_id, u.user_name, u.nick_name, u.email, u.phonenumber, u.status, u.create_time,ex.user_type,ex.work_type
from sys_user u from sys_user u
left join sys_dept d on u.dept_id = d.dept_id left join sys_dept d on u.dept_id = d.dept_id
left join sys_user_role ur on u.user_id = ur.user_id left join sys_user_role ur on u.user_id = ur.user_id
left join sys_role r on r.role_id = ur.role_id left join sys_role r on r.role_id = ur.role_id
left join sys_user_ext ex on u.user_id=ex.user_id
where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL) where u.del_flag = '0' and (r.role_id != #{roleId} or r.role_id IS NULL)
and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId}) and u.user_id not in (select u.user_id from sys_user u inner join sys_user_role ur on u.user_id = ur.user_id and ur.role_id = #{roleId})
<if test="userName != null and userName != ''"> <if test="userName != null and userName != ''">
@ -279,7 +284,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!--根据用户编号查询入场项目信息--> <!--根据用户编号查询入场项目信息-->
<select id="selectProjectsByUserId" parameterType="Long" resultType="Map"> <select id="selectProjectsByUserId" parameterType="Long" resultType="Map">
select pi.com_id, sd.dept_name as com_name, pu.project_id, pi.project_name from pro_project_info_subdepts_users pu select pi.com_id, sd.dept_name as com_name, pu.project_id, pi.project_name
from pro_project_info_subdepts_users pu
left join pro_project_info pi on pi.id = pu.project_id left join pro_project_info pi on pi.id = pu.project_id
left join sys_dept sd on sd.dept_id = pi.com_id left join sys_dept sd on sd.dept_id = pi.com_id
where pu.user_id=#{userId} and pu.approve_status <![CDATA[ >= ]]> 100 and pu.is_del=0 and pu.use_status=0 order by pu.sort_by asc where pu.user_id=#{userId} and pu.approve_status <![CDATA[ >= ]]> 100 and pu.is_del=0 and pu.use_status=0 order by pu.sort_by asc

View File

@ -188,6 +188,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
} }
sysUser.setActiveProjectId(proProjectInfoSubdeptsUsers.getProjectId()); sysUser.setActiveProjectId(proProjectInfoSubdeptsUsers.getProjectId());
sysUser.setWorkType(proProjectInfoSubdeptsUsers.getWorkType());
R<Long> obj= remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER); R<Long> obj= remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER);
Long userId= obj.getData(); Long userId= obj.getData();

View File

@ -515,7 +515,7 @@ public class UniServiceImpl implements IUniService{
faceJo.put("admitGuid",admitGuid); faceJo.put("admitGuid",admitGuid);
puser.setAdmitGuid(admitGuid); puser.setAdmitGuid(admitGuid);
String url=puser.getUserPicture(); String url=puser.getUserPicture();
if(!url.startsWith("http")){ if(!StringUtils.isBlank(url) && !url.startsWith("http")){
url="http://62.234.3.186"+url; url="http://62.234.3.186"+url;
} }
faceJo.put("url",url); faceJo.put("url",url);

View File

@ -85,6 +85,7 @@ public class SysUserExtServiceImpl implements ISysUserExtService
List<SysUserExt> userExts=sysUserExtMapper.selectSysUserExtList(where); List<SysUserExt> userExts=sysUserExtMapper.selectSysUserExtList(where);
where.setProjectId(sysUser.getDeptId()); where.setProjectId(sysUser.getDeptId());
where.setIsActive(userExts.size()==0?1l:0l); where.setIsActive(userExts.size()==0?1l:0l);
where.setWorkType(sysUser.getWorkType());
SysUserExt old=selectSysUserExtById(where); SysUserExt old=selectSysUserExtById(where);
if(Objects.nonNull(old)){ if(Objects.nonNull(old)){
old.setUserType(sysUser.getUserType()); old.setUserType(sysUser.getUserType());

View File

@ -393,7 +393,9 @@ public class SysUserServiceImpl implements ISysUserService
}else{//此电话号码未注册 }else{//此电话号码未注册
user.setCreateBy(user.getUpdateBy()); user.setCreateBy(user.getUpdateBy());
user.setCreateTime(user.getUpdateTime()); user.setCreateTime(user.getUpdateTime());
if(StringUtils.isBlank(user.getUserType())) {
user.setUserType("99"); user.setUserType("99");
}
rows=userMapper.insertUser(user); rows=userMapper.insertUser(user);
user.setIsActive(1l); user.setIsActive(1l);
if(isPrjUser) { if(isPrjUser) {
@ -436,6 +438,7 @@ public class SysUserServiceImpl implements ISysUserService
data.put("userId",user.getUserId()); data.put("userId",user.getUserId());
data.put("userName",user.getNickName()); data.put("userName",user.getNickName());
data.put("cardType","1"); data.put("cardType","1");
data.put("workType",user.getWorkType());
data.put("cardCode",user.getCardCode()); data.put("cardCode",user.getCardCode());
data.put("userSex",user.getSex()); data.put("userSex",user.getSex());
data.put("userPicture",user.getAvatar()); data.put("userPicture",user.getAvatar());
@ -467,6 +470,7 @@ public class SysUserServiceImpl implements ISysUserService
user.setCreateBy(user.getUpdateBy()); user.setCreateBy(user.getUpdateBy());
user.setCreateTime(user.getUpdateTime()); user.setCreateTime(user.getUpdateTime());
user.setUserType("99"); user.setUserType("99");
user.setWorkType(user.getWorkType());
userMapper.insertUser(user); userMapper.insertUser(user);
try { try {
String maOpenId = Convert.toStr(redisService.getCacheObject("SysUserUniopen::"+user.getPhonenumber()),null); String maOpenId = Convert.toStr(redisService.getCacheObject("SysUserUniopen::"+user.getPhonenumber()),null);
@ -496,6 +500,7 @@ public class SysUserServiceImpl implements ISysUserService
SysUserExt where=new SysUserExt(); SysUserExt where=new SysUserExt();
where.setUserId(user.getUserId()); where.setUserId(user.getUserId());
where.setComId(user.getComId()); where.setComId(user.getComId());
where.setWorkType(user.getWorkType());
List<SysUserExt> userExts=userExtService.selectSysUserExtList(where); List<SysUserExt> userExts=userExtService.selectSysUserExtList(where);
if(userExts.size()==0){ if(userExts.size()==0){
where.setIsActive(1l); where.setIsActive(1l);
@ -678,7 +683,15 @@ public class SysUserServiceImpl implements ISysUserService
throw new ServiceException("所属单位选择异常,必须选择子公司及下属单位"); throw new ServiceException("所属单位选择异常,必须选择子公司及下属单位");
} }
user.setComId(dept.getComId()); user.setComId(dept.getComId());
SysUserExt userExtWhere = new SysUserExt();
userExtWhere.setUserId(userId);
List<SysUserExt> extList=userExtService.selectSysUserExtList(userExtWhere);
if(extList.size()>0){
SysUserExt oldExt=extList.get(0);
oldExt.setWorkType(user.getWorkType());
oldExt.setUserType(user.getUserType());
userExtService.updateSysUserExt(oldExt);
}
try { try {
if(Objects.equals(user.getUserType(),"99")){ if(Objects.equals(user.getUserType(),"99")){
// 根据单位递归查询项目信息 // 根据单位递归查询项目信息

View File

@ -45,6 +45,7 @@ export function updateUser(data) {
userId:data.userId, userId:data.userId,
userName:data.userName, userName:data.userName,
userType:data.userType, userType:data.userType,
workType:data.workType,
sex:data.sex, sex:data.sex,
status:data.status, status:data.status,
postIds:data.postIds, postIds:data.postIds,

View File

@ -14,7 +14,7 @@
:disable-transitions="true" :disable-transitions="true"
:key="item.value + ''" :key="item.value + ''"
:index="index" :index="index"
:type="item.elTagType === 'primary' ? '' : item.elTagType" :type="item.elTagType === 'primary' ? 'info' : item.elTagType"
:class="item.elTagClass" :class="item.elTagClass"
>{{ item.label + " " }}</el-tag >{{ item.label + " " }}</el-tag
> >

View File

@ -181,15 +181,31 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<div style="width: 100%;"> <div style="width: 100%;">
<el-row>
<el-col :span="12">
<el-form-item label="联系电话" prop="userPhone"> <el-form-item label="联系电话" prop="userPhone">
<el-input v-model="form.userPhone" disabled v-if="data.mode == 'edit'" placeholder="请输入联系电话" <el-input v-model="form.userPhone" disabled v-if="data.mode == 'edit'" placeholder="请输入联系电话"
minlength="11" maxlength="11" style="width: 200px;" /> minlength="11" maxlength="11" style="width: 150px;" />
<el-input v-model="form.userPhone" v-else placeholder="请输入联系电话" minlength="11" maxlength="11" <el-input v-model="form.userPhone" v-else placeholder="请输入联系电话" minlength="11" maxlength="11"
style="width: 200px;" /> style="width: 150px;" />
<el-button type="primary" v-if="data.mode != 'edit' && false" style="margin-left:10px;" <el-button type="primary" v-if="data.mode != 'edit' && false" style="margin-left:10px;"
@click="queryPhone">查询</el-button> @click="queryPhone">查询</el-button>
<span style="margin-left:10px;color:#999;">此电话号码将用作登录</span> <span style="margin-left:10px;color:#999;">此电话号码将用作登录</span>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="用户岗位" prop="workType">
<el-select v-model="form.userWorkType" style="width:40%" @change="doWorkTypeChange">
<el-option v-for="item in data.prjWorkCategories" :key="item" :label="item"
:value="item" ></el-option>
</el-select>
<el-select v-model="form.workType" placeholder="请选择用户岗位" style="width:calc(60% - 12px);margin-left:10px;">
<el-option v-for="item in data.prjWorkTypes" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div> </div>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="班组名称" prop="subDeptGroup"> <el-form-item label="班组名称" prop="subDeptGroup">
@ -280,7 +296,9 @@ import useUserStore from '@/store/modules/user'
import dayjs from 'dayjs' import dayjs from 'dayjs'
const userStore = useUserStore() const userStore = useUserStore()
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { sys_use_status, pro_craft_type, sys_is_del, pro_craft_post, certificate_type, educational_type,sys_user_sex } = proxy.useDict('sys_use_status', 'pro_craft_type', 'sys_is_del', 'pro_craft_post', 'certificate_type', 'educational_type','sys_user_sex'); const { sys_use_status, pro_craft_type, sys_is_del, pro_craft_post, certificate_type, educational_type,sys_user_sex,user_work_type } =
proxy.useDict('sys_use_status', 'pro_craft_type', 'sys_is_del', 'pro_craft_post', 'certificate_type',
'educational_type','sys_user_sex','user_work_type');
const proProjectInfoSubdeptsUsersList = ref([]); const proProjectInfoSubdeptsUsersList = ref([]);
const open = ref(false); const open = ref(false);
@ -324,10 +342,13 @@ const data = reactive({
illnessStatus: null, illnessStatus: null,
supIllnessStatus: null, supIllnessStatus: null,
isDel: null, isDel: null,
userWorkType:null,
workType:null,
}, },
rules: { rules: {
subDeptId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属单位" }], subDeptId: [{ required: true, trigger: ['blur', 'change'], message: "请选择所属单位" }],
userName: [{ required: true, trigger: ['blur', 'change'], message: "请输入姓名" }], userName: [{ required: true, trigger: ['blur', 'change'], message: "请输入姓名" }],
workType: [{ required: true, trigger: ['blur', 'change'], message: "请选择用户岗位" }],
userPhone: [ userPhone: [
{ required: true, trigger: ['blur', 'change'], message: "请输入手机号码" }, { required: true, trigger: ['blur', 'change'], message: "请输入手机号码" },
{ min: 11, max: 11, message: '请输入有效手机号码', trigger: 'blur' }, { min: 11, max: 11, message: '请输入有效手机号码', trigger: 'blur' },
@ -349,6 +370,9 @@ const data = reactive({
mode: '', mode: '',
editData: null, editData: null,
craftPostList:[], craftPostList:[],
prjWorkTypeObj:{},
prjWorkCategories:[],//
prjWorkTypes:[],//
}); });
const { queryParams, form, rules } = toRefs(data); const { queryParams, form, rules } = toRefs(data);
@ -366,7 +390,9 @@ function handleEnter(row) {
}); });
} }
} }
function doWorkTypeChange(){
data.prjWorkTypes = data.prjWorkTypeObj[form.value.userWorkType]
}
//, //,
function handleBatchEnterState(state) { function handleBatchEnterState(state) {
if (ids.value.length == 0) { if (ids.value.length == 0) {
@ -820,7 +846,23 @@ function handleExport() {
...queryParams.value ...queryParams.value
}, `proProjectInfoSubdeptsUsers_${new Date().getTime()}.xlsx`) }, `proProjectInfoSubdeptsUsers_${new Date().getTime()}.xlsx`)
} }
loadSubDepts(); function getUserWorkType(){
let obj={};
user_work_type.value.filter(d=>d.elTagClass=="项目人员").forEach(d=>{
let bigType=d.remark;
d.value=""+d.value;
if(!obj[bigType]){
obj[bigType]=[];
data.prjWorkCategories.push(bigType);
}
obj[bigType].push(d);
});
data.prjWorkTypeObj=obj;
}
loadSubDepts(()=>{
getUserWorkType();
});
getList(); getList();
</script> </script>
<style lang="scss"> <style lang="scss">

View File

@ -126,7 +126,7 @@
<el-tree-select ref="selTreeDept" v-if="data.mode=='add'" v-model="form.deptId" :data="deptOptions" <el-tree-select ref="selTreeDept" v-if="data.mode=='add'" v-model="form.deptId" :data="deptOptions"
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id" :props="{ value: 'id', label: 'label', children: 'children' }" value-key="id"
placeholder="请选择所属部门" check-strictly style="width:100%" @change="handleChangeDept" /> placeholder="请选择所属部门" check-strictly style="width:100%" @change="handleChangeDept" />
<e-tag v-else>{{ form.dept?.deptName }}</e-tag> <el-tag type="primary" v-else>{{ form.dept?.deptName }}</el-tag>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -153,7 +153,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="手机号码" prop="phonenumber"> <el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="form.phonenumber" :disabled="form.userId || data.editUser" placeholder="请输入手机号码" <el-input v-model="form.phonenumber" :disabled="form.userId || data.editUser" placeholder="请输入手机号码"
maxlength="11" style="width: 150px;" autocomplete="off" disableautocomplete /> maxlength="11" style="width: 150px;" autocomplete="new-password" disableautocomplete />
<el-button v-if="data.mode == 'add' && !data.editUser" type="primary" style="margin-left: 10px;" <el-button v-if="data.mode == 'add' && !data.editUser" type="primary" style="margin-left: 10px;"
@click="doQueryUser">查询</el-button> @click="doQueryUser">查询</el-button>
<el-button v-if="data.editUser" type="success" style="margin-left: 10px;" <el-button v-if="data.editUser" type="success" style="margin-left: 10px;"
@ -163,7 +163,7 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="登录密码" prop="password"> <el-form-item label="登录密码" prop="password">
<el-input v-model="form.password" placeholder="请输入登录密码" type="password" maxlength="20" <el-input v-model="form.password" placeholder="请输入登录密码" type="password" maxlength="20"
:disabled="form.userId" :show-password="!form.userId" autocomplete="off" disableautocomplete /> :disabled="form.userId" :show-password="!form.userId" autocomplete="new-password" disableautocomplete />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -183,10 +183,19 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户岗位"> <el-form-item label="用户岗位" prop="workType">
<el-select v-model="form.postIds" multiple placeholder="请选择用户岗位" style="width:100%"> <el-select v-model="form.workType" v-if="form.userType=='00'" placeholder="请选择用户岗位" style="width:100%">
<el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" <el-option v-for="item in data.sysWorkTypes" :key="item.value" :label="item.label"
:value="item.postId" :disabled="item.status == 1"></el-option> :value="item.value" ></el-option>
</el-select>
<el-select v-model="form.userWorkType" v-if="form.userType!='00'" style="width:40%" @change="doWorkTypeChange">
<el-option v-for="item in data.prjWorkCategories" :key="item" :label="item"
:value="item" ></el-option>
</el-select>
<el-select v-model="form.workType" v-if="form.userType!='00'" placeholder="请选择用户岗位" style="width:calc(60% - 12px);margin-left:10px;">
<el-option v-for="item in data.prjWorkTypes" :key="item.value" :label="item.label"
:value="item.value" ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -212,7 +221,7 @@
</el-form> </el-form>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button> <el-button type="primary" @click="submitForm" :disabled="data.loading"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
</div> </div>
</template> </template>
@ -252,10 +261,11 @@ import { getDeptRole } from "@/api/system/role";
import { import {
changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, selectByPhone, deptTreeSelect, getUserByName changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser, selectByPhone, deptTreeSelect, getUserByName
} from "@/api/system/user"; } from "@/api/system/user";
import { onMounted } from "vue";
const router = useRouter(); const router = useRouter();
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { sys_user_type, sys_normal_disable, sys_user_sex } = proxy.useDict("sys_user_type", "sys_normal_disable", "sys_user_sex"); const { sys_user_type, sys_normal_disable, sys_user_sex,user_work_type } = proxy.useDict("sys_user_type", "sys_normal_disable", "sys_user_sex","user_work_type");
const userList = ref([]); const userList = ref([]);
const open = ref(false); const open = ref(false);
@ -303,6 +313,7 @@ const columns = ref([
]); ]);
const data = reactive({ const data = reactive({
loading:false,
form: {}, form: {},
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -318,6 +329,7 @@ const data = reactive({
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }], userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }], nickName: [{ required: true, message: "用户姓名不能为空", trigger: "blur" }],
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }], userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
cardCode: [{ required: true, message: "证件号码不能为空", trigger: "blur" }], cardCode: [{ required: true, message: "证件号码不能为空", trigger: "blur" }],
avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }], avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }],
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }], roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
@ -327,7 +339,11 @@ const data = reactive({
avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }], avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }],
}, },
editUser: null, editUser: null,
mode: '' mode: '',
sysWorkTypes:[], //
prjWorkTypeObj:{},
prjWorkCategories:[],//
prjWorkTypes:[],//
}); });
const { queryParams, form, rules } = toRefs(data); const { queryParams, form, rules } = toRefs(data);
@ -346,6 +362,7 @@ function getDeptTree() {
deptTreeSelect().then(response => { deptTreeSelect().then(response => {
deptOptions.value = response.data; deptOptions.value = response.data;
defaultEK.value.push(response.data[0].id); defaultEK.value.push(response.data[0].id);
getUserWorkType();
}); });
}; };
// //
@ -360,6 +377,9 @@ function doQueryUser() {
} }
}); });
} }
function doWorkTypeChange(){
data.prjWorkTypes = data.prjWorkTypeObj[form.value.userWorkType]
}
function doQueryUserByName() { function doQueryUserByName() {
getUserByName(form.value.nickName).then(d => { getUserByName(form.value.nickName).then(d => {
if (!d.data) { if (!d.data) {
@ -398,6 +418,7 @@ function doRoleChange() {
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }], userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }], nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }], userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }], password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }], phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
cardCode: [{ required: true, message: "用户名称不能为空", trigger: "blur" }], cardCode: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
@ -410,11 +431,13 @@ function doRoleChange() {
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }], userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }], nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }], userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }], roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }], password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }] phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
} }
} }
form.value.workType='';
} }
else { else {
if (form.value.userType == 99) { if (form.value.userType == 99) {
@ -423,6 +446,7 @@ function doRoleChange() {
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }], userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }], nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }], userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }], phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }],
cardCode: [{ required: true, message: "用户名称不能为空", trigger: "blur" }], cardCode: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }], avatar: [{ required: true, message: "入场近照不能为空", trigger: "change" }],
@ -434,6 +458,7 @@ function doRoleChange() {
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }], userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }], nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }], userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }], roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }] phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
} }
@ -573,8 +598,13 @@ function reset() {
status: "0", status: "0",
remark: undefined, remark: undefined,
postIds: [], postIds: [],
roleIds: [] roleIds: [],
userType:'00',
userWorkType:undefined,
workType: undefined,
}; };
form.value.userWorkType=data.prjWorkCategories[0];
data.prjWorkTypes=data.prjWorkTypeObj[form.value.userWorkType];
proxy.resetForm("userRef"); proxy.resetForm("userRef");
data.mode = '' data.mode = ''
}; };
@ -592,6 +622,7 @@ function handleAdd() {
userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }], userName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }, { min: 2, max: 20, message: "用户名称长度必须介于 2 和 20 之间", trigger: "blur" }],
nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }], nickName: [{ required: true, message: "用户名称不能为空", trigger: "blur" }],
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }], userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }], roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }], password: [{ required: true, message: "用户密码不能为空", trigger: "blur" }, { min: 5, max: 20, message: "用户密码长度必须介于 5 和 20 之间", trigger: "blur" }],
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }] phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
@ -610,7 +641,7 @@ function handleUpdate(row) {
const userId = row.userId || ids.value; const userId = row.userId || ids.value;
getUser(userId).then(response => { getUser(userId).then(response => {
data.rules = { data.rules = {
workType: [{ required: true, message: "用户岗位不能为空", trigger: "change" }],
userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }], userType: [{ required: true, message: "用户类型不能为空", trigger: "change" }],
roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }], roleIds: [{ required: true, message: "用户角色不能为空", trigger: "change" }],
phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }] phonenumber: [{ required: true, message: "手机号码不能为空", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "请输入正确的手机号码", trigger: "blur" }]
@ -619,6 +650,14 @@ function handleUpdate(row) {
postOptions.value = response.posts; postOptions.value = response.posts;
form.value.postIds = response.postIds; form.value.postIds = response.postIds;
form.value.roleIds = response.roleIds; form.value.roleIds = response.roleIds;
form.value.workType=form.value.workType?""+form.value.workType:"";
if(form.value.userType=='99'){
let tmps=user_work_type.value.filter(d=>d.value==form.value.workType);
if(tmps.length>0){
form.value.userWorkType=tmps[0].remark;
data.prjWorkTypes=data.prjWorkTypeObj[form.value.userWorkType];
}
}
open.value = true; open.value = true;
title.value = "修改用户"; title.value = "修改用户";
form.password = ""; form.password = "";
@ -656,6 +695,7 @@ const getCompId = () => {
/** 提交按钮 */ /** 提交按钮 */
function submitForm() { function submitForm() {
data.loading=true;
proxy.$refs["userRef"].validate(valid => { proxy.$refs["userRef"].validate(valid => {
if (valid) { if (valid) {
form.value.userName = form.value.nickName; form.value.userName = form.value.nickName;
@ -665,6 +705,7 @@ function submitForm() {
open.value = false; open.value = false;
getList(); getList();
data.mode = "" data.mode = ""
data.loading=false;
}); });
} else { } else {
addUser(form.value).then(response => { addUser(form.value).then(response => {
@ -672,12 +713,28 @@ function submitForm() {
open.value = false; open.value = false;
getList(); getList();
data.mode = "" data.mode = ""
data.loading=false;
}); });
} }
}else{
data.loading=false;
} }
}); });
}; };
function getUserWorkType(){
data.sysWorkTypes=user_work_type.value.filter(d=>d.elTagClass=="系统人员");
let obj={};
user_work_type.value.filter(d=>d.elTagClass=="项目人员").forEach(d=>{
let bigType=d.remark;
d.value=""+d.value;
if(!obj[bigType]){
obj[bigType]=[];
data.prjWorkCategories.push(bigType);
}
obj[bigType].push(d);
});
data.prjWorkTypeObj=obj;
}
getDeptTree(); getDeptTree();
getList(); getList();
</script> </script>