select(['id', 'name', 'created_at'])->orderByDesc('id')->paginate($request['paginate'] ?? 50); return view('maintenance.facilitator.index', compact('facilitators')); } // 服务商对账单 public function statementIndex(Request $request, DischargeTaskFilters $filters) { if (!Gate::allows('服务商-对账单-查询')) { return redirect(url('/')); } $facilitatorStatements = DischargeTask::query() ->filter($filters) ->with('facilitator') ->select(['id', 'facilitator_id', 'expenditure_amount', 'expenditure_unit', 'expenditure_unit_price', 'expenditure_total_cost', 'expenditure_remark', 'created_at']) ->whereNotNull('facilitator_id') ->where('facilitator_id','!=','0') ->orderByDesc('id')->paginate($request['paginate'] ?? 50); $facilitators = Facilitator::query()->get(); return view('transport.discharge.facilitator.index', compact('facilitatorStatements', 'facilitators')); } public function create() { } public function store(Request $request) { } public function storeApi(FacilitatorRequest $request) { $this->gate('服务商-创建'); $facilitator = Facilitator::query()->create($request->all()); $this->success($facilitator); } public function show(Facilitator $facilitator) { } public function edit(Facilitator $facilitator) { } public function update(Request $request, Facilitator $facilitator) { } public function updateApi(FacilitatorRequest $request) { $this->gate('服务商-编辑'); $facilitator = Facilitator::query()->where('id', $request['id'])->update($request->only(['name'])); if ($facilitator) $this->success(Facilitator::query()->find($request['id'])); $this->error('更新失败'); } public function destroy(Facilitator $facilitator) { } public function destroyApi(FacilitatorRequest $request) { $this->gate('服务商-删除'); $count = Facilitator::query()->where('id', $request['id'])->delete(); if ($count > 0) $this->success('删除成功'); $this->error('删除失败'); } // 对账单导出 public function exportStatement(Request $request, DischargeTaskFilters $filters) { $this->gate('服务商-对账单-查询'); /** @var Collection $facilitatorStatements */ $facilitatorStatements = DischargeTask::query() ->filter($filters) ->with('facilitator') ->select(['id', 'facilitator_id', 'expenditure_amount', 'expenditure_unit', 'expenditure_unit_price', 'expenditure_total_cost', 'expenditure_remark', 'created_at']) ->whereNotNull('facilitator_id') ->where('facilitator_id','!=','0') ->orderByDesc('id')->get(); $row = ['日期', '服务商', '数量', '单位', '单价', '总金额合计']; $json = app('DischargeTaskService')->getFacilitatorStatementsJson($facilitatorStatements); return app(ExportService::class)->json($row, $json, "服务商对账单报表"); } }