更新
This commit is contained in:
@@ -56,12 +56,16 @@ class DiagnosisLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
{
|
||||
// 获取当前管理员的角色ID
|
||||
$roleIds = AdminRole::where('admin_id', $this->adminId)->column('role_id');
|
||||
|
||||
|
||||
// 待分配医助筛选:assistant_id 为空或 0(放在最前面判断,便于跳过医助角色的自我过滤)
|
||||
$pendingAssign = isset($this->params['pending_assign']) && (string) $this->params['pending_assign'] === '1';
|
||||
|
||||
// 构建查询
|
||||
$query = Diagnosis::where($this->searchWhere);
|
||||
|
||||
// 如果是医助角色(role_id=2),只显示自己添加的患者
|
||||
if (in_array(2, $roleIds)) {
|
||||
|
||||
// 如果是医助角色(role_id=2),只显示自己添加的患者;
|
||||
// 但当前在查"待分配医助"时应放开,否则 NULL 记录永远不会匹配 assistant_id=adminId
|
||||
if (in_array(2, $roleIds) && !$pendingAssign) {
|
||||
$query->where('assistant_id', $this->adminId);
|
||||
}
|
||||
|
||||
@@ -74,6 +78,11 @@ class DiagnosisLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
});
|
||||
}
|
||||
|
||||
// 待分配医助:assistant_id 为 NULL 或 0(使用 whereRaw 避免闭包 whereOr 歧义)
|
||||
if ($pendingAssign) {
|
||||
$query->whereRaw('(assistant_id IS NULL OR assistant_id = 0)');
|
||||
}
|
||||
|
||||
// 是否确认诊单:1=已确认 0=未确认
|
||||
if (isset($this->params['diagnosis_confirmed']) && $this->params['diagnosis_confirmed'] !== '') {
|
||||
$confirmed = (int)$this->params['diagnosis_confirmed'];
|
||||
@@ -409,12 +418,14 @@ class DiagnosisLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
{
|
||||
// 获取当前管理员的角色ID
|
||||
$roleIds = AdminRole::where('admin_id', $this->adminId)->column('role_id');
|
||||
|
||||
|
||||
$pendingAssign = isset($this->params['pending_assign']) && (string) $this->params['pending_assign'] === '1';
|
||||
|
||||
// 构建查询
|
||||
$query = Diagnosis::where($this->searchWhere);
|
||||
|
||||
// 如果是医助角色(role_id=2),只显示自己添加的患者
|
||||
if (in_array(2, $roleIds)) {
|
||||
|
||||
// 如果是医助角色(role_id=2),只显示自己添加的患者;查"待分配医助"时放开
|
||||
if (in_array(2, $roleIds) && !$pendingAssign) {
|
||||
$query->where('assistant_id', $this->adminId);
|
||||
}
|
||||
|
||||
@@ -427,6 +438,11 @@ class DiagnosisLists extends BaseAdminDataLists implements ListsSearchInterface
|
||||
});
|
||||
}
|
||||
|
||||
// 待分配医助:assistant_id 为 NULL 或 0
|
||||
if ($pendingAssign) {
|
||||
$query->whereRaw('(assistant_id IS NULL OR assistant_id = 0)');
|
||||
}
|
||||
|
||||
// 是否确认诊单
|
||||
if (isset($this->params['diagnosis_confirmed']) && $this->params['diagnosis_confirmed'] !== '') {
|
||||
$confirmed = (int)$this->params['diagnosis_confirmed'];
|
||||
|
||||
Reference in New Issue
Block a user