model = new LogModel(); // 配置代理商和操作人信息展示 $this->assignconfig('commission_log_event_types', [ 'agent' => __('分销商日志'), 'level' => __('等级变动日志'), 'order' => __('分销业绩'), 'team' => __('团队日志'), 'reward' => __('佣金日志'), 'share' => __('分享日志'), 'bind' => __('绑定日志') ]); $this->assignconfig('commission_log_oper_types', [ 'admin' => __('管理员'), 'system' => __('系统'), 'user' => __('用户') ]); $this->assignconfig('commission_log_user_display_config', [ 'showAvatar' => true, 'avatarSize' => 40, 'showMobile' => true, 'showId' => true, 'systemAvatarUrl' => '/assets/img/system-avatar.png', 'defaultAvatarUrl' => '/assets/img/avatar.png' ]); } /** * 查看 * * @return Response */ public function index() { if (!$this->request->isAjax()) { return $this->view->fetch(); } //如果发送的来源是 Selectpage,则转发到 Selectpage if ($this->request->request('keyField')) { return $this->selectpage(); } [$where, $sort, $order, $offset, $limit] = $this->buildparams(); $logs = $this->model ->with(['agent']) ->where($where) ->order($sort, $order) ->paginate($limit); $morphs = [ 'user' => UserModel::class, 'admin' => AdminModel::class, 'system' => AdminModel::class ]; $logs = morph_to($logs, $morphs, ['oper_type', 'oper_id']); $logsArray = $logs->toArray(); // 格式化操作人信息 foreach ($logsArray['data'] as &$log) { $log['oper'] = Operator::info($log['oper_type'], $log['oper'] ?? null); } $result = ['total' => $logsArray['total'], 'rows' => $logsArray['data']]; return json($result); } }