From e21d9d615c55776a6b3fd6fab3abb422080772ed Mon Sep 17 00:00:00 2001 From: hant Date: Tue, 17 Jun 2025 23:07:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9C=B0=E5=8C=BA=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/admin/controller/Order.php | 4 ++++ .../admin/controller/orders/Dispatch2.php | 15 ++---------- .../admin/controller/statistics/Worker.php | 18 +++------------ application/admin/view/order/index.html | 10 ++------ .../admin/view/orders/dispatch2/index.html | 10 ++------ .../admin/view/orders/revisitorder/index.html | 10 ++------ .../admin/view/statistics/worker/index.html | 10 ++------ public/assets/js/backend/order.js | 8 +++++-- public/assets/js/backend/orders/dispatch2.js | 8 +++++-- .../assets/js/backend/orders/revisitorder.js | 6 ++++- public/assets/js/backend/statistics/worker.js | 23 +++++++++---------- 11 files changed, 45 insertions(+), 77 deletions(-) diff --git a/application/admin/controller/Order.php b/application/admin/controller/Order.php index e4a430b..906ced8 100644 --- a/application/admin/controller/Order.php +++ b/application/admin/controller/Order.php @@ -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) diff --git a/application/admin/controller/orders/Dispatch2.php b/application/admin/controller/orders/Dispatch2.php index 8c7ed1d..752140a 100644 --- a/application/admin/controller/orders/Dispatch2.php +++ b/application/admin/controller/orders/Dispatch2.php @@ -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); diff --git a/application/admin/controller/statistics/Worker.php b/application/admin/controller/statistics/Worker.php index c7b839c..9af1dc2 100644 --- a/application/admin/controller/statistics/Worker.php +++ b/application/admin/controller/statistics/Worker.php @@ -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); diff --git a/application/admin/view/order/index.html b/application/admin/view/order/index.html index 7b56e16..45219b3 100644 --- a/application/admin/view/order/index.html +++ b/application/admin/view/order/index.html @@ -130,14 +130,8 @@ diff --git a/application/admin/view/orders/dispatch2/index.html b/application/admin/view/orders/dispatch2/index.html index f0c4dfd..8f8fed9 100644 --- a/application/admin/view/orders/dispatch2/index.html +++ b/application/admin/view/orders/dispatch2/index.html @@ -59,14 +59,8 @@ diff --git a/application/admin/view/orders/revisitorder/index.html b/application/admin/view/orders/revisitorder/index.html index 3039f1d..4756962 100644 --- a/application/admin/view/orders/revisitorder/index.html +++ b/application/admin/view/orders/revisitorder/index.html @@ -49,14 +49,8 @@ diff --git a/application/admin/view/statistics/worker/index.html b/application/admin/view/statistics/worker/index.html index c5cb644..3127fe8 100644 --- a/application/admin/view/statistics/worker/index.html +++ b/application/admin/view/statistics/worker/index.html @@ -345,14 +345,8 @@ diff --git a/public/assets/js/backend/order.js b/public/assets/js/backend/order.js index 9286b0d..cabd9a2 100644 --- a/public/assets/js/backend/order.js +++ b/public/assets/js/backend/order.js @@ -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(); }, diff --git a/public/assets/js/backend/orders/dispatch2.js b/public/assets/js/backend/orders/dispatch2.js index e31d331..66ce7cc 100644 --- a/public/assets/js/backend/orders/dispatch2.js +++ b/public/assets/js/backend/orders/dispatch2.js @@ -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 () { diff --git a/public/assets/js/backend/orders/revisitorder.js b/public/assets/js/backend/orders/revisitorder.js index ffaa599..8a5fe8d 100644 --- a/public/assets/js/backend/orders/revisitorder.js +++ b/public/assets/js/backend/orders/revisitorder.js @@ -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, diff --git a/public/assets/js/backend/statistics/worker.js b/public/assets/js/backend/statistics/worker.js index ba66347..627b0b0 100644 --- a/public/assets/js/backend/statistics/worker.js +++ b/public/assets/js/backend/statistics/worker.js @@ -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 () {