mirror of https://gitee.com/karson/fastadmin.git
Merge pull request !7 from PPPSCN/master
commit
d8ac6b96ea
|
|
@ -25,7 +25,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
|
|||
{field: 'state', checkbox: true},
|
||||
{field: 'id', title: __('Id'), operate: false},
|
||||
{field: 'category_id', title: __('Category_id'), operate: '='},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE %...%', placeholder: '标题,模糊搜索', style: 'width:200px'},
|
||||
{field: 'title', title: __('Title'), operate: 'LIKE %...%', placeholder: '标题,模糊搜索,*表示任意字符', style: 'width:200px',
|
||||
process: function (value, arg) {
|
||||
return value.replace(/\*/g, '%'); //仅演示用法
|
||||
}
|
||||
},
|
||||
{field: 'keywords', title: __('Keywords'), operate: 'LIKE %...%', placeholder: '关键字,模糊搜索'},
|
||||
{field: 'flag', title: __('Flag'), formatter: Table.api.formatter.flag, operate: false},
|
||||
{field: 'image', title: __('Image'), formatter: Table.api.formatter.image, operate: false},
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
!function ($) {
|
||||
'use strict';
|
||||
|
||||
var firstLoad = false;
|
||||
var firstLoad = false, ColumnsForSearch = [];
|
||||
|
||||
var sprintf = $.fn.bootstrapTable.utils.sprintf;
|
||||
|
||||
|
|
@ -81,8 +81,9 @@
|
|||
htmlForm.push(sprintf("<legend>%s</legend>", that.options.titleForm));
|
||||
for (var i in pColumns) {
|
||||
var vObjCol = pColumns[i];
|
||||
if (!vObjCol.checkbox && vObjCol.field !== 'operate' && vObjCol.visible && vObjCol.searchable && vObjCol.operate !== false) {
|
||||
htmlForm.push('<div class="form-group" style="margin:0 5px;">');
|
||||
if (!vObjCol.checkbox && vObjCol.field !== 'operate' && vObjCol.searchable && vObjCol.operate !== false) {
|
||||
ColumnsForSearch.push(vObjCol);
|
||||
htmlForm.push('<div class="form-group" style="margin:5px">');
|
||||
htmlForm.push(sprintf('<label for="%s" class="control-label" style="padding:0 10px">%s</label>', vObjCol.field, vObjCol.title));
|
||||
if (that.options.sidePagination == 'server' && that.options.url) {
|
||||
//htmlForm.push('<div class="col-sm-2">');
|
||||
|
|
@ -123,9 +124,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
htmlForm.push('<div class="form-group" style="margin:0 5px;">');
|
||||
htmlForm.push(createFormBtn(that).join(''));
|
||||
htmlForm.push('</div>');
|
||||
htmlForm.push('</fieldset>');
|
||||
htmlForm.push('</form>');
|
||||
|
||||
|
|
@ -137,7 +136,7 @@
|
|||
var searchSubmit = that.options.formatCommonSubmitButton();
|
||||
var searchReset = that.options.formatCommonResetButton();
|
||||
var searchClose = that.options.formatCommonCloseButton();
|
||||
htmlBtn.push('<div class="form-group">');
|
||||
htmlBtn.push('<div class="form-group" style="margin:5px">');
|
||||
htmlBtn.push('<div class="col-sm-12 text-center">');
|
||||
if (that.options.sidePagination == 'server' && that.options.url) {
|
||||
htmlBtn.push(sprintf('<button type="button" id="btnSubmitCommon%s" class="btn btn-success" >%s</button> ', "_" + that.options.idTable, searchSubmit));
|
||||
|
|
@ -264,34 +263,36 @@
|
|||
if (typeof event === 'undefined') {
|
||||
var op = {};
|
||||
var filter = {};
|
||||
$("#commonSearchModalContent_" + this.options.idTable + " input.operate").each(function () {
|
||||
$("#commonSearchModalContent_" + this.options.idTable + " input.operate").each(function (i) {
|
||||
var name = $(this).data("name");
|
||||
var sym = $(this).val();
|
||||
var obj = $("[name='" + name + "']");
|
||||
if (obj.size() == 0)
|
||||
return true;
|
||||
var vObjCol = ColumnsForSearch[i];
|
||||
if (obj.size() > 1) {
|
||||
if (/BETWEEN$/.test(sym)) {
|
||||
var value_begin = $.trim($("[name='" + name + "']:first").val()), value_end = $.trim($("[name='" + name + "']:last").val());
|
||||
if (!value_begin.length || !value_end.length) {
|
||||
return true;
|
||||
}
|
||||
//datetime类型字段转换成时间戳
|
||||
if ($("[name='" + name + "']:first").attr('type') === 'datetime') {
|
||||
var datetimestamp = Date.parse(value_begin).toString();
|
||||
value_begin = datetimestamp.substr(0, datetimestamp.length - 3) - 28800; //TODO:Date.parse导致的时区差
|
||||
|
||||
datetimestamp = Date.parse(value_end).toString();
|
||||
value_end = datetimestamp.substr(0, datetimestamp.length - 3) - 28800; //TODO:Date.parse导致的时区差
|
||||
if (typeof vObjCol.process === 'function') {
|
||||
value_begin = vObjCol.process(value_begin, 'begin');
|
||||
value_end = vObjCol.process(value_end, 'end');
|
||||
} else if ($("[name='" + name + "']:first").attr('type') === 'datetime') { //datetime类型字段转换成时间戳
|
||||
value_begin = strtotime(value_begin);
|
||||
value_end = strtotime(value_end);
|
||||
if (value_begin === value_end && '00:00:00' === date('H:i:s', value_begin)) {
|
||||
value_end += 86399;
|
||||
}
|
||||
}
|
||||
var value = value_begin + ',' + value_end;
|
||||
} else {
|
||||
var value = $("[name='" + name + "']:checked").val();
|
||||
}
|
||||
} else {
|
||||
var value = obj.val();
|
||||
var value = (typeof vObjCol.process === 'function') ? vObjCol.process(obj.val()) : obj.val();
|
||||
}
|
||||
|
||||
if (value == '' && sym.indexOf("NULL") == -1) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -332,4 +333,52 @@
|
|||
this.trigger('column-common-search', $field, text);
|
||||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* 模仿PHP的strtotime()函数
|
||||
* strtotime('2017-05-20 13:14:00') OR strtotime('2017-05-20')
|
||||
* @return 时间戳
|
||||
*/
|
||||
var strtotime = function (str) {
|
||||
var _arr = str.split(' ');
|
||||
var _day = _arr[0].split('-');
|
||||
_arr[1] = (_arr[1] == null) ? '0:0:0' : _arr[1];
|
||||
var _time = _arr[1].split(':');
|
||||
for (var i = _day.length - 1; i >= 0; i--) {
|
||||
_day[i] = isNaN(parseInt(_day[i])) ? 0 : parseInt(_day[i]);
|
||||
}
|
||||
for (var i = _time.length - 1; i >= 0; i--) {
|
||||
_time[i] = isNaN(parseInt(_time[i])) ? 0 : parseInt(_time[i]);
|
||||
}
|
||||
var _temp = new Date(_day[0], _day[1] - 1, _day[2], _time[0], _time[1], _time[2]);
|
||||
return _temp.getTime() / 1000;
|
||||
};
|
||||
/**
|
||||
* 模仿PHP的date()函数
|
||||
* strtotime('Y-m-d H:i:s');
|
||||
* @param format 只支持 'Y-m-d H:i:s','Y-m-d','H:i:s' 三种调用方式
|
||||
* @param time 为空时,取当前时间
|
||||
* @return 日期格式化的字符串
|
||||
*/
|
||||
var date = function (format, time) {
|
||||
var _temp = (time != null) ? new Date(time * 1000) : new Date();
|
||||
var _return = '';
|
||||
|
||||
if (/Y-m-d/.test(format)) {
|
||||
var _day = [_temp.getFullYear(), addzero(1 + _temp.getMonth()), addzero(_temp.getDate())];
|
||||
_return = _day.join('-');
|
||||
}
|
||||
if (/H:i:s/.test(format)) {
|
||||
var _time = [addzero(_temp.getHours()), addzero(_temp.getMinutes()), addzero(_temp.getSeconds())];
|
||||
_return += ' ' + _time.join(':');
|
||||
}
|
||||
return _return.replace(/^\s+|\s+$/gm, '');
|
||||
function addzero(i) {
|
||||
if (i <= 9) {
|
||||
return '0' + i;
|
||||
} else {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
};
|
||||
}(jQuery);
|
||||
|
|
|
|||
Loading…
Reference in New Issue