From 1a1a315efb1b5dc294013126f35819e36565040c Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 30 九月 2021 18:06:48 +0800 Subject: [PATCH] 后台管理自动化代码生成 --- src/main/resources/generater/admin/add.ftl | 226 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 139 insertions(+), 87 deletions(-) diff --git a/src/main/resources/generater/admin/add.ftl b/src/main/resources/generater/admin/add.ftl index 693c9e4..2de34c9 100644 --- a/src/main/resources/generater/admin/add.ftl +++ b/src/main/resources/generater/admin/add.ftl @@ -3,7 +3,7 @@ <head> <meta charset="UTF-8"> - <title>鏂板${controllerData.title}</title> + <title>${title}</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" @@ -26,14 +26,14 @@ <div class="layui-row"> <form class="layui-form" lay-filter="add"> - <#list addFormRows as value> + <#list rowsList as value> <div class="layui-form-item"> <label for="L_appCode" class="layui-form-label"> <#if value.params.require??&&value.params.require> <span class="x-red">*</span> </#if> ${value.params.title}</label> - + <div class="layui-input-block"> <#switch value.type> <#case "CheckBox"><#include "/admin/form/checkBox.ftl" ><#break> <#case "Img"> <#include "/admin/form/img.ftl"><#break> @@ -45,6 +45,7 @@ <#case "TextArea"> <#include "/admin/form/textArea.ftl"><#break> <#default> </#switch> + </div> <#if (value.desc!"") != ""> <div class="layui-form-mid layui-word-aux">${value.desc}</div> @@ -60,39 +61,101 @@ </div> </div> <script> + //鍒濆鍖栦笂浼犳帶浠� + var uploadTool = { + callback: null, + chooseImage: {}, + uploadArray: new Array(), + init: function (upload) { + this.uploadArray = new Array(); + <#list rowsList as value> + <#if value.type=='Img'&&value.params.uploadApi??> + this.uploadArray.push(upload.render({ + elem: '#upload_${value.key}', //缁戝畾鍏冪礌 + url: '${value.params.uploadApi}', //涓婁紶鎺ュ彛 + <#if value.params.uploadApiParams??&&(value.params.uploadApiParams?size>0)> + data: { + <#list value.params.uploadApiParams as item> + "${item.key}": "${item.value}", + </#list> + }, + </#if> + auto: false, + accept: 'images', + acceptMime: 'image/*', + field: "file_${value.key}", + choose: function (obj) { + //灏嗘瘡娆¢�夋嫨鐨勬枃浠惰拷鍔犲埌鏂囦欢闃熷垪 + var files = obj.pushFile(); + //棰勮鏈湴鏂囦欢锛屽鏋滄槸澶氭枃浠讹紝鍒欎細閬嶅巻銆�(涓嶆敮鎸乮e8/9) + obj.preview(function (index, file, result) { + console.log(index); //寰楀埌鏂囦欢绱㈠紩 + console.log(file); //寰楀埌鏂囦欢瀵硅薄 + console.log(result); //寰楀埌鏂囦欢base64缂栫爜锛屾瘮濡傚浘鐗� + $("#img_${value.key}").attr("src", result); + //璁板綍閫変腑鐨勬枃浠� + uploadTool.chooseImage["${value.key}"] = "1"; + }); + }, + before: function (obj) { + layer.load(); + }, + done: function (res, index, upload) { + layer.closeAll('loading'); //鍏抽棴loading + //涓婁紶瀹屾瘯鍚庡垹闄� + if (res.code == 0) { + //鑾峰彇閾炬帴 + $("input[name='${value.key}']").val(res.data.url); + delete chooseImage["${value.key}"]; + if (Object.keys(chooseImage).length == 0) { + //鍏ㄩ儴涓婁紶鎴愬姛 + callback(); + } + } else { + layer.msg(res.msg); + } + }, + error: function (index, upload) { + layer.msg("${value.params.title}涓婁紶鍑洪敊"); + layer.closeAll('loading'); //鍏抽棴loading + } + })); + </#if> + </#list> - layui.use(['form', 'layer', 'jquery'], function () { + }, + upload: function (result) { + if (this.uploadArray.length > 0) { + this.callback = result; + //鍚屾椂涓婁紶 + for (var i = 0; i < this.uploadArray.length; i++) { + this.uploadArray[i].upload(); + } + } else { + result(); + } + } + }; + + +</script> + +<script> + layui.use(['form', 'layer', 'jquery', 'upload'], function () { $ = layui.jquery; var form = layui.form, - layer = layui.layer; + layer = layui.layer, + upload = layui.upload; + var verify = {}; + <#list regexVerifyList as regex> + verify["${regex.key}"] = [/${regex.expression}/, '${regex.msg}']; + </#list> //鑷畾涔夐獙璇佽鍒� - form.verify({ - username: function (value) { - if (value.length < 3) { - return '鍚嶇О鑷冲皯寰�3涓瓧绗�'; - } - }, - code: function (value) { - if (value) { - if (!(/^([A-Za-z0-9]|\-|_)+$/).test(value)) { - return '鏍囪瘑鍙兘鍖呭惈 鏁板瓧銆佽嫳鏂囧瓧绗︺�乢 銆�-'; - } - } - }, - packageName: [/^([A-Za-z0-9]|\-|_|\.)+$/, '鍖呭悕鍙兘鍖呭惈 鏁板瓧銆佽嫳鏂囧瓧绗︺�乢 銆�-銆�.'], - desc: function (value) { - if (value != null && value.length > 128) { - return '绠�浠嬫渶澶т负128涓瓧绗�'; - } - }, - remarks: function (value) { - if (value != null && value.length > 128) { - return '澶囨敞鏈�澶т负128涓瓧绗�'; - } - }, + form.verify(verify); - }); + //娓叉煋涓婁紶鎺т欢 + uploadTool.init(upload); //鐩戝惉鎻愪氦 @@ -112,69 +175,58 @@ data.field[onkeys[0]][onkeys[1]] = value; } } - //鍙戝紓姝ワ紝鎶婃暟鎹彁浜ょ粰php - ksapp.postJSON('/admin/api/pushplatform-app/add', data.field, function (res) { - if (res.code == 0) { - layer.alert("澧炲姞鎴愬姛", { - icon: 6 - }, - function () { - //鍏抽棴褰撳墠frame - xadmin.close(); - // 鍙互瀵圭埗绐楀彛杩涜鍒锋柊 - // xadmin.father_reload(); - }); - } else { - layer.msg(res.msg); - } + uploadTool.upload(function(){ + //鍙戝紓姝ワ紝鎶婃暟鎹彁浜ょ粰php + ksapp.postJSON('${addApi}', data.field, function (res) { + if (res.code == 0) { + layer.alert("澧炲姞鎴愬姛", { + icon: 6 + }, + function () { + //鍏抽棴褰撳墠frame + xadmin.close(); + // 鍙互瀵圭埗绐楀彛杩涜鍒锋柊 + // xadmin.father_reload(); + }); + } else { + layer.msg(res.msg); + } - }, function (res) { + }, function (res) { + }); }); return false; }); + //璇锋眰select鐨勬暟鎹瓵PI + <#if preRequestList??&&(preRequestList?size>0)> + <#list preRequestList as request> + <#assign apiKeys=request.params?keys/> + var params = {}; + <#list apiKeys as key> + params["${key}"]=${request.params["${key}"]} + </#list> - }); + ksapp.postJSON('${request.url}', params, function (res) { + if (res.code == 0) { + //濉厖鏁版嵁 + $("${request.fillTarget}").empty(); + for (var i = 0; i < res.data.length; i++) { + var html = "<option value='" + res.data[i].key + "'>"; + html += res.data[i].value + "</option>"; + $("${request.fillTarget}").append(html); + } + //閲嶆柊娓叉煋琛ㄥ崟 + form.render(); + } else { + layer.msg(res.msg); + } - - - var app = new Vue({ - el: '.layui-form', - data: { - appList: [], - platformList: [ - {name: "灏忕背", platform: "xm"}, - {name: "鍗庝负", platform: "hw"}, - {name: "OPPO", platform: "oppo"}, - {name: "VIVO", platform: "vivo"}, - {name: "榄呮棌", platform: "mz"} - ] - }, - created: function () { - this.getAppList(); - }, - watch: { - appList: function () { - app.render(); - } - - }, - methods: { - getAppList: function () { - ksapp.post("/admin/api/app/list", {page: 1, limit: 100}, function (e) { - if (e.code == 0) { - app.appList = e.data.list; - } else - layer.msg(e.msg); - }, function (e) { - }); - }, - render: function () { - console.log("render") - - } - } - }); - + }, function (res) { + }); + </#list> + </#if> + }) + ; </script> </body> -- Gitblit v1.8.0