| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | <?phpnamespace App\Http\Controllers\Admin;use App\Http\Models\LadingBill;use App\Http\Models\Site;use App\Http\Requests\LadingBillSaveRequest;use Illuminate\Http\Request;use App\Http\Controllers\Controller;use Illuminate\Support\Facades\Auth;/** * 提单 之前提的需求 基本没啥用了 * Class LadingBillController * @package App\Http\Controllers\Admin */class LadingBillController extends Controller{    /**     * 提单列表     * @param Request $request     * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View     */    public function index(Request $request)    {        if (!$request->ajax()) {            return view('admin/lading_bill/index');        }        $builder = LadingBill::query()->with(['site', 'user']);        if ($keyword = $request->input('keyword')) {            $builder->where('title', 'like', '%' . $keyword . '%');        }        $records = $builder->orderByDesc('id')            ->paginate($request->input('pageSize') ?? TABLE_PAGE_SIZE);        $items = $records->items();        array_walk($items, function ($item) {            $item->relate_site = $item->site->cn_title ?? '';            $item->username = $item->user->username ?? '';        });        return response()->json([            'rows' => $items,            'total' => $records->total()        ]);    }    public function audit(Request $request)    {        $ids = $request->input('ids');        $auditStatus = $request->input('auditStatus');        LadingBill::query()->whereIn('id', $ids)->update(['audit' => $auditStatus]);        return response()->json(['message' => '操作成功']);    }    /**     * 添加 与 编辑     * @param LadingBillSaveRequest $request     * @param $id     * @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\JsonResponse|\Illuminate\View\View     */    public function save(LadingBillSaveRequest $request, $id)    {        if (!$request->ajax()) {            return view('admin/lading_bill/save', [                'data' => $id > 0 ? LadingBill::query()->find($id) : null,                'sites' => Site::query()->select(['id', 'cn_title'])->get()            ]);        }        $validated = $request->validated();        if ($id == 0) { //添加            $validated['user_id'] = Auth::id();            $validated['is_settle'] = 0; //未结算        }        LadingBill::query()->updateOrCreate(            ['id' => $id],            $validated        );        return response()->json(['message' => '操作成功']);    }    /**     * 删除     * @param Request $request     * @return \Illuminate\Http\JsonResponse     */    public function delete(Request $request)    {        $ids = $request->input('ids');        LadingBill::destroy($ids);        return response()->json(['message' => '操作成功']);    }}
 |