diff --git a/common/src/main/resources/static/assets/css/layui-util.css b/common/src/main/resources/static/assets/css/layui-util.css new file mode 100644 index 00000000..36a75cd5 --- /dev/null +++ b/common/src/main/resources/static/assets/css/layui-util.css @@ -0,0 +1,77 @@ +/* 上传图片 */ +.form-upload-image { + position: relative; + display: inline-block; + margin: 10px 10px 0 0; +} + +.form-upload-image:last-child { + margin-right: 0; +} + +.form-upload-image img { + height: 100px; +} + +.form-upload-image .delete-btn { + position: absolute; + top: 0; + right: 0; + margin: 0; +} + +.layui-form-item .upload-image-box { + clear: both; + width: 100%; + padding: 0; + display: block; +} + +/* 上传附件 */ +.form-upload-file { + +} + +.form-upload-file .operation { + text-align: center; +} + +.form-upload-file .delete-btn { + margin: 0; +} + +/* 上传视频 */ +.form-upload-video { + position: relative; + display: inline-block; + margin: 10px 10px 0 0; +} + +.form-upload-video:last-child { + margin-right: 0; +} + +.form-upload-video .delete-btn { + position: absolute; + top: 0; + right: 0; + margin: 0; +} + +/* 上传音频 */ +.form-upload-audio { + position: relative; + display: inline-block; + margin: 10px 10px 0 0; +} + +.form-upload-audio:last-child { + margin-right: 0; +} + +.form-upload-audio .delete-btn { + position: absolute; + top: 0; + right: 0; + margin: 0; +} \ No newline at end of file diff --git a/common/src/main/resources/static/assets/js/layui-util.js b/common/src/main/resources/static/assets/js/layui-util.js index 7693e02b..8443a676 100644 --- a/common/src/main/resources/static/assets/js/layui-util.js +++ b/common/src/main/resources/static/assets/js/layui-util.js @@ -19,8 +19,7 @@ function LayuiUtil(layui, viewer) { var isShow = opt.isShow; var defaultAllowExts = ['jpg', 'png', 'gif', 'bmp', 'jpeg']; var allowExts = opt.allowExts; - allowExts = allowExts && (allowExts instanceof Array) ? defaultAllowExts.concat(allowExts).join('\\|') : defaultAllowExts.join('\\|'); - + allowExts = allowExts && (allowExts instanceof Array) ? defaultAllowExts.concat(allowExts).join('\|') : defaultAllowExts.join('\|'); var defaultAcceptMime = ['image/*']; var acceptMime = opt.acceptMime; acceptMime = acceptMime && (acceptMime instanceof Array) ? defaultAcceptMime.concat(acceptMime).join(',') : defaultAcceptMime.join(','); @@ -133,7 +132,7 @@ function LayuiUtil(layui, viewer) { var isShow = opt.isShow; var allowExts = opt.allowExts; var defaultAllowExts = ['pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'wps', 'txt', 'rar', 'zip']; - allowExts = allowExts && (allowExts instanceof Array) ? defaultAllowExts.concat(allowExts).join('\\|') : defaultAllowExts.join('\\|'); + allowExts = allowExts && (allowExts instanceof Array) ? defaultAllowExts.concat(allowExts).join('\|') : defaultAllowExts.join('\|'); var defaultAcceptMime = [ 'application/pdf', 'application/msword', @@ -284,7 +283,7 @@ function LayuiUtil(layui, viewer) { var defaultAllowExts = ['mp4']; var allowExts = opt.allowExts; - allowExts = allowExts && (allowExts instanceof Array) ? defaultAllowExts.concat(allowExts).join('\\|') : defaultAllowExts.join('\\|'); + allowExts = allowExts && (allowExts instanceof Array) ? defaultAllowExts.concat(allowExts).join('\|') : defaultAllowExts.join('\|'); var defaultAcceptMime = ['video/mp4']; var acceptMime = opt.acceptMime; @@ -396,7 +395,7 @@ function LayuiUtil(layui, viewer) { var defaultAllowExts = ['wav', 'mp3']; var allowExts = opt.allowExts; - allowExts = allowExts && (allowExts instanceof Array) ? defaultAllowExts.concat(allowExts).join('\\|') : defaultAllowExts.join('\\|'); + allowExts = allowExts && (allowExts instanceof Array) ? defaultAllowExts.concat(allowExts).join('\|') : defaultAllowExts.join('\|'); var defaultAcceptMime = ['audio/wav', 'audio/mp3']; var acceptMime = opt.acceptMime; @@ -504,4 +503,85 @@ function LayuiUtil(layui, viewer) { } } + /** + * 下拉选择 + */ + this.select = function (opt) { + var self = this; + var url = opt.url; + var domId = opt.domId; + var name = opt.name; + var valueKey = opt.valueKey; + var nameKey = opt.nameKey; + var dataForm = opt.dataForm; + var selectedValue = opt.selectedValue; + var onInit = opt.onInit; + var onSelect = opt.onSelect; + + $('#'+ domId).empty(); + $('#'+ domId).append(''); + + /** + * 初始化选项 + */ + function initOption() { + // 得到数据? + $('#' + name).empty(); + // if (selectedValue === '') { + // // 监听初始化 + // onInit ? onInit(selectedValue) : null; + // form.render(null, dataForm); + // return; + // } + top.restAjax.get(url, {}, null, function (code, data) { + var options = ''; + for (var i = 0, item; item = data[i++];) { + options += '' + } + $('#' + name).append(options) + form.render(null, dataForm); + + // 监听初始化 + onInit ? onInit(selectedValue) : null; + }, function (code, data) { + top.dialog.msg(data.msg); + }); + } + + /** + * 初始化选择 + */ + function initSelectEvent() { + form.on('select(' + name + 'Filter)', function (data) { + var option = self.selectedOption('#' + name, data.value); + onSelect ? onSelect(data, option) : null; + // 联动 + if (data.value) { + onInit ? onInit(data.value) : null; + } + }); + } + + initOption(); + initSelectEvent(); + + } + + /** + * 获取选择的option + * + * @param selectId 下拉框ID + * @param selectedValue 选择的值 + * @return {DOMStringMap|null} + */ + this.selectedOption = function (selectId, selectedValue) { + var options = $(selectId).children(); + for (var i = 0, option; option = options[i++];) { + if (selectedValue === option.value) { + return option; + } + } + return null; + } + } \ No newline at end of file