You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
268 lines
8.4 KiB
268 lines
8.4 KiB
<app-page>
|
|
<ng-template #actionTpl>
|
|
<nz-space>
|
|
<button *nzSpaceItem nz-button nzType="primary" (click)="onCreate()">
|
|
<span>登记</span>
|
|
</button>
|
|
<button *nzSpaceItem nz-button>
|
|
<span>删除</span>
|
|
</button>
|
|
<button *nzSpaceItem nz-button [disabled]="table.ref.selected.size === 0" (click)="confirmAsset()">
|
|
<span>资产确认</span>
|
|
</button>
|
|
<button *nzSpaceItem nz-button nz-dropdown [nzDropdownMenu]="export">
|
|
<span>导入/导出</span>
|
|
<i nz-icon nzType="down"></i>
|
|
<nz-dropdown-menu #export="nzDropdownMenu">
|
|
<ul nz-menu>
|
|
<li nz-menu-item (click)="importExcel(importExcelTpl)">导入Excel</li>
|
|
<li nz-menu-item [nzDisabled]="table.ref.selected.size === 0" (click)="exportExcel()">
|
|
导出Excel
|
|
</li>
|
|
</ul>
|
|
</nz-dropdown-menu>
|
|
</button>
|
|
<!-- <button *nzSpaceItem nz-button>
|
|
<span>打印</span>
|
|
</button> -->
|
|
</nz-space>
|
|
</ng-template>
|
|
<div class="flex-1 overflow-hidden">
|
|
<app-server-paginated-table
|
|
[options]="table"
|
|
[formGroup]="queryForm"
|
|
[tableAction]="actionTpl"
|
|
[renderColumn]="renderColumnTpl"
|
|
>
|
|
<ng-template #renderColumnTpl let-data let-key="key" let-row="row">
|
|
@switch (key) {
|
|
@case ('status') {
|
|
<nz-tag>
|
|
{{ ASSET_STATUS_MAP[data] }}
|
|
</nz-tag>
|
|
}
|
|
@case ('_useUser') {
|
|
{{ data?.userName ?? '-' }}
|
|
}
|
|
@case ('_warehouse') {
|
|
{{ data?.name ?? '-' }}
|
|
}
|
|
@case ('_position') {
|
|
{{ data?.name ?? '-' }}
|
|
}
|
|
@case ('_head') {
|
|
{{ data?.userName ?? '-' }}
|
|
}
|
|
@case ('_ownCompany') {
|
|
{{ data?.organizationName ?? '-' }}
|
|
}
|
|
@case ('_useOrganization') {
|
|
{{ data?.organizationName ?? '-' }}
|
|
}
|
|
@case ('_category') {
|
|
{{ data?.categoryName ?? '-' }}
|
|
}
|
|
@default {
|
|
{{ data }}
|
|
}
|
|
}
|
|
</ng-template>
|
|
<!-- <ng-container *appTableAction>
|
|
<nz-space>
|
|
<button *nzSpaceItem nz-button nzType="link">资产确认</button>
|
|
<button *nzSpaceItem nz-button nzType="link" nzDanger="">删除</button>
|
|
</nz-space>
|
|
</ng-container> -->
|
|
<ng-container *appTableForm>
|
|
<app-query-item label="资产名称">
|
|
<input nz-input placeholder="请输入" formControlName="name" />
|
|
</app-query-item>
|
|
<app-query-item label="资产编号">
|
|
<input nz-input placeholder="请输入" formControlName="assetCode" />
|
|
</app-query-item>
|
|
<app-query-item label="规格型号">
|
|
<input nz-input placeholder="请输入" formControlName="model" />
|
|
</app-query-item>
|
|
<app-query-item label="序列号">
|
|
<input nz-input placeholder="请输入" formControlName="serialNumber" />
|
|
</app-query-item>
|
|
|
|
<app-query-item label="资产状态">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-24"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
formControlName="status"
|
|
>
|
|
@for (item of ASSET_STATUS_MAP | keyvalue; track $index) {
|
|
<nz-option [nzLabel]="item.value" [nzValue]="item.key"></nz-option>
|
|
}
|
|
</nz-select>
|
|
</app-query-item>
|
|
<app-query-item label="资产来源">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-24"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
formControlName="sourceId"
|
|
>
|
|
@for (item of ASSET_SOURCE_MAP | keyvalue; track $index) {
|
|
<nz-option [nzLabel]="item.value" [nzValue]="item.key"></nz-option>
|
|
}
|
|
</nz-select>
|
|
</app-query-item>
|
|
|
|
<app-query-item label="位置">
|
|
<app-position-select formControlName="positionId" />
|
|
</app-query-item>
|
|
<app-query-item label="生产厂商">
|
|
<app-manufacturer-select class="block w-36" formControlName="manufacturersVendorId" />
|
|
</app-query-item>
|
|
|
|
<!-- <app-query-item label="设备标签">
|
|
<input nz-input placeholder="请输入" formControlName="name" />
|
|
</app-query-item>
|
|
<app-query-item label="设备IP">
|
|
<input nz-input placeholder="请输入" formControlName="name" />
|
|
</app-query-item>
|
|
<app-query-item label="管理IP">
|
|
<input nz-input placeholder="请输入" formControlName="name" />
|
|
</app-query-item>
|
|
<app-query-item label="设备IP">
|
|
<input nz-input placeholder="请输入" formControlName="name" />
|
|
</app-query-item>
|
|
|
|
<app-query-item label="运行环境">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-auto"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
>
|
|
<nz-option nzValue="123" nzLabel="营业"></nz-option>
|
|
<nz-option nzValue="22" nzLabel="办公"></nz-option>
|
|
<nz-option nzValue="2211" nzLabel="生产"></nz-option>
|
|
<nz-option nzValue="2221" nzLabel="测试"></nz-option>
|
|
</nz-select>
|
|
</app-query-item>
|
|
<app-query-item label="来源">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-auto"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
>
|
|
<nz-option nzValue="123" nzLabel="捐赠"></nz-option>
|
|
<nz-option nzValue="22" nzLabel="赠送"></nz-option>
|
|
<nz-option nzValue="2211" nzLabel="采购"></nz-option>
|
|
<nz-option nzValue="2221" nzLabel="自建"></nz-option>
|
|
<nz-option nzValue="2221" nzLabel="自购"></nz-option>
|
|
<nz-option nzValue="2221" nzLabel="其他"></nz-option>
|
|
</nz-select>
|
|
</app-query-item>
|
|
|
|
<app-query-item label="厂商">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-auto"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
>
|
|
<nz-option nzValue="123" nzLabel="11"></nz-option>
|
|
</nz-select>
|
|
</app-query-item>
|
|
<app-query-item label="维保商">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-auto"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
>
|
|
<nz-option nzValue="123" nzLabel="11"></nz-option>
|
|
</nz-select>
|
|
</app-query-item>
|
|
|
|
<app-query-item label="采购日期">
|
|
<app-date-query></app-date-query>
|
|
</app-query-item>
|
|
<app-query-item label="所属公司">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-auto"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
>
|
|
<nz-option nzValue="123" nzLabel="11"></nz-option>
|
|
</nz-select>
|
|
</app-query-item>
|
|
<app-query-item label="使用组织">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-auto"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
>
|
|
<nz-option nzValue="123" nzLabel="11"></nz-option>
|
|
</nz-select>
|
|
</app-query-item>
|
|
<app-query-item label="管理人员">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-auto"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
>
|
|
<nz-option nzValue="123" nzLabel="11"></nz-option>
|
|
</nz-select>
|
|
</app-query-item>
|
|
<app-query-item label="使用人员">
|
|
<nz-select
|
|
nzPlacement="bottomRight"
|
|
class="!w-auto"
|
|
[nzDropdownMatchSelectWidth]="false"
|
|
>
|
|
<nz-option nzValue="123" nzLabel="11"></nz-option>
|
|
</nz-select>
|
|
</app-query-item> -->
|
|
</ng-container>
|
|
</app-server-paginated-table>
|
|
</div>
|
|
</app-page>
|
|
|
|
<ng-template #copyTpl>
|
|
<div nz-form>
|
|
<nz-alert [nzMessage]="copyTextTpl">
|
|
<ng-template #copyTextTpl>
|
|
1、为了保证复制速度,一次最多可复制200个资产<br />
|
|
2、以下资产信息不可被复制:资产编码、资产编码(旧)、序列号、使用人、管理人、入库时间、累计折旧、残值、净值<br />
|
|
3、复制后的资产状态为空闲
|
|
</ng-template>
|
|
</nz-alert>
|
|
<div class="mt-3">
|
|
<nz-form-item>
|
|
<nz-form-label [nzSpan]="6" nzRequired> 复制数量 </nz-form-label>
|
|
<nz-form-control [nzSpan]="12">
|
|
<nz-input-number [nzMin]="1" class="!w-full" [(ngModel)]="copyNum" nzPlaceHolder="请输入" />
|
|
</nz-form-control>
|
|
</nz-form-item>
|
|
</div>
|
|
</div>
|
|
</ng-template>
|
|
<ng-template #importExcelTpl>
|
|
<div nz-form>
|
|
<nz-alert [nzMessage]="copyTextTpl">
|
|
<ng-template #copyTextTpl> 按照要求填写Excel数据,系统会对部分字段做验证! </ng-template>
|
|
</nz-alert>
|
|
<div class="mt-3">
|
|
<nz-form-item>
|
|
<nz-form-label [nzSpan]="6" nzRequired> 模版文件 </nz-form-label>
|
|
<nz-form-control [nzSpan]="12">
|
|
<button nz-button nzType="link" (click)="downloadTemplate()">模板文件下载</button>
|
|
</nz-form-control>
|
|
</nz-form-item>
|
|
<nz-form-item>
|
|
<nz-form-label [nzSpan]="6" nzRequired> 文件 </nz-form-label>
|
|
<nz-form-control [nzSpan]="12">
|
|
<button nz-button class="upload-btn">
|
|
<i nz-icon nzType="upload"></i>
|
|
选择文件
|
|
<input type="file" (change)="onFileChange($event)" />
|
|
</button>
|
|
</nz-form-control>
|
|
</nz-form-item>
|
|
</div>
|
|
</div>
|
|
</ng-template>
|
|
|