作者 ZhengBing He

order + status

... ... @@ -25,7 +25,7 @@ class AsideTicketController extends BaseController
public function index(AsideTicketListRequest $request)
{
$validated = $request->validated();
$lists = Tickets::with([
$query = Tickets::with([
'logs.engineer',
'project.pm',
'project.projectV6',
... ... @@ -66,9 +66,15 @@ class AsideTicketController extends BaseController
->orWhere('company_name', 'like', '%' . $search . '%');
});
});
})
->orderBy('id', 'desc')
->paginate($this->row, ['*'], 'page', $this->page);
});
// 添加排序功能
$sortField = $request->input('sort_field', 'plan_end_at');
$sortOrder = strtolower($request->input('sort_order', 'asc'));
$query->orderBy($sortField, $sortOrder);
// 添加次要排序:按状态升序排列
$query->orderBy('status', 'asc');
$lists = $query->paginate($this->row, ['*'], 'page', $this->page);
$this->response('success', Code::SUCCESS, $lists);
}
... ...
... ... @@ -95,6 +95,8 @@ class AsideTicketLogController extends BaseController
if ($project->wechat_switch && !$ticket->close_wechat)
$project->pushWechatGroupMsg("工单(ID:{$ticket->id})已全部完成,请访问查看详情!");
$ticket->pushDing('finish');
}else{
$ticket->status = Tickets::STATUS_YANSHOU;
}
}
$ticket->save();
... ...
... ... @@ -24,7 +24,7 @@ class TicketListRequest extends FormRequest
public function rules()
{
return [
'status' => 'nullable|in:0,1,2,3|integer',
'status' => 'nullable|in:0,1,2,3,9|integer',
'search' => 'nullable|string', // 搜索关键词
'page' => 'nullable|integer',
'size' => 'nullable|integer',
... ...
... ... @@ -25,12 +25,14 @@ class AsideTicketListRequest extends FormRequest
{
return [
'project_id' => 'nullable|string',
'status' => 'nullable|in:0,1,2,3|integer',
'status' => 'nullable|in:0,1,2,3,9|integer',
'star' => 'nullable|in:1,2,3|integer',
'search' => 'nullable|string', // 搜索关键词
'engineer_id' => 'nullable|integer', // 工程师ID
'page' => 'nullable|integer',
'size' => 'nullable|integer',
'sort_field' => 'nullable|in:id,plan_end_at',
'sort_order' => 'nullable|in:asc,desc',
];
}
}
... ...
... ... @@ -27,7 +27,7 @@ class AsideTicketUpdateRequest extends FormRequest
'title' => 'nullable|string',
'content' => 'nullable|string',
'files' => 'nullable|array',
'status' => 'nullable|in:0,1,2,3|integer',
'status' => 'nullable|in:0,1,2,3,9|integer',
'engineer_ids' => 'nullable|array',
'star' => 'nullable|in:1,2,3|integer',
'plan_end_at' => 'nullable|date',
... ...
... ... @@ -15,8 +15,9 @@ class Tickets extends Base
const STATUS_PEDDING = 0; // 待处理
const STATUS_PROCESSING = 1; // 处理中
const STATUS_COMPLETED = 2; // 已完成
const STATUS_CLOSED = 3; // 已关闭,已失效
const STATUS_YANSHOU = 2; // 验收中
const STATUS_COMPLETED = 3; // 已完成
const STATUS_CLOSED = 9; // 已关闭,已失效,审核不通过,结束工单设置大一点,方便中途又要加状态
/**
* @return void
... ...