From 3de879e959570587a2317a3c8abae7a70802571c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=B3=E6=B8=85=E7=88=BD?= Date: Mon, 21 Apr 2025 14:13:32 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=AE=A1=E7=90=86=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E8=AE=BE=E5=A4=87=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../company/GetCompanyListController.php | 18 ++++++++++++++++++ SuperAdmin/app/dashboard/projects/page.tsx | 14 +++++++++++--- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/Server/application/superadmin/controller/company/GetCompanyListController.php b/Server/application/superadmin/controller/company/GetCompanyListController.php index 27d734d9..bff4d2ce 100644 --- a/Server/application/superadmin/controller/company/GetCompanyListController.php +++ b/Server/application/superadmin/controller/company/GetCompanyListController.php @@ -3,8 +3,10 @@ namespace app\superadmin\controller\company; use app\common\model\Company as CompanyModel; +use app\common\model\Device as DeviceModel; use app\common\model\User as usersModel; use app\superadmin\controller\BaseController; +use Eison\Utils\Helper\ArrHelper; /** * 公司控制器 @@ -29,6 +31,20 @@ class GetCompanyListController extends BaseController return array_merge($params, $where); } + /** + * 获取设备统计 + * + * @return array + */ + protected function getDevices() + { + $devices = DeviceModel::field('companyId, count(id) as numCount')->group('companyId')->select(); + $devices = $devices ? $devices->toArray() : array(); + + return ArrHelper::columnTokey('companyId', $devices); + } + + /** * 获取项目列表 * @@ -77,9 +93,11 @@ class GetCompanyListController extends BaseController protected function makeReturnedResult(\think\Paginator $list): array { $result = []; + $devices = $this->getDevices(); foreach ($list->items() as $item) { $item->userCount = $this->countUserInCompany($item->companyId); + $item->deviceCount = $devices[$item->companyId]->numCount ?? 0; array_push($result, $item->toArray()); } diff --git a/SuperAdmin/app/dashboard/projects/page.tsx b/SuperAdmin/app/dashboard/projects/page.tsx index 83b366c8..f4e0a0ba 100644 --- a/SuperAdmin/app/dashboard/projects/page.tsx +++ b/SuperAdmin/app/dashboard/projects/page.tsx @@ -16,6 +16,7 @@ import { DialogHeader, DialogTitle, } from "@/components/ui/dialog" +import { Badge } from "@/components/ui/badge" interface Project { id: number @@ -26,6 +27,7 @@ interface Project { memo: string | null userCount: number createTime: string + deviceCount: number } export default function ProjectsPage() { @@ -138,8 +140,9 @@ export default function ProjectsPage() { 项目名称 状态 - 用户数量 - 创建时间 + 用户数量 + 设备数量 + 创建时间 操作 @@ -154,8 +157,13 @@ export default function ProjectsPage() { projects.map((project) => ( {project.name} - {project.status === 1 ? '启用' : '禁用'} + + + {project.status === 1 ? "启用" : "禁用"} + + {project.userCount} + {project.deviceCount} {project.createTime}