mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-09-18 17:48:01 +08:00
完成机构与用户管理
This commit is contained in:
@@ -1,237 +1,237 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>系统登录</title>
|
||||
<script src="~/BJUI/js/jquery-1.7.2.min.js"></script>
|
||||
<script src="~/BJUI/js/jquery.cookie.js"></script>
|
||||
<script src="~/BJUI/js/sha256.js"></script>
|
||||
<link href="~/BJUI/themes/css/bootstrap.min.css" rel="stylesheet">
|
||||
<style type="text/css">
|
||||
* {
|
||||
font-family: "Verdana", "Tahoma", "Lucida Grande", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background: url(/BJUI/images/loginbg_01.jpg) no-repeat center center fixed;
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
a:link {
|
||||
color: #285e8e;
|
||||
}
|
||||
|
||||
.main_box {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -260px;
|
||||
margin-left: -300px;
|
||||
padding: 30px;
|
||||
width: 600px;
|
||||
height: 460px;
|
||||
background: #FAFAFA;
|
||||
background: rgba(255,255,255,0.5);
|
||||
border: 1px #DDD solid;
|
||||
border-radius: 5px;
|
||||
-webkit-box-shadow: 1px 5px 8px #888888;
|
||||
-moz-box-shadow: 1px 5px 8px #888888;
|
||||
box-shadow: 1px 5px 8px #888888;
|
||||
}
|
||||
|
||||
.main_box .setting {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 10px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.main_box .setting a {
|
||||
color: #FF6600;
|
||||
}
|
||||
|
||||
.main_box .setting a:hover {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.login_logo {
|
||||
margin-bottom: 20px;
|
||||
height: 45px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.login_logo img {
|
||||
height: 45px;
|
||||
}
|
||||
|
||||
.login_msg {
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.login_form {
|
||||
padding-top: 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.login_box .form-control {
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
zoom: 1;
|
||||
width: auto;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.login_box .form-control.x319 {
|
||||
width: 319px;
|
||||
}
|
||||
|
||||
.login_box .form-control.x164 {
|
||||
width: 164px;
|
||||
}
|
||||
|
||||
.login_box .form-group {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.login_box .form-group label.t {
|
||||
width: 120px;
|
||||
text-align: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.login_box .form-group.space {
|
||||
padding-top: 15px;
|
||||
border-top: 1px #FFF dotted;
|
||||
}
|
||||
|
||||
.login_box .form-group img {
|
||||
margin-top: 1px;
|
||||
height: 32px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.login_box .m {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var COOKIE_NAME = 'sys__username';
|
||||
$(function () {
|
||||
choose_bg();
|
||||
//changeCode();
|
||||
if ($.cookie(COOKIE_NAME)) {
|
||||
$("#j_username").val($.cookie(COOKIE_NAME));
|
||||
$("#j_password").focus();
|
||||
$("#j_remember").attr('checked', true);
|
||||
} else {
|
||||
$("#j_username").focus();
|
||||
}
|
||||
/*$("#captcha_img").click(function(){
|
||||
changeCode();
|
||||
});*/
|
||||
$("#login_form").submit(function () {
|
||||
var issubmit = true;
|
||||
var i_index = 0;
|
||||
$(this).find('.in').each(function (i) {
|
||||
if ($.trim($(this).val()).length == 0) {
|
||||
$(this).css('border', '1px #ff0000 solid');
|
||||
issubmit = false;
|
||||
if (i_index == 0)
|
||||
i_index = i;
|
||||
}
|
||||
});
|
||||
if (!issubmit) {
|
||||
$(this).find('.in').eq(i_index).focus();
|
||||
return false;
|
||||
}
|
||||
var $remember = $("#j_remember");
|
||||
if ($remember.attr('checked')) {
|
||||
$.cookie(COOKIE_NAME, $("#j_username").val(), { path: '/', expires: 15 });
|
||||
} else {
|
||||
$.cookie(COOKIE_NAME, null, { path: '/' }); //删除cookie
|
||||
}
|
||||
$("#login_ok").attr("disabled", true).val('登陆中..');
|
||||
var password = HMAC_SHA256_MAC($("#j_username").val(), $("#j_password").val());
|
||||
$("#j_password").val(HMAC_SHA256_MAC($("#j_randomKey").val(), password));
|
||||
window.location.href = 'Index'; /*注意:生产环境时请删除此行*/
|
||||
return false;
|
||||
});
|
||||
});
|
||||
function genTimestamp() {
|
||||
var time = new Date();
|
||||
return time.getTime();
|
||||
}
|
||||
function changeCode() {
|
||||
//$("#captcha_img").attr("src", "/captcha.jpeg?t="+genTimestamp());
|
||||
}
|
||||
function choose_bg() {
|
||||
var bg = Math.floor(Math.random() * 4 + 1);
|
||||
$('body').css('background-image', 'url(/BJUI/images/loginbg_0' + bg + '.jpg)');
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<!--[if lte IE 7]>
|
||||
<style type="text/css">
|
||||
#errorie {position: fixed; top: 0; z-index: 100000; height: 30px; background: #FCF8E3;}
|
||||
#errorie div {width: 900px; margin: 0 auto; line-height: 30px; color: orange; font-size: 14px; text-align: center;}
|
||||
#errorie div a {color: #459f79;font-size: 14px;}
|
||||
#errorie div a:hover {text-decoration: underline;}
|
||||
</style>
|
||||
<div id="errorie"><div>您还在使用老掉牙的IE,请升级您的浏览器到 IE8以上版本 <a target="_blank" href="http://windows.microsoft.com/zh-cn/internet-explorer/ie-8-worldwide-languages">点击升级</a> 强烈建议您更改换浏览器:<a href="http://down.tech.sina.com.cn/content/40975.html" target="_blank">谷歌 Chrome</a></div></div>
|
||||
<![endif]-->
|
||||
<div class="main_box">
|
||||
<div class="setting"><a href="javascript:;" onclick=" choose_bg(); " title="更换背景">
|
||||
<span class="glyphicon glyphicon-th-large"></span>
|
||||
</a></div>
|
||||
<div class="login_box">
|
||||
<div class="login_logo">
|
||||
<img src="/BJUI/images/logo.png">
|
||||
</div>
|
||||
<!--
|
||||
<c:if test="${!empty message}">
|
||||
<div class="login_msg">
|
||||
<font color="red">${message }</font>
|
||||
</div>
|
||||
</c:if>
|
||||
-->
|
||||
<div class="login_form">
|
||||
<input type="hidden" value="${randomKey }" id="j_randomKey" />
|
||||
<form action="index.html" id="login_form" method="post">
|
||||
<input type="hidden" name="jfinal_token" value="${jfinal_token }" />
|
||||
<div class="form-group">
|
||||
<label for="j_username" class="t">用户名:</label> <input id="j_username" value="" name="username" type="text" class="form-control x319 in" autocomplete="off">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="j_password" class="t">密 码:</label> <input id="j_password" value="" name="passwordhash" type="password" class="form-control x319 in">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="j_captcha" class="t">验证码:</label> <input id="j_captcha" name="j_captcha" type="text" class="form-control x164 in">
|
||||
<img id="captcha_img" alt="点击更换" title="点击更换" src="/BJUI/images/captcha.jpeg" class="m">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="t"></label>
|
||||
<label for="j_remember" class="m"><input id="j_remember" type="checkbox" value="true"> 记住登陆账号!</label>
|
||||
</div>
|
||||
<div class="form-group space">
|
||||
<label class="t"></label>
|
||||
<input type="submit" id="login_ok" value=" 登 录 " class="btn btn-primary btn-lg">
|
||||
<input type="reset" value=" 重 置 " class="btn btn-default btn-lg">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">Copyright © 2015 <a href="#">基于精典DDD的权限管理 - 系统登陆</a></div>
|
||||
</div>
|
||||
</body>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>系统登录</title>
|
||||
<script src="~/BJUI/js/jquery-1.7.2.min.js"></script>
|
||||
<script src="~/BJUI/js/jquery.cookie.js"></script>
|
||||
<script src="~/BJUI/js/sha256.js"></script>
|
||||
<link href="~/BJUI/themes/css/bootstrap.min.css" rel="stylesheet">
|
||||
<style type="text/css">
|
||||
* {
|
||||
font-family: "Verdana", "Tahoma", "Lucida Grande", "Microsoft YaHei", "Hiragino Sans GB", sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background: url(/BJUI/images/loginbg_01.jpg) no-repeat center center fixed;
|
||||
-webkit-background-size: cover;
|
||||
-moz-background-size: cover;
|
||||
-o-background-size: cover;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
a:link {
|
||||
color: #285e8e;
|
||||
}
|
||||
|
||||
.main_box {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -260px;
|
||||
margin-left: -300px;
|
||||
padding: 30px;
|
||||
width: 600px;
|
||||
height: 460px;
|
||||
background: #FAFAFA;
|
||||
background: rgba(255,255,255,0.5);
|
||||
border: 1px #DDD solid;
|
||||
border-radius: 5px;
|
||||
-webkit-box-shadow: 1px 5px 8px #888888;
|
||||
-moz-box-shadow: 1px 5px 8px #888888;
|
||||
box-shadow: 1px 5px 8px #888888;
|
||||
}
|
||||
|
||||
.main_box .setting {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 10px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
.main_box .setting a {
|
||||
color: #FF6600;
|
||||
}
|
||||
|
||||
.main_box .setting a:hover {
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.login_logo {
|
||||
margin-bottom: 20px;
|
||||
height: 45px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.login_logo img {
|
||||
height: 45px;
|
||||
}
|
||||
|
||||
.login_msg {
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.login_form {
|
||||
padding-top: 20px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.login_box .form-control {
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
zoom: 1;
|
||||
width: auto;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.login_box .form-control.x319 {
|
||||
width: 319px;
|
||||
}
|
||||
|
||||
.login_box .form-control.x164 {
|
||||
width: 164px;
|
||||
}
|
||||
|
||||
.login_box .form-group {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.login_box .form-group label.t {
|
||||
width: 120px;
|
||||
text-align: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.login_box .form-group.space {
|
||||
padding-top: 15px;
|
||||
border-top: 1px #FFF dotted;
|
||||
}
|
||||
|
||||
.login_box .form-group img {
|
||||
margin-top: 1px;
|
||||
height: 32px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
.login_box .m {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.bottom {
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var COOKIE_NAME = 'sys__username';
|
||||
$(function () {
|
||||
choose_bg();
|
||||
//changeCode();
|
||||
if ($.cookie(COOKIE_NAME)) {
|
||||
$("#j_username").val($.cookie(COOKIE_NAME));
|
||||
$("#j_password").focus();
|
||||
$("#j_remember").attr('checked', true);
|
||||
} else {
|
||||
$("#j_username").focus();
|
||||
}
|
||||
/*$("#captcha_img").click(function(){
|
||||
changeCode();
|
||||
});*/
|
||||
$("#login_form").submit(function () {
|
||||
var issubmit = true;
|
||||
var i_index = 0;
|
||||
$(this).find('.in').each(function (i) {
|
||||
if ($.trim($(this).val()).length == 0) {
|
||||
$(this).css('border', '1px #ff0000 solid');
|
||||
issubmit = false;
|
||||
if (i_index == 0)
|
||||
i_index = i;
|
||||
}
|
||||
});
|
||||
if (!issubmit) {
|
||||
$(this).find('.in').eq(i_index).focus();
|
||||
return false;
|
||||
}
|
||||
var $remember = $("#j_remember");
|
||||
if ($remember.attr('checked')) {
|
||||
$.cookie(COOKIE_NAME, $("#j_username").val(), { path: '/', expires: 15 });
|
||||
} else {
|
||||
$.cookie(COOKIE_NAME, null, { path: '/' }); //删除cookie
|
||||
}
|
||||
$("#login_ok").attr("disabled", true).val('登陆中..');
|
||||
var password = HMAC_SHA256_MAC($("#j_username").val(), $("#j_password").val());
|
||||
$("#j_password").val(HMAC_SHA256_MAC($("#j_randomKey").val(), password));
|
||||
window.location.href = 'Index'; /*注意:生产环境时请删除此行*/
|
||||
return false;
|
||||
});
|
||||
});
|
||||
function genTimestamp() {
|
||||
var time = new Date();
|
||||
return time.getTime();
|
||||
}
|
||||
function changeCode() {
|
||||
//$("#captcha_img").attr("src", "/captcha.jpeg?t="+genTimestamp());
|
||||
}
|
||||
function choose_bg() {
|
||||
var bg = Math.floor(Math.random() * 4 + 1);
|
||||
$('body').css('background-image', 'url(/BJUI/images/loginbg_0' + bg + '.jpg)');
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<!--[if lte IE 7]>
|
||||
<style type="text/css">
|
||||
#errorie {position: fixed; top: 0; z-index: 100000; height: 30px; background: #FCF8E3;}
|
||||
#errorie div {width: 900px; margin: 0 auto; line-height: 30px; color: orange; font-size: 14px; text-align: center;}
|
||||
#errorie div a {color: #459f79;font-size: 14px;}
|
||||
#errorie div a:hover {text-decoration: underline;}
|
||||
</style>
|
||||
<div id="errorie"><div>您还在使用老掉牙的IE,请升级您的浏览器到 IE8以上版本 <a target="_blank" href="http://windows.microsoft.com/zh-cn/internet-explorer/ie-8-worldwide-languages">点击升级</a> 强烈建议您更改换浏览器:<a href="http://down.tech.sina.com.cn/content/40975.html" target="_blank">谷歌 Chrome</a></div></div>
|
||||
<![endif]-->
|
||||
<div class="main_box">
|
||||
<div class="setting"><a href="javascript:;" onclick=" choose_bg(); " title="更换背景">
|
||||
<span class="glyphicon glyphicon-th-large"></span>
|
||||
</a></div>
|
||||
<div class="login_box">
|
||||
<div class="login_logo">
|
||||
<img src="/BJUI/images/logo.png">
|
||||
</div>
|
||||
<!--
|
||||
<c:if test="${!empty message}">
|
||||
<div class="login_msg">
|
||||
<font color="red">${message }</font>
|
||||
</div>
|
||||
</c:if>
|
||||
-->
|
||||
<div class="login_form">
|
||||
<input type="hidden" value="${randomKey }" id="j_randomKey" />
|
||||
<form action="index.html" id="login_form" method="post">
|
||||
<input type="hidden" name="jfinal_token" value="${jfinal_token }" />
|
||||
<div class="form-group">
|
||||
<label for="j_username" class="t">用户名:</label> <input id="j_username" value="" name="username" type="text" class="form-control x319 in" autocomplete="off">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="j_password" class="t">密 码:</label> <input id="j_password" value="" name="passwordhash" type="password" class="form-control x319 in">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="j_captcha" class="t">验证码:</label> <input id="j_captcha" name="j_captcha" type="text" class="form-control x164 in">
|
||||
<img id="captcha_img" alt="点击更换" title="点击更换" src="/BJUI/images/captcha.jpeg" class="m">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="t"></label>
|
||||
<label for="j_remember" class="m"><input id="j_remember" type="checkbox" value="true"> 记住登陆账号!</label>
|
||||
</div>
|
||||
<div class="form-group space">
|
||||
<label class="t"></label>
|
||||
<input type="submit" id="login_ok" value=" 登 录 " class="btn btn-primary btn-lg">
|
||||
<input type="reset" value=" 重 置 " class="btn btn-default btn-lg">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">Copyright © 2015 <a href="#">基于精典DDD的权限管理 - 系统登陆</a></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
@@ -24,9 +24,9 @@
|
||||
<td>
|
||||
<input id="ParentId" name="ParentId" type="hidden">
|
||||
<label for="ParentName" class="control-label x90">上级机构:</label>
|
||||
<input type="text" name="ParentName" id="ParentName"
|
||||
value="" data-toggle="lookup" data-url="/OrgManager/LookupParent">
|
||||
</td>
|
||||
<input type="text" name="ParentName" id="ParentName" data-toggle="selectztree" size="20" data-tree="#j_select_tree1">
|
||||
<ul id="j_select_tree1" class="ztree hide" data-toggle="ztree"></ul>
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -50,3 +50,66 @@
|
||||
<li><button type="submit" class="btn-green">保存</button></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
Init();
|
||||
});
|
||||
function Init() {
|
||||
var setting = {
|
||||
view: {
|
||||
selectedMulti: false
|
||||
},
|
||||
check: {
|
||||
enable: true,
|
||||
chkStyle: "radio",
|
||||
radioType: "all"
|
||||
},
|
||||
data: {
|
||||
key: {
|
||||
name: 'Name',
|
||||
title: 'Name'
|
||||
},
|
||||
simpleData: {
|
||||
enable: true,
|
||||
idKey: 'Id',
|
||||
pIdKey: 'ParentId',
|
||||
rootPId: 'null'
|
||||
}
|
||||
},
|
||||
callback: {
|
||||
onClick: zTreeOnClick,
|
||||
onCheck: zTreeCheck
|
||||
}
|
||||
};
|
||||
$.getJSON('OrgManager/LoadOrg', function (json) {
|
||||
var zTreeObj = $.fn.zTree.init($('#j_select_tree1'), setting, json);
|
||||
zTreeObj.expandAll(true);
|
||||
});
|
||||
}
|
||||
|
||||
function zTreeCheck(e, treeId, treeNode) {
|
||||
var zTree = $.fn.zTree.getZTreeObj(treeId),
|
||||
nodes = zTree.getCheckedNodes(true);
|
||||
var ids = '', names = '';
|
||||
for (var i = 0; i < nodes.length; i++) {
|
||||
ids += ',' + nodes[i].Id;
|
||||
names += ',' + nodes[i].Name;
|
||||
}
|
||||
if (ids.length > 0) { //去掉第一个逗号
|
||||
ids = ids.substr(1);
|
||||
names = names.substr(1);
|
||||
}
|
||||
|
||||
var $from = $('#' + treeId).data('fromObj');
|
||||
if ($from && $from.length) $from.val(names);
|
||||
|
||||
$('#ParentId').val(ids);
|
||||
}
|
||||
function zTreeOnClick(event, treeId, treeNode) {
|
||||
var zTree = $.fn.zTree.getZTreeObj(treeId);
|
||||
zTree.checkNode(treeNode, !treeNode.checked, true, true);
|
||||
event.preventDefault();
|
||||
}
|
||||
</script>
|
||||
|
@@ -1,11 +1,17 @@
|
||||
<div class="bjui-pageContent">
|
||||
@{
|
||||
string _prefix = "org";
|
||||
var _treeId = _prefix + "Tree";
|
||||
var _gridId = _prefix + "Grid";
|
||||
var _treeDetail = _prefix + "Detail";
|
||||
}
|
||||
<div class="bjui-pageContent">
|
||||
<div class="clearfix">
|
||||
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
||||
<ul id="orgTree" class="ztree"></ul>
|
||||
<ul id="@_treeId" class="ztree"></ul>
|
||||
</div>
|
||||
|
||||
<div id="ztree-detail" style="margin-left: 225px; width: auto;height: auto">
|
||||
<table id="mainGrid" data-width="100%" data-height="100%" class="table table-bordered"></table>
|
||||
<div id="@_treeDetail" style="margin-left: 225px; width: auto;height: auto">
|
||||
<table id="@_gridId" data-width="100%" data-height="100%" class="table table-bordered"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -16,11 +22,11 @@
|
||||
Init(0);
|
||||
});
|
||||
//加载数据到datagrid
|
||||
function loadDataGrid(data) {
|
||||
function LoadOrg(data) {
|
||||
//b-jui的datagrid需要重新处理HTML
|
||||
$('#ztree-detail').empty()
|
||||
.append('<table id="mainGrid" data-width="100%" data-height="100%" class="table table-bordered"></table>');
|
||||
$('#mainGrid').datagrid({
|
||||
$('#@_treeDetail').empty()
|
||||
.append('<table id="@_gridId" data-width="100%" data-height="100%" class="table table-bordered"></table>');
|
||||
$('#@_gridId').datagrid({
|
||||
gridTitle: '机构列表显示',
|
||||
showToolbar: true,
|
||||
toolbarItem: 'refresh, |, del,edit',
|
||||
@@ -100,7 +106,7 @@
|
||||
$.getJSON('OrgManager/LoadChildren', {
|
||||
id: treeNode.Id
|
||||
}, function (json) {
|
||||
loadDataGrid(json);
|
||||
LoadOrg(json);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -126,13 +132,13 @@
|
||||
}
|
||||
};
|
||||
$.getJSON('OrgManager/LoadOrg', function (json) {
|
||||
var zTreeObj = $.fn.zTree.init($('#orgTree'), setting, json);
|
||||
var zTreeObj = $.fn.zTree.init($('#@_treeId'), setting, json);
|
||||
zTreeObj.expandAll(true);
|
||||
|
||||
$.getJSON('OrgManager/LoadChildren', {
|
||||
id: selectedId
|
||||
}, function (data) {
|
||||
loadDataGrid(data);
|
||||
LoadOrg(data);
|
||||
});
|
||||
|
||||
//TODO:设置ztree选中,不过没看到效果..
|
||||
@@ -145,7 +151,7 @@
|
||||
//获取勾选的值
|
||||
//column:为从0开始的列标识
|
||||
function getSelected(column) {
|
||||
var selected = $('#mainGrid').data('selectedTrs');
|
||||
var selected = $('#@_gridId').data('selectedTrs');
|
||||
if (selected == null || selected.length == 0) {
|
||||
$(this).alertmsg('warn', '至少选择一个对象', {
|
||||
displayMode: 'slide',
|
||||
|
@@ -15,7 +15,7 @@
|
||||
|
||||
<li>
|
||||
<a href="javascript:;" id="btnSelected" data-toggle="lookupback"
|
||||
data-args="{nationid:'A001', nation:'CN'}"
|
||||
data-args=""
|
||||
class="btn btn-blue" title="选择本项" data-icon="check">选择</a>
|
||||
</li>
|
||||
|
||||
|
@@ -1,77 +1,91 @@
|
||||
<div class="bjui-pageContent">
|
||||
@{
|
||||
string _prefix = "user";
|
||||
var _treeId = _prefix + "Tree";
|
||||
var _gridId = _prefix + "Grid";
|
||||
var _treeDetail = _prefix + "Detail";
|
||||
}
|
||||
<div class="bjui-pageContent">
|
||||
<div class="clearfix">
|
||||
<div style="float: left; width: 220px; overflow: auto;" class="table table-bordered">
|
||||
<ul id="orgTree" class="ztree"></ul>
|
||||
<ul id="@_treeId" class="ztree"></ul>
|
||||
</div>
|
||||
|
||||
<div id="ztree-detail" style="margin-left: 225px; width: auto;height: auto">
|
||||
<table id="mainGrid" data-width="100%" data-height="100%" class="table table-bordered"></table>
|
||||
<div id="@_treeDetail" style="margin-left: 225px; width: auto;height: auto">
|
||||
<table id="@_gridId" data-width="100%" data-height="100%" class="table table-bordered"></table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
var gridid = '#@_gridId';
|
||||
var selectedId = 0;
|
||||
$(document).ready(function () {
|
||||
Init(0);
|
||||
initZtree();
|
||||
loadDataGrid();
|
||||
});
|
||||
//加载数据到datagrid
|
||||
function loadDataGrid(data) {
|
||||
function loadDataGrid() {
|
||||
$.getJSON('UserManager/Load', {
|
||||
orgId: selectedId
|
||||
}, function (data) {
|
||||
initGrid(data);
|
||||
});
|
||||
}
|
||||
function initGrid(data) {
|
||||
//b-jui的datagrid需要重新处理HTML
|
||||
$('#ztree-detail').empty()
|
||||
.append('<table id="mainGrid" data-width="100%" data-height="100%" class="table table-bordered"></table>');
|
||||
$('#mainGrid').datagrid({
|
||||
gridTitle: '机构列表显示',
|
||||
$('#@_treeDetail').empty()
|
||||
.append('<table id="@_gridId" data-width="100%" data-height="100%" class="table table-bordered"></table>');
|
||||
$(gridid).datagrid({
|
||||
gridTitle: '用户列表',
|
||||
showToolbar: true,
|
||||
toolbarItem: 'refresh, |, del,edit',
|
||||
toolbarCustom: '<a href="/OrgManager/AddOrg" class="btn btn-green" data-icon ="plus" ' +
|
||||
toolbarCustom: '<a href="/UserManager/Add" class="btn btn-green" data-icon ="plus" ' +
|
||||
'data-toggle="dialog" data-id="dialog-mask" data-mask="true">添加</a>' ,
|
||||
columns: [
|
||||
{
|
||||
name: 'Id',
|
||||
label: 'Id',
|
||||
attrs: { readonly: 'readonly' },
|
||||
hide: true
|
||||
},
|
||||
{
|
||||
name: 'ParentId',
|
||||
label: '上级机构ID',
|
||||
attrs: { readonly: 'readonly'},
|
||||
hide: true
|
||||
},
|
||||
{
|
||||
name: 'CascadeId',
|
||||
label: '唯一标识',
|
||||
attrs: { readonly: 'readonly'}
|
||||
},
|
||||
{
|
||||
name: 'Name',
|
||||
label: '机构名称'
|
||||
},
|
||||
{
|
||||
name: 'ParentName',
|
||||
label: '上级机构',
|
||||
edit: false,
|
||||
attrs: { readonly: 'readonly' }
|
||||
},
|
||||
{
|
||||
name: 'Status',
|
||||
label: '状态',
|
||||
type: 'select',
|
||||
align: 'center',
|
||||
items:[{'0':'正常'}, {'1':'禁用'}]
|
||||
},
|
||||
{
|
||||
name: 'CreateTime',
|
||||
label: '登记日期',
|
||||
type: 'date',
|
||||
pattern: 'yyyy-MM-dd HH:mm:ss'
|
||||
}
|
||||
{
|
||||
name: 'Id',
|
||||
label: 'Id',
|
||||
attrs: { readonly: 'readonly' },
|
||||
hide: true
|
||||
},
|
||||
{
|
||||
name: 'Account',
|
||||
label: '用户账号',
|
||||
attrs: { readonly: 'readonly'}
|
||||
},
|
||||
{
|
||||
name: 'Name',
|
||||
label: '姓名/昵称'
|
||||
},
|
||||
{
|
||||
name: 'Organizations',
|
||||
label: '所属机构'
|
||||
},
|
||||
{
|
||||
name: 'Status',
|
||||
label: '状态',
|
||||
type: 'select',
|
||||
align: 'center',
|
||||
items:[{'0':'正常'}, {'1':'禁用'}]
|
||||
},
|
||||
{
|
||||
name: 'Sex',
|
||||
label: '性别',
|
||||
type: 'select',
|
||||
align: 'center',
|
||||
items: [{ '0': '男' }, { '1': '女' }]
|
||||
},
|
||||
{
|
||||
name: 'CreateTime',
|
||||
label: '登记日期',
|
||||
type: 'date',
|
||||
pattern: 'yyyy-MM-dd HH:mm:ss'
|
||||
}
|
||||
],
|
||||
data: data,
|
||||
delUrl: 'OrgManager/DelOrg',
|
||||
delUrl: 'UserManager/Delete',
|
||||
delPK: "Id",
|
||||
editUrl: 'OrgManager/EditOrg',
|
||||
editUrl: 'UserManager/Edit',
|
||||
editMode: 'dialog',
|
||||
fullGrid: true,
|
||||
showLinenumber: true,
|
||||
@@ -81,14 +95,14 @@
|
||||
showTfoot: true,
|
||||
delCallback: function (delResult) {
|
||||
if (delResult.statusCode == "200")
|
||||
Init(selectedId);
|
||||
loadDataGrid();
|
||||
else {
|
||||
$(this).alertmsg('warn', delResult.message);
|
||||
}
|
||||
},
|
||||
editCallback: function (delResult) {
|
||||
if (delResult.statusCode == "200")
|
||||
Init(selectedId);
|
||||
loadDataGrid();
|
||||
else {
|
||||
$(this).alertmsg('warn', delResult.message);
|
||||
}
|
||||
@@ -97,18 +111,12 @@
|
||||
}
|
||||
function zTreeOnClick(event, treeId, treeNode) {
|
||||
selectedId = treeNode.Id;
|
||||
$.getJSON('OrgManager/LoadChildren', {
|
||||
id: treeNode.Id
|
||||
}, function (json) {
|
||||
loadDataGrid(json);
|
||||
});
|
||||
loadDataGrid();
|
||||
}
|
||||
|
||||
function Init(selectedId) {
|
||||
function initZtree() {
|
||||
var setting = {
|
||||
view: {
|
||||
selectedMulti: false
|
||||
},
|
||||
view: {selectedMulti: false},
|
||||
data: {
|
||||
key: {
|
||||
name: 'Name',
|
||||
@@ -121,31 +129,18 @@
|
||||
rootPId: 'null'
|
||||
}
|
||||
},
|
||||
callback: {
|
||||
onClick: zTreeOnClick
|
||||
}
|
||||
callback: {onClick: zTreeOnClick}
|
||||
};
|
||||
$.getJSON('OrgManager/LoadOrg', function (json) {
|
||||
var zTreeObj = $.fn.zTree.init($('#orgTree'), setting, json);
|
||||
var zTreeObj = $.fn.zTree.init($('#@_treeId'), setting, json);
|
||||
zTreeObj.expandAll(true);
|
||||
|
||||
$.getJSON('OrgManager/LoadChildren', {
|
||||
id: selectedId
|
||||
}, function (data) {
|
||||
loadDataGrid(data);
|
||||
});
|
||||
|
||||
//TODO:设置ztree选中,不过没看到效果..
|
||||
var selectedNod = zTreeObj.getNodesByParam('Id', selectedId, null);
|
||||
zTreeObj.selectNode(selectedNod, false);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
//获取勾选的值
|
||||
//column:为从0开始的列标识
|
||||
function getSelected(column) {
|
||||
var selected = $('#mainGrid').data('selectedTrs');
|
||||
var selected = $(gridid).data('selectedTrs');
|
||||
if (selected == null || selected.length == 0) {
|
||||
$(this).alertmsg('warn', '至少选择一个对象', {
|
||||
displayMode: 'slide',
|
||||
@@ -170,5 +165,5 @@
|
||||
if (selected == null) return;
|
||||
|
||||
}
|
||||
//@@ sourceURL=orgIndex.js
|
||||
//@@ sourceURL=userManagerIndex.js
|
||||
</script>
|
||||
|
@@ -1,35 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Optimization"/>
|
||||
<add namespace="System.Web.Routing" />
|
||||
<add namespace="OpenAuth.Mvc" />
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web.webPages.razor>
|
||||
|
||||
<appSettings>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
</appSettings>
|
||||
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Optimization"/>
|
||||
<add namespace="System.Web.Routing" />
|
||||
<add namespace="OpenAuth.Mvc" />
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web.webPages.razor>
|
||||
|
||||
<appSettings>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
</appSettings>
|
||||
|
||||
<system.webServer>
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
|
@@ -1,3 +1,3 @@
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
@{
|
||||
Layout = "~/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
|
Reference in New Issue
Block a user