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