before_add = function(&$data){ //检查用户名是否重复 $where = array('UserName'=>$data['UserName']); if( M('uc_user')->where($where)->count() > 0 ){ json_fail('用户名已存在'); } //检查密码格式 if(strlen($data['Password']) < 4 ){ json_fail('密码长度必须大于4位'); } //检查手机号是否重复(可通过手机号码登录) $where = array('Mobile'=>$data['Mobile']); if( $data['Mobile'] !== '' && M('uc_user')->where($where)->count() > 0 ){ json_fail('手机号码已被使用'); } $data['Password'] = \Zndp\User\Util::encPwd( trim($data['Password']) ); //$data['RoleId'] = \Zndp\User\RoleEnum::COMPANY_ADMINISTRATOR; //公司管理员 $data['UserRole'] = json_encode($data['UserRole']); //拥有角色 $data['OrganizationId'] = I('get.depart_id'); }; $form->form_filter = function(&$form){ // 根据部门id获取部门等级,根据获取同等级角色 $cond = array('ID'=>I('get.depart_id')); $level= M('uc_organization')->where($cond)->getField('Level'); $role_list = get_role_option($level); $form['fields']['UserRole']['editor'] = array('options'=>$role_list); }; $form->display($this); } function sys_list( ){ $list = new \Jms\Gui\ClGrid(); $list->sql_sort = 'OrganizationId asc'; $list->sql_filter = function($search,&$cond){ //$cond['RoleId'] = \Zndp\User\RoleEnum::COMPANY_ADMINISTRATOR; $id = I('get.id'); $cond['OrganizationId'] = $id; }; $list->toolbar_filter = function(&$button){ if($button['icon'] == 'add'){ $button['url'] .= '&depart_id=' .I('get.id'); } }; $list->display($this); } function sys_edit( ){ $form = new \Jms\Gui\ClForm(); $form->before_display = function(&$data){ $data['Password'] = ''; }; $form->before_modify = function(&$data){ $id = I('get.id'); // 检查用户名是否重复 $where = array('UserName'=>$data['UserName'],'ID'=>array('neq',$id)); if( M('uc_user')->where($where)->count() > 0 ){ json_fail('用户名已存在'); } // 检查密码 if(!$data['Password']){ unset($data['Password']); }elseif($data['Password'] && strlen($data['Password']) < 4 ){ json_fail('密码长度必须大于4位'); }else{ $data['Password'] = \Zndp\User\Util::encPwd( trim($data['Password']) ); } //检查手机号是否重复(可通过手机号码登录) $where = array('Mobile'=>$data['Mobile'],'ID'=>array('neq',$id)); if( $data['Mobile'] !== '' && M('uc_user')->where($where)->count() > 0 ){ json_fail('手机号码已被使用'); } }; $form->display($this); } function sys_change_depart( ){ $form = new \Jms\Gui\ClForm(); $form->before_modify = function(&$data){ var_dump($data);exit; }; //字段联动 $form->onchange_filter = function($field,$data){ $result = array(); if($field == 'OrganizationId'){ if($data[$field]){ // 根据选择的部门等级,显示对应等级角色 $cond = array('ID'=>$data[$field]); $level = M('uc_organization')->where($cond)->getField('Level'); $result['DepartRole'] = get_role_option($level); } } return $result; }; $form->form_filter = function(&$form){ // 初始化部门下拉选项 $depart_list = get_depart_option(); $form['fields']['OrganizationId']['editor'] = array('options'=>$depart_list); // 初始化角色下拉选项 $cond = array('ID'=>$this->userinfo['OrganizationId']); $level = M('uc_organization')->where($cond)->getField('Level'); if($level === null){ //平台管理员 $role_list = get_role_option(); }else{ $role_list = get_role_option($level); } $form['fields']['DepartRole']['editor'] = array('options'=>$role_list); }; $form->display($this); } }