diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.scss b/src/app/pages/system-management/personal-settings/personal-settings.component.scss
index ea262bb..23c1f8f 100644
--- a/src/app/pages/system-management/personal-settings/personal-settings.component.scss
+++ b/src/app/pages/system-management/personal-settings/personal-settings.component.scss
@@ -1,4 +1,8 @@
.system-main-container{
+ .self-main-content{
+ overflow-y: auto;
+ height: 100%;
+ }
.ant-tabs{
.self-row-box{
display: inline-block;
diff --git a/src/app/pages/system-management/personal-settings/personal-settings.component.ts b/src/app/pages/system-management/personal-settings/personal-settings.component.ts
index d8f8f01..adab357 100644
--- a/src/app/pages/system-management/personal-settings/personal-settings.component.ts
+++ b/src/app/pages/system-management/personal-settings/personal-settings.component.ts
@@ -1,6 +1,9 @@
import { Component, OnInit } from '@angular/core';
import { HttpClientService } from '../../../services/http-client.service';
+import { NzMessageService } from 'ng-zorro-antd';
+declare var $: any;
+declare var jQuery: any;
@Component({
selector: 'app-personal-settings',
@@ -25,33 +28,80 @@ export class PersonalSettingsComponent implements OnInit {
page_size:'10',
role_name:'',
}
-
+ public defaultCols:any=[]; //默认的全部列
+ public colsData:any='';
+ isLoadingSave:any=false;
+ statusParamsData:any={ //获取接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据
+ status:1,
+ }
constructor(
private http:HttpClientService,
+ private message: NzMessageService,
) { }
ngOnInit() {
- this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ]
+ // 页面监听 动态改变表单高度
+ $('#main-box').css('height',(document.documentElement.clientHeight-106+'px'));
+ $(window).resize(function(){
+ $('#main-box').css('height',(document.documentElement.clientHeight-106+'px'));
+ })
+ //this.list=[{"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"10"}, {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"8"}, {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"4"}, {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"5"}, {"COL_CODE":"MVIN", "COL_CN":"航向指示", "COL_ORDER":"9"}, {"COL_CODE":"TRML", "COL_CN":"候机楼", "COL_ORDER":"7"}, {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"3"}, {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"13"}, {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发", "COL_ORDER":"14"}, {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"15"}, {"COL_CODE":"STND", "COL_CN":"停机位", "COL_ORDER":"16"}, {"COL_CODE":"ORDER", "COL_CN":"排序", "COL_ORDER":"17"} ]
+ this.defaultCols=[
+ {"COL_CODE":"ACFT", "COL_CN":"机型", "COL_ORDER":"1"},
+ {"COL_CODE":"GCTM", "COL_CN":"登机结束", "COL_ORDER":"2"},
+ {"COL_CODE":"BOTM", "COL_CN":"登机开始", "COL_ORDER":"3"},
+ {"COL_CODE":"ABDG", "COL_CN":"登机桥", "COL_ORDER":"4"},
+ {"COL_CODE":"AOTM_D", "COL_CN":"撤桥时间", "COL_ORDER":"5"},
+ {"COL_CODE":"AOTM_A", "COL_CN":"靠桥时间", "COL_ORDER":"6"},
+ {"COL_CODE":"BELT", "COL_CN":"转盘号", "COL_ORDER":"7"},
+ {"COL_CODE":"CHKC", "COL_CN":"值机柜台", "COL_ORDER":"8"},
+ {"COL_CODE":"CCTM", "COL_CN":"值机结束", "COL_ORDER":"9"},
+ {"COL_CODE":"COTM", "COL_CN":"值机开始", "COL_ORDER":"10"},
+ {"COL_CODE":"CHTM_OFF", "COL_CN":"下轮挡", "COL_ORDER":"11"},
+ {"COL_CODE":"CHTM_ON", "COL_CN":"上轮挡", "COL_ORDER":"12"},
+ {"COL_CODE":"LACL", "COL_CN":"最后通知时间", "COL_ORDER":"13"},
+ {"COL_CODE":"CHUT", "COL_CN":"行李传送带", "COL_ORDER":"14"},
+ {"COL_CODE":"RENO", "COL_CN":"飞机号", "COL_ORDER":"15"},
+ {"COL_CODE":"ALCD", "COL_CN":"航空公司", "COL_ORDER":"16"},
+ {"COL_CODE":"ACTT", "COL_CN":"实际到达/出发", "COL_ORDER":"17"},
+ {"COL_CODE":"PSST", "COL_CN":"计划机位", "COL_ORDER":"18"},
+ {"COL_CODE":"ESTT", "COL_CN":"预计到达/出发 ", "COL_ORDER":"19"},
+ {"COL_CODE":"MVIN", "COL_CN":"到达/出发", "COL_ORDER":"20"},
+ {"COL_CODE":"ERUT", "COL_CN":"航线", "COL_ORDER":"21"},
+ {"COL_CODE":"FLNO", "COL_CN":"航班号", "COL_ORDER":"22"},
+ {"COL_CODE":"FTSS", "COL_CN":"运营状态", "COL_ORDER":"23"},
+ {"COL_CODE":"FLIN", "COL_CN":"航线类别", "COL_ORDER":"24"},
+ {"COL_CODE":"IMPA", "COL_CN":"重要提示", "COL_ORDER":"25"},
+ {"COL_CODE":"SODT", "COL_CN":"计划到达/出发", "COL_ORDER":"26"},
+ {"COL_CODE":"TRML", "COL_CN":"航站楼", "COL_ORDER":"27"},
+ {"COL_CODE":"FLTY", "COL_CN":"航班类别", "COL_ORDER":"28"},
+ {"COL_CODE":"GTDT", "COL_CN":"登机门号 ", "COL_ORDER":"29"},
+ {"COL_CODE":"PADT", "COL_CN":"前站起飞时间", "COL_ORDER":"30"},
+ {"COL_CODE":"CSFT", "COL_CN":"共享航班号", "COL_ORDER":"31"},
+ {"COL_CODE":"STND", "COL_CN":"当前机位", "COL_ORDER":"32"},
+ ]
/*
备注:实际数据中,把原始数据录入到临时变量中,方便取消按钮,重置数据
这里数组复制不能用浅复制sourceList=list;而是要用深度复制,this.sourceList=[...this.list]
*/
- this.list.forEach(item=>{
- let option=this.deepCopy(item);
- this.sourceList.push(option);
- })
+
this.queryTable();
}
//对象数组深度复制
deepCopy(data){
- let itemObj={
- bgColor:'#fafafa',
- };
+ let itemObj={};
for(let key in data){
itemObj[key]=data[key];
}
return itemObj;
}
+ //数组深度复制构造
+ listsCope(sourceList,targetList){
+ sourceList.forEach(item=>{
+ let option=this.deepCopy(item);
+ targetList.push(option);
+ })
+ }
//上下调整项目顺序 type 1上移 2下移 3置顶 4置底 要做头尾判断
moveUpDown(type){
let index=this.moveIndex;
@@ -154,32 +204,85 @@ export class PersonalSettingsComponent implements OnInit {
}
//保存-自定义列显示保存
+ /*
+ 各模块groupCode命名定义
+ groupCode:'userSettingColor',
+ groupCode:'userSettingCol',
+ groupCode:'userSettingMsgAlert',
+ groupCode:'userSettingMsgVoice',
+ groupCode:'userSettingFlyAgency',
+ */
saveSelf(){
console.log(this.targetList);
console.log(this.sourceList);
- }
- //重置数据
- cancelSelf(){
- this.sourceList=[];
- //等后台接口出来后,重置this.sourceList this.targetList
- //深度复制
- this.list.forEach(item=>{
- let option=this.deepCopy(item);
- this.sourceList.push(option);
+ this.sourceList.forEach((item,index)=>{
+ item.COL_ORDER=index+1
})
- this.targetList=[];
- }
- //获取列表
- queryTable():void{
- console.log(1111)
- this.http.get('/sysapi/setting/user/list',this.search).subscribe((json)=>{
+ this.targetList.forEach((item,index)=>{
+ item.COL_ORDER=index+1
+ })
+ let content={
+ allCols:this.defaultCols,
+ sourceList:this.sourceList,
+ targetList:this.targetList,
+ }
+ let settingContent=JSON.stringify(content);
+ let params:any={
+ envCode:'web',
+ groupCode:'userSettingCol',
+ settingContent:settingContent,
+ }
+ this.isLoadingSave=true;
+ console.log(params);
+ this.http.post('/adminapi/settings/uisettings',params).subscribe((json)=>{
+ this.isLoadingSave=false;
if(json.is_success){
- console.log(2222)
+ this.message.success(`保存成功!`);
+ this.queryTable();
}else{
- alert(json.err_msg)
+ this.message.error(`保存失败!`);
+ }
+ })
+ }
+ //重置数据
+ cancelSelf(){
+ this.queryTable();
+ }
+ //获取列表
+ queryTable():void{
+ this.statusParamsData.status=1;
+ this.http.get('/adminapi/settings/uisettings',{groupCode:'userSettingCol'}).subscribe((json)=>{
+ if(json.is_success){
+ this.statusParamsData.status=3;
+ let data=json.body;
+ this.colsData=json.body;
+ this.list=[];
+ this.sourceList=[];
+ this.targetList=[];
+ //当data为空是,初始化
+ this.listsCope(this.defaultCols,this.list);
+ //判断data是否为空,空的时候则为最初的初始化;如果不为空,则有设置过个人设置的某个模块
+ if(data&&data.length>0){
+ data.forEach(item=>{
+ if(item.settingContent){
+ console.log(222)
+ let content=JSON.parse(item.settingContent);
+ this.listsCope(content.sourceList,this.sourceList);
+ this.listsCope(content.targetList,this.targetList);
+ }else{
+ console.log(3333)
+ this.listsCope(this.list,this.sourceList);
+ }
+ })
+ }else{
+ console.log(5555)
+ //接口数据为空,说明各个模块设置都为未初始化,可选项则为默认全部列
+ this.listsCope(this.list,this.sourceList);
+ }
+ }else{
+ this.statusParamsData.status=0;
}
})
}
-
}
\ No newline at end of file
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
new file mode 100644
index 0000000..9839741
--- /dev/null
+++ b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.html
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+
+
+ |
+ 姓名 |
+ 用户名 |
+ 电话 |
+
+
+
+
+ |
+ {{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
new file mode 100644
index 0000000..41e3b9e
--- /dev/null
+++ b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.scss
@@ -0,0 +1,43 @@
+ @import "../../../main.scss";
+ .user-modify-box{
+ position: relative;
+ overflow-y:scroll;
+ .user-footer{
+ text-align: center;
+ margin-top: -20px;
+
+ }
+}
+.ztree{
+ padding-bottom: 40px;
+ padding-right: 16px;
+}
+.relative{
+ position: relative;
+ width: 120px;
+ height: 40px;
+}
+.user-table{
+ width: 80%;
+ margin: 0 auto;
+ margin-bottom: 30px;
+}
+.drawer-footer{
+ display: inline-block;
+ position: relative;
+ left: 50%;
+ transform: translate(-50%)
+}
+.users-box{
+ padding-bottom: 30px;
+}
+.tree-box{
+ margin-bottom: 40px;
+}
+//火狐浏览器单独设置样式 解决在火狐浏览器下 底部padding-bottom无效问题
+@-moz-document url-prefix(){
+ .user-footer{
+ padding-bottom: 20px;
+ }
+}
+
\ No newline at end of file
diff --git a/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.spec.ts b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.spec.ts
new file mode 100644
index 0000000..7b8638e
--- /dev/null
+++ b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.spec.ts
@@ -0,0 +1,25 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { RoleManagementModifyComponent } from './role-management-modify.component';
+
+describe('RoleManagementModifyComponent', () => {
+ let component: RoleManagementModifyComponent;
+ let fixture: ComponentFixture
;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ RoleManagementModifyComponent ]
+ })
+ .compileComponents();
+ }));
+
+ beforeEach(() => {
+ fixture = TestBed.createComponent(RoleManagementModifyComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
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
new file mode 100644
index 0000000..d14f70c
--- /dev/null
+++ b/src/app/pages/system-management/role-management/role-management-modify/role-management-modify.component.ts
@@ -0,0 +1,341 @@
+import { Component, OnInit } from '@angular/core';
+import { FormBuilder,FormControl,FormGroup,Validators} from '@angular/forms';
+import { HttpClientService } from '../../../../services/http-client.service';
+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']
+})
+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,
+ ) { }
+
+ 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,
+ })
+ console.log(this.validateForm.value)
+ 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){
+ console.log(12121212)
+ console.log(json.body)
+ 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;
+ console.log(22211111)
+ console.log(this.permissionChecked)
+ this.initTree();
+ }else{
+ this.statusParamsDetail=4;
+ }
+ }else{
+ this.statusParamsDetail=0;
+ }
+
+
+ })
+ }
+ //保存机构负责人
+ userSave(){
+ console.log(this.userData);
+ this.userData.forEach(item=>{
+ if(item.checked&&!item.disabled){
+ // 增加数据
+ this.userSelecteds = [ ...this.userSelecteds, item];
+ }
+ })
+ this.visibleUsers = false;
+ console.log(this.userSelecteds)
+ }
+ //处理机构负责人选择和数据回填
+ 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;
+ console.log(5555)
+ console.log(data)
+ }else{
+ this.statusParamsUsers.status=0;
+ }
+ console.log(66666)
+ console.log(this.userSelecteds)
+ })
+ }
+
+ //新树模型参数设置
+ public zNodes: any[];
+ setting = {
+ data: {
+ simpleData: {
+ enable: true
+ }
+ },
+ view: {
+ showLine: true,
+ dblClickExpand: false,
+ showIcon:true
+ },
+ 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;
+ }
+ },
+ //节点展开事件
+ 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();
+ })
+ }
+ //递归方法处理权限树回填
+ 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){
+ console.log(node.name)
+ 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 a67e626..e262611 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,3 +1,60 @@
-
- role-management works!
-
+
+
+
+
+
+
+
+ 角色名称
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | 角色名称 |
+ 角色类型 |
+ 创建人 |
+ 创建日期 |
+ 操作 |
+
+
+
+
+ | {{item.role_name}} |
+ 系统内置用户定义 |
+ {{item.create_by}} |
+ {{item.create_date| date:'yyyy-MM-dd HH:mm:ss'}} |
+
+
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
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 e69de29..a42cc05 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
@@ -0,0 +1,20 @@
+@import "../../main.scss";
+.system-main-container{
+ .user-manage{
+ .system-main-content{
+ overflow-y:scroll;
+ }
+ .card{
+
+ }
+ .tree-box{
+ overflow-y:scroll;
+ }
+ }
+}
+
+.user-detail{
+ .detail-item-text{
+ color: #1890ff;
+ }
+}
diff --git a/src/app/pages/system-management/role-management/role-management.component.ts b/src/app/pages/system-management/role-management/role-management.component.ts
index c012681..e8da4f7 100644
--- a/src/app/pages/system-management/role-management/role-management.component.ts
+++ b/src/app/pages/system-management/role-management/role-management.component.ts
@@ -1,4 +1,11 @@
import { Component, OnInit } from '@angular/core';
+import { HttpClientService } from '../../../services/http-client.service';
+import { Router } from '@angular/router';
+import { NzMessageService } from 'ng-zorro-antd';
+
+import 'ztree';
+declare var $: any;
+declare var jQuery: any;
@Component({
selector: 'app-role-management',
@@ -6,10 +13,84 @@ import { Component, OnInit } from '@angular/core';
styleUrls: ['./role-management.component.scss']
})
export class RoleManagementComponent implements OnInit {
+ collectionSize:any ;
+ public tableData:any=[];
+ statusParamsTable:any={ //获取用户列表接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据
+ status:1,
+ }
- constructor() { }
+ statusParamsDetail:any={ //获取用户详情接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据
+ status:1,
+ }
+ public search:any={
+ page_index:'1',
+ page_size:'10',
+ role_name:'',
+ }
+ visible = false; //用户详情抽屉框显示隐藏
+ userDetail:any={}; //用户详情
- ngOnInit() {
- }
+ constructor(
+ private http:HttpClientService,
+ private router:Router,
+ private message: NzMessageService,
+ ) { }
+
+ ngOnInit() {
+ // 页面监听 动态改变表单高度
+ $('#main-box').css('height',(document.documentElement.clientHeight-106+'px'));
+ $(window).resize(function(){
+ $('#main-box').css('height',(document.documentElement.clientHeight-106+'px'));
+ })
+ this.queryTable();
+ }
+ //新增、修改 1新增 2修改
+ addModify(type,item?){
+ if(type==1){
+ this.router.navigate(['app/system/roles/modify'],{queryParams:{operateType:1}})
+ }else if(type==2){
+ this.router.navigate(['app/system/roles/modify'],{queryParams:{operateType:2,id:item.rid}})
+ }
+ }
+ //删除
+ delectConfirm(item){
+ this.http.delete('/sysapi/setting/role/delete/'+item.rid).subscribe((json)=>{
+ if(json.is_success){
+ this.message.success(`删除成功!`);
+ this.queryTable();
+ }else{
+ this.message.error(`删除失败`)
+ }
+ })
+ }
+ //重置,重置搜索条件
+ reset(){
+ this.search.page_index=1;
+ this.search.page_size=10;
+ this.search.role_name='';
+ this.queryTable();
+ }
+ //获取列表
+ queryTable():void{
+ this.statusParamsTable.status=1;
+ this.http.get('/sysapi/setting/role/list',this.search).subscribe((json)=>{
+ if(json.is_success){
+ this.tableData=json.body.list;
+ this.collectionSize=json.body.total;
+ if(json.body.list&&json.body.list.length>0){
+ this.statusParamsTable.status=3;
+ }else{
+ this.statusParamsTable.status=4;
+ }
+ }else{
+ this.statusParamsTable.status=0;
+ }
+ })
+ }
+ //翻页
+ pageChange(event){
+ this.search.page_index=event;
+ this.queryTable();
+ }
}
diff --git a/src/app/pages/system-management/system-management-routing.module.ts b/src/app/pages/system-management/system-management-routing.module.ts
index a0002b7..1fceed9 100644
--- a/src/app/pages/system-management/system-management-routing.module.ts
+++ b/src/app/pages/system-management/system-management-routing.module.ts
@@ -9,6 +9,7 @@ import { DepartmentManagementComponent } from './department-management/departmen
import { OperationLogsComponent } from './operation-logs/operation-logs.component';
import { DataSynchronizeComponent } from './data-synchronize/data-synchronize.component';
import { UserManagementModifyComponent } from './user-management/user-management-modify/user-management-modify.component';
+import { RoleManagementModifyComponent } from './role-management/role-management-modify/role-management-modify.component';
const systemManagementRoutes: Routes = [
{
@@ -30,6 +31,11 @@ const systemManagementRoutes: Routes = [
component: RoleManagementComponent,
data: { preload: true, reuse: false }
},
+ {
+ path: 'roles/modify',
+ component: RoleManagementModifyComponent,
+ data: { preload: true, reuse: false }
+ },
{
path: 'users',
component: UserManagementComponent,
diff --git a/src/app/pages/system-management/system-management.module.ts b/src/app/pages/system-management/system-management.module.ts
index 9a6ff3e..b09224a 100644
--- a/src/app/pages/system-management/system-management.module.ts
+++ b/src/app/pages/system-management/system-management.module.ts
@@ -22,6 +22,7 @@ import { MsgAlertWarningComponent } from './personal-settings/msg-alert-warning/
import { FlightAgencyComponent } from './personal-settings/flight-agency/flight-agency.component';
import { ComponentsModule } from '../../components/components.module';
import { UserManagementModifyComponent } from './user-management/user-management-modify/user-management-modify.component';
+import { RoleManagementModifyComponent } from './role-management/role-management-modify/role-management-modify.component';
@NgModule({
imports: [
CommonModule,
@@ -44,6 +45,7 @@ import { UserManagementModifyComponent } from './user-management/user-management
MsgAlertWarningComponent,
FlightAgencyComponent,
UserManagementModifyComponent,
+ RoleManagementModifyComponent,
],
providers : [ { provide: NZ_I18N, useValue: zh_CN } ],
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 56814c8..486eb33 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
@@ -26,7 +26,7 @@
- 所属机构
+ 所属机构
{{orgDetail.organization}}
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 a087cd1..ad95ddb 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,4 +1,4 @@
-