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}