固定资产项目前端文件
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

<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>