mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 15:32:48 +08:00
feat: 列表新增自动生成tab组件
This commit is contained in:
@@ -635,4 +635,8 @@ table样式
|
||||
.w-e-text-container,
|
||||
.w-e-bar {
|
||||
border: 1px solid #d2d2d2;
|
||||
}
|
||||
|
||||
.search-tab .layui-tabs-body {
|
||||
display: none;
|
||||
}
|
||||
@@ -656,5 +656,10 @@ table样式
|
||||
.w-e-text-container,
|
||||
.w-e-bar {
|
||||
border: 1px solid #d2d2d2;
|
||||
}
|
||||
|
||||
.search-tab{
|
||||
.layui-tabs-body{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@@ -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 += '<option value="' + sI + '" ' + selected + '>' + sV + '</option>/n';
|
||||
selectListIndex++;
|
||||
});
|
||||
if (d.tab) {
|
||||
formHtml += '<input type="hidden" id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" value="' + d.searchValue + '">';
|
||||
break;
|
||||
}
|
||||
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||
'<div class="layui-input-inline">\n' +
|
||||
@@ -711,11 +728,41 @@
|
||||
newCols.push(d);
|
||||
} else {
|
||||
// TODO:支持更多种类型的初始化,比如number_limit、time_limit
|
||||
formHtml += '<input type="hidden" name="' + d.fieldAlias + '" value="' + d.searchValue + '">';
|
||||
formHtml += '<input type="hidden" id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" value="' + d.searchValue + '">';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
if (tabSetting.field) {
|
||||
var tabId = 'tabFieldset_' + tableId;
|
||||
$(elem).before('<div id="' + tabId + '" class="search-tab" data-field="' + tabSetting.field + '"></div>');
|
||||
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 !== '') {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user