创建时间: 2025年06月22日 17:33
任务类型: 功能优化
关联模块: URS推广模块
完成状态: ✅ 已完成
将URS达人等级统计卡片从原来的多卡片网格布局改为单行多数字卡片格式,使用UCore框架的NumberS2组件。
Dcat\Admin\Widgets\CardUCore\DcatAdmin\Metrics\Examples\NumberS2$stats[] = [
'level' => $level,
'name' => $levelEnum->getName(),
'count' => $count,
'config' => $config,
'color' => $this->getLevelColor($level),
'icon' => $this->getLevelIcon($level),
];
$dataList[$stat['name']] = $stat['count'];
// 结果:['非达人' => 2, 'URS初级达人' => 0, ...]
[非达人] [URS初级达人] [URS中级达人]
2人 0人 0人
[URS高级达人] [URS资深达人] [URS顶级达人]
0人 0人 0人
非达人 URS初级达人 URS中级达人 URS高级达人 URS资深达人 URS顶级达人
2.00 0.00 0.00 0.00 0.00 0.00
select talent_level, COUNT(*) as count from kku_urs_promotion_user_talents group by talent_levelapp/Module/UrsPromotion/AdminControllers/Metrics/UrsTalentLevelStatsCard.php - 达人等级统计卡片重构// 继承NumberS2基类
class UrsTalentLevelStatsCard extends NumberS2
// 正确的初始化方式
protected function init()
{
parent::init();
$this->title('URS达人等级统计');
$this->dropdown([]); // 移除下拉选项
}
// 数据处理和显示
public function handle(Request $request)
{
$stats = $this->getTalentLevelStats();
$dataList = [];
foreach ($stats as $stat) {
$dataList[$stat['name']] = $stat['count'];
}
$this->withContent($dataList);
}
['标签' => 数值, ...]根据测试结果,当前系统中的达人等级分布: