You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.7 KiB

6 months ago
<?php
/**
* Created by PhpStorm.
* User: weizongsong
* Date: 2025-10-23
* Time: 21:00
*/
namespace App\Http\Controllers\Admin;
use App\Forms\OrderAgreementForm;
use App\Models\OrderAgreement;
use Illuminate\Http\Request;
class OrderAgreementController extends CommonController
{
public $bladePath = "admin.order-agreement";
public $urlPrefix = "admin/order-agreement";
public $modelName = "订单协议";
public $modelClass = OrderAgreement::class;
public $formClass = OrderAgreementForm::class;
public function index(Request $request)
{
6 months ago
$query = $this->model->with(['order', 'paramedic', 'customer', 'paramedicSign', 'customerSign', 'companySign', 'file']);
6 months ago
6 months ago
// 搜索功能 - 按订单编号搜索
if ($request->order_serial) {
$query->whereHas('order', function ($q) use ($request) {
$q->where('serial', 'like', '%' . $request->order_serial . '%');
});
}
// 按订单ID搜索保留用于从订单列表跳转
6 months ago
if ($request->order_id) {
$query->where('order_id', $request->order_id);
}
6 months ago
// 按客户名字搜索
if ($request->customer_name) {
$query->whereHas('customer', function ($q) use ($request) {
$q->where('name', 'like', '%' . $request->customer_name . '%');
});
6 months ago
}
6 months ago
// 按护工名字搜索
if ($request->paramedic_name) {
$query->whereHas('paramedic', function ($q) use ($request) {
$q->where('name', 'like', '%' . $request->paramedic_name . '%');
});
6 months ago
}
$data = $query->orderBy('id', 'desc')->paginate(10);
return view($this->bladePath . ".index", compact("data"));
}
}