mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-07-17 10:42:08 +08:00
用户可以正常添加
This commit is contained in:
parent
376076b30f
commit
a9218167a5
@ -175,7 +175,7 @@
|
|||||||
<Content Include="BllScripts\categoryManager.js" />
|
<Content Include="BllScripts\categoryManager.js" />
|
||||||
<Content Include="BllScripts\formDesign.js" />
|
<Content Include="BllScripts\formDesign.js" />
|
||||||
<Content Include="BllScripts\login.js" />
|
<Content Include="BllScripts\login.js" />
|
||||||
<Content Include="js\parentTreeMultiple.js" />
|
<Content Include="js\droptree.js" />
|
||||||
<Content Include="BllScripts\parentTree.js" />
|
<Content Include="BllScripts\parentTree.js" />
|
||||||
<Content Include="BllScripts\processDetail.js" />
|
<Content Include="BllScripts\processDetail.js" />
|
||||||
<Content Include="BllScripts\grid.js" />
|
<Content Include="BllScripts\grid.js" />
|
||||||
|
@ -54,19 +54,12 @@
|
|||||||
placeholder="请输入昵称或姓名" autocomplete="off" class="layui-input">
|
placeholder="请输入昵称或姓名" autocomplete="off" class="layui-input">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-form-item">
|
|
||||||
<label class="layui-form-label">所属部门</label>
|
|
||||||
<div class="layui-input-block">
|
|
||||||
<input type="text" name="Name" required lay-verify="required"
|
|
||||||
placeholder="请输入昵称或姓名" autocomplete="off" class="layui-input">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="layui-form-item">
|
<div class="layui-form-item">
|
||||||
<label class="layui-form-label">所属部门</label>
|
<label class="layui-form-label">所属部门</label>
|
||||||
<div class="layui-input-block">
|
<div class="layui-input-block">
|
||||||
<input id="Organizations" required lay-verify="required" autocomplete="off" class="layui-input"/>
|
<input id="Organizations" name="Organizations" required lay-verify="required" class="layui-input"/>
|
||||||
<input id="OrganizationIds" required lay-verify="required" type="hidden" />
|
<input id="OrganizationIds" name="OrganizationIds" required lay-verify="required" type="hidden" />
|
||||||
<div id="menuContent" class="menuContent" style="display: none;">
|
<div id="menuContent" class="menuContent" style="display: none;">
|
||||||
<ul id="org" class="ztree"></ul>
|
<ul id="org" class="ztree"></ul>
|
||||||
</div>
|
</div>
|
||||||
@ -93,6 +86,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<script src="/js/parentTreeMultiple.js"></script>
|
|
||||||
<script type="text/javascript" src="/layui/layui.js"></script>
|
<script type="text/javascript" src="/layui/layui.js"></script>
|
||||||
|
<script src="/js/droptree.js"></script>
|
||||||
<script type="text/javascript" src="/js/users.js"></script>
|
<script type="text/javascript" src="/js/users.js"></script>
|
126
OpenAuth.Mvc/js/droptree.js
Normal file
126
OpenAuth.Mvc/js/droptree.js
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
// ***********************************************************************
|
||||||
|
// Assembly : OpenAuth.Mvc
|
||||||
|
// Author : yubaolee
|
||||||
|
// Created : 10-16-2016
|
||||||
|
//
|
||||||
|
// Last Modified By : yubaolee
|
||||||
|
// Last Modified On : 10-16-2016
|
||||||
|
// ***********************************************************************
|
||||||
|
// <copyright file="droptree.js" company="www.cnblogs.com/yubaolee">
|
||||||
|
// 版权所有(C) 2015
|
||||||
|
// </copyright>
|
||||||
|
// <summary>单击文本框弹出的选择列表,可以多选</summary>
|
||||||
|
// ***********************************************************************
|
||||||
|
|
||||||
|
layui.define(['jquery', 'layer'], function (exports) {
|
||||||
|
var $ = layui.jquery;
|
||||||
|
var layer = layui.layer;
|
||||||
|
var options;
|
||||||
|
var zTreeObj;
|
||||||
|
var setting;
|
||||||
|
|
||||||
|
var showMenu = function () {
|
||||||
|
$("#menuContent").css({ left: "10px", top: $(options.nameDOM).outerHeight() + "px" }).slideDown("fast");
|
||||||
|
$("body").bind("mousedown", onBodyDown);
|
||||||
|
};
|
||||||
|
function hideMenu() {
|
||||||
|
$("#menuContent").fadeOut("fast");
|
||||||
|
$("body").unbind("mousedown", onBodyDown);
|
||||||
|
}
|
||||||
|
|
||||||
|
var setCheck = function () { //设置初始选中的值
|
||||||
|
zTreeObj.checkAllNodes(false);
|
||||||
|
|
||||||
|
var value = $(options.idDOM).val();
|
||||||
|
if (value == undefined) return;
|
||||||
|
var nodeids = value.split(",");
|
||||||
|
$.each(nodeids,
|
||||||
|
function () {
|
||||||
|
var node = zTreeObj.getNodeByParam("Id", this, null);
|
||||||
|
if (node != null) {
|
||||||
|
zTreeObj.checkNode(node, true, false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
function onClick(e, treeId, treeNode) {
|
||||||
|
var nodes = zTreeObj.getSelectedNodes();
|
||||||
|
|
||||||
|
for (var i = 0, l = nodes.length; i < l; i++) {
|
||||||
|
$(options.nameDOM).val(nodes[i].Name);
|
||||||
|
$(options.idDOM).val(nodes[i].Id);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
hideMenu();
|
||||||
|
}
|
||||||
|
function onCheck(e, treeId, treeNode) {
|
||||||
|
var nodes = zTreeObj.getCheckedNodes(true);
|
||||||
|
|
||||||
|
var ids = nodes.map(function (e) { return e.Id; }).join(",");
|
||||||
|
var names = nodes.map(function (e) { return e.Name; }).join(",");
|
||||||
|
$(options.nameDOM).val(names);
|
||||||
|
$(options.idDOM).val(ids);
|
||||||
|
}
|
||||||
|
|
||||||
|
function onBodyDown(event) {
|
||||||
|
if (!(event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
|
||||||
|
hideMenu();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var load = function () {
|
||||||
|
var index = layer.load();
|
||||||
|
$.getJSON(options.url,
|
||||||
|
{
|
||||||
|
page: 1, rows: 10000
|
||||||
|
},
|
||||||
|
function (json) {
|
||||||
|
layer.close(index);
|
||||||
|
if (json.length == 0) {
|
||||||
|
$(options.nameDOM).val('');
|
||||||
|
$(options.idDOM).val('');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
zTreeObj = $.fn.zTree.init($("#org"), setting, json);
|
||||||
|
setCheck();
|
||||||
|
zTreeObj.expandAll(true);
|
||||||
|
showMenu();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
exports('droptree', function (url, name, id) {
|
||||||
|
options = {
|
||||||
|
text: 'Name',
|
||||||
|
key: 'Id',
|
||||||
|
parentKey: 'ParentId',
|
||||||
|
nameDOM: name, //显示的文本框ID,如:"#catetoryName"
|
||||||
|
idDOM: id, //隐藏的文本框,如:"#categoryId"
|
||||||
|
url: url
|
||||||
|
}
|
||||||
|
setting = {
|
||||||
|
view: { selectedMulti: true },
|
||||||
|
check: {
|
||||||
|
enable: true,
|
||||||
|
chkStyle: "checkbox",
|
||||||
|
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
key: {
|
||||||
|
name: options.text,
|
||||||
|
title: options.text
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: options.key,
|
||||||
|
pIdKey: options.parentKey,
|
||||||
|
rootPId: 'null'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback: {
|
||||||
|
onClick: onClick,
|
||||||
|
onCheck: onCheck
|
||||||
|
}
|
||||||
|
};
|
||||||
|
load();
|
||||||
|
});
|
||||||
|
});
|
@ -1,118 +0,0 @@
|
|||||||
// ***********************************************************************
|
|
||||||
// Assembly : OpenAuth.Mvc
|
|
||||||
// Author : yubaolee
|
|
||||||
// Created : 10-16-2016
|
|
||||||
//
|
|
||||||
// Last Modified By : yubaolee
|
|
||||||
// Last Modified On : 10-16-2016
|
|
||||||
// ***********************************************************************
|
|
||||||
// <copyright file="parentTree.js" company="www.cnblogs.com/yubaolee">
|
|
||||||
// 版权所有(C) 2015
|
|
||||||
// </copyright>
|
|
||||||
// <summary>单击文本框弹出的选择列表,可以多选</summary>
|
|
||||||
// ***********************************************************************
|
|
||||||
|
|
||||||
function ParentTreeMultiple(url, name, id) {
|
|
||||||
var zTreeObj;
|
|
||||||
var options = {
|
|
||||||
text: 'Name',
|
|
||||||
key: 'Id',
|
|
||||||
parentKey: 'ParentId',
|
|
||||||
nameDOM: name, //显示的文本框ID,如:"#catetoryName"
|
|
||||||
idDOM: id //隐藏的文本框,如:"#categoryId"
|
|
||||||
}
|
|
||||||
var setting = {
|
|
||||||
view: { selectedMulti: true },
|
|
||||||
check: {
|
|
||||||
enable: true,
|
|
||||||
chkStyle: "checkbox",
|
|
||||||
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
key: {
|
|
||||||
name: options.text,
|
|
||||||
title: options.text
|
|
||||||
},
|
|
||||||
simpleData: {
|
|
||||||
enable: true,
|
|
||||||
idKey: options.key,
|
|
||||||
pIdKey: options.parentKey,
|
|
||||||
rootPId: 'null'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
callback: {
|
|
||||||
onClick: onClick,
|
|
||||||
onCheck: onCheck
|
|
||||||
}
|
|
||||||
};
|
|
||||||
var showMenu = function () {
|
|
||||||
$("#menuContent").css({ left: "10px", top: $("#" + options.nameDOM).outerHeight() + "px" }).slideDown("fast");
|
|
||||||
$("body").bind("mousedown", onBodyDown);
|
|
||||||
};
|
|
||||||
|
|
||||||
var setCheck = function () { //设置初始选中的值
|
|
||||||
zTreeObj.checkAllNodes(false);
|
|
||||||
|
|
||||||
var value = vm.$get(options.idDOM);
|
|
||||||
if (value == undefined) return;
|
|
||||||
var nodeids = value.split(",");
|
|
||||||
$.each(nodeids,
|
|
||||||
function() {
|
|
||||||
var node = zTreeObj.getNodeByParam("Id", this, null);
|
|
||||||
if (node != null) {
|
|
||||||
zTreeObj.checkNode(node, true, false);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
function onClick(e, treeId, treeNode) {
|
|
||||||
var nodes = zTreeObj.getSelectedNodes();
|
|
||||||
|
|
||||||
for (var i = 0, l = nodes.length; i < l; i++) {
|
|
||||||
vm.$set(options.nameDOM, nodes[i].Name);
|
|
||||||
vm.$set(options.idDOM, nodes[i].Id);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
hideMenu();
|
|
||||||
}
|
|
||||||
function onCheck(e, treeId, treeNode) {
|
|
||||||
var nodes = zTreeObj.getCheckedNodes(true);
|
|
||||||
|
|
||||||
var ids = nodes.map(function (e) { return e.Id; }).join(",");
|
|
||||||
var names = nodes.map(function (e) { return e.Name; }).join(",");
|
|
||||||
|
|
||||||
vm.$set(options.nameDOM, names);
|
|
||||||
vm.$set(options.idDOM, ids);
|
|
||||||
}
|
|
||||||
|
|
||||||
function onBodyDown(event) {
|
|
||||||
if (!(event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
|
|
||||||
hideMenu();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function hideMenu() {
|
|
||||||
$("#menuContent").fadeOut("fast");
|
|
||||||
$("body").unbind("mousedown", onBodyDown);
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
reload: function (layer, $) {
|
|
||||||
var index = layer.load();
|
|
||||||
$.getJSON(url,
|
|
||||||
{
|
|
||||||
page: 1, rows: 10000
|
|
||||||
},
|
|
||||||
function (json) {
|
|
||||||
layer.close(index);
|
|
||||||
if (json.length == 0) {
|
|
||||||
vm.$set(options.nameDOM, '');
|
|
||||||
vm.$set(options.idDOM, '');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
zTreeObj = $.fn.zTree.init($("#org"), setting, json);
|
|
||||||
setCheck();
|
|
||||||
zTreeObj.expandAll(true);
|
|
||||||
showMenu();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,6 +1,6 @@
|
|||||||
layui.config({
|
layui.config({
|
||||||
base: "/js/"
|
base: "/js/"
|
||||||
}).use(['form', 'ztree', 'layer', 'jquery', 'table'], function () {
|
}).use(['form', 'ztree', 'layer', 'jquery', 'table','droptree'], function () {
|
||||||
var form = layui.form,
|
var form = layui.form,
|
||||||
//layer = parent.layer === undefined ? layui.layer : parent.layer,
|
//layer = parent.layer === undefined ? layui.layer : parent.layer,
|
||||||
layer =layui.layer,
|
layer =layui.layer,
|
||||||
@ -57,9 +57,8 @@ layui.config({
|
|||||||
}();
|
}();
|
||||||
|
|
||||||
//上级机构选择框
|
//上级机构选择框
|
||||||
var parent = new ParentTreeMultiple("/UserSession/GetOrgs", "Organizations", "OrganizationIds");
|
|
||||||
$("#Organizations").on("click", function () {
|
$("#Organizations").on("click", function () {
|
||||||
parent.reload(layer, $);
|
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||||
});
|
});
|
||||||
|
|
||||||
//监听表格复选框选择
|
//监听表格复选框选择
|
||||||
|
Loading…
Reference in New Issue
Block a user