|
|
@@ -1,71 +1,240 @@
|
|
|
<!DOCTYPE html>
|
|
|
-<html xmlns:th="http://www.thymeleaf.org"
|
|
|
- xmlns:mo="https://gitee.com/aun/Timo">
|
|
|
-
|
|
|
+<html xmlns:th="http://www.thymeleaf.org">
|
|
|
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})">
|
|
|
<link rel="stylesheet" th:href="@{/lib/zTree_v3/css/zTreeStyle/zTreeStyle.css}" type="text/css">
|
|
|
</head>
|
|
|
+
|
|
|
<body>
|
|
|
<div class="layui-form timo-compile">
|
|
|
- <form th:action="@{/system/user/save}">
|
|
|
- <input type="hidden" name="id" th:if="${user}" th:value="${user.id}"/>
|
|
|
- <div class="layui-form-item" th:if="!${user}">
|
|
|
- <label class="layui-form-label required">用户名</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="text" name="username" placeholder="请输入用户名">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item" th:if="${user}">
|
|
|
- <label class="layui-form-label required">用户名</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="text" name="username" placeholder="请输入用户名" disabled="disabled" th:value="${user.username}">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item">
|
|
|
- <label class="layui-form-label required">用户昵称</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="text" name="nickname" placeholder="请输入用户昵称" th:value="${user?.nickname}">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item" th:if="!${user}">
|
|
|
- <label class="layui-form-label required">用户密码</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="password" name="password" placeholder="请输入用户密码">
|
|
|
- <!--<img id="img" src="/imgs/icons/icon-visible.png" onclick="hideOrShow()">-->
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item" th:if="!${user}">
|
|
|
- <label class="layui-form-label required">确认密码</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="password" name="confirm" placeholder="再一次输入密码">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item">
|
|
|
- <label class="layui-form-label">电话号码</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="text" name="phone" placeholder="请输入电话号码" th:value="${user?.phone}">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item">
|
|
|
- <label class="layui-form-label">邮箱</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="text" name="email" placeholder="请输入邮箱" th:value="${user?.email}">
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <div class="layui-form-item">
|
|
|
- <label class="layui-form-label">选择性别</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input type="radio" name="gender" value="1" title="男" checked><div class="layui-unselect layui-form-radio layui-form-radioed"><i class="layui-anim layui-icon"></i><div>男</div></div>
|
|
|
- <input type="radio" name="gender" value="2" title="女" th:checked="${user?.gender} eq 2"><div class="layui-unselect layui-form-radio"><i class="layui-anim layui-icon"></i><div>女</div></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item layui-form-text">
|
|
|
- <label class="layui-form-label">备注</label>
|
|
|
- <div class="layui-input-block">
|
|
|
- <textarea placeholder="请输入内容" class="layui-textarea" name="remark">[[${user?.remark}]]</textarea>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <form th:action="@{/app/config/app}">
|
|
|
+ <input type="hidden" name="id" th:if="${app}" th:value="${app?.id}"/>
|
|
|
+ <div class="timo-detail-title">基本信息</div>
|
|
|
+ <table class="layui-table timo-detail-table">
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <th>应用 ID</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item" th:if="!${app}">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appId" placeholder="请输入应用 ID" required th:value="${app?.appId}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item" th:if="${app}">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appId" placeholder="请输入应用 ID" disabled="disabled" th:value="${app?.appId}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>应用名</th>
|
|
|
+ <td >
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appName" placeholder="请输入应用名" required th:value="${app?.appName}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>是否启用</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="enable" placeholder="请输入是否启用" required th:value="${app?.enable}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>所属环境</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="env" placeholder="请输入应用所属环境" required th:value="${app?.env}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>应用类型</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appType" placeholder="请输入应用类型" required th:value="${app?.appType}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>应用描述</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="description" placeholder="请输入应用描述" required th:value="${app?.description}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>应用仓库</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appRepo" placeholder="请输入应用仓库" required th:value="${app?.appRepo}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>仓库分支</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="branch" placeholder="请输入仓库分支" required th:value="${app?.branch}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ <div class="timo-detail-title">构建配置</div>
|
|
|
+ <table class="layui-table timo-detail-table">
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <th>代码目录</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="env" placeholder="请输入应用所属环境" required th:value="${app?.env}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>编译目录</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appType" placeholder="请输入应用类型" required th:value="${app?.appType}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>可执行文件名</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="description" placeholder="请输入应用描述" required th:value="${app?.description}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>Dockerfile</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appRepo" placeholder="请输入应用仓库" required th:value="${app?.appRepo}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>仓库名字</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="repoAuthName" placeholder="请输入仓库名字" required th:value="${app?.buildConfig?.repoAuthConfig?.name}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>编译器名字</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="compilerName" placeholder="请输入编译器名字" required th:value="${app?.buildConfig?.compilerConfig?.name}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>打包名字</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="packerName" placeholder="请输入打包名字" required th:value="${app?.buildConfig?.packerConfig?.name}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ <div class="timo-detail-title">部署配置</div>
|
|
|
+ <table class="layui-table timo-detail-table">
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <th>机器 ID</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appName" placeholder="请输入机器 ID" required th:value="${app?.appName}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>机器地址</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appName" placeholder="请输入机器地址" required th:value="${app?.appName}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>打包类型</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appName" placeholder="请输入打包类型" required th:value="${app?.appName}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>Docker 配置</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appName" placeholder="请输入 Docker 配置" required th:value="${app?.appName}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>启动目录</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appName" placeholder="请输入启动目录" required th:value="${app?.appName}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>启动脚本</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="appName" placeholder="请输入启动脚本" required th:value="${app?.appName}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ <div class="timo-detail-title">运行配置</div>
|
|
|
+ <table class="layui-table timo-detail-table">
|
|
|
+ <tbody>
|
|
|
+ <tr>
|
|
|
+ <th>HTTP 端口</th>
|
|
|
+ <td>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="httpPort" placeholder="请输入应用的 HTTP 端口" th:value="${app?.runningConfig?.httpPort}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ <th>健康检查地址</th>
|
|
|
+ <td >
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="healthCheck" placeholder="请输入健康检查 URI" required th:value="${app?.runningConfig?.healthCheck}">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
<div class="layui-form-item timo-finally">
|
|
|
<button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
|
|
|
<button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
|
|
|
@@ -74,27 +243,7 @@
|
|
|
</div>
|
|
|
<script th:replace="/common/template :: script"></script>
|
|
|
<script type="text/javascript" th:src="@{/js/plugins/jquery-2.2.4.min.js}"></script>
|
|
|
-<script type="text/javascript" th:src="@{/lib/zTree_v3/js/jquery.ztree.core.min.js}"></script>
|
|
|
-<script type="text/javascript" th:src="@{/js/timoTree.js}"></script>
|
|
|
<script type="text/javascript">
|
|
|
- // 树形菜单
|
|
|
- $.fn.selectTree();
|
|
|
-</script>
|
|
|
-<script type="text/javascript">
|
|
|
- var img = document.getElementById("img");
|
|
|
- var passwd = document.getElementById("LAY-user-login-password");
|
|
|
-
|
|
|
- function hideOrShow() {
|
|
|
- if (passwd.type == "password") {
|
|
|
- passwd.type = "text";
|
|
|
- // 闭眼图片
|
|
|
- img.src = "../layui/images/icon-invisible.png";
|
|
|
- } else {
|
|
|
- passwd.type = "password";
|
|
|
- // 睁眼图片
|
|
|
- img.src = "../layui/images/icon-visible.png";
|
|
|
- }
|
|
|
- }
|
|
|
</script>
|
|
|
</body>
|
|
|
</html>
|