middleware('auth'); } public function index(Request $request, OwnerSundryFeeDetailFilters $filters) { $paginateParams = $request->input(); $owner_sundry_fee_details = OwnerSundryFeeDetail::query() ->filter($filters)->with('owner', 'logistic') ->orderByDesc('updated_at') ->paginate($request->paginate ?? 50); $owners = Owner::all(); return view('customer.ownerSundryFee.index', compact('owner_sundry_fee_details', 'paginateParams', 'owners')); } public function show($owner_sundry_fee_detail) { $owner_sundry_fee_detail = OwnerSundryFeeDetail::find($owner_sundry_fee_detail); $owner_sundry_fee_detail->loadMissing('owner'); return view('customer.ownerSundryFee.show', compact('owner_sundry_fee_detail')); } public function create(OwnerSundryFeeDetail $owner_sundry_fee_detail) { $types = [ '材料', '垫付', '人工', '其他', ]; $owners = Owner::all(); $logistics = \App\Logistic::all(); return view('customer.ownerSundryFee.create_and_edit', compact('owner_sundry_fee_detail', 'types', 'owners', 'logistics')); } public function store(OwnerSundryFeeDetailRequest $request) { $data = $request->all(); $data['fee'] = $data['amount'] * $data['price']; $owner_sundry_fee_detail = OwnerSundryFeeDetail::create($data); return redirect()->route('ownerSundryFeeDetails.index', $owner_sundry_fee_detail->id)->with('success', '创建成功'); } public function edit($owner_sundry_fee_detail) { $owner_sundry_fee_detail = OwnerSundryFeeDetail::find($owner_sundry_fee_detail); $owner_sundry_fee_detail->loadMissing('owner'); $this->authorize('update', $owner_sundry_fee_detail); $types = [ '材料', '垫付', '人工', '其他', ]; $owners = Owner::all(); $logistics = \App\Logistic::all(); return view('customer.ownerSundryFee.create_and_edit', compact('owner_sundry_fee_detail', 'types', 'owners', 'logistics')); } public function update(OwnerSundryFeeDetailRequest $request, $owner_sundry_fee_detail) { $owner_sundry_fee_detail = OwnerSundryFeeDetail::find($owner_sundry_fee_detail); $this->authorize('update', $owner_sundry_fee_detail); $data = $request->all(); $data['fee'] = $data['amount'] * $data['price']; $owner_sundry_fee_detail->update($data); return redirect()->route('ownerSundryFeeDetails.index', $owner_sundry_fee_detail->id)->with('success', '更新成功'); } public function destroy($owner_sundry_fee_detail) { $owner_sundry_fee_detail = OwnerSundryFeeDetail::find($owner_sundry_fee_detail); $this->authorize('destroy', $owner_sundry_fee_detail); $owner_sundry_fee_detail->delete(); return redirect()->route('ownerSundryFeeDetails.index')->with('success', '删除成功'); } public function export(Request $request, OwnerSundryFeeDetailFilters $filters) { $query = OwnerSundryFeeDetail::query() ->filter($filters)->with('owner', 'logistic'); $row = ['货主', '日期', '作业类型', '费用描述', '快递单号', '承运商', '数量', '单价', '收费金额', '备注']; if (!$request->exists('checkAllSign')) { $query->whereIn('id', explode(',', $request['data'])); } $details = $query ->orderByDesc('updated_at') ->get(); $json = []; foreach ($details as $detail) { $json[] = [ $detail->owner->name ?? '', $detail->created_at ?? '', $detail->type ?? '', $detail->fee_explain ?? '', $detail->logistic_name ?? '', $detail->logistic->name ?? '', $detail->amount ?? '', $detail->price ?? '', $detail->fee ?? '', $detail->remark ?? '', ]; } return Export::make($row, $json, "杂项费"); } }