request->get(); $query = Disease::find()->where(['is_delete' => 0]); if (!empty($get['name'])){ $query->andWhere([ 'like', 'name',$get['name'] ]); } if (!empty($get['major_number'])){ $query->andWhere([ 'major_number'=>$get['major_number'] ]); } if (!empty($get['ref_number'])){ $query->andWhere([ 'ref_number'=>$get['ref_number'] ]); } $this->field = [ Disease::class => [ 'id', 'diagnose_code','name', 'major_number', 'ref_number' ] ]; return $this->create($query, $get); } /** * @doc-name 新增或编辑诊断症状 * @doc-desc 传ID则编辑 * @doc-param int ID 症状id / optional * @doc-param string name 名字 * @doc-param string diagnose_code 疾病诊断代码 / optional * @doc-param string major_number 主编号 / optional * @doc-param string ref_number 次编号 / optional */ public function actionSave() { $post = \Yii::$app->request->post(); $DiagnoseForm = new DiagnoseForm(); $DiagnoseForm->attributes = $post; return $DiagnoseForm->save(); } /** * @doc-name 删除诊断症状 * @doc-param int id 诊断症状ID */ public function actionDel() { $post = \Yii::$app->request->post(); $this->requestValidate($post, [ ['id', 'required'] ]); $DiagnoseForm = new DiagnoseForm(); $DiagnoseForm->attributes = $post; return $DiagnoseForm->del(); } /** * @doc-name 导入诊断症状 * @doc-param file file 文件 */ public function actionImport() { $request = \Yii::$app->request; if ($request->isPost) { //设置最大执行时间 ini_set("max_execution_time", "360"); $file = UploadedFile::getInstanceByName('file'); if ($file->size > 5 * 1024 * 1024) { throw new Exception('excel文件不能超过5M!'); } //文件名 $filename = date('His') . md5($file->getBaseName()) . mt_rand(1000, 9999) . '.' . $file->getExtension(); //保存文件 $file->saveAs($filename); $data = Excel::import($filename, [ 'setFirstRecordAsKeys' => true, 'getOnlySheet' => 'Sheet1', ]); $DiagnoseForm = new DiagnoseForm(); return $DiagnoseForm->export($data); } else { throw new Exception('请求方式错误'); } } }