跟踪备注

This commit is contained in:
2026-05-05 17:52:35 +08:00
parent 919d0f856e
commit c830008dfc
14 changed files with 475 additions and 5 deletions
@@ -39,6 +39,8 @@ class DiagnosisValidate extends BaseValidate
'diabetes_discovery_year' => 'max:50',
'start_date' => 'date',
'end_date' => 'date|checkDateRange',
'diagnosis_id' => 'require|integer|checkDiagnosisId',
'tracking_content' => 'require|length:1,1000',
];
protected $message = [
@@ -59,6 +61,9 @@ class DiagnosisValidate extends BaseValidate
'diabetes_discovery_year.max' => '发现糖尿病患病史最多50个字符',
'start_date.date' => '开始日期格式不正确',
'end_date.date' => '结束日期格式不正确',
'diagnosis_id.require' => '诊单ID不能为空',
'tracking_content.require' => '跟踪备注内容不能为空',
'tracking_content.length' => '跟踪备注最多1000个字符',
];
public function sceneAdd()
@@ -86,6 +91,18 @@ class DiagnosisValidate extends BaseValidate
return $this->only(['id', 'start_date', 'end_date']);
}
/** 新增跟踪备注:诊单ID + 备注内容 */
public function sceneAddTrackingNote()
{
return $this->only(['diagnosis_id', 'tracking_content']);
}
/** 拉取跟踪备注列表:诊单ID */
public function sceneTrackingNotes()
{
return $this->only(['diagnosis_id']);
}
public function sceneGenerateQrcode()
{
return $this->only(['diagnosis_id', 'doctor_id', 'patient_id', 'share_user_id', 'mini_program_path'])
@@ -121,6 +138,16 @@ class DiagnosisValidate extends BaseValidate
return true;
}
/** 校验 diagnosis_id 字段(addTrackingNote 等场景使用,避开 id 字段) */
protected function checkDiagnosisId($value)
{
$diagnosis = Diagnosis::findOrEmpty($value);
if ($diagnosis->isEmpty()) {
return '诊单不存在';
}
return true;
}
/** end_date 不能早于 start_date */
protected function checkDateRange($value, $rule, $data = [])
{