index.html 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org"
  3. xmlns:mo="https://gitee.com/aun/Timo">
  4. <head th:replace="/common/template :: header(~{::title},~{::link},~{::style})"></head>
  5. <body class="timo-layout-page">
  6. <div class="layui-card">
  7. <div class="layui-card-header timo-card-header">
  8. <span><i class="fa fa-bars"></i> 机器列表</span>
  9. <i class="layui-icon layui-icon-refresh refresh-btn"></i>
  10. </div>
  11. <div class="layui-card-body">
  12. <div class="layui-row timo-card-screen put-row">
  13. <div class="layui-row timo-card-screen put-row">
  14. <div class="pull-left layui-form-pane">
  15. <div class="layui-inline">
  16. <label class="layui-form-label">环境</label>
  17. <div class="layui-input-block timo-search-status">
  18. <select id="getPageByEnv" class="timo-search-select" name="env" onchange="getPageByEnv()"
  19. mo:dict="ENVIRONMENT" mo-selected="${env}"></select>
  20. </div>
  21. </div>
  22. <div class="layui-inline timo-search-box">
  23. <label class="layui-form-label">机器地址</label>
  24. <div class="layui-input-block">
  25. <input type="text" name="machineIpv4" th:value="${param.machineIpv4}" placeholder="请输入机器地址"
  26. autocomplete="off" class="layui-input">
  27. </div>
  28. </div>
  29. <div class="layui-inline">
  30. <button class="layui-btn timo-search-btn">
  31. <i class="fa fa-search"></i>
  32. </button>
  33. </div>
  34. </div>
  35. <div class="pull-right">
  36. <div class="btn-group-right">
  37. <div class="btn-group">
  38. <button class="layui-btn">批量处理<span class="caret"></span></button>
  39. <dl class="layui-nav-child layui-anim layui-anim-upbit">
  40. <dd><a class="ajax-status" th:href="@{/api/machine/host/delete}">批量删除</a></dd>
  41. </dl>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. </div>
  47. <div class="timo-table-wrap">
  48. <table class="layui-table timo-table">
  49. <thead>
  50. <tr>
  51. <th class="timo-table-checkbox">
  52. <label class="timo-checkbox"><input type="checkbox">
  53. <i class="layui-icon layui-icon-ok"></i></label>
  54. </th>
  55. <th data-field="machineIpv4">机器地址</th>
  56. <th data-field="bootTime">启动时间</th>
  57. <th data-field="status">当前状态</th>
  58. <th data-field="osArch">系统架构</th>
  59. <th data-field="osName">系统名字</th>
  60. <th data-field="osVersion">系统版本</th>
  61. <th data-field="agentVersion">Agent 版本</th>
  62. <th>所属环境</th>
  63. <th>SSH 认证</th>
  64. <th>操作</th>
  65. </tr>
  66. </thead>
  67. <tbody>
  68. <tr th:each="item:${list}">
  69. <td><label class="timo-checkbox"><input type="checkbox" th:value="${item.machineId}">
  70. <i class="layui-icon layui-icon-ok"></i></label></td>
  71. <td th:text="${item.machineIpv4}">机器地址</td>
  72. <td th:text="${item.bootTime}">启动时间</td>
  73. <td class="machine-status" th:text="${item.status}">当前状态</td>
  74. <td th:text="${item.osArch}">系统架构</td>
  75. <td th:text="${item.osName}">系统名字</td>
  76. <td th:text="${item.osVersion}">系统版本</td>
  77. <td th:text="${item.agentVersion}">Agent 版本</td>
  78. <td>
  79. <a class="open-popup" data-title="设置机器所属环境"
  80. th:attr="data-url=@{'/machine/host/env/'+${item.machineId}}" href="#">设置</a>
  81. </td>
  82. <td>
  83. <a class="open-popup" data-title="设置 SSH 帐号"
  84. th:attr="data-url=@{'/machine/host/sshauth/'+${item.machineId}}" href="#">设置</a>
  85. </td>
  86. <td>
  87. <!--<a class="open-popup" data-title="机器管理" th:attr="data-url=@{'/machine/stat'}"
  88. data-size="max" href="#">管理</a>-->
  89. <a class="open-popup" data-title="WebTerminal" th:attr="data-url=@{'/machine/host/webssh/'+${item.machineId}}"
  90. data-size="max">SSH</a>
  91. <a class="open-popup" data-title="机器详细信息" th:attr="data-url=@{'/machine/host/detail/'+${item.machineId}}"
  92. data-size="960,480" href="#">详细</a>
  93. <a class="ajax-delete" th:attr="data-msg='确定要删除 '+ ${item.machineId} + ' 机器?'"
  94. th:href="@{'/api/machine/host/' + ${item.machineId}}">删除</a>
  95. </td>
  96. </tr>
  97. </tbody>
  98. </table>
  99. </div>
  100. <div th:replace="/common/fragment :: page"></div>
  101. </div>
  102. </div>
  103. <script th:replace="/common/template :: script"></script>
  104. <script type="text/javascript" th:src="@{/js/plugins/jquery-2.2.4.min.js}"></script>
  105. <script type="text/javascript">
  106. function getPageByEnv() {
  107. var selectedOption = $("#getPageByEnv option:selected")
  108. var param = selectedOption.text()
  109. url = '?env=' + param
  110. window.location.href = window.location.pathname + url;
  111. }
  112. $(".machine-status").each(function () {
  113. var text = $(this).text().trim()
  114. if (text === 'Online') {
  115. $(this).css("color", "#009688")
  116. } else {
  117. $(this).css("color", "#ff0000")
  118. }
  119. })
  120. </script>
  121. </body>
  122. </html>