作者 ZhengBing He

projectList

@@ -7,6 +7,7 @@ use App\Http\Controllers\Aside\BaseController; @@ -7,6 +7,7 @@ use App\Http\Controllers\Aside\BaseController;
7 use App\Http\Requests\Aside\WorkOrder\AsideTicketStoreRequest; 7 use App\Http\Requests\Aside\WorkOrder\AsideTicketStoreRequest;
8 use App\Http\Requests\Aside\WorkOrder\AsideTicketListRequest; 8 use App\Http\Requests\Aside\WorkOrder\AsideTicketListRequest;
9 use App\Http\Requests\Aside\WorkOrder\AsideTicketUpdateRequest; 9 use App\Http\Requests\Aside\WorkOrder\AsideTicketUpdateRequest;
  10 +use App\Http\Requests\Aside\WorkOrder\TicketProjectListRequest;
10 use App\Models\WorkOrder\TicketLog; 11 use App\Models\WorkOrder\TicketLog;
11 use App\Models\WorkOrder\TicketProject; 12 use App\Models\WorkOrder\TicketProject;
12 use App\Models\WorkOrder\Tickets; 13 use App\Models\WorkOrder\Tickets;
@@ -82,6 +83,27 @@ class AsideTicketController extends BaseController @@ -82,6 +83,27 @@ class AsideTicketController extends BaseController
82 } 83 }
83 84
84 /** 85 /**
  86 + * @param TicketProjectListRequest $request
  87 + * @return void
  88 + * A端V5V6项目列表
  89 + */
  90 + public function projectList(TicketProjectListRequest $request)
  91 + {
  92 + $validated = $request->validated();
  93 + $lists = TicketProject::where('is_del', 0)
  94 + ->when(!empty($validated['search']), function ($query) use ($validated) {
  95 + // 查找项目名称或公司名称
  96 + $search = $validated['search'];
  97 + return $query->where(function ($q) use ($search) {
  98 + $q->where('title', 'like', '%' . $search . '%')
  99 + ->orWhere('company_name', 'like', '%' . $search . '%');
  100 + });
  101 + })
  102 + ->paginate($this->row, ['*'], 'page', $this->page);
  103 + $this->response('success', Code::SUCCESS, $lists);
  104 + }
  105 +
  106 + /**
85 * Store a newly created resource in storage. 107 * Store a newly created resource in storage.
86 * 108 *
87 * @param \Illuminate\Http\Request $request 109 * @param \Illuminate\Http\Request $request
  1 +<?php
  2 +
  3 +namespace App\Http\Requests\Aside\WorkOrder;
  4 +
  5 +use Illuminate\Foundation\Http\FormRequest;
  6 +
  7 +class TicketProjectListRequest extends FormRequest
  8 +{
  9 + /**
  10 + * Determine if the user is authorized to make this request.
  11 + *
  12 + * @return bool
  13 + */
  14 + public function authorize()
  15 + {
  16 + return true;
  17 + }
  18 +
  19 + /**
  20 + * Get the validation rules that apply to the request.
  21 + *
  22 + * @return array
  23 + */
  24 + public function rules()
  25 + {
  26 + return [
  27 + 'search' => 'nullable|string|max:255',
  28 + ];
  29 + }
  30 +}
@@ -255,6 +255,7 @@ Route::middleware(['aloginauth'])->group(function () { @@ -255,6 +255,7 @@ Route::middleware(['aloginauth'])->group(function () {
255 Route::get('/{id}', [Aside\WorkOrder\AsideTicketController::class, 'show'])->name('admin.tickets.show')->summary('A端工单详情'); 255 Route::get('/{id}', [Aside\WorkOrder\AsideTicketController::class, 'show'])->name('admin.tickets.show')->summary('A端工单详情');
256 Route::post('/{id}', [Aside\WorkOrder\AsideTicketController::class, 'update'])->name('admin.tickets.update')->summary('A端更新工单,审核,邀请同事'); 256 Route::post('/{id}', [Aside\WorkOrder\AsideTicketController::class, 'update'])->name('admin.tickets.update')->summary('A端更新工单,审核,邀请同事');
257 Route::get('/projects/{search}', [Aside\WorkOrder\AsideTicketController::class, 'getProjects'])->name('admin.tickets.projects')->summary('A端V5V6项目列表'); 257 Route::get('/projects/{search}', [Aside\WorkOrder\AsideTicketController::class, 'getProjects'])->name('admin.tickets.projects')->summary('A端V5V6项目列表');
  258 + Route::get('/projectList', [Aside\WorkOrder\AsideTicketController::class, 'projectList'])->name('admin.tickets.projectList')->summary('A端V5V6项目列表');
258 Route::post('/log/{id}', [Aside\WorkOrder\AsideTicketLogController::class, 'update'])->name('admin.tickets.log.update')->summary('A端工单操作日志更新,完成工单'); 259 Route::post('/log/{id}', [Aside\WorkOrder\AsideTicketLogController::class, 'update'])->name('admin.tickets.log.update')->summary('A端工单操作日志更新,完成工单');
259 Route::get('/chat/{ticket_id}', [Aside\WorkOrder\TicketChatController::class, 'index'])->name('admin.tickets.chat.index')->summary('A端工单聊天记录'); 260 Route::get('/chat/{ticket_id}', [Aside\WorkOrder\TicketChatController::class, 'index'])->name('admin.tickets.chat.index')->summary('A端工单聊天记录');
260 Route::post('/chat/{ticket_id}', [Aside\WorkOrder\TicketChatController::class, 'store'])->name('admin.tickets.chat.store')->summary('A端工单聊天记录创建'); 261 Route::post('/chat/{ticket_id}', [Aside\WorkOrder\TicketChatController::class, 'store'])->name('admin.tickets.chat.store')->summary('A端工单聊天记录创建');