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(); }