From f2311970463a8e0fd5753467442a485032532e18 Mon Sep 17 00:00:00 2001 From: zhouyuejun <505127606@qq.com> Date: Mon, 25 Feb 2019 16:55:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86UI=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E4=BF=AE=E6=94=B9=E5=8F=8A=E9=80=BB=E8=BE=91=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/components/pipe/no-value.component.ts | 1 - .../request-status.component.scss | 6 +- src/app/pages/main.scss | 9 +- .../department-management.component.html | 500 ++++++------- .../department-management.component.scss | 23 +- .../department-management.component.ts | 4 +- .../personal-settings.component.html | 4 +- .../role-management-modify.component.html | 191 ++--- .../role-management-modify.component.scss | 19 +- .../role-management-modify.component.ts | 608 ++++++++-------- .../role-management.component.html | 120 ++-- .../role-management.component.scss | 8 +- .../user-management-modify.component.html | 247 ++++--- .../user-management-modify.component.scss | 19 +- .../user-management-modify.component.ts | 664 +++++++++--------- .../user-management.component.html | 336 ++++----- .../user-management.component.scss | 14 +- .../user-management.component.ts | 7 +- 18 files changed, 1423 insertions(+), 1357 deletions(-) diff --git a/src/app/components/pipe/no-value.component.ts b/src/app/components/pipe/no-value.component.ts index 26acb1b..9e1cd52 100644 --- a/src/app/components/pipe/no-value.component.ts +++ b/src/app/components/pipe/no-value.component.ts @@ -3,7 +3,6 @@ import { Pipe, PipeTransform } from '@angular/core'; @Pipe({name: 'null'}) export class NoValue implements PipeTransform { transform(value: any, exponent: any): any { - console.log(value) if(value){ return value }else{ diff --git a/src/app/components/request-status/request-status.component.scss b/src/app/components/request-status/request-status.component.scss index 12599e2..7b7e78f 100644 --- a/src/app/components/request-status/request-status.component.scss +++ b/src/app/components/request-status/request-status.component.scss @@ -3,15 +3,13 @@ top: 50%; left: 50%; transform: translate(-50%,-50%); - text-align: center; + text-align: center; + z-index: 999; .loading-icon{ color: #1890ff; } .warning-icon{ color: orange - } - .data-null{ - } i{ font-size: 40px; diff --git a/src/app/pages/main.scss b/src/app/pages/main.scss index 04473e5..fa7382d 100644 --- a/src/app/pages/main.scss +++ b/src/app/pages/main.scss @@ -48,8 +48,9 @@ .tree-box{ position: relative; - min-width: 300px; - margin-right: 20px; + min-width: 250px; + max-width: 300px; + // margin-right: 20px; float: left; padding: 20px; height: 100%; @@ -58,8 +59,8 @@ } .page-box{ - text-align: center; - margin-top: 30px; + text-align: right; + margin-top: 10px; margin-bottom: 10px; } .table-operation-box{ diff --git a/src/app/pages/system-management/department-management/department-management.component.html b/src/app/pages/system-management/department-management/department-management.component.html index f925990..07e29d0 100644 --- a/src/app/pages/system-management/department-management/department-management.component.html +++ b/src/app/pages/system-management/department-management/department-management.component.html @@ -1,247 +1,271 @@ -
-
-
- -
    -
    -
    -
    - - - -
    - - -
    -
    -
    - - 机构名称 - {{orgDetail.organization|null}} - -
    -
    - - 机构简称 - {{orgDetail.shortName|null}} - -
    -
    - - 机构编码 - {{orgDetail.code|null}} - -
    -
    - - 联系人 - {{orgDetail.contact_person|null}} - -
    -
    - - 联系方式 - {{orgDetail.contact_method|null}} - -
    -
    - - 机构地址 - {{orgDetail.address|null}} - -
    -
    - - 机构类型 - 机构 - 部门 - - -
    -
    - - 上级 - {{parentName|null}} - -
    -
    - - 机构负责人 - - -
    -
    - - - - 姓名 - 用户名 - 电话 - 邮箱 - - - - - {{item.real_name}} - {{item.login_name}} - {{item.mobile}} - {{item.email}} - - - -
    -
    -
    - - -
    - - 机构名称 - - - 请输入机构名称 - - - - 机构简称 - - - 请输入机构简称 - - - - 机构编码 - - - 请输入机构编码 - 该编码已存在 - - - - 联系人 - - - 请输入联系人 - - - - 联系方式 - - - 请输入联系方式 - - - - 机构地址 - - - - - - 机构类型 - - - - - - - - - 所属机构 - - - {{orgSeleted.organization}} - - 修改选择 - 请选择所属机构 - - - - 机构负责人 - - 选择 - - -
    - - - - 姓名 - 用户名 - 电话 - 操作 - - - - - {{item.real_name}} - {{item.login_name}} - {{item.mobile}} - - - - - - -
    +
    +
    +
    + +
      +
      +
      +
      + + + +
      + + + +
      + + 机构名称 + {{orgDetail.organization|null}} + +
      +
      + + 机构简称 + {{orgDetail.shortName|null}} + +
      +
      + + 机构编码 + {{orgDetail.code|null}} + +
      +
      + + 联系人 + {{orgDetail.contact_person|null}} + +
      +
      + + 联系方式 + {{orgDetail.contact_method|null}} + +
      +
      + + 机构地址 + {{orgDetail.address|null}} + +
      +
      + + 机构类型 + 机构 + 部门 + + +
      +
      + + 上级 + {{parentName|null}} + +
      +
      + + 机构负责人 +
      + + + + 姓名 + 用户名 + 电话 + 邮箱 + + + + + {{item.real_name}} + {{item.login_name}} + {{item.mobile}} + {{item.email}} + + + +
      +
      +
      + + + +
      +
      + + 机构名称 + + + 请输入机构名称 + + +
      +
      + + 机构简称 + + + 请输入机构简称 + + +
      +
      + + 机构编码 + + + 请输入机构编码 + 该编码已存在 + + +
      +
      + + 联系人 + + + 请输入联系人 + + +
      +
      + + 联系方式 + + + 请输入联系方式 + + +
      +
      + + 机构地址 + + + + +
      +
      + + 机构类型 + + + + + + + +
      +
      + + 所属机构 + + + {{orgSeleted.organization}} + + 修改选择 + 请选择所属机构 + + +
      +
      + + 机构负责人 + + 选择 + +
      + + + + 姓名 + 用户名 + 电话 + 操作 + + + + + {{item.real_name}} + {{item.login_name}} + {{item.mobile}} + + + + + + +
      +
      +
      -
      - - -
      -
      + + + +
      +
      - -
      - -
        - -
        -
        + +
        + +
          + +
          +
          - -
          -
          - - - - - 姓名 - 用户名 - 电话 - - - - - - {{item.real_name}} - {{item.login_name}} - {{item.mobile}} - - - -
          - -
          -
          - -
          -
          + +
          +
          + + + + + 姓名 + 用户名 + 电话 + + + + + + {{item.real_name}} + {{item.login_name}} + {{item.mobile}} + + + +
          + +
          +
          + +
          +
          \ No newline at end of file diff --git a/src/app/pages/system-management/department-management/department-management.component.scss b/src/app/pages/system-management/department-management/department-management.component.scss index fcc8c96..21848f1 100644 --- a/src/app/pages/system-management/department-management/department-management.component.scss +++ b/src/app/pages/system-management/department-management/department-management.component.scss @@ -8,7 +8,8 @@ } .operation-box{ border-bottom: 1px solid #e8e8e8; - padding-bottom: 20px; + padding-bottom: 24px; + margin-bottom: 24px; button{ margin-right: 10px; } @@ -21,13 +22,15 @@ margin-top: 20px; } .user-table{ - width: 80%; - margin: 0 auto; + // width: 80%; + // margin: 0 auto; margin-bottom: 30px; } } .tree-box{ - overflow-y:scroll; + overflow-y:auto; + overflow-x: auto; + margin-right: 20px; } } .user-footer{ @@ -42,14 +45,14 @@ } } .ztree-child{ - padding-bottom: 40px; - padding-right: 16px; + border: 1px solid #ddd; + margin-top: 20px; + margin-bottom: 20px; + padding: 16px; } .drawer-footer{ - display: inline-block; - position: relative; - left: 50%; - transform: translate(-50%) + position: relative; + text-align: right; } .users-box{ padding-bottom: 30px; diff --git a/src/app/pages/system-management/department-management/department-management.component.ts b/src/app/pages/system-management/department-management/department-management.component.ts index d36c898..b604b33 100644 --- a/src/app/pages/system-management/department-management/department-management.component.ts +++ b/src/app/pages/system-management/department-management/department-management.component.ts @@ -215,11 +215,11 @@ export class DepartmentManagementComponent implements OnInit { //打开机构树抽屉 open(): void { this.treeSelectedChild=''; - // this.visible = true; + this.visible = true; } //关闭机构选择页面 close(): void { - // this.visible = false; + this.visible = false; } //删除机构标签 tagClose(event){ diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.html b/src/app/pages/system-management/personal-settings/personal-settings.component.html index 90a55c8..f3409a4 100644 --- a/src/app/pages/system-management/personal-settings/personal-settings.component.html +++ b/src/app/pages/system-management/personal-settings/personal-settings.component.html @@ -47,12 +47,12 @@ - + diff --git a/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.html b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.html index 9839741..2523fd5 100644 --- a/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.html +++ b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.html @@ -1,98 +1,103 @@
          -
          - - -
          - - 角色名称 - - - 请输入角色名称 - - - - 角色类型 - - - - - - - - - 角色用户 - - 选择 - - -
          - - - - 姓名 - 用户名 - 电话 - 操作 - - - - - {{item.real_name}} - {{item.login_name}} - {{item.mobile}} - - - - - - -
          - - 功能权限 - -
          -
            -
            -
            -
            -
            - -
            +
            + + +
            + + 角色名称 + + + 请输入角色名称 + + + + 角色类型 + + + + + + + + + 包含的用户 + + 选择 + + +
            + + + + 姓名 + 用户名 + 电话 + 操作 + + + + + {{item.real_name}} + {{item.login_name}} + {{item.mobile}} + + + + + + +
            + + 功能权限 + +
            +
              +
              +
              +
              +
              + +
              - -
              -
              - - - - - 姓名 - 用户名 - 电话 - - - - - - {{item.real_name}} - {{item.login_name}} - {{item.mobile}} - - - -
              - -
              -
              - -
              -
              + +
              +
              + + + + + 姓名 + 用户名 + 电话 + + + + + + {{item.real_name}} + {{item.login_name}} + {{item.mobile}} + + + +
              + +
              +
              + +
              +
              \ No newline at end of file diff --git a/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.scss b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.scss index e5cab96..1926c73 100644 --- a/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.scss +++ b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.scss @@ -1,13 +1,17 @@ @import "../../../main.scss"; .system-main-container{ - overflow-y:auto; + overflow-y:auto; + /deep/ .ant-form-item{ + margin-bottom: 0; + } } .user-modify-box{ - position: relative; + position: relative; + min-height: 100%; + margin-bottom: 0 !important; .user-footer{ text-align: center; - margin-top: -20px; - + margin-top: 20px; } } .ztree{ @@ -20,8 +24,8 @@ height: 40px; } .user-table{ - width: 80%; - margin: 0 auto; + // width: 80%; + // margin: 0 auto; margin-bottom: 30px; } .drawer-footer{ @@ -33,9 +37,6 @@ .users-box{ padding-bottom: 30px; } -.tree-box{ - margin-bottom: 40px; -} //火狐浏览器单独设置样式 解决在火狐浏览器下 底部padding-bottom无效问题 @-moz-document url-prefix(){ .user-footer{ diff --git a/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.ts b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.ts index b9ebf22..31df3d5 100644 --- a/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.ts +++ b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.ts @@ -1,329 +1,335 @@ import { Component, OnInit } from '@angular/core'; -import { FormBuilder,FormControl,FormGroup,Validators} from '@angular/forms'; +import { Location } from '@angular/common'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; import { HttpClientService } from '../../../../services/http-client.service'; -import { Router,ActivatedRoute } from '@angular/router'; +import { Router, ActivatedRoute } from '@angular/router'; import { NzMessageService } from 'ng-zorro-antd'; -import { Observable } from 'rxjs'; + import 'ztree'; declare var $: any; -declare var jQuery: any; @Component({ - selector: 'app-role-management-modify', - templateUrl: './role-management-modify.component.html', - styleUrls: ['./role-management-modify.component.scss'] + selector: 'app-role-management-modify', + templateUrl: './role-management-modify.component.html', + styleUrls: ['./role-management-modify.component.scss'] }) export class RoleManagementModifyComponent implements OnInit { - /* 新树形组件参数 begin*/ - parentNode:any; - parentName:any; - treeSelected:any; - isTreeTop:any; - /* 新树形组件参数 bed */ - validateForm: FormGroup; - visibleUsers = false; //控制抽屉显示 - statusParamsDetail:any={ //获取用户详情接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 - status:1, - } - statusParamsUsers:any={ //接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 - status:1, - } - modifyType:any=1; //当前页面操作类型 1 新增 2 编辑 - public roleId:any=''; - public userSelecteds:any=[]; //机构负责人已选用户-新增、修改时 - public userData:any=[]; //用户列表数据 - public search:any={ - page_index:'1', - page_size:'10', - real_name:'', - } - collectionSize:any ; - public permissionChecked:any=[]; //角色详情的权限列表 - isLoadingSave:any=false; - - constructor( - private fb: FormBuilder, - private http:HttpClientService, - private route:ActivatedRoute, - private router:Router, - private message: NzMessageService, - ) { } + /* 新树形组件参数 begin*/ + parentNode: any; + parentName: any; + treeSelected: any; + isTreeTop: any; + /* 新树形组件参数 bed */ + validateForm: FormGroup; + visibleUsers = false; //控制抽屉显示 + statusParamsDetail: any = { //获取用户详情接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status: 1, + } + statusParamsUsers: any = { //接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status: 1, + } + modifyType: any = 1; //当前页面操作类型 1 新增 2 编辑 + public roleId: any = ''; + public userSelecteds: any = []; //机构负责人已选用户-新增、修改时 + public userData: any = []; //用户列表数据 + public search: any = { + page_index: '1', + page_size: '10', + real_name: '', + } + collectionSize: any; + public permissionChecked: any = []; //角色详情的权限列表 + isLoadingSave: any = false; - ngOnInit() { - this.validateForm = this.fb.group({ - role_name:[ '', [ Validators.required ] ], - role_type:[ '1', [ Validators.required ] ], //0=系统内置(不可删除) ,1=用户定义 - description:[ ''], - role_code:[ ''], - status:[''], - user:[], - permission:[], - }); - this.queryTable(); - //取路由参数 - this.route.queryParams.subscribe(routeParams=>{ - this.modifyType=routeParams.operateType; - //routeParams 1新增 2修改 - if(routeParams.operateType==2){ - this.roleId=routeParams.id; - this.queryUserById(); - this.queryDetail(); - }else{ - this.initTree(); - this.statusParamsDetail.status=3; - } - }) - } - submitForm(){ - let permission:any=[]; - var zTree = $.fn.zTree.getZTreeObj("treeDemo"); - var checkList=zTree.getCheckedNodes(true); - if(checkList.length>0){ - for(var i=0;i0){ - this.userSelecteds.forEach(item=>{ - users.push({ - uid:item.uid, - real_name:item.real_name, - mobile:item.mobile, - email:item.email, - sex:item.sex, - }) - }) - } - this.validateForm.patchValue({ - permission:permission, - user:users, - }) - this.isLoadingSave=true; - if(this.modifyType==1){ - this.http.post('/sysapi/setting/role/add/',this.validateForm.value).subscribe((json)=>{ - this.isLoadingSave=true; - if(json.is_success){ - this.message.success(`新增成功!`); - this.router.navigate(['app/system/roles']) - }else{ - this.message.error(`新增失败!`); - } - }) - }else if(this.modifyType==2){ - this.isLoadingSave=true; - this.http.put('/sysapi/setting/role/update/'+this.roleId,this.validateForm.value).subscribe((json)=>{ - if(json.is_success){ - this.message.success(`修改成功!`); - this.router.navigate(['app/system/roles']) - }else{ - this.message.error(`修改失败!`); - } - }) - } - - } - //修改时查询该角色下的所有用户 - queryUserById():void{ - this.http.get('/sysapi/setting/role/users/'+this.roleId).subscribe((json)=>{ - if(json.is_success){ - json.body.forEach(item=>{ - item.checked=true; - item.disabled=false; - this.userSelecteds = [ ...this.userSelecteds, item]; - }) + constructor( + private fb: FormBuilder, + private http: HttpClientService, + private route: ActivatedRoute, + private router: Router, + private location: Location, + private message: NzMessageService, + ) { } - }else{ + ngOnInit() { + this.validateForm = this.fb.group({ + role_name: ['', [Validators.required]], + role_type: ['1', [Validators.required]], //0=系统内置(不可删除) ,1=用户定义 + description: [''], + role_code: [''], + status: [''], + user: [], + permission: [], + }); + this.queryTable(); + //取路由参数 + this.route.queryParams.subscribe(routeParams => { + this.modifyType = routeParams.operateType; + //routeParams 1新增 2修改 + if (routeParams.operateType == 2) { + this.roleId = routeParams.id; + this.queryUserById(); + this.queryDetail(); + } else { + this.initTree(); + this.statusParamsDetail.status = 3; + } + }) + } + submitForm() { + let permission: any = []; + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + var checkList = zTree.getCheckedNodes(true); + if (checkList.length > 0) { + for (var i = 0; i < checkList.length; i++) { + if (checkList[i].checked && checkList[i].level != 0 && checkList[i].level != 1) { + permission.push({ + pid: checkList[i].id, + }) + } + } + } + let users: any = []; + if (this.userSelecteds && this.userSelecteds.length > 0) { + this.userSelecteds.forEach(item => { + users.push({ + uid: item.uid, + real_name: item.real_name, + mobile: item.mobile, + email: item.email, + sex: item.sex, + }) + }) + } + this.validateForm.patchValue({ + permission: permission, + user: users, + }) + this.isLoadingSave = true; + if (this.modifyType == 1) { + this.http.post('/sysapi/setting/role/add/', this.validateForm.value).subscribe((json) => { + this.isLoadingSave = true; + if (json.is_success) { + this.message.success(`新增成功!`); + this.router.navigate(['app/system/roles']) + } else { + this.message.error(`新增失败!`); + } + }) + } else if (this.modifyType == 2) { + this.isLoadingSave = true; + this.http.put('/sysapi/setting/role/update/' + this.roleId, this.validateForm.value).subscribe((json) => { + if (json.is_success) { + this.message.success(`修改成功!`); + this.router.navigate(['app/system/roles']) + } else { + this.message.error(`修改失败!`); + } + }) + } - } - }) - } - //根据id查询角色详情 - queryDetail():void{ - this.http.get('/sysapi/setting/role/detail/find',{rid:this.roleId}).subscribe((json)=>{ - if(json.is_success){ - if(json.body){ - this.statusParamsDetail=3; - //数据回填 - let item=json.body; - this.validateForm.patchValue({ - role_name:item.role_name, - role_type:item.role_type, //0=系统内置(不可删除) ,1=用户定义 - description:item.description, - role_code:item.role_code, - status:item.status, - }) - this.permissionChecked=item.permission; - this.initTree(); - }else{ - this.statusParamsDetail=4; - } - }else{ - this.statusParamsDetail=0; - } + } - - }) - } - //保存机构负责人 - userSave(){ - this.userData.forEach(item=>{ - if(item.checked&&!item.disabled){ - // 增加数据 - this.userSelecteds = [ ...this.userSelecteds, item]; - } - }) - this.visibleUsers = false; - } - //处理机构负责人选择和数据回填 - userSelect(){ - if(this.userData){ - this.userData.forEach(item=>{ - this.userSelecteds.forEach(option=>{ - if(item.uid==option.uid){ - item.checked=true; - item.disabled=true; - } - }) - }) - } - } - //删除机构负责人 - delectConfirm(item){ - this.userSelecteds=this.userSelecteds.filter(function(option){ - return item.uid!==option.uid - }) - } - //打开机构负责人抽屉 - openUsers(){ - this.visibleUsers = true; - this.queryTable(); - } - //关闭机构选择页面 - closeUser(): void { - this.visibleUsers = false; - } - //翻页 - pageChange(event){ - this.search.page_index=event; - this.queryTable(); - } - //获取用户列表 - queryTable():void{ - this.statusParamsUsers.status=1; - this.http.get('/sysapi/setting/user/list',this.search).subscribe((json)=>{ - if(json.is_success){ - let data=json.body.list; - this.collectionSize=json.body.total; - if(json.body.list&&json.body.list.length>0){ - this.statusParamsUsers.status=3; - data.forEach(item=>{ - if(this.userSelecteds.length>0){ - this.userSelecteds.forEach(option=>{ - if(item.uid==option.uid){ - item.checked=true; - item.disabled=true; - } - }) - }else{ - item.checked=false; - item.disabled=false; - } - }) - }else{ - this.statusParamsUsers.status=4; - } - this.userData=data; - }else{ - this.statusParamsUsers.status=0; - } - }) - } + cancel() { + this.location.back() + } - //新树模型参数设置 + //修改时查询该角色下的所有用户 + queryUserById(): void { + this.http.get('/sysapi/setting/role/users/' + this.roleId).subscribe((json) => { + if (json.is_success) { + json.body.forEach(item => { + item.checked = true; + item.disabled = false; + this.userSelecteds = [...this.userSelecteds, item]; + }) + + } else { + + } + }) + } + //根据id查询角色详情 + queryDetail(): void { + this.http.get('/sysapi/setting/role/detail/find', { rid: this.roleId }).subscribe((json) => { + if (json.is_success) { + if (json.body) { + this.statusParamsDetail = 3; + //数据回填 + let item = json.body; + this.validateForm.patchValue({ + role_name: item.role_name, + role_type: item.role_type, //0=系统内置(不可删除) ,1=用户定义 + description: item.description, + role_code: item.role_code, + status: item.status, + }) + this.permissionChecked = item.permission; + this.initTree(); + } else { + this.statusParamsDetail = 4; + } + } else { + this.statusParamsDetail = 0; + } + + + }) + } + //保存机构负责人 + userSave() { + this.userData.forEach(item => { + if (item.checked && !item.disabled) { + // 增加数据 + this.userSelecteds = [...this.userSelecteds, item]; + } + }) + this.visibleUsers = false; + } + //处理机构负责人选择和数据回填 + userSelect() { + if (this.userData) { + this.userData.forEach(item => { + this.userSelecteds.forEach(option => { + if (item.uid == option.uid) { + item.checked = true; + item.disabled = true; + } + }) + }) + } + } + //删除机构负责人 + delectConfirm(item) { + this.userSelecteds = this.userSelecteds.filter(function (option) { + return item.uid !== option.uid + }) + } + //打开机构负责人抽屉 + openUsers() { + this.visibleUsers = true; + this.queryTable(); + } + //关闭机构选择页面 + closeUser(): void { + this.visibleUsers = false; + } + //翻页 + pageChange(event) { + this.search.page_index = event; + this.queryTable(); + } + //获取用户列表 + queryTable(): void { + this.statusParamsUsers.status = 1; + this.http.get('/sysapi/setting/user/list', this.search).subscribe((json) => { + if (json.is_success) { + let data = json.body.list; + this.collectionSize = json.body.total; + if (json.body.list && json.body.list.length > 0) { + this.statusParamsUsers.status = 3; + data.forEach(item => { + if (this.userSelecteds.length > 0) { + this.userSelecteds.forEach(option => { + if (item.uid == option.uid) { + item.checked = true; + item.disabled = true; + } + }) + } else { + item.checked = false; + item.disabled = false; + } + }) + } else { + this.statusParamsUsers.status = 4; + } + this.userData = data; + } else { + this.statusParamsUsers.status = 0; + } + }) + } + + //新树模型参数设置 public zNodes: any[]; setting = { data: { - simpleData: { - enable: true + simpleData: { + enable: true } }, view: { - showLine: true, + showLine: true, dblClickExpand: false, - showIcon:true + showIcon: true }, - check:{ - autoCheckTrigger:true, - chkboxType:{"Y":"ps","N":"ps"}, - enable: true, - chkStyle: "checkbox", + check: { + autoCheckTrigger: true, + chkboxType: { "Y": "ps", "N": "ps" }, + enable: true, + chkStyle: "checkbox", }, callback: { - //节点点击事件 - onClick: (event, treeId, treeNode, clickFlag) => { - var zTree = $.fn.zTree.getZTreeObj("treeDemo"); - zTree.expandNode(treeNode); - this.treeSelected=treeNode; - this.parentNode=this.treeSelected.getParentNode(); - if(!this.parentNode){ - this.isTreeTop=true; - }else{ - this.isTreeTop=false; - } + //节点点击事件 + onClick: (event, treeId, treeNode, clickFlag) => { + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + zTree.expandNode(treeNode); + this.treeSelected = treeNode; + this.parentNode = this.treeSelected.getParentNode(); + if (!this.parentNode) { + this.isTreeTop = true; + } else { + this.isTreeTop = false; + } }, - //节点展开事件 - onExpand: (event, treeId, treeNode) => { - - } + //节点展开事件 + onExpand: (event, treeId, treeNode) => { + + } }, - }; - //新树模型 - initTree(){ - this.http.get('/sysapi/setting/permission/menu/list').subscribe(json=>{ - if(json.is_success){ - if(json.body&&json.body.length>0){ - if(this.modifyType==2&&this.permissionChecked.length>0){ - json.body.forEach(item=>{ - this.foreachNode(item); - }) - } - } - } - let treeList=[]; - treeList.push({ //一层目录 - name:"全部权限", - isParent:true, - open:true, - id:'', - children:json.body - }); - this.zNodes=treeList; - $.fn.zTree.init($("#treeDemo"), this.setting, this.zNodes); - var zTree = $.fn.zTree.getZTreeObj("treeDemo"); - let node = zTree.getNodes(); + }; + //新树模型 + initTree() { + this.http.get('/sysapi/setting/permission/menu/list').subscribe(json => { + if (json.is_success) { + if (json.body && json.body.length > 0) { + if (this.modifyType == 2 && this.permissionChecked.length > 0) { + json.body.forEach(item => { + this.foreachNode(item); + }) + } + } + } + let treeList = []; + treeList.push({ //一层目录 + name: "全部权限", + isParent: true, + open: true, + id: '', + children: json.body + }); + this.zNodes = treeList; + $.fn.zTree.init($("#treeDemo"), this.setting, this.zNodes); + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + let node = zTree.getNodes(); }) - } - //递归方法处理权限树回填 - foreachNode(node){ - this.setNode(node); - if(node.children&&node.children.length>0){ - node.children.forEach(item=>{ - this.foreachNode(item) - }) - } - - } - //递归方法,处理单个节点 - setNode(node){ - this.permissionChecked.forEach(item=>{ - if(item.pid==node.id){ - node.checked=true; - } - }) - } + } + //递归方法处理权限树回填 + foreachNode(node) { + this.setNode(node); + if (node.children && node.children.length > 0) { + node.children.forEach(item => { + this.foreachNode(item) + }) + } + + } + //递归方法,处理单个节点 + setNode(node) { + this.permissionChecked.forEach(item => { + if (item.pid == node.id) { + node.checked = true; + } + }) + } } diff --git a/src/app/pages/system-management/role-management/role-management.component.html b/src/app/pages/system-management/role-management/role-management.component.html index 13889ea..7a8f309 100644 --- a/src/app/pages/system-management/role-management/role-management.component.html +++ b/src/app/pages/system-management/role-management/role-management.component.html @@ -1,60 +1,60 @@ -
              -
              -
              - - -
              - - - - 角色名称 - 角色类型 - 创建人 - 创建日期 - 操作 - - - - - {{item.role_name}} - 系统内置用户定义 - {{item.create_by}} - {{item.create_date| date:'yyyy-MM-dd HH:mm:ss'}} - - - - - - - - -
              - -
              -
              - -
              -
              -
              +
              +
              +
              + + + +
              + + + + 角色名称 + 角色类型 + 创建人 + 创建日期 + 操作 + + + + + {{item.role_name}} + 系统内置用户定义 + {{item.create_by}} + {{item.create_date| date:'yyyy-MM-dd HH:mm:ss'}} + + + + + + + + +
              + +
              +
              + +
              +
              +
              \ No newline at end of file diff --git a/src/app/pages/system-management/role-management/role-management.component.scss b/src/app/pages/system-management/role-management/role-management.component.scss index faa4367..26c8385 100644 --- a/src/app/pages/system-management/role-management/role-management.component.scss +++ b/src/app/pages/system-management/role-management/role-management.component.scss @@ -4,14 +4,14 @@ .user-manage{ .system-main-content{ min-height: 500px; - } - .card{ - } .tree-box{ overflow-y:scroll; } - } + } + /deep/ .ant-form-item{ + margin-bottom: 0; + } } .user-detail{ 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 486eb33..ab2a7c7 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,115 +1,142 @@
              -
              - - -
              - - 姓名 - - - 请输入姓名 - - - - 系统账号 - - - 请输入系统账号 - 本账号已存在 - - - - 系统密码 - - - 请输入密码 - - - - 所属机构 - - - {{orgDetail.organization}} - - 修改选择 - 请选择所属机构 - - - - 所属角色 - -
              - -
              - - - - 请选择所属角色 -
              -
              - - 描述 - - - - - - 身份证号 - - - - - - 邮箱 - - - - - - 电话 - - - - - - 性别 - - - - - - - - - 状态 - - - - - - - -
              - -
              +
              + + +
              +
              + + 姓名 + + + 请输入姓名 + + +
              +
              + + 所属角色 + +
              + +
              + + + + 请选择所属角色 +
              +
              +
              +
              + + 系统账号 + + + 请输入系统账号 + 本账号已存在 + + +
              +
              + + 系统密码 + + + 请输入密码 + + +
              +
              + + 所属机构 + + + {{orgDetail.organization}} + + 修改选择 + 请选择所属机构 + + +
              +
              + + 描述 + + + + +
              +
              + + 身份证号 + + + + +
              +
              + + 邮箱 + + + + +
              +
              + + 电话 + + + + +
              +
              + + 性别 + + + + + + + +
              +
              + + 状态 + + + + + + + +
              +
              + +
              - - -
              - -
                - -
                -
                + + +
                + +
                  + +
                  +
                  \ No newline at end of file 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 1ee62fd..74c4944 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 @@ -2,23 +2,22 @@ overflow-y:auto; } .user-modify-box{ - position: relative; + position: relative; + min-height: 100%; + margin-bottom: 0 !important; .user-footer{ text-align: center; - margin-top: -20px; - - } + } } .ztree{ - padding-bottom: 40px; - padding-right: 16px; + border: 1px solid #ddd; + margin-top: 20px; + margin-bottom: 20px; + padding: 16px; } .drawer-footer{ - display: inline-block; position: relative; - left: 50%; - bottom: 20px; - transform: translate(-50%) + text-align: right; } .relative{ position: relative; 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 303fc1f..0479e5d 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 @@ -1,348 +1,350 @@ import { Component, OnInit } from '@angular/core'; -import { FormBuilder,FormControl,FormGroup,Validators} from '@angular/forms'; +import { Location } from '@angular/common'; +import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms'; import { HttpClientService } from '../../../../services/http-client.service'; -import { Router,ActivatedRoute } from '@angular/router'; +import { Router, ActivatedRoute } from '@angular/router'; import { NzMessageService } from 'ng-zorro-antd'; -import { Observable } from 'rxjs'; import 'ztree'; declare var $: any; -declare var jQuery: any; @Component({ - selector: 'app-user-management-modify', - templateUrl: './user-management-modify.component.html', - styleUrls: ['./user-management-modify.component.scss','../../../main.scss'] + selector: 'app-user-management-modify', + templateUrl: './user-management-modify.component.html', + styleUrls: ['./user-management-modify.component.scss', '../../../main.scss'] }) export class UserManagementModifyComponent implements OnInit { - validateForm: FormGroup; - statusParamsTree:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 - status:1, - } - statusParamsRole:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 - status:1, - } - visible = false; //控制抽屉显示 - treeSelected:any; - orgDetail:any=''; //所选机构详情 - orgList:any=[]; //机构列表 - orgSeletedBtn:any=true; //控制机构选择按钮 - nodeList:any=[]; - 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, - } - isLoadingSave:any=false; - constructor( - private fb: FormBuilder, - private http:HttpClientService, - private route:ActivatedRoute, - private router:Router, - private message: NzMessageService, - ) { } + validateForm: FormGroup; + statusParamsTree: any = { //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status: 1, + } + statusParamsRole: any = { //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据 + status: 1, + } + visible = false; //控制抽屉显示 + treeSelected: any; + orgDetail: any = ''; //所选机构详情 + orgList: any = []; //机构列表 + orgSeletedBtn: any = true; //控制机构选择按钮 + nodeList: any = []; + 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, + } + isLoadingSave: any = false; + constructor( + private fb: FormBuilder, + private http: HttpClientService, + private route: ActivatedRoute, + private router: Router, + private location: Location, + private message: NzMessageService, + ) { } - ngOnInit() { - // // 页面监听 动态改变表单高度 - // $('#main-container').height('height',(document.documentElement.clientHeight-106+'px')); - this.queryRole(); - this.validateForm = this.fb.group({ - real_name:[ '', [ Validators.required ] ], - login_name:[ '', [ Validators.required ] ], - password:[ '', [ Validators.required ] ], - identify_num:[ ''], - email:[ ''], - mobile:[ ''], - sex:['m'], - status:['1'], - 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(){ - 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(`账号验证接口错误`) - } + ngOnInit() { + // // 页面监听 动态改变表单高度 + // $('#main-container').height('height',(document.documentElement.clientHeight-106+'px')); + this.queryRole(); + this.validateForm = this.fb.group({ + real_name: ['', [Validators.required]], + login_name: ['', [Validators.required]], + password: ['', [Validators.required]], + identify_num: [''], + email: [''], + mobile: [''], + sex: ['m'], + status: ['1'], + roleList: [''], + 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.patchValue({ + 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, + 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) + }) + this.validateForm.patchValue({ + roleList: this.roleList, + }) + } + } else { + this.statusParamsDetail.status = 4; + } + } else { + this.statusParamsDetail.status = 0; + } + }) + } + //检验系统账号的唯一性 + checkName() { + 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() { - var zTree = $.fn.zTree.getZTreeObj("treeDemo"); - zTree.cancelSelectedNode() - var key = $("#key"); - var value = $.trim(key.get(0).value); - var keyType = "name"; - this.nodeList = zTree.getNodesByParamFuzzy(keyType, value); - if (value) { - for (var i = this.nodeList.length - 1; i >= 0; i--) { - zTree.selectNode(this.nodeList[i], true, false); - } - } - } - //删除机构标签 - tagClose(event){ - this.orgSeletedBtn=true; - this.orgDetail=''; - } - //保存选择机构 - treeSave(){ - if(this.treeSelected){ - this.orgDetail=this.treeSelected; - this.visible = false; - this.orgSeletedBtn=false; - }else{ - //如果没有选择机构,提示请选择机构 - this.message.create('warning', `请选择所属机构!`,{ nzDuration: 2000 }); - } - } - //打开机构树抽屉 - open(): void { - this.treeSelected=''; - this.statusParamsTree.status=1; - this.visible = true; - this.initTree(); + }) + } + //机构树,搜索功能 + searchNode() { + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + zTree.cancelSelectedNode() + var key = $("#key"); + var value = $.trim(key.get(0).value); + var keyType = "name"; + this.nodeList = zTree.getNodesByParamFuzzy(keyType, value); + if (value) { + for (var i = this.nodeList.length - 1; i >= 0; i--) { + zTree.selectNode(this.nodeList[i], true, false); + } + } + } + //删除机构标签 + tagClose(event) { + this.orgSeletedBtn = true; + this.orgDetail = ''; + } + //保存选择机构 + treeSave() { + if (this.treeSelected) { + this.orgDetail = this.treeSelected; + this.visible = false; + this.orgSeletedBtn = false; + } else { + //如果没有选择机构,提示请选择机构 + this.message.create('warning', `请选择所属机构!`, { nzDuration: 2000 }); + } + } + //打开机构树抽屉 + open(): void { + this.treeSelected = ''; + this.statusParamsTree.status = 1; + this.visible = true; + this.initTree(); - } - //关闭机构选择页面 - close(): void { - this.visible = false; - } - 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&&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(`账号验证接口错误`) - } - }) - } - } - //确认提交表单 type 1 新增 2修改 - 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) - } - }) - this.isLoadingSave=true; - if(type==1){ - this.http.post('/sysapi/setting/user/add', params).subscribe((json) => { - this.isLoadingSave=false; - if (json.is_success) { - this.message.success(`新增成功`); - this.router.navigate(['app/system/users']) - } else { - this.message.error(`新增失败`) - } - }) - }else if(type==2){ - this.http.put('/sysapi/setting/user/updateById/'+this.userId, params).subscribe((json) => { - this.isLoadingSave=false; - if (json.is_success) { - this.message.success(`修改成功`); - this.router.navigate(['app/system/users']) - } else { - this.message.error(`修改失败`) - } - }) - } - } - //取消 返回列表页 - cancel(){ - this.router.navigate(['app/system/users']) - } - //获取角色列表 - queryRole(): void { - this.statusParamsRole.status=1; - this.http.get('/sysapi/setting/role/list', {page_index: '1',page_size: '100',}).subscribe((json) => { - if (json.is_success) { - this.listOfRole = json.body.list; - if(json.body.list&&json.body.list.length>0){ - this.statusParamsRole.status=3; - }else{ - this.statusParamsRole.status=4; - } - } else { - this.statusParamsRole.status=0; - } - }) - } - //树模型参数设置 - public zNodes: any[]; - setting = { - data: { - simpleData: { - enable: true - } - }, - view: { - showLine: true, - dblClickExpand: false, - showIcon:true - }, - callback: { - //节点点击事件 - onClick: (event, treeId, treeNode, clickFlag) => { - var zTree = $.fn.zTree.getZTreeObj("treeDemo"); - this.treeSelected=treeNode; - }, - }, - }; - //获取机构列表,树模型数据处理 - initTree(){ - //获取目录列表 - this.statusParamsTree.status=1; - this.http.get("/sysapi/setting/organization/list",).subscribe(json=>{ - if(json.is_success){ - if(json.body.length>0){ - this.orgList=json.body; - this.statusParamsTree.status=3; - let children=[]; - for(var i=0;i 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(`账号验证接口错误`) + } + }) + } + } + //确认提交表单 type 1 新增 2修改 + 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.validateForm.get('roleList').value.forEach(option => { + params.roleList.push({ + rid: option + }) + }) + this.orgList.forEach(option => { + if (option.id == this.orgDetail.id) { + params.orgList.push(option) + } + }) + this.isLoadingSave = true; + if (type == 1) { + this.http.post('/sysapi/setting/user/add', params).subscribe((json) => { + this.isLoadingSave = false; + if (json.is_success) { + this.message.success(`新增成功`); + this.router.navigate(['app/system/users']) + } else { + this.message.error(`新增失败`) + } + }) + } else if (type == 2) { + this.http.put('/sysapi/setting/user/updateById/' + this.userId, params).subscribe((json) => { + this.isLoadingSave = false; + if (json.is_success) { + this.message.success(`修改成功`); + this.router.navigate(['app/system/users']) + } else { + this.message.error(`修改失败`) + } + }) + } + } + //取消 返回列表页 + cancel() { + this.location.back(); + } + //获取角色列表 + queryRole(): void { + this.statusParamsRole.status = 1; + this.http.get('/sysapi/setting/role/list', { page_index: '1', page_size: '100', }).subscribe((json) => { + if (json.is_success) { + this.listOfRole = json.body.list; + if (json.body.list && json.body.list.length > 0) { + this.statusParamsRole.status = 3; + } else { + this.statusParamsRole.status = 4; + } + } else { + this.statusParamsRole.status = 0; + } + }) + } + //树模型参数设置 + public zNodes: any[]; + setting = { + data: { + simpleData: { + enable: true + } + }, + view: { + showLine: true, + dblClickExpand: false, + showIcon: true + }, + callback: { + //节点点击事件 + onClick: (event, treeId, treeNode, clickFlag) => { + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + this.treeSelected = treeNode; + }, + }, + }; + //获取机构列表,树模型数据处理 + initTree() { + //获取目录列表 + this.statusParamsTree.status = 1; + this.http.get("/sysapi/setting/organization/list").subscribe(json => { + if (json.is_success) { + if (json.body.length > 0) { + this.orgList = json.body; + this.statusParamsTree.status = 3; + let children = []; + for (var i = 0; i < json.body.length; i++) { + let option = json.body[i]; + option.name = option.organization; + if (option.pid) { + option.pId = option.pid; + } else { + option.pId = 'hsfuhiw34239j89sauf98992h3indshv98h392hf9mplsd032fs2a2313fc'; + } + } + json.body.push({ + name: "全部机构", + isParent: true, + open: true, + id: 'hsfuhiw34239j89sauf98992h3indshv98h392hf9mplsd032fs2a2313fc', + }) + } else { + //数据为空 + this.statusParamsTree.status = 4; + } + } else { + //请求失败 + this.statusParamsTree.status = 0; + } + this.zNodes = json.body; + $.fn.zTree.init($("#treeDemo"), this.setting, this.zNodes); + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + let node = zTree.getNodes(); + }) - } + } } 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 ad95ddb..167b320 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 @@ -1,171 +1,173 @@ -
                  -
                  -
                  - -
                    -
                    -
                    - - -
                    - - - - 姓名 - 用户名 - 电话 - 操作 - - - - - {{item.real_name}} - {{item.login_name}} - {{item.mobile}} - - - - - - - - -
                    - -
                    -
                    - -
                    -
                    +
                    +
                    +
                    + +
                      +
                      + +
                      + + + +
                      + + + + 姓名 + 用户名 + 电话 + 操作 + + + + + {{item.real_name}} + {{item.login_name}} + {{item.mobile}} + + + + + + + + +
                      + +
                      +
                      + +
                      +
                      - - -
                      -
                      -
                      - - 姓名 - {{userDetail.real_name}} - - -
                      -
                      - - 系统账号 - {{userDetail.login_name}} - - -
                      -
                      -
                      -
                      - - 系统密码 - {{userDetail.password}} - - -
                      -
                      - - 所属机构 - {{option.organization}} - - -
                      -
                      -
                      -
                      - - 所属角色 - - {{option.role_name}} - - - -
                      -
                      - - 描述 - {{userDetail.remark}} - - -
                      -
                      -
                      -
                      - - 身份证号 - {{userDetail.identify_num}} - - -
                      -
                      - - 邮箱 - {{userDetail.email}} - - -
                      -
                      -
                      -
                      - - 电话 - {{userDetail.mobile}} - - -
                      -
                      - - 状态 - 已激活 - 未激活 - - -
                      -
                      -
                      -
                      - - 性别 - - - - -
                      -
                      -
                      -
                      + + +
                      +
                      +
                      + + 姓名 + {{userDetail.real_name}} + + +
                      +
                      + + 系统账号 + {{userDetail.login_name}} + + +
                      +
                      +
                      +
                      + + 系统密码 + {{userDetail.password}} + + +
                      +
                      + + 所属机构 + {{option.organization}} + + +
                      +
                      +
                      +
                      + + 所属角色 + + {{option.role_name}} + + + +
                      +
                      + + 描述 + {{userDetail.remark}} + + +
                      +
                      +
                      +
                      + + 身份证号 + {{userDetail.identify_num}} + + +
                      +
                      + + 邮箱 + {{userDetail.email}} + + +
                      +
                      +
                      +
                      + + 电话 + {{userDetail.mobile}} + + +
                      +
                      + + 状态 + 已激活 + 未激活 + + +
                      +
                      +
                      +
                      + + 性别 + + + + +
                      +
                      +
                      +
                      \ No newline at end of file diff --git a/src/app/pages/system-management/user-management/user-management.component.scss b/src/app/pages/system-management/user-management/user-management.component.scss index 6faca1d..8275370 100644 --- a/src/app/pages/system-management/user-management/user-management.component.scss +++ b/src/app/pages/system-management/user-management/user-management.component.scss @@ -2,14 +2,16 @@ .system-main-container{ .user-manage{ .system-main-content{ - overflow-y:scroll; - } - .card{ - + overflow-y:auto; } .tree-box{ - overflow-y:scroll; - } + overflow-y:auto; + overflow-x: auto; + margin-right: 20px; + } + /deep/ .ant-form-item{ + margin-bottom: 0; + } } } diff --git a/src/app/pages/system-management/user-management/user-management.component.ts b/src/app/pages/system-management/user-management/user-management.component.ts index 6df9ba7..c307aab 100644 --- a/src/app/pages/system-management/user-management/user-management.component.ts +++ b/src/app/pages/system-management/user-management/user-management.component.ts @@ -44,8 +44,8 @@ export class UserManagementComponent implements OnInit { ngOnInit() { // 页面监听 动态改变表单高度 - $('#tree-box').css('height',(document.documentElement.clientHeight-126+'px')); - $('#main-box').css('height',(document.documentElement.clientHeight-126+'px')); + $('#tree-box').css('height',(document.documentElement.clientHeight-106+'px')); + $('#main-box').css('height',(document.documentElement.clientHeight-106+'px')); $(window).resize(function(){ $('#tree-box').css('height',(document.documentElement.clientHeight-126+'px')); $('#main-box').css('height',(document.documentElement.clientHeight-126+'px')); @@ -64,10 +64,7 @@ export class UserManagementComponent implements OnInit { } }) } - //取消删除 - delectCancel(){ - } //新增、修改 1新增 2修改 addModify(type,item?){ if(type==1){