Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.26 KB | None | 0 0
  1. <!-- app.component.html -->
  2. <nav class="navbar navbar-inverse navbar-fixed-top" id="my-navbar">
  3. <div class="container">
  4. <div class="navbar-header">
  5. <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
  6. <span class="icon-bar"></span>
  7. <span class="icon-bar"></span>
  8. <span class="icon-bar"></span>
  9. <span class="icon-bar"></span>
  10. </button>
  11.  
  12. <a id="logo" href="/" class="navbar-brand">Faktury</a>
  13. </div>
  14.  
  15. <div class="collapse navbar-collapse" id="navbar-collapse">
  16. <ul class="nav navbar-nav navbar-right">
  17. <li><a class="navbarLink" href="/invoices">Wszystkie faktury</a></li>
  18. <li><a class="navbarLink" id="aboutLink" href="/createInvoice">Wystaw fakturę</a></li>
  19. <li><a class="navbarLink" id="logout" href="/login">Wyloguj się</a></li>
  20. </ul>
  21. </div>
  22. </div>
  23. </nav>
  24.  
  25. <div class="container" style="margin-top: 70px;">
  26. <h4>Dodawanie nowej faktury</h4>
  27. <form [formGroup]="myForm" novalidate (ngSubmit)="save(myForm.value)">
  28.  
  29.  
  30. <div>
  31. <label>Numer faktury</label>
  32. <input type="text" [(ngModel)]="invoice.generalNumber" formControlName="generalNumber">
  33. <small style="color:red;" *ngIf="myForm.controls.generalNumber.invalid && myForm.controls.generalNumber.touched">
  34. Numer faktury jest wymagany
  35. </small>
  36. </div>
  37.  
  38. <div>
  39. <label>Miejsce wystawienia</label>
  40. <input type="text" formControlName="place">
  41. <small style="color:red;" *ngIf="myForm.controls.place.invalid && myForm.controls.place.touched">
  42. Miejsce wystawienia jest wymagane
  43. </small>
  44. </div>
  45. <!-- name -->
  46. <div class="form-group">
  47.  
  48. <div>
  49. <label>Sposób płatności</label>
  50. <select formControlName="paymentMethod">
  51. <option *ngFor="let c of paymentMethods" [ngValue]="c">{{c}}</option>
  52. </select>
  53. </div>
  54.  
  55.  
  56. <label>Data wystawienia</label>
  57. <input type="date" [(ngModel)]="invoice.issuanceDate" (change)="dateChange()" formControlName="issuanceDate">
  58. <small style="color:red;" *ngIf="myForm.controls.issuanceDate.invalid && myForm.controls.issuanceDate.touched">
  59. Data wystawienia jest wymagana
  60. </small>
  61.  
  62.  
  63. <label>Data sprzedaży</label>
  64. <input type="date" formControlName="saleDate">
  65.  
  66. <label>Termin zapłaty</label>
  67. <input type="date" formControlName="paymentDate">
  68.  
  69.  
  70. </div>
  71.  
  72. <div formArrayName="articles" class="container">
  73.  
  74. <table class="table">
  75. <thead>
  76. <tr>
  77. <th>Nazwa</th>
  78. <th>Ilość</th>
  79. <th>Cena netto</th>
  80. <th>Wartość netto</th>
  81. <th>Stawka VAT</th>
  82. <th>Kwota VAT</th>
  83. <th>Wartość brutto</th>
  84. </tr>
  85. </thead>
  86. <tbody *ngFor="let address of myForm.controls.articles.controls; let i=index" style="margin: 0px;"
  87. [formGroupName]="i">
  88. <tr>
  89. <td>
  90. <div>
  91. <input type="text" (change)="nameChange(i)" [(ngModel)]="articles[i].name" formControlName="name">
  92. </div>
  93. <small style="color:red;" *ngIf="myForm.controls.articles.controls[i].controls.name.invalid && myForm.controls.articles.controls[i].controls.name.touched">
  94. Nazwa jest wymagana
  95. </small>
  96. </td>
  97.  
  98. <td>
  99. <div>
  100. <input type="number" (change)="nameChange(i)" [(ngModel)]="articles[i].amountOfArticle"
  101. formControlName="amountOfArticle">
  102. <small style="color:red;" *ngIf="myForm.controls.articles.controls[i].controls.amountOfArticle.errors?.min ">
  103. Ilość nie może być mniejsza niż 0.
  104. </small>
  105. </div>
  106. </td>
  107.  
  108. <td>
  109. <div>
  110.  
  111. <input type="number" (change)="nameChange(i)" [(ngModel)]="articles[i].articlePrice"
  112. formControlName="articlePrice">
  113. <small style="color:red;" *ngIf="myForm.controls.articles.controls[i].controls.articlePrice.errors?.min ">
  114. Cena nie może być mniejsza niż 0.
  115. </small>
  116. </div>
  117. </td>
  118.  
  119. <td>
  120. <div>
  121.  
  122. <input type="number" (change)="nameChange(i)" [(ngModel)]="articles[i].nettoPrice"
  123. formControlName="nettoPrice">
  124. </div>
  125. </td>
  126.  
  127. <td>
  128. <div>
  129. <input type="number" (change)="nameChange(i)" [(ngModel)]="articles[i].VAT" formControlName="VAT">
  130.  
  131. <small style="color:red;" *ngIf="myForm.controls.articles.controls[i].controls.VAT.errors?.range ">
  132. Wartość podatku VAT powinna mieć wartość między 0 a 100
  133. </small>
  134. </div>
  135. </td>
  136.  
  137. <td>
  138. <div>
  139. <input type="number" (change)="nameChange(i)" [(ngModel)]="articles[i].amountOfVAT"
  140. formControlName="amountOfVAT">
  141. </div>
  142. </td>
  143.  
  144.  
  145. <td>
  146. <div>
  147. <input type="number" (change)="nameChange(i)" [(ngModel)]="articles[i].bruttoPrice"
  148. formControlName="bruttoPrice">
  149. </div>
  150. </td>
  151.  
  152. </tr>
  153. </tbody>
  154. </table>
  155.  
  156.  
  157. <div style="margin-top: 0px;">
  158. <a (click)="addArticle(i)" style="cursor: default; margin: 0px;">
  159. Dodaj nowe pole
  160. </a>
  161. </div>
  162.  
  163. </div>
  164.  
  165.  
  166. <label style="margin-top: 10px;">Koszt całkowity</label>
  167. <input type="text" formControlName="totalCost" [(ngModel)]="invoice.totalCost">
  168.  
  169.  
  170. <div >
  171. <label>Klient</label>
  172. <select formControlName="client">
  173. <option *ngFor="let com of clients" [ngValue]="com.valueOf()">{{com.name}}</option>
  174. </select>
  175. </div>
  176.  
  177. <div>
  178. <label style="margin-top: 10px;">Kwota słownie</label>
  179. <input type="text" formControlName="totalCostInWords" [(ngModel)]="invoice.totalCostInWords">
  180. </div>
  181.  
  182. <button [disabled]="!myForm.valid">Zapisz fakturę</button>
  183.  
  184. <button (click)="download(myForm.value)" style="margin-top: 10px;">Pobierz fakturę</button>
  185. </form>
  186.  
  187. </div>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement