order-creation.component.html 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <div class="order-creation-container">
  2. <div class="section-header">
  3. <h3>订单创建信息</h3>
  4. <span class="required-note">* 为必填项</span>
  5. <div class="header-actions">
  6. <button type="button" class="btn-secondary" (click)="toggleStagnantFilter()">
  7. @if (hideStagnantProjects) { 隐藏停滞项目:已开启 } @else { 隐藏停滞项目:未开启 }
  8. </button>
  9. </div>
  10. </div>
  11. <form [formGroup]="orderForm" class="order-form">
  12. <!-- 订单金额 -->
  13. <div class="form-group">
  14. <label for="orderAmount" class="form-label required">订单金额</label>
  15. <div class="input-wrapper">
  16. <input
  17. id="orderAmount"
  18. type="number"
  19. formControlName="orderAmount"
  20. class="form-input"
  21. placeholder="请输入订单金额"
  22. min="0.01"
  23. step="0.01"
  24. />
  25. <span class="currency-unit">元</span>
  26. </div>
  27. @if (orderAmount?.invalid && orderAmount?.touched) {
  28. <div class="error-message">
  29. @if (orderAmount?.errors?.['required']) {
  30. <span>订单金额为必填项</span>
  31. }
  32. @if (orderAmount?.errors?.['min']) {
  33. <span>订单金额必须大于0</span>
  34. }
  35. @if (orderAmount?.errors?.['pattern']) {
  36. <span>请输入有效的金额格式</span>
  37. }
  38. </div>
  39. }
  40. </div>
  41. <!-- 交付时间 -->
  42. <div class="form-group">
  43. <label for="deliveryTime" class="form-label required">交付时间</label>
  44. <input
  45. id="deliveryTime"
  46. type="date"
  47. formControlName="deliveryTime"
  48. class="form-input"
  49. />
  50. @if (deliveryTime?.invalid && deliveryTime?.touched) {
  51. <div class="error-message">
  52. <span>交付时间为必填项</span>
  53. </div>
  54. }
  55. </div>
  56. <!-- 报价明细 -->
  57. <div class="form-group">
  58. <app-quotation-details
  59. [initialData]="quotationData"
  60. (dataChange)="onQuotationDataChange($event)"
  61. ></app-quotation-details>
  62. </div>
  63. </form>
  64. </div>