diff --git a/src/app/pages/today-warning/today-warning.component.scss b/src/app/pages/today-warning/today-warning.component.scss
index 16a8d2c..1b26d4a 100644
--- a/src/app/pages/today-warning/today-warning.component.scss
+++ b/src/app/pages/today-warning/today-warning.component.scss
@@ -99,30 +99,3 @@
}
}
-
-//遮罩层
-::ng-deep .vertical-center-modal {
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-::ng-deep .ant-modal-body {
- background: #072549;
- height: 660px;
- padding: 5px;
- // border: 1px solid #8eb9e3;
- box-shadow: 0 0 3px #8eb9e3;
- color: #fff;
-}
-
-::ng-deep .ant-modal-close-x {
- width: 36px;
- height: 36px;
- line-height: 36px;
- color: white;
-}
-
-::ng-deep .vertical-center-modal .ant-modal {
- top: 0;
-}
diff --git a/src/app/service/tree.service.ts b/src/app/service/tree.service.ts
index f6c9713..8753b54 100644
--- a/src/app/service/tree.service.ts
+++ b/src/app/service/tree.service.ts
@@ -18,13 +18,13 @@ export class TreeService {
parentNode.children = []
}
- if (parentNode.children.length == 0) {
- item.isTop = true;
- } else {
- item.isTop = false;
- parentNode.children[parentNode.children.length -1].isBottom = false;
- }
- item.isBottom = true;
+ // if (parentNode.children.length == 0) {
+ // item.isTop = true;
+ // } else {
+ // item.isTop = false;
+ // parentNode.children[parentNode.children.length -1].isBottom = false;
+ // }
+ // item.isBottom = true;
parentNode.children.push(item)
}else{
diff --git a/src/app/system-management/navigation/navigation.component.html b/src/app/system-management/navigation/navigation.component.html
index 2b28ba1..3ab03ce 100644
--- a/src/app/system-management/navigation/navigation.component.html
+++ b/src/app/system-management/navigation/navigation.component.html
@@ -1 +1,38 @@
-
系统管理页面
+
+
+
+
+

+
+
+
+

+
+
Administrator
+
管理员
+
+
+
+
+
+ Hey,欢迎登录中化油站可视化智能安全管理系统
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/app/system-management/navigation/navigation.component.scss b/src/app/system-management/navigation/navigation.component.scss
index e69de29..3a4a07a 100644
--- a/src/app/system-management/navigation/navigation.component.scss
+++ b/src/app/system-management/navigation/navigation.component.scss
@@ -0,0 +1,78 @@
+nz-layout {
+ width: 100%;
+ height: 100%;
+ color: #fff;
+ font-size: 16px !important;
+}
+
+nz-sider {
+ background: #001B3B;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ .logo {
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ margin-top: 40px;
+ }
+
+ .headPortrait {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ margin-top: 46px;
+ margin-bottom: 46px;
+
+ .photograph {
+ // width: 140px;
+ // height: 140px;
+ // border: 4px solid #FFFFFF;
+ // opacity: 1;
+ // border-radius: 32px;
+ }
+
+ span {
+ margin-top: 18px;
+ }
+ }
+
+ .nav {
+ ul {
+ li {
+ width: 300px;
+ height: 40px;
+ cursor: pointer;
+ display: flex;
+ align-items: center;
+ justify-content: left;
+ margin-bottom: 16px;
+ box-sizing: border-box;
+ padding-left: 26%;
+ img{
+ margin-right: 8px;
+ }
+ }
+
+ .router-link-active {
+ background: linear-gradient(90deg, rgba(0, 13, 33, 0) 0%, #2399FF 52%, rgba(0, 13, 33, 0) 100%);
+ }
+ }
+ }
+}
+
+nz-header {
+ height: 56px;
+ background: #FFFFFF;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 16px;
+}
+
+nz-content {
+ background: #F2F2F2;
+ box-sizing: border-box;
+ padding: 16px;
+}
diff --git a/src/app/system-management/navigation/navigation.component.ts b/src/app/system-management/navigation/navigation.component.ts
index 18be053..d9b293a 100644
--- a/src/app/system-management/navigation/navigation.component.ts
+++ b/src/app/system-management/navigation/navigation.component.ts
@@ -11,5 +11,7 @@ export class NavigationComponent implements OnInit {
ngOnInit(): void {
}
-
+ signOut() {
+ // history.go(-1);
+ }
}
diff --git a/src/app/system-management/organization/addor/addor.component.html b/src/app/system-management/organization/addor/addor.component.html
new file mode 100644
index 0000000..ab9ed73
--- /dev/null
+++ b/src/app/system-management/organization/addor/addor.component.html
@@ -0,0 +1,21 @@
+
+
+
diff --git a/src/app/system-management/organization/addor/addor.component.scss b/src/app/system-management/organization/addor/addor.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/system-management/organization/addor/addor.component.ts b/src/app/system-management/organization/addor/addor.component.ts
new file mode 100644
index 0000000..3a5dc13
--- /dev/null
+++ b/src/app/system-management/organization/addor/addor.component.ts
@@ -0,0 +1,26 @@
+import { Component, OnInit, Input } from '@angular/core';
+import { NzModalRef } from 'ng-zorro-antd/modal';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { HttpClient } from '@angular/common/http';
+@Component({
+ selector: 'app-addor',
+ templateUrl: './addor.component.html',
+ styleUrls: ['./addor.component.scss']
+})
+export class AddorComponent implements OnInit {
+
+ @Input() title?: string;
+ @Input() subtitle?: string;
+ validateForm!: FormGroup;
+ constructor(private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient) { }
+
+ ngOnInit(): void {
+ this.validateForm = this.fb.group({
+ name: [null, [Validators.required]]
+ });
+ }
+ destroyModal(): void {
+ this.modal.destroy({ data: 'this the result data' });
+ }
+
+}
diff --git a/src/app/system-management/organization/editor/editor.component.html b/src/app/system-management/organization/editor/editor.component.html
new file mode 100644
index 0000000..4769623
--- /dev/null
+++ b/src/app/system-management/organization/editor/editor.component.html
@@ -0,0 +1,21 @@
+
+
+
diff --git a/src/app/system-management/organization/editor/editor.component.scss b/src/app/system-management/organization/editor/editor.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/system-management/organization/editor/editor.component.ts b/src/app/system-management/organization/editor/editor.component.ts
new file mode 100644
index 0000000..c7a7805
--- /dev/null
+++ b/src/app/system-management/organization/editor/editor.component.ts
@@ -0,0 +1,27 @@
+import { Component, OnInit, Input } from '@angular/core';
+import { NzModalRef } from 'ng-zorro-antd/modal';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { HttpClient } from '@angular/common/http';
+@Component({
+ selector: 'app-editor',
+ templateUrl: './editor.component.html',
+ styleUrls: ['./editor.component.scss']
+})
+export class EditorComponent implements OnInit {
+
+ @Input() data?: any;
+ validateForm!: FormGroup;
+ constructor(private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient) { }
+
+ ngOnInit(): void {
+ this.validateForm = this.fb.group({
+ name: [null, [Validators.required]],
+ power: [null, [Validators.required]]
+ });
+ }
+ destroyModal(): void {
+ this.modal.destroy({ data: 'this the result data' });
+ }
+
+
+}
diff --git a/src/app/system-management/organization/organization.component.html b/src/app/system-management/organization/organization.component.html
index 414c783..4bcf388 100644
--- a/src/app/system-management/organization/organization.component.html
+++ b/src/app/system-management/organization/organization.component.html
@@ -1 +1,43 @@
-
organization works!
+
+
+
+
组织机构列表
+
{{totalCount}}个单位
+
+
+
+
+
+
+
+
+
+
+ 组织机构
+ 操作
+
+
+
+
+
+ {{ node.title }}
+
+ 新增
+ 编辑
+ 删除
+
+
+
+
diff --git a/src/app/system-management/organization/organization.component.scss b/src/app/system-management/organization/organization.component.scss
index e69de29..a365d13 100644
--- a/src/app/system-management/organization/organization.component.scss
+++ b/src/app/system-management/organization/organization.component.scss
@@ -0,0 +1,78 @@
+.orbox {
+ width: 100%;
+ height: 100%;
+ overflow-y: auto;
+ background: #fff;
+ box-sizing: border-box;
+ padding: 20px;
+ font-size: 15px;
+}
+
+.topbox {
+ width: 700px;
+ height: 36px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .lefttop {
+ span:nth-child(1) {
+ color: #000D21;
+ margin-right: 16px;
+ }
+
+ span:nth-child(2) {
+ color: rgba(36, 36, 36, 0.24);
+ }
+ }
+
+ .righttop {
+ height: 36px;
+ display: flex;
+
+ button {
+ margin-left: 16px;
+ }
+
+ nz-input-group {
+ height: 32px;
+ }
+ }
+}
+
+.treeTitle {
+ width: 700px;
+ height: 36px;
+ line-height: 36px;
+ display: flex;
+ justify-content: space-between;
+ color: #000D21;
+ box-sizing: border-box;
+ padding-left: 30px;
+ padding-right: 180px;
+ background: rgba(145, 204, 255, 0.2);
+ margin: 12px 0;
+}
+
+.nodebox {
+ font-size: 15px;
+
+}
+
+.operation {
+ position: absolute;
+ right: 0;
+
+ span {
+ margin-left: 40px;
+ }
+
+ span:nth-child(1),
+ span:nth-child(2) {
+ color: #2399FF;
+ }
+
+ span:nth-child(3) {
+ color: rgba(0, 13, 33, 0.48);
+ }
+}
diff --git a/src/app/system-management/organization/organization.component.ts b/src/app/system-management/organization/organization.component.ts
index b7e9eee..3629aaa 100644
--- a/src/app/system-management/organization/organization.component.ts
+++ b/src/app/system-management/organization/organization.component.ts
@@ -1,15 +1,182 @@
-import { Component, OnInit } from '@angular/core';
-
+import { HttpClient } from '@angular/common/http';
+import { Component, OnInit, AfterViewInit, ViewChild, ViewContainerRef } from '@angular/core';
+import { TreeService } from 'src/app/service/tree.service';
+import { NzFormatEmitEvent, NzTreeComponent, NzTreeNodeOptions } from 'ng-zorro-antd/tree';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { NzModalService } from 'ng-zorro-antd/modal';
+import { NzMessageService } from 'ng-zorro-antd/message';
+import { AddorComponent } from './addor/addor.component';
+import { EditorComponent } from './editor/editor.component';
@Component({
selector: 'app-organization',
templateUrl: './organization.component.html',
styleUrls: ['./organization.component.scss']
})
export class OrganizationComponent implements OnInit {
-
- constructor() { }
+ validateForm!: FormGroup;
+ constructor(private fb: FormBuilder, private http: HttpClient, private toTree: TreeService, private modal: NzModalService, private message: NzMessageService, private viewContainerRef: ViewContainerRef) { }
ngOnInit(): void {
+ this.validateForm = this.fb.group({
+ search: [null]
+ });
+ this.getAllOrganization()
+ }
+ //搜索框提交
+ submitForm(): void {
+ console.log(12345)
+ for (const i in this.validateForm.controls) {
+ this.validateForm.controls[i].markAsDirty();
+ this.validateForm.controls[i].updateValueAndValidity();
+ }
+ }
+
+ //获取所有组织机构
+ searchValue = '';
+ nzExpandAll = false;
+ totalCount:string
+ getAllOrganization() {
+ this.http.get('/api/services/app/Organization/GetAll').subscribe((data: any) => {
+ this.totalCount = data.result.totalCount
+ // console.log('组织机构',data.result.totalCount)
+ data.result.items.forEach(element => {
+ element.key = element.code
+ element.title = element.displayName
+ element.selectable = false
+ });
+ this.nodes = [...this.toTree.toTree(data.result.items)]
+ // this.nzExpandAll = true;
+ this.nzTreeComponent.getExpandedNodeList().forEach((item) => {
+ this.defaultExpandedKeys.push(item.key)
+ })
+ })
+ }
+
+
+ @ViewChild('nzTreeComponent', { static: false }) nzTreeComponent!: NzTreeComponent;
+
+ defaultExpandedKeys = [];
+
+ nodes: any[] = []
+
+ nzClick(event: NzFormatEmitEvent): void {
+ // console.log(event);
+ console.log('展开节点', this.nzTreeComponent.getExpandedNodeList())
+
+
}
+ nzCheck(event: NzFormatEmitEvent): void {
+ console.log(event);
+ }
+
+ // nzSelectedKeys change
+ nzSelect(keys: string[]): void {
+ console.log(keys, this.nzTreeComponent.getSelectedNodeList());
+ }
+
+ ngAfterViewInit(): void {
+ // get node by key: '10011'
+ console.log(this.nzTreeComponent.getTreeNodeByKey('10011'));
+ // use tree methods
+ console.log(
+ this.nzTreeComponent.getTreeNodes(),
+ this.nzTreeComponent.getCheckedNodeList(),
+ this.nzTreeComponent.getSelectedNodeList(),
+ this.nzTreeComponent.getExpandedNodeList()
+ );
+ }
+
+ addOr(node?: any) {
+ const modal = this.modal.create({
+ nzTitle: node ? '新增组织机构' : '新增一级组织机构',
+ nzContent: AddorComponent,
+ nzViewContainerRef: this.viewContainerRef,
+ nzWidth: 288,
+ nzComponentParams: {
+ title: '',
+ subtitle: ''
+ },
+ nzOnOk: async () => {
+ console.log('hhhhhhh', instance.validateForm)
+ if (instance.validateForm.valid) {
+ await new Promise(resolve => {
+ let body = {
+
+ }
+ this.http.post('/api/services/app/User/Create', body).subscribe(data => {
+ resolve(data)
+ this.message.create('success', '创建成功!');
+ return true
+ }, err => {
+ resolve(err)
+ this.message.create('warning', '创建失败');
+ return false
+ })
+ })
+ } else {
+ this.message.create('warning', '请填写完整!');
+ return false
+ }
+ }
+ });
+ const instance = modal.getContentComponent();
+
+ }
+ editOr(node) {
+ console.log(node)
+ const modal = this.modal.create({
+ nzTitle: '编辑组织机构',
+ nzContent: EditorComponent,
+ nzViewContainerRef: this.viewContainerRef,
+ nzWidth: 288,
+ nzComponentParams: {
+ data: node,
+ },
+ nzOnOk: async () => {
+ console.log('hhhhhhh', instance.validateForm)
+ if (instance.validateForm.valid) {
+ await new Promise(resolve => {
+ let body = {
+
+ }
+ this.http.post('/api/services/app/User/Create', body).subscribe(data => {
+ resolve(data)
+ this.message.create('success', '编辑成功!');
+ return true
+ }, err => {
+ resolve(err)
+ this.message.create('warning', '创建失败');
+ return false
+ })
+ })
+ } else {
+ this.message.create('warning', '请填写完整!');
+ return false
+ }
+ }
+ });
+ const instance = modal.getContentComponent();
+ }
+ deleteOr(item) {
+ console.log(item)
+ this.modal.confirm({
+ nzTitle: `确定要删除${item.title}这个机构吗?`,
+ nzOkText: '确定',
+ nzOkType: 'danger',
+ nzOnOk: () => {
+ this.http.delete('/api/services/app/Role/Delete', {
+ params: {
+ Id: item.id
+ }
+ }).subscribe(data => {
+ this.message.create('success', '删除成功!');
+ })
+ },
+ nzCancelText: '取消',
+ nzOnCancel: () => {
+
+ }
+ });
+ }
}
diff --git a/src/app/system-management/role/addrole/addrole.component.html b/src/app/system-management/role/addrole/addrole.component.html
new file mode 100644
index 0000000..1727024
--- /dev/null
+++ b/src/app/system-management/role/addrole/addrole.component.html
@@ -0,0 +1,21 @@
+
+
+
diff --git a/src/app/system-management/role/addrole/addrole.component.scss b/src/app/system-management/role/addrole/addrole.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/system-management/role/addrole/addrole.component.ts b/src/app/system-management/role/addrole/addrole.component.ts
new file mode 100644
index 0000000..030d7e4
--- /dev/null
+++ b/src/app/system-management/role/addrole/addrole.component.ts
@@ -0,0 +1,38 @@
+import { Component, OnInit, Input } from '@angular/core';
+import { NzModalRef } from 'ng-zorro-antd/modal';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { HttpClient } from '@angular/common/http';
+@Component({
+ selector: 'app-addrole',
+ templateUrl: './addrole.component.html',
+ styleUrls: ['./addrole.component.scss']
+})
+export class AddroleComponent implements OnInit {
+
+ @Input() title?: string;
+ @Input() subtitle?: string;
+ validateForm!: FormGroup;
+ constructor(private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient) { }
+
+ ngOnInit(): void {
+ this.loadMore();
+ this.validateForm = this.fb.group({
+ name: [null, [Validators.required]],
+ power: [null, [Validators.required]]
+ });
+ }
+ destroyModal(): void {
+ this.modal.destroy({ data: 'this the result data' });
+ }
+ optionList = [];
+ isLoading = false;
+ //获取权限列表
+ loadMore() {
+ this.isLoading = true;
+ this.http.get('/api/services/app/Role/GetAllPermissions').subscribe((data:any) => {
+ this.isLoading = false;
+ this.optionList = data.result.items
+ console.log('所有权限',data)
+ })
+ }
+}
diff --git a/src/app/system-management/role/editrole/editrole.component.html b/src/app/system-management/role/editrole/editrole.component.html
new file mode 100644
index 0000000..7db4fd5
--- /dev/null
+++ b/src/app/system-management/role/editrole/editrole.component.html
@@ -0,0 +1,18 @@
+
+
+
diff --git a/src/app/system-management/role/editrole/editrole.component.scss b/src/app/system-management/role/editrole/editrole.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/system-management/role/editrole/editrole.component.ts b/src/app/system-management/role/editrole/editrole.component.ts
new file mode 100644
index 0000000..2dae734
--- /dev/null
+++ b/src/app/system-management/role/editrole/editrole.component.ts
@@ -0,0 +1,38 @@
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { Component, OnInit, Input } from '@angular/core';
+import { NzModalRef } from 'ng-zorro-antd/modal';
+import { HttpClient } from '@angular/common/http';
+@Component({
+ selector: 'app-editrole',
+ templateUrl: './editrole.component.html',
+ styleUrls: ['./editrole.component.scss']
+})
+export class EditroleComponent implements OnInit {
+
+ @Input() data?: any;
+ validateForm!: FormGroup;
+ constructor(private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient) { }
+
+ multipleValue:any
+ ngOnInit(): void {
+ this.multipleValue = this.data.grantedPermissions
+ this.loadMore();
+ this.validateForm = this.fb.group({
+ name: [null, [Validators.required]],
+ power: [null, [Validators.required]]
+ });
+ }
+ destroyModal(): void {
+ this.modal.destroy({ data: 'this the result data' });
+ }
+
+ optionList = [];
+ //获取权限列表
+ loadMore() {
+ this.http.get('/api/services/app/Role/GetAllPermissions').subscribe((data:any) => {
+ this.optionList = data.result.items
+ console.log('所有权限',data)
+ })
+ }
+
+}
diff --git a/src/app/system-management/role/role.component.html b/src/app/system-management/role/role.component.html
index ce1bd50..dd622e4 100644
--- a/src/app/system-management/role/role.component.html
+++ b/src/app/system-management/role/role.component.html
@@ -1 +1,38 @@
-
role works!
+
+
+
+
+
+
+ 角色 |
+ 权限 |
+ 创建/修改时间 |
+ 操作 |
+
+
+
+
+ {{data.name}} |
+
+ {{item.displayName}}
+ |
+
+ {{(data.lastModificationTime ? data.lastModificationTime : data.creationTime) | date:"yyyy-MM-dd HH:mm:ss"}}
+ |
+
+ 编辑
+ 删除
+ |
+
+
+
+
+
diff --git a/src/app/system-management/role/role.component.scss b/src/app/system-management/role/role.component.scss
index e69de29..44dcc71 100644
--- a/src/app/system-management/role/role.component.scss
+++ b/src/app/system-management/role/role.component.scss
@@ -0,0 +1,54 @@
+.roleBox {
+ width: 100%;
+ height: 100%;
+ background: #FFFFFF;
+ box-sizing: border-box;
+ padding: 20px;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+
+ tbody {
+ tr {
+ td {
+ span {
+ margin-right: 18px;
+ }
+ }
+ td:nth-child(1){
+ padding-left: 40px;
+ }
+ }
+ .operation {
+ a {
+ color: #2399FF;
+ margin-right: 8px;
+ }
+ a:last-child {
+ color: rgba(0, 13, 33, 0.48);
+ }
+ }
+
+ }
+}
+
+.topbox {
+ width: 100%;
+ height: 36px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 12px;
+
+ .lefttop {
+ span {
+ color: #000D21;
+ }
+ }
+}
+
+.tablebox {
+ flex: 1;
+ overflow-y: auto;
+
+}
diff --git a/src/app/system-management/role/role.component.ts b/src/app/system-management/role/role.component.ts
index dbd7a84..41abbde 100644
--- a/src/app/system-management/role/role.component.ts
+++ b/src/app/system-management/role/role.component.ts
@@ -1,5 +1,11 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { NzModalService } from 'ng-zorro-antd/modal';
+import { NzMessageService } from 'ng-zorro-antd/message';
+import { HttpClient } from '@angular/common/http';
+import { AddroleComponent } from './addrole/addrole.component';
+import { EditroleComponent } from './editrole/editrole.component';
@Component({
selector: 'app-role',
templateUrl: './role.component.html',
@@ -7,9 +13,126 @@ import { Component, OnInit } from '@angular/core';
})
export class RoleComponent implements OnInit {
- constructor() { }
+
+ constructor(private modal: NzModalService, private viewContainerRef: ViewContainerRef, private message: NzMessageService, private http: HttpClient) { }
ngOnInit(): void {
+ this.getAllRoles()
+ }
+
+ listOfData: any[] = [];
+
+ //获取角色列表
+
+ getAllRoles() {
+ this.http.get('/api/services/app/Role/GetAll').subscribe((data: any) => {
+ console.log('角色列表', data.result.items)
+ this.listOfData = data.result.items
+ })
+ }
+
+ addRole(): void {
+ const modal = this.modal.create({
+ nzTitle: '新增角色',
+ nzContent: AddroleComponent,
+ nzViewContainerRef: this.viewContainerRef,
+ nzWidth: 288,
+ nzComponentParams: {},
+ nzOnOk: async () => {
+ if (instance.validateForm.valid) {
+ await new Promise(resolve => {
+ console.log('表单信息', instance.validateForm)
+ let arr = []
+ instance.validateForm.value.power.forEach(element => {
+ arr.push(element.name)
+ });
+ let body = {
+ name: instance.validateForm.value.name,
+ DisplayName: instance.validateForm.value.name,
+ grantedPermissions: arr
+ }
+ this.http.post('/api/services/app/Role/Create', body).subscribe(data => {
+ resolve(data)
+ this.message.create('success', '创建成功!');
+ this.getAllRoles()
+ return true
+ })
+ })
+ } else {
+ this.message.create('warning', '请填写完整!');
+ return false
+ }
+ }
+ });
+ const instance = modal.getContentComponent();
+ modal.afterOpen.subscribe(() => console.log('[afterOpen] emitted!'));
+ // Return a result when closed
+ modal.afterClose.subscribe(result => console.log('[afterClose] The result is:', result));
+ }
+
+
+ edit(item) {
+ const modal = this.modal.create({
+ nzTitle: '编辑角色',
+ nzContent: EditroleComponent,
+ nzViewContainerRef: this.viewContainerRef,
+ nzWidth: 288,
+ nzComponentParams: {
+ data: item
+ },
+ nzOnOk: async () => {
+ if (instance.validateForm.valid) {
+ await new Promise(resolve => {
+ console.log('表单信息', instance.validateForm)
+ let arr = []
+ instance.validateForm.value.power.forEach(element => {
+ arr.push(element.name ? element.name : element)
+ });
+ let body = {
+ id: item.id,
+ name: instance.validateForm.value.name,
+ DisplayName: instance.validateForm.value.name,
+ grantedPermissions: arr
+ }
+ this.http.put('/api/services/app/Role/Update', body).subscribe(data => {
+ resolve(data)
+ this.message.create('success', '修改成功!');
+ this.getAllRoles()
+ return true
+ })
+ })
+ } else {
+ this.message.create('warning', '请填写完整!');
+ return false
+ }
+ }
+ });
+ const instance = modal.getContentComponent();
+ modal.afterOpen.subscribe(() => console.log('[afterOpen] emitted!'));
+ // Return a result when closed
+ modal.afterClose.subscribe(result => console.log('[afterClose] The result is:', result));
}
+ delete(item) {
+ console.log(item)
+ this.modal.confirm({
+ nzTitle: `确定要删除${item.name}这个角色吗?`,
+ nzOkText: '确定',
+ nzOkType: 'danger',
+ nzOnOk: () => {
+ this.http.delete('/api/services/app/Role/Delete', {
+ params: {
+ Id: item.id
+ }
+ }).subscribe(data => {
+ this.message.create('success', '删除成功!');
+ this.getAllRoles()
+ })
+ },
+ nzCancelText: '取消',
+ nzOnCancel: () => {
+
+ }
+ });
+ }
}
diff --git a/src/app/system-management/system-management-routing.module.ts b/src/app/system-management/system-management-routing.module.ts
index 54f7104..843186b 100644
--- a/src/app/system-management/system-management-routing.module.ts
+++ b/src/app/system-management/system-management-routing.module.ts
@@ -1,14 +1,15 @@
import { Routes, RouterModule } from '@angular/router';
import { NgModule } from '@angular/core';
-import {AuthGuard} from '../auth.guard'
+import { AuthGuard } from '../auth.guard'
+import { RoleComponent } from './role/role.component';
+import { OrganizationComponent } from './organization/organization.component';
+import { UserComponent } from './user/user.component';
const routes: Routes = [
- // { path: 'plan', component: PlanComponent },
- // { path: 'warning/petrolStation', component: TodayWarningComponent },
- // { path: 'warning/admin', component: TodayWarningAdminComponent },
- // { path: 'records/petrolStation', component: CriminalRecordsComponent },
- // { path: 'records/admin', component: CriminalRecordsAdminComponent }
+ { path: 'organization', component: OrganizationComponent },
+ { path: 'user', component: UserComponent },
+ { path: 'role', component: RoleComponent }
];
@NgModule({
diff --git a/src/app/system-management/system-management.module.ts b/src/app/system-management/system-management.module.ts
index a757a84..870c5a5 100644
--- a/src/app/system-management/system-management.module.ts
+++ b/src/app/system-management/system-management.module.ts
@@ -5,14 +5,50 @@ import { OrganizationComponent } from './organization/organization.component';
import { UserComponent } from './user/user.component';
import { RoleComponent } from './role/role.component';
import { NavigationComponent } from './navigation/navigation.component';
-
-
-
+import { NzLayoutModule } from 'ng-zorro-antd/layout';
+import { NzIconModule } from 'ng-zorro-antd/icon';
+import { NzTableModule } from 'ng-zorro-antd/table';
+import { NzDropDownModule } from 'ng-zorro-antd/dropdown';
+import { NzPaginationModule } from 'ng-zorro-antd/pagination';
+import { NzInputModule } from 'ng-zorro-antd/input';
+import { NzButtonModule } from 'ng-zorro-antd/button';
+import { NzFormModule } from 'ng-zorro-antd/form';
+import { FormsModule, ReactiveFormsModule } from '@angular/forms';
+import { NzModalModule } from 'ng-zorro-antd/modal';
+import { AdduserComponent } from './user/adduser/adduser.component';
+import { EdituserComponent } from './user/edituser/edituser.component';
+import { NzSelectModule } from 'ng-zorro-antd/select';
+import { NzMessageModule } from 'ng-zorro-antd/message';
+import { NzTreeModule } from 'ng-zorro-antd/tree';
+import { AddroleComponent } from './role/addrole/addrole.component';
+import { EditroleComponent } from './role/editrole/editrole.component';
+import { NzSpinModule } from 'ng-zorro-antd/spin';
+import { NzTreeSelectModule } from 'ng-zorro-antd/tree-select';
+import { AddorComponent } from './organization/addor/addor.component';
+import { EditorComponent } from './organization/editor/editor.component';
@NgModule({
- declarations: [OrganizationComponent, UserComponent, RoleComponent, NavigationComponent],
+ declarations: [OrganizationComponent, UserComponent, RoleComponent, NavigationComponent, AdduserComponent, EdituserComponent, AddroleComponent, EditroleComponent, AddorComponent, EditorComponent],
imports: [
CommonModule,
- SystemRoutingModule
- ]
+ SystemRoutingModule,
+ NzLayoutModule,
+ NzIconModule,
+ NzTableModule,
+ NzDropDownModule,
+ NzPaginationModule,
+ NzInputModule,
+ NzButtonModule,
+ NzFormModule,
+ FormsModule,
+ ReactiveFormsModule,
+ NzModalModule,
+ NzSelectModule,
+ NzMessageModule,
+ NzTreeModule,
+ NzSpinModule,
+ NzTreeSelectModule
+ ],
+ entryComponents :[AdduserComponent,EdituserComponent,AddroleComponent,EditroleComponent,AddorComponent,EditorComponent]
+
})
export class SystemManagementModule { }
diff --git a/src/app/system-management/user/adduser/adduser.component.html b/src/app/system-management/user/adduser/adduser.component.html
new file mode 100644
index 0000000..954b570
--- /dev/null
+++ b/src/app/system-management/user/adduser/adduser.component.html
@@ -0,0 +1,39 @@
+
+
+
diff --git a/src/app/system-management/user/adduser/adduser.component.scss b/src/app/system-management/user/adduser/adduser.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/system-management/user/adduser/adduser.component.ts b/src/app/system-management/user/adduser/adduser.component.ts
new file mode 100644
index 0000000..290dbbc
--- /dev/null
+++ b/src/app/system-management/user/adduser/adduser.component.ts
@@ -0,0 +1,54 @@
+import { Component, OnInit, Input } from '@angular/core';
+import { NzModalRef } from 'ng-zorro-antd/modal';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { HttpClient } from '@angular/common/http';
+import { TreeService } from 'src/app/service/tree.service';
+@Component({
+ selector: 'app-adduser',
+ templateUrl: './adduser.component.html',
+ styleUrls: ['./adduser.component.scss']
+})
+export class AdduserComponent implements OnInit {
+
+ @Input() title?: string;
+ @Input() subtitle?: string;
+ validateForm!: FormGroup;
+ constructor(private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient, private toTree: TreeService) { }
+
+ ngOnInit(): void {
+ this.validateForm = this.fb.group({
+ account: [null, [Validators.required]],
+ name: [null, [Validators.required]],
+ organization: [null, [Validators.required]],
+ role: [null, [Validators.required]],
+ phonenum: [null, [Validators.required]]
+ });
+
+ this.getAllRoles()
+ this.getAllOrganization()
+ }
+ destroyModal(): void {
+ this.modal.destroy({ data: 'this the result data' });
+ }
+
+ listOfData: any[] = [];
+
+ //获取角色列表
+ getAllRoles() {
+ this.http.get('/api/services/app/Role/GetAll').subscribe((data: any) => {
+ console.log('角色列表', data.result.items)
+ this.listOfData = data.result.items
+ })
+ }
+ //获取所有组织机构
+ nodes:any = []
+ getAllOrganization() {
+ this.http.get('/api/services/app/Organization/GetAll').subscribe((data: any) => {
+ data.result.items.forEach(element => {
+ element.key = element.code
+ element.title = element.displayName
+ });
+ this.nodes = [...this.toTree.toTree(data.result.items)]
+ })
+ }
+}
diff --git a/src/app/system-management/user/edituser/edituser.component.html b/src/app/system-management/user/edituser/edituser.component.html
new file mode 100644
index 0000000..dc1a983
--- /dev/null
+++ b/src/app/system-management/user/edituser/edituser.component.html
@@ -0,0 +1,39 @@
+
+
+
diff --git a/src/app/system-management/user/edituser/edituser.component.scss b/src/app/system-management/user/edituser/edituser.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/system-management/user/edituser/edituser.component.ts b/src/app/system-management/user/edituser/edituser.component.ts
new file mode 100644
index 0000000..89b8f2b
--- /dev/null
+++ b/src/app/system-management/user/edituser/edituser.component.ts
@@ -0,0 +1,57 @@
+import { Component, OnInit, Input } from '@angular/core';
+import { NzModalRef } from 'ng-zorro-antd/modal';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { HttpClient } from '@angular/common/http';
+import { TreeService } from 'src/app/service/tree.service';
+
+@Component({
+ selector: 'app-edituser',
+ templateUrl: './edituser.component.html',
+ styleUrls: ['./edituser.component.scss']
+})
+export class EdituserComponent implements OnInit {
+
+ @Input() data?: any;
+ validateForm!: FormGroup;
+ constructor(private modal: NzModalRef, private fb: FormBuilder, private http: HttpClient, private toTree: TreeService) { }
+
+ ngOnInit(): void {
+ this.validateForm = this.fb.group({
+ account: [null, [Validators.required]],
+ name: [null, [Validators.required]],
+ organization: [null, [Validators.required]],
+ role: [null, [Validators.required]],
+ phonenum: [null, [Validators.required]]
+ });
+
+
+ console.log(this.data)
+ this.getAllRoles()
+ this.getAllOrganization()
+ }
+ destroyModal(): void {
+ this.modal.destroy({ data: 'this the result data' });
+ }
+
+ listOfData: any[] = [];
+
+ //获取角色列表
+ getAllRoles() {
+ this.http.get('/api/services/app/Role/GetAll').subscribe((data: any) => {
+ console.log('角色列表', data.result.items)
+ this.listOfData = data.result.items
+ })
+ }
+ //获取所有组织机构
+ nodes:any = []
+ getAllOrganization() {
+ this.http.get('/api/services/app/Organization/GetAll').subscribe((data: any) => {
+ data.result.items.forEach(element => {
+ element.key = element.code
+ element.title = element.displayName
+ });
+ this.nodes = [...this.toTree.toTree(data.result.items)]
+ })
+ }
+
+}
diff --git a/src/app/system-management/user/user.component.html b/src/app/system-management/user/user.component.html
index d039bb7..22c1157 100644
--- a/src/app/system-management/user/user.component.html
+++ b/src/app/system-management/user/user.component.html
@@ -1 +1,63 @@
-
user works!
+
+
+
+ 用户列表
+ {{usersNum}}名用户
+
+
+
+
+
+
+
+
+
+
+ |
+ 账号 |
+ 姓名 |
+ 角色 |
+ 所属机构 |
+ 操作 |
+
+
+
+
+  |
+ {{ data.userName }} |
+ {{ data.name }} |
+
+ {{item}}
+ |
+
+
+ 自营
+
+ {{data.organization}}
+ |
+
+ 编辑
+ 重置密码
+ 删除
+ |
+
+
+
+
+
+
diff --git a/src/app/system-management/user/user.component.scss b/src/app/system-management/user/user.component.scss
index e69de29..2cf35a9 100644
--- a/src/app/system-management/user/user.component.scss
+++ b/src/app/system-management/user/user.component.scss
@@ -0,0 +1,87 @@
+.userBox {
+ width: 100%;
+ height: 100%;
+ background: #FFFFFF;
+ box-sizing: border-box;
+ padding: 20px;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+
+ thead {}
+
+ tbody {
+ tr {
+ td:nth-child(1) {
+ text-align: right;
+ }
+ }
+
+ .operation {
+ a {
+ color: #2399FF;
+ margin-right: 18px;
+ }
+
+ a:last-child {
+ color: rgba(0, 13, 33, 0.48);
+ }
+ }
+ }
+}
+
+.topbox {
+ width: 100%;
+ height: 36px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-bottom: 12px;
+
+ .lefttop {
+ span:nth-child(1) {
+ color: #000D21;
+ margin-right: 16px;
+ }
+
+ span:nth-child(2) {
+ color: rgba(36, 36, 36, 0.24);
+ }
+ }
+
+ .righttop {
+ display: flex;
+
+ button {
+ margin-left: 16px;
+ }
+
+ nz-input-group {
+ height: 32px;
+ }
+ }
+}
+
+.tablebox {
+ flex: 1;
+ overflow-y: auto;
+}
+
+.pagination {
+ margin: 15px 0;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.ortype {
+ width: 36px;
+ height: 20px;
+ background: #2399FF;
+ opacity: 1;
+ border-radius: 2px;
+ font-size: 12px;
+ margin-right: 8px;
+ color: #fff;
+ text-align: center;
+}
diff --git a/src/app/system-management/user/user.component.ts b/src/app/system-management/user/user.component.ts
index 5df0c83..955db12 100644
--- a/src/app/system-management/user/user.component.ts
+++ b/src/app/system-management/user/user.component.ts
@@ -1,15 +1,193 @@
-import { Component, OnInit } from '@angular/core';
-
+import { Component, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
+import { FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { NzModalService } from 'ng-zorro-antd/modal';
+import { AdduserComponent } from './adduser/adduser.component';
+import { NzMessageService } from 'ng-zorro-antd/message';
+import { HttpClient } from '@angular/common/http';
+import { EdituserComponent } from './edituser/edituser.component';
@Component({
selector: 'app-user',
templateUrl: './user.component.html',
styleUrls: ['./user.component.scss']
})
export class UserComponent implements OnInit {
-
- constructor() { }
+ validateForm!: FormGroup;
+ constructor(private fb: FormBuilder, private modal: NzModalService, private viewContainerRef: ViewContainerRef, private message: NzMessageService, private http: HttpClient) { }
ngOnInit(): void {
+ this.validateForm = this.fb.group({
+ search: [null]
+ });
+ this.getAllUsers()
+ }
+
+
+ //获取所有用户
+ usersLIst: any = []
+ usersNum:string
+
+ SkipCount: number = 0 //0 16 32 48
+ MaxResultCount: number = 16
+ getAllUsers() {
+ let params = {
+ SkipCount: String(this.SkipCount),
+ MaxResultCount: String(this.MaxResultCount)
+ }
+ this.http.get('/api/services/app/User/GetAll', {
+ params: params
+ }).subscribe((data: any) => {
+ this.usersLIst = data.result.items
+ this.usersNum = data.result.totalCount
+ console.log('所有用户', this.usersLIst)
+ })
}
+ pageChange($event){
+ console.log('页码改变',$event)
+ }
+
+
+
+ //搜索框提交
+ submitForm(): void {
+ console.log(12345)
+ for (const i in this.validateForm.controls) {
+ this.validateForm.controls[i].markAsDirty();
+ this.validateForm.controls[i].updateValueAndValidity();
+ }
+ }
+
+ //新增用户
+ addUser(): void {
+ const modal = this.modal.create({
+ nzTitle: '新增用户',
+ nzContent: AdduserComponent,
+ nzViewContainerRef: this.viewContainerRef,
+ nzWidth: 288,
+ nzComponentParams: {
+ title: '',
+ subtitle: ''
+ },
+ nzOnOk: async () => {
+ console.log('hhhhhhh', instance.validateForm)
+ if (instance.validateForm.valid) {
+ await new Promise(resolve => {
+ let body = {
+ userName: instance.validateForm.value.account,
+ name: instance.validateForm.value.name,
+ organizationId: instance.validateForm.value.organization,
+ roleNames: instance.validateForm.value.role,
+ phoneNumber: instance.validateForm.value.phonenum,
+ isActive: true
+ }
+ this.http.post('/api/services/app/User/Create', body).subscribe(data => {
+ resolve(data)
+ this.message.create('success', '创建成功!');
+ this.getAllUsers()
+ return true
+ }, err => {
+ resolve(err)
+ this.message.create('warning', '创建失败');
+ return false
+ })
+ })
+ } else {
+ this.message.create('warning', '请填写完整!');
+ return false
+ }
+ }
+ });
+ const instance = modal.getContentComponent();
+ modal.afterOpen.subscribe(() => console.log('[afterOpen] emitted!'));
+ // Return a result when closed
+ modal.afterClose.subscribe(result => console.log('[afterClose] The result is:', result));
+ }
+
+ //编辑用户
+ editUser(data): void {
+ const modal = this.modal.create({
+ nzTitle: '编辑用户',
+ nzContent: EdituserComponent,
+ nzViewContainerRef: this.viewContainerRef,
+ nzWidth: 288,
+ nzComponentParams: {
+ data: data,
+ },
+ nzOnOk: async () => {
+ console.log('hhhhhhh', instance.validateForm)
+ if (instance.validateForm.valid) {
+ await new Promise(resolve => {
+ let body = {
+ userName: instance.validateForm.value.account,
+ name: instance.validateForm.value.name,
+ organizationId: instance.validateForm.value.organization,
+ roleNames: instance.validateForm.value.role,
+ phoneNumber: instance.validateForm.value.phonenum,
+ isActive: true
+ }
+ this.http.post('/api/services/app/User/Create', body).subscribe(data => {
+ resolve(data)
+ this.message.create('success', '创建成功!');
+ this.getAllUsers()
+ return true
+ }, err => {
+ resolve(err)
+ this.message.create('warning', '创建失败');
+ return false
+ })
+ })
+ } else {
+ this.message.create('warning', '请填写完整!');
+ return false
+ }
+ }
+ });
+ const instance = modal.getContentComponent();
+ }
+
+ //重置密码
+ resetPassword(item) {
+ this.modal.confirm({
+ nzTitle: `确定要重置${item.userName}这个账户的密码吗?`,
+ nzOkText: '确定',
+ nzOkType: 'primary',
+ nzOnOk: () => {
+ this.http.delete('/api/services/app/Role/Delete', {
+ params: {
+ Id: item.id
+ }
+ }).subscribe(data => {
+ this.message.create('success', '重置成功!');
+ this.getAllUsers()
+ })
+ },
+ nzCancelText: '取消',
+ nzOnCancel: () => {
+
+ }
+ });
+ }
+
+ //删除
+ delete(item) {
+ this.modal.confirm({
+ nzTitle: `确定要删除${item.userName}这个账户吗?`,
+ nzOkText: '确定',
+ nzOkType: 'danger',
+ nzOnOk: () => {
+ this.http.delete('/api/services/app/Role/Delete', {
+ params: {
+ Id: item.id
+ }
+ }).subscribe(data => {
+ this.message.create('success', '删除成功!');
+ this.getAllUsers()
+ })
+ },
+ nzCancelText: '取消',
+ nzOnCancel: () => {
+
+ }
+ });
+ }
}
diff --git a/src/app/ui/tabbar/tabbar.component.html b/src/app/ui/tabbar/tabbar.component.html
index 15c0c56..523028d 100644
--- a/src/app/ui/tabbar/tabbar.component.html
+++ b/src/app/ui/tabbar/tabbar.component.html
@@ -16,7 +16,9 @@
- - 系统管理
+ - 基本信息
+ - 器材信息
+ - 系统管理
- 退出系统
diff --git a/src/app/ui/tabbar/tabbar.component.ts b/src/app/ui/tabbar/tabbar.component.ts
index 5d2dada..776f81d 100644
--- a/src/app/ui/tabbar/tabbar.component.ts
+++ b/src/app/ui/tabbar/tabbar.component.ts
@@ -59,9 +59,12 @@ export class TabbarComponent implements OnInit {
this.cookieService.set("refreshToken", '', new Date(new Date().getTime() + 1), '/');
this.router.navigate(['/login'])
}
- system(){
- this.router.navigate(['/system'])
+
+ navChange(router){
+ this.router.navigate([router])
}
+
+
//修改密码
changpsw() {
// let dialogRef = this.dialog.open(ChangepasswordComponent, { width: '348.000051px' });
diff --git a/src/assets/images/icon/admin.png b/src/assets/images/icon/admin.png
new file mode 100644
index 0000000000000000000000000000000000000000..f7f11ef61f8a29d04589c6bce797df47394575ea
GIT binary patch
literal 346
zcmV-g0j2(lP)
RG?HKRv>gh2Wkb-@|@`6$kF#^7Tr6jW{
zl?VOjR?_nT{iW$=)I1o#B5zHoru!kO@Ba_tRFY|*Q8mT43mQLd*r3L0#0I#t5x^d}
zs;=%b+KD+ykCE@|Ex+yPknZ-5Ho*rs+MkupIcl6qGG*WJ7>IVsz6?f0u^V`lv`VzC
z^$D2Q_}Nt(xK>TZPkE5M;G`nL=+3SqSC}}*9&{$17#ng{5#g}=9Jlqigv5iFba;us
s3P*8p(6{On(Li>Rx{7LM)?dzZ07fB;r`F!0NdN!<07*qoM6N<$f_-S4JOBUy
literal 0
HcmV?d00001
diff --git a/src/assets/images/icon/organization.png b/src/assets/images/icon/organization.png
new file mode 100644
index 0000000000000000000000000000000000000000..6fc46c27574a0232ae49fb7c5cf99d6ce6584356
GIT binary patch
literal 329
zcmV-P0k-~$P)|JOkY_BA}OL~#?77_baX^fM$pCr9X+T__)(lH{)PvS;k8vwvkc#!lVsROl0V4Lv(
z(~bWwB2EBp|K3AD(F5Hh;*vl-Ao>ZARL*K0y@a~U$b;vUK^bzsBz;TzEE5h0vgju}
z;K42dq}T@F$2^B*Hzojpnfpr0z=K>bxf8}tBouwN=}6&Z3$^6&1Z9y~ZU1
zjKYI+`hjM?!97?a=sQP5uY2wu%o4P2Tk9hIHv-!@zsNklD42`T(p$`K^J37}U(sZ_4+x>VqZ@IgC
za`(MEf`cb8V8|Qvm4iHc!Rqb3E0na2{w3_(1)(34zJ7rAuLQFvnA4g^p{}+fDi*Utu+t=+`laWbPj8C2S#mu-{cX}P&5FE
zfXRnQMbWadl$Hj80ZUFnkQTyrl(4Ojj~yiJqq7S;&?aC8(|1APfGHDu8tlx$VZc^{
zoTMNsMDn_q+S05E+|x2@QPVr`p8<~9h+^a!&a*Y3)O
hm|!q|=-TshZNG@K#KxDmNTvV)002ovPDHLkV1iKdsyYAw
literal 0
HcmV?d00001
diff --git a/src/assets/images/icon/power.png b/src/assets/images/icon/power.png
new file mode 100644
index 0000000000000000000000000000000000000000..d9e96003ef7587b71b9102024d920c2768b52921
GIT binary patch
literal 484
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
literal 0
HcmV?d00001
diff --git a/src/assets/images/userbig.png b/src/assets/images/userbig.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3a8388251448f7afbe1be4a314cc1117d51dd94
GIT binary patch
literal 8500
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 {
- color: rgba(145, 204, 255, 0.95);
-}
+//分页器
+#recordsboxadmin,
+#recordsbox {
-//弹窗遮罩层
-.ant-modal-mask {
- background: rgba(0, 0, 0, 0.05);
-}
+ .ant-pagination-total-text,
+ .ant-pagination-options-quick-jumper {
+ color: white
+ }
-//分页器
-.ant-pagination-total-text,
-.ant-pagination-options-quick-jumper {
- color: white
-}
+ .ant-pagination-item a,
+ .ant-pagination-prev .ant-pagination-item-link,
+ .ant-pagination-next .ant-pagination-item-link,
+ .ant-pagination-options-quick-jumper input {
+ color: white;
+ background: #0e2f4e;
+ }
-.ant-pagination-item a,
-.ant-pagination-prev .ant-pagination-item-link,
-.ant-pagination-next .ant-pagination-item-link,
-.ant-pagination-options-quick-jumper input {
- color: white;
- background: #0e2f4e;
+ .ant-pagination-item-active a {
+ background: #107495;
+ }
}
-.ant-pagination-item-active a {
- background: #107495;
-}
//查询重置按钮
@@ -156,3 +126,111 @@
-webkit-font-size: 16px !important;
}
}
+
+//表格
+#userBox,
+#roleBox {
+ .ant-table-thead>tr>th {
+ background: rgba(145, 204, 255, 0.15);
+ }
+}
+
+@select-background: transparent;
+@border-color-base: #91CCFF;
+
+//日期选择器
+// @input-placeholder-color: #345d85;
+#recordsboxadmin,
+#recordsbox,
+#warningbox,
+#warningboxadmin {
+ ::-webkit-input-placeholder {
+ /* WebKit browsers */
+ color: #345d85;
+ }
+
+ //滚动条样式
+ ::-webkit-scrollbar {
+ width: 10px;
+ }
+
+ ::-webkit-scrollbar-thumb {
+ background-image: linear-gradient(#2495f8, #1c73c2, #0a3d6a, #061d3c);
+ }
+
+ ::-webkit-scrollbar-track {
+ background-color: #061d3c;
+ }
+
+
+
+
+ .ant-select-single:not(.ant-select-customize-input) .ant-select-selector,
+ .ant-picker,
+ .ant-btn {
+ border-radius: 0px;
+ }
+
+ //select picker 小剪头
+ .ant-select-arrow,
+ .ant-picker-separator {
+ color: #36A2FF;
+ }
+
+ //日期选择器
+ // @input-placeholder-color: #345d85;
+
+ .ant-picker-suffix,
+ .ant-picker-input>input {
+ color: rgba(145, 204, 255, 0.95);
+ }
+
+
+ //弹窗遮罩层
+ .ant-modal-mask {
+ background: rgba(0, 0, 0, 0.05);
+ }
+
+ //遮罩层
+ .vertical-center-modal {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+
+ .ant-modal-body {
+ background: #072549;
+ height: 660px;
+ padding: 5px;
+ // border: 1px solid #8eb9e3;
+ box-shadow: 0 0 3px #8eb9e3;
+ color: #fff;
+ }
+
+ .ant-modal-close-x {
+ width: 36px;
+ height: 36px;
+ line-height: 36px;
+ color: white;
+ }
+
+ .vertical-center-modal .ant-modal {
+ top: 0;
+ }
+}
+
+// //弹窗遮罩层
+// .ant-modal-mask {
+// background: rgba(0, 0, 0, 0.05);
+// }
+
+
+#orbox {
+ nz-tree {
+ width: 660px;
+ }
+
+ nz-tree-node {
+ position: relative;
+ }
+}