monitor-edit.component.html 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <nz-divider></nz-divider>
  2. <nz-breadcrumb>
  3. <nz-breadcrumb-item>
  4. <a [routerLink]="['/']">
  5. <i nz-icon nzType="home"></i>
  6. <span>仪表盘</span>
  7. </a>
  8. </nz-breadcrumb-item>
  9. <nz-breadcrumb-item>
  10. <a [routerLink]="['/monitors']" [queryParams]="{ app: monitor.app ? monitor.app : '' }">
  11. <i nz-icon nzType="monitor"></i>
  12. <span>监控列表</span>
  13. </a>
  14. </nz-breadcrumb-item>
  15. <nz-breadcrumb-item>
  16. <i nz-icon nzType="edit"></i>
  17. <span>修改 {{ 'monitor.app.' + monitor.app | i18n }} 监控</span>
  18. </nz-breadcrumb-item>
  19. </nz-breadcrumb>
  20. <nz-divider></nz-divider>
  21. <nz-spin [nzSpinning]="isSpinning">
  22. <div class="-inner-content">
  23. <form nz-form #editForm="ngForm">
  24. <nz-form-item>
  25. <nz-form-label [nzSpan]="7" nzFor="host" nzRequired="true" nzTooltipTitle="被监控的对端IP或域名"> 监控Host </nz-form-label>
  26. <nz-form-control [nzSpan]="8" [nzErrorTip]="'validation.required' | i18n">
  27. <input [(ngModel)]="monitor.host" nz-input name="host" type="text" id="host" required placeholder="请输入域名或IP" />
  28. </nz-form-control>
  29. </nz-form-item>
  30. <nz-form-item>
  31. <nz-form-label [nzSpan]="7" nzFor="name" nzRequired="true" nzTooltipTitle="标识此监控的名称,名称需要保证唯一性">
  32. 监控名称
  33. </nz-form-label>
  34. <nz-form-control [nzSpan]="8" [nzErrorTip]="'validation.required' | i18n">
  35. <input [(ngModel)]="monitor.name" nz-input required name="name" type="text" id="name" placeholder="监控名称需要保证唯一性" />
  36. </nz-form-control>
  37. </nz-form-item>
  38. <nz-divider></nz-divider>
  39. <nz-form-item *ngFor="let paramDefine of paramDefines; let i = index">
  40. <nz-form-label
  41. *ngIf="paramDefine.field !== 'host' && paramDefine.type === 'text'"
  42. nzSpan="7"
  43. [nzRequired]="paramDefine.required"
  44. [nzFor]="paramDefine.field"
  45. >{{ paramDefine.name }}
  46. </nz-form-label>
  47. <nz-form-control
  48. *ngIf="paramDefine.field !== 'host' && paramDefine.type === 'text'"
  49. nzSpan="8"
  50. [nzErrorTip]="'validation.required' | i18n"
  51. >
  52. <input
  53. nz-input
  54. [(ngModel)]="params[i].value"
  55. [required]="paramDefine.required"
  56. [name]="paramDefine.field"
  57. [type]="paramDefine.type"
  58. [id]="paramDefine.field"
  59. [placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
  60. />
  61. </nz-form-control>
  62. <nz-form-label *ngIf="paramDefine.type === 'textarea'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
  63. >{{ paramDefine.name }}
  64. </nz-form-label>
  65. <nz-form-control *ngIf="paramDefine.type === 'textarea'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
  66. <textarea
  67. nz-input
  68. [(ngModel)]="params[i].value"
  69. [required]="paramDefine.required"
  70. [name]="paramDefine.field"
  71. [id]="paramDefine.field"
  72. [placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
  73. rows="3"
  74. ></textarea>
  75. </nz-form-control>
  76. <nz-form-label *ngIf="paramDefine.type === 'password'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
  77. >{{ paramDefine.name }}
  78. </nz-form-label>
  79. <nz-form-control *ngIf="paramDefine.type === 'password'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
  80. <nz-input-group [nzSuffix]="suffixTemplate">
  81. <input
  82. [type]="passwordVisible ? 'text' : 'password'"
  83. nz-input
  84. placeholder="input password"
  85. [required]="paramDefine.required"
  86. [(ngModel)]="params[i].value"
  87. [id]="paramDefine.field"
  88. [name]="paramDefine.field"
  89. [placeholder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
  90. />
  91. </nz-input-group>
  92. <ng-template #suffixTemplate>
  93. <i nz-icon [nzType]="passwordVisible ? 'eye-invisible' : 'eye'" (click)="passwordVisible = !passwordVisible"></i>
  94. </ng-template>
  95. </nz-form-control>
  96. <nz-form-label *ngIf="paramDefine.type === 'number'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
  97. >{{ paramDefine.name }}
  98. </nz-form-label>
  99. <nz-form-control *ngIf="paramDefine.type === 'number'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
  100. <nz-input-number
  101. [(ngModel)]="params[i].value"
  102. [required]="paramDefine.required"
  103. [nzMin]="-1000"
  104. [nzMax]="65535"
  105. [nzStep]="1"
  106. [nzPlaceHolder]="paramDefine.placeholder ? paramDefine.placeholder : ''"
  107. [name]="paramDefine.field"
  108. [id]="paramDefine.field"
  109. ></nz-input-number>
  110. </nz-form-control>
  111. <nz-form-label *ngIf="paramDefine.type === 'boolean'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
  112. >{{ paramDefine.name }}
  113. </nz-form-label>
  114. <nz-form-control *ngIf="paramDefine.type === 'boolean'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
  115. <nz-switch
  116. [(ngModel)]="params[i].value"
  117. [required]="paramDefine.required"
  118. [name]="paramDefine.field"
  119. [id]="paramDefine.field"
  120. ></nz-switch>
  121. </nz-form-control>
  122. <nz-form-label *ngIf="paramDefine.type === 'radio'" nzSpan="7" [nzRequired]="paramDefine.required" [nzFor]="paramDefine.field"
  123. >{{ paramDefine.name }}
  124. </nz-form-label>
  125. <nz-form-control *ngIf="paramDefine.type === 'radio'" nzSpan="8" [nzErrorTip]="'validation.required' | i18n">
  126. <nz-radio-group
  127. [(ngModel)]="params[i].value"
  128. [required]="paramDefine.required"
  129. nzButtonStyle="solid"
  130. [name]="paramDefine.field"
  131. [id]="paramDefine.field"
  132. >
  133. <label nz-radio-button [nzValue]="optionItem.value" *ngFor="let optionItem of paramDefine.options">
  134. {{ optionItem.label }}
  135. </label>
  136. </nz-radio-group>
  137. </nz-form-control>
  138. </nz-form-item>
  139. <nz-divider></nz-divider>
  140. <nz-form-item>
  141. <nz-form-label nzSpan="7" nzFor="intervals" nzTooltipTitle="监控周期性采集数据间隔时间,单位秒"> 采集间隔 </nz-form-label>
  142. <nz-form-control nzSpan="10">
  143. <nz-input-number [(ngModel)]="monitor.intervals" [nzMin]="10" [nzMax]="10000" [nzStep]="8" name="intervals" id="intervals">
  144. </nz-input-number>
  145. </nz-form-control>
  146. </nz-form-item>
  147. <nz-form-item>
  148. <nz-form-label nzSpan="7" nzFor="detect" nzTooltipTitle="新增监控前是否先探测检查监控可用性"> 是否探测 </nz-form-label>
  149. <nz-form-control nzSpan="8">
  150. <nz-switch [(ngModel)]="detected" name="detect" id="detect"></nz-switch>
  151. </nz-form-control>
  152. </nz-form-item>
  153. <nz-form-item>
  154. <nz-form-label [nzSpan]="7" nzFor="description" nzTooltipTitle="更多标识和描述此监控的备注信息"> 描述备注 </nz-form-label>
  155. <nz-form-control [nzSpan]="8">
  156. <nz-textarea-count [nzMaxCharacterCount]="100">
  157. <textarea [(ngModel)]="monitor.description" rows="3" nz-input name="description" id="description"></textarea>
  158. </nz-textarea-count>
  159. </nz-form-control>
  160. </nz-form-item>
  161. <div nz-row>
  162. <div nz-col nzSpan="8" nzOffset="9">
  163. <button nz-button nzType="primary" type="submit" (click)="onDetect(editForm.form)"> 探测 </button>
  164. <button nz-button nzType="primary" type="submit" (click)="onSubmit(editForm.form)"> 确定 </button>
  165. <button nz-button nzType="primary" type="reset" (click)="onCancel()"> 取消 </button>
  166. </div>
  167. </div>
  168. </form>
  169. </div>
  170. </nz-spin>