where([ 'user_id' => \Yii::$app->user->identity->id, 'is_delete' => 0 ])->orderBy('id desc')->all(); return $all; } /** * @doc-name 就诊人保存 * @doc-param int id 存在则编辑信息 / optional * @doc-param int name 姓名 * @doc-param string id_card 患者身份证 * @doc-param int age 年龄 * @doc-param int sex 性别,1男2女 * @doc-param int relation 关系,通过关系接口获取 * @doc-param string mobile 患者手机号 * @doc-param int is_default 是否默认 0 optional * @doc-param int family_status 家庭遗传史0无1有 0 optional * @doc-param string family_history 家庭遗传史选项,选项添加不用保存后台,["选项1","选项2"] [] optional * @doc-param int allergic_status 过敏史0无1有 0 optional * @doc-param string allergic_history 过敏史选项,选项添加不用保存后台,["选项1","选项2"] [] optional * @doc-param int person_status 既往史0无1有 0 optional * @doc-param string person_history 既往史选项,选项添加不用保存后台,["选项1","选项2"] [] optional * @doc-param int liver_function 肝功能0正常1异常 0 optional * @doc-param string liver_index 肝功能异常指标 0 optional * @doc-param int renal_function 肾功能0正常1异常 0 optional * @doc-param string renal_index 肾功能异常指标 0 optional */ public function actionSave() { $form = new PatientForm(); $form->attributes = \Yii::$app->request->post(); return $form->save(); } /** * @doc-name 切换默认接诊人 * @doc-param int up_id 就诊人id */ public function actionChangePatient() { $post = \Yii::$app->request->post(); $this->requestValidate($post,[ ['up_id','required'] ]); $form = new PatientForm(); $form->attributes = $post; return $form->change(); } /** * @doc-name 就诊人关系 * @doc-return int key 建 * @doc-return int value 值 */ public function actionRelation() { return [ ['key'=> 0,'text'=>'本人'], ['key'=> 1,'text'=>'丈夫'], ['key'=> 2,'text'=>'妻子'], ['key'=> 3,'text'=>'爸爸'], ['key'=> 4,'text'=>'妈妈'], ['key'=> 5,'text'=>'儿子'], ['key'=> 6,'text'=>'女儿'], ['key'=> 7,'text'=>'其他'], ]; } /** * @doc-name 就诊人详情 * @doc-param int id 就诊人id * @doc-return mixed UserPatient{*,age-int-年龄} 就诊人详情 */ public function actionInfo() { $post = \Yii::$app->request->post(); $this->requestValidate($post,[ ['id','required'] ]); $patient = UserPatient::find()->where([ 'id' => $post['id'], 'user_id' => \Yii::$app->user->identity->id, 'is_delete' => 0, ])->one(); if(!$patient){ throw new Exception('就诊人不存在'); } return ArrayHelper::toArray($patient,[ UserPatient::class => [ 'id','name','id_card','sex','relation','mobile','is_default', 'avatar'=>function($model){ if (empty($model->avatar)){ return 'https://hbimg.huabanimg.com/2dbbc9177be8b9912b2a0d881200dd47ccb84d92710aa-IepOs1_fw658'; } return $model->avatar; }, 'age' => function($model){ return FuncHelper::getAgeFromIdNo($model->id_card); }, ] ]); } /** * @doc-name 编辑就诊人信息 * @doc-param int up_id 就诊人id * @doc-param string avatar 头像 */ public function actionEditPatient() { $post = \Yii::$app->request->post(); $this->requestValidate($post,[ ['up_id','required'], ['avatar','required'] ]); $userPatient=UserPatient::find()->where([ 'id'=>$post['up_id'], 'user_id'=>\Yii::$app->user->identity->getId(), ])->one(); if (!$userPatient) throw new \yii\db\Exception('就诊人不存在'); UserPatient::updateAll([ 'avatar'=>$post['avatar'], ], ['id'=>$post['up_id'],'user_id'=>\Yii::$app->user->identity->getId()]); return ['编辑成功']; } /** * @doc-name 删除就诊人 * @doc-param int id 就诊人id */ public function actionDel() { $post = \Yii::$app->request->post(); $this->requestValidate($post,[ ['id','required'], ]); $PatientForm=new PatientForm(); $PatientForm->attributes=$post; return $PatientForm->del(); } /** * @doc-name 查看基本健康信息 * @doc-param int user_patient_id 就诊人id * @doc-return mixed @UserPatientHealthInquiry{*} 健康信息 */ public function actionHealthInfo() { $post = \Yii::$app->request->post(); $this->requestValidate($post,[ ['user_patient_id','required'], ]); $HealthForm=new HealthForm(); $HealthForm->attributes=$post; return $HealthForm->info(); } }