Browse Source

[新增]机构更改父组织

master
邵佳豪 5 months ago
parent
commit
bc21575204
  1. 4
      src/app/system-management/organization/change-or/change-or.component.html
  2. 5
      src/app/system-management/organization/change-or/change-or.component.scss
  3. 55
      src/app/system-management/organization/change-or/change-or.component.ts
  4. 5
      src/app/system-management/organization/organization.component.html
  5. 45
      src/app/system-management/organization/organization.component.ts
  6. 2
      src/app/system-management/system-management.module.ts

4
src/app/system-management/organization/change-or/change-or.component.html

@ -0,0 +1,4 @@
<div class="box">
<nz-tree #nzTreeComponent [nzSelectedKeys]="defaultSelectedKeys" [nzData]="nodes"
[nzExpandedKeys]="defaultExpandedKeys"></nz-tree>
</div>

5
src/app/system-management/organization/change-or/change-or.component.scss

@ -0,0 +1,5 @@
.box {
max-height: 500px;
overflow-y: auto;
}

55
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 = {
IsContainsChildren: "true",
};
this.http
.get("/api/services/app/Organization/GetAll", {
params: params,
})
.subscribe((data: any) => {
console.log(data);
data.result.items.forEach((element) => {
element.key = element.id;
element.title = element.displayName;
});
this.allOrList = data.result.items.filter((v) => !v.isGasStation);
this.nodes = [...this.toTree.toTree(this.allOrList)];
});
}
destroyModal(): void {
this.modal.destroy({ data: "this the result data" });
}
}

5
src/app/system-management/organization/organization.component.html

@ -21,8 +21,8 @@
<span>操作</span>
</div>
<nz-tree [nzHideUnMatched]='true' [nzSearchValue]="searchValue" #nzTreeComponent [nzData]="nodes"
[nzExpandAll]="nzExpandAll" [nzExpandedKeys]="defaultExpandedKeys" [nzTreeTemplate]="nzTreeTemplate"
nzBlockNode [nzExpandedIcon]="multiExpandedIconTpl">
[nzExpandAll]="nzExpandAll" [nzExpandedKeys]="defaultExpandedKeys" [nzTreeTemplate]="nzTreeTemplate" nzBlockNode
[nzExpandedIcon]="multiExpandedIconTpl">
</nz-tree>
<ng-template #nzTreeTemplate let-node let-origin="origin">
<div class="nodebox">
@ -34,6 +34,7 @@
<span class="operation" *ngIf="level === 1 && isAdmin">
<span (click)="addOr(node)" *ngIf="!node.origin.isGasStation">新增</span>
<span (click)="waring(node)" *ngIf="node.origin.isGasStation">配置预警事件</span>
<span class="blue" (click)="changeOr(node)">修改所属机构</span>
<span (click)="editOr(node)">编辑</span>
<span [ngClass]="{'grey':node.origin.children && node.origin.children.length != 0}"
(click)="deleteOr(node)">删除</span>

45
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 { WarningEventsComponent } from "./warning-events/warning-events.component";
import { ChangeOrComponent } from "./change-or/change-or.component";
@Component({
selector: "app-organization",
templateUrl: "./organization.component.html",
@ -429,4 +430,48 @@ export class OrganizationComponent implements OnInit {
return of(true);
}
};
changeOr(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 = {
id: node.origin.id,
parentId: selectedNode,
displayName: node.origin.displayName,
isGasStation: node.origin.isGasStation,
isSkipAudit: node.origin.isSkipAudit,
level: node.origin.level,
};
this.http
.put(`/api/services/app/Organization/Update`, 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();
}
}

2
src/app/system-management/system-management.module.ts

@ -55,6 +55,7 @@ import { UserBindingComponent } from "./user-binding/user-binding.component";
import { BindingComponent } from "./user-binding/binding/binding.component";
import { OrBindingComponent } from './or-binding/or-binding.component';
import { OrBindingModelComponent } from './or-binding/or-binding-model/or-binding-model.component';
import { ChangeOrComponent } from './organization/change-or/change-or.component';
@NgModule({
declarations: [
OrganizationComponent,
@ -90,6 +91,7 @@ import { OrBindingModelComponent } from './or-binding/or-binding-model/or-bindin
BindingComponent,
OrBindingComponent,
OrBindingModelComponent,
ChangeOrComponent,
],
imports: [
CommonModule,

Loading…
Cancel
Save