This commit is contained in:
Your Name
2026-03-05 11:19:36 +08:00
parent ab77f5488d
commit 9a1b67ca18
17 changed files with 1736 additions and 89 deletions
@@ -16,6 +16,7 @@ namespace app\adminapi\lists\tcm;
use app\adminapi\lists\BaseAdminDataLists;
use app\common\model\tcm\Diagnosis;
use app\common\model\auth\AdminRole;
use app\common\lists\ListsSearchInterface;
/**
@@ -47,7 +48,18 @@ class DiagnosisLists extends BaseAdminDataLists implements ListsSearchInterface
*/
public function lists(): array
{
$lists = Diagnosis::where($this->searchWhere)
// 获取当前管理员的角色ID
$roleIds = AdminRole::where('admin_id', $this->adminId)->column('role_id');
// 构建查询
$query = Diagnosis::where($this->searchWhere);
// 如果是医助角色(role_id=2),只显示自己添加的患者
if (in_array(2, $roleIds)) {
$query->where('assistant_id', $this->adminId);
}
$lists = $query
->field(['id', 'patient_id', 'patient_name', 'id_card', 'phone', 'gender', 'age', 'diagnosis_date', 'diagnosis_type', 'syndrome_type', 'assistant_id', 'status', 'create_time', 'update_time'])
->append(['gender_desc', 'status_desc', 'diagnosis_date_text'])
->order(['id' => 'desc'])
@@ -64,6 +76,17 @@ class DiagnosisLists extends BaseAdminDataLists implements ListsSearchInterface
*/
public function count(): int
{
return Diagnosis::where($this->searchWhere)->count();
// 获取当前管理员的角色ID
$roleIds = AdminRole::where('admin_id', $this->adminId)->column('role_id');
// 构建查询
$query = Diagnosis::where($this->searchWhere);
// 如果是医助角色(role_id=2),只显示自己添加的患者
if (in_array(2, $roleIds)) {
$query->where('assistant_id', $this->adminId);
}
return $query->count();
}
}