mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-09 11:32:48 +08:00
新增time_limit查询;新增number_limit查询;新增同一个字段多个搜索项;
This commit is contained in:
@@ -187,7 +187,6 @@ class AdminController extends BaseController
|
|||||||
}
|
}
|
||||||
|
|
||||||
$this->validateRule->failException(true)->check($data);
|
$this->validateRule->failException(true)->check($data);
|
||||||
|
|
||||||
} else if (is_array($this->validateRule)) {
|
} else if (is_array($this->validateRule)) {
|
||||||
parent::validate($data, $this->validateRule, $message, $batch);
|
parent::validate($data, $this->validateRule, $message, $batch);
|
||||||
} else {
|
} else {
|
||||||
@@ -226,6 +225,13 @@ class AdminController extends BaseController
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$op = isset($ops[$key]) && !empty($ops[$key]) ? $ops[$key] : '%*%';
|
$op = isset($ops[$key]) && !empty($ops[$key]) ? $ops[$key] : '%*%';
|
||||||
|
|
||||||
|
if (strpos($key, '[') === 0) {
|
||||||
|
$key = str_replace('[', '', $key);
|
||||||
|
|
||||||
|
$key = explode(']', $key)[0];
|
||||||
|
}
|
||||||
|
|
||||||
if ($this->relationSearch && count(explode('.', $key)) == 1) {
|
if ($this->relationSearch && count(explode('.', $key)) == 1) {
|
||||||
$key = "{$tableName}.{$key}";
|
$key = "{$tableName}.{$key}";
|
||||||
}
|
}
|
||||||
@@ -242,6 +248,18 @@ class AdminController extends BaseController
|
|||||||
case '%*':
|
case '%*':
|
||||||
$where[] = [$key, 'LIKE', "%{$val}"];
|
$where[] = [$key, 'LIKE', "%{$val}"];
|
||||||
break;
|
break;
|
||||||
|
case 'min':
|
||||||
|
$where[] = [$key, '>=', $val];
|
||||||
|
break;
|
||||||
|
case 'max':
|
||||||
|
$where[] = [$key, '<=', $val];
|
||||||
|
break;
|
||||||
|
case 'min_date':
|
||||||
|
$where[] = [$key, '>=', strtotime($val)];
|
||||||
|
break;
|
||||||
|
case 'max_date':
|
||||||
|
$where[] = [$key, '<=', strtotime($val)];
|
||||||
|
break;
|
||||||
case 'range':
|
case 'range':
|
||||||
[$beginTime, $endTime] = explode(' - ', $val);
|
[$beginTime, $endTime] = explode(' - ', $val);
|
||||||
$where[] = [$key, '>=', strtotime($beginTime)];
|
$where[] = [$key, '>=', strtotime($beginTime)];
|
||||||
|
|||||||
@@ -2,7 +2,8 @@
|
|||||||
@import url("../../plugs/font-awesome-4.7.0/css/font-awesome.min.css");
|
@import url("../../plugs/font-awesome-4.7.0/css/font-awesome.min.css");
|
||||||
@import url("../css/iconfont.css");
|
@import url("../css/iconfont.css");
|
||||||
|
|
||||||
html, body {
|
html,
|
||||||
|
body {
|
||||||
height : 100%;
|
height : 100%;
|
||||||
background: #f2f2f2;
|
background: #f2f2f2;
|
||||||
}
|
}
|
||||||
@@ -96,7 +97,8 @@ html, body {
|
|||||||
|
|
||||||
/*.layuimini-form>.layui-form-item>.layui-form-label {width:120px !important;}*/
|
/*.layuimini-form>.layui-form-item>.layui-form-label {width:120px !important;}*/
|
||||||
/*.layuimini-form>.layui-form-item>.layui-input-block {margin-left:150px !important;}*/
|
/*.layuimini-form>.layui-form-item>.layui-input-block {margin-left:150px !important;}*/
|
||||||
.layuimini-form > .layui-form-item > .layui-input-block tip, .layuimini-form > .layui-form-item > .layui-inline tip {
|
.layuimini-form>.layui-form-item>.layui-input-block tip,
|
||||||
|
.layuimini-form>.layui-form-item>.layui-inline tip {
|
||||||
display : inline-block;
|
display : inline-block;
|
||||||
margin-top : 10px;
|
margin-top : 10px;
|
||||||
line-height: 15px;
|
line-height: 15px;
|
||||||
@@ -232,7 +234,8 @@ table样式
|
|||||||
border-color: #e6e6e6;
|
border-color: #e6e6e6;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layuimini-container .layui-table-page, .layui-table-total {
|
.layuimini-container .layui-table-page,
|
||||||
|
.layui-table-total {
|
||||||
border-width: 0px 0 0;
|
border-width: 0px 0 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -267,6 +270,7 @@ table样式
|
|||||||
height : 32px;
|
height : 32px;
|
||||||
padding : 2px 8px;
|
padding : 2px 8px;
|
||||||
line-height: 1em;
|
line-height: 1em;
|
||||||
|
font-size : 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.form-search .layui-form-select dl {
|
.form-search .layui-form-select dl {
|
||||||
@@ -611,3 +615,11 @@ table样式
|
|||||||
.search-hide-item {
|
.search-hide-item {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.form-item-time-limit .layui-input-inline {
|
||||||
|
display: flex;
|
||||||
|
width : 274px;
|
||||||
|
}
|
||||||
|
.form-item-number-limit .layui-input-inline {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
@@ -21,7 +21,9 @@ define(["jquery", "easy-admin"], function ($, ea) {
|
|||||||
limit: 50,
|
limit: 50,
|
||||||
cols: [[
|
cols: [[
|
||||||
{ type: 'checkbox' },
|
{ type: 'checkbox' },
|
||||||
{ field: 'id', title: 'id' },
|
{ field: 'id', title: 'id', search: 'number_limit' },
|
||||||
|
{ field: 'id', title: 'id模糊匹配', trueHide: true, fieldAlias: '[id]like' },
|
||||||
|
{ field: 'id', title: '最大id', trueHide: true, fieldAlias: '[id]max', searchOp: 'max' },
|
||||||
{
|
{
|
||||||
field: 'uid', title: 'uid', minWidth: 120,
|
field: 'uid', title: 'uid', minWidth: 120,
|
||||||
},
|
},
|
||||||
@@ -36,11 +38,9 @@ define(["jquery", "easy-admin"], function ($, ea) {
|
|||||||
|
|
||||||
var className = 'log-group log-group-' + (currentUidIndex % 2)
|
var className = 'log-group log-group-' + (currentUidIndex % 2)
|
||||||
return '<div class="' + className + '">' + data.content + '</div>'
|
return '<div class="' + className + '">' + data.content + '</div>'
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ field: 'create_time', title: 'create_time', minWidth: 160 },
|
{ field: 'create_time', title: '记录时间', minWidth: 160, search: 'time_limit' },
|
||||||
{ field: 'app_name', title: 'app_name' },
|
{ field: 'app_name', title: 'app_name' },
|
||||||
{ field: 'controller_name', title: 'controller_name', },
|
{ field: 'controller_name', title: 'controller_name', },
|
||||||
{ field: 'action_name', title: 'action_name' },
|
{ field: 'action_name', title: 'action_name' },
|
||||||
|
|||||||
@@ -288,6 +288,14 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
// 判断是否有操作列表权限
|
// 判断是否有操作列表权限
|
||||||
options.cols = admin.table.renderOperat(options.cols, options.elem);
|
options.cols = admin.table.renderOperat(options.cols, options.elem);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 判断是否有操作列表权限
|
||||||
|
options.cols = admin.table.renderTrueHide(options.cols, options.elem);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 初始化表格
|
// 初始化表格
|
||||||
var newTable = table.render(options);
|
var newTable = table.render(options);
|
||||||
|
|
||||||
@@ -363,6 +371,15 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
d.searchOp = d.searchOp || '%*%';
|
d.searchOp = d.searchOp || '%*%';
|
||||||
d.timeType = d.timeType || 'datetime';
|
d.timeType = d.timeType || 'datetime';
|
||||||
|
|
||||||
|
d.elemIdName = d.fieldAlias;
|
||||||
|
|
||||||
|
if (typeof d.fieldAlias == 'string' && d.fieldAlias.indexOf('[') == 0) {
|
||||||
|
|
||||||
|
var fieldPlusArr = d.fieldAlias.replace('[').split(']');
|
||||||
|
|
||||||
|
d.elemIdName = fieldPlusArr.join('-')
|
||||||
|
}
|
||||||
|
|
||||||
if (d.defaultSearchValue.length > 0) {
|
if (d.defaultSearchValue.length > 0) {
|
||||||
if (d.searchValue.length == 0) {
|
if (d.searchValue.length == 0) {
|
||||||
d.searchValue = d.defaultSearchValue;
|
d.searchValue = d.defaultSearchValue;
|
||||||
@@ -385,7 +402,7 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||||
'<div class="layui-input-inline">\n' +
|
'<div class="layui-input-inline">\n' +
|
||||||
'<input id="c-' + d.fieldAlias + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\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>\n' +
|
||||||
'</div>';
|
'</div>';
|
||||||
break;
|
break;
|
||||||
@@ -403,7 +420,7 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||||
'<div class="layui-input-inline">\n' +
|
'<div class="layui-input-inline">\n' +
|
||||||
'<select class="layui-select" id="c-' + d.fieldAlias + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" >\n' +
|
'<select class="layui-select" id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" >\n' +
|
||||||
'<option value="">- 全部 -</option> \n' +
|
'<option value="">- 全部 -</option> \n' +
|
||||||
selectHtml +
|
selectHtml +
|
||||||
'</select>\n' +
|
'</select>\n' +
|
||||||
@@ -415,7 +432,7 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||||
'<div class="layui-input-inline">\n' +
|
'<div class="layui-input-inline">\n' +
|
||||||
'<input id="c-' + d.fieldAlias + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\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>\n' +
|
||||||
'</div>';
|
'</div>';
|
||||||
break;
|
break;
|
||||||
@@ -424,7 +441,27 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
|
||||||
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
'<label class="layui-form-label">' + d.title + '</label>\n' +
|
||||||
'<div class="layui-input-inline">\n' +
|
'<div class="layui-input-inline">\n' +
|
||||||
'<input id="c-' + d.fieldAlias + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\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="' + d.searchValue + '" placeholder="' + d.searchTip + '最小值" class="layui-input">\n' +
|
||||||
|
'<input id="c-' + d.elemIdName + '-max_date" name="[' + d.fieldAlias + ']max_date" data-search-op="max_date" value="' + d.searchValue + '" placeholder="' + d.searchTip + '最大值" 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="' + d.searchValue + '" placeholder="' + d.searchTip + '最小值" class="layui-input">\n' +
|
||||||
|
'<input id="c-' + d.elemIdName + '-max" name="[' + d.fieldAlias + ']max" data-search-op="max" type="text" value="' + d.searchValue + '" placeholder="' + d.searchTip + '最大值" class="layui-input">\n' +
|
||||||
'</div>\n' +
|
'</div>\n' +
|
||||||
'</div>';
|
'</div>';
|
||||||
break;
|
break;
|
||||||
@@ -456,6 +493,10 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
if (ncV.search === 'time') {
|
if (ncV.search === 'time') {
|
||||||
laydate.render({ type: ncV.timeType, elem: '[name="' + ncV.fieldAlias + '"]' });
|
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"]' });
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -509,9 +550,27 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
data[dk].pop()
|
data[dk].pop()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return data;
|
return data;
|
||||||
},
|
},
|
||||||
|
renderTrueHide(data, elem) {
|
||||||
|
var newData = [];
|
||||||
|
for (dk in data) {
|
||||||
|
var newCol = [];
|
||||||
|
var col = data[dk];
|
||||||
|
|
||||||
|
col.forEach(colItem => {
|
||||||
|
if (!colItem.trueHide) {
|
||||||
|
newCol.push(colItem)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
newData.push(newCol)
|
||||||
|
}
|
||||||
|
|
||||||
|
return newData;
|
||||||
|
},
|
||||||
buildToolbarHtml: function (toolbar, tableId) {
|
buildToolbarHtml: function (toolbar, tableId) {
|
||||||
var html = '';
|
var html = '';
|
||||||
toolbar.class = toolbar.class || '';
|
toolbar.class = toolbar.class || '';
|
||||||
@@ -864,7 +923,16 @@ define(["jquery", "tableSelect", "ckeditor"], function ($, tableSelect, undefine
|
|||||||
$.each(dataField, function (key, val) {
|
$.each(dataField, function (key, val) {
|
||||||
if (val !== '') {
|
if (val !== '') {
|
||||||
formatFilter[key] = val;
|
formatFilter[key] = val;
|
||||||
var op = $('#c-' + key).attr('data-search-op');
|
|
||||||
|
var elemId = key;
|
||||||
|
|
||||||
|
if (key.indexOf('[') == 0) {
|
||||||
|
var keyArr = key.replace('[', '').split(']');
|
||||||
|
|
||||||
|
elemId = keyArr[0] + '-' + keyArr[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
var op = $('#c-' + elemId).attr('data-search-op');
|
||||||
op = op || '%*%';
|
op = op || '%*%';
|
||||||
formatOp[key] = op;
|
formatOp[key] = op;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user