From bb308c063ded1b49502371aa97af6d8112fd9e77 Mon Sep 17 00:00:00 2001 From: Sjh <55341701@qq.com> Date: Wed, 23 Oct 2024 16:30:18 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E]=E6=9B=B4=E6=94=B9=E7=88=B6?= =?UTF-8?q?=E7=BA=A7=E7=BB=84=E7=BB=87=E6=9C=BA=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- .../change-or/change-or.component.html | 4 ++ .../change-or/change-or.component.scss | 4 ++ .../change-or/change-or.component.spec.ts | 25 +++++++++ .../change-or/change-or.component.ts | 55 +++++++++++++++++++ .../organization/organization.component.html | 3 +- .../organization/organization.component.ts | 46 +++++++++++++++- .../system-management.module.ts | 2 + 8 files changed, 136 insertions(+), 5 deletions(-) create mode 100644 src/app/system-management/organization/change-or/change-or.component.html create mode 100644 src/app/system-management/organization/change-or/change-or.component.scss create mode 100644 src/app/system-management/organization/change-or/change-or.component.spec.ts create mode 100644 src/app/system-management/organization/change-or/change-or.component.ts diff --git a/package.json b/package.json index 0affa26..4dd7eb5 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "scripts": { "ng": "ng", - "start": "ng serve --proxy-config proxy.config.json --open --port 1234 ", + "start": "ng serve --proxy-config proxy.config.json --open --port 1234 --host 192.168.1.82", "build": "ng build", "watch": "ng build --watch --configuration development", "test": "ng test" diff --git a/src/app/system-management/organization/change-or/change-or.component.html b/src/app/system-management/organization/change-or/change-or.component.html new file mode 100644 index 0000000..e99185e --- /dev/null +++ b/src/app/system-management/organization/change-or/change-or.component.html @@ -0,0 +1,4 @@ +
+ +
\ No newline at end of file diff --git a/src/app/system-management/organization/change-or/change-or.component.scss b/src/app/system-management/organization/change-or/change-or.component.scss new file mode 100644 index 0000000..5a6799d --- /dev/null +++ b/src/app/system-management/organization/change-or/change-or.component.scss @@ -0,0 +1,4 @@ +.box { + max-height: 500px; + overflow-y: auto; +} diff --git a/src/app/system-management/organization/change-or/change-or.component.spec.ts b/src/app/system-management/organization/change-or/change-or.component.spec.ts new file mode 100644 index 0000000..be4f0cb --- /dev/null +++ b/src/app/system-management/organization/change-or/change-or.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ChangeOrComponent } from './change-or.component'; + +describe('ChangeOrComponent', () => { + let component: ChangeOrComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ChangeOrComponent ] + }) + .compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ChangeOrComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/system-management/organization/change-or/change-or.component.ts b/src/app/system-management/organization/change-or/change-or.component.ts new file mode 100644 index 0000000..dfc4901 --- /dev/null +++ b/src/app/system-management/organization/change-or/change-or.component.ts @@ -0,0 +1,55 @@ +import { Component, Input, OnInit, ViewChild } 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'; +import { NzTreeComponent } from 'ng-zorro-antd/tree'; + +@Component({ + selector: 'app-change-or', + templateUrl: './change-or.component.html', + styleUrls: ['./change-or.component.scss'], +}) +export class ChangeOrComponent implements OnInit { + @Input() data?: any; + @ViewChild('nzTreeComponent', { static: false }) + nzTreeComponent!: NzTreeComponent; + constructor( + private modal: NzModalRef, + private fb: FormBuilder, + private http: HttpClient, + private toTree: TreeService + ) {} + + defaultExpandedKeys = []; + defaultSelectedKeys = []; + ngOnInit(): void { + this.getAllOrganization(); + // this.nzTreeComponent.getCheckedNodeList() + } + + allOrList: any; + nodes: any; + getAllOrganization() { + let params = { + ContainsChildren: true, + pageSize: 9999, + }; + this.http + .get('/api/Organizations', { + params: params, + }) + .subscribe((data: any) => { + data.items.forEach((element) => { + element.key = element.id; + element.title = element.name; + }); + this.allOrList = data.items.filter((v) => !v.isGasStation); + this.nodes = [...this.toTree.toTree(this.allOrList)]; + }); + } + + 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 697c9f2..69cb953 100644 --- a/src/app/system-management/organization/organization.component.html +++ b/src/app/system-management/organization/organization.component.html @@ -17,13 +17,14 @@ + (nzOnDrop)="nzEvent($event)" [nzBeforeDrop]="beforeDrop" [nzTreeTemplate]="nzTreeTemplate">
{{ node.title }} 新增 + 修改所属机构 编辑 删除 diff --git a/src/app/system-management/organization/organization.component.ts b/src/app/system-management/organization/organization.component.ts index 3088d15..8cf1fab 100644 --- a/src/app/system-management/organization/organization.component.ts +++ b/src/app/system-management/organization/organization.component.ts @@ -22,6 +22,7 @@ import { NzFormatBeforeDropEvent } from 'ng-zorro-antd/tree'; import { Observable, of } from 'rxjs'; import { delay } from 'rxjs/operators'; import { CustomReuseStrategy } from 'src/app/CustomReuseStrategy'; +import { ChangeOrComponent } from './change-or/change-or.component'; @Component({ selector: 'app-organization', templateUrl: './organization.component.html', @@ -84,10 +85,7 @@ export class OrganizationComponent implements OnInit { allOrList: any; getAllOrganization() { - let OrganizationUnitId = ''; let params = { - // OrganizationUnitId: OrganizationUnitId, - // IsContainsChildren: "true" ContainsChildren: true, pageSize: 9999, }; @@ -193,6 +191,48 @@ export class OrganizationComponent implements OnInit { }); const instance = modal.getContentComponent(); } + + changeOr(node) { + console.log(node); + const modal = this.modal.create({ + nzTitle: '修改所属组织机构', + nzContent: ChangeOrComponent, + nzViewContainerRef: this.viewContainerRef, + nzWidth: 500, + nzComponentParams: { + data: this.allOrList, + }, + nzOnOk: async () => { + let selectedNode = + instance.nzTreeComponent.getSelectedNodeList()[0].key; + + if (selectedNode) { + await new Promise((resolve) => { + let body = { + parentId: selectedNode, + isGasStation: node.origin.isGasStation, + }; + this.http + .put(`/api/Organizations/${node.origin.id}`, body) + .subscribe((data) => { + resolve(data); + this.message.create('success', '修改成功!'); + this.nzTreeComponent.getExpandedNodeList().forEach((item) => { + this.defaultExpandedKeys.push(item.key); + }); + this.getAllOrganization(); + return true; + }); + }); + } else { + this.message.create('warning', '请选择机构!'); + return false; + } + }, + }); + const instance = modal.getContentComponent(); + } + deleteOr(item) { console.log(item); if (item.origin.children && item.origin.children.length != 0) { diff --git a/src/app/system-management/system-management.module.ts b/src/app/system-management/system-management.module.ts index 026f6a0..aa890d8 100644 --- a/src/app/system-management/system-management.module.ts +++ b/src/app/system-management/system-management.module.ts @@ -52,6 +52,7 @@ import { AnxinConfigComponent } from './host-config/anxin-config/anxin-config.co import { DragDropModule } from '@angular/cdk/drag-drop'; import { IframeComponent } from './iframe/iframe.component'; import { WorkerTagComponent } from './analysis-of-the-host/worker-tag/worker-tag.component'; +import { ChangeOrComponent } from './organization/change-or/change-or.component'; @NgModule({ declarations: [ OrganizationComponent, @@ -84,6 +85,7 @@ import { WorkerTagComponent } from './analysis-of-the-host/worker-tag/worker-tag AnxinConfigComponent, IframeComponent, WorkerTagComponent, + ChangeOrComponent, ], imports: [ CommonModule,