<!-- 产品 -->
<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>