mb_substr(trim((string) request()->query($key, '')), 0, 191); $filters = ['supplier_name' => $text('supplier_name'), 'mode' => $text('mode'), 'deleted_status' => $text('deleted_status') ?: 'active']; abort_unless($filters['mode'] === '' || isset(Rule::MODES[$filters['mode']]), 422, '记账方式无效。'); abort_unless(in_array($filters['deleted_status'], ['active', 'deleted', 'all'], true), 422, '删除状态无效。'); return $filters; } public function page(): array { $filters = $this->filters(); $counts = $this->store->query()->whereNull('deleted_at')->selectRaw('mode, COUNT(*) AS total')->groupBy('mode')->pluck('total', 'mode')->all(); return [ 'view' => 'business.pages.supplier-payables.manufacturer-bookkeeping', 'bookkeepingView' => 'config', 'configFilters' => $filters, 'configCounts' => $counts, 'configRows' => $this->store->filtered($filters)->paginate(50, ['*'], 'page')->withQueryString(), 'configEvents' => $this->store->events()->paginate(20, ['*'], 'event_page')->withQueryString(), ]; } }