zTree+PHP
来源:互联网 发布:c java md5加密解密 编辑:程序博客网 时间:2024/04/28 06:46
//管理员刚进入时,还没有选中的。初始化的
//HTML 页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户赋权</title>
<?php include ("./protected/views/layouts/head.php");?>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/chosenRelationChange.js"></script>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/businesslinkage_user_Change.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/chosen/chosen.jquery.js"></script>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/zTree/jquery.ztree.core-3.5.js"></script>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/zTree/jquery.ztree.excheck-3.5.min.js"></script>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/js/chosen/chosen.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/user/deep.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/zTreeStyle.css" />
<script type="text/javascript">
$(document).ready(function(){
//
window.ff = {} ;
$(".ywxChosen").jcheck({type:'change'});
//
//
$(".chosen-select").chosen();
})
</script>
</head>
<body>
<?php
if (Yii::app ()->user->hasFlash ( 'success' )) {
echo Yii::app ()->user->getFlash ( 'success' );
}
?>
<!--右上角开始-->
<?php include ("./protected/views/layouts/welcome.php");?></head>
<!--右上角结束-->
<!--top开始-->
<?php include ("./protected/views/layouts/topMenu.php");?></head>
<!--<div class="contents">-->
<!--left开始-->
<?php include ("./protected/views/layouts/leftMenu.php");?>
<!--left结束-->
<div class="rightContent">
<div class="contentInfo">
<!--<div style="width:82%; float:right;">-->
<form name= "myform" method = 'post' action = "index.php?r=Userfuquan/empowermentadd">
<!--文件填报右侧-->
<div class="comRightTop">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<img src="images/icon_home.jpg" />
</td>
<td>
<span class="home">home</span> > <span>权限管理> 用户角色管理 > 用户赋权</span>
</td>
</tr>
</table>
</div>
<div class="comRightPiliang">
<a href="index.php?r=role/index/menuid/133">返回列表</a>
<!-- <a href="#" class="comRightPiliang_img"><img src="images/icon_daochu.png" />批量导入</a>-->
<div class="clear"></div>
</div>
<div class="comRightContents">
<h2><span></span>用户赋权</h2>
<!--内容区域-->
<div class="comLineDiv">
<div class="comLineTitle">
<div>部门 :</div>
</div>
<div class="comLineCon">
<select name="File_info[department_id]" style="width: 160px"
class="chosen-select departmentChosen"><option>请选择部门</option>
<?php foreach((array)$department_list as $group):?>
<option value="<?php echo $group['department_id']?>"
<?php XPublic::selected($group['department_id'], $model->department_id);?>><?php echo $group['department_name']?></option>
<?php endforeach;?>
</select><span class="grayinfo"> <span style="color:red;">*</span> 选择所属部门,没有?请点击 <a href="?r=Department/add/menuid/112/leftmenuid/120" target="_blank">创建</a></span>
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>业务线 :</div>
</div>
<div class="comLineCon">
<select name="File_info[dpt_id]" id="dpt_id" style="width: 160px"
class="chosen-select ywxChosen">
<option value="">请选择业务线</option>
</select><span class="grayinfo"> <span style="color:red;">*</span> 选择所属业务线,没有?请点击 <a href="?r=Product/add/menuid/112/leftmenuid/122" target="_blank">创建</a></span>
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>用户 :</div>
</div>
<div class="comLineCon">
<span class="grayinfo">
<ul class="deepDataGameList1">
</ul>
</span>
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>系统菜单 :</div>
</div>
<div class="comLineCon">
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
<input type="hidden" name="menuTreeJson" id="menuTreeJson">
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv comLineSubmit"><input class="comLineSubmitBtn" type="submit" value="填 报" id="SubmitBtn" /></div>
</div>
<!--</div>-->
</form>
</div>
</div>
<div class="top" style="width: 100%; height: 64px; background-color: #CCC; text-align: center; font-size: 12px; line-height: 64px; clear:both;">
Copyright©2005-2015 360.CN All Rights Reserved 360数据中心</div>
</body>
</html>
<SCRIPT type="text/javascript">
<!--
function deepDataGameNormalGame(cs){
var obj = cs;
var objSpan = obj.find("span");
//alert(objSpan.attr("class"));
if(objSpan.attr("class")=="show"){
objSpan.fadeOut("fast");objSpan.removeClass("show");
obj.removeClass("deepDataGameNormalGameCheck");
obj.find(".zhibiaoHidden").remove();
obj.find(".zhibiaoIdHidden").remove();
}
else {
objSpan.fadeIn("slow");objSpan.addClass("show");
obj.addClass("deepDataGameNormalGameCheck");
var val =obj.find(".gameName").text();
var valId = obj.find(".indexid").text();
var indexInput = '<input class="zhibiaoHidden" type="hidden" name="role[]" value="'+val+'" />';
var indexIdInput='<input class="zhibiaoIdHidden" type="hidden" name="roleid[]" value="'+valId+'" />';
obj.append(indexInput);
obj.append(indexIdInput);
}
//
}
// var setting = {
// check: {
// enable: true
// },
// data: {
// simpleData: {
// enable: true
// }
// }
// };
var setting = {
check: {
enable: true,
chkboxType : {"Y": "p", "N": "p"}
},
data: {
simpleData: {
enable: true
}
}
};
var code;
function showCode(str) {
if (!code) code = $("#code");
code.empty();
code.append("<li>"+str+"</li>");
}
$(document).ready(function(){
$.ajax({
type: "post",
url: "index.php?r=Userfuquan/zNodesJson",
dataType:"json",
success: function(data){
var zNodes=data;
// var zNodes ='[{ id:1, pId:0, name:"随意勾选 1", open:true},{ id:11, pId:1, name:"随意勾选 1-1", open:true},{ id:111, pId:11, name:"随意勾选 1-1-1"},{ id:112, pId:11, name:"随意勾选 1-1-2"}]';
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
}
});
// 更改tree 获取节点
$("#treeDemo .chk").live("click",function(){
var treeObj=$.fn.zTree.getZTreeObj("treeDemo");
nodes=treeObj.getCheckedNodes(true);
var nodesJson ='';
for(var i=0;i<nodes.length;i++){
if(!nodes[i].pId){
nodes[i].pId = 0 ;
}
//alert(nodes[i].level);
nodesJson +='{"menu_id":'+nodes[i].id+',"pid":'+nodes[i].pId+',"level":'+nodes[i].level+'},';
}
nodesJson=nodesJson.substring(0,nodesJson.length-1);
nodesJson = '['+nodesJson+']';
$("#menuTreeJson").val(nodesJson);
})
});
//-->
</SCRIPT>
//controllers
<?php
/*
* 用户复权
* 作者:zhaoliang
* 时间:2015-02-12
*/
class UserfuquanController extends Controller {
public function actionIndex() {
$this->renderPartial ( 'index');
}
/*
* 用户复权
*/
public function actionUserfq(){
$this->renderPartial ( 'userfq');
}
public function actionAdd(){
$this->renderPartial ( 'add');
}
public function actionEmpowerment(){
$result=Common::getMenu();
$result ['department_list'] = Metadata_department::get_department ();
$result['role']=Metadata_role::model()->findAll ();
$this->renderPartial ( 'empowerment', $result );
}
/*
* 选择业务线,出来业务线下面所有用户
*/
public function actionUserchange(){
$dpt_id = $_POST['dpt_id'];
$list = Metadata_user::model()->findAll('dpt_id=:dpt_id', array (':dpt_id' => $dpt_id) );
echo CJSON::encode(array( 'list'=>$list));
}
//角色授权 zhaoliang 2015-02-25
function actionEmpowermentadd(){
$roleid = $_REQUEST['roleid'];
$rolename = $_REQUEST['role'];
$menuTreeJson = $_REQUEST['menuTreeJson'];
$menuTreeJson = json_decode($menuTreeJson,true);
// var_dump($roleid);
//事务开始
$trans = Yii::app()->db->beginTransaction();
try{
if($roleid!=''){
for($a=0;$a<count($roleid);$a++){
$count = Userrole_menu::model()->deleteAll('type=:type AND userrole_id=:userrole_id',array(':type'=>0,':userrole_id'=>$roleid[$a]));
}
}
///循环形成sql
$statusArr = array();
for ($i=0; $i <count($roleid) ; $i++) {
//循化tree
for ($j=0; $j <count($menuTreeJson) ; $j++) {
# code...
$model = new Userrole_menu();
$model->type= 0;
$model->userrole_id= $roleid[$i];
$model->userrole_name= $rolename[$i];
$model->menu_id = $menuTreeJson[$j][menu_id];
$model->p_id = $menuTreeJson[$j][pid];
$model->leve = $menuTreeJson[$j][level];
$status = $model->save();
array_push($statusArr,$status);
//$statusArr.
}
}
$trans->commit(); //提交事务
}catch(Exception $e){
$trans->rollBack(); //回滚事务
}
}
/*
* 权限树
*/
public function actionzNodesJson(){
$result =Menu::model()->findAll(array('select'=>array('id','pid','menuname','level')));
$zNodes;
foreach($result as $k =>$v){
$zNodes[$k]=array('id'=>$v['id'],'pId'=>$v['pid'],'level'=>$v['level'],'name'=>$v['menuname']);
}
echo CJSON::encode($zNodes);
}
}
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
//数据加载完成只后,反回的数据,有选中的。
//HTML 页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>360数据中心-元数据管理平台-更新用户</title>
<?php include ("./protected/views/layouts/head.php");?>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/chosenRelationChange.js"></script>
<script type="text/javascript"
src="<?php echo Yii::app()->request->baseUrl; ?>/js/chosen/chosen.jquery.js"></script>
<link rel="stylesheet" type="text/css"
href="<?php echo Yii::app()->request->baseUrl; ?>/js/chosen/chosen.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/user/deep.css" />
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/user/useradd.js"></script>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/zTreeStyle.css" />
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/zTree/jquery.ztree.core-3.5.js"></script>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/zTree/jquery.ztree.excheck-3.5.min.js"></script>
</head>
<body>
<?php
if (Yii::app ()->user->hasFlash ( 'success' )) {
echo Yii::app ()->user->getFlash ( 'success' );
}
//var_dump($user);
?>
<!--<div style="width:82%; float:right;">-->
<form name= "myform" method = 'post' action = "index.php?r=Userrolemenu/empowermentadd">
<input type="hidden" name="info[id]" id="hidden_userID" value="<?php echo $userrole_id ?>">
<input type="hidden" name="info[userroletype]" value="<?php echo $type ; ?>" id= "userroletype">
<div class="comRightContents" style="margin:0px;width:100%">
<h2><span></span>更新用户</h2>
<div class="comLineDiv">
<div class="comLineTitle">
<div>名称 :</div>
</div>
<div class="comLineCon">
<input value="<?php echo $userrole_name ?>" name="info[userrole_name_s]" disabled = " disabled" class="cominput" style="width: 15%">
<input type="hidden" name="info[userrole_name]" value="<?php echo $userrole_name; ?>">
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>类型 :</div>
</div>
<div class="comLineCon">
<input value="<?php echo $ty = $type==0 ? '用户':'角色' ; ?>" disabled = " disabled" class="cominput" style="width: 15%" >
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>系统菜单 :</div>
</div>
<div class="comLineCon">
菜单列表
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
<input type="hidden" name="menuTreeJson" id="menuTreeJson">
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv comLineSubmit">
<input class="comLineSubmitBtn" type="submit" value="提 交" id="SubmitBtn" />
</div>
<!--comRightContents over-->
</div>
<!--</div>-->
</form>
<div class="top" style="width: 100%; height: 64px; background-color: #CCC; text-align: center; font-size: 12px; line-height: 64px; clear:both;">
Copyright©2005-2015 360.CN All Rights Reserved 360数据中心</div>
</body>
</html>
<SCRIPT type="text/javascript">
<!--
function deepDataGameNormalGame(cs){
var obj = cs;
var objSpan = obj.find("span");
//alert(objSpan.attr("class"));
if(objSpan.attr("class")=="show"){
objSpan.fadeOut("fast");objSpan.removeClass("show");
obj.removeClass("deepDataGameNormalGameCheck");
obj.find(".zhibiaoHidden").remove();
obj.find(".zhibiaoIdHidden").remove();
}
else {
objSpan.fadeIn("slow");objSpan.addClass("show");
obj.addClass("deepDataGameNormalGameCheck");
var val =obj.find(".gameName").text();
var valId = obj.find(".indexid").text();
var indexInput = '<input class="zhibiaoHidden" type="hidden" name="role[]" value="'+val+'" />';
var indexIdInput='<input class="zhibiaoIdHidden" type="hidden" name="roleid[]" value="'+valId+'" />';
obj.append(indexInput);
obj.append(indexIdInput);
}
//
}
// var setting = {
// check: {
// enable: true
// },
// data: {
// simpleData: {
// enable: true
// }
// }
// };
var setting = {
check: {
enable: true,
chkboxType : {"Y": "p", "N": "p"}
},
data: {
simpleData: {
enable: true
}
}
};
var code;
function showCode(str) {
if (!code) code = $("#code");
code.empty();
code.append("<li>"+str+"</li>");
}
$(document).ready(function(){
var user_id=$("#hidden_userID").val();
var userroletype = $("#userroletype").val();
//alert(userroletype);
$.ajax({
type: "post",
url: "index.php?r=Userrolemenu/zNodesJsonSelect",
data: {'userid':user_id,'userroletype':userroletype},
dataType:"json",
success: function(data){
// alert(data);
var zNodes=data;
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
}
});
// 更改tree 获取节点
$("#treeDemo .chk").live("click",function(){
var treeObj=$.fn.zTree.getZTreeObj("treeDemo");
nodes=treeObj.getCheckedNodes(true);
var nodesJson ='';
for(var i=0;i<nodes.length;i++){
if(!nodes[i].pId){
nodes[i].pId = 0 ;
}
//alert(nodes[i].level);
nodesJson +='{"menu_id":'+nodes[i].id+',"pid":'+nodes[i].pId+',"level":'+nodes[i].level+'},';
}
nodesJson=nodesJson.substring(0,nodesJson.length-1);
nodesJson = '['+nodesJson+']';
$("#menuTreeJson").val(nodesJson);
})
});
//-->
</SCRIPT>
//controllers
<?php
/*
+-----------------------------------------
| 权限列表controller UserrolemenuController
+-----------------------------------------
| time 2015-02-25 author wsx
+-----------------------------------------
*/
class UserrolemenuController extends Controller {
/*
* 列表 作者:wsx 2015-02-25
*/
function actionIndex() {
$result=Common::getMenu();//获取菜单
$result ['department_list'] = Metadata_department::get_department ();
//var_dump($result);
$this->renderPartial ( 'index', $result );
}
/*
* 列表 作者:wsx 创建时间:2015-02-25
*/
public function actionList() {
header ( "Content-type: application/json" );
$pageSize = $_REQUEST ['pageSize'];
if (empty ( $pageSize ))
$pageSize = 20 ; // 一页条数
$currentPage = $_REQUEST ['currentPage'];
if (empty ( $currentPage ))
$currentPage = 1; // 当前第几页
$order = $_REQUEST ['order'];
if (empty ( $order ))
$order = "t.id desc";
$criteria = new CDbCriteria (); // new cdbcriteria数据库
$criteria->order = $order; // 排序规则
$criteria->group = 'userrole_name';
$index_name = $_REQUEST ['index_name'];
$userrole_name = $_REQUEST ['userrole_name'];
if (! empty ( $userrole_name ))
$criteria->compare ( 't.userrole_name', $userrole_name );
//var_dump($criteria);
$itemCount = Userrole_menu::model ()->count ( $criteria );
$pager = new CPagination ( $itemCount );
$pager->currentPage = $currentPage - 1;
$pager->pageSize = $pageSize;
$pager->applyLimit ( $criteria );
// $criteria->offset = $pager->currentPage * $pager->pageSize;
$list = Userrole_menu::model ()->findAll ( $criteria ); // 根据条件查询
$_list = $this->convertModelToArray ( $list );
$title_arr = Userrole_menu::attributeLabels (); // 字段说明
foreach ( $_list as $keys => $vals ) {
// $currentData = $vals->attributes;
foreach ( $title_arr as $k => $v ) {
if (array_key_exists ( $k, $vals )){
$new_currentData [$k] = $vals [$k];
if($k=='type'){
$new_currentData [$k] = $vals [$k] ==0 ? '用户':'角色';
}
}
}
$_lists [] = $new_currentData;
}
echo CJSON::encode ( array (
'list' => $_lists,
'title' => $title_arr,
'pages' => Array (
"currentPage" => $currentPage,
"pageSize" => $pager->pageSize,
"itemCount" => $itemCount
)
) );
}
/*
* 更新 作者:wsx 创建时间:2015-02-25
*/
function actionUpdate($id) {
$result=Common::getMenu();//获取菜单
$userrole_id = Metadata_userrole_menu::model()->find('id=:id',array(':id'=>$id));
$result['type'] = $userrole_id ['type'];
$result['userrole_name'] =$userrole_id ['userrole_name']; //$model->attributes;
$result['userrole_id'] =$userrole_id ['userrole_id'];
$this->renderPartial ( 'update', $result );
}
//角色授权 zhaoliang 2015-02-25
function actionEmpowermentadd(){
$roleid = $_POST['info']['id'];
$rolename = $_POST['info']['userrole_name'];//info[userrole_name]
$type = $_POST['info']['userroletype'];
$menuTreeJson = $_REQUEST['menuTreeJson'];
$menuTreeJson = json_decode($menuTreeJson,true);
//事务开始
$trans = Yii::app()->db->beginTransaction();
try{
if($roleid!=''){
$count = Userrole_menu::model()->deleteAll('type=:type AND userrole_id=:userrole_id',array(':type'=>$type,':userrole_id'=>$roleid));
}
///循环形成sql
$statusArr = array();
//循化tree
for ($j=0; $j <count($menuTreeJson) ; $j++) {
# code...
$model = new Userrole_menu();
$model->type= $type;
$model->userrole_id= $roleid;
$model->userrole_name= $rolename;
$model->menu_id = $menuTreeJson[$j][menu_id];
$model->p_id = $menuTreeJson[$j][pid];
$model->leve = $menuTreeJson[$j][level];
$status = $model->save();
array_push($statusArr,$status);
//$statusArr.
}
$trans->commit(); //提交事务
//$this->success("add");
}catch(Exception $e){
$trans->rollBack(); //回滚事务
}
}
function actionGetrolebydptid($dpt_id){
header ( "Content-type: application/json" );
$dpt_id = intval($_REQUEST['dpt_id']);
if( $dpt_id ){
$Metadata_role = new Metadata_role();
$list = $Metadata_role::model ()->findAll("dpt_id=:dpt_id",array(":dpt_id"=>$dpt_id));
$_list = $this->convertModelToArray ( $list );
$_list = json_encode($_list);
echo $_list;
}
}
/*
* 权限树,选中的
*/
public function actionzNodesJsonSelect(){
$userID=$_POST['userid'];
$userroletype=$_POST['userroletype'];
$userrole_menu = Metadata_userrole_menu::model()->findAll("type=:type AND userrole_id=:userrole_id",array(":type"=>$userroletype,":userrole_id"=>$userID));
$userrole_menu = $this->convertModelToArray( $userrole_menu );
$havaMenuArr = array();
for ($i=0; $i < count($userrole_menu); $i++) {
array_push($havaMenuArr,$userrole_menu[$i]['menu_id'] );
}
$result =Menu::model()->findAll(array('select'=>array('id','pid','menuname','level')));//菜单循环
$zNodes = array();
$result = $this->convertModelToArray( $result );
for ($i=0; $i <count($result) ; $i++) {
$result[$i]['checked'] = in_array($result[$i]['id'], $havaMenuArr) ? true : false;
$result[$i]['open'] = in_array($result[$i]['id'], $havaMenuArr) ? true : false;
$zNodes[$i]['id'] = $result[$i]['id'];
$zNodes[$i]['checked'] = $result[$i]['checked'];
$zNodes[$i]['open']=$result[$i]['open'];
$zNodes[$i]['name'] = $result[$i]['menuname'];
$zNodes[$i]['pId'] = $result[$i]['pid'];
$zNodes[$i]['level'] = $result[$i]['level'];
}
$zNodes = json_encode( $zNodes);
echo $zNodes;
}
}
//HTML 页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户赋权</title>
<?php include ("./protected/views/layouts/head.php");?>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/chosenRelationChange.js"></script>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/businesslinkage_user_Change.js"></script>
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/chosen/chosen.jquery.js"></script>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/zTree/jquery.ztree.core-3.5.js"></script>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/zTree/jquery.ztree.excheck-3.5.min.js"></script>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/js/chosen/chosen.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/user/deep.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/zTreeStyle.css" />
<script type="text/javascript">
$(document).ready(function(){
//
window.ff = {} ;
$(".ywxChosen").jcheck({type:'change'});
//
//
$(".chosen-select").chosen();
})
</script>
</head>
<body>
<?php
if (Yii::app ()->user->hasFlash ( 'success' )) {
echo Yii::app ()->user->getFlash ( 'success' );
}
?>
<!--右上角开始-->
<?php include ("./protected/views/layouts/welcome.php");?></head>
<!--右上角结束-->
<!--top开始-->
<?php include ("./protected/views/layouts/topMenu.php");?></head>
<!--<div class="contents">-->
<!--left开始-->
<?php include ("./protected/views/layouts/leftMenu.php");?>
<!--left结束-->
<div class="rightContent">
<div class="contentInfo">
<!--<div style="width:82%; float:right;">-->
<form name= "myform" method = 'post' action = "index.php?r=Userfuquan/empowermentadd">
<!--文件填报右侧-->
<div class="comRightTop">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<img src="images/icon_home.jpg" />
</td>
<td>
<span class="home">home</span> > <span>权限管理> 用户角色管理 > 用户赋权</span>
</td>
</tr>
</table>
</div>
<div class="comRightPiliang">
<a href="index.php?r=role/index/menuid/133">返回列表</a>
<!-- <a href="#" class="comRightPiliang_img"><img src="images/icon_daochu.png" />批量导入</a>-->
<div class="clear"></div>
</div>
<div class="comRightContents">
<h2><span></span>用户赋权</h2>
<!--内容区域-->
<div class="comLineDiv">
<div class="comLineTitle">
<div>部门 :</div>
</div>
<div class="comLineCon">
<select name="File_info[department_id]" style="width: 160px"
class="chosen-select departmentChosen"><option>请选择部门</option>
<?php foreach((array)$department_list as $group):?>
<option value="<?php echo $group['department_id']?>"
<?php XPublic::selected($group['department_id'], $model->department_id);?>><?php echo $group['department_name']?></option>
<?php endforeach;?>
</select><span class="grayinfo"> <span style="color:red;">*</span> 选择所属部门,没有?请点击 <a href="?r=Department/add/menuid/112/leftmenuid/120" target="_blank">创建</a></span>
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>业务线 :</div>
</div>
<div class="comLineCon">
<select name="File_info[dpt_id]" id="dpt_id" style="width: 160px"
class="chosen-select ywxChosen">
<option value="">请选择业务线</option>
</select><span class="grayinfo"> <span style="color:red;">*</span> 选择所属业务线,没有?请点击 <a href="?r=Product/add/menuid/112/leftmenuid/122" target="_blank">创建</a></span>
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>用户 :</div>
</div>
<div class="comLineCon">
<span class="grayinfo">
<ul class="deepDataGameList1">
</ul>
</span>
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>系统菜单 :</div>
</div>
<div class="comLineCon">
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
<input type="hidden" name="menuTreeJson" id="menuTreeJson">
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv comLineSubmit"><input class="comLineSubmitBtn" type="submit" value="填 报" id="SubmitBtn" /></div>
</div>
<!--</div>-->
</form>
</div>
</div>
<div class="top" style="width: 100%; height: 64px; background-color: #CCC; text-align: center; font-size: 12px; line-height: 64px; clear:both;">
Copyright©2005-2015 360.CN All Rights Reserved 360数据中心</div>
</body>
</html>
<SCRIPT type="text/javascript">
<!--
function deepDataGameNormalGame(cs){
var obj = cs;
var objSpan = obj.find("span");
//alert(objSpan.attr("class"));
if(objSpan.attr("class")=="show"){
objSpan.fadeOut("fast");objSpan.removeClass("show");
obj.removeClass("deepDataGameNormalGameCheck");
obj.find(".zhibiaoHidden").remove();
obj.find(".zhibiaoIdHidden").remove();
}
else {
objSpan.fadeIn("slow");objSpan.addClass("show");
obj.addClass("deepDataGameNormalGameCheck");
var val =obj.find(".gameName").text();
var valId = obj.find(".indexid").text();
var indexInput = '<input class="zhibiaoHidden" type="hidden" name="role[]" value="'+val+'" />';
var indexIdInput='<input class="zhibiaoIdHidden" type="hidden" name="roleid[]" value="'+valId+'" />';
obj.append(indexInput);
obj.append(indexIdInput);
}
//
}
// var setting = {
// check: {
// enable: true
// },
// data: {
// simpleData: {
// enable: true
// }
// }
// };
var setting = {
check: {
enable: true,
chkboxType : {"Y": "p", "N": "p"}
},
data: {
simpleData: {
enable: true
}
}
};
var code;
function showCode(str) {
if (!code) code = $("#code");
code.empty();
code.append("<li>"+str+"</li>");
}
$(document).ready(function(){
$.ajax({
type: "post",
url: "index.php?r=Userfuquan/zNodesJson",
dataType:"json",
success: function(data){
var zNodes=data;
// var zNodes ='[{ id:1, pId:0, name:"随意勾选 1", open:true},{ id:11, pId:1, name:"随意勾选 1-1", open:true},{ id:111, pId:11, name:"随意勾选 1-1-1"},{ id:112, pId:11, name:"随意勾选 1-1-2"}]';
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
}
});
// 更改tree 获取节点
$("#treeDemo .chk").live("click",function(){
var treeObj=$.fn.zTree.getZTreeObj("treeDemo");
nodes=treeObj.getCheckedNodes(true);
var nodesJson ='';
for(var i=0;i<nodes.length;i++){
if(!nodes[i].pId){
nodes[i].pId = 0 ;
}
//alert(nodes[i].level);
nodesJson +='{"menu_id":'+nodes[i].id+',"pid":'+nodes[i].pId+',"level":'+nodes[i].level+'},';
}
nodesJson=nodesJson.substring(0,nodesJson.length-1);
nodesJson = '['+nodesJson+']';
$("#menuTreeJson").val(nodesJson);
})
});
//-->
</SCRIPT>
//controllers
<?php
/*
* 用户复权
* 作者:zhaoliang
* 时间:2015-02-12
*/
class UserfuquanController extends Controller {
public function actionIndex() {
$this->renderPartial ( 'index');
}
/*
* 用户复权
*/
public function actionUserfq(){
$this->renderPartial ( 'userfq');
}
public function actionAdd(){
$this->renderPartial ( 'add');
}
public function actionEmpowerment(){
$result=Common::getMenu();
$result ['department_list'] = Metadata_department::get_department ();
$result['role']=Metadata_role::model()->findAll ();
$this->renderPartial ( 'empowerment', $result );
}
/*
* 选择业务线,出来业务线下面所有用户
*/
public function actionUserchange(){
$dpt_id = $_POST['dpt_id'];
$list = Metadata_user::model()->findAll('dpt_id=:dpt_id', array (':dpt_id' => $dpt_id) );
echo CJSON::encode(array( 'list'=>$list));
}
//角色授权 zhaoliang 2015-02-25
function actionEmpowermentadd(){
$roleid = $_REQUEST['roleid'];
$rolename = $_REQUEST['role'];
$menuTreeJson = $_REQUEST['menuTreeJson'];
$menuTreeJson = json_decode($menuTreeJson,true);
// var_dump($roleid);
//事务开始
$trans = Yii::app()->db->beginTransaction();
try{
if($roleid!=''){
for($a=0;$a<count($roleid);$a++){
$count = Userrole_menu::model()->deleteAll('type=:type AND userrole_id=:userrole_id',array(':type'=>0,':userrole_id'=>$roleid[$a]));
}
}
///循环形成sql
$statusArr = array();
for ($i=0; $i <count($roleid) ; $i++) {
//循化tree
for ($j=0; $j <count($menuTreeJson) ; $j++) {
# code...
$model = new Userrole_menu();
$model->type= 0;
$model->userrole_id= $roleid[$i];
$model->userrole_name= $rolename[$i];
$model->menu_id = $menuTreeJson[$j][menu_id];
$model->p_id = $menuTreeJson[$j][pid];
$model->leve = $menuTreeJson[$j][level];
$status = $model->save();
array_push($statusArr,$status);
//$statusArr.
}
}
$trans->commit(); //提交事务
}catch(Exception $e){
$trans->rollBack(); //回滚事务
}
}
/*
* 权限树
*/
public function actionzNodesJson(){
$result =Menu::model()->findAll(array('select'=>array('id','pid','menuname','level')));
$zNodes;
foreach($result as $k =>$v){
$zNodes[$k]=array('id'=>$v['id'],'pId'=>$v['pid'],'level'=>$v['level'],'name'=>$v['menuname']);
}
echo CJSON::encode($zNodes);
}
}
********************************************************************************************************************************
********************************************************************************************************************************
********************************************************************************************************************************
//数据加载完成只后,反回的数据,有选中的。
//HTML 页面
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>360数据中心-元数据管理平台-更新用户</title>
<?php include ("./protected/views/layouts/head.php");?>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/chosenRelationChange.js"></script>
<script type="text/javascript"
src="<?php echo Yii::app()->request->baseUrl; ?>/js/chosen/chosen.jquery.js"></script>
<link rel="stylesheet" type="text/css"
href="<?php echo Yii::app()->request->baseUrl; ?>/js/chosen/chosen.css" />
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/user/deep.css" />
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/user/useradd.js"></script>
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/zTreeStyle.css" />
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/zTree/jquery.ztree.core-3.5.js"></script>
<script src="<?php echo Yii::app()->request->baseUrl; ?>/js/zTree/jquery.ztree.excheck-3.5.min.js"></script>
</head>
<body>
<?php
if (Yii::app ()->user->hasFlash ( 'success' )) {
echo Yii::app ()->user->getFlash ( 'success' );
}
//var_dump($user);
?>
<!--<div style="width:82%; float:right;">-->
<form name= "myform" method = 'post' action = "index.php?r=Userrolemenu/empowermentadd">
<input type="hidden" name="info[id]" id="hidden_userID" value="<?php echo $userrole_id ?>">
<input type="hidden" name="info[userroletype]" value="<?php echo $type ; ?>" id= "userroletype">
<div class="comRightContents" style="margin:0px;width:100%">
<h2><span></span>更新用户</h2>
<div class="comLineDiv">
<div class="comLineTitle">
<div>名称 :</div>
</div>
<div class="comLineCon">
<input value="<?php echo $userrole_name ?>" name="info[userrole_name_s]" disabled = " disabled" class="cominput" style="width: 15%">
<input type="hidden" name="info[userrole_name]" value="<?php echo $userrole_name; ?>">
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>类型 :</div>
</div>
<div class="comLineCon">
<input value="<?php echo $ty = $type==0 ? '用户':'角色' ; ?>" disabled = " disabled" class="cominput" style="width: 15%" >
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv">
<div class="comLineTitle">
<div>系统菜单 :</div>
</div>
<div class="comLineCon">
菜单列表
<div class="zTreeDemoBackground left">
<ul id="treeDemo" class="ztree"></ul>
</div>
<input type="hidden" name="menuTreeJson" id="menuTreeJson">
</div>
<div class="clear"></div>
</div>
<div class="comLineDiv comLineSubmit">
<input class="comLineSubmitBtn" type="submit" value="提 交" id="SubmitBtn" />
</div>
<!--comRightContents over-->
</div>
<!--</div>-->
</form>
<div class="top" style="width: 100%; height: 64px; background-color: #CCC; text-align: center; font-size: 12px; line-height: 64px; clear:both;">
Copyright©2005-2015 360.CN All Rights Reserved 360数据中心</div>
</body>
</html>
<SCRIPT type="text/javascript">
<!--
function deepDataGameNormalGame(cs){
var obj = cs;
var objSpan = obj.find("span");
//alert(objSpan.attr("class"));
if(objSpan.attr("class")=="show"){
objSpan.fadeOut("fast");objSpan.removeClass("show");
obj.removeClass("deepDataGameNormalGameCheck");
obj.find(".zhibiaoHidden").remove();
obj.find(".zhibiaoIdHidden").remove();
}
else {
objSpan.fadeIn("slow");objSpan.addClass("show");
obj.addClass("deepDataGameNormalGameCheck");
var val =obj.find(".gameName").text();
var valId = obj.find(".indexid").text();
var indexInput = '<input class="zhibiaoHidden" type="hidden" name="role[]" value="'+val+'" />';
var indexIdInput='<input class="zhibiaoIdHidden" type="hidden" name="roleid[]" value="'+valId+'" />';
obj.append(indexInput);
obj.append(indexIdInput);
}
//
}
// var setting = {
// check: {
// enable: true
// },
// data: {
// simpleData: {
// enable: true
// }
// }
// };
var setting = {
check: {
enable: true,
chkboxType : {"Y": "p", "N": "p"}
},
data: {
simpleData: {
enable: true
}
}
};
var code;
function showCode(str) {
if (!code) code = $("#code");
code.empty();
code.append("<li>"+str+"</li>");
}
$(document).ready(function(){
var user_id=$("#hidden_userID").val();
var userroletype = $("#userroletype").val();
//alert(userroletype);
$.ajax({
type: "post",
url: "index.php?r=Userrolemenu/zNodesJsonSelect",
data: {'userid':user_id,'userroletype':userroletype},
dataType:"json",
success: function(data){
// alert(data);
var zNodes=data;
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
}
});
// 更改tree 获取节点
$("#treeDemo .chk").live("click",function(){
var treeObj=$.fn.zTree.getZTreeObj("treeDemo");
nodes=treeObj.getCheckedNodes(true);
var nodesJson ='';
for(var i=0;i<nodes.length;i++){
if(!nodes[i].pId){
nodes[i].pId = 0 ;
}
//alert(nodes[i].level);
nodesJson +='{"menu_id":'+nodes[i].id+',"pid":'+nodes[i].pId+',"level":'+nodes[i].level+'},';
}
nodesJson=nodesJson.substring(0,nodesJson.length-1);
nodesJson = '['+nodesJson+']';
$("#menuTreeJson").val(nodesJson);
})
});
//-->
</SCRIPT>
//controllers
<?php
/*
+-----------------------------------------
| 权限列表controller UserrolemenuController
+-----------------------------------------
| time 2015-02-25 author wsx
+-----------------------------------------
*/
class UserrolemenuController extends Controller {
/*
* 列表 作者:wsx 2015-02-25
*/
function actionIndex() {
$result=Common::getMenu();//获取菜单
$result ['department_list'] = Metadata_department::get_department ();
//var_dump($result);
$this->renderPartial ( 'index', $result );
}
/*
* 列表 作者:wsx 创建时间:2015-02-25
*/
public function actionList() {
header ( "Content-type: application/json" );
$pageSize = $_REQUEST ['pageSize'];
if (empty ( $pageSize ))
$pageSize = 20 ; // 一页条数
$currentPage = $_REQUEST ['currentPage'];
if (empty ( $currentPage ))
$currentPage = 1; // 当前第几页
$order = $_REQUEST ['order'];
if (empty ( $order ))
$order = "t.id desc";
$criteria = new CDbCriteria (); // new cdbcriteria数据库
$criteria->order = $order; // 排序规则
$criteria->group = 'userrole_name';
$index_name = $_REQUEST ['index_name'];
$userrole_name = $_REQUEST ['userrole_name'];
if (! empty ( $userrole_name ))
$criteria->compare ( 't.userrole_name', $userrole_name );
//var_dump($criteria);
$itemCount = Userrole_menu::model ()->count ( $criteria );
$pager = new CPagination ( $itemCount );
$pager->currentPage = $currentPage - 1;
$pager->pageSize = $pageSize;
$pager->applyLimit ( $criteria );
// $criteria->offset = $pager->currentPage * $pager->pageSize;
$list = Userrole_menu::model ()->findAll ( $criteria ); // 根据条件查询
$_list = $this->convertModelToArray ( $list );
$title_arr = Userrole_menu::attributeLabels (); // 字段说明
foreach ( $_list as $keys => $vals ) {
// $currentData = $vals->attributes;
foreach ( $title_arr as $k => $v ) {
if (array_key_exists ( $k, $vals )){
$new_currentData [$k] = $vals [$k];
if($k=='type'){
$new_currentData [$k] = $vals [$k] ==0 ? '用户':'角色';
}
}
}
$_lists [] = $new_currentData;
}
echo CJSON::encode ( array (
'list' => $_lists,
'title' => $title_arr,
'pages' => Array (
"currentPage" => $currentPage,
"pageSize" => $pager->pageSize,
"itemCount" => $itemCount
)
) );
}
/*
* 更新 作者:wsx 创建时间:2015-02-25
*/
function actionUpdate($id) {
$result=Common::getMenu();//获取菜单
$userrole_id = Metadata_userrole_menu::model()->find('id=:id',array(':id'=>$id));
$result['type'] = $userrole_id ['type'];
$result['userrole_name'] =$userrole_id ['userrole_name']; //$model->attributes;
$result['userrole_id'] =$userrole_id ['userrole_id'];
$this->renderPartial ( 'update', $result );
}
//角色授权 zhaoliang 2015-02-25
function actionEmpowermentadd(){
$roleid = $_POST['info']['id'];
$rolename = $_POST['info']['userrole_name'];//info[userrole_name]
$type = $_POST['info']['userroletype'];
$menuTreeJson = $_REQUEST['menuTreeJson'];
$menuTreeJson = json_decode($menuTreeJson,true);
//事务开始
$trans = Yii::app()->db->beginTransaction();
try{
if($roleid!=''){
$count = Userrole_menu::model()->deleteAll('type=:type AND userrole_id=:userrole_id',array(':type'=>$type,':userrole_id'=>$roleid));
}
///循环形成sql
$statusArr = array();
//循化tree
for ($j=0; $j <count($menuTreeJson) ; $j++) {
# code...
$model = new Userrole_menu();
$model->type= $type;
$model->userrole_id= $roleid;
$model->userrole_name= $rolename;
$model->menu_id = $menuTreeJson[$j][menu_id];
$model->p_id = $menuTreeJson[$j][pid];
$model->leve = $menuTreeJson[$j][level];
$status = $model->save();
array_push($statusArr,$status);
//$statusArr.
}
$trans->commit(); //提交事务
//$this->success("add");
}catch(Exception $e){
$trans->rollBack(); //回滚事务
}
}
function actionGetrolebydptid($dpt_id){
header ( "Content-type: application/json" );
$dpt_id = intval($_REQUEST['dpt_id']);
if( $dpt_id ){
$Metadata_role = new Metadata_role();
$list = $Metadata_role::model ()->findAll("dpt_id=:dpt_id",array(":dpt_id"=>$dpt_id));
$_list = $this->convertModelToArray ( $list );
$_list = json_encode($_list);
echo $_list;
}
}
/*
* 权限树,选中的
*/
public function actionzNodesJsonSelect(){
$userID=$_POST['userid'];
$userroletype=$_POST['userroletype'];
$userrole_menu = Metadata_userrole_menu::model()->findAll("type=:type AND userrole_id=:userrole_id",array(":type"=>$userroletype,":userrole_id"=>$userID));
$userrole_menu = $this->convertModelToArray( $userrole_menu );
$havaMenuArr = array();
for ($i=0; $i < count($userrole_menu); $i++) {
array_push($havaMenuArr,$userrole_menu[$i]['menu_id'] );
}
$result =Menu::model()->findAll(array('select'=>array('id','pid','menuname','level')));//菜单循环
$zNodes = array();
$result = $this->convertModelToArray( $result );
for ($i=0; $i <count($result) ; $i++) {
$result[$i]['checked'] = in_array($result[$i]['id'], $havaMenuArr) ? true : false;
$result[$i]['open'] = in_array($result[$i]['id'], $havaMenuArr) ? true : false;
$zNodes[$i]['id'] = $result[$i]['id'];
$zNodes[$i]['checked'] = $result[$i]['checked'];
$zNodes[$i]['open']=$result[$i]['open'];
$zNodes[$i]['name'] = $result[$i]['menuname'];
$zNodes[$i]['pId'] = $result[$i]['pid'];
$zNodes[$i]['level'] = $result[$i]['level'];
}
$zNodes = json_encode( $zNodes);
echo $zNodes;
}
}
0 0
- zTree+PHP
- zTree+php动态加载menu
- zTree
- ztree
- ztree
- ztree
- ztree
- zTree
- zTree
- zTree
- zTree
- ztree
- Ztree
- ztree
- ztree
- ztree
- ztree
- zTree
- contiki系统学习套件
- 关于更改ip后dbconsole服务不能启动(em不能使用)问题的根本解决方法
- EditPlus添加到右键菜单
- checkText输入框可输入字符个数提示
- 00-自测2. 素数对猜想 (20)
- zTree+PHP
- CSR蓝牙芯片开发
- How to Reset USB Device in Linux
- 新年开工第一天
- 电子商务系统的设计与实现(十一):数据库设计
- 百度地图3.3带搜索功能
- JQUERY校验
- IOS Category不要重写原有类方法
- Android类库打包方法探究