| | |
| | | |
| | | <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" |
| | |
| | | <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> |
| | |
| | | <#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> |
| | |
| | | </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(); |
| | | //预读本地文件,如果是多文件,则会遍历。(不支持ie8/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); |
| | | |
| | | |
| | | //监听提交 |
| | |
| | | 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的数据API |
| | | <#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> |
| | | |