monitor-edit.component.html 8.1 KB

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