grid->column($field, $label) ->using(DEV_STATUS::getAll()) ->label([ DEV_STATUS::DISABLED->value => 'danger', DEV_STATUS::ENABLED->value => 'success', ]); } /** * 添加开发日志类型列 * * @param string $field 字段名 * @param string $label 标签名 * @return Column */ public function columnDevLogType(string $field = 'type', string $label = '日志类型'): Column { return $this->grid->column($field, $label) ->using(DEV_LOG_TYPE::getAll()) ->label([ DEV_LOG_TYPE::INFO->value => 'info', DEV_LOG_TYPE::WARNING->value => 'warning', DEV_LOG_TYPE::ERROR->value => 'danger', DEV_LOG_TYPE::DEBUG->value => 'primary', ]); } /** * 添加开发日志内容列 * * @param string $field 字段名 * @param string $label 标签名 * @param int $limit 限制长度 * @return Column */ public function columnDevLogContent(string $field = 'content', string $label = '日志内容', int $limit = 50): Column { return $this->grid->column($field, $label)->limit($limit); } /** * 添加开发日志额外数据列 * * @param string $field 字段名 * @param string $label 标签名 * @return Column */ public function columnDevLogExtraData(string $field = 'extra_data', string $label = '额外数据'): Column { return $this->grid->column($field, $label)->display(function ($value) { if (empty($value)) { return ''; } if (is_string($value)) { $value = json_decode($value, true); } return '查看详情'; })->modal('额外数据', function ($modal) { $value = $this->extra_data; if (is_string($value)) { $value = json_decode($value, true); } return json_encode($value, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE); }); } /** * 添加开发配置键列 * * @param string $field 字段名 * @param string $label 标签名 * @return Column */ public function columnDevConfigKey(string $field = 'key', string $label = '配置键'): Column { return $this->grid->column($field, $label); } /** * 添加开发配置值列 * * @param string $field 字段名 * @param string $label 标签名 * @param int $limit 限制长度 * @return Column */ public function columnDevConfigValue(string $field = 'value', string $label = '配置值', int $limit = 50): Column { return $this->grid->column($field, $label)->limit($limit); } /** * 添加日志文件名列 * * @param string $field 字段名 * @param string $label 标签名 * @return Column */ public function columnLogFileName(string $field = 'name', string $label = '文件名'): Column { return $this->grid->column($field, $label); } /** * 添加日志文件大小列 * * @param string $field 字段名 * @param string $label 标签名 * @return Column */ public function columnLogFileSize(string $field = 'size', string $label = '文件大小'): Column { return $this->grid->column($field, $label); } /** * 添加日志文件修改时间列 * * @param string $field 字段名 * @param string $label 标签名 * @return Column */ public function columnLogFileModified(string $field = 'modified', string $label = '修改时间'): Column { return $this->grid->column($field, $label); } }