123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250 |
- <!-- 产品 -->
- <nz-card nzTitle="产品">
- <!-- 操作按钮 -->
- <div nz-row [nzGutter]="24">
- <div nz-col [nzSpan]="24">
- <button nz-button (click)="productAddRow()" nzType="primary">{{ 'button.add' | translate }}</button>
- <br />
- <br />
- </div>
- </div>
- <!-- 表格 -->
- <div nz-row [nzGutter]="24">
- <div nz-col [nzSpan]="24">
- <nz-table #productRowTable nzSize="small" class="tableTdPadding" nzBordered [nzData]="productList">
- <thead>
- <tr>
- <!-- 产品编码 -->
- <th nzWidth="10%">{{ 'product' | translate }}{{ 'table.thead.code' | translate }}</th>
- <!-- 产品名称 -->
- <th nzWidth="17%">{{ 'product' | translate }}{{ 'contract.name' | translate }}</th>
- <!-- 折扣率 -->
- <th nzWidth="9%">{{ 'The discount' | translate }}</th>
- <!-- 标准报价 -->
- <th nzWidth="9%">{{ 'standard.quotation' | translate }}</th>
- <!-- 折扣后单价 -->
- <th nzWidth="9%">
- {{ 'pm.quotation.Discount' | translate }}
- {{ 'after' | translate }}
- {{ 'price' | translate }}
- </th>
- <!-- 标准金额 -->
- <th nzWidth="9%">{{ 'standard.amount' | translate }}</th>
- <!-- 折扣后金额 -->
- <th nzWidth="9%">
- {{ 'pm.quotation.Discount' | translate }}
- {{ 'after' | translate }}
- {{ 'their.fees.money' | translate }}
- </th>
- <!-- 成本单价 -->
- <th nzWidth="9%">
- {{ 'cost' | translate }}
- {{ 'price' | translate }}
- </th>
- <!--成本金额 -->
- <th nzWidth="9%">
- {{ 'cost' | translate }}
- {{ 'their.fees.money' | translate }}
- </th>
- <!-- 操作 -->
- <th nzWidth="10%">{{ 'table.operation' | translate }}</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let data of productRowTable.data" class="editable-row">
- <td><input type="text" nz-input [(ngModel)]="data.code" disabled="true" /></td>
- <td>
- <nz-input-group nzSearch [nzAddOnAfter]="suffixIconButton">
- <input
- type="text"
- [(ngModel)]="data.name"
- nz-input
- placeholder="{{ 'select.please.choose' | translate }}"
- disabled="true"
- />
- </nz-input-group>
- <ng-template #suffixIconButton>
- <!-- 放大镜 勾选列表 -->
- <button nz-button nzType="primary" nzSearch (click)="selectProdutModal(data)">
- <i nz-icon type="search"></i>
- </button>
- </ng-template>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [(ngModel)]="data.discountRate"
- [nzFormatter]="formatterDollar2"
- [nzParser]="parserDollar2"
- ></nz-input-number>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [nzDisabled]="true"
- [(ngModel)]="data.standardQuotation"
- [nzFormatter]="formatterDollar"
- [nzParser]="parserDollar"
- ></nz-input-number>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [(ngModel)]="data.unitPriceAfterDiscount"
- (nzBlur)="unitPriceAfterDiscountBlur(data)"
- [nzFormatter]="formatterDollar"
- [nzParser]="parserDollar"
- ></nz-input-number>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [(ngModel)]="data.standardAmount"
- [nzFormatter]="formatterDollar"
- [nzParser]="parserDollar"
- ></nz-input-number>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [(ngModel)]="data.amountAfterDiscount"
- [nzFormatter]="formatterDollar"
- [nzParser]="parserDollar"
- ></nz-input-number>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [(ngModel)]="data.costUnitPrice"
- [nzFormatter]="formatterDollar"
- [nzParser]="parserDollar"
- ></nz-input-number>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [(ngModel)]="data.costAmount"
- [nzFormatter]="formatterDollar"
- [nzParser]="parserDollar"
- ></nz-input-number>
- </td>
- <td>
- <a
- nz-popconfirm
- nzTitle="{{ 'confirm.to.delete' | translate }}?"
- nzOkText="{{ 'yes' | translate }}"
- nzCancelText="{{ 'no' | translate }}"
- (nzOnConfirm)="productDeleteRow(data.id)"
- >{{ 'table.delete' | translate }}</a
- >
- </td>
- </tr>
- </tbody>
- </nz-table>
- </div>
- </div>
- </nz-card>
- <!-- 模块 -->
- <nz-card nzTitle="{{ 'module' | translate }}">
- <nz-tabset>
- <nz-tab *ngFor="let product of productList" [nzTitle]="product.name">
- <!-- 操作按钮 -->
- <div nz-row [nzGutter]="24">
- <div nz-col [nzSpan]="24">
- <!-- 新增 -->
- <button nz-button (click)="moduleAddRow(product)" nzType="primary">{{ 'button.add' | translate }}</button>
- <br />
- <br />
- </div>
- </div>
- <!-- 表格 -->
- <div nz-row [nzGutter]="24">
- <div nz-col [nzSpan]="24">
- <nz-table
- #moduleRowTable
- nzSize="small"
- class="tableTdPadding"
- nzBordered
- [nzData]="product.contractFileModularList"
- >
- <thead>
- <tr>
- <!-- 产品模块编码 -->
- <th nzWidth="30%">{{ 'product' | translate }}{{ 'module.code' | translate }}</th>
- <!-- 产品模块名称 -->
- <th nzWidth="30%">{{ 'product' | translate }}{{ 'module.name' | translate }}</th>
- <!-- 标准报价 -->
- <th nzWidth="10%">{{ 'standard.quotation' | translate }}</th>
- <!-- 采购价格 -->
- <th nzWidth="10%">
- {{ 'procurement' | translate }}
- {{ 'the.price' | translate }}
- </th>
- <!-- 操作 -->
- <th nzWidth="20%">{{ 'table.operation' | translate }}</th>
- </tr>
- </thead>
- <tbody>
- <tr *ngFor="let data of moduleRowTable.data" class="editable-row">
- <td><input disabled="true" type="text" nz-input [(ngModel)]="data.code" /></td>
- <td>
- <nz-select
- style="width:100%"
- nzShowSearch
- nzAllowClear
- [(ngModel)]="data.baseMaterialFileModularId"
- nzPlaceHolder="{{ 'select.please.choose' | translate }}"
- (ngModelChange)="baseMaterialFileModularIdChange(product, data, $event)"
- >
- <nz-option *ngFor="let i of product.modularListSelect" [nzValue]="i.id" [nzLabel]="i.name">
- </nz-option>
- </nz-select>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [nzDisabled]="true"
- [(ngModel)]="data.standardQuotation"
- [nzFormatter]="formatterDollar"
- [nzParser]="parserDollar"
- (ngModelChange)="standardQuotationModuleKeyUp(product)"
- ></nz-input-number>
- </td>
- <td>
- <nz-input-number
- [nzMin]="0"
- [(ngModel)]="data.purchasePrice"
- [nzFormatter]="formatterDollar"
- [nzParser]="parserDollar"
- ></nz-input-number>
- </td>
- <td>
- <a
- nz-popconfirm
- nzTitle="{{ 'confirm.to.delete' | translate }}?"
- nzOkText="{{ 'yes' | translate }}"
- nzCancelText="{{ 'no' | translate }}"
- (nzOnConfirm)="moduleDeleteRow(product, data.id)"
- >{{ 'table.delete' | translate }}</a
- >
- </td>
- </tr>
- </tbody>
- </nz-table>
- </div>
- </div>
- </nz-tab>
- </nz-tabset>
- </nz-card>
|