/** * 科室搜索页 * @return array res 数据列表 paging 分页 deparmentlevel1 一级部位列表 tab 标识 t1疾病标识 t2 症状标识 */ public function actionDepartmentSearch() { $size = 10; $request = \Yii::$app->request; $tab = $request->get('tab'); $departmentLevel1 = $this->department->getDepartmentLevel1(); //获取页面的一级科室 $paging = $this->helpPaging('wap_pager_search')->setSize($size)->setPageSetSize(7); $offset = $paging->getOffset(); if ($tab == "t1") { $res = DiseaseSymptomMerge::search(array('source_flag' => 1), $offset, $size, array('id' => SORT_ASC), true); } else { if ($tab == "t2") { $res = DiseaseSymptomMerge::search(array('source_flag' => 2), $offset, $size, array('id' => SORT_ASC), true); } else { //tab='',默认查询所有疾病或症状 $res = DiseaseSymptomMerge::search([], $offset, $size, array('id' => SORT_ASC), true); } } $paging->setTotal($res['total']); $data = array('res' => $res['list'], 'paging' => $paging, 'departmentLevel1' => $departmentLevel1, 'tab' => $tab); return $this->render('department_search_index', $data); }
/** *查询所有症状或疾病数据 * @param string select 查询的数据字段 * @param string typeId 标识 t1疾病 t2症状 * @param int offset 第几条开始 * @param int size 每页显示条数 * @param array orderBy 排序 * return array res 相关的疾病症状集合 */ public function queryAllList($select = '', $typeId = '', $offset = 0, $size = 10, $orderBy = []) { if ($typeId == 't1') { //查询疾病 $res = DiseaseSymptomMerge::search(array('source_flag' => 1), $offset, $size, $orderBy, true); //根据疾病,查询相关症状 } elseif ($typeId == 't2') { //查询症状 $res = DiseaseSymptomMerge::search(array('source_flag' => 2), $offset, $size, $orderBy, true); //根据症状查询相关疾病 } else { //关键词搜索,综合 $res = DiseaseSymptomMerge::search([], $offset, $size, $orderBy, true); //判断疾病,查询相关症状,症状,查询相关疾病 } foreach ($res['list'] as $k => $val) { if ($val['source_flag'] == '1') { $res['list'][$k]['relevance'] = $this->seek->relevanceSymptom($val['id']); } else { $res['list'][$k]['relevance'] = $this->seek->relevanceDisease($val['id']); } } return $res; }