新增功能
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
|
||||
namespace app\adminapi\validate\doctor;
|
||||
|
||||
use app\common\validate\BaseValidate;
|
||||
|
||||
/**
|
||||
* 医生预约验证器
|
||||
* Class AppointmentValidate
|
||||
* @package app\adminapi\validate\doctor
|
||||
*/
|
||||
class AppointmentValidate extends BaseValidate
|
||||
{
|
||||
/**
|
||||
* 设置校验规则
|
||||
* @var string[]
|
||||
*/
|
||||
protected $rule = [
|
||||
'id' => 'require',
|
||||
'patient_id' => 'require|integer',
|
||||
'doctor_id' => 'require|integer',
|
||||
'appointment_date' => 'require|date',
|
||||
'period' => 'in:morning,afternoon,all',
|
||||
'appointment_time' => 'require',
|
||||
'appointment_type' => 'in:video,text,phone',
|
||||
];
|
||||
|
||||
/**
|
||||
* 参数描述
|
||||
* @var string[]
|
||||
*/
|
||||
protected $field = [
|
||||
'id' => '预约ID',
|
||||
'patient_id' => '患者ID',
|
||||
'doctor_id' => '医生ID',
|
||||
'appointment_date' => '预约日期',
|
||||
'period' => '时段',
|
||||
'appointment_time' => '预约时间',
|
||||
'appointment_type' => '预约类型',
|
||||
];
|
||||
|
||||
/**
|
||||
* @notes 创建预约场景
|
||||
* @return AppointmentValidate
|
||||
*/
|
||||
public function sceneCreate()
|
||||
{
|
||||
return $this->only(['patient_id', 'doctor_id', 'appointment_date', 'period', 'appointment_time', 'appointment_type']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 取消预约场景
|
||||
* @return AppointmentValidate
|
||||
*/
|
||||
public function sceneCancel()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 预约详情场景
|
||||
* @return AppointmentValidate
|
||||
*/
|
||||
public function sceneDetail()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 可用时间段场景
|
||||
* @return AppointmentValidate
|
||||
*/
|
||||
public function sceneAvailableSlots()
|
||||
{
|
||||
return $this->only(['doctor_id', 'appointment_date', 'period']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 完成预约场景
|
||||
* @return AppointmentValidate
|
||||
*/
|
||||
public function sceneComplete()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
<?php
|
||||
|
||||
namespace app\adminapi\validate\doctor;
|
||||
|
||||
use app\common\validate\BaseValidate;
|
||||
|
||||
/**
|
||||
* 医生排班验证器
|
||||
* Class RosterValidate
|
||||
* @package app\adminapi\validate\doctor
|
||||
*/
|
||||
class RosterValidate extends BaseValidate
|
||||
{
|
||||
protected $rule = [
|
||||
'id' => 'require',
|
||||
'doctor_id' => 'require',
|
||||
'date' => 'require|date',
|
||||
'period' => 'require|in:morning,afternoon',
|
||||
'status' => 'require|in:1,2,3,4',
|
||||
'quota' => 'number',
|
||||
'max_patients' => 'number',
|
||||
];
|
||||
|
||||
protected $message = [
|
||||
'id.require' => '请选择排班',
|
||||
'doctor_id.require' => '请选择医生',
|
||||
'date.require' => '请选择日期',
|
||||
'date.date' => '日期格式不正确',
|
||||
'period.require' => '请选择时段',
|
||||
'period.in' => '时段参数错误',
|
||||
'status.require' => '请选择状态',
|
||||
'status.in' => '状态参数错误',
|
||||
'quota.number' => '号源数必须是数字',
|
||||
'max_patients.number' => '最大接诊数必须是数字',
|
||||
];
|
||||
|
||||
/**
|
||||
* @notes 保存场景
|
||||
*/
|
||||
public function sceneSave()
|
||||
{
|
||||
return $this->only(['doctor_id', 'date', 'period', 'status', 'quota', 'max_patients', 'remark']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 删除场景
|
||||
*/
|
||||
public function sceneDelete()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 详情场景
|
||||
*/
|
||||
public function sceneDetail()
|
||||
{
|
||||
return $this->only(['id']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 批量保存场景
|
||||
*/
|
||||
public function sceneBatchSave()
|
||||
{
|
||||
return $this->only(['rosters'])
|
||||
->append('rosters', 'require|array');
|
||||
}
|
||||
|
||||
/**
|
||||
* @notes 复制场景
|
||||
*/
|
||||
public function sceneCopy()
|
||||
{
|
||||
return $this->only(['source_start_date', 'source_end_date', 'target_start_date'])
|
||||
->append('source_start_date', 'require|date')
|
||||
->append('source_end_date', 'require|date')
|
||||
->append('target_start_date', 'require|date');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user