update.component.html 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <nz-spin [nzSpinning]="isLoadingSave">
  2. <form nz-form [formGroup]="validateForm" (ngSubmit)="submitForm()">
  3. <div nz-row [nzGutter]="24">
  4. <div nz-col [nzSpan]="8">
  5. <nz-form-item>
  6. <nz-form-label [nzSm]="6" [nzXs]="24">人员</nz-form-label>
  7. <nz-form-control [nzSm]="14" [nzXs]="24">
  8. <nz-tree-select style="width: 100%" [nzNodes]="personnelList" nzShowSearch [nzMultiple]="true"
  9. formControlName="personIds" id="personIds" nzPlaceHolder="请选择" [(ngModel)]="personIds"
  10. [nzMaxTagCount]="3" [nzAllowClear]="true">
  11. </nz-tree-select>
  12. <nz-form-explain *ngIf="validateForm.get('personIds')?.dirty && validateForm.get('personIds')?.errors">
  13. 请选择人员
  14. </nz-form-explain>
  15. </nz-form-control>
  16. </nz-form-item>
  17. </div>
  18. <div nz-col [nzSpan]="8">
  19. <nz-form-item>
  20. <nz-form-label [nzSm]="6" [nzXs]="24">日期</nz-form-label>
  21. <nz-form-control [nzSm]="14" [nzXs]="24">
  22. <nz-date-picker formControlName="date" id="date" [(ngModel)]="reExpenseSlip.date">
  23. </nz-date-picker>
  24. <nz-form-explain *ngIf="validateForm.get('date')?.dirty && validateForm.get('date')?.errors">
  25. 请选择时间
  26. </nz-form-explain>
  27. </nz-form-control>
  28. </nz-form-item>
  29. </div>
  30. <div nz-col [nzSpan]="8">
  31. <nz-form-item>
  32. <nz-form-label [nzSm]="6" [nzXs]="24" nzRequired>项目名称</nz-form-label>
  33. <nz-form-control [nzSm]="14" [nzXs]="24">
  34. <nz-select style="widows: 100%;" nzShowSearch nzAllowClear formControlName="proId" id="proId"
  35. [(ngModel)]="reExpenseSlip.proId" nzPlaceHolder="请选择">
  36. <nz-option *ngFor="let i of proList" [nzValue]="i.id" [nzLabel]="i.proName"></nz-option>
  37. </nz-select>
  38. <nz-form-explain *ngIf="validateForm.get('proId')?.dirty && validateForm.get('proId')?.errors">
  39. 请选择项目名称
  40. </nz-form-explain>
  41. </nz-form-control>
  42. </nz-form-item>
  43. </div>
  44. </div>
  45. <div nz-row [nzGutter]="24">
  46. <div nz-col [nzSpan]="8">
  47. <nz-form-item>
  48. <nz-form-label [nzSm]="6" [nzXs]="24">制单人</nz-form-label>
  49. <nz-form-control [nzSm]="14" [nzXs]="24">
  50. {{reExpenseSlip.producer}}
  51. </nz-form-control>
  52. </nz-form-item>
  53. </div>
  54. <div nz-col [nzSpan]="8">
  55. <nz-form-item>
  56. <nz-form-label [nzSm]="6" [nzXs]="24">审核人</nz-form-label>
  57. <nz-form-control [nzSm]="14" [nzXs]="24">
  58. {{reExpenseSlip.reviewer}}
  59. </nz-form-control>
  60. </nz-form-item>
  61. </div>
  62. </div>
  63. </form>
  64. <nz-card>
  65. <div nz-row [nzGutter]="24">
  66. <div nz-col [nzSpan]="24">
  67. <!-- 新增按钮 -->
  68. <!-- <button (click)="addRow()" nz-button nzType="primary">{{ 'button.add' | translate }}</button> -->
  69. </div>
  70. </div>
  71. <div nz-row [nzGutter]="24">
  72. <div nz-col [nzSpan]="24">
  73. <nz-table style="padding-top: 5px;" nzSize="small" class="tableTdPadding" #basicTable
  74. [nzData]="itemDataList" [nzFrontPagination]="false" [nzShowPagination]="false" >
  75. <thead>
  76. <tr>
  77. <th nzAlign="center">序号</th>
  78. <th>费用项目</th>
  79. <th>金额</th>
  80. <th>上传附件</th>
  81. <th>操作</th>
  82. </tr>
  83. </thead>
  84. <tbody>
  85. <tr *ngFor="let data of basicTable.data;let i=index">
  86. <td nzAlign="center">{{i+1}}</td>
  87. <td style="width: 20%;">
  88. <nz-select style="width: 100%;" nzShowSearch [(ngModel)]="data.costId" nzPlaceHolder="请选择">
  89. <nz-option *ngFor="let i of costIdList" [nzValue]="i.id" [nzLabel]="i.name"></nz-option>
  90. </nz-select>
  91. </td>
  92. <td>
  93. <nz-input-number [(ngModel)]="data.price" [nzMin]="0" [nzMax]=10000000000 [nzStep]="1" [nzFormatter]="formatterDollar" [nzParser]="parserDollar"></nz-input-number>
  94. </td>
  95. <td>
  96. <button nz-button nzType="primary" (click)="uploadDownload(data)">{{'pm.project.archives.files.needed.to.be.uploaded.to.the.software'|translate}}</button>
  97. <!-- 几个文件 -->
  98. &nbsp;<nz-tag [nzColor]="'blue'">{{data.files.length}}</nz-tag>{{'File'|translate}}
  99. </td>
  100. <td ><a nz-popconfirm nzTitle="是否删除?"
  101. (nzOnConfirm)="deleteRow(data.sort)">{{'table.delete'|translate}}</a></td>
  102. </tr>
  103. <tr>
  104. <td colSpan="5"><button (click)="addRow()" nz-button nzType="dashed" nzBlock >{{ 'button.add' | translate }}</button></td>
  105. </tr>
  106. </tbody>
  107. </nz-table>
  108. </div>
  109. </div>
  110. </nz-card>
  111. </nz-spin>
  112. <!-- 按钮 -->
  113. <div class="base">
  114. <!-- 关闭按钮 -->
  115. <a nz-popconfirm nzTitle="{{'pm.contract.contract.add.button.cancel'|translate}}" (nzOnConfirm)="close()"
  116. style="padding-right: 8px">
  117. <button nz-button>{{'pm.quotation.cancel'|translate}}</button>
  118. </a>
  119. <!-- 保存按钮 -->
  120. <button nz-button nzType="primary" class="ant-btn ant-btn-primary" (click)="submitForm()"
  121. [nzLoading]="isLoadingSave"><span>{{'pm.finish' | translate}}</span></button>
  122. </div>