/**
  * 生成新建或修改表单
  * @param null $item
  * @param int  $id
  * @return KForm
  */
 protected function _form($id = 0, $item = null)
 {
     $roles = RoleModel::all();
     $role_options = [];
     foreach ($roles as $role) {
         $role_options[$role->id] = $role->title;
     }
     $form = parent::_form($id, $item);
     $form->addField(FormFieldBase::createByType('username', FormFieldBase::Type_Text)->setRules('required')->setLabel('请输入用户名')->setCol(1 / 3));
     $form->addField(FormFieldBase::createByType('password', FormFieldBase::Type_Text)->setRules('required')->setLabel('请输入密码')->setCol(1 / 3));
     $form->addField(FormFieldBase::createByType('email', FormFieldBase::Type_Text)->setRules("required|unique:admins,email,{$id}")->setLabel('请输入邮箱')->setCol(1 / 3));
     $form->newRow();
     $form->addField(FormFieldBase::createByType('mobile', FormFieldBase::Type_Text)->setRules("required|unique:admins,mobile,{$id}|mobile")->setLabel('请输入手机')->setCol(1 / 2));
     $form->addField(FormFieldBase::createByType('employee_id', FormFieldBase::Type_Text)->setRules("required|unique:admins,employee_id,{$id}")->setLabel('请输入工号')->setCol(1 / 2));
     $form->newRow();
     $form->addField(FormFieldBase::createByType('avatar', FormFieldBase::Type_Image)->setLabel('头像')->setCol(1 / 2));
     $form->addField(FormFieldBase::createByType('role_id', FormFieldBase::Type_Select)->setOptions($role_options)->setRules('required')->setLabel('请选择角色')->setCol(1 / 2));
     $form->newRow();
     if ($id) {
         $form->modelToDefault($item);
         $form->setRules('password', '');
         $form->setDefault('password', '');
     } else {
     }
     return $form;
 }
 public static function registerRoutes()
 {
     $class = get_called_class();
     $ref = new \ReflectionClass($class);
     $methods = $ref->getMethods(\ReflectionMethod::IS_STATIC);
     foreach ($methods as $method) {
         if (preg_match('/^_routes_.*/', $method->name)) {
             $name = $method->name;
             static::$name();
         }
     }
     CMSBaseController::registerController($class);
 }
 /**
  * 生成新建或修改表单
  * @param null $item
  * @param int  $id
  * @return KForm
  */
 protected function _form($id = 0, $item = null)
 {
     $form = parent::_form($id, $item);
     $form->addField(FormFieldBase::createByType('name', FormFieldBase::Type_Text)->setLabel('展示名称')->setRules('required'));
     $form->addField(FormFieldBase::createByType('title', FormFieldBase::Type_Text)->setLabel('职务')->setRules('required'));
     $form->addField(FormFieldBase::createByType('desc', FormFieldBase::Type_Text)->setLabel('角色简述')->setRules('required'));
     if ($item && $item->isRoot()) {
     } else {
         $form = $this->_rightsForm($form, $item);
     }
     if ($id) {
         $form->modelToDefault($item);
         $form->setRules('password', '');
         $form->setDefault('password', '');
     } else {
     }
     return $form;
 }