layui.define(['layer', 'form'], function(exports) { var layer = layui.layer, form = layui.form, $ = layui.$, key = '', allJS = '', allHtml = ''; let module = ["form"]; delHtml() $('button').on('click', function() { var _this = $(this), size = _this.data('size'), type = _this.data('type'), html = ''; key = randStrName(); switch (type) { case 'text': html = input(type, size) break; case 'password': html = input(type, size) break; case 'select': html = select(size) break; case 'checkbox_a': html = checkbox_a(size) break; case 'checkbox_b': html = checkbox_b(size) break; case 'radio': html = radio(size) break; case 'textarea': html = textarea(size) break; case 'icon': html = icon(size) $('form').append(html); form.render(); setHtml(html); layui.use(['iconPicker'], function() { layui.iconPicker.render({ elem: "#" + key, type: "fontClass", }); }); if (module.indexOf('iconPicker') === -1) module.push('iconPicker'); allJS += ' // 图标选择\n' + ' layui.iconPicker.render({\n' + ' elem: "#' + key + '",\n' + ' type: "fontClass",\n' + ' });\n'; $('.js-show').text(jscode()) return; case 'multiSelect': html = multiSelect(size) $('form').append(html); form.render(); setHtml(html); layui.use(['xmSelect'], function() { layui.xmSelect.render({ el: "#" + key, name: key, data: [{value: 1, name: "深圳"},{value: 2, name: "上海"},{value: 3, name: "广州"}], }); }); if (module.indexOf('xmSelect') === -1) module.push('xmSelect'); allJS += ' // 下拉多选\n' + ' layui.xmSelect.render({\n' + ' el: "#' + key + '",\n' + ' name: "' + key + '",\n' + ' data: [{value: 1, name: "深圳"},{value: 2, name: "上海"},{value: 3, name: "广州"}],\n' + ' });\n'; $('.js-show').text(jscode()) return; case 'tree': html = tree(size) $('form').append(html); form.render(); setHtml(html); layui.use(['xmSelect'], function() { layui.xmSelect.render({ el: "#" + key, name: key, tree: {show: true}, data: [{value: 1, name: "广东省", children:[{value: 2, name: "深圳"},{value: 3, name: "广州"}]},{value: 4, name: "福建省", children:[{value: 5, name: "厦门"},{value: 6, name: "福州"}]}], }); }); if (module.indexOf('xmSelect') === -1) module.push('xmSelect'); allJS += ' // 树多选\n' + ' layui.xmSelect.render({\n' + ' el: "#' + key + '",\n' + ' name: "' + key + '",\n' + ' tree: {show: true},\n' + ' data: [{value: 1, name: "广东省", children:[{value: 2, name: "深圳"},{value: 3, name: "广州"}]},{value: 4, name: "福建省", children:[{value: 5, name: "厦门"},{value: 6, name: "福州"}]}],\n' + ' });\n'; $('.js-show').text(jscode()) return; case 'treeSelectOne': html = treeSelectOne(size) $('form').append(html); form.render(); setHtml(html); layui.use(['xmSelect'], function() { layui.xmSelect.render({ el: "#" + key, name: key, model: {"icon":"hidden","label":{"type":"text"}}, clickClose: true, radio: true, tree: {show: true, strict: false, clickCheck: true, clickExpand: false}, data: [{value: 1, name: "广东省", children:[{value: 2, name: "深圳"},{value: 3, name: "广州"}]},{value: 4, name: "福建省", children:[{value: 5, name: "厦门"},{value: 6, name: "福州"}]}], }); }); if (module.indexOf('xmSelect') === -1) module.push('xmSelect'); allJS += ' // 树多选\n' + ' layui.xmSelect.render({\n' + ' el: "#' + key + '",\n' + ' name: "' + key + '",\n' + ' model: {"icon":"hidden","label":{"type":"text"}},\n' + ' clickClose: true,\n' + ' radio: true,\n' + ' tree: {show: true, strict: false, clickCheck: true, clickExpand: false},\n' + ' data: [{value: 1, name: "广东省", children:[{value: 2, name: "深圳"},{value: 3, name: "广州"}]},{value: 4, name: "福建省", children:[{value: 5, name: "厦门"},{value: 6, name: "福州"}]}],\n' + ' });\n'; $('.js-show').text(jscode()) return; case 'upload': html = upload(size) $('form').append(html); form.render(); setHtml(html); layui.use(['upload'], function() { let input = layui.$('#' + key).prev(); input.prev().html(layui.util.escape(input.val())); layui.$("#attachment-choose-" + key).on('click', function() { parent.layer.open({ type: 2, title: "选择附件", content: "/app/admin/upload/attachment", area: ["95%", "90%"], success: function (layero, index) { parent.layui.$("#layui-layer" + index).data("callback", function (data) { input.val(data.url).prev().html(layui.util.escape(data.url)); }); } }); }); layui.upload.render({ elem: "#" + key, url: "/app/admin/upload/file", accept: "file", field: "__file__", done: function (res) { this.item.prev().val(res.data.url).prev().html(layui.util.escape(res.data.url)); } }); }); if (module.indexOf('upload') === -1) module.push('upload'); if (module.indexOf('util') === -1) module.push('util'); allJS += ' // 上传文件\n' + ' layui.use([\'upload\'], function() {\n' + ' let input = layui.$("#'+key+'").prev();\n' + ' input.prev().html(layui.util.escape(input.val()));\n' + ' layui.$("#attachment-choose-'+key+'").on("click", function() {\n' + ' parent.layer.open({\n' + ' type: 2,\n' + ' title: "选择附件",\n' + ' content: "/app/admin/upload/attachment",\n' + ' area: ["95%", "90%"],\n' + ' success: function (layero, index) {\n' + ' parent.layui.$("#layui-layer" + index).data("callback", function (data) {\n' + ' input.val(data.url).prev().html(layui.util.escape(data.url));\n' + ' });\n' + ' }\n' + ' });\n' + ' });\n' + ' });\n' + ' layui.upload.render({\n' + ' elem: "#' + key + '",\n' + ' url: "/app/admin/upload/file",\n' + ' accept: "file",\n' + ' field: "__file__",\n' + ' done: function (res) {\n' + ' this.item.prev().val(res.data.url).prev().html(layui.util.escape(res.data.url));\n' + ' }\n' + ' });\n'; $('.js-show').text(jscode()) return; case 'uploadImg': html = uploadImg(size) $('form').append(html); form.render(); setHtml(html); layui.use(['upload'], function() { let input = layui.$('#' + key).prev(); input.prev().attr('src', input.val()); layui.$('#attachment-choose-' + key).on('click', function() { parent.layer.open({ type: 2, title: '选择附件', content: '/app/admin/upload/attachment?ext=jpg,jpeg,png,gif,bmp', area: ["95%", "90%"], success: function (layero, index) { parent.layui.$("#layui-layer" + index).data("callback", function (data) { input.val(data.url).prev().attr("src", data.url); }); } }); }); layui.upload.render({ elem: "#" + key, url: "/app/admin/upload/image", acceptMime: "image/gif,image/jpeg,image/jpg,image/png", field: "__file__", done: function (res) { this.item.prev().val(res.data.url).prev().attr('src', res.data.url); } }); }); if (module.indexOf('upload') === -1) module.push('upload'); allJS += ' // 上传图片\n' + ' layui.use([\'upload\'], function() {\n' + ' let input = layui.$("#'+key+'").prev();\n' + ' input.prev().attr(\'src\', input.val());\n' + ' layui.$("#attachment-choose-'+key+'").on("click", function() {\n' + ' parent.layer.open({\n' + ' type: 2,\n' + ' title: "选择附件",\n' + ' content: "/app/admin/upload/attachment?ext=jpg,jpeg,png,gif,bmp",\n' + ' area: ["95%", "90%"],\n' + ' success: function (layero, index) {\n' + ' parent.layui.$("#layui-layer" + index).data("callback", function (data) {\n' + ' input.val(data.url).prev().attr("src", data.url);\n' + ' });\n' + ' }\n' + ' });\n' + ' });\n' + ' layui.upload.render({\n' + ' elem: "#' + key + '",\n' + ' url: "/app/admin/upload/image",\n' + ' acceptMime: "image/gif,image/jpeg,image/jpg,image/png",\n' + ' field: "__file__",\n' + ' done: function (res) {\n' + ' this.item.prev().val(res.data.url).prev().attr(\'src\', res.data.url);\n' + ' }\n' + ' });\n' + ' });\n'; $('.js-show').text(jscode()) return; case 'submit': html = submits(size) break; case 'del': $('form').html("\n") delHtml() return false; default: layer.msg('类型错误', { icon: 2 }) } $('form').append(html); form.render(); setHtml(html); $('.js-show').text(jscode()) }) function delHtml() { allHtml = ''; allJS = ''; $('.code-show').text(''); $('.js-show').text(jscode()); } function setHtml(html) { allHtml += html; $('.code-show').text('
') } function icon(size) { var html = '