diff --git a/application/common/controller/Backend.php b/application/common/controller/Backend.php
index e38d14d2..ecc526c7 100644
--- a/application/common/controller/Backend.php
+++ b/application/common/controller/Backend.php
@@ -306,6 +306,17 @@ class Backend extends Controller
$arr = array_slice(explode(',', $v), 0, 2);
if (stripos($v, ',') === false || !array_filter($arr))
continue;
+ //当出现一边为空时改变操作符
+ if ($arr[0] === '')
+ {
+ $sym = $sym == 'RANGE' ? '<=' : '>';
+ $arr = $arr[1];
+ }
+ else if ($arr[1] === '')
+ {
+ $sym = $sym == 'RANGE' ? '>=' : '<';
+ $arr = $arr[0];
+ }
$where[] = [$k, str_replace('RANGE', 'BETWEEN', $sym) . ' time', $arr];
break;
case 'LIKE':
diff --git a/public/assets/js/bootstrap-table-commonsearch.js b/public/assets/js/bootstrap-table-commonsearch.js
index 29b35333..80117790 100644
--- a/public/assets/js/bootstrap-table-commonsearch.js
+++ b/public/assets/js/bootstrap-table-commonsearch.js
@@ -122,7 +122,7 @@
htmlForm.push(sprintf('', vObjCol.field, vObjCol.title));
htmlForm.push('
');
- vObjCol.operate = (typeof vObjCol.operate === 'undefined' || $.inArray(vObjCol.operate, opList) === -1) ? '=' : vObjCol.operate;
+ vObjCol.operate = (typeof vObjCol.operate === 'undefined' || $.inArray(vObjCol.operate.toUpperCase(), opList) === -1) ? '=' : vObjCol.operate.toUpperCase();
htmlForm.push(sprintf('
', vObjCol.field, vObjCol.field, vObjCol.operate));
var style = typeof vObjCol.style === 'undefined' ? '' : sprintf('style="%s"', vObjCol.style);
@@ -169,11 +169,11 @@
var data = typeof vObjCol.data === 'undefined' ? '' : vObjCol.data;
var defaultValue = typeof vObjCol.defaultValue === 'undefined' ? '' : vObjCol.defaultValue;
if (/BETWEEN$/.test(vObjCol.operate)) {
- var defaultValueArr = /^.+|.+$/.test(defaultValue) ? defaultValue.split('|') : ['', ''];
- var placeholderArr = /^.+|.+$/.test(placeholder) ? placeholder.split('|') : [placeholder, placeholder];
+ var defaultValueArr = defaultValue.toString().match(/\|/) ? defaultValue.split('|') : ['', ''];
+ var placeholderArr = placeholder.toString().match(/\|/) ? placeholder.split('|') : [placeholder, placeholder];
htmlForm.push('
');
- htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValueArr[0], placeholderArr[0], vObjCol.field, i, style, data));
- htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValueArr[1], placeholderArr[1], vObjCol.field, i, style, data));
+ htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValueArr[0], placeholderArr[0], vObjCol.field, i, style, data));
+ htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValueArr[1], placeholderArr[1], vObjCol.field, i, style, data));
htmlForm.push('
');
} else {
htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValue, placeholder, vObjCol.field, i, style, data));
@@ -221,7 +221,7 @@
var value = '';
$("form.form-commonsearch input.operate", that.$commonsearch).each(function (i) {
var name = $(this).data("name");
- var sym = $(this).val();
+ var sym = $(this).val().toUpperCase();
var obj = $("[name='" + name + "']", that.$commonsearch);
if (obj.size() == 0)
return true;
@@ -238,6 +238,10 @@
} else {
value = '';
}
+ //如果是时间筛选,将operate置为RANGE
+ if ($("[name='" + name + "']:first", that.$commonsearch).hasClass("datetimepicker")) {
+ sym = 'RANGE';
+ }
} else {
value = $("[name='" + name + "']:checked", that.$commonsearch).val();
}
diff --git a/public/assets/js/require-backend.min.js b/public/assets/js/require-backend.min.js
index 66c332ab..ae8d2a10 100644
--- a/public/assets/js/require-backend.min.js
+++ b/public/assets/js/require-backend.min.js
@@ -9030,7 +9030,7 @@ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)
htmlForm.push(sprintf('
', vObjCol.field, vObjCol.title));
htmlForm.push('
');
- vObjCol.operate = (typeof vObjCol.operate === 'undefined' || $.inArray(vObjCol.operate, opList) === -1) ? '=' : vObjCol.operate;
+ vObjCol.operate = (typeof vObjCol.operate === 'undefined' || $.inArray(vObjCol.operate.toUpperCase(), opList) === -1) ? '=' : vObjCol.operate.toUpperCase();
htmlForm.push(sprintf('
', vObjCol.field, vObjCol.field, vObjCol.operate));
var style = typeof vObjCol.style === 'undefined' ? '' : sprintf('style="%s"', vObjCol.style);
@@ -9077,10 +9077,11 @@ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)
var data = typeof vObjCol.data === 'undefined' ? '' : vObjCol.data;
var defaultValue = typeof vObjCol.defaultValue === 'undefined' ? '' : vObjCol.defaultValue;
if (/BETWEEN$/.test(vObjCol.operate)) {
- var defaultValueArr = /^.+|.+$/.test(defaultValue) ? defaultValue.split('|') : ['', ''];
+ var defaultValueArr = defaultValue.toString().match(/\|/) ? defaultValue.split('|') : ['', ''];
+ var placeholderArr = placeholder.toString().match(/\|/) ? placeholder.split('|') : [placeholder, placeholder];
htmlForm.push('
');
- htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValueArr[0], placeholder, vObjCol.field, i, style, data));
- htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValueArr[1], placeholder, vObjCol.field, i, style, data));
+ htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValueArr[0], placeholderArr[0], vObjCol.field, i, style, data));
+ htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValueArr[1], placeholderArr[1], vObjCol.field, i, style, data));
htmlForm.push('
');
} else {
htmlForm.push(sprintf('
', type, addclass, vObjCol.field, defaultValue, placeholder, vObjCol.field, i, style, data));
@@ -9128,7 +9129,7 @@ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)
var value = '';
$("form.form-commonsearch input.operate", that.$commonsearch).each(function (i) {
var name = $(this).data("name");
- var sym = $(this).val();
+ var sym = $(this).val().toUpperCase();
var obj = $("[name='" + name + "']", that.$commonsearch);
if (obj.size() == 0)
return true;
@@ -9145,6 +9146,10 @@ return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)
} else {
value = '';
}
+ //如果是时间筛选,将operate置为RANGE
+ if ($("[name='" + name + "']:first", that.$commonsearch).hasClass("datetimepicker")) {
+ sym = 'RANGE';
+ }
} else {
value = $("[name='" + name + "']:checked", that.$commonsearch).val();
}