public function actionSearchChemical()
 {
     $me = _G('ME');
     $group = _G('GROUP');
     if (!$me->id || !$group->id || !$me->isAllowedTo('设置')) {
         return;
     }
     $form = $this->form();
     $type = trim($form['type']);
     if (empty($form) || !($q = trim($form['q']))) {
         return \Gini\IoC::construct('\\Gini\\CGI\\Response\\JSON', []);
     }
     $params['keyword'] = $q;
     if ($type !== '' && $type != \Gini\ORM\ChemicalLimits\Request::CAS_DEFAULT_ALL) {
         $params['type'] = $type;
     }
     $data = [];
     try {
         $rpc = \Gini\ChemDB\Client::getRPC();
         $result = $rpc->chemdb->searchChemicals($params);
         $chems = (array) $rpc->chemdb->getChemicals($result['token']);
         foreach ($chems as $chem) {
             $data[] = ['key' => $chem['cas_no'], 'value' => $chem['name']];
         }
     } catch (\Exception $e) {
     }
     return \Gini\IoC::construct('\\Gini\\CGI\\Response\\JSON', $data);
 }