From 948696d907d909d72040d0ff53df3a4e67f13db9 Mon Sep 17 00:00:00 2001
From: zhouyuejun <505127606@qq.com>
Date: Tue, 12 Mar 2019 11:20:20 +0800
Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86=E8=A7=92?=
=?UTF-8?q?=E8=89=B2=EF=BC=8C=E7=94=A8=E6=88=B7=EF=BC=8C=E9=83=A8=E9=97=A8?=
=?UTF-8?q?=E5=86=85=E9=83=A8=E5=88=86=E5=AD=97=E6=AE=B5=E9=95=BF=E5=BA=A6?=
=?UTF-8?q?=E6=8E=A7=E5=88=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/app/login/login.component.ts | 1 -
src/app/pages/main/main.component.ts | 10 +-
src/app/pages/pages.component.ts | 1 -
.../data-synchronize.component.ts | 1 -
.../department-management.component.html | 15 +-
.../department-management.component.ts | 804 +++++++++---------
.../role-management-modify.component.html | 3 +-
.../role-management-modify.component.ts | 2 +-
.../user-management-modify.component.html | 13 +-
.../user-management-modify.component.ts | 6 +-
src/app/services/websocket.service.ts | 11 +-
11 files changed, 435 insertions(+), 432 deletions(-)
diff --git a/src/app/login/login.component.ts b/src/app/login/login.component.ts
index e9532da..ee164a5 100644
--- a/src/app/login/login.component.ts
+++ b/src/app/login/login.component.ts
@@ -36,7 +36,6 @@ export class LoginComponent implements OnInit {
if (data.is_success) {
this.httpClient.get('/sysapi/setting/user/currentUser/detail').subscribe(
xhr => {
- console.log(xhr);
if (xhr.is_success) {
sessionStorage.setItem('userInfo', JSON.stringify(xhr.body));
this.message.success('登录成功!');
diff --git a/src/app/pages/main/main.component.ts b/src/app/pages/main/main.component.ts
index aed4930..e95041f 100644
--- a/src/app/pages/main/main.component.ts
+++ b/src/app/pages/main/main.component.ts
@@ -35,7 +35,6 @@ export class MainComponent implements OnInit {
private websocketService: WebsocketService
) {
this.toastService.getToasts().forEach((config: ToastConfig) => {
- console.log(config);
this.toastConfigs.unshift(config);
});
this.toastService.removeToastMainSubject.subscribe((config?: ToastConfig) => {
@@ -53,6 +52,9 @@ export class MainComponent implements OnInit {
if (event.urlAfterRedirects != '/app/main') {
if (this.websocketService.websocket.readyState === 1) {
this.websocketService.websocket.close();
+ if(this.websocketService.websocketHeartBeat){
+ this.websocketService.clearIntervalHandle();
+ }
}
}
}
@@ -129,14 +131,9 @@ export class MainComponent implements OnInit {
// 订阅航班更新
this.websocketService.dynamicsMessage().subscribe(
event => {
- setInterval(() => {
- let msg = { "topic": "heart-beat", "message": "" };
- this.websocketService.websocket.send(JSON.stringify(msg));
- }, 30000);
let data = JSON.parse(event as string);
if (data.topic === 'schd') {
let message = JSON.parse(data.message);
- // console.log(message);
//是否可以开始处理动态消息
if (this.canHandleDynamicMessage) {
this.dynamicMessageHandle(message);
@@ -145,7 +142,6 @@ export class MainComponent implements OnInit {
}
} else if (data.topic === 'msg') {
let message = JSON.parse(data.message);
- // console.log(message);
if (this.canHandleDynamicAlert) {
this.dynamicAlertHandle(message);
} else {
diff --git a/src/app/pages/pages.component.ts b/src/app/pages/pages.component.ts
index 0513871..35d44de 100644
--- a/src/app/pages/pages.component.ts
+++ b/src/app/pages/pages.component.ts
@@ -54,7 +54,6 @@ export class PagesComponent implements OnInit {
menuList.forEach(menu => {
this.menuDataHandle(menu);
})
- // console.log(menuList);
this.menuData = menuList;
}
)
diff --git a/src/app/pages/system-management/data-synchronize/data-synchronize.component.ts b/src/app/pages/system-management/data-synchronize/data-synchronize.component.ts
index 500a9bb..0ab508f 100644
--- a/src/app/pages/system-management/data-synchronize/data-synchronize.component.ts
+++ b/src/app/pages/system-management/data-synchronize/data-synchronize.component.ts
@@ -49,7 +49,6 @@ export class DataSynchronizeComponent implements OnInit {
onEndChange(date: Date): void {
this.endValue = date;
this.search.endDate = this.changeDate(date)
- console.log(this.search.endDate)
}
handleStartOpenChange(open: boolean): void {
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 07e29d0..8950b6d 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
@@ -97,7 +97,8 @@
机构名称
- 请输入机构名称
+ 请输入机构名称
+ 机构名称最长20个字符
@@ -106,17 +107,17 @@
机构简称
- 请输入机构简称
+ 机构简称最长10个字符
机构编码
-
-
- 请输入机构编码
+
+
+ 请输入机构编码
+ 机构编码最长10个字符
该编码已存在
@@ -126,7 +127,7 @@
联系人
- 请输入联系人
+ 联系人名称最长10个字符
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 62bca4d..d14eb98 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
@@ -1,427 +1,423 @@
import { Component, OnInit } from '@angular/core';
-import { FormBuilder,FormControl,FormGroup,Validators} from '@angular/forms';
+import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
import { HttpClientService } from '../../../services/http-client.service';
import { Router } from '@angular/router';
-import { NzMessageService,NzModalRef, NzModalService } from 'ng-zorro-antd';
+import { NzMessageService, NzModalRef, NzModalService } from 'ng-zorro-antd';
import { Observable } from 'rxjs';
import 'ztree';
-declare var $: any;
+declare var $: any;
declare var jQuery: any
@Component({
- selector: 'app-department-management',
- templateUrl: './department-management.component.html',
- styleUrls: ['./department-management.component.scss']
+ selector: 'app-department-management',
+ templateUrl: './department-management.component.html',
+ styleUrls: ['./department-management.component.scss']
})
export class DepartmentManagementComponent implements OnInit {
- collectionSize:any ;
- treeSelected:any; //树模型-当前选中项
- treeSelectedChild:any; //上级机构选择树
- statusParamsTree:any={ //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据
- status:1,
- }
- statusParamsUsers:any={ //接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据
- status:1,
- }
- public TreeData:any;
- public canDel:any=false;
- public canEdit:any=false;
- public search:any={
- page_index:'1',
- page_size:'10',
- real_name:'',
- }
- public orgDetail:any=''; //左侧机构目录当前选中项机构的详情信息
- public orgSeleted:any=''; //新增或者修改时,当前选中的所属机构的机构详情信息
- public modifyType:any='3'; //操作状态 1新增 2修改 3详情
- public parentName:any='';
- public parentNode:any=''; //当前选中机构的父级节点
- public userList:any=''; //机构负责人列表-详情时展示用户列表
- public userSelecteds:any=[]; //机构负责人已选用户-新增、修改时
- public userData:any=[]; //用户列表数据
- saveCheck:any=false; //保存检查,保存验证表单 false 还未验证 true 触发了验证
- public visible:any=false;
- public orgSeletedBtn:any=true; //控制机构选择按钮
- validateForm: FormGroup;
- visibleUsers:any=false;
- isLoadingSave:any=false;
- nameOnly:any=true; //系统账号是否唯一 true唯一 false重复
- oldLoginName:any=''; //修改时,保存原本的系统账号,用于检测唯一性
- checkNameStatus:any=''; //检测账号唯一性的图标状态
- orgList:any=[];
- confirmModal:NzModalRef;
- constructor(
- private fb: FormBuilder,
- private http:HttpClientService,
- private router:Router,
- private message: NzMessageService,
- private modal: NzModalService,
- ) {
- }
+ collectionSize: any;
+ treeSelected: any; //树模型-当前选中项
+ treeSelectedChild: any; //上级机构选择树
+ statusParamsTree: any = { //获取机构接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据
+ status: 1,
+ }
+ statusParamsUsers: any = { //接口的状态,0请求失败 1请求前 2请求中 3请求成功,有数据 4请求成功,无数据
+ status: 1,
+ }
+ public TreeData: any;
+ public canDel: any = false;
+ public canEdit: any = false;
+ public search: any = {
+ page_index: '1',
+ page_size: '10',
+ real_name: '',
+ }
+ public orgDetail: any = ''; //左侧机构目录当前选中项机构的详情信息
+ public orgSeleted: any = ''; //新增或者修改时,当前选中的所属机构的机构详情信息
+ public modifyType: any = '3'; //操作状态 1新增 2修改 3详情
+ public parentName: any = '';
+ public parentNode: any = ''; //当前选中机构的父级节点
+ public userList: any = ''; //机构负责人列表-详情时展示用户列表
+ public userSelecteds: any = []; //机构负责人已选用户-新增、修改时
+ public userData: any = []; //用户列表数据
+ saveCheck: any = false; //保存检查,保存验证表单 false 还未验证 true 触发了验证
+ public visible: any = false;
+ public orgSeletedBtn: any = true; //控制机构选择按钮
+ validateForm: FormGroup;
+ visibleUsers: any = false;
+ isLoadingSave: any = false;
+ nameOnly: any = true; //系统账号是否唯一 true唯一 false重复
+ oldLoginName: any = ''; //修改时,保存原本的系统账号,用于检测唯一性
+ checkNameStatus: any = ''; //检测账号唯一性的图标状态
+ orgList: any = [];
+ confirmModal: NzModalRef;
+ constructor(
+ private fb: FormBuilder,
+ private http: HttpClientService,
+ private router: Router,
+ private message: NzMessageService,
+ private modal: NzModalService,
+ ) {
+ }
- ngOnInit() {
- $('.tree-box').css('height',(document.documentElement.clientHeight-106+'px'));
- $('.main-content').css('height',(document.documentElement.clientHeight-106+'px'));
- $(window).resize(function(){
- $('.tree-box').css('height',(document.documentElement.clientHeight-106+'px'));
- $('.main-content').css('height',(document.documentElement.clientHeight-106+'px'));
- })
- //表单实例化
- this.validateForm = this.fb.group({
- organization:[ '', [ Validators.required ] ],
- shortName:[ '' ],
- code:[ '', [ Validators.required ] ],
- contact_person:[ '' ],
- contact_method:[ '' ],
- organization_type:[ '' ],
- address:[ '' ],
+ ngOnInit() {
+ $('.tree-box').css('height', (document.documentElement.clientHeight - 106 + 'px'));
+ $('.main-content').css('height', (document.documentElement.clientHeight - 106 + 'px'));
+ $(window).resize(function () {
+ $('.tree-box').css('height', (document.documentElement.clientHeight - 106 + 'px'));
+ $('.main-content').css('height', (document.documentElement.clientHeight - 106 + 'px'));
+ })
+ //表单实例化
+ this.validateForm = this.fb.group({
+ organization: ['', [Validators.required, Validators.maxLength(20)]],
+ shortName: ['',[Validators.maxLength(10)]],
+ code: ['', [Validators.required,Validators.maxLength(10)]],
+ contact_person: ['',[Validators.maxLength(10)]],
+ contact_method: [''],
+ organization_type: [''],
+ address: [''],
- });
- this.initTree();
- this.queryTable();
- }
- //新增、修改 type 1新增 2修改
- addModify(type){
- //数据清空重置
- this.modifyType=type;
- this.validateForm.reset();
- this.userSelecteds=[];
- this.orgSeleted='';
- this.checkNameStatus='';
- this.nameOnly=true;
- this.validateForm.patchValue({organization_type:1,});
- if(type==1){
+ });
+ this.initTree();
+ this.queryTable();
+ }
+ //新增、修改 type 1新增 2修改
+ addModify(type) {
+ //数据清空重置
+ this.modifyType = type;
+ this.validateForm.reset();
+ this.userSelecteds = [];
+ this.orgSeleted = '';
+ this.checkNameStatus = '';
+ this.nameOnly = true;
+ this.validateForm.patchValue({ organization_type: 1, });
+ if (type == 1) {
- }else if(type==2){
- let item=this.orgDetail;
- // console.log(item);
- this.zNodesChild=this.zNodes.concat();
- for(let i = 0;i{
- option.checked=true;
- option.disabled=false;
- this.userSelecteds.push(option)
- })
-
- }
-
- }
- //删除
- delete(){
- this.confirmModal = this.modal.confirm({
- nzTitle: '删除',
- nzContent: '确定删除【'+this.orgDetail.organization+'】?',
- nzOnOk: () => new Promise((resolve, reject) => {
- this.http.delete('/sysapi/setting/organization/delOrgByid/'+this.orgDetail.id).subscribe((json)=>{
- if(json.is_success){
- resolve();
- this.message.success(`删除成功!`);
- this.initTree();
- }else{
- reject();
- this.message.error(`删除失败!`);
- }
- })
-
- }).catch(() => console.log('Oops errors!'))
- });
- }
- //保存
- submitForm(){
- let pid='';
- let userList=[];
- this.orgSeleted?pid=this.orgSeleted.id:pid='';
- if(this.userSelecteds&&this.userSelecteds.length>0){
- this.userSelecteds.forEach(item=>{
- userList.push({uid:item.uid})
- })
- }
- let params=Object.assign({},this.validateForm.value,{pid:pid},{userList:userList})
- if(this.modifyType==1){
- this.http.post('/sysapi/setting/organization/add/',params).subscribe((json)=>{
- if(json.is_success){
- this.message.success(`新增成功!`);
- this.initTree();
- }else{
- this.message.error(`新增失败!`);
- }
- })
- }else if(this.modifyType==2){
- this.http.put('/sysapi/setting/organization/updateById/'+this.orgDetail.id,params).subscribe((json)=>{
- if(json.is_success){
- this.message.success(`修改成功!`);
- this.initTree();
- }else{
- this.message.error(`修改失败!`);
- }
- })
- }
- }
- //取消
- cancel(){
- this.modifyType=3;
- }
- //保存机构负责人
- userSave(){
- this.userData.forEach(item=>{
- if(item.checked&&!item.disabled){
- // 增加数据
- this.userSelecteds = [ ...this.userSelecteds, item];
- }
- })
- this.visibleUsers = false;
- }
- //保存选择机构
- treeSave(){
- if(this.treeSelectedChild){
- this.orgSeleted=this.treeSelectedChild;
+ this.validateForm.patchValue({
+ organization: item.organization,
+ shortName: item.shortName,
+ code: item.code,
+ contact_person: item.contact_person,
+ contact_method: item.contact_method,
+ organization_type: item.organization_type,
+ address: item.address,
+ });
+ this.orgSeleted = this.parentNode;
+ this.userList.forEach(option => {
+ option.checked = true;
+ option.disabled = false;
+ this.userSelecteds.push(option)
+ })
+
+ }
+
+ }
+ //删除
+ delete() {
+ this.confirmModal = this.modal.confirm({
+ nzTitle: '删除',
+ nzContent: '确定删除【' + this.orgDetail.organization + '】?',
+ nzOnOk: () => new Promise((resolve, reject) => {
+ this.http.delete('/sysapi/setting/organization/delOrgByid/' + this.orgDetail.id).subscribe((json) => {
+ if (json.is_success) {
+ resolve();
+ this.message.success(`删除成功!`);
+ this.initTree();
+ } else {
+ reject();
+ this.message.error(`删除失败!`);
+ }
+ })
+
+ }).catch(() => console.log('Oops errors!'))
+ });
+ }
+ //保存
+ submitForm() {
+ let pid = '';
+ let userList = [];
+ this.orgSeleted ? pid = this.orgSeleted.id : pid = '';
+ if (this.userSelecteds && this.userSelecteds.length > 0) {
+ this.userSelecteds.forEach(item => {
+ userList.push({ uid: item.uid })
+ })
+ }
+ let params = Object.assign({}, this.validateForm.value, { pid: pid }, { userList: userList })
+ if (this.modifyType == 1) {
+ this.http.post('/sysapi/setting/organization/add/', params).subscribe((json) => {
+ if (json.is_success) {
+ this.message.success(`新增成功!`);
+ this.initTree();
+ } else {
+ this.message.error(`新增失败!`);
+ }
+ })
+ } else if (this.modifyType == 2) {
+ this.http.put('/sysapi/setting/organization/updateById/' + this.orgDetail.id, params).subscribe((json) => {
+ if (json.is_success) {
+ this.message.success(`修改成功!`);
+ this.initTree();
+ } else {
+ this.message.error(`修改失败!`);
+ }
+ })
+ }
+ }
+ //取消
+ cancel() {
+ this.modifyType = 3;
+ }
+ //保存机构负责人
+ userSave() {
+ this.userData.forEach(item => {
+ if (item.checked && !item.disabled) {
+ // 增加数据
+ this.userSelecteds = [...this.userSelecteds, item];
+ }
+ })
+ this.visibleUsers = false;
+ }
+ //保存选择机构
+ treeSave() {
+ if (this.treeSelectedChild) {
+ this.orgSeleted = this.treeSelectedChild;
this.close();
- // this.visible = false;
- // this.orgSeletedBtn=false;
- }else{
- //如果没有选择机构,提示请选择机构
- this.message.create('warning', `请选择所属机构!`,{ nzDuration: 2000 });
- }
- }
- //打开机构负责人抽屉
- openUsers(){
- this.visibleUsers = true;
- this.queryTable();
- }
- //处理机构负责人选择和数据回填
- userSelect(){
- if(this.userData){
- this.userData.forEach(item=>{
- this.userSelecteds.forEach(option=>{
- if(item.uid==option.uid){
- item.checked=true;
- item.disabled=true;
- }
- })
- })
- }
- }
- //关闭用户选择抽屉
- closeUser(){
- this.visibleUsers = false;
- }
- //打开机构树抽屉
- open(): void {
- this.treeSelectedChild='';
- this.visible = true;
- }
- //关闭机构选择页面
- close(): void {
- this.visible = false;
- }
- //删除机构标签
- tagClose(event){
- // this.orgSeletedBtn=true;
- this.orgSeleted='';
- }
- //删除机构负责人
- delectConfirm(item){
- this.userSelecteds=this.userSelecteds.filter(function(option){
- return item.uid!==option.uid
- })
- }
- //取消删除
- delectCancel(){
+ // this.visible = false;
+ // this.orgSeletedBtn=false;
+ } else {
+ //如果没有选择机构,提示请选择机构
+ this.message.create('warning', `请选择所属机构!`, { nzDuration: 2000 });
+ }
+ }
+ //打开机构负责人抽屉
+ openUsers() {
+ this.visibleUsers = true;
+ this.queryTable();
+ }
+ //处理机构负责人选择和数据回填
+ userSelect() {
+ if (this.userData) {
+ this.userData.forEach(item => {
+ this.userSelecteds.forEach(option => {
+ if (item.uid == option.uid) {
+ item.checked = true;
+ item.disabled = true;
+ }
+ })
+ })
+ }
+ }
+ //关闭用户选择抽屉
+ closeUser() {
+ this.visibleUsers = false;
+ }
+ //打开机构树抽屉
+ open(): void {
+ this.treeSelectedChild = '';
+ this.visible = true;
+ }
+ //关闭机构选择页面
+ close(): void {
+ this.visible = false;
+ }
+ //删除机构标签
+ tagClose(event) {
+ // this.orgSeletedBtn=true;
+ this.orgSeleted = '';
+ }
+ //删除机构负责人
+ delectConfirm(item) {
+ this.userSelecteds = this.userSelecteds.filter(function (option) {
+ return item.uid !== option.uid
+ })
+ }
+ //取消删除
+ delectCancel() {
- }
-
- //获取用户列表
- queryTable():void{
- this.statusParamsUsers.status=1;
- this.http.get('/sysapi/setting/user/list',this.search).subscribe((json)=>{
- if(json.is_success){
- this.userData=json.body.list;
- this.collectionSize=json.body.total;
- if(json.body.list&&json.body.list.length>0){
- this.statusParamsUsers.status=3;
- this.userData.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;
- }
- }else{
- this.statusParamsUsers.status=0;
- }
- })
- }
- //翻页
- pageChange(event){
- this.search.page_index=event;
- this.queryTable();
- }
- //修改时查询该系统下的所有用户
- queryUserById():void{
- this.http.get('/sysapi/setting/organization/queryUserById/'+this.orgDetail.id).subscribe((json)=>{
- if(json.is_success){
- this.userList=json.body
- }else{
+ }
- }
- })
- }
- //检验编码的唯一性
- checkName(){
- //处理修改的时候,修改的值为原来的值,这时候直接显示验证成功
- if(this.modifyType==2&&this.validateForm.value.code.trim()==this.oldLoginName){
- this.nameOnly = true;
- this.checkNameStatus='success';
- return false;
- }
- //拿用户输入的机构编码跟机构列表的编码对比,判断编码是否已经存在
- let status='true';
- this.orgList.forEach(item=>{
- if(this.validateForm.value.code.trim()==item.code){
- this.checkNameStatus='error';
- this.nameOnly = false;
- status='false';
- return false;
- }
- });
- if(status=='true'&&this.validateForm.value.code.trim()){
- this.checkNameStatus='success';
- this.nameOnly = true;
- }
- }
- //获取机构列表,树模型数据处理
- initTree(){
- //获取目录列表
- this.statusParamsTree.status=1;
- this.http.get("/sysapi/setting/organization/list",).subscribe(json=>{
- if(json.is_success){
- if(json.body.length>0){
- this.statusParamsTree.status=3;
- this.orgList=json.body;
- let children=[];
- json.body.forEach(option=>{
- 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;
-
- // console.log(this.zNodes);
- $.fn.zTree.init($("#treeDemo"), this.setting, this.zNodes);
-
- var zTree = $.fn.zTree.getZTreeObj("treeDemo");
- let node = zTree.getNodes();
- if(json.body.length>0){
- zTree.selectNode(node[0].children[0])
- zTree.setting.callback.onClick(null,zTree.setting.treeId,node[0].children[0])
- }
- })
- }
- //树模型参数设置-左侧机构树
- public zNodes: any[];
- setting = {
- data: {
- simpleData: {
- enable: true
- }
- },
- view: {
- showLine: true,
- dblClickExpand: false,
- showIcon:true
- },
- callback: {
- //节点点击事件
- onClick: (event, treeId, treeNode, clickFlag) => {
- this.modifyType=3;
- this.parentName='';
- this.parentNode='';
- var zTree = $.fn.zTree.getZTreeObj("treeDemo");
- this.treeSelected=treeNode;
- let isTopNode=this.treeSelected.getParentNode(); //是否为顶级节点 true不是顶级节点 false 为顶级节点
- if(isTopNode){ //子节点
- this.orgDetail=treeNode;
- this.oldLoginName=this.orgDetail.code;
- this.queryUserById();
- this.canDel=true;
- this.canEdit=true;
- if(isTopNode.id=='hsfuhiw34239j89sauf98992h3indshv98h392hf9mplsd032fs2a2313fc'){
- //除去全部机构这层的第一层 也就是实际意义的顶层
- }else{
- this.parentName=isTopNode.name;
- this.parentNode=isTopNode;
- }
- }else{ //顶级节点
- this.orgDetail='';
- this.canDel=false;
- this.canEdit=false;
- }
- },
- },
- };
- //树模型参数设置-右侧机构树
- public zNodesChild: any[];
- settingChild = {
- data: {
- simpleData: {
- enable: true
- }
- },
- view: {
- showLine: true,
- dblClickExpand: false,
- showIcon:true
- },
- callback: {
- //节点点击事件
- onClick: (event, treeId, treeNode, clickFlag) => {
- var zTree = $.fn.zTree.getZTreeObj("treeDemoChild");
- this.treeSelectedChild=treeNode;
- },
- },
- };
+ //获取用户列表
+ queryTable(): void {
+ this.statusParamsUsers.status = 1;
+ this.http.get('/sysapi/setting/user/list', this.search).subscribe((json) => {
+ if (json.is_success) {
+ this.userData = json.body.list;
+ this.collectionSize = json.body.total;
+ if (json.body.list && json.body.list.length > 0) {
+ this.statusParamsUsers.status = 3;
+ this.userData.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;
+ }
+ } else {
+ this.statusParamsUsers.status = 0;
+ }
+ })
+ }
+ //翻页
+ pageChange(event) {
+ this.search.page_index = event;
+ this.queryTable();
+ }
+ //修改时查询该系统下的所有用户
+ queryUserById(): void {
+ this.http.get('/sysapi/setting/organization/queryUserById/' + this.orgDetail.id).subscribe((json) => {
+ if (json.is_success) {
+ this.userList = json.body
+ } else {
+
+ }
+ })
+ }
+ //检验编码的唯一性
+ checkName() {
+ //处理修改的时候,修改的值为原来的值,这时候直接显示验证成功
+ if (this.modifyType == 2 && this.validateForm.value.code.trim() == this.oldLoginName) {
+ this.nameOnly = true;
+ this.checkNameStatus = 'success';
+ return false;
+ }
+ //拿用户输入的机构编码跟机构列表的编码对比,判断编码是否已经存在
+ let status = 'true';
+ this.orgList.forEach(item => {
+ if (this.validateForm.value.code.trim() == item.code) {
+ this.checkNameStatus = 'error';
+ this.nameOnly = false;
+ status = 'false';
+ return false;
+ }
+ });
+ if (status == 'true' && this.validateForm.value.code.trim()) {
+ this.checkNameStatus = 'success';
+ this.nameOnly = true;
+ }
+ }
+ //获取机构列表,树模型数据处理
+ initTree() {
+ //获取目录列表
+ this.statusParamsTree.status = 1;
+ this.http.get("/sysapi/setting/organization/list").subscribe(json => {
+ if (json.is_success) {
+ if (json.body.length > 0) {
+ this.statusParamsTree.status = 3;
+ this.orgList = json.body;
+ let children = [];
+ json.body.forEach(option => {
+ 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();
+ if (json.body.length > 0) {
+ zTree.selectNode(node[0].children[0])
+ zTree.setting.callback.onClick(null, zTree.setting.treeId, node[0].children[0])
+ }
+ })
+ }
+ //树模型参数设置-左侧机构树
+ public zNodes: any[];
+ setting = {
+ data: {
+ simpleData: {
+ enable: true
+ }
+ },
+ view: {
+ showLine: true,
+ dblClickExpand: false,
+ showIcon: true
+ },
+ callback: {
+ //节点点击事件
+ onClick: (event, treeId, treeNode, clickFlag) => {
+ this.modifyType = 3;
+ this.parentName = '';
+ this.parentNode = '';
+ var zTree = $.fn.zTree.getZTreeObj("treeDemo");
+ this.treeSelected = treeNode;
+ let isTopNode = this.treeSelected.getParentNode(); //是否为顶级节点 true不是顶级节点 false 为顶级节点
+ if (isTopNode) { //子节点
+ this.orgDetail = treeNode;
+ this.oldLoginName = this.orgDetail.code;
+ this.queryUserById();
+ this.canDel = true;
+ this.canEdit = true;
+ if (isTopNode.id == 'hsfuhiw34239j89sauf98992h3indshv98h392hf9mplsd032fs2a2313fc') {
+ //除去全部机构这层的第一层 也就是实际意义的顶层
+ } else {
+ this.parentName = isTopNode.name;
+ this.parentNode = isTopNode;
+ }
+ } else { //顶级节点
+ this.orgDetail = '';
+ this.canDel = false;
+ this.canEdit = false;
+ }
+ },
+ },
+ };
+ //树模型参数设置-右侧机构树
+ public zNodesChild: any[];
+ settingChild = {
+ data: {
+ simpleData: {
+ enable: true
+ }
+ },
+ view: {
+ showLine: true,
+ dblClickExpand: false,
+ showIcon: true
+ },
+ callback: {
+ //节点点击事件
+ onClick: (event, treeId, treeNode, clickFlag) => {
+ var zTree = $.fn.zTree.getZTreeObj("treeDemoChild");
+ this.treeSelectedChild = treeNode;
+ },
+ },
+ };
}
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 2523fd5..5173016 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
@@ -7,7 +7,8 @@
角色名称
- 请输入角色名称
+ 请输入角色名称
+ 角色名称最长20个字符
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 af903f3..495a956 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
@@ -52,7 +52,7 @@ export class RoleManagementModifyComponent implements OnInit {
ngOnInit() {
this.validateForm = this.fb.group({
- role_name: ['', [Validators.required]],
+ role_name: ['', [Validators.required,Validators.maxLength(20)]],
role_type: ['1', [Validators.required]], //0=系统内置(不可删除) ,1=用户定义
description: [''],
role_code: [''],
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 de783d0..87ac9f4 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
@@ -8,7 +8,8 @@
姓名
- 请输入姓名
+ 请输入姓名
+ 姓名最长20个字符
@@ -30,10 +31,11 @@
系统账号
-
-
+
- 请输入系统账号
+ 请输入系统账号
+ 系统账号最长20个字符
本账号已存在
@@ -43,7 +45,8 @@
系统密码
- 请输入密码
+ 请输入密码
+ 密码最长20个字符
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 b124853..5467f33 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
@@ -54,9 +54,9 @@ export class UserManagementModifyComponent implements OnInit {
// $('#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]],
+ real_name: ['', [Validators.required,Validators.maxLength(20)]],
+ login_name: ['', [Validators.required,Validators.maxLength(20)]],
+ password: ['', [Validators.required,Validators.maxLength(20)]],
identify_num: [''],
email: [''],
mobile: [''],
diff --git a/src/app/services/websocket.service.ts b/src/app/services/websocket.service.ts
index 7efc9b8..e512d77 100644
--- a/src/app/services/websocket.service.ts
+++ b/src/app/services/websocket.service.ts
@@ -7,6 +7,7 @@ var SECURE = 'wss://';
export class WebsocketService {
public websocket: WebSocket;
+ public websocketHeartBeat;
constructor() { }
dynamicsMessage() {
@@ -19,7 +20,11 @@ export class WebsocketService {
this.websocket = new WebSocket(url);
return new Observable(ob => {
this.websocket.onopen = () => {
- console.log('websocket was connected...')
+ console.log('websocket was connected...');
+ this.websocketHeartBeat = setInterval(() => {
+ let msg = { "topic": "heart-beat", "message": "" };
+ this.websocket.send(JSON.stringify(msg));
+ }, 30000);
}
this.websocket.onmessage = (event) => {
ob.next(event.data)
@@ -33,4 +38,8 @@ export class WebsocketService {
}
})
}
+
+ clearIntervalHandle() {
+ clearInterval(this.websocketHeartBeat);
+ }
}
\ No newline at end of file