diff --git a/shandan-common/src/main/resources/static/js/common/layui/extend/dict.js b/shandan-common/src/main/resources/static/js/common/layui/extend/dict.js index bc73c95..e9c9d4b 100644 --- a/shandan-common/src/main/resources/static/js/common/layui/extend/dict.js +++ b/shandan-common/src/main/resources/static/js/common/layui/extend/dict.js @@ -158,18 +158,19 @@ layui.define(['form'], function (exports) { } // 设置只读 - this.setReadonly(); + if (this.readonly) { + this.setReadonly(); + } } /** * 设置组件已读 */ setReadonly() { - if (this.readonly) { - // 设置延迟执行,确保在所有组件渲染完成后再设置只读,否则被layui的render方法执行后会将该只读设置重写覆盖而导致失效 - setTimeout(() => { - // 先添加用于覆盖layui样式的内部样式到head中 - $('head').append(` + // 设置延迟执行,确保在所有组件渲染完成后再设置只读,否则被layui的render方法执行后会将该只读设置重写覆盖而导致失效 + setTimeout(() => { + // 先添加用于覆盖layui样式的内部样式到head中 + $('head').append(` `); - let _elem = this.getElement(); - switch (this.type) { - case "radio": - case "checkbox": - let elements = _elem.parent().find(`input[type="${this.type}"][name="${this.name}"]`); - $.each(elements, function (index) { - let lay_elem = $(this).next(); - // 移除click事件监听 - lay_elem.off('click').addClass('radio-readonly').css('cursor', 'auto'); - }); - break; - case "select": - let lay_elem = _elem.parent().find(`select[name="${this.name}"]`).next(); - lay_elem.addClass('select-readonly'); - lay_elem.find('.layui-select-title').off('click').children().css('cursor', 'auto'); - } - }, 150); - } + let _elem = this.getElement(); + switch (this.type) { + case "radio": + case "checkbox": + let elements = _elem.parent().find(`input[type="${this.type}"][name="${this.name}"]`); + $.each(elements, function (index) { + let lay_elem = $(this).next(); + // 移除click事件监听 + lay_elem.off('click').addClass('radio-readonly').css('cursor', 'auto'); + }); + break; + case "select": + let lay_elem = _elem.parent().find(`select[name="${this.name}"]`).next(); + lay_elem.addClass('select-readonly'); + lay_elem.find('.layui-select-title').off('click').children().css('cursor', 'auto'); + } + }, 150); } /** @@ -386,6 +386,15 @@ layui.define(['form'], function (exports) { console.error('组件未定义:' + id); } }, + setReadonly: function (id) { + if (id) { + _cache.get(id).setReadonly(); + } else { + for (const dict of _cache.values()) { + dict.setReadonly(); + } + } + }, /** * 获取字典项的描述 * @param type 字典类型