支持虚拟组织

组织分为:
1、实体
2、虚拟
This commit is contained in:
MaxKey
2022-06-24 11:15:38 +08:00
parent 27ccc425b7
commit e01ff78c7a
10 changed files with 138 additions and 431 deletions

View File

@@ -1,19 +1,18 @@
/*
* Copyright [2022] [MaxKey of copyright http://www.maxkey.top]
*
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { NzFormatEmitEvent, NzTreeNode, NzTreeNodeOptions } from 'ng-zorro-antd/tree';
export class TreeNodes {
@@ -31,7 +30,13 @@ export class TreeNodes {
}
init(treeAttrs: any) {
this._rootNode = { title: treeAttrs.rootNode.title, key: treeAttrs.rootNode.key, expanded: true, isLeaf: false };
this._rootNode = {
title: treeAttrs.rootNode.title,
key: treeAttrs.rootNode.key,
type: treeAttrs.rootNode.attrs.type,
expanded: true,
isLeaf: false
};
this.request = treeAttrs.nodes;
}
@@ -43,9 +48,10 @@ export class TreeNodes {
let treeNodes: any[] = [];
for (let node of this.request) {
if (node.key != rootNode.key && node.parentKey == rootNode.key) {
let treeNode = { title: node.title, key: node.key, expanded: false, isLeaf: true };
let treeNode = { title: node.title, key: node.key, type: node.attrs.type, expanded: false, isLeaf: true };
this.buildTree(treeNode);
treeNodes.push(treeNode);
console.log(treeNode);
rootNode.isLeaf = false;
}
}

View File

@@ -6,77 +6,87 @@
<nz-form-item style="display: none">
<nz-form-label [nzMd]="6" nzFor="id">{{ 'mxk.text.id' | i18n }}</nz-form-label>
<nz-form-control [nzMd]="18" nzErrorTip="The input is not valid id!">
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input name="id" id="id" />
<input [(ngModel)]="form.model.id" disabled="{{ isEdit }}" [ngModelOptions]="{ standalone: true }" nz-input
name="id" id="id" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="code">{{ 'mxk.organizations.code' | i18n }}</nz-form-label>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="code">{{ 'mxk.organizations.code' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid code!">
<input [(ngModel)]="form.model.code" [ngModelOptions]="{ standalone: true }" nz-input name="code" id="code" />
<input [(ngModel)]="form.model.code" [ngModelOptions]="{ standalone: true }" nz-input name="code"
id="code" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="name">{{ 'mxk.organizations.name' | i18n }}</nz-form-label>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="name">{{ 'mxk.organizations.name' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid name!">
<input [(ngModel)]="form.model.name" [ngModelOptions]="{ standalone: true }" nz-input name="name" id="name" />
<input [(ngModel)]="form.model.name" [ngModelOptions]="{ standalone: true }" nz-input name="name"
id="name" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="fullName">{{ 'mxk.organizations.fullName' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid fullName!">
<input [(ngModel)]="form.model.fullName" [ngModelOptions]="{ standalone: true }" nz-input name="fullName" id="fullName" />
</nz-form-control>
</nz-form-item>
<nz-form-item style="display: none">
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="parentId">{{ 'mxk.organizations.parentId' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid parentId!">
<input [(ngModel)]="form.model.parentId" [ngModelOptions]="{ standalone: true }" nz-input name="parentId" id="parentId" />
</nz-form-control>
</nz-form-item>
<nz-form-item style="display: none">
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="parentCode">{{ 'mxk.organizations.parentCode' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid parentCode!">
<input
[(ngModel)]="form.model.parentCode"
readonly
[ngModelOptions]="{ standalone: true }"
nz-input
name="parentCode"
id="parentCode"
/>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="fullName">{{ 'mxk.organizations.fullName' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid fullName!">
<input [(ngModel)]="form.model.fullName" [ngModelOptions]="{ standalone: true }" nz-input name="fullName"
id="fullName" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="parentName">{{ 'mxk.organizations.parentName' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid parentName!">
<input
[(ngModel)]="form.model.parentName"
readonly
[ngModelOptions]="{ standalone: true }"
nz-input
name="parentName"
id="parentName"
/>
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="type">{{ 'mxk.organizations.type' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid type!">
<nz-select name="type" [(ngModel)]="form.model.type" [ngModelOptions]="{ standalone: true }">
<nz-option nzValue="entity" nzLabel="{{ 'mxk.organizations.type.entity' | i18n }}"></nz-option>
<nz-option nzValue="virtual" nzLabel="{{ 'mxk.organizations.type.virtual' | i18n }}"></nz-option>
</nz-select>
</nz-form-control>
</nz-form-item>
<nz-form-item style="display: none">
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="parentId">{{ 'mxk.organizations.parentId' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid parentId!">
<input [(ngModel)]="form.model.parentId" [ngModelOptions]="{ standalone: true }" nz-input name="parentId"
id="parentId" />
</nz-form-control>
</nz-form-item>
<nz-form-item style="display: none">
<nz-form-label [nzSm]="6" [nzXs]="24" nzRequired nzFor="parentCode">{{ 'mxk.organizations.parentCode' | i18n
}}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid parentCode!">
<input [(ngModel)]="form.model.parentCode" readonly [ngModelOptions]="{ standalone: true }" nz-input
name="parentCode" id="parentCode" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="parentName">{{ 'mxk.organizations.parentName' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid parentName!">
<input [(ngModel)]="form.model.parentName" readonly [ngModelOptions]="{ standalone: true }" nz-input
name="parentName" id="parentName" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="sortIndex">{{ 'mxk.text.sortIndex' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid sortIndex!">
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex" id="sortIndex" />
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid sortIndex!">
<input [(ngModel)]="form.model.sortIndex" [ngModelOptions]="{ standalone: true }" nz-input name="sortIndex"
id="sortIndex" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="status">{{ 'mxk.text.status' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="14" [nzXs]="24" nzErrorTip="The input is not valid status!">
<nz-switch
[(ngModel)]="form.model.switch_status"
[ngModelOptions]="{ standalone: true }"
name="status"
[nzCheckedChildren]="checkedTemplate"
[nzUnCheckedChildren]="unCheckedTemplate"
></nz-switch>
<nz-switch [(ngModel)]="form.model.switch_status" [ngModelOptions]="{ standalone: true }" name="status"
[nzCheckedChildren]="checkedTemplate" [nzUnCheckedChildren]="unCheckedTemplate"></nz-switch>
<ng-template #checkedTemplate><i nz-icon nzType="check"></i></ng-template>
<ng-template #unCheckedTemplate><i nz-icon nzType="close"></i></ng-template>
</nz-form-control>
@@ -84,33 +94,38 @@
</nz-tab>
<nz-tab nzTitle="{{ 'mxk.organizations.tab.extra' | i18n }}">
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="codePath">{{ 'mxk.organizations.codePath' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid codePath!">
<input [(ngModel)]="form.model.codePath" [ngModelOptions]="{ standalone: true }" nz-input name="codePath" id="codePath" />
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="codePath">{{ 'mxk.organizations.codePath' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid codePath!">
<input [(ngModel)]="form.model.codePath" [ngModelOptions]="{ standalone: true }" nz-input name="codePath"
id="codePath" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="namePath">{{ 'mxk.organizations.namePath' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid namePath!">
<input [(ngModel)]="form.model.namePath" [ngModelOptions]="{ standalone: true }" nz-input name="namePath" id="namePath" />
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="namePath">{{ 'mxk.organizations.namePath' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid namePath!">
<input [(ngModel)]="form.model.namePath" [ngModelOptions]="{ standalone: true }" nz-input name="namePath"
id="namePath" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="level">{{ 'mxk.organizations.level' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid level!">
<input [(ngModel)]="form.model.level" [ngModelOptions]="{ standalone: true }" nz-input name="level" id="level" />
<input [(ngModel)]="form.model.level" [ngModelOptions]="{ standalone: true }" nz-input name="level"
id="level" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="type">{{ 'mxk.organizations.type' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid type!">
<input [(ngModel)]="form.model.type" [ngModelOptions]="{ standalone: true }" nz-input name="type" id="type" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="division">{{ 'mxk.organizations.division' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid division!">
<input [(ngModel)]="form.model.division" [ngModelOptions]="{ standalone: true }" nz-input name="division" id="division" />
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="division">{{ 'mxk.organizations.division' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid division!">
<input [(ngModel)]="form.model.division" [ngModelOptions]="{ standalone: true }" nz-input name="division"
id="division" />
</nz-form-control>
</nz-form-item>
</nz-tab>
@@ -118,37 +133,38 @@
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="country">{{ 'mxk.organizations.country' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid country!">
<input [(ngModel)]="form.model.country" [ngModelOptions]="{ standalone: true }" nz-input name="country" id="country" />
<input [(ngModel)]="form.model.country" [ngModelOptions]="{ standalone: true }" nz-input name="country"
id="country" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="region">{{ 'mxk.organizations.region' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid region!">
<input [(ngModel)]="form.model.region" [ngModelOptions]="{ standalone: true }" nz-input name="region" id="region" />
<input [(ngModel)]="form.model.region" [ngModelOptions]="{ standalone: true }" nz-input name="region"
id="region" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="locality">{{ 'mxk.organizations.locality' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid locality!">
<input [(ngModel)]="form.model.locality" [ngModelOptions]="{ standalone: true }" nz-input name="locality" id="locality" />
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="locality">{{ 'mxk.organizations.locality' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid locality!">
<input [(ngModel)]="form.model.locality" [ngModelOptions]="{ standalone: true }" nz-input name="locality"
id="locality" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="street">{{ 'mxk.organizations.street' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid street!">
<input [(ngModel)]="form.model.street" [ngModelOptions]="{ standalone: true }" nz-input name="street" id="street" />
<input [(ngModel)]="form.model.street" [ngModelOptions]="{ standalone: true }" nz-input name="street"
id="street" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="address">{{ 'mxk.organizations.address' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid address!">
<input [(ngModel)]="form.model.address" [ngModelOptions]="{ standalone: true }" nz-input name="address" id="address" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="postalCode">{{ 'mxk.organizations.postalCode' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid postalCode!">
<input [(ngModel)]="form.model.postalCode" [ngModelOptions]="{ standalone: true }" nz-input name="postalCode" id="postalCode" />
<input [(ngModel)]="form.model.address" [ngModelOptions]="{ standalone: true }" nz-input name="address"
id="address" />
</nz-form-control>
</nz-form-item>
</nz-tab>
@@ -156,19 +172,22 @@
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="contact">{{ 'mxk.organizations.contact' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid contact!">
<input [(ngModel)]="form.model.contact" [ngModelOptions]="{ standalone: true }" nz-input name="contact" id="contact" />
<input [(ngModel)]="form.model.contact" [ngModelOptions]="{ standalone: true }" nz-input name="contact"
id="contact" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="phone">{{ 'mxk.organizations.phone' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid phone!">
<input [(ngModel)]="form.model.phone" [ngModelOptions]="{ standalone: true }" nz-input name="phone" id="phone" />
<input [(ngModel)]="form.model.phone" [ngModelOptions]="{ standalone: true }" nz-input name="phone"
id="phone" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="email">{{ 'mxk.organizations.email' | i18n }}</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48" nzErrorTip="The input is not valid email!">
<input [(ngModel)]="form.model.email" [ngModelOptions]="{ standalone: true }" nz-input name="email" id="email" />
<input [(ngModel)]="form.model.email" [ngModelOptions]="{ standalone: true }" nz-input name="email"
id="email" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
@@ -177,6 +196,15 @@
<input [(ngModel)]="form.model.fax" [ngModelOptions]="{ standalone: true }" nz-input name="fax" id="fax" />
</nz-form-control>
</nz-form-item>
<nz-form-item>
<nz-form-label [nzSm]="6" [nzXs]="24" nzFor="postalCode">{{ 'mxk.organizations.postalCode' | i18n }}
</nz-form-label>
<nz-form-control [nzSm]="18" [nzMd]="18" [nzXs]="36" [nzXl]="48"
nzErrorTip="The input is not valid postalCode!">
<input [(ngModel)]="form.model.postalCode" [ngModelOptions]="{ standalone: true }" nz-input
name="postalCode" id="postalCode" />
</nz-form-control>
</nz-form-item>
</nz-tab>
</nz-tabset>
</form>
@@ -185,4 +213,4 @@
<div *nzModalFooter>
<button nz-button nzType="default" (click)="onClose($event)">{{ 'mxk.text.close' | i18n }}</button>
<button nz-button nzType="primary" (click)="onSubmit($event)">{{ 'mxk.text.submit' | i18n }}</button>
</div>
</div>

View File

@@ -72,6 +72,7 @@ export class OrganizationEditerComponent implements OnInit {
this.cdr.detectChanges();
});
} else {
this.form.model.type = 'entity';
if (this.parentNode) {
this.form.model.parentId = this.parentNode?.key;
this.form.model.parentName = this.parentNode?.title;

View File

@@ -38,11 +38,11 @@
<span class="custom-node">
<span *ngIf="!node.isLeaf" (contextmenu)="contextMenu($event, menu)">
<i nz-icon [nzType]="node.isExpanded ? 'folder-open' : 'folder'" (click)="openFolder(node)"></i>
<span class="folder-name">{{ node.title }}</span>
<span class="folder-name">{{ node.title + (origin.type == 'virtual' ? '_v' : '') }}</span>
</span>
<span *ngIf="node.isLeaf" (contextmenu)="contextMenu($event, menu)">
<i nz-icon nzType="file"></i>
<span class="file-name">{{ node.title }}</span>
<span class="file-name">{{ node.title + (origin.type == 'virtual' ? '_v' : '') }}</span>
</span>
</span>
</ng-template>
@@ -64,6 +64,7 @@
(nzCheckedChange)="onTableAllChecked($event)"></th>
<th nzAlign="center">{{ 'mxk.organizations.code' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.organizations.name' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.organizations.type' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.text.sortIndex' | i18n }}</th>
<th nzAlign="center">{{ 'mxk.text.status' | i18n }}</th>
<th nzAlign="center"><a>{{ 'mxk.text.action' | i18n }}</a></th>
@@ -77,6 +78,9 @@
<span>{{ data.id }}</span>
</td>
<td nzAlign="left"> {{ data.name }}</td>
<td nzAlign="left">
{{ data.type == 'entity' ? ('mxk.organizations.type.entity' | i18n) : ('mxk.organizations.type.virtual' |
i18n) }}</td>
<td nzAlign="center"> {{ data.sortIndex }}</td>
<td nzAlign="center"> <i *ngIf="data.status == 1" nz-icon nzType="check-circle" nzTheme="fill"
style="color: green"></i></td>

View File

@@ -43,11 +43,11 @@
<span class="custom-node">
<span *ngIf="!node.isLeaf" (contextmenu)="contextMenu($event, menu)">
<i nz-icon [nzType]="node.isExpanded ? 'folder-open' : 'folder'" (click)="openFolder(node)"></i>
<span class="folder-name">{{ node.title }}</span>
<span class="folder-name">{{ node.title + (origin.type == 'virtual' ? '_v' : '') }}</span>
</span>
<span *ngIf="node.isLeaf" (contextmenu)="contextMenu($event, menu)">
<i nz-icon nzType="file"></i>
<span class="file-name">{{ node.title }}</span>
<span class="file-name">{{ node.title + (origin.type == 'virtual' ? '_v' : '') }}</span>
</span>
</span>
</ng-template>

View File

@@ -190,6 +190,8 @@
"parentCode": "Parent Code",
"parentName": "Parent Name",
"type": "Type",
"type.entity": "Entity",
"type.virtual": "Virtual",
"codePath": "Code Path",
"namePath": "NamePath",
"level": "Level",

View File

@@ -191,6 +191,8 @@
"parentCode": "父级编码",
"parentName": "父级名称",
"type": "类型",
"type.entity": "实体",
"type.virtual": "虚拟",
"codePath": "编码路径",
"namePath": "名称路径",
"level": "级别",

View File

@@ -192,6 +192,8 @@
"parentCode": "父級編碼",
"parentName": "父級名稱",
"type": "類型",
"type.entity": "實體",
"type.virtual": "虛擬",
"codePath": "編碼路徑",
"namePath": "名稱路徑",
"level": "級別",