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/update.ftl | 338 +++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 259 insertions(+), 79 deletions(-) diff --git a/src/main/resources/generater/admin/update.ftl b/src/main/resources/generater/admin/update.ftl index cc5ba65..3a33b09 100644 --- a/src/main/resources/generater/admin/update.ftl +++ b/src/main/resources/generater/admin/update.ftl @@ -1,92 +1,272 @@ -package ${packageName}; +<!DOCTYPE html> +<html class="x-admin-sm"> -import org.springframework.data.mongodb.core.query.Criteria; -import org.springframework.data.mongodb.core.query.Query; -import org.springframework.data.mongodb.core.query.Update; -import org.springframework.data.domain.Sort; -import org.springframework.stereotype.Repository; +<head> + <meta charset="UTF-8"> + <title>${title}</title> + <meta name="renderer" content="webkit"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> + <meta name="viewport" + content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/> + <link rel="stylesheet" href="./css/font.css"> + <link rel="stylesheet" href="./css/xadmin.css"> + <script type="text/javascript" src="./lib/layui/layui.js" charset="utf-8"></script> + <script type="text/javascript" src="./js/xadmin.js"></script> + <script src="js/vue.min.js" type="text/javascript" charset="utf-8"></script> + <script src="js/http.js" type="text/javascript" charset="utf-8"></script> + <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> + <!-- 璁㊣E8/9鏀寔濯掍綋鏌ヨ锛屼粠鑰屽吋瀹规爡鏍� --> + <!--[if lt IE 9]> + <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script> + <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script> + <![endif]--> +</head> +<body> +<div class="layui-fluid"> + <div class="layui-row"> + <form class="layui-form" lay-filter="add"> -<#list importClasses as value> -import ${value}; -</#list> + <#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> + <#case "Password"> <#include "/admin/form/password.ftl"><#break> + <#case "RadioGroup"> <#include "/admin/form/radioGroup.ftl"><#break> + <#case "Select"> <#include "/admin/form/select.ftl"><#break> + <#case "Switch"> <#include "/admin/form/switch.ftl"><#break> + <#case "Text"> <#include "/admin/form/text.ftl"><#break> + <#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> + </#if> + </div> + </#list> -@Repository -public class ${daoName} extends ${baseDaoClassName}<${entityClassName}>{ + <div class="layui-form-item"> + <label for="L_remarks" class="layui-form-label"></label> + <button class="layui-btn" lay-filter="add" lay-submit="">纭畾淇敼</button> + </div> + </form> + </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> - public void updateSelective(${entityClassName} bean) { - Query query = new Query(); - Update update=new Update(); - query.addCriteria(Criteria.where("${identityColumn.columnName}").is(bean.${identityColumn.columnMehtod})); - <#if columnDataList??> - <#list columnDataList as value> - if(bean.${value.columnMehtod} != null) { - update.set("${value.columnName}", bean.${value.columnMehtod}); + }, + 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(); + } } - </#list> - </#if> - update.set("updateTime", new Date()); - update(query, update); - } + }; - public List<${entityClassName}> list(DaoQuery daoQuery){ - Query query=getQuery(daoQuery); - if(daoQuery.sortList!=null&&daoQuery.sortList.size()>0){ - query.with(new Sort(daoQuery.sortList)); +</script> + +<script> + //濉厖鏁版嵁 + function fillData(form) { + var id = ksapp.getQueryParam("id"); + if (id) { + } else { + layer.msg("id涓虹┖"); + return; } - query.skip(daoQuery.start); - query.limit(daoQuery.count); - return findList(query); - } - public long count(DaoQuery daoQuery){ - Query query=getQuery(daoQuery); - return count(query); - } - - private Query getQuery(DaoQuery daoQuery){ - List<Criteria> andList=new ArrayList<>(); - <#list daoQueryColumnDataList as value> - <#if (value.type!"") == "Date"> - if(daoQuery.min${value.columnName?cap_first}!=null){ - andList.add(Criteria.where("${value.columnName}").gte(daoQuery.min${value.columnName?cap_first})); - } - if(daoQuery.max${value.columnName?cap_first}!=null){ - andList.add(Criteria.where("${value.columnName}").lt(daoQuery.max${value.columnName?cap_first})); - } - <#else> - if(daoQuery.${value.columnName}!=null){ - <#if (value.queryType!"") == "equal"> - andList.add(Criteria.where("${value.columnName}").is(daoQuery.${value.columnName})); - <#else> - andList.add(Criteria.where("${value.columnName}").regex(daoQuery.${value.columnName})); - </#if> - } - </#if> - </#list> - Query query=new Query(); - Criteria[] ands=new Criteria[andList.size()]; - andList.toArray(ands); - if(ands.length>0){ - query.addCriteria(new Criteria().andOperator(ands)); - } - return query; + ksapp.postJSON('${detailApi}', {id: id}, function (res) { + if (res.code == 0) { + form.data(res.data); + } else { + layer.msg(res.msg); + } + }, function (res) { + layer.msg("璇︽儏鑾峰彇澶辫触"); + }); } +</script> - public static class DaoQuery{ - <#if daoQueryColumnDataList??> - <#list daoQueryColumnDataList as value> - <#if (value.type!"") == "Date"> - public ${value.type} min${value.columnName?cap_first}; - public ${value.type} max${value.columnName?cap_first}; - <#else> - public ${value.type} ${value.columnName}; +<script> + layui.use(['form', 'layer', 'jquery', 'upload'], function () { + $ = layui.jquery; + var form = layui.form, + layer = layui.layer, + upload = layui.upload; + + var verify = {}; + <#list regexVerifyList as regex> + verify["${regex.key}"] = [/${regex.expression}/, '${regex.msg}']; + </#list> + //鑷畾涔夐獙璇佽鍒� + form.verify(verify); + + //娓叉煋涓婁紶鎺т欢 + uploadTool.init(upload); + + //濉厖琛ㄥ崟鏁版嵁 + //璇锋眰鏁版嵁 + //form.data(); + + + //鐩戝惉鎻愪氦 + form.on('submit(add)', + function (data) { + console.log(data.field); + //杞崲json瀵硅薄 + for (key in data.field) { + if (key.indexOf(".") > -1) { + var value = data.field[key]; + delete data.field[key]; + var onkeys = key.split("."); + //鍒涘缓瀵硅薄 + if (data.field[onkeys[0]] == undefined) { + data.field[onkeys[0]] = {}; + } + data.field[onkeys[0]][onkeys[1]] = value; + } + } + uploadTool.upload(function () { + //鍙戝紓姝ワ紝鎶婃暟鎹彁浜ょ粰php + var params = data.field; + params.id = ksapp.getQueryParam("id"); + + ksapp.postJSON('${updateApi}', 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) { + }); + }); + return false; + }); + //璇锋眰select鐨勬暟鎹瓵PI + + <#if preRequestList??&&(preRequestList?size>0)> + var preRequestCount = ${preRequestList?size} + <#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(); + preRequestCount--; + if (preRequestCount <= 0) { + //寮�濮嬪~鍏呮暟鎹� + fillData(form) + } + + } else { + layer.msg(res.msg); + } + + }, function (res) { + }); + </#list> + <#else> + fillData(form) </#if> - </#list> - </#if> - public int start; - public int count; - public List<Sort.Order> sortList; - } -} + }) + ; +</script> +</body> + +</html> \ No newline at end of file -- Gitblit v1.8.0