Accept Merge Request #85: (feature/dgg -> develop)

Merge Request: feat: 【后端API】小程序仅显示自动派单的订单;后台跟进列表增加当前进度相关字段

Created By: @大狗哥
Accepted By: @大狗哥
URL: https://g-bcrc3009.coding.net/p/allocatr/d/allocatr/git/merge/85
This commit is contained in:
大狗哥 2025-05-30 14:04:33 +08:00 committed by Coding
commit 5b5068d720
4 changed files with 56 additions and 0 deletions

View File

@ -26,6 +26,7 @@ class OrderDispatchService extends BaseService
)->field('id,order_no,item_id,item_title,receive_type,address,lng,lat,plan_time,online_amount,discount_amount,area_id,status,coupon_id');
}])
->where('status', OrderDispatch::STATUS_TOGET)
->where('type', '<>', 1)
->where('worker_id', $workerId)
->field(['id', 'order_id', 'status', 'remark', 'create_time'])
->order('id desc')
@ -88,6 +89,7 @@ class OrderDispatchService extends BaseService
}
])->field('id,order_no,item_id,item_title,receive_type,address,lng,lat,plan_time,online_amount,discount_amount,area_id,customer,tel,status,coupon_id');
}])
->where('type', '<>', 1)
->where('worker_id', $workerId);
switch ($type) {
@ -245,6 +247,9 @@ class OrderDispatchService extends BaseService
'image',
'finish_time',
'offline_total_type',
'is_finish_today',
'estimated_finish_time',
'work_progress',
];
$res = $this->getOrderDispatchModel()
->with(['orderInfo' => function ($query) use ($orderFields) {
@ -431,6 +436,21 @@ class OrderDispatchService extends BaseService
return true;
}
public function updateProgress(int $workerId, array $params)
{
$orderDispatch = $this->getOrderDispatchInfo($workerId, $params['order_dispatch_id']);
$orderDispatch->is_finish_today = $params['is_finish_today'];
$orderDispatch->estimated_finish_time = $params['estimated_finish_time'];
if ($params['is_finish_today'] == 0) {
$orderDispatch->work_progress = $params['work_progress'];
}
$orderDispatch->save();
return true;
}
}

View File

@ -94,6 +94,22 @@ class OrderDispatch extends WorkerApi
$this->success('操作成功', $res);
}
/**
* 更新施工进度
* @return void
*/
public function updateProgress()
{
$params = $this->request->request();
$validate = $this->validate($params, \app\worker\validate\OrderDispatch::class . '.updateProgress');
if ($validate !== true) {
$this->error($validate);
}
$res = $this->getOrderDispatchService()->updateProgress($this->user['id'], $params);
$this->success('操作成功', $res);
}
/**
* 修改上门时间
* @return void

View File

@ -23,6 +23,10 @@ class OrderDispatch extends Validate
'reject_reason|拒接原因' => 'max:100',
'worker_remark|备注信息' => 'max:500',
'is_finish_today|今日完成' => 'require|in:0,1',
'estimated_finish_time|完成时间' => 'require|date',
'work_progress|当前施工进度' => 'max:200',
];
protected $message = [
@ -37,5 +41,6 @@ class OrderDispatch extends Validate
'arrivedOnSite' => ['order_dispatch_id', 'images'],
'completeService' => ['order_dispatch_id', 'complete_images', 'offline_total_type', 'amount', 'payment_image', 'offline_total_type'],
'saveWorkerRemark' => ['order_dispatch_id', 'worker_remark'],
'updateProgress' => ['order_dispatch_id', 'is_finish_today', 'estimated_finish_time', 'work_progress'],
];
}

View File

@ -109,6 +109,21 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','layer'], function ($,
// {field: 'is_notice', title: __('Is_notice'), searchList: {"0":__('Is_notice 0'),"1":__('Is_notice 1')}, formatter: Table.api.formatter.normal},
// {field: 'admin_id', title: __('Admin_id')},
{
field: 'is_finish_today',
title: '今日完成',
searchList: {
'0':'不能',
"1": '能',
},
formatter: Table.api.formatter.label,
custom: {
'0': 'warning',
'1': 'success',
},
},
{field: 'estimated_finish_time', title: __('师傅预估完成时间'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'work_progress', title: __('当前施工进度'), operate: false, table: table, class: 'autocontent', formatter: Table.api.formatter.content},
{field: 'admin_user', title: __('Admin_user'), operate: 'LIKE'},
{field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
{field: 'update_time', title: __('Update_time'), operate:false, addclass:'datetimerange', autocomplete:false},