mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 15:32:48 +08:00
feat(admin): 新增test_goods商品管理模块
新增商品管理相关文件,包括模型、控制器、视图及静态资源。模块支持商品的增删改查、导出、状态管理等操作,并集成搜索功能优化用户体验。
This commit is contained in:
@@ -388,75 +388,139 @@
|
||||
}
|
||||
|
||||
var formSearchHideClass = '';
|
||||
if (d.searchHide == true) {
|
||||
formSearchHideClass = ' layui-hide';
|
||||
if (d.searchHide) {
|
||||
formSearchHideClass = ' search-hide-item';
|
||||
}
|
||||
|
||||
if (d.search == true || d.search == 'text') {
|
||||
formHtml += '<div class="layui-inline' + formSearchHideClass + '">\n';
|
||||
formHtml += ' <label class="layui-form-label">' + d.title + '</label>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="' + d.fieldAlias + '" id="c-' + d.elemIdName + '" placeholder="' + d.searchTip + '" value="' + (d.searchValue == undefined ? '' : d.searchValue) + '" class="layui-input" data-search-op="' + d.searchOp + '">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += '</div>\n';
|
||||
} else if (d.search == 'select') {
|
||||
formHtml += '<div class="layui-inline' + formSearchHideClass + '">\n';
|
||||
formHtml += ' <label class="layui-form-label">' + d.title + '</label>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <select name="' + d.fieldAlias + '" id="c-' + d.elemIdName + '" data-search-op="' + d.searchOp + '">\n';
|
||||
formHtml += ' <option value=""></option>\n';
|
||||
$.each(d.selectList, function (key, val) {
|
||||
if (d.searchValue != undefined && d.searchValue != '' && d.searchValue == key) {
|
||||
formHtml += ' <option value="' + key + '" selected="selected">' + val + '</option>\n';
|
||||
} else {
|
||||
formHtml += ' <option value="' + key + '">' + val + '</option>\n';
|
||||
}
|
||||
});
|
||||
formHtml += ' </select>\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += '</div>\n';
|
||||
} else if (d.search == 'time_limit') {
|
||||
if (d.timeType == undefined) {
|
||||
d.timeType = 'datetime';
|
||||
}
|
||||
formHtml += '<div class="layui-inline' + formSearchHideClass + '">\n';
|
||||
formHtml += ' <label class="layui-form-label">' + d.title + '</label>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="[' + d.fieldAlias + ']min" class="layui-input" id="c-' + d.elemIdName + '-min" data-search-op="min" value="' + a + '" placeholder="开始时间">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += ' <div class="layui-form-mid">-</div>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="[' + d.fieldAlias + ']max" class="layui-input" id="c-' + d.elemIdName + '-max" data-search-op="max" value="' + b + '" placeholder="结束时间">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += '</div>\n';
|
||||
tabSetting[tableId + '_' + d.field + '_min'] = {
|
||||
elem: '#c-' + d.elemIdName + '-min',
|
||||
type: d.timeType,
|
||||
range: false,
|
||||
};
|
||||
tabSetting[tableId + '_' + d.field + '_max'] = {
|
||||
elem: '#c-' + d.elemIdName + '-max',
|
||||
type: d.timeType,
|
||||
range: false,
|
||||
};
|
||||
|
||||
} else if (d.search == 'number_limit') {
|
||||
formHtml += '<div class="layui-inline' + formSearchHideClass + '">\n';
|
||||
formHtml += ' <label class="layui-form-label">' + d.title + '</label>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="[' + d.fieldAlias + ']min" class="layui-input" id="c-' + d.elemIdName + '-min" data-search-op="min" value="' + a + '" placeholder="最小值">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += ' <div class="layui-form-mid">-</div>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="[' + d.fieldAlias + ']max" class="layui-input" id="c-' + d.elemIdName + '-max" data-search-op="max" value="' + b + '" placeholder="最大值">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += '</div>\n';
|
||||
if (d.searchValue === undefined) {
|
||||
d.searchValue = '';
|
||||
}
|
||||
|
||||
if (d.field !== false) {
|
||||
if (d.search !== false) {
|
||||
switch (d.search) {
|
||||
case true:
|
||||
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' +
|
||||
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'select':
|
||||
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' +
|
||||
'<select class="layui-select" id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" >\n' +
|
||||
'<option value="">- 全部 -</option> \n' +
|
||||
selectHtml +
|
||||
'</select>\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'range':
|
||||
d.searchOp = 'range';
|
||||
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' +
|
||||
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'time':
|
||||
d.searchOp = '=';
|
||||
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' +
|
||||
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'time_limit':
|
||||
d.searchOp = '=';
|
||||
formHtml += '\t<div class="layui-form-item form-item-time-limit layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||
'<div class="layui-input-inline">\n' +
|
||||
'<input id="c-' + d.elemIdName + '-min_date" name="[' + d.fieldAlias + ']min_date" data-search-op="min_date" value="' + a + '" placeholder="最小值" class="layui-input">\n' +
|
||||
'<input id="c-' + d.elemIdName + '-max_date" name="[' + d.fieldAlias + ']max_date" data-search-op="max_date" value="' + b + '" placeholder="最大值" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'number_limit':
|
||||
d.searchOp = '=';
|
||||
formHtml += '\t<div class="layui-form-item form-item-number-limit layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||
'<div class="layui-input-inline">\n' +
|
||||
'<input id="c-' + d.elemIdName + '-min" name="[' + d.fieldAlias + ']min" data-search-op="min" type="text" value="' + a + '" placeholder="最小值" class="layui-input">\n' +
|
||||
'<input id="c-' + d.elemIdName + '-max" name="[' + d.fieldAlias + ']max" data-search-op="max" type="text" value="' + b + '" placeholder="最大值" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
}
|
||||
newCols.push(d);
|
||||
} else {
|
||||
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 !== '') {
|
||||
var html = '';
|
||||
html += '<fieldset id="searchFieldset_' + tableId + '" class="table-search-fieldset layui-hide">\n';
|
||||
html += ' <legend>条件搜索</legend>\n';
|
||||
@@ -475,13 +539,29 @@
|
||||
}
|
||||
$(elem).before(html);
|
||||
|
||||
form.render();
|
||||
|
||||
$.each(tabSetting, function (key, val) {
|
||||
laydate.render(val);
|
||||
});
|
||||
|
||||
admin.table.listenTableSearch(tableId);
|
||||
|
||||
form.render();
|
||||
$.each(newCols, function (ncI, ncV) {
|
||||
if (ncV.search === 'range') {
|
||||
laydate.render({ range: true, type: ncV.timeType, elem: '[name="' + ncV.fieldAlias + '"]' });
|
||||
}
|
||||
if (ncV.search === 'time') {
|
||||
laydate.render({ type: ncV.timeType, elem: '[name="' + ncV.fieldAlias + '"]' });
|
||||
}
|
||||
if (ncV.search === 'time_limit') {
|
||||
laydate.render({ type: ncV.timeType, elem: '[name="[' + ncV.fieldAlias + ']min_date"]' });
|
||||
laydate.render({ type: ncV.timeType, elem: '[name="[' + ncV.fieldAlias + ']max_date"]' });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
options.where = {
|
||||
filter: JSON.stringify(formatFilter),
|
||||
op: JSON.stringify(formatOp)
|
||||
};
|
||||
|
||||
lastTableWhere[tableId] = options.where;
|
||||
return options;
|
||||
},
|
||||
listenTableSearch: function (tableId) {
|
||||
|
||||
@@ -709,75 +709,139 @@
|
||||
}
|
||||
|
||||
var formSearchHideClass = '';
|
||||
if (d.searchHide == true) {
|
||||
formSearchHideClass = ' layui-hide';
|
||||
if (d.searchHide) {
|
||||
formSearchHideClass = ' search-hide-item';
|
||||
}
|
||||
|
||||
if (d.search == true || d.search == 'text') {
|
||||
formHtml += '<div class="layui-inline' + formSearchHideClass + '">\n';
|
||||
formHtml += ' <label class="layui-form-label">' + d.title + '</label>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="' + d.fieldAlias + '" id="c-' + d.elemIdName + '" placeholder="' + d.searchTip + '" value="' + (d.searchValue == undefined ? '' : d.searchValue) + '" class="layui-input" data-search-op="' + d.searchOp + '">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += '</div>\n';
|
||||
} else if (d.search == 'select') {
|
||||
formHtml += '<div class="layui-inline' + formSearchHideClass + '">\n';
|
||||
formHtml += ' <label class="layui-form-label">' + d.title + '</label>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <select name="' + d.fieldAlias + '" id="c-' + d.elemIdName + '" data-search-op="' + d.searchOp + '">\n';
|
||||
formHtml += ' <option value=""></option>\n';
|
||||
$.each(d.selectList, function (key, val) {
|
||||
if (d.searchValue != undefined && d.searchValue != '' && d.searchValue == key) {
|
||||
formHtml += ' <option value="' + key + '" selected="selected">' + val + '</option>\n';
|
||||
} else {
|
||||
formHtml += ' <option value="' + key + '">' + val + '</option>\n';
|
||||
}
|
||||
});
|
||||
formHtml += ' </select>\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += '</div>\n';
|
||||
} else if (d.search == 'time_limit') {
|
||||
if (d.timeType == undefined) {
|
||||
d.timeType = 'datetime';
|
||||
}
|
||||
formHtml += '<div class="layui-inline' + formSearchHideClass + '">\n';
|
||||
formHtml += ' <label class="layui-form-label">' + d.title + '</label>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="[' + d.fieldAlias + ']min" class="layui-input" id="c-' + d.elemIdName + '-min" data-search-op="min" value="' + a + '" placeholder="开始时间">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += ' <div class="layui-form-mid">-</div>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="[' + d.fieldAlias + ']max" class="layui-input" id="c-' + d.elemIdName + '-max" data-search-op="max" value="' + b + '" placeholder="结束时间">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += '</div>\n';
|
||||
tabSetting[tableId + '_' + d.field + '_min'] = {
|
||||
elem: '#c-' + d.elemIdName + '-min',
|
||||
type: d.timeType,
|
||||
range: false,
|
||||
};
|
||||
tabSetting[tableId + '_' + d.field + '_max'] = {
|
||||
elem: '#c-' + d.elemIdName + '-max',
|
||||
type: d.timeType,
|
||||
range: false,
|
||||
};
|
||||
|
||||
} else if (d.search == 'number_limit') {
|
||||
formHtml += '<div class="layui-inline' + formSearchHideClass + '">\n';
|
||||
formHtml += ' <label class="layui-form-label">' + d.title + '</label>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="[' + d.fieldAlias + ']min" class="layui-input" id="c-' + d.elemIdName + '-min" data-search-op="min" value="' + a + '" placeholder="最小值">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += ' <div class="layui-form-mid">-</div>\n';
|
||||
formHtml += ' <div class="layui-input-inline">\n';
|
||||
formHtml += ' <input type="text" name="[' + d.fieldAlias + ']max" class="layui-input" id="c-' + d.elemIdName + '-max" data-search-op="max" value="' + b + '" placeholder="最大值">\n';
|
||||
formHtml += ' </div>\n';
|
||||
formHtml += '</div>\n';
|
||||
if (d.searchValue === undefined) {
|
||||
d.searchValue = '';
|
||||
}
|
||||
|
||||
if (d.field !== false) {
|
||||
if (d.search !== false) {
|
||||
switch (d.search) {
|
||||
case true:
|
||||
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' +
|
||||
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'select':
|
||||
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' +
|
||||
'<select class="layui-select" id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" >\n' +
|
||||
'<option value="">- 全部 -</option> \n' +
|
||||
selectHtml +
|
||||
'</select>\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'range':
|
||||
d.searchOp = 'range';
|
||||
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' +
|
||||
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'time':
|
||||
d.searchOp = '=';
|
||||
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' +
|
||||
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'time_limit':
|
||||
d.searchOp = '=';
|
||||
formHtml += '\t<div class="layui-form-item form-item-time-limit layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||
'<div class="layui-input-inline">\n' +
|
||||
'<input id="c-' + d.elemIdName + '-min_date" name="[' + d.fieldAlias + ']min_date" data-search-op="min_date" value="' + a + '" placeholder="最小值" class="layui-input">\n' +
|
||||
'<input id="c-' + d.elemIdName + '-max_date" name="[' + d.fieldAlias + ']max_date" data-search-op="max_date" value="' + b + '" placeholder="最大值" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
case 'number_limit':
|
||||
d.searchOp = '=';
|
||||
formHtml += '\t<div class="layui-form-item form-item-number-limit layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||
'<div class="layui-input-inline">\n' +
|
||||
'<input id="c-' + d.elemIdName + '-min" name="[' + d.fieldAlias + ']min" data-search-op="min" type="text" value="' + a + '" placeholder="最小值" class="layui-input">\n' +
|
||||
'<input id="c-' + d.elemIdName + '-max" name="[' + d.fieldAlias + ']max" data-search-op="max" type="text" value="' + b + '" placeholder="最大值" class="layui-input">\n' +
|
||||
'</div>\n' +
|
||||
'</div>';
|
||||
break;
|
||||
}
|
||||
newCols.push(d);
|
||||
} else {
|
||||
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 !== '') {
|
||||
var html = '';
|
||||
html += '<fieldset id="searchFieldset_' + tableId + '" class="table-search-fieldset layui-hide">\n';
|
||||
html += ' <legend>条件搜索</legend>\n';
|
||||
@@ -796,13 +860,29 @@
|
||||
}
|
||||
$(elem).before(html);
|
||||
|
||||
form.render();
|
||||
|
||||
$.each(tabSetting, function (key, val) {
|
||||
laydate.render(val);
|
||||
});
|
||||
|
||||
admin.table.listenTableSearch(tableId);
|
||||
|
||||
form.render();
|
||||
$.each(newCols, function (ncI, ncV) {
|
||||
if (ncV.search === 'range') {
|
||||
laydate.render({ range: true, type: ncV.timeType, elem: '[name="' + ncV.fieldAlias + '"]' });
|
||||
}
|
||||
if (ncV.search === 'time') {
|
||||
laydate.render({ type: ncV.timeType, elem: '[name="' + ncV.fieldAlias + '"]' });
|
||||
}
|
||||
if (ncV.search === 'time_limit') {
|
||||
laydate.render({ type: ncV.timeType, elem: '[name="[' + ncV.fieldAlias + ']min_date"]' });
|
||||
laydate.render({ type: ncV.timeType, elem: '[name="[' + ncV.fieldAlias + ']max_date"]' });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
options.where = {
|
||||
filter: JSON.stringify(formatFilter),
|
||||
op: JSON.stringify(formatOp)
|
||||
};
|
||||
|
||||
lastTableWhere[tableId] = options.where;
|
||||
return options;
|
||||
},
|
||||
listenTableSearch: function (tableId) {
|
||||
|
||||
Reference in New Issue
Block a user