|
|
@@ -4,75 +4,154 @@
|
|
|
<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})"></head>
|
|
|
|
|
|
<body>
|
|
|
-<div class="layui-form timo-compile">
|
|
|
- <form th:action="@{/api/build/packer}">
|
|
|
- <div class="layui-form-item">
|
|
|
- <label class="layui-form-label required">打包类型</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <select name="type">
|
|
|
- <option th:each="item : ${packTypes}" th:value="${item.key}">[[${item.value}]]</option>
|
|
|
- </select>
|
|
|
+<div class="layui-fluid">
|
|
|
+ <div class="layui-card">
|
|
|
+ <div class="layui-card-body" style="padding-top: 40px;">
|
|
|
+ <div class="layui-carousel" id="stepForm" lay-filter="stepForm" style="margin: 0 auto;">
|
|
|
+ <div carousel-item>
|
|
|
+ <div>
|
|
|
+ <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <label class="layui-form-label">打包类型</label>
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <select name="type" lay-verify="required">
|
|
|
+ <option th:each="item : ${packTypes}" th:value="${item.key}">[[${item.value}]]</option>
|
|
|
+ </select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <button class="layui-btn" lay-submit lay-filter="formStep">
|
|
|
+  下一步 
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <form class="layui-form" style="margin: 0 auto;max-width: 460px;padding-top: 40px;">
|
|
|
+ <div id="registry" class="layui-form-item">
|
|
|
+ <label class="layui-form-label required">RegistryUrl</label>
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <select name="dockerRegistry" lay-verify="required">
|
|
|
+ <option th:each="item : ${registryList}" th:value="${item.key}">[[${item.value}]]</option>
|
|
|
+ </select>
|
|
|
+ </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="name" placeholder="请输入打包名字" lay-verify="required">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div id="targetPath" class="layui-form-item">
|
|
|
+ <label class="layui-form-label required">存放位置</label>
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="targetPath" placeholder="存放在 docker registry 的位置" lay-verify="required">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div id="binDirname" class="layui-form-item">
|
|
|
+ <label class="layui-form-label required">bin 目录名</label>
|
|
|
+ <div class="layui-input-inline">
|
|
|
+ <input class="layui-input" type="text" name="binDirname" placeholder="编译生成文件所在目录名" lay-verify="required">
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="layui-form-item">
|
|
|
+ <div class="layui-input-block">
|
|
|
+ <button class="layui-btn" lay-submit lay-filter="formStep2">
|
|
|
+  提交 
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div style="text-align: center;margin-top: 90px;">
|
|
|
+ <i class="layui-icon layui-circle"
|
|
|
+ style="color: white;font-size:30px;font-weight:bold;background: #52C41A;padding: 20px;line-height: 80px;"></i>
|
|
|
+ <div style="font-size: 24px;color: #333;font-weight: 500;margin-top: 30px;">
|
|
|
+ 打包配置已添加
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="layui-form-item">
|
|
|
- <label class="layui-form-label required">RegistryUrl</label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <select name="dockerRegistry">
|
|
|
- <option th:each="item : ${registryList}" th:value="${item.key}">[[${item.value}]]</option>
|
|
|
- </select>
|
|
|
- </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="name" placeholder="请输入打包名字" required>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item">
|
|
|
- <label class="layui-form-label">存放位置<i id="target_path_tips" class="fa fa-question-circle"></i></label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="text" name="targetPath" placeholder="docker 打包类型必须填写" required>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="layui-form-item">
|
|
|
- <label class="layui-form-label">bin 目录名<i id="bin_dirname_tips" class="fa fa-question-circle"></i></label>
|
|
|
- <div class="layui-input-inline">
|
|
|
- <input class="layui-input" type="text" name="binDirname" placeholder="zip 打包类型必须填写" required>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <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>
|
|
|
- </div>
|
|
|
- </form>
|
|
|
+ </div>
|
|
|
</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/step-lay/step.js}"></script>
|
|
|
<script type="text/javascript">
|
|
|
- $(function () {
|
|
|
- $("#target_path_tips").hover(function () {
|
|
|
- var tips = layer.tips(
|
|
|
- 'docker 打包类型的存放地址是 docker 仓库地址<br/>' +
|
|
|
- 'zip 打包类型不需要填写<br/>', +
|
|
|
- '#target_path_tips',{
|
|
|
- tips: [1, '#555555']
|
|
|
- });
|
|
|
- sleep(1000);
|
|
|
- layer.close(tips);
|
|
|
- })
|
|
|
+ // 引入 step-lay 模块
|
|
|
+ layui.config({
|
|
|
+ base:'/lib/step-lay/'
|
|
|
+ }).use([ 'form', 'step'], function () {
|
|
|
+ var form = layui.form
|
|
|
+ var step = layui.step
|
|
|
+
|
|
|
+ step.render({
|
|
|
+ elem: '#stepForm',
|
|
|
+ filter: 'stepForm',
|
|
|
+ width: '100%', //设置容器宽度
|
|
|
+ stepWidth: '720px',
|
|
|
+ height: '480px',
|
|
|
+ stepItems: [{
|
|
|
+ title: '选择打包类型'
|
|
|
+ }, {
|
|
|
+ title: '填写打包配置'
|
|
|
+ }, {
|
|
|
+ title: '结果'
|
|
|
+ }]
|
|
|
+ });
|
|
|
+
|
|
|
+ var packType
|
|
|
+ form.on('submit(formStep)', function (data) {
|
|
|
+ packType = data.field.type
|
|
|
+ if (packType !== 'docker') {
|
|
|
+ document.getElementById("registry").remove()
|
|
|
+ document.getElementById("targetPath").remove()
|
|
|
+ } else {
|
|
|
+ document.getElementById("binDirname").remove()
|
|
|
+ }
|
|
|
+
|
|
|
+ step.next('#stepForm');
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+
|
|
|
+ form.on('submit(formStep2)', function (data) {
|
|
|
+ data.field.type = packType
|
|
|
+ // 手动提交表单
|
|
|
+ $.ajax({
|
|
|
+ type: 'POST',
|
|
|
+ url: '/api/build/packer',
|
|
|
+ contentType: "application/x-www-form-urlencoded",
|
|
|
+ data: data.field,
|
|
|
+ success: function(jsonData) {
|
|
|
+ if (jsonData.code === 0) {
|
|
|
+ layer.msg(jsonData.msg, {offset: '15px', time: 5000, icon: 1});
|
|
|
+ } else {
|
|
|
+ layer.msg(jsonData.msg, {offset: '15px', time: 5000, icon: 2});
|
|
|
+ }
|
|
|
+ },
|
|
|
+ error: function(xhr, status, error) {
|
|
|
+ // 处理表单提交失败后的错误
|
|
|
+ layer.msg(jsonData.msg, {offset: '15px', time: 5000, icon: 2});
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ step.next('#stepForm');
|
|
|
+ return false;
|
|
|
+ });
|
|
|
+
|
|
|
+ $('.pre').click(function () {
|
|
|
+ step.pre('#stepForm');
|
|
|
+ });
|
|
|
|
|
|
- $("#bin_dirname_tips").hover(function () {
|
|
|
- var tips = layer.tips(
|
|
|
- '构建生成的可执行文件及配置文件, 脚本文件等所在的目录名<br/>' +
|
|
|
- 'docker 打包类型不需要填写<br/>' +
|
|
|
- 'zip 打包类型必须填写<br/>',
|
|
|
- '#bin_dirname_tips',{
|
|
|
- tips: [1, '#555555']
|
|
|
- });
|
|
|
- sleep(1000);
|
|
|
- layer.close(tips);
|
|
|
- })
|
|
|
+ $('.next').click(function () {
|
|
|
+ step.next('#stepForm');
|
|
|
+ });
|
|
|
})
|
|
|
</script>
|
|
|
</body>
|