|
@@ -3,46 +3,52 @@
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="6">
|
|
|
<nz-form-item>
|
|
|
- <nz-form-label [nzSpan]="8">客户编码</nz-form-label>
|
|
|
- <nz-form-control [nzSm]="16" [nzXs]="24">{{projectManageArchives.cusCode}}</nz-form-control>
|
|
|
+
|
|
|
+ <nz-form-label [nzSpan]="8">{{ 'customer.name' | translate }}</nz-form-label>
|
|
|
+ <nz-form-control [nzSm]="16" [nzXs]="24">{{ projectManageArchives.cusCode }}</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
|
<div nz-col [nzSpan]="6">
|
|
|
<nz-form-item>
|
|
|
- <nz-form-label [nzSpan]="8">客户名称</nz-form-label>
|
|
|
- <nz-form-control [nzSm]="16" [nzXs]="24">{{projectManageArchives.cusName}}</nz-form-control>
|
|
|
+
|
|
|
+ <nz-form-label [nzSpan]="8">{{ 'customer.shortName' | translate }}</nz-form-label>
|
|
|
+ <nz-form-control [nzSm]="16" [nzXs]="24">{{ projectManageArchives.cusName }}</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
|
<div nz-col [nzSpan]="6">
|
|
|
<nz-form-item>
|
|
|
- <nz-form-label [nzSpan]="8">销售经理</nz-form-label>
|
|
|
- <nz-form-control [nzSm]="16" [nzXs]="24">{{projectManageArchives.saleManager}}</nz-form-control>
|
|
|
+
|
|
|
+ <nz-form-label [nzSpan]="8">{{ 'sales' | translate }}{{ 'manager' | translate }}</nz-form-label>
|
|
|
+ <nz-form-control [nzSm]="16" [nzXs]="24">{{ projectManageArchives.saleManager }}</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
|
<div nz-col [nzSpan]="6">
|
|
|
<nz-form-item>
|
|
|
- <nz-form-label [nzSpan]="8">业务员</nz-form-label>
|
|
|
- <nz-form-control [nzSm]="16" [nzXs]="24">{{projectManageArchives.saleMan}}</nz-form-control>
|
|
|
+
|
|
|
+ <nz-form-label [nzSpan]="8">{{ 'salesman' | translate }}</nz-form-label>
|
|
|
+ <nz-form-control [nzSm]="16" [nzXs]="24">{{ projectManageArchives.saleMan }}</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="6">
|
|
|
<nz-form-item>
|
|
|
- <nz-form-label [nzSpan]="8">项目总金额</nz-form-label>
|
|
|
- <nz-form-control [nzSm]="16" [nzXs]="24">{{projectManageArchives.totalPrice}}</nz-form-control>
|
|
|
+
|
|
|
+ <nz-form-label [nzSpan]="8">{{ 'total.amount.of.the.project' | translate }}</nz-form-label>
|
|
|
+ <nz-form-control [nzSm]="16" [nzXs]="24">{{ projectManageArchives.totalPrice }}</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
|
<div nz-col [nzSpan]="6">
|
|
|
<nz-form-item>
|
|
|
- <nz-form-label [nzSpan]="8">已回款金额</nz-form-label>
|
|
|
- <nz-form-control [nzSm]="16" [nzXs]="24">{{projectManageArchives.received}}</nz-form-control>
|
|
|
+
|
|
|
+ <nz-form-label [nzSpan]="8">{{ 'amount.paid.back' | translate }}</nz-form-label>
|
|
|
+ <nz-form-control [nzSm]="16" [nzXs]="24">{{ projectManageArchives.received }}</nz-form-control>
|
|
|
</nz-form-item>
|
|
|
</div>
|
|
|
</div>
|
|
|
</form>
|
|
|
|
|
|
-<nz-card nzTitle="收款计划" nzSize="small">
|
|
|
+<nz-card nzTitle="{{ 'payment.plan' | translate }}" nzSize="small">
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="24">
|
|
|
|
|
@@ -51,8 +57,16 @@
|
|
|
</div>
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="24">
|
|
|
- <nz-table style="padding-top: 5px;" nzSize="small" class="tableTdPadding" #basicTable
|
|
|
- [nzData]="collectionPlanList" [nzFrontPagination]="false" [nzShowPagination]="false" [nzScroll]="{x:'123vw'}">
|
|
|
+ <nz-table
|
|
|
+ style="padding-top: 5px;"
|
|
|
+ nzSize="small"
|
|
|
+ class="tableTdPadding"
|
|
|
+ #basicTable
|
|
|
+ [nzData]="collectionPlanList"
|
|
|
+ [nzFrontPagination]="false"
|
|
|
+ [nzShowPagination]="false"
|
|
|
+ [nzScroll]="{ x: '123vw' }"
|
|
|
+ >
|
|
|
|
|
|
<tr>
|
|
|
<th>{{ 'customer.contacts.name' | translate }}</th>
|
|
@@ -66,83 +80,177 @@
|
|
|
<tbody>
|
|
|
<tr *ngFor="let data of basicTable.data">
|
|
|
<td style="width: 7%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.planId" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="planIdChange(data,'1')">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.planId"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="planIdChange(data, '1')"
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of planList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第一笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.first' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price1" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 (nzBlur)="priceBlur()"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId1" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileIdChange(data)">
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price1"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ (nzBlur)="priceBlur()"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId1"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileIdChange(data)"
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc1" nz-input maxlength=140 (blur)="descChange()"/>
|
|
|
+ <input [(ngModel)]="data.desc1" nz-input maxlength="140" (blur)="descChange()" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第二笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.second' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price2" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 (nzBlur)="priceBlur()"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId2" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileIdChange(data)">
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price2"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ (nzBlur)="priceBlur()"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId2"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileIdChange(data)"
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc2" nz-input maxlength=140 (blur)="descChange()"/>
|
|
|
+ <input [(ngModel)]="data.desc2" nz-input maxlength="140" (blur)="descChange()" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第三笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.third' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price3" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 (nzBlur)="priceBlur()"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId3" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileIdChange(data)">
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price3"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ (nzBlur)="priceBlur()"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId3"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileIdChange(data)"
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc3" nz-input maxlength=140 (blur)="descChange()"/>
|
|
|
+ <input [(ngModel)]="data.desc3" nz-input maxlength="140" (blur)="descChange()" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第四笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.fourth' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price4" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 (nzBlur)="priceBlur()"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId4" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileIdChange(data)">
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price4"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ (nzBlur)="priceBlur()"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId4"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileIdChange(data)"
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc4" nz-input maxlength=140 (blur)="descChange()"/>
|
|
|
+ <input [(ngModel)]="data.desc4" nz-input maxlength="140" (blur)="descChange()" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第五笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.fifth' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price5" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 (nzBlur)="priceBlur()"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId5" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileIdChange(data)">
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price5"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ (nzBlur)="priceBlur()"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId5"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileIdChange(data)"
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc5" nz-input maxlength=140 (blur)="descChange()"/>
|
|
|
+ <input [(ngModel)]="data.desc5" nz-input maxlength="140" (blur)="descChange()" />
|
|
|
+ </td>
|
|
|
+ <td nzRight="0">
|
|
|
+
|
|
|
+ <a
|
|
|
+ nz-popconfirm
|
|
|
+ nzTitle="{{ 'table.Whether.to.delete' | translate }}?"
|
|
|
+ (nzOnConfirm)="collectionPlanDelete(data.sort)"
|
|
|
+ >{{ 'table.delete' | translate }}</a
|
|
|
+ >
|
|
|
</td>
|
|
|
- <td nzRight="0"><a nz-popconfirm nzTitle="是否删除?"
|
|
|
- (nzOnConfirm)="collectionPlanDelete(data.sort)">{{'table.delete'|translate}}</a></td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</nz-table>
|
|
@@ -150,9 +258,8 @@
|
|
|
</div>
|
|
|
</nz-card>
|
|
|
|
|
|
-
|
|
|
|
|
|
-<nz-card nzTitle="回款情况" nzSize="small">
|
|
|
+<nz-card nzTitle="{{ 'receivable.situation' | translate }}" nzSize="small">
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="24">
|
|
|
|
|
@@ -161,9 +268,16 @@
|
|
|
</div>
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="24">
|
|
|
- <nz-table style="padding-top: 5px;" nzSize="small" class="tableTdPadding" #basicTable2
|
|
|
- [nzData]="paymentCollectionList" [nzFrontPagination]="false" [nzShowPagination]="false"
|
|
|
- [nzScroll]="{x:'123vw'}">
|
|
|
+ <nz-table
|
|
|
+ style="padding-top: 5px;"
|
|
|
+ nzSize="small"
|
|
|
+ class="tableTdPadding"
|
|
|
+ #basicTable2
|
|
|
+ [nzData]="paymentCollectionList"
|
|
|
+ [nzFrontPagination]="false"
|
|
|
+ [nzShowPagination]="false"
|
|
|
+ [nzScroll]="{ x: '123vw' }"
|
|
|
+ >
|
|
|
|
|
|
<tr>
|
|
|
<th>{{ 'customer.contacts.name' | translate }}</th>
|
|
@@ -177,83 +291,183 @@
|
|
|
<tbody>
|
|
|
<tr *ngFor="let data of basicTable2.data">
|
|
|
<td style="width: 7%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.planId" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="planIdChange(data,'2')" nzDisabled>
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.planId"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="planIdChange(data, '2')"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of planList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第一笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.first' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price1" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId1" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileChange(data)" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price1"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId1"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileChange(data)"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc1" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc1" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第二笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.second' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price2" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId2" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileChange(data)" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price2"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId2"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileChange(data)"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc2" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc2" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第三笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.third' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price3" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId3" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileChange(data)" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price3"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId3"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileChange(data)"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc3" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc3" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第四笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.fourth' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price4" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId4" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileChange(data)" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price4"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId4"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileChange(data)"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc4" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc4" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第五笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.fifth' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price5" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId5" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="mileChange(data)" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price5"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId5"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="mileChange(data)"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc5" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc5" nz-input maxlength="140" [disabled]="true" />
|
|
|
+ </td>
|
|
|
+ <td nzRight="0">
|
|
|
+
|
|
|
+ <a
|
|
|
+ nz-popconfirm
|
|
|
+ nzTitle="{{ 'table.Whether.to.delete' | translate }}?"
|
|
|
+ (nzOnConfirm)="paymentCollectionDelete(data.sort)"
|
|
|
+ >{{ 'table.delete' | translate }}
|
|
|
+ </a>
|
|
|
</td>
|
|
|
- <td nzRight="0"><a nz-popconfirm nzTitle="是否删除?"
|
|
|
- (nzOnConfirm)="paymentCollectionDelete(data.sort)">{{'table.delete'|translate}}</a></td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</nz-table>
|
|
@@ -261,9 +475,8 @@
|
|
|
</div>
|
|
|
</nz-card>
|
|
|
|
|
|
-
|
|
|
|
|
|
-<nz-card nzTitle="付款计划" nzSize="small">
|
|
|
+<nz-card nzTitle="{{ 'payFor' | translate }}{{ 'the.plan' | translate }}" nzSize="small">
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="24">
|
|
|
|
|
@@ -272,9 +485,16 @@
|
|
|
</div>
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="24">
|
|
|
- <nz-table style="padding-top: 5px;" nzSize="small" class="tableTdPadding" #basicTable3
|
|
|
- [nzData]="paymentPlanList" [nzFrontPagination]="false" [nzShowPagination]="false"
|
|
|
- [nzScroll]="{x:'123vw'}">
|
|
|
+ <nz-table
|
|
|
+ style="padding-top: 5px;"
|
|
|
+ nzSize="small"
|
|
|
+ class="tableTdPadding"
|
|
|
+ #basicTable3
|
|
|
+ [nzData]="paymentPlanList"
|
|
|
+ [nzFrontPagination]="false"
|
|
|
+ [nzShowPagination]="false"
|
|
|
+ [nzScroll]="{ x: '123vw' }"
|
|
|
+ >
|
|
|
|
|
|
<tr>
|
|
|
<th>{{ 'customer.contacts.name' | translate }}</th>
|
|
@@ -288,83 +508,178 @@
|
|
|
<tbody>
|
|
|
<tr *ngFor="let data of basicTable3.data">
|
|
|
<td style="width: 7%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.planId" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="planIdChange(data,'3')" nzDisabled>
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.planId"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="planIdChange(data, '3')"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of planList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第一笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.first' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price1" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId1" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price1"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId1"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc1" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc1" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第二笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.second' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price2" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId2" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price2"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId2"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc2" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc2" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第三笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.third' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price3" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId3" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price3"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId3"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc3" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc3" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第四笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.fourth' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price4" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId4" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price4"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId4"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc4" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc4" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第五笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.fifth' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price5" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId5" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price5"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId5"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc5" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc5" nz-input maxlength="140" [disabled]="true" />
|
|
|
+ </td>
|
|
|
+ <td nzRight="0">
|
|
|
+
|
|
|
+ <a
|
|
|
+ nz-popconfirm
|
|
|
+ nzTitle="{{ 'table.Whether.to.delete' | translate }}?"
|
|
|
+ (nzOnConfirm)="paymentPlanDelete(data.sort)"
|
|
|
+ >{{ 'table.delete' | translate }}</a
|
|
|
+ >
|
|
|
</td>
|
|
|
- <td nzRight="0"><a nz-popconfirm nzTitle="是否删除?"
|
|
|
- (nzOnConfirm)="paymentPlanDelete(data.sort)">{{'table.delete'|translate}}</a></td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</nz-table>
|
|
@@ -372,9 +687,8 @@
|
|
|
</div>
|
|
|
</nz-card>
|
|
|
|
|
|
-
|
|
|
|
|
|
-<nz-card nzTitle="付款情况" nzSize="small">
|
|
|
+<nz-card nzTitle="{{ 'payFor' | translate }}{{ 'situation' | translate }}" nzSize="small">
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="24">
|
|
|
|
|
@@ -383,9 +697,16 @@
|
|
|
</div>
|
|
|
<div nz-row [nzGutter]="24">
|
|
|
<div nz-col [nzSpan]="24">
|
|
|
- <nz-table style="padding-top: 5px;" nzSize="small" class="tableTdPadding" #basicTable4
|
|
|
- [nzData]="paymentStatusList" [nzFrontPagination]="false" [nzShowPagination]="false"
|
|
|
- [nzScroll]="{x:'123vw'}">
|
|
|
+ <nz-table
|
|
|
+ style="padding-top: 5px;"
|
|
|
+ nzSize="small"
|
|
|
+ class="tableTdPadding"
|
|
|
+ #basicTable4
|
|
|
+ [nzData]="paymentStatusList"
|
|
|
+ [nzFrontPagination]="false"
|
|
|
+ [nzShowPagination]="false"
|
|
|
+ [nzScroll]="{ x: '123vw' }"
|
|
|
+ >
|
|
|
|
|
|
<tr>
|
|
|
<th>{{ 'customer.contacts.name' | translate }}</th>
|
|
@@ -399,86 +720,181 @@
|
|
|
<tbody>
|
|
|
<tr *ngFor="let data of basicTable4.data">
|
|
|
<td style="width: 7%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.planId" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" (ngModelChange)="planIdChange(data,'4')" nzDisabled>
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.planId"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ (ngModelChange)="planIdChange(data, '4')"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of planList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第一笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.first' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price1" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId1" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price1"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId1"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc1" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc1" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第二笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.second' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price2" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId2" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price2"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId2"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc2" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc2" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第三笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.third' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price3" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId3" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price3"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId3"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc3" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc3" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第四笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.fourth' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price4" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId4" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price4"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId4"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc4" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc4" nz-input maxlength="140" [disabled]="true" />
|
|
|
</td>
|
|
|
- <td style="width: 4%;">第五笔</td>
|
|
|
+
|
|
|
+
|
|
|
+ <td style="width: 4%;">{{ 'the.fifth' | translate }}</td>
|
|
|
<td style="width: 4%;">
|
|
|
- <nz-input-number [(ngModel)]="data.price5" [nzMin]="0" [nzStep]="1" [nzFormatter]="formatterDollar"
|
|
|
- [nzParser]="parserDollar" [nzMax]=1000000000 [disabled]="true"></nz-input-number>
|
|
|
- </td>
|
|
|
- <td style="width: 5%;">
|
|
|
- <nz-select style="width: 100%;" nzShowSearch nzAllowClear [(ngModel)]="data.mileId5" nzPlaceHolder="请选择"
|
|
|
- [nzDropdownMatchSelectWidth]="false" nzDisabled>
|
|
|
+ <nz-input-number
|
|
|
+ [(ngModel)]="data.price5"
|
|
|
+ [nzMin]="0"
|
|
|
+ [nzStep]="1"
|
|
|
+ [nzFormatter]="formatterDollar"
|
|
|
+ [nzParser]="parserDollar"
|
|
|
+ [nzMax]="1000000000"
|
|
|
+ [disabled]="true"
|
|
|
+ ></nz-input-number>
|
|
|
+ </td>
|
|
|
+ <td style="width: 5%;">
|
|
|
+ <nz-select
|
|
|
+ style="width: 100%;"
|
|
|
+ nzShowSearch
|
|
|
+ nzAllowClear
|
|
|
+ [(ngModel)]="data.mileId5"
|
|
|
+ nzPlaceHolder="{{ 'select.please.choose' | translate }}"
|
|
|
+ [nzDropdownMatchSelectWidth]="false"
|
|
|
+ nzDisabled
|
|
|
+ >
|
|
|
<nz-option *ngFor="let i of milestoneList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
|
|
|
</nz-select>
|
|
|
</td>
|
|
|
<td style="width: 5%;">
|
|
|
- <input [(ngModel)]="data.desc5" nz-input maxlength=140 [disabled]="true"/>
|
|
|
+ <input [(ngModel)]="data.desc5" nz-input maxlength="140" [disabled]="true" />
|
|
|
+ </td>
|
|
|
+ <td nzRight="0">
|
|
|
+
|
|
|
+ <a
|
|
|
+ nz-popconfirm
|
|
|
+ nzTitle="{{ 'table.Whether.to.delete' | translate }}?"
|
|
|
+ (nzOnConfirm)="paymentStatusDelete(data.sort)"
|
|
|
+ >{{ 'table.delete' | translate }}</a
|
|
|
+ >
|
|
|
</td>
|
|
|
- <td nzRight="0"><a nz-popconfirm nzTitle="是否删除?"
|
|
|
- (nzOnConfirm)="paymentStatusDelete(data.sort)">{{'table.delete'|translate}}</a></td>
|
|
|
</tr>
|
|
|
</tbody>
|
|
|
</nz-table>
|
|
|
</div>
|
|
|
</div>
|
|
|
-</nz-card>
|
|
|
+</nz-card>
|