diff --git a/extend/base/admin/view/system/uploadfile/index.js b/extend/base/admin/view/system/uploadfile/index.js index a5a050e..ba356a1 100644 --- a/extend/base/admin/view/system/uploadfile/index.js +++ b/extend/base/admin/view/system/uploadfile/index.js @@ -5,7 +5,7 @@ $(function () { cols: [[ { type: "checkbox" }, { field: 'id', width: 80, title: 'ID' }, - { field: 'upload_type', minWidth: 80, title: '存储位置', search: 'select', selectList: { 'local': '本地', 'alioss': '阿里云', 'qnoss': '七牛云', ',txcos': '腾讯云' } }, + { field: 'upload_type', minWidth: 80, title: '存储位置', search: 'select', selectList: { 'local': '本地', 'alioss': '阿里云', 'qnoss': '七牛云', ',txcos': '腾讯云' }, tab: true }, { field: 'url', minWidth: 80, search: false, title: '文件预览', templet: ua.table.filePreview, }, { field: 'url', minWidth: 120, title: '保存地址', templet: ua.table.url, urlNameField: function (data) { diff --git a/public/static/admin/css/public.css b/public/static/admin/css/public.css index ff8257e..0bc4979 100644 --- a/public/static/admin/css/public.css +++ b/public/static/admin/css/public.css @@ -635,4 +635,8 @@ table样式 .w-e-text-container, .w-e-bar { border: 1px solid #d2d2d2; +} + +.search-tab .layui-tabs-body { + display: none; } \ No newline at end of file diff --git a/public/static/admin/css/public.scss b/public/static/admin/css/public.scss index cbc77d6..c59b042 100644 --- a/public/static/admin/css/public.scss +++ b/public/static/admin/css/public.scss @@ -656,5 +656,10 @@ table样式 .w-e-text-container, .w-e-bar { border: 1px solid #d2d2d2; +} +.search-tab{ + .layui-tabs-body{ + display: none; + } } \ No newline at end of file diff --git a/public/static/plugs/ulthon-admin/ulthon-admin.js b/public/static/plugs/ulthon-admin/ulthon-admin.js index 339b8fd..d2c4d02 100644 --- a/public/static/plugs/ulthon-admin/ulthon-admin.js +++ b/public/static/plugs/ulthon-admin/ulthon-admin.js @@ -543,6 +543,7 @@ cols = cols[0] || {}; var newCols = []; var formHtml = ''; + var tabSetting = {}; var formatFilter = {}, formatOp = {}; $.each(cols, function (i, d) { @@ -652,13 +653,29 @@ d.searchOp = '='; var selectHtml = ''; + if (d.tab) { + tabSetting.field = d.field; + tabSetting.elemIdName = d.elemIdName; + tabSetting.list = d.selectList; + tabSetting.index = -1; + } + + var selectListIndex = 0; $.each(d.selectList, function (sI, sV) { var selected = ''; if (sI === d.searchValue) { selected = 'selected=""'; + if (d.tab) { + tabSetting.index = selectListIndex; + } } selectHtml += '/n'; + selectListIndex++; }); + if (d.tab) { + formHtml += ''; + break; + } formHtml += '\t
\n' + '\n' + '
\n' + @@ -711,11 +728,41 @@ newCols.push(d); } else { // TODO:支持更多种类型的初始化,比如number_limit、time_limit - formHtml += ''; + formHtml += ''; } } }); + if (tabSetting.field) { + var tabId = 'tabFieldset_' + tableId; + $(elem).before('
'); + var header = [ + { + title: '全部', + key: '', + } + ]; + for (const tabSettingListKey in tabSetting.list) { + if (Object.prototype.hasOwnProperty.call(tabSetting.list, tabSettingListKey)) { + const tabItem = tabSetting.list[tabSettingListKey]; + header.push({ + title: tabItem, + key: tabSettingListKey, + }); + } + } + layui.tabs.render({ + elem: '#' + tabId, + header: header, + index: tabSetting.index + 1, + }); + layui.tabs.on('afterChange(' + tabId + ')', function (data) { + var value = $(data.thisHeaderItem).attr('lay-key'); + $('#c-' + tabSetting.elemIdName).val(value); + $('[lay-filter="' + tableId + '_filter"]').trigger('click'); + + }); + } if (formHtml !== '') {