地区搜索

This commit is contained in:
hant 2025-06-17 23:07:17 +08:00
parent 3d46ec1ee0
commit e21d9d615c
11 changed files with 45 additions and 77 deletions

View File

@ -156,12 +156,16 @@ class Order extends Backend
->where($where);
$filter = (array)json_decode(input()['filter'] ?? '', true);
$admin_filter = $filter['user.nickname'] ?? false;
$area_id = $filter['area_id'] ?? false;
$is_timeout = $filter['is_timeout'] ?? null;
// dd($create_time,$filter);
if ($admin_filter) {
$admin_ids = Admin::where('nickname', 'like', '%' . $admin_filter . '%')->column('id');
$build->whereIn('admin_id', $admin_ids);
}
if ($area_id) {
$build->where('area_id', 'like', $this->getSelectAreaCode($area_id) . '%');
}
if (!is_null($is_timeout)) {
if ($is_timeout == 1){
$build->where('status', '>=', \app\admin\model\Order::STATUS_DISPATCHING)

View File

@ -527,23 +527,12 @@ class Dispatch2 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;
$area_id = $filter['area_id']??null;
unset($filter['city_id']);
unset($filter['province_id']);
unset($filter['area_id']);
if(!empty($area_id)){
$filter['orderb.area_id'] = $area_id;
}else{
if(!empty($city_id)){
$filter['orderb.area_id'] = $city_id;
}else{
if(!empty($province_id)){
$filter['orderb.area_id'] = $province_id;
}
}
$filter['orderb.area_id'] = $this->getSelectAreaCode($area_id);
}
$op = (array)json_decode($op, true);

View File

@ -356,23 +356,11 @@ class Worker extends Backend
$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']);
$area_id = $filter['area_id']??null;
// dd($area_id);
unset($filter['area_id']);
if(!empty($area_id)){
$filter['fa_worker.area_id'] = $area_id;
}else{
if(!empty($city_id)){
$filter['fa_worker.area_id'] = $city_id;
}else{
if(!empty($province_id)){
$filter['fa_worker.area_id'] = $province_id;
}
}
$filter['fa_worker.area_id'] = $this->getSelectAreaCode($area_id);
}
$op = (array)json_decode($op, true);

View File

@ -130,14 +130,8 @@
<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>
<input id="select_city" class="form-control" data-toggle="city-picker" type="text" />
<input id="select_area_id" type="hidden" class="operate" name="area_id" value="LIKE%" />
</div>
</div>
</script>

View File

@ -59,14 +59,8 @@
<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>
<input id="select_city" class="form-control" data-toggle="city-picker" type="text" />
<input id="select_area_id" type="hidden" class="operate" name="area_id" />
</div>
</div>
</script>

View File

@ -49,14 +49,8 @@
<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>
<input id="select_city" class="form-control" data-toggle="city-picker" type="text" />
<input id="select_area_id" type="hidden" class="operate" name="area_id" value="LIKE%" />
</div>
</div>
</script>

View File

@ -345,14 +345,8 @@
<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>
<input id="select_city" class="form-control" data-toggle="city-picker" type="text" />
<input id="select_area_id" type="hidden" class="operate" name="area_id" />
</div>
</div>
</script>

View File

@ -211,7 +211,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'cascader'], function
autocomplete: false
},
{field: 'area', title: __('地区'), searchList: function (column) {
{field: 'area_id', title: __('地区'), searchList: function (column) {
return Template('categorytpl', {});
}, formatter: function (value, row, index) {
return '无';
@ -456,7 +456,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'cascader'], function
['mousemove', 'keydown', 'click', 'scroll'].forEach(function (event) {
document.addEventListener(event, resetIdleTimer, false);
});
$("#select_city").on("cp:updated", function () {
var citypicker = $(this).data("citypicker");
var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
$("#select_area_id").val(code);
});
resetIdleTimer();
},

View File

@ -156,7 +156,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','layer'], function ($,
{field: 'finish_time', title: __('Finish_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'area', title: __('地区'), searchList: function (column) {
{field: 'area_id', title: __('地区'), searchList: function (column) {
return Template('categorytpl', {});
}, formatter: function (value, row, index) {
return '无';
@ -332,7 +332,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','layer'], function ($,
// 为表格绑定事件
Table.api.bindevent(table);
$("#select_city").on("cp:updated", function () {
var citypicker = $(this).data("citypicker");
var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
$("#select_area_id").val(code);
});
// 获取选中项
$(document).on("click", ".btn-cancel-selected", function () {

View File

@ -16,7 +16,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
});
var table = $("#table");
$("#select_city").on("cp:updated", function () {
var citypicker = $(this).data("citypicker");
var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
$("#select_area_id").val(code);
});
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,

View File

@ -32,7 +32,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
{field: 'id', title: __('ID'),visible:true},
{field: 'name', title: __('姓名'),operate: "like"},
{field: 'tel', title: __('电话'),operate: "like"},
{field: 'area2.name', title: __('城市'),operate: false},
{field: 'area2.merge_name', title: __('城市'),operate: false},
{field: 'star', title: __('评分'),operate: false},
{field: 'performance', title: __('总业绩(¥)'), operate: false},
{field: 'get_count', title: __('接单数'),operate: false,sortable:true},
@ -69,12 +69,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
operate: "RANGE",
datetimeFormat: "YYYY-MM-DD",
//defaultValue:today()+' - '+today(),
data:'autocomplete="off" data-local={"format":"YYYY-MM-DD"}',
visible:false,
defaultValue: Config.default_daterange
data:'autocomplete="off" data-locale={"format":"YYYY-MM-DD"}',
visible:false
},
{field: 'area', title: __('地区'), searchList: function (column) {
{field: 'area_id', title: __('地区'), searchList: function (column) {
return Template('categorytpl', {});
}, formatter: function (value, row, index) {
return '无';
@ -105,18 +104,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
});
// 为表格2绑定事件
Table.api.bindevent(table2);
$("#select_city").on("cp:updated", function () {
console.log(123);
var citypicker = $(this).data("citypicker");
var code = citypicker.getCode("district") || citypicker.getCode("city") || citypicker.getCode("province");
$("#select_area_id").val(code);
});
}
});
// 触发 tab 后发起 ajax 获取图表数据
$('ul.nav-tabs li.active a[data-toggle="tab"]').on("shown.bs.tab", function () {
getChartData();
});
function getChartData(){
return;
// 获取单选框选中的值
@ -189,9 +191,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
});
}
var form = $("#chart-filter");
var ranges = {};
ranges[__('Today')] = [Moment().startOf('day'), Moment().endOf('day')];
@ -231,13 +230,13 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts', 'echarts-t
$(this).daterangepicker($.extend({}, options), callback);
});
});
// 手动触发一次激活 tab 的 shown.bs.tab
getChartData();
// 绑定查询按钮的点击事件
$('#filter-btn').on('click', function() {
getChartData();
});
},
add: function () {