派单重复问题

This commit is contained in:
todaywindy 2025-07-03 14:18:27 +08:00
parent ddffc0d33c
commit d9f1cc24e4
3 changed files with 19 additions and 8 deletions

View File

@ -116,6 +116,7 @@ class Dispatch extends Backend
return $this->view->fetch(); return $this->view->fetch();
} }
// dd(1);
$params = $this->request->post('row/a'); $params = $this->request->post('row/a');
// $this->success(); // $this->success();
if (empty($params)) { if (empty($params)) {
@ -149,7 +150,6 @@ class Dispatch extends Backend
if(!empty($existDispatch)){ if(!empty($existDispatch)){
$this->error('该订单已经派单,不可重复操作'); $this->error('该订单已经派单,不可重复操作');
} }
sleep(2);
$insert = [ $insert = [
'admin_id' => $this->auth->id, 'admin_id' => $this->auth->id,
@ -202,6 +202,7 @@ class Dispatch extends Backend
Db::rollback(); Db::rollback();
$this->error($e->getMessage()); $this->error($e->getMessage());
} }
sleep(2);
if ($result === false) { if ($result === false) {
$this->error(__('No rows were inserted')); $this->error(__('No rows were inserted'));
} }

View File

@ -403,8 +403,6 @@ WHERE distance < 50000
ORDER BY distance;",[$order->lng,$order->lat]); ORDER BY distance;",[$order->lng,$order->lat]);
$worker_ids = array_column($worker_distance,'id'); $worker_ids = array_column($worker_distance,'id');
$ids = $this->getParentIdsFromArray($order->item_id,$this->items); $ids = $this->getParentIdsFromArray($order->item_id,$this->items);
$ids [] = $order->item_id; $ids [] = $order->item_id;
$worker_items_ids = (new WorkerItem()) $worker_items_ids = (new WorkerItem())

View File

@ -196,20 +196,24 @@
} }
function assignOrder(worker_id) { function assignOrder(worker_id) {
// 可发起请求
const params = new URLSearchParams(window.location.search); const params = new URLSearchParams(window.location.search);
const order_id = params.get('order_id'); const order_id = params.get('order_id');
const loadingIndex = layer.load(1, {shade: [0.1, '#fff']}); // 显示 loading
$.ajax({ $.ajax({
url: '/admin/orders/dispatch/add', url: '/admin/orders/dispatch/add',
method: 'POST', method: 'POST',
contentType: 'application/json', contentType: 'application/json',
data: JSON.stringify({ worker_id,order_id }), data: JSON.stringify({ worker_id, order_id }),
success: function (res) { success: function (res) {
layer.close(loadingIndex); // 关闭 loading
Toastr.info('派单成功'); Toastr.info('派单成功');
close() close();
}, },
error: function () { error: function () {
Toastr.info('派单失败,请重试。'); layer.close(loadingIndex); // 关闭 loading
Toastr.error('派单失败,请重试。');
} }
}); });
} }
@ -247,7 +251,15 @@
// 委托方式绑定事件:监听 .assign-btn 点击 // 委托方式绑定事件:监听 .assign-btn 点击
$(document).on('click', '.assign-btn', function () { $(document).on('click', '.assign-btn', function () {
const worker_id = $(this).data('id'); const worker_id = $(this).data('id');
assignOrder(worker_id); const worker_name = $(this).data('name');
layer.confirm(
'确定要将订单派给 "' + worker_name + '" 吗?',
{icon: 3, title: '确认派单'},
function (index) {
assignOrder(worker_id);
}
);
}); });
// 事件委托,绑定点击工人卡片的事件 // 事件委托,绑定点击工人卡片的事件
$(document).on('click', '.worker-card', function (e) { $(document).on('click', '.worker-card', function (e) {