|
24 | 24 | {{input type="checkbox" checked=autoRefresh}}自动刷新
|
25 | 25 | {{#if (eq false isShowMultiSearchBlock)}}
|
26 | 26 |
|
27 |
| - <a {{action "showMultiSearchBlockAction"}} href="javascript::void(0);">展开更多条件</a> |
| 27 | + <a {{action "showMultiSearchBlockAction"}} |
| 28 | + href="javascript::void(0);">展开更多条件</a> |
28 | 29 | {{/if}}
|
29 | 30 | </div>
|
30 | 31 | </div>
|
|
201 | 202 | <td>
|
202 | 203 | {{#link-to "dashboard.log.detail" item.ID "install"}}
|
203 | 204 | <div class="progress progress-striped active" title="{{item.InstallLog}}" style="height: 17px;">
|
204 |
| - <div title="{{item.InstallLog}}" class="progress-bar progress-bar-success" role="progressbar" aria-valuemin="0" |
205 |
| - aria-valuemax="100" style="width: {{percentage item.InstallProgress}};"> |
| 205 | + <div title="{{item.InstallLog}}" class="progress-bar progress-bar-success" |
| 206 | + role="progressbar" aria-valuemin="0" aria-valuemax="100" |
| 207 | + style="width: {{percentage item.InstallProgress}};"> |
206 | 208 | <span class="sr-only">{{item.InstallLog}}</span>
|
207 | 209 | </div>
|
208 | 210 | </div>
|
|
228 | 230 | </table>
|
229 | 231 | <div class="row padding0">
|
230 | 232 | <div class="col-sm-9">
|
231 |
| - <button {{action "batchDeleteAction"}} type="button" class="btn btn-danger btn-sm">删除</button> |
232 |
| - <button {{action "reInstallAction"}} type="button" class="btn btn-default btn-sm">重新安装</button> |
233 |
| - <button {{action "cancelInstallAction"}} type="button" class="btn btn-default btn-sm">取消安装</button> |
| 233 | + <button {{action "batchDeleteAction"}} type="button" class="btn btn-danger btn-sm">删除</button> |
| 234 | + |
| 235 | + <button {{action "reInstallAction"}} type="button" class="btn btn-default btn-sm">重新安装</button> |
| 236 | + |
| 237 | + <button {{action "cancelInstallAction"}} type="button" class="btn btn-default btn-sm">取消安装</button> |
| 238 | + |
234 | 239 |
|
235 |
| - <button {{action "toggleModalIpmi" "batchPowerOnAction"}} disabled={{model.isButtonLock}} title="{{model.buttonLockNoticeInfo}}" |
236 |
| - type="button" class="btn btn-default btn-sm"> |
| 240 | + <button {{action "toggleModalIpmi" "batchPowerOnAction"}} disabled={{model.isButtonLock}} |
| 241 | + title="{{model.buttonLockNoticeInfo}}" type="button" class="btn btn-default btn-sm"> |
237 | 242 | 开机
|
238 | 243 | </button>
|
239 | 244 |
|
240 |
| - <button {{action "toggleModalIpmi" "batchStartFromPxeAction"}} disabled={{model.isButtonLock}} title="{{model.buttonLockNoticeInfo}}" |
241 |
| - type="button" class="btn btn-default btn-sm"> |
| 245 | + <button {{action "toggleModalIpmi" "batchStartFromPxeAction"}} disabled={{model.isButtonLock}} |
| 246 | + title="{{model.buttonLockNoticeInfo}}" type="button" class="btn btn-default btn-sm"> |
242 | 247 | 从PXE启动
|
243 | 248 | </button>
|
244 | 249 |
|
245 |
| - <button {{action "toggleModalIpmi" "batchPowerOffAction"}} disabled={{model.isButtonLock}} title="{{model.buttonLockNoticeInfo}}" |
246 |
| - type="button" class="btn btn-default btn-sm"> |
| 250 | + <button {{action "toggleModalIpmi" "batchPowerOffAction"}} disabled={{model.isButtonLock}} |
| 251 | + title="{{model.buttonLockNoticeInfo}}" type="button" class="btn btn-default btn-sm"> |
247 | 252 | 关机
|
248 | 253 | </button>
|
249 | 254 |
|
250 |
| - <button {{action "toggleModalIpmi" "batchReStartAction"}} disabled={{model.isButtonLock}} title="{{model.buttonLockNoticeInfo}}" |
251 |
| - type="button" class="btn btn-default btn-sm"> |
| 255 | + <button {{action "toggleModalIpmi" "batchReStartAction"}} disabled={{model.isButtonLock}} |
| 256 | + title="{{model.buttonLockNoticeInfo}}" type="button" class="btn btn-default btn-sm"> |
252 | 257 | 重启
|
253 | 258 | </button>
|
254 |
| - <button {{action "toggleModalScript"}} disabled={{model.isButtonLock}} title="{{model.buttonLockNoticeInfo}}" type="button" |
255 |
| - class="btn btn-default btn-sm"> |
| 259 | + <button {{action "toggleModalScript"}} disabled={{model.isButtonLock}} |
| 260 | + title="{{model.buttonLockNoticeInfo}}" type="button" class="btn btn-default btn-sm"> |
256 | 261 | 脚本执行
|
257 | 262 | </button>
|
258 |
| - <button {{action "toggleModalFile"}} disabled={{model.isButtonLock}} title="{{model.buttonLockNoticeInfo}}" type="button" |
259 |
| - class="btn btn-default btn-sm"> |
| 263 | + <button {{action "toggleModalFile"}} disabled={{model.isButtonLock}} |
| 264 | + title="{{model.buttonLockNoticeInfo}}" type="button" class="btn btn-default btn-sm"> |
260 | 265 | 文件下发
|
261 | 266 | </button>
|
262 | 267 | </div>
|
|
398 | 403 | {{/common/io-form-validator}}
|
399 | 404 | {{/common/io-modal}}
|
400 | 405 |
|
401 |
| - |
402 | 406 | {{#common/io-modal show=model.scriptModal close="toggleModalScript"}}
|
403 | 407 | {{#common/io-form-validator submitForm="scriptTaskAction"}}
|
404 | 408 | <form class="form-horizontal">
|
|
413 | 417 | </div>
|
414 | 418 | <div class="modal-body" style="max-height:70rem">
|
415 | 419 | <div class="row">
|
416 |
| - <div class="col-sm-2"></div> |
| 420 | + <div class="col-sm-1"></div> |
417 | 421 | <div class="col-sm-2" style="padding:0;">
|
418 |
| - <div class="pull-right">作业名称:</div> |
| 422 | + <div class="pull-right"><label class="required">作业名称:</label></div> |
419 | 423 | </div>
|
420 |
| - <div class="col-sm-4"> |
421 |
| - {{input required=true value=model.task.TaskName type="text" class="form-control input-md"}} |
| 424 | + <div class="col-sm-6"> |
| 425 | + {{input required=true value=model.task.TaskName type="text" required=true class="form-control input-md"}} |
422 | 426 | </div>
|
423 | 427 | </div>
|
424 | 428 | <div class="row" style="padding-top: 20px;">
|
425 |
| - <div class="col-sm-2"></div> |
| 429 | + <div class="col-sm-1"></div> |
426 | 430 | <div class="col-sm-2" style="padding:0;">
|
427 |
| - <div class="pull-right">执行通道:</div> |
| 431 | + <div class="pull-right"><label class="required">执行通道:</label></div> |
428 | 432 | </div>
|
429 |
| - <div class="col-sm-4"> |
| 433 | + <div class="col-sm-6"> |
430 | 434 | {{common/io-select class="form-control" prompt="请选择执行通道"
|
431 |
| - content= model.dictTaskChannel |
| 435 | + content= model.dictTaskChannel required=true |
432 | 436 | value=model.task.TaskChannel optionValuePath="content.id"
|
433 | 437 | optionLabelPath="content.name" }}
|
434 | 438 | </div>
|
435 | 439 | </div>
|
436 | 440 | <div class="row" style="padding-top: 20px;">
|
437 |
| - <div class="col-sm-2"></div> |
| 441 | + <div class="col-sm-1"></div> |
438 | 442 | <div class="col-sm-2" style="padding:0;">
|
439 |
| - <div class="pull-right">执行用户:</div> |
| 443 | + <div class="pull-right"><label class="required">执行用户:</label></div> |
440 | 444 | </div>
|
441 |
| - <div class="col-sm-4"> |
| 445 | + <div class="col-sm-6"> |
442 | 446 | {{input required=true value=model.task.Runas type="text" class="form-control input-md"}}
|
443 | 447 | </div>
|
444 | 448 | </div>
|
445 | 449 |
|
446 | 450 | <div class="row" style="padding-top: 20px;">
|
447 |
| - <div class="col-sm-2"></div> |
| 451 | + <div class="col-sm-1"></div> |
448 | 452 | <div class="col-sm-2" style="padding:0;">
|
449 |
| - <div class="pull-right">超时时间:</div> |
| 453 | + <div class="pull-right"><label class="required">超时时间:</label></div> |
450 | 454 | </div>
|
451 |
| - <div class="col-sm-4"> |
| 455 | + <div class="col-sm-6"> |
452 | 456 | {{input required=true value=model.task.Timeout type="number" class="form-control input-md"}}
|
453 | 457 | </div>
|
454 | 458 | </div>
|
455 | 459 | <div class="row" style="padding-top: 30px;">
|
456 |
| - <div class="col-sm-2"></div> |
| 460 | + <div class="col-sm-1"></div> |
457 | 461 | <div class="col-sm-2" style="padding:0;">
|
458 | 462 | <div class="pull-right">设备列表:</div>
|
459 | 463 | </div>
|
|
485 | 489 | </div>
|
486 | 490 | </div>
|
487 | 491 | <div class="row" style="padding-top: 20px;">
|
488 |
| - <div class="col-sm-2"></div> |
| 492 | + <div class="col-sm-1"></div> |
489 | 493 | <div class="col-sm-2" style="padding:0;">
|
490 |
| - <div class="pull-right">密码:</div> |
| 494 | + <div class="pull-right"><label class="required">密码:</label></div> |
491 | 495 | </div>
|
492 |
| - <div class="col-sm-4"> |
| 496 | + <div class="col-sm-6"> |
493 | 497 | {{input required=true value=model.task.Password type="password" class="form-control input-md"}}
|
494 | 498 | </div>
|
495 | 499 | </div>
|
496 | 500 | {{!-- <div class="row" style="padding-top: 20px;">
|
497 |
| - <div class="col-sm-2"></div> |
| 501 | + <div class="col-sm-1"></div> |
498 | 502 | <div class="col-sm-2" style="padding:0;">
|
499 | 503 | <div class="pull-right">脚本类型:</div>
|
500 | 504 | </div>
|
501 |
| - <div class="col-sm-4"> |
| 505 | + <div class="col-sm-6"> |
502 | 506 | {{common/io-radio required=true name=(str-concat index index2) value=model.task.ScriptType
|
503 | 507 | checked=item2.default}}
|
504 | 508 | </div>
|
505 | 509 | </div> --}}
|
506 | 510 | <div class="row" style="padding-top: 20px;">
|
507 |
| - <div class="col-sm-2"></div> |
| 511 | + <div class="col-sm-1"></div> |
508 | 512 | <div class="col-sm-2" style="padding:0;">
|
509 |
| - <div class="pull-right">脚本内容:</div> |
| 513 | + <div class="pull-right"><label class="required">脚本内容:</label></div> |
510 | 514 | </div>
|
511 | 515 | <div class="col-sm-4 col-upload">
|
512 | 516 | {{#common/io-file-upload upload="uploadScript" autoUpload=true showUploadButton=false
|
513 | 517 | multiple=false}}{{/common/io-file-upload}}
|
514 |
| - {{textarea value=model.task.Script required=true class="form-control input-md"}} |
| 518 | + {{textarea value=model.task.Script required=true class="form-control input-md" rows="10"}} |
515 | 519 | </div>
|
516 | 520 | </div>
|
517 | 521 | <div class="row" style="padding-top: 20px;">
|
518 |
| - <div class="col-sm-2"></div> |
| 522 | + <div class="col-sm-1"></div> |
519 | 523 | <div class="col-sm-2" style="padding:0;">
|
520 | 524 | <div class="pull-right">脚本参数:</div>
|
521 | 525 | </div>
|
522 |
| - <div class="col-sm-4"> |
523 |
| - {{textarea value=model.task.ScriptParam class="form-control input-md"}} |
| 526 | + <div class="col-sm-4 col-upload"> |
| 527 | + {{textarea value=model.task.ScriptParam class="form-control input-md" }} |
524 | 528 | </div>
|
525 | 529 | </div>
|
526 | 530 | </div>
|
527 | 531 | <div class="modal-footer">
|
528 |
| - <button type="submit" class="btn btn-primary">保存</button> |
529 |
| - <button type="button" class="btn btn-default" data-dismiss="modal" {{action "toggleModalScript"}}>取消</button> |
| 532 | + <button type="submit" class="btn btn-primary">执行</button> |
| 533 | + <button type="button" class="btn btn-default" data-dismiss="modal" |
| 534 | + {{action "toggleModalScript"}}>取消</button> |
530 | 535 | </div>
|
531 | 536 | </div>
|
532 | 537 | </div>
|
|
551 | 556 | </div>
|
552 | 557 | <div class="modal-body" style="max-height:70rem">
|
553 | 558 | <div class="row">
|
554 |
| - <div class="col-sm-2"></div> |
| 559 | + <div class="col-sm-1"></div> |
555 | 560 | <div class="col-sm-2" style="padding:0;">
|
556 |
| - <div class="pull-right">作业名称:</div> |
| 561 | + <div class="pull-right"><label class="required">作业名称:</label></div> |
557 | 562 | </div>
|
558 |
| - <div class="col-sm-4"> |
559 |
| - {{input required=true value=model.task.TaskName type="text" class="form-control input-md"}} |
| 563 | + <div class="col-sm-6"> |
| 564 | + {{input required=true value=model.task.TaskName required=true type="text" class="form-control input-md"}} |
560 | 565 | </div>
|
561 | 566 | </div>
|
562 | 567 | <div class="row" style="padding-top: 20px;">
|
563 |
| - <div class="col-sm-2"></div> |
| 568 | + <div class="col-sm-1"></div> |
564 | 569 | <div class="col-sm-2" style="padding:0;">
|
565 |
| - <div class="pull-right">执行通道:</div> |
| 570 | + <div class="pull-right"><label class="required">执行通道:</label></div> |
566 | 571 | </div>
|
567 |
| - <div class="col-sm-4"> |
| 572 | + <div class="col-sm-6"> |
568 | 573 | {{common/io-select class="form-control" prompt="请选择执行通道"
|
569 |
| - content= model.dictTaskChannel |
570 |
| - value=model.task.TaskChannel optionValuePath="content.id" |
571 |
| - optionLabelPath="content.name" }} |
| 574 | + content= model.dictTaskChannel required=true |
| 575 | + value=model.task.TaskChannel optionValuePath="content.id" |
| 576 | + optionLabelPath="content.name" }} |
572 | 577 | </div>
|
573 | 578 | </div>
|
574 | 579 | <div class="row" style="padding-top: 20px;">
|
575 |
| - <div class="col-sm-2"></div> |
| 580 | + <div class="col-sm-1"></div> |
576 | 581 | <div class="col-sm-2" style="padding:0;">
|
577 |
| - <div class="pull-right">执行用户:</div> |
| 582 | + <div class="pull-right"><label class="required">执行用户:</label></div> |
578 | 583 | </div>
|
579 |
| - <div class="col-sm-4"> |
| 584 | + <div class="col-sm-6"> |
580 | 585 | {{input required=true value=model.task.Runas type="text" class="form-control input-md"}}
|
581 | 586 | </div>
|
582 | 587 | </div>
|
583 | 588 |
|
584 | 589 | <div class="row" style="padding-top: 20px;">
|
585 |
| - <div class="col-sm-2"></div> |
| 590 | + <div class="col-sm-1"></div> |
586 | 591 | <div class="col-sm-2" style="padding:0;">
|
587 |
| - <div class="pull-right">超时时间:</div> |
| 592 | + <div class="pull-right"><label class="required">超时时间:</label></div> |
588 | 593 | </div>
|
589 |
| - <div class="col-sm-4"> |
| 594 | + <div class="col-sm-6"> |
590 | 595 | {{input required=true value=model.task.Timeout type="number" class="form-control input-md"}}
|
591 | 596 | </div>
|
592 | 597 | </div>
|
593 | 598 | <div class="row" style="padding-top: 30px;">
|
594 |
| - <div class="col-sm-2"></div> |
| 599 | + <div class="col-sm-1"></div> |
595 | 600 | <div class="col-sm-2" style="padding:0;">
|
596 | 601 | <div class="pull-right">设备列表:</div>
|
597 | 602 | </div>
|
|
623 | 628 | </div>
|
624 | 629 | </div>
|
625 | 630 | <div class="row" style="padding-top: 20px;">
|
626 |
| - <div class="col-sm-2"></div> |
| 631 | + <div class="col-sm-1"></div> |
627 | 632 | <div class="col-sm-2" style="padding:0;">
|
628 |
| - <div class="pull-right">密码:</div> |
| 633 | + <div class="pull-right"><label class="required">密码:</label></div> |
629 | 634 | </div>
|
630 |
| - <div class="col-sm-4"> |
| 635 | + <div class="col-sm-6"> |
631 | 636 | {{input required=true value=model.task.Password type="password" class="form-control input-md"}}
|
632 | 637 | </div>
|
633 | 638 | </div>
|
634 | 639 | <div class="row" style="padding-top: 20px;">
|
635 |
| - <div class="col-sm-2"></div> |
| 640 | + <div class="col-sm-1"></div> |
636 | 641 | <div class="col-sm-2" style="padding:0;">
|
637 | 642 | <div class="pull-right">目标路径:</div>
|
638 | 643 | </div>
|
639 |
| - <div class="col-sm-4"> |
| 644 | + <div class="col-sm-6"> |
640 | 645 | {{input type="text" value=model.task.DestFile required=true class="form-control input-md"}}
|
641 | 646 | </div>
|
642 | 647 | </div>
|
643 | 648 | <div class="row" style="padding-top: 20px;">
|
644 |
| - <div class="col-sm-2"></div> |
| 649 | + <div class="col-sm-1"></div> |
645 | 650 | <div class="col-sm-2" style="padding:0;">
|
646 | 651 | <div class="pull-right">源文件:</div>
|
647 | 652 | </div>
|
|
653 | 658 | </div>
|
654 | 659 | </div>
|
655 | 660 | <div class="modal-footer">
|
656 |
| - <button type="submit" class="btn btn-primary">保存</button> |
657 |
| - <button type="button" class="btn btn-default" data-dismiss="modal" {{action "toggleModalFile"}}>取消</button> |
| 661 | + <button type="submit" class="btn btn-primary">下发</button> |
| 662 | + <button type="button" class="btn btn-default" data-dismiss="modal" |
| 663 | + {{action "toggleModalFile"}}>取消</button> |
658 | 664 | </div>
|
659 | 665 | </div>
|
660 | 666 | </div>
|
|
0 commit comments