diff --git a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.html b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.html index bfbb3a6..603a1f5 100644 --- a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.html +++ b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.html @@ -1,6 +1,8 @@
-
+ + + 姓名 @@ -10,9 +12,10 @@ 系统账号 - - + + 请输入系统账号 + 本账号已存在 @@ -44,6 +47,12 @@ 请选择所属角色 + + 描述 + + + + 身份证号 @@ -71,7 +80,7 @@ - - - - - - -
+
diff --git a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.scss b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.scss index 63d221c..c0b4aca 100644 --- a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.scss +++ b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.scss @@ -1,3 +1,13 @@ +.user-modify-box{ + position: relative; + .user-footer{ + display: inline-block; + position: absolute; + bottom: 30px; + left: 50%; + transform: translate(-50%,0) + } +} .ztree{ padding-bottom: 40px; padding-right: 16px; diff --git a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.ts b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.ts index 30ed3e1..45fd4e9 100644 --- a/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.ts +++ b/src/app/pages/system-management/user-management/user-management-modify/user-management-modify.component.ts @@ -30,6 +30,15 @@ export class UserManagementModifyComponent implements OnInit { saveCheck:any=false; //保存检查,保存验证表单 false 还未验证 true 触发了验证 roleList:any=[]; //保存所选角色 listOfRole:any=[]; //角色列表 + nameOnly:any=true; //系统账号是否唯一 true唯一 false重复 + oldLoginName:any=''; //修改时,保存原本的系统账号,用于检测唯一性 + checkNameStatus:any=''; //检测账号唯一性的图标状态 + modifyType:any=1; //当前页面操作类型 1 新增用户 2 编辑用户 + userId:any=''; //用户ID 修改的用户ID + userDetail:any={}; //用户详情 + statusParamsDetail:any={ //获取用户详情接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status:1, + } constructor( private fb: FormBuilder, private http:HttpClientService, @@ -49,19 +58,84 @@ export class UserManagementModifyComponent implements OnInit { mobile:[ ''], sex:['m'], status:['1'], - role:[''] + role:[''], + remark: [''] }); //取路由参数 this.route.queryParams.subscribe(routeParams=>{ + this.modifyType=routeParams.operateType; //routeParams 1新增 2修改 if(routeParams.operateType==2){ - + this.userId=routeParams.id; + this.queryUserDetail(); + + }else{ + this.statusParamsDetail.status=3; } }) } + //获取用户详情 + queryUserDetail(){ + this.http.get('/sysapi/setting/user/detail/list', { uid:this.userId }).subscribe((json)=>{ + if(json.is_success){ + if(json.body){ + this.statusParamsDetail.status=3; + this.userDetail=json.body; + let detail=json.body; + this.validateForm.setValue({ + real_name:detail.real_name, + login_name:detail.login_name, + password:detail.password, + identify_num:detail.identify_num, + email:detail.email, + mobile:detail.mobile, + sex:detail.sex, + status:detail.status, + role:'', + remark:detail.remark, + }) + this.oldLoginName=detail.login_name; + if(detail.orgList&&detail.orgList.length>0){ + this.orgDetail=detail.orgList[0]; + } + if(detail.roleList&&detail.roleList.length>0){ + detail.roleList.forEach(item=>{ + this.roleList.push(item.rid) + }) + } + }else{ + this.statusParamsDetail.status=4; + } + }else{ + this.statusParamsDetail.status=0; + } + }) + } + //检验系统账号的唯一性 checkName(){ - console.log(334343) + console.log(this.validateForm.value.login_name.trim()) + console.log(this.oldLoginName) + if(this.modifyType==2&&this.validateForm.value.login_name.trim()==this.oldLoginName){ + this.nameOnly = true; + this.checkNameStatus='success'; + return false; + } + this.checkNameStatus='validating'; + this.http.get('/sysapi/setting/user/isOnly', { loginName: this.validateForm.value.login_name.trim() }).subscribe((json) => { + if (json.is_success) { + if(json.body){ + this.checkNameStatus='success'; + this.nameOnly = true; + }else{ + this.checkNameStatus='error'; + this.nameOnly = false; + } + } else { + this.message.error(`账号验证接口错误`) + } + + }) } //机构树,搜索功能 searchNode() { @@ -108,37 +182,67 @@ export class UserManagementModifyComponent implements OnInit { this.visible = false; } - submitForm(): void { + submitForm(){ this.saveCheck=true; for (const i in this.validateForm.controls) { this.validateForm.controls[ i ].markAsDirty(); this.validateForm.controls[ i ].updateValueAndValidity(); } - if(this.validateForm.valid&&this.orgDetail&&this.roleList.length>0){ - let item=this.validateForm.value; - let params={ - real_name: item.real_name, - login_name: item.login_name, - password: item.password, - mobile: item.mobile, - sex: item.sex, - identify_num: item.identify_num, - email: item.email, - status: item.status, - orgList: [], - roleList: [], - }; - this.roleList.forEach(option=>{ - params.roleList.push({ - rid:option - }) - }) - this.orgList.forEach(option=>{ - if(option.id==this.orgDetail.id){ - params.orgList.push(option) + if(this.validateForm.valid&&this.orgDetail&&this.roleList.length>0&&this.nameOnly){ + //再次检验账号唯一性,避免用户填完账号直接点击提交,无法利用blur事件验证。 + if(this.modifyType==2&&this.validateForm.value.login_name.trim()==this.oldLoginName){ + this.nameOnly = true; + this.checkNameStatus='success'; + this.submitConfirm(2); + return false; + } + this.checkNameStatus='validating'; + this.http.get('/sysapi/setting/user/isOnly', { loginName: this.validateForm.value.login_name.trim() }).subscribe((json) => { + if (json.is_success) { + if(json.body){ + this.checkNameStatus='success'; + this.nameOnly = true; + //表单处理 + this.submitConfirm(this.modifyType); + }else{ + this.checkNameStatus='error'; + this.nameOnly = false; + return false; + } + } else { + this.message.error(`账号验证接口错误`) } }) - console.log(params) + } + } + //确认提交表单 + submitConfirm(type){ + let item=this.validateForm.value; + let params={ + real_name: item.real_name, + login_name: item.login_name, + password: item.password, + mobile: item.mobile, + sex: item.sex, + identify_num: item.identify_num, + email: item.email, + status: item.status, + remark: item.remark, + orgList: [], + roleList: [], + }; + this.roleList.forEach(option=>{ + params.roleList.push({ + rid:option + }) + }) + this.orgList.forEach(option=>{ + if(option.id==this.orgDetail.id){ + params.orgList.push(option) + } + }) + console.log(params) + if(type==1){ this.http.post('/sysapi/setting/user/add', params).subscribe((json) => { if (json.is_success) { this.message.success(`新增成功`); @@ -147,9 +251,17 @@ export class UserManagementModifyComponent implements OnInit { this.message.error(`新增失败`) } }) + }else if(type==2){ + this.http.put('/sysapi/setting/user/updateById/'+this.userId, params).subscribe((json) => { + if (json.is_success) { + this.message.success(`修改成功`); + this.router.navigate(['app/system/users']) + } else { + this.message.error(`修改失败`) + } + }) } - - + } //取消 返回列表页 cancel(){ diff --git a/src/app/pages/system-management/user-management/user-management.component.html b/src/app/pages/system-management/user-management/user-management.component.html index adaa731..177eafc 100644 --- a/src/app/pages/system-management/user-management/user-management.component.html +++ b/src/app/pages/system-management/user-management/user-management.component.html @@ -112,6 +112,24 @@ +
+
+ + 所属角色 + + {{option.role_name}} + + + +
+
+ + 描述 + {{userDetail.remark}} + + +
+
@@ -137,17 +155,6 @@
- - 所属角色 - - {{option.role_name}} - - - -
-
-
-
状态 已激活 @@ -155,6 +162,8 @@
+
+
性别