三级筛选

This commit is contained in:
xman 2025-06-16 17:44:03 +08:00
parent 0718b4626c
commit e3bab20f7b
6 changed files with 84 additions and 0 deletions

View File

@ -790,7 +790,30 @@ class Order extends Backend
}
$this->request->get([config('paginate.var_page') => $page]);
$filter = (array)json_decode($filter, true);
$province_id = $filter['province_id']??null;
$city_id = $filter['city_id']??null;
$area_id = $filter['city_id']??null;
unset($filter['city_id']);
unset($filter['province_id']);
unset($filter['area_id']);
if(!empty($area_id)){
$filter['area_id'] = $area_id;
}else{
if(!empty($city_id)){
$filter['area_id'] = $city_id;
}else{
if(!empty($province_id)){
$filter['area_id'] = $province_id;
}
}
}
$op = (array)json_decode($op, true);
$op['area_id'] = 'LIKE%';
$filter = $filter ? $filter : [];
$where = [];
$alias = [];
@ -855,6 +878,15 @@ class Order extends Backend
case 'NOT LIKE %...%':
$where[] = [$k, trim(str_replace('%...%', '', $sym)), "%{$v}%"];
break;
// ✅ 新增右匹配like%
case 'LIKE%':
$where[] = [$k, 'LIKE', "{$v}%"];
break;
// ✅ 新增:左匹配(%like
case '%LIKE':
$where[] = [$k, 'LIKE', "%{$v}"];
break;
case '>':
case '>=':
case '<':

View File

@ -259,6 +259,15 @@ class Revisitorder extends Backend
case 'NOT LIKE %...%':
$where[] = [$k, trim(str_replace('%...%', '', $sym)), "%{$v}%"];
break;
// ✅ 新增右匹配like%
case 'LIKE%':
$where[] = [$k, 'LIKE', "{$v}%"];
break;
// ✅ 新增:左匹配(%like
case '%LIKE':
$where[] = [$k, 'LIKE', "%{$v}"];
break;
case '>':
case '>=':
case '<':

View File

@ -440,6 +440,15 @@ class Worker extends Backend
case 'NOT LIKE %...%':
$where[] = [$k, trim(str_replace('%...%', '', $sym)), "%{$v}%"];
break;
// ✅ 新增右匹配like%
case 'LIKE%':
$where[] = [$k, 'LIKE', "{$v}%"];
break;
// ✅ 新增:左匹配(%like
case '%LIKE':
$where[] = [$k, 'LIKE', "%{$v}"];
break;
case '>':
case '>=':
case '<':

View File

@ -124,3 +124,20 @@
}
</style>
<script id="categorytpl" type="text/html">
<div class="row">
<div class="col-xs-12">
<div class="form-inline" data-toggle="cxselect" data-selects="province,city,area">
<select style="width: 25%;" class="province form-control" name="province_id" data-url="ajax/area"></select>
<select style="width: 30%;" class="city form-control" name="city_id" data-url="ajax/area" data-query-name="province"></select>
<select style="width:auto" class="area form-control" name="area_id" data-url="ajax/area" data-query-name="city"></select>
<input type="hidden" class="operate" data-name="province_id" value="LIKE%" />
<input type="hidden" class="operate" data-name="city_id" value="LIKE%" />
<input type="hidden" class="operate" data-name="area_id" value="LIKE%" />
</div>
</div>
</div>
</script>

View File

@ -361,6 +361,15 @@ class Backend extends Controller
case 'NOT LIKE %...%':
$where[] = [$k, trim(str_replace('%...%', '', $sym)), "%{$v}%"];
break;
// ✅ 新增右匹配like%
case 'LIKE%':
$where[] = [$k, 'LIKE', "{$v}%"];
break;
// ✅ 新增:左匹配(%like
case '%LIKE':
$where[] = [$k, 'LIKE', "%{$v}"];
break;
case '>':
case '>=':
case '<':

View File

@ -183,6 +183,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'cascader'], function
addclass: 'datetimerange',
autocomplete: false
},
{field: 'area', title: __('地区'), searchList: function (column) {
return Template('categorytpl', {});
}, formatter: function (value, row, index) {
return '无';
}, visible: false
},
{
field: 'operate',
title: __('Operate'),